diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 035387834bd..84deea18f00 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,7 +3,7 @@ *Please:* - *only keep the "Fix", "Close" or "New" section* - *follow the project [contributing guidelines](/.github/CONTRIBUTING.md)* -- *replace the bracket enclosed textswith meaningful informations* +- *replace the bracket enclosed texts with meaningful information* # Fix #[*issue_number Short description*] diff --git a/ChangeLog b/ChangeLog index 98c22d90bf7..b7a52d28069 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,11 +3,24 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 15.0.0 compared to 14.0.0 ***** + +For developers: +--------------- + +WARNING: + +Following changes may create regressions for some external modules, but were necessary to make Dolibarr better: +* Update hook 'printOriginObjectLine', removed check on product type and special code. Need now reshook. +* Old deprecated module "SimplePOS" has been completely removed. Use module "TakePOS" is you need a Point Of Sale. + + + ***** ChangeLog for 14.0.0 compared to 13.0.0 ***** For users: ---------- -NEW: Module Recruitement to follow application to job positions is now stable. +NEW: Module Recruitment to follow application to job positions is now stable. NEW: Feature to make Stock Inventories NEW: Several security issues after a second private bug hunting campaign. NEW: A lot of fix into english text after a small proofreading campaign (still not perfect, but really better) @@ -50,7 +63,7 @@ NEW: Make public bookmarks editable by admin users only NEW: If main logo not defined, can use the squarred logo on login page NEW: The manifest file can use the squared image if available NEW: Enhance the multicurrency rate editor -NEW: Normalyse Type company field with ajax combobox +NEW: Normalise Type company field with ajax combobox NEW: preload product description on selection for customer propal/order/invoice NEW: Search usergroups & resources NEW: Setup Page for module creation with module builder enhancement #FoundationFunding @@ -67,14 +80,15 @@ NEW: #16378 more E-Mail Contact substitution Values for better salutation NEW: option to keep the "Automatically create the payment" checkbox empty on the tax creation page Accountancy -NEW: Accountancy - Add FEC import -NEW: Accountancy - Add a confirmation form with options on export -NEW: Accountancy - Add select date from/to in already bind customer and supplier list -NEW: Accountancy - Format FEC - Add new field DateLimitReglmt -NEW: Accountancy - In ledger & journals, show link on bank transaction -NEW: Accountancy - Possibility to filter on journals in balance -NEW: Accountancy - Add a page to list subledger accounts -NEW: Multiselect ledger account code filter on book keeping list +NEW: Add FEC import +NEW: Add a confirmation form with options on export (for notified export and validate operations) +NEW: Add select date from/to in already bind customer and supplier list +NEW: FEC / FEC2 export - Add new field DateLimitReglmt +NEW: In ledger & journals, show link on bank transaction +NEW: Possibility to filter on journals in balance +NEW: Add a page to list subledger accounts +NEW: Multiselect journal code filter on journal / balance / ledger +NEW: Add first step to close fiscal year Agenda NEW: add support for Friday as a non working day @@ -93,7 +107,7 @@ NEW: can filter files in ECM/GED on status Shared / Not shared NEW: add a check to avoid an invoice date in the future NEW: add the total of margin in invoice list NEW: can set a percentage when creating an invoice from another object -NEW: Support down payment on supplier invoice (& somes ajustments) +NEW: Support down payment on supplier invoice (& some adjustments) Margin NEW: add the total of margin in invoice list @@ -162,7 +176,7 @@ NEW: Add a security center page with all information and advices related to the NEW: Add a performance center page with all information and advices related to the performance of your instance Modules -NEW: Module Recruitement is now stable +NEW: Module Recruitment is now stable NEW: start new experimental module Event Organization Management NEW: start new experimental module Partnership Management NEW: start new experimental module Knowledge Management @@ -171,11 +185,14 @@ NEW: Check update availability for externals modules using a button on module pa Module SimplePOS is deprecated - TakePOS is recommended for the future new Options -NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared -NEW: add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared -NEW: add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs -NEW: add option SOCIETE_DISABLE_WORKFORCE to hide staff field -NEW: add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug" +NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared +NEW: add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared +NEW: add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs +NEW: add option SOCIETE_DISABLE_WORKFORCE to hide staff field +NEW: add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug" +NEW: add constant ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY to manage binding with accountancy account declared on thirdparty card +NEW: add constant MAIN_PRODUCT_PERENTITY_SHARED to manage some informations (Accounting account) when product is shared on several entities +NEW: add constant MAIN_COMPANY_PERENTITY_SHARED to manage some informations (Accounting account) when company is shared on several entities For developers: @@ -209,7 +226,7 @@ NEW: hook printFieldListTitle for cabyprodserv.php NEW: hook to allow external modules to add their own shortlist of recent objects NEW: SQL-altering hooks in the turnover by product report NEW: add form confirm hook on company card -NEW: add hook addSectionECMAuto method to add custom diretory into ECM auto files +NEW: add hook addSectionECMAuto method to add custom directory into ECM auto files WARNING: @@ -219,13 +236,37 @@ Following changes may create regressions for some external modules, but were nec * The ICS value for direct debit or credit transfer is now stored on each bank account instead of into the global setup. * API /setup/shipment_methods has been replaced with API /setup/shipping_methods * Field "total" renamed into "total_ht" for table llx_facture, llx_facture_rec for better field name consistency -* Field "tva" renamed into "total_tva" for table llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency +* Field "tva" renamed into "total_tva" for llx_facture, table llx_propal, llx_supplier_proposal, llx_commande, llx_commande_fournisseur for better field name consistency * Field "total" renamed into "total_ttc" for table llx_propal, llx_supplier_proposal for better field name consistency * If your database is PostgreSQL, you must use version 9.1.0 or more (Dolibarr need the SQL function CONCAT) * If your database is MySQL or MariaDB, you need at least version 5.1 * Function set_price_level() has been renamed into setPriceLevel() to follow camelcase rules -* removed deprecated subtituion key __REFCLIENT__ (replaced with __REF_CLIENT__) +* Removed deprecated substitution key __REFCLIENT__ (replaced with __REF_CLIENT__) * Removed constant MAIN_COUNTRIES_IN_EEC. You can now set if country is in Europe or not from the dictionary of countries. +* v14 seems to work correctly on PHP v8 but it generates a lot of verbose warnings. Currently, v14 i snot yet officialy supported with PHP 8. + + +***** ChangeLog for 13.0.4 compared to 13.0.3 ***** + +FIX: Allow disabling of a module (not a dangerous action) even if there is problem with token (due to bugged modules). +FIX: 13.0 - fatal - missing inclusion of ajax.lib.php for calling 'ajax_autocompleter()' +FIX: #17919 pictures in docs +FIX: #18006 +FIX: Accountancy - if we define a date start, automatic binding try to continue to solve old binding +FIX: Accountancy - Limit date payment not registered on purchases operations +FIX: Can't edit replacement invoice +FIX: deposit can create credit note in payment conf +FIX: division by zero on create +FIX: holiday: balances not updated correctly with pgsql because of case sensitivity field +FIX: holiday: status filter parameter has been renamed but not in links it was used +FIX: List and Create Companies Left Menus +FIX: method exists +FIX: need to add payment sum to getlibstatus function in object linked block +FIX: permission to close a proposal when using advanced permissions +FIX: Problem of z-index with popup and top menu +FIX: same thing on supplier orders +FIX: Status of invoice when making a replacement invoice +FIX: update contact birthday alert ***** ChangeLog for 13.0.3 compared to 13.0.2 ***** @@ -316,7 +357,7 @@ FIX: File attachment on lots/batches FIX: handling $heightforinfotot when he's superior to a page height on Supplier Invoice FIX: hourglass and hide button to pay FIX: massaction validate invoice do not regenerate PDF -FIX: missing mp4 video mime +FIX: #16627 fix missing mp4 video mime FIX: picto on shipment to reset qty to 0. Some quantities were not reset. FIX: Protection to avoid #16504 FIX: rounding amount on card updating diff --git a/README.md b/README.md index 7878f6270a7..834cc09236e 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ If you don't have time to install it yourself, you can try some commercial 'read ## UPGRADING -Dolibarr supports upgrading usually wihtout the need for any (commercial) support (depending on if you use any commercial extensions) and supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate! +Dolibarr supports upgrading, usually without the need for any (commercial) support (depending on if you use any commercial extensions). It supports upgrading all the way from any version after 2.8 without breakage. This is unique in the ERP ecosystem and a benefit our users highly appreciate! - At first make a backup of your Dolibarr files & than [see](https://wiki.dolibarr.org/index.php/Installation_-_Upgrade#Upgrade_Dolibarr) - Check that your installed PHP version is supported by the new version [see PHP support](./doc/phpmatrix.md). diff --git a/dev/initdemo/mysqldump_dolibarr_14.0.0.sql b/dev/initdemo/mysqldump_dolibarr_14.0.0.sql index 60a951dc679..4061fb9f4cf 100644 --- a/dev/initdemo/mysqldump_dolibarr_14.0.0.sql +++ b/dev/initdemo/mysqldump_dolibarr_14.0.0.sql @@ -1,8 +1,8 @@ --- MySQL dump 10.17 Distrib 10.3.25-MariaDB, for debian-linux-gnu (x86_64) +-- MySQL dump 10.19 Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: localhost Database: dolibarr_14 -- ------------------------------------------------------ --- Server version 10.3.25-MariaDB-0ubuntu0.20.04.1 +-- Server version 10.3.29-MariaDB-0ubuntu0.20.04.1 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; @@ -102,7 +102,12 @@ CREATE TABLE `llx_accounting_bookkeeping` ( `date_lim_reglement` datetime DEFAULT NULL, `fk_user` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), - KEY `idx_accounting_bookkeeping_fk_doc` (`fk_doc`) + KEY `idx_accounting_bookkeeping_fk_doc` (`fk_doc`), + KEY `idx_accounting_bookkeeping_fk_docdet` (`fk_docdet`), + KEY `idx_accounting_bookkeeping_doc_date` (`doc_date`), + KEY `idx_accounting_bookkeeping_numero_compte` (`numero_compte`,`entity`), + KEY `idx_accounting_bookkeeping_code_journal` (`code_journal`,`entity`), + KEY `idx_accounting_bookkeeping_piece_num` (`piece_num`,`entity`) ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -273,7 +278,7 @@ CREATE TABLE `llx_accounting_system` ( `fk_country` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_accounting_system_pcg_version` (`pcg_version`) -) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -282,7 +287,7 @@ CREATE TABLE `llx_accounting_system` ( LOCK TABLES `llx_accounting_system` WRITE; /*!40000 ALTER TABLE `llx_accounting_system` DISABLE KEYS */; -INSERT INTO `llx_accounting_system` VALUES (1,'PCG99-ABREGE','The simple accountancy french plan',1,1),(2,'PCG99-BASE','The base accountancy french plan',1,1),(3,'PCMN-BASE','The base accountancy belgium plan',1,2),(4,'PCG08-PYME','The PYME accountancy spanish plan',1,4),(5,'PC-MIPYME','The PYME accountancy Chile plan',1,67),(6,'ENG-BASE','England plan',1,7),(7,'SYSCOHADA','Plan comptable Ouest-Africain',0,NULL),(39,'PCG14-DEV','The developed accountancy french plan 2014',1,1),(40,'PCG_SUISSE','Switzerland plan',1,6),(41,'PCN-LUXEMBURG','Plan comptable normalisé Luxembourgeois',1,140),(42,'DK-STD','Standardkontoplan fra SKAT',1,80),(43,'PCT','The Tunisia plan',1,10),(44,'PCG','The Moroccan chart of accounts',1,12),(47,'SYSCOHADA-BJ','Plan comptable Ouest-Africain',1,49),(48,'SYSCOHADA-BF','Plan comptable Ouest-Africain',1,60),(49,'SYSCOHADA-CM','Plan comptable Ouest-Africain',1,24),(50,'SYSCOHADA-CF','Plan comptable Ouest-Africain',1,65),(51,'SYSCOHADA-KM','Plan comptable Ouest-Africain',1,71),(52,'SYSCOHADA-CG','Plan comptable Ouest-Africain',1,72),(53,'SYSCOHADA-CI','Plan comptable Ouest-Africain',1,21),(54,'SYSCOHADA-GA','Plan comptable Ouest-Africain',1,16),(55,'SYSCOHADA-GQ','Plan comptable Ouest-Africain',1,87),(56,'SYSCOHADA-ML','Plan comptable Ouest-Africain',1,147),(57,'SYSCOHADA-NE','Plan comptable Ouest-Africain',1,168),(58,'SYSCOHADA-CD','Plan comptable Ouest-Africain',1,73),(59,'SYSCOHADA-SN','Plan comptable Ouest-Africain',1,22),(60,'SYSCOHADA-TD','Plan comptable Ouest-Africain',1,66),(61,'SYSCOHADA-TG','Plan comptable Ouest-Africain',1,15),(62,'RO-BASE','Plan de conturi romanesc',1,188),(63,'SKR03','Standardkontenrahmen SKR 03',1,5),(64,'SKR04','Standardkontenrahmen SKR 04',1,5),(65,'BAS-K1-MINI','The Swedish mini chart of accounts',1,20),(67,'PCG18-ASSOC','French foundation chart of accounts 2018',1,1),(68,'PCGAFR14-DEV','The developed farm accountancy french plan 2014',1,1),(69,'AT-BASE','Plan Austria',1,41); +INSERT INTO `llx_accounting_system` VALUES (1,'PCG99-ABREGE','The simple accountancy french plan',1,1),(2,'PCG99-BASE','The base accountancy french plan',1,1),(3,'PCMN-BASE','The base accountancy belgium plan',1,2),(4,'PCG08-PYME','The PYME accountancy spanish plan',1,4),(5,'PC-MIPYME','The PYME accountancy Chile plan',1,67),(6,'ENG-BASE','England plan',1,7),(7,'SYSCOHADA','Plan comptable Ouest-Africain',0,NULL),(39,'PCG14-DEV','The developed accountancy french plan 2014',1,1),(40,'PCG_SUISSE','Switzerland plan',1,6),(41,'PCN-LUXEMBURG','Plan comptable normalisé Luxembourgeois',1,140),(42,'DK-STD','Standardkontoplan fra SKAT',1,80),(43,'PCT','The Tunisia plan',1,10),(44,'PCG','The Moroccan chart of accounts',1,12),(47,'SYSCOHADA-BJ','Plan comptable Ouest-Africain',1,49),(48,'SYSCOHADA-BF','Plan comptable Ouest-Africain',1,60),(49,'SYSCOHADA-CM','Plan comptable Ouest-Africain',1,24),(50,'SYSCOHADA-CF','Plan comptable Ouest-Africain',1,65),(51,'SYSCOHADA-KM','Plan comptable Ouest-Africain',1,71),(52,'SYSCOHADA-CG','Plan comptable Ouest-Africain',1,72),(53,'SYSCOHADA-CI','Plan comptable Ouest-Africain',1,21),(54,'SYSCOHADA-GA','Plan comptable Ouest-Africain',1,16),(55,'SYSCOHADA-GQ','Plan comptable Ouest-Africain',1,87),(56,'SYSCOHADA-ML','Plan comptable Ouest-Africain',1,147),(57,'SYSCOHADA-NE','Plan comptable Ouest-Africain',1,168),(58,'SYSCOHADA-CD','Plan comptable Ouest-Africain',1,73),(59,'SYSCOHADA-SN','Plan comptable Ouest-Africain',1,22),(60,'SYSCOHADA-TD','Plan comptable Ouest-Africain',1,66),(61,'SYSCOHADA-TG','Plan comptable Ouest-Africain',1,15),(62,'RO-BASE','Plan de conturi romanesc',1,188),(63,'SKR03','Standardkontenrahmen SKR 03',1,5),(64,'SKR04','Standardkontenrahmen SKR 04',1,5),(65,'BAS-K1-MINI','The Swedish mini chart of accounts',1,20),(67,'PCG18-ASSOC','French foundation chart of accounts 2018',1,1),(68,'PCGAFR14-DEV','The developed farm accountancy french plan 2014',1,1),(69,'AT-BASE','Plan Austria',1,41),(70,'US-BASE','USA basic chart of accounts',1,11),(71,'CA-ENG-BASE','Canadian basic chart of accounts - English',1,14),(72,'SAT/24-2019','Catalogo y codigo agrupador fiscal del 2019',1,154); /*!40000 ALTER TABLE `llx_accounting_system` ENABLE KEYS */; UNLOCK TABLES; @@ -489,6 +494,7 @@ CREATE TABLE `llx_adherent` ( `state_id` int(11) DEFAULT NULL, `country` int(11) DEFAULT NULL, `email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `socialnetworks` text COLLATE utf8_unicode_ci DEFAULT NULL, `skype` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `phone` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, @@ -535,7 +541,7 @@ CREATE TABLE `llx_adherent` ( LOCK TABLES `llx_adherent` WRITE; /*!40000 ALTER TABLE `llx_adherent` DISABLE KEYS */; -INSERT INTO `llx_adherent` VALUES (1,'1',1,NULL,NULL,'Smith','Vick','vsmith','vsx1n8tf',NULL,2,'phy',NULL,10,NULL,NULL,NULL,NULL,102,'vsmith@email.com','[]',NULL,NULL,NULL,NULL,'1960-07-07','person5.jpeg',0,0,'2014-07-09 00:00:00',NULL,NULL,'2012-07-10 15:12:56','2012-07-08 23:50:00','2021-04-15 10:22:54',1,12,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'woman'),(2,'2',1,NULL,NULL,'Curie','Pierre','pcurie','pcuriedolibarr',NULL,2,'phy',NULL,12,NULL,NULL,NULL,NULL,NULL,'pcurie@example.com','[]',NULL,NULL,NULL,NULL,NULL,'pierrecurie.jpg',1,1,'2020-07-17 00:00:00',NULL,NULL,'2012-07-10 15:03:32','2012-07-10 15:03:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'3',1,NULL,NULL,'john','doe','john','8bs6gty5',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,1,'johndoe@email.com','[]',NULL,NULL,NULL,NULL,NULL,'person9.jpeg',1,0,'2014-07-17 00:00:00',NULL,NULL,'2013-07-18 21:28:00','2013-07-18 21:10:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'4',1,NULL,NULL,'smith','smith','Smith','s6hjp10f',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,11,'smith@email.com','[]',NULL,NULL,NULL,NULL,NULL,'person2.jpeg',1,0,'2018-07-17 00:00:00',NULL,NULL,'2013-07-18 21:27:52','2013-07-18 21:27:44','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `llx_adherent` VALUES (1,'1',1,NULL,NULL,'Smith','Vick','vsmith','vsx1n8tf',NULL,2,'phy',NULL,10,NULL,NULL,NULL,NULL,102,'vsmith@email.com',NULL,'[]',NULL,NULL,NULL,NULL,'1960-07-07','person5.jpeg',0,0,'2014-07-09 00:00:00',NULL,NULL,'2012-07-10 15:12:56','2012-07-08 23:50:00','2021-04-15 10:22:54',1,12,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'woman'),(2,'2',1,NULL,NULL,'Curie','Pierre','pcurie','pcuriedolibarr',NULL,2,'phy',NULL,12,NULL,NULL,NULL,NULL,NULL,'pcurie@example.com',NULL,'[]',NULL,NULL,NULL,NULL,NULL,'pierrecurie.jpg',1,1,'2020-07-17 00:00:00',NULL,NULL,'2012-07-10 15:03:32','2012-07-10 15:03:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'3',1,NULL,NULL,'john','doe','john','8bs6gty5',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,1,'johndoe@email.com',NULL,'[]',NULL,NULL,NULL,NULL,NULL,'person9.jpeg',1,0,'2014-07-17 00:00:00',NULL,NULL,'2013-07-18 21:28:00','2013-07-18 21:10:09','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'4',1,NULL,NULL,'smith','smith','Smith','s6hjp10f',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,11,'smith@email.com',NULL,'[]',NULL,NULL,NULL,NULL,NULL,'person2.jpeg',1,0,'2018-07-17 00:00:00',NULL,NULL,'2013-07-18 21:27:52','2013-07-18 21:27:44','2021-04-15 10:22:54',1,12,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_adherent` ENABLE KEYS */; UNLOCK TABLES; @@ -584,6 +590,7 @@ CREATE TABLE `llx_adherent_type` ( `statut` smallint(6) NOT NULL DEFAULT 0, `libelle` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `subscription` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', + `amount` double(24,8) DEFAULT NULL, `vote` varchar(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', `note` text COLLATE utf8_unicode_ci DEFAULT NULL, `mail_valid` text COLLATE utf8_unicode_ci DEFAULT NULL, @@ -600,7 +607,7 @@ CREATE TABLE `llx_adherent_type` ( LOCK TABLES `llx_adherent_type` WRITE; /*!40000 ALTER TABLE `llx_adherent_type` DISABLE KEYS */; -INSERT INTO `llx_adherent_type` VALUES (1,1,'2020-06-12 17:20:50',1,'Board members','1','1','','','','1y'),(2,1,'2020-06-12 17:21:21',1,'Standard members','1','1','','','','y'); +INSERT INTO `llx_adherent_type` VALUES (1,1,'2020-06-12 17:20:50',1,'Board members','1',NULL,'1','','','','1y'),(2,1,'2020-06-12 17:21:21',1,'Standard members','1',NULL,'1','','','','y'); /*!40000 ALTER TABLE `llx_adherent_type` ENABLE KEYS */; UNLOCK TABLES; @@ -865,7 +872,7 @@ CREATE TABLE `llx_bank` ( LOCK TABLES `llx_bank` WRITE; /*!40000 ALTER TABLE `llx_bank` DISABLE KEYS */; -INSERT INTO `llx_bank` VALUES (1,'2012-07-08 23:56:14','2020-12-10 12:24:23','2020-07-08','2020-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:00:24','2020-12-10 12:24:23','2020-07-09','2020-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-10 13:33:42','2020-12-10 12:24:23','2020-07-10','2020-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-18 20:50:24','2020-12-10 12:24:23','2020-07-08','2020-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,'2013-07-18 20:50:47','2020-12-10 12:24:23','2020-07-08','2020-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,'2013-08-01 03:34:11','2020-12-10 12:24:23','2020-08-15','2020-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2013-08-05 23:11:37','2020-12-10 12:24:23','2020-08-12','2020-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,'2013-08-06 20:33:54','2020-12-10 12:24:23','2020-08-06','2020-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,'2013-08-08 02:53:40','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12','2020-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06','2021-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20','2021-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,'2016-03-02 19:57:58','2020-12-10 12:24:23','2020-07-09','2020-07-09',605.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'111',NULL,NULL,NULL,NULL,NULL),(26,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19','2021-03-19',500.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21','2021-03-21',400.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'ABC and Co',NULL,NULL,NULL,NULL,NULL),(28,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03','2020-10-03',-400.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10','2021-03-10',-300.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,'2018-01-22 18:56:34','2021-04-15 10:22:31','2021-01-22','2021-01-22',-900.00000000,'(SupplierInvoicePayment)',1,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,'2018-07-30 22:42:14','2020-12-10 12:24:23','2020-07-30','2020-07-30',0.00000000,'(Initial balance)',4,0,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(32,'2017-02-01 19:02:44','2021-04-15 10:22:31','2021-02-01','2021-02-01',-200.00000000,'(SupplierInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(33,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22','2021-03-22',150.00000000,'(CustomerInvoicePayment)',1,12,NULL,'CHQ',NULL,NULL,0,NULL,2,NULL,'Magic Food Store',NULL,NULL,NULL,NULL,NULL),(34,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25','2021-03-25',140.00000000,'(CustomerInvoicePayment)',1,12,NULL,'PRE',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(36,'2017-02-16 02:22:09','2021-04-15 10:22:31','2021-02-16','2021-02-16',-1.00000000,'(ExpenseReportPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(37,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21','2021-02-21',50.00000000,'(WithdrawalPayment)',1,12,NULL,'PRE',NULL,'T170201',0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,'2017-09-06 20:08:36','2020-12-10 12:24:23','2020-09-06','2020-09-06',10.00000000,'(DonationPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(39,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16','2021-03-16',10.00000000,'(CustomerInvoicePayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Indian SAS',NULL,'',NULL,NULL,NULL),(41,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19','2021-01-19',5.63000000,'(CustomerInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(42,'2019-10-08 13:18:50','2020-12-10 12:24:23','2020-10-08','2020-10-08',-1000.00000000,'Salary payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(43,'2019-12-26 01:48:30','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(44,'2019-12-26 01:48:46','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(47,'2020-01-01 20:28:49','2021-04-15 10:22:31','2021-01-01','2021-01-01',304.69000000,'(SupplierInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(48,'2020-01-06 20:52:28','2021-04-15 10:22:31','2021-01-06','2021-01-06',10.00000000,'Patient payment',1,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,'Patient',NULL,'',NULL,NULL,NULL),(49,'2020-01-10 04:42:47','2021-04-15 10:22:31','2021-01-10','2021-01-10',-10.00000000,'Miscellaneous payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(50,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16','2021-01-16',20.50000000,'(CustomerInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'Magic Food Store',NULL,'',NULL,NULL,NULL),(51,'2020-01-21 01:02:14','2020-12-10 12:24:23','2020-07-18','2020-07-18',50.00000000,'Subscription 2013',4,12,NULL,'CB',NULL,'12345',0,NULL,0,'Bank CBN',NULL,NULL,'',NULL,NULL,NULL),(52,'2020-01-21 10:22:37','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'Subscription 2017',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'smith smith',NULL,'',NULL,NULL,NULL),(53,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(54,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(55,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL); +INSERT INTO `llx_bank` VALUES (1,'2012-07-08 23:56:14','2021-07-11 17:49:28','2021-07-08','2021-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:00:24','2021-07-11 17:49:28','2021-07-09','2021-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-10 13:33:42','2021-07-11 17:49:28','2021-07-10','2021-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-18 20:50:24','2021-07-11 17:49:28','2021-07-08','2021-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,'2013-07-18 20:50:47','2021-07-11 17:49:28','2021-07-08','2021-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,'2013-08-01 03:34:11','2020-12-10 12:24:23','2020-08-15','2020-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2013-08-05 23:11:37','2020-12-10 12:24:23','2020-08-12','2020-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,'2013-08-06 20:33:54','2020-12-10 12:24:23','2020-08-06','2020-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,'2013-08-08 02:53:40','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08','2020-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09','2020-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09','2020-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12','2020-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06','2021-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20','2021-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,'2016-03-02 19:57:58','2021-07-11 17:49:28','2021-07-09','2021-07-09',605.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'111',NULL,NULL,NULL,NULL,NULL),(26,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19','2021-03-19',500.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21','2021-03-21',400.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'ABC and Co',NULL,NULL,NULL,NULL,NULL),(28,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03','2020-10-03',-400.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10','2021-03-10',-300.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,'2018-01-22 18:56:34','2021-04-15 10:22:31','2021-01-22','2021-01-22',-900.00000000,'(SupplierInvoicePayment)',1,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,'2018-07-30 22:42:14','2020-12-10 12:24:23','2020-07-30','2020-07-30',0.00000000,'(Initial balance)',4,0,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(32,'2017-02-01 19:02:44','2021-04-15 10:22:31','2021-02-01','2021-02-01',-200.00000000,'(SupplierInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(33,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22','2021-03-22',150.00000000,'(CustomerInvoicePayment)',1,12,NULL,'CHQ',NULL,NULL,0,NULL,2,NULL,'Magic Food Store',NULL,NULL,NULL,NULL,NULL),(34,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25','2021-03-25',140.00000000,'(CustomerInvoicePayment)',1,12,NULL,'PRE',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(36,'2017-02-16 02:22:09','2021-04-15 10:22:31','2021-02-16','2021-02-16',-1.00000000,'(ExpenseReportPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(37,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21','2021-02-21',50.00000000,'(WithdrawalPayment)',1,12,NULL,'PRE',NULL,'T170201',0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,'2017-09-06 20:08:36','2020-12-10 12:24:23','2020-09-06','2020-09-06',10.00000000,'(DonationPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(39,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16','2021-03-16',10.00000000,'(CustomerInvoicePayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Indian SAS',NULL,'',NULL,NULL,NULL),(41,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19','2021-01-19',5.63000000,'(CustomerInvoicePayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(42,'2019-10-08 13:18:50','2020-12-10 12:24:23','2020-10-08','2020-10-08',-1000.00000000,'Salary payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(43,'2019-12-26 01:48:30','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(44,'2019-12-26 01:48:46','2021-04-15 10:22:31','2020-12-25','2020-12-25',-5.00000000,'(SocialContributionPayment)',3,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(47,'2020-01-01 20:28:49','2021-04-15 10:22:31','2021-01-01','2021-01-01',304.69000000,'(SupplierInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(48,'2020-01-06 20:52:28','2021-04-15 10:22:31','2021-01-06','2021-01-06',10.00000000,'Patient payment',1,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,'Patient',NULL,'',NULL,NULL,NULL),(49,'2020-01-10 04:42:47','2021-04-15 10:22:31','2021-01-10','2021-01-10',-10.00000000,'Miscellaneous payment',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL),(50,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16','2021-01-16',20.50000000,'(CustomerInvoicePayment)',4,12,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'Magic Food Store',NULL,'',NULL,NULL,NULL),(51,'2020-01-21 01:02:14','2020-12-10 12:24:23','2020-07-18','2020-07-18',50.00000000,'Subscription 2013',4,12,NULL,'CB',NULL,'12345',0,NULL,0,'Bank CBN',NULL,NULL,'',NULL,NULL,NULL),(52,'2020-01-21 10:22:37','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'Subscription 2017',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'smith smith',NULL,'',NULL,NULL,NULL),(53,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(54,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CHQ',NULL,NULL,0,NULL,0,NULL,'Pierre Curie',NULL,'',NULL,NULL,NULL),(55,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21','2021-01-21',50.00000000,'(SubscriptionPayment)',4,12,NULL,'CB',NULL,NULL,0,NULL,0,NULL,NULL,NULL,'',NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_bank` ENABLE KEYS */; UNLOCK TABLES; @@ -1335,7 +1342,7 @@ CREATE TABLE `llx_boxes` ( KEY `idx_boxes_boxid` (`box_id`), KEY `idx_boxes_fk_user` (`fk_user`), CONSTRAINT `fk_boxes_box_id` FOREIGN KEY (`box_id`) REFERENCES `llx_boxes_def` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=1453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1456 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1344,7 +1351,7 @@ CREATE TABLE `llx_boxes` ( LOCK TABLES `llx_boxes` WRITE; /*!40000 ALTER TABLE `llx_boxes` DISABLE KEYS */; -INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'A27',0,NULL,NULL),(315,1,348,0,'B20',0,NULL,NULL),(316,1,349,0,'B10',0,NULL,NULL),(317,1,350,0,'B18',0,NULL,NULL),(344,1,374,0,'B08',0,NULL,NULL),(347,1,377,0,'B16',0,NULL,NULL),(348,1,378,0,'B06',0,NULL,NULL),(358,1,388,0,'B38',0,NULL,NULL),(359,1,389,0,'A13',0,NULL,NULL),(360,1,390,0,'B36',0,NULL,NULL),(362,1,392,0,'A35',0,NULL,NULL),(363,1,393,0,'A11',0,NULL,NULL),(366,1,396,0,'B12',0,NULL,NULL),(387,1,403,0,'B22',0,NULL,NULL),(392,1,409,0,'A15',0,NULL,NULL),(393,1,410,0,'A33',0,NULL,NULL),(394,1,411,0,'A25',0,NULL,NULL),(395,1,412,0,'B30',0,NULL,NULL),(396,1,413,0,'A23',0,NULL,NULL),(397,1,414,0,'B28',0,NULL,NULL),(398,1,415,0,'A21',0,NULL,NULL),(399,1,416,0,'B26',0,NULL,NULL),(400,1,417,0,'A19',0,NULL,NULL),(401,1,418,0,'B24',0,NULL,NULL),(501,1,419,0,'A17',0,NULL,NULL),(1019,1,392,0,'A01',2,NULL,NULL),(1021,1,412,0,'A03',2,NULL,NULL),(1022,1,347,0,'A04',2,NULL,NULL),(1023,1,393,0,'A05',2,NULL,NULL),(1025,1,389,0,'A07',2,NULL,NULL),(1026,1,416,0,'A08',2,NULL,NULL),(1027,1,396,0,'B01',2,NULL,NULL),(1028,1,377,0,'B02',2,NULL,NULL),(1031,1,419,0,'B05',2,NULL,NULL),(1036,1,424,0,'A29',0,NULL,NULL),(1037,1,425,0,'B32',0,NULL,NULL),(1038,1,426,0,'B34',0,NULL,NULL),(1150,1,430,0,'A37',0,NULL,NULL),(1151,1,431,0,'A05',0,NULL,NULL),(1152,1,429,0,'A01',1,NULL,NULL),(1153,1,429,0,'B01',2,NULL,NULL),(1154,1,429,0,'A01',11,NULL,NULL),(1156,1,429,0,'A07',0,NULL,NULL),(1183,1,433,0,'A09',0,NULL,NULL),(1184,1,434,0,'B14',0,NULL,NULL),(1235,1,404,0,'B01',1,NULL,NULL),(1236,1,404,0,'B01',2,NULL,NULL),(1237,1,404,0,'B01',11,NULL,NULL),(1239,1,404,0,'A31',0,NULL,NULL),(1407,1,412,0,'A01',12,NULL,NULL),(1408,1,378,0,'A02',12,NULL,NULL),(1409,1,404,0,'A03',12,NULL,NULL),(1410,1,377,0,'A04',12,NULL,NULL),(1411,1,392,0,'B01',12,NULL,NULL),(1412,1,429,0,'B02',12,NULL,NULL),(1414,1,414,0,'B04',12,NULL,NULL),(1415,1,413,0,'B05',12,NULL,NULL),(1416,1,426,0,'B06',12,NULL,NULL),(1418,1,445,0,'B02',0,NULL,NULL),(1419,1,458,0,'A03',0,NULL,NULL),(1420,1,459,0,'B04',0,NULL,NULL),(1421,1,460,0,'A01',0,NULL,NULL),(1426,1,450,2,'A01',0,NULL,NULL),(1427,1,451,2,'B01',0,NULL,NULL),(1428,1,452,2,'A01',0,NULL,NULL),(1429,1,453,2,'B01',0,NULL,NULL),(1430,1,454,11,'A01',0,NULL,NULL),(1431,1,455,11,'B01',0,NULL,NULL),(1432,1,456,11,'A01',0,NULL,NULL),(1433,1,457,11,'B01',0,NULL,NULL),(1434,1,461,11,'A01',0,NULL,NULL),(1435,1,462,11,'B01',0,NULL,NULL),(1436,1,448,0,'A01',1,NULL,NULL),(1437,1,448,0,'B01',2,NULL,NULL),(1438,1,448,0,'A01',11,NULL,NULL),(1439,1,448,0,'A01',12,NULL,NULL),(1440,1,448,0,'A01',0,NULL,NULL),(1441,1,449,0,'B01',1,NULL,NULL),(1442,1,449,0,'A01',2,NULL,NULL),(1443,1,449,0,'B01',11,NULL,NULL),(1444,1,449,0,'A01',12,NULL,NULL),(1445,1,449,0,'B01',0,NULL,NULL),(1449,1,452,2,'A01',12,NULL,NULL),(1450,1,451,2,'B01',12,NULL,NULL),(1451,1,450,2,'B02',12,NULL,NULL),(1452,1,453,2,'B03',12,NULL,NULL); +INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'A27',0,NULL,NULL),(315,1,348,0,'B20',0,NULL,NULL),(316,1,349,0,'B10',0,NULL,NULL),(317,1,350,0,'B18',0,NULL,NULL),(344,1,374,0,'B08',0,NULL,NULL),(347,1,377,0,'B16',0,NULL,NULL),(348,1,378,0,'B06',0,NULL,NULL),(358,1,388,0,'B38',0,NULL,NULL),(359,1,389,0,'A13',0,NULL,NULL),(360,1,390,0,'B36',0,NULL,NULL),(362,1,392,0,'A35',0,NULL,NULL),(363,1,393,0,'A11',0,NULL,NULL),(366,1,396,0,'B12',0,NULL,NULL),(387,1,403,0,'B22',0,NULL,NULL),(392,1,409,0,'A15',0,NULL,NULL),(393,1,410,0,'A33',0,NULL,NULL),(394,1,411,0,'A25',0,NULL,NULL),(395,1,412,0,'B30',0,NULL,NULL),(396,1,413,0,'A23',0,NULL,NULL),(397,1,414,0,'B28',0,NULL,NULL),(398,1,415,0,'A21',0,NULL,NULL),(399,1,416,0,'B26',0,NULL,NULL),(400,1,417,0,'A19',0,NULL,NULL),(401,1,418,0,'B24',0,NULL,NULL),(501,1,419,0,'A17',0,NULL,NULL),(1019,1,392,0,'A01',2,NULL,NULL),(1021,1,412,0,'A03',2,NULL,NULL),(1022,1,347,0,'A04',2,NULL,NULL),(1023,1,393,0,'A05',2,NULL,NULL),(1025,1,389,0,'A07',2,NULL,NULL),(1026,1,416,0,'A08',2,NULL,NULL),(1027,1,396,0,'B01',2,NULL,NULL),(1028,1,377,0,'B02',2,NULL,NULL),(1031,1,419,0,'B05',2,NULL,NULL),(1036,1,424,0,'A29',0,NULL,NULL),(1037,1,425,0,'B32',0,NULL,NULL),(1038,1,426,0,'B34',0,NULL,NULL),(1150,1,430,0,'A37',0,NULL,NULL),(1151,1,431,0,'A05',0,NULL,NULL),(1152,1,429,0,'A01',1,NULL,NULL),(1153,1,429,0,'B01',2,NULL,NULL),(1154,1,429,0,'A01',11,NULL,NULL),(1156,1,429,0,'A07',0,NULL,NULL),(1183,1,433,0,'A09',0,NULL,NULL),(1184,1,434,0,'B14',0,NULL,NULL),(1235,1,404,0,'B01',1,NULL,NULL),(1236,1,404,0,'B01',2,NULL,NULL),(1237,1,404,0,'B01',11,NULL,NULL),(1239,1,404,0,'A31',0,NULL,NULL),(1407,1,412,0,'A01',12,NULL,NULL),(1408,1,378,0,'A02',12,NULL,NULL),(1409,1,404,0,'A03',12,NULL,NULL),(1410,1,377,0,'A04',12,NULL,NULL),(1411,1,392,0,'B01',12,NULL,NULL),(1412,1,429,0,'B02',12,NULL,NULL),(1414,1,414,0,'B04',12,NULL,NULL),(1415,1,413,0,'B05',12,NULL,NULL),(1416,1,426,0,'B06',12,NULL,NULL),(1418,1,445,0,'B02',0,NULL,NULL),(1426,1,450,2,'A01',0,NULL,NULL),(1427,1,451,2,'B01',0,NULL,NULL),(1428,1,452,2,'A01',0,NULL,NULL),(1429,1,453,2,'B01',0,NULL,NULL),(1430,1,454,11,'A01',0,NULL,NULL),(1431,1,455,11,'B01',0,NULL,NULL),(1432,1,456,11,'A01',0,NULL,NULL),(1433,1,457,11,'B01',0,NULL,NULL),(1434,1,461,11,'A01',0,NULL,NULL),(1435,1,462,11,'B01',0,NULL,NULL),(1436,1,448,0,'A01',1,NULL,NULL),(1437,1,448,0,'B01',2,NULL,NULL),(1438,1,448,0,'A01',11,NULL,NULL),(1439,1,448,0,'A01',12,NULL,NULL),(1440,1,448,0,'A01',0,NULL,NULL),(1441,1,449,0,'B01',1,NULL,NULL),(1442,1,449,0,'A01',2,NULL,NULL),(1443,1,449,0,'B01',11,NULL,NULL),(1444,1,449,0,'A01',12,NULL,NULL),(1445,1,449,0,'B01',0,NULL,NULL),(1449,1,452,2,'A01',12,NULL,NULL),(1450,1,451,2,'B01',12,NULL,NULL),(1451,1,450,2,'B02',12,NULL,NULL),(1452,1,453,2,'B03',12,NULL,NULL),(1453,1,467,0,'0',0,NULL,NULL),(1454,1,468,0,'0',0,NULL,NULL),(1455,1,469,0,'0',0,NULL,NULL); /*!40000 ALTER TABLE `llx_boxes` ENABLE KEYS */; UNLOCK TABLES; @@ -1363,7 +1370,7 @@ CREATE TABLE `llx_boxes_def` ( `note` varchar(130) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_boxes_def` (`file`,`entity`,`note`) -) ENGINE=InnoDB AUTO_INCREMENT=467 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=474 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1372,7 +1379,7 @@ CREATE TABLE `llx_boxes_def` ( LOCK TABLES `llx_boxes_def` WRITE; /*!40000 ALTER TABLE `llx_boxes_def` DISABLE KEYS */; -INSERT INTO `llx_boxes_def` VALUES (323,'box_actions.php',2,'2015-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2015-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2015-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2015-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2015-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2015-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2015-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2015-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2015-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2015-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2015-03-13 20:33:09',NULL),(347,'box_clients.php',1,'2017-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2017-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2017-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2017-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2017-11-15 22:38:37',NULL),(377,'box_project.php',1,'2017-11-15 22:38:44',NULL),(378,'box_task.php',1,'2017-11-15 22:38:44',NULL),(388,'box_contracts.php',1,'2017-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2017-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2017-11-15 22:39:56',NULL),(392,'box_graph_propales_permonth.php',1,'2017-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2017-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2017-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2018-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2018-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2018-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2018-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2018-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2018-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2018-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2018-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2018-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2018-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2018-07-30 15:42:32',NULL),(424,'box_factures_imp.php',1,'2017-02-07 18:56:12',NULL),(425,'box_factures.php',1,'2017-02-07 18:56:12',NULL),(426,'box_graph_invoices_permonth.php',1,'2017-02-07 18:56:12',NULL),(429,'box_lastlogin.php',1,'2017-08-27 13:29:14',NULL),(430,'box_bookmarks.php',1,'2018-01-19 11:27:34',NULL),(431,'box_members.php',1,'2018-01-19 11:27:56',NULL),(432,'box_birthdays.php',1,'2019-06-05 08:45:40',NULL),(433,'box_last_ticket',1,'2019-06-05 09:15:29',NULL),(434,'box_last_modified_ticket',1,'2019-06-05 09:15:29',NULL),(436,'box_accountancy_last_manual_entries.php',1,'2019-11-28 11:52:58',NULL),(437,'box_accountancy_suspense_account.php',1,'2019-11-28 11:52:58',NULL),(438,'box_supplier_orders_awaiting_reception.php',1,'2019-11-28 11:52:59',NULL),(445,'box_shipments.php',1,'2020-01-13 14:38:20',NULL),(446,'box_funnel_of_prospection.php',1,'2020-12-10 12:24:40',NULL),(447,'box_customers_outstanding_bill_reached.php',1,'2020-12-10 12:24:40',NULL),(448,'box_scheduled_jobs.php',1,'2021-04-15 10:22:49',NULL),(449,'box_dolibarr_state_board.php',1,'2021-04-15 10:22:54',NULL),(450,'box_members_last_modified.php',1,'2021-04-15 10:22:54',NULL),(451,'box_members_last_subscriptions.php',1,'2021-04-15 10:22:54',NULL),(452,'box_members_subscriptions_by_year.php',1,'2021-04-15 10:22:54',NULL),(453,'box_members_by_type.php',1,'2021-04-15 10:22:54',NULL),(454,'box_graph_ticket_by_severity.php',1,'2021-04-15 10:22:55',NULL),(455,'box_graph_nb_ticket_last_x_days.php',1,'2021-04-15 10:22:55',NULL),(456,'box_graph_nb_tickets_type.php',1,'2021-04-15 10:22:55',NULL),(457,'box_graph_new_vs_close_ticket.php',1,'2021-04-15 10:22:55',NULL),(458,'box_boms.php',1,'2021-04-15 10:22:58',NULL),(459,'box_comptes.php',1,'2021-04-15 10:22:58',NULL),(460,'box_mos.php',1,'2021-04-15 10:23:00',NULL),(461,'box_last_ticket.php',1,'2021-04-15 10:23:01',NULL),(462,'box_last_modified_ticket.php',1,'2021-04-15 10:23:01',NULL),(463,'box_ticket_by_severity.php',1,'2021-04-15 10:23:01',NULL),(464,'box_nb_ticket_last_x_days.php',1,'2021-04-15 10:23:01',NULL),(465,'box_nb_tickets_type.php',1,'2021-04-15 10:23:01',NULL),(466,'box_new_vs_close_ticket.php',1,'2021-04-15 10:23:01',NULL); +INSERT INTO `llx_boxes_def` VALUES (323,'box_actions.php',2,'2015-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2015-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2015-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2015-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2015-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2015-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2015-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2015-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2015-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2015-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2015-03-13 20:33:09',NULL),(347,'box_clients.php',1,'2017-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2017-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2017-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2017-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2017-11-15 22:38:37',NULL),(377,'box_project.php',1,'2017-11-15 22:38:44',NULL),(378,'box_task.php',1,'2017-11-15 22:38:44',NULL),(388,'box_contracts.php',1,'2017-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2017-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2017-11-15 22:39:56',NULL),(392,'box_graph_propales_permonth.php',1,'2017-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2017-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2017-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2018-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2018-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2018-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2018-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2018-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2018-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2018-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2018-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2018-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2018-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2018-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2018-07-30 15:42:32',NULL),(424,'box_factures_imp.php',1,'2017-02-07 18:56:12',NULL),(425,'box_factures.php',1,'2017-02-07 18:56:12',NULL),(426,'box_graph_invoices_permonth.php',1,'2017-02-07 18:56:12',NULL),(429,'box_lastlogin.php',1,'2017-08-27 13:29:14',NULL),(430,'box_bookmarks.php',1,'2018-01-19 11:27:34',NULL),(431,'box_members.php',1,'2018-01-19 11:27:56',NULL),(432,'box_birthdays.php',1,'2019-06-05 08:45:40',NULL),(433,'box_last_ticket',1,'2019-06-05 09:15:29',NULL),(434,'box_last_modified_ticket',1,'2019-06-05 09:15:29',NULL),(436,'box_accountancy_last_manual_entries.php',1,'2019-11-28 11:52:58',NULL),(437,'box_accountancy_suspense_account.php',1,'2019-11-28 11:52:58',NULL),(438,'box_supplier_orders_awaiting_reception.php',1,'2019-11-28 11:52:59',NULL),(445,'box_shipments.php',1,'2020-01-13 14:38:20',NULL),(446,'box_funnel_of_prospection.php',1,'2020-12-10 12:24:40',NULL),(447,'box_customers_outstanding_bill_reached.php',1,'2020-12-10 12:24:40',NULL),(448,'box_scheduled_jobs.php',1,'2021-04-15 10:22:49',NULL),(449,'box_dolibarr_state_board.php',1,'2021-04-15 10:22:54',NULL),(450,'box_members_last_modified.php',1,'2021-04-15 10:22:54',NULL),(451,'box_members_last_subscriptions.php',1,'2021-04-15 10:22:54',NULL),(452,'box_members_subscriptions_by_year.php',1,'2021-04-15 10:22:54',NULL),(453,'box_members_by_type.php',1,'2021-04-15 10:22:54',NULL),(454,'box_graph_ticket_by_severity.php',1,'2021-04-15 10:22:55',NULL),(455,'box_graph_nb_ticket_last_x_days.php',1,'2021-04-15 10:22:55',NULL),(456,'box_graph_nb_tickets_type.php',1,'2021-04-15 10:22:55',NULL),(457,'box_graph_new_vs_close_ticket.php',1,'2021-04-15 10:22:55',NULL),(461,'box_last_ticket.php',1,'2021-04-15 10:23:01',NULL),(462,'box_last_modified_ticket.php',1,'2021-04-15 10:23:01',NULL),(467,'box_boms.php',1,'2021-07-11 17:49:46',NULL),(468,'box_comptes.php',1,'2021-07-11 17:49:46',NULL),(469,'box_mos.php',1,'2021-07-11 17:49:47',NULL),(470,'box_ticket_by_severity.php',1,'2021-07-11 17:49:47',NULL),(471,'box_nb_ticket_last_x_days.php',1,'2021-07-11 17:49:47',NULL),(472,'box_nb_tickets_type.php',1,'2021-07-11 17:49:47',NULL),(473,'box_new_vs_close_ticket.php',1,'2021-07-11 17:49:47',NULL); /*!40000 ALTER TABLE `llx_boxes_def` ENABLE KEYS */; UNLOCK TABLES; @@ -1492,7 +1499,7 @@ CREATE TABLE `llx_c_action_trigger` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_action_trigger_code` (`code`), KEY `idx_action_trigger_rang` (`rang`) -) ENGINE=InnoDB AUTO_INCREMENT=392 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=394 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1501,7 +1508,7 @@ CREATE TABLE `llx_c_action_trigger` ( LOCK TABLES `llx_c_action_trigger` WRITE; /*!40000 ALTER TABLE `llx_c_action_trigger` DISABLE KEYS */; -INSERT INTO `llx_c_action_trigger` VALUES (131,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1),(132,'COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1),(133,'PROPAL_VALIDATE','Customer proposal validated','Executed when a commercial proposal is validated','propal',2),(134,'PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3),(135,'ORDER_VALIDATE','Customer order validate','Executed when a customer order is validated','commande',4),(136,'ORDER_CLOSE','Customer order classify delivered','Executed when a customer order is set delivered','commande',5),(137,'ORDER_CLASSIFY_BILLED','Customer order classify billed','Executed when a customer order is set to billed','commande',5),(138,'ORDER_CANCEL','Customer order canceled','Executed when a customer order is canceled','commande',5),(139,'ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5),(140,'BILL_VALIDATE','Customer invoice validated','Executed when a customer invoice is approved','facture',6),(141,'BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7),(142,'BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8),(143,'BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9),(144,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10),(145,'ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(146,'ORDER_SUPPLIER_APPROVE','Supplier order request approved','Executed when a supplier order is approved','order_supplier',12),(147,'ORDER_SUPPLIER_REFUSE','Supplier order request refused','Executed when a supplier order is refused','order_supplier',13),(148,'ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',14),(149,'BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',15),(150,'BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',16),(151,'BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',17),(152,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',17),(153,'CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',18),(154,'SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',20),(155,'SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',21),(156,'MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',22),(158,'MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',24),(159,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',24),(160,'MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',25),(161,'FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',19),(162,'FICHINTER_CLASSIFY_BILLED','Intervention set billed','Executed when a intervention is set to billed (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(163,'FICHINTER_CLASSIFY_UNBILLED','Intervention set unbilled','Executed when a intervention is set to unbilled (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(164,'FICHINTER_REOPEN','Intervention opened','Executed when a intervention is re-opened','ficheinter',19),(165,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',19),(166,'PROJECT_CREATE','Project creation','Executed when a project is created','project',140),(167,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',2),(168,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',2),(169,'PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2),(170,'TASK_CREATE','Task created','Executed when a project task is created','project',35),(171,'TASK_MODIFY','Task modified','Executed when a project task is modified','project',36),(172,'TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37),(173,'BILL_SUPPLIER_UNVALIDATE','Supplier invoice unvalidated','Executed when a supplier invoice status is set back to draft','invoice_supplier',15),(174,'PROJECT_MODIFY','Project modified','Executed when a project is modified','project',141),(175,'PROJECT_DELETE','Project deleted','Executed when a project is deleted','project',142),(176,'ORDER_SUPPLIER_CREATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(177,'ORDER_SUPPLIER_SUBMIT','Supplier order request submited','Executed when a supplier order is approved','order_supplier',12),(178,'ORDER_SUPPLIER_RECEIVE','Supplier order request received','Executed when a supplier order is received','order_supplier',12),(179,'ORDER_SUPPLIER_CLASSIFY_BILLED','Supplier order set billed','Executed when a supplier order is set as billed','order_supplier',14),(180,'PRODUCT_CREATE','Product or service created','Executed when a product or sevice is created','product',30),(181,'PRODUCT_MODIFY','Product or service modified','Executed when a product or sevice is modified','product',30),(182,'PRODUCT_DELETE','Product or service deleted','Executed when a product or sevice is deleted','product',30),(183,'EXPENSE_REPORT_CREATE','Expense report created','Executed when an expense report is created','expensereport',201),(185,'EXPENSE_REPORT_VALIDATE','Expense report validated','Executed when an expense report is validated','expensereport',202),(186,'EXPENSE_REPORT_APPROVE','Expense report approved','Executed when an expense report is approved','expensereport',203),(187,'EXPENSE_REPORT_PAID','Expense report billed','Executed when an expense report is set as billed','expensereport',204),(192,'HOLIDAY_CREATE','Leave request created','Executed when a leave request is created','holiday',221),(193,'HOLIDAY_VALIDATE','Leave request validated','Executed when a leave request is validated','holiday',222),(194,'HOLIDAY_APPROVE','Leave request approved','Executed when a leave request is approved','holiday',223),(210,'MEMBER_SENTBYMAIL','Mails sent from member card','Executed when you send email from member card','member',23),(211,'CONTRACT_SENTBYMAIL','Contract sent by mail','Executed when a contract is sent by mail','contrat',18),(212,'PROPOSAL_SUPPLIER_VALIDATE','Price request validated','Executed when a commercial proposal is validated','proposal_supplier',10),(213,'PROPOSAL_SUPPLIER_SENTBYMAIL','Price request sent by mail','Executed when a commercial proposal is sent by mail','proposal_supplier',10),(214,'PROPOSAL_SUPPLIER_CLOSE_SIGNED','Price request closed signed','Executed when a customer proposal is closed signed','proposal_supplier',10),(215,'PROPOSAL_SUPPLIER_CLOSE_REFUSED','Price request closed refused','Executed when a customer proposal is closed refused','proposal_supplier',10),(216,'MEMBER_SUBSCRIPTION_CREATE','Member subscribtion recorded','Executed when a member subscribtion is deleted','member',24),(217,'MEMBER_SUBSCRIPTION_MODIFY','Member subscribtion modified','Executed when a member subscribtion is modified','member',24),(218,'MEMBER_SUBSCRIPTION_DELETE','Member subscribtion deleted','Executed when a member subscribtion is deleted','member',24),(225,'COMPANY_DELETE','Third party deleted','Executed when you delete third party','societe',1),(226,'PROPAL_DELETE','Customer proposal deleted','Executed when a customer proposal is deleted','propal',2),(227,'ORDER_DELETE','Customer order deleted','Executed when a customer order is deleted','commande',5),(228,'BILL_DELETE','Customer invoice deleted','Executed when a customer invoice is deleted','facture',9),(229,'PROPOSAL_SUPPLIER_DELETE','Price request deleted','Executed when a customer proposal delete','proposal_supplier',10),(230,'ORDER_SUPPLIER_DELETE','Supplier order deleted','Executed when a supplier order is deleted','order_supplier',14),(231,'BILL_SUPPLIER_DELETE','Supplier invoice deleted','Executed when a supplier invoice is deleted','invoice_supplier',17),(232,'CONTRACT_DELETE','Contract deleted','Executed when a contract is deleted','contrat',18),(233,'FICHINTER_DELETE','Intervention is deleted','Executed when a intervention is deleted','ficheinter',35),(234,'EXPENSE_REPORT_DELETE','Expense report deleted','Executed when an expense report is deleted','expensereport',204),(249,'TICKET_CREATE','Ticket created','Executed when a ticket is created','ticket',161),(250,'TICKET_MODIFY','Ticket modified','Executed when a ticket is modified','ticket',163),(251,'TICKET_ASSIGNED','Ticket assigned','Executed when a ticket is assigned to another user','ticket',164),(252,'TICKET_CLOSE','Ticket closed','Executed when a ticket is closed','ticket',165),(253,'TICKET_SENTBYMAIL','Ticket message sent by email','Executed when a message is sent from the ticket record','ticket',166),(254,'TICKET_DELETE','Ticket deleted','Executed when a ticket is deleted','ticket',167),(261,'USER_SENTBYMAIL','Email sent','Executed when an email is sent from user card','user',300),(262,'BOM_VALIDATE','BOM validated','Executed when a BOM is validated','bom',650),(263,'BOM_UNVALIDATE','BOM unvalidated','Executed when a BOM is unvalidated','bom',651),(264,'BOM_CLOSE','BOM disabled','Executed when a BOM is disabled','bom',652),(265,'BOM_REOPEN','BOM reopen','Executed when a BOM is re-open','bom',653),(266,'BOM_DELETE','BOM deleted','Executed when a BOM deleted','bom',654),(351,'MRP_MO_VALIDATE','MO validated','Executed when a MO is validated','bom',660),(352,'MRP_MO_PRODUCED','MO produced','Executed when a MO is produced','bom',661),(353,'MRP_MO_DELETE','MO deleted','Executed when a MO is deleted','bom',662),(354,'MRP_MO_CANCEL','MO canceled','Executed when a MO is canceled','bom',663),(365,'CONTACT_CREATE','Contact address created','Executed when a contact is created','contact',50),(366,'CONTACT_SENTBYMAIL','Mails sent from third party card','Executed when you send email from contact adress card','contact',51),(367,'CONTACT_DELETE','Contact address deleted','Executed when a contact is deleted','contact',52),(368,'RECRUITMENTJOBPOSITION_CREATE','Job created','Executed when a job is created','recruitment',7500),(369,'RECRUITMENTJOBPOSITION_MODIFY','Job modified','Executed when a job is modified','recruitment',7502),(370,'RECRUITMENTJOBPOSITION_SENTBYMAIL','Mails sent from job record','Executed when you send email from job record','recruitment',7504),(371,'RECRUITMENTJOBPOSITION_DELETE','Job deleted','Executed when a job is deleted','recruitment',7506),(372,'RECRUITMENTCANDIDATURE_CREATE','Candidature created','Executed when a candidature is created','recruitment',7510),(373,'RECRUITMENTCANDIDATURE_MODIFY','Candidature modified','Executed when a candidature is modified','recruitment',7512),(374,'RECRUITMENTCANDIDATURE_SENTBYMAIL','Mails sent from candidature record','Executed when you send email from candidature record','recruitment',7514),(375,'RECRUITMENTCANDIDATURE_DELETE','Candidature deleted','Executed when a candidature is deleted','recruitment',7516); +INSERT INTO `llx_c_action_trigger` VALUES (131,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1),(132,'COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1),(133,'PROPAL_VALIDATE','Customer proposal validated','Executed when a commercial proposal is validated','propal',2),(134,'PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3),(135,'ORDER_VALIDATE','Customer order validate','Executed when a customer order is validated','commande',4),(136,'ORDER_CLOSE','Customer order classify delivered','Executed when a customer order is set delivered','commande',5),(137,'ORDER_CLASSIFY_BILLED','Customer order classify billed','Executed when a customer order is set to billed','commande',5),(138,'ORDER_CANCEL','Customer order canceled','Executed when a customer order is canceled','commande',5),(139,'ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5),(140,'BILL_VALIDATE','Customer invoice validated','Executed when a customer invoice is approved','facture',6),(141,'BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7),(142,'BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8),(143,'BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9),(144,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10),(145,'ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(146,'ORDER_SUPPLIER_APPROVE','Supplier order request approved','Executed when a supplier order is approved','order_supplier',12),(147,'ORDER_SUPPLIER_REFUSE','Supplier order request refused','Executed when a supplier order is refused','order_supplier',13),(148,'ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',14),(149,'BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',15),(150,'BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',16),(151,'BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',17),(152,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',17),(153,'CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',18),(154,'SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',20),(155,'SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',21),(156,'MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',22),(158,'MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',24),(159,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',24),(160,'MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',25),(161,'FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',19),(162,'FICHINTER_CLASSIFY_BILLED','Intervention set billed','Executed when a intervention is set to billed (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(163,'FICHINTER_CLASSIFY_UNBILLED','Intervention set unbilled','Executed when a intervention is set to unbilled (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(164,'FICHINTER_REOPEN','Intervention opened','Executed when a intervention is re-opened','ficheinter',19),(165,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',19),(166,'PROJECT_CREATE','Project creation','Executed when a project is created','project',140),(167,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',2),(168,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',2),(169,'PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2),(170,'TASK_CREATE','Task created','Executed when a project task is created','project',35),(171,'TASK_MODIFY','Task modified','Executed when a project task is modified','project',36),(172,'TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37),(173,'BILL_SUPPLIER_UNVALIDATE','Supplier invoice unvalidated','Executed when a supplier invoice status is set back to draft','invoice_supplier',15),(174,'PROJECT_MODIFY','Project modified','Executed when a project is modified','project',141),(175,'PROJECT_DELETE','Project deleted','Executed when a project is deleted','project',142),(176,'ORDER_SUPPLIER_CREATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(177,'ORDER_SUPPLIER_SUBMIT','Supplier order request submited','Executed when a supplier order is approved','order_supplier',12),(178,'ORDER_SUPPLIER_RECEIVE','Supplier order request received','Executed when a supplier order is received','order_supplier',12),(179,'ORDER_SUPPLIER_CLASSIFY_BILLED','Supplier order set billed','Executed when a supplier order is set as billed','order_supplier',14),(180,'PRODUCT_CREATE','Product or service created','Executed when a product or sevice is created','product',30),(181,'PRODUCT_MODIFY','Product or service modified','Executed when a product or sevice is modified','product',30),(182,'PRODUCT_DELETE','Product or service deleted','Executed when a product or sevice is deleted','product',30),(183,'EXPENSE_REPORT_CREATE','Expense report created','Executed when an expense report is created','expensereport',201),(185,'EXPENSE_REPORT_VALIDATE','Expense report validated','Executed when an expense report is validated','expensereport',202),(186,'EXPENSE_REPORT_APPROVE','Expense report approved','Executed when an expense report is approved','expensereport',203),(187,'EXPENSE_REPORT_PAID','Expense report billed','Executed when an expense report is set as billed','expensereport',204),(192,'HOLIDAY_CREATE','Leave request created','Executed when a leave request is created','holiday',221),(193,'HOLIDAY_VALIDATE','Leave request validated','Executed when a leave request is validated','holiday',222),(194,'HOLIDAY_APPROVE','Leave request approved','Executed when a leave request is approved','holiday',223),(210,'MEMBER_SENTBYMAIL','Mails sent from member card','Executed when you send email from member card','member',23),(211,'CONTRACT_SENTBYMAIL','Contract sent by mail','Executed when a contract is sent by mail','contrat',18),(212,'PROPOSAL_SUPPLIER_VALIDATE','Price request validated','Executed when a commercial proposal is validated','proposal_supplier',10),(213,'PROPOSAL_SUPPLIER_SENTBYMAIL','Price request sent by mail','Executed when a commercial proposal is sent by mail','proposal_supplier',10),(214,'PROPOSAL_SUPPLIER_CLOSE_SIGNED','Price request closed signed','Executed when a customer proposal is closed signed','proposal_supplier',10),(215,'PROPOSAL_SUPPLIER_CLOSE_REFUSED','Price request closed refused','Executed when a customer proposal is closed refused','proposal_supplier',10),(216,'MEMBER_SUBSCRIPTION_CREATE','Member subscribtion recorded','Executed when a member subscribtion is deleted','member',24),(217,'MEMBER_SUBSCRIPTION_MODIFY','Member subscribtion modified','Executed when a member subscribtion is modified','member',24),(218,'MEMBER_SUBSCRIPTION_DELETE','Member subscribtion deleted','Executed when a member subscribtion is deleted','member',24),(225,'COMPANY_DELETE','Third party deleted','Executed when you delete third party','societe',1),(226,'PROPAL_DELETE','Customer proposal deleted','Executed when a customer proposal is deleted','propal',2),(227,'ORDER_DELETE','Customer order deleted','Executed when a customer order is deleted','commande',5),(228,'BILL_DELETE','Customer invoice deleted','Executed when a customer invoice is deleted','facture',9),(229,'PROPOSAL_SUPPLIER_DELETE','Price request deleted','Executed when a customer proposal delete','proposal_supplier',10),(230,'ORDER_SUPPLIER_DELETE','Supplier order deleted','Executed when a supplier order is deleted','order_supplier',14),(231,'BILL_SUPPLIER_DELETE','Supplier invoice deleted','Executed when a supplier invoice is deleted','invoice_supplier',17),(232,'CONTRACT_DELETE','Contract deleted','Executed when a contract is deleted','contrat',18),(233,'FICHINTER_DELETE','Intervention is deleted','Executed when a intervention is deleted','ficheinter',35),(234,'EXPENSE_REPORT_DELETE','Expense report deleted','Executed when an expense report is deleted','expensereport',204),(249,'TICKET_CREATE','Ticket created','Executed when a ticket is created','ticket',161),(250,'TICKET_MODIFY','Ticket modified','Executed when a ticket is modified','ticket',163),(251,'TICKET_ASSIGNED','Ticket assigned','Executed when a ticket is assigned to another user','ticket',164),(252,'TICKET_CLOSE','Ticket closed','Executed when a ticket is closed','ticket',165),(253,'TICKET_SENTBYMAIL','Ticket message sent by email','Executed when a message is sent from the ticket record','ticket',166),(254,'TICKET_DELETE','Ticket deleted','Executed when a ticket is deleted','ticket',167),(261,'USER_SENTBYMAIL','Email sent','Executed when an email is sent from user card','user',300),(262,'BOM_VALIDATE','BOM validated','Executed when a BOM is validated','bom',650),(263,'BOM_UNVALIDATE','BOM unvalidated','Executed when a BOM is unvalidated','bom',651),(264,'BOM_CLOSE','BOM disabled','Executed when a BOM is disabled','bom',652),(265,'BOM_REOPEN','BOM reopen','Executed when a BOM is re-open','bom',653),(266,'BOM_DELETE','BOM deleted','Executed when a BOM deleted','bom',654),(351,'MRP_MO_VALIDATE','MO validated','Executed when a MO is validated','bom',660),(352,'MRP_MO_PRODUCED','MO produced','Executed when a MO is produced','bom',661),(353,'MRP_MO_DELETE','MO deleted','Executed when a MO is deleted','bom',662),(354,'MRP_MO_CANCEL','MO canceled','Executed when a MO is canceled','bom',663),(365,'CONTACT_CREATE','Contact address created','Executed when a contact is created','contact',50),(366,'CONTACT_SENTBYMAIL','Mails sent from third party card','Executed when you send email from contact adress card','contact',51),(367,'CONTACT_DELETE','Contact address deleted','Executed when a contact is deleted','contact',52),(368,'RECRUITMENTJOBPOSITION_CREATE','Job created','Executed when a job is created','recruitment',7500),(369,'RECRUITMENTJOBPOSITION_MODIFY','Job modified','Executed when a job is modified','recruitment',7502),(370,'RECRUITMENTJOBPOSITION_SENTBYMAIL','Mails sent from job record','Executed when you send email from job record','recruitment',7504),(371,'RECRUITMENTJOBPOSITION_DELETE','Job deleted','Executed when a job is deleted','recruitment',7506),(372,'RECRUITMENTCANDIDATURE_CREATE','Candidature created','Executed when a candidature is created','recruitment',7510),(373,'RECRUITMENTCANDIDATURE_MODIFY','Candidature modified','Executed when a candidature is modified','recruitment',7512),(374,'RECRUITMENTCANDIDATURE_SENTBYMAIL','Mails sent from candidature record','Executed when you send email from candidature record','recruitment',7514),(375,'RECRUITMENTCANDIDATURE_DELETE','Candidature deleted','Executed when a candidature is deleted','recruitment',7516),(392,'COMPANY_MODIFY','Third party update','Executed when you update third party','societe',1),(393,'CONTACT_MODIFY','Contact address update','Executed when a contact is updated','contact',51); /*!40000 ALTER TABLE `llx_c_action_trigger` ENABLE KEYS */; UNLOCK TABLES; @@ -1582,7 +1589,7 @@ CREATE TABLE `llx_c_barcode_type` ( `example` varchar(16) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_barcode_type` (`code`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1864,7 +1871,7 @@ CREATE TABLE `llx_c_email_templates` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_email_templates` (`entity`,`label`,`lang`), KEY `idx_type` (`type_template`) -) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1873,7 +1880,7 @@ CREATE TABLE `llx_c_email_templates` ( LOCK TABLES `llx_c_email_templates` WRITE; /*!40000 ALTER TABLE `llx_c_email_templates` DISABLE KEYS */; -INSERT INTO `llx_c_email_templates` VALUES (1,1,NULL,'propal_send','',1,NULL,NULL,'2018-01-19 11:17:48','My Private email template for proposals',1,1,'Hello __FIRSTNAME__','We wish you a happy new year
__USER_SIGNATURE__',NULL,'1','1'),(2,0,'adherent','member','',0,NULL,NULL,'2018-01-19 11:17:48','(SendAnEMailToMember)',1,1,'__(CardContent)__','__(Hello)__,

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

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

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

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

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

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

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

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

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

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

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

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

\n\n__(YourMembershipWasCanceled)__
\n

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

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

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

\n\n__(YourCandidatureAnswer)__
\n

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

__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

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

__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

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

Dear __MEMBER_FULLNAME__,

\n__(YourMembershipWillSoonExpireContent)__

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

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

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

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

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

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

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

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

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

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

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

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

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

\n\n__(YourMembershipWasCanceled)__
\n

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

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

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

\n\n__(YourCandidatureAnswer)__
\n

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

__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

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

__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

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

Dear __MEMBER_FULLNAME__,

\n__(YourMembershipWillSoonExpireContent)__

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

Hello,

\n__(YourPartnershipWillSoonBeCanceledContent)__

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

Hello,

\n__(YourPartnershipCanceledContent)__

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

Hello,

\n__(YourPartnershipRefusedContent)__

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

Hello,

\n__(YourPartnershipAcceptedContent)__

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

Sincerely,

\r\n\r\n

--\"\"

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

Sincerely,

\r\n\r\n

--\"\"

\r\n','chaine',0,'','2019-10-04 12:03:51'),(7027,'USER_PASSWORD_GENERATED',1,'Perso','chaine',0,'','2019-10-07 10:52:46'),(7028,'USER_PASSWORD_PATTERN',1,'12;1;0;1;0;1','chaine',0,'','2019-10-07 10:57:03'),(7034,'BOM_ADDON',1,'mod_bom_standard','chaine',0,'Name of numbering rules of BOM','2019-10-08 18:49:41'),(7035,'BOM_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/boms','chaine',0,NULL,'2019-10-08 18:49:41'),(7036,'MAIN_MODULE_GEOIPMAXMIND',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-10-08 18:51:54'),(7037,'MAIN_MODULE_DAV',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2019-10-08 18:54:07'),(7122,'BOM_ADDON_PDF',1,'generic_bom_odt','chaine',0,'','2019-11-28 14:00:58'),(7195,'MAIN_AGENDA_ACTIONAUTO_MO_VALIDATE',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7196,'MAIN_AGENDA_ACTIONAUTO_MO_PRODUCED',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7197,'MAIN_AGENDA_ACTIONAUTO_MO_DELETE',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7198,'MAIN_AGENDA_ACTIONAUTO_MO_CANCEL',1,'1','chaine',0,'','2019-11-29 08:44:37'),(7201,'TICKET_PUBLIC_INTERFACE_TOPIC',1,'MyBigCompany public interface for Ticket','chaine',0,'','2019-11-29 08:49:36'),(7202,'TICKET_PUBLIC_TEXT_HOME',1,'You can create a support ticket or view existing from its identifier tracking ticket.','chaine',0,'','2019-11-29 08:49:36'),(7203,'TICKET_PUBLIC_TEXT_HELP_MESSAGE',1,'Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request.','chaine',0,'','2019-11-29 08:49:36'),(7204,'TICKET_MESSAGE_MAIL_NEW',1,'TicketMessageMailNewText','chaine',0,'','2019-11-29 08:49:36'),(7220,'MRP_MO_ADDON',1,'mod_mo_standard','chaine',0,'Name of numbering rules of MO','2019-11-29 08:57:42'),(7221,'MRP_MO_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/mrps','chaine',0,NULL,'2019-11-29 08:57:42'),(7222,'MRP_MO_ADDON_PDF',1,'generic_mo_odt','chaine',0,'','2019-11-29 08:57:47'),(7254,'MAIN_INFO_OPENINGHOURS_MONDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7255,'MAIN_INFO_OPENINGHOURS_TUESDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7256,'MAIN_INFO_OPENINGHOURS_WEDNESDAY',1,'8-13','chaine',0,'','2019-12-19 11:14:21'),(7257,'MAIN_INFO_OPENINGHOURS_THURSDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7258,'MAIN_INFO_OPENINGHOURS_FRIDAY',1,'8-12 13-18','chaine',0,'','2019-12-19 11:14:21'),(7264,'MAIN_INFO_ACCOUNTANT_NAME',1,'Bob Bookkeeper','chaine',0,'','2019-12-19 11:14:54'),(7265,'MAIN_INFO_ACCOUNTANT_TOWN',1,'Berlin','chaine',0,'','2019-12-19 11:14:54'),(7266,'MAIN_INFO_ACCOUNTANT_STATE',1,'0','chaine',0,'','2019-12-19 11:14:54'),(7267,'MAIN_INFO_ACCOUNTANT_COUNTRY',1,'5','chaine',0,'','2019-12-19 11:14:54'),(7268,'MAIN_INFO_ACCOUNTANT_MAIL',1,'mybookkeeper@example.com','chaine',0,'','2019-12-19 11:14:54'),(7313,'MODULEBUILDER_ASCIIDOCTOR',1,'asciidoctor','chaine',0,'','2019-12-20 10:57:21'),(7314,'MODULEBUILDER_ASCIIDOCTORPDF',1,'asciidoctor-pdf','chaine',0,'','2019-12-20 10:57:21'),(7337,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2019-12-20 12:10:38'),(7338,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2019-12-20 12:10:38'),(7339,'EXPENSEREPORT_ADDON',1,'mod_expensereport_jade','chaine',0,'','2019-12-20 16:33:46'),(7378,'COMPANY_USE_SEARCH_TO_SELECT',1,'0','chaine',0,'','2019-12-21 15:54:22'),(7420,'CASHDESK_SERVICES',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7421,'TAKEPOS_ROOT_CATEGORY_ID',1,'31','chaine',0,'','2019-12-23 12:15:06'),(7422,'TAKEPOSCONNECTOR',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7423,'TAKEPOS_BAR_RESTAURANT',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7424,'TAKEPOS_TICKET_VAT_GROUPPED',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7425,'TAKEPOS_AUTO_PRINT_TICKETS',1,'0','int',0,'','2019-12-23 12:15:06'),(7426,'TAKEPOS_NUMPAD',1,'0','chaine',0,'','2019-12-23 12:15:06'),(7427,'TAKEPOS_NUM_TERMINALS',1,'1','chaine',0,'','2019-12-23 12:15:06'),(7428,'TAKEPOS_DIRECT_PAYMENT',1,'0','int',0,'','2019-12-23 12:15:06'),(7429,'TAKEPOS_CUSTOM_RECEIPT',1,'0','int',0,'','2019-12-23 12:15:06'),(7430,'TAKEPOS_EMAIL_TEMPLATE_INVOICE',1,'-1','chaine',0,'','2019-12-23 12:15:06'),(7452,'MEMBER_ENABLE_PUBLIC',1,'1','chaine',0,'','2020-01-01 10:31:46'),(7453,'MEMBER_NEWFORM_AMOUNT',1,'20','chaine',0,'','2020-01-01 10:31:46'),(7454,'MEMBER_NEWFORM_EDITAMOUNT',1,'0','chaine',0,'','2020-01-01 10:31:46'),(7455,'MEMBER_NEWFORM_PAYONLINE',1,'all','chaine',0,'','2020-01-01 10:31:46'),(7456,'MEMBER_NEWFORM_FORCETYPE',1,'1','chaine',0,'','2020-01-01 10:31:46'),(7470,'STRIPE_TEST_PUBLISHABLE_KEY',1,'pk_test_123456789','chaine',0,'','2020-01-01 11:43:44'),(7471,'STRIPE_TEST_SECRET_KEY',1,'sk_test_123456','chaine',0,'','2020-01-01 11:43:44'),(7472,'STRIPE_BANK_ACCOUNT_FOR_PAYMENTS',1,'4','chaine',0,'','2020-01-01 11:43:44'),(7473,'STRIPE_USER_ACCOUNT_FOR_ACTIONS',1,'1','chaine',0,'','2020-01-01 11:43:44'),(7489,'CAPTURESERVER_SECURITY_KEY',1,'securitykey123','chaine',0,'','2020-01-01 12:00:49'),(8136,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_DELETE',1,'1','chaine',0,'','2020-01-02 19:56:28'),(8190,'ACCOUNTING_PRODUCT_MODE',1,'ACCOUNTANCY_SELL_EXPORT','chaine',0,'','2020-01-06 01:23:30'),(8191,'MAIN_ENABLE_DEFAULT_VALUES',1,'1','chaine',0,'','2020-01-06 16:09:52'),(8210,'CABINETMED_RHEUMATOLOGY_ON',1,'0','texte',0,'','2020-01-06 16:51:43'),(8213,'MAIN_SEARCHFORM_SOCIETE',1,'1','texte',0,'','2020-01-06 16:51:43'),(8214,'CABINETMED_BANK_PATIENT_REQUIRED',1,'0','texte',0,'','2020-01-06 16:51:43'),(8215,'DIAGNOSTIC_IS_NOT_MANDATORY',1,'1','texte',0,'','2020-01-06 16:51:43'),(8216,'USER_ADDON_PDF_ODT',1,'generic_user_odt','chaine',0,'','2020-01-07 13:45:19'),(8217,'USERGROUP_ADDON_PDF_ODT',1,'generic_usergroup_odt','chaine',0,'','2020-01-07 13:45:23'),(8230,'MAIN_MODULE_EMAILCOLLECTOR',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-12 20:13:55'),(8232,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-13 14:37:09'),(8233,'MAIN_MODULE_EXPEDITION',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-13 14:38:20'),(8252,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2020-01-15 15:42:41'),(8259,'ACCOUNTING_REEXPORT',1,'1','yesno',0,'','2020-01-17 13:42:56'),(8291,'PRODUIT_MULTIPRICES_LIMIT',1,'5','chaine',0,'','2020-01-17 14:21:46'),(8293,'PRODUIT_CUSTOMER_PRICES_BY_QTY',1,'0','chaine',0,'','2020-01-17 14:21:46'),(8303,'PRODUCT_PRICE_UNIQ',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8304,'PRODUIT_MULTIPRICES',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8305,'PRODUIT_CUSTOMER_PRICES',1,'1','chaine',0,'','2020-01-17 14:25:30'),(8306,'PRODUIT_SOUSPRODUITS',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8307,'PRODUIT_DESC_IN_FORM',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8308,'PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8309,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2020-01-17 14:25:30'),(8310,'PRODUIT_FOURN_TEXTS',1,'0','chaine',0,'','2020-01-17 14:25:30'),(8313,'MAIN_MODULE_FCKEDITOR',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-01-18 17:13:27'),(8314,'FCKEDITOR_ENABLE_TICKET',1,'1','chaine',0,'','2020-01-18 19:39:54'),(8321,'FCKEDITOR_SKIN',1,'moono-lisa','chaine',0,'','2020-01-18 19:41:15'),(8322,'FCKEDITOR_TEST',1,'Test < aaa
\r\n
\r\n\"\"','chaine',0,'','2020-01-18 19:41:15'),(8486,'MAIN_MULTILANGS',1,'1','chaine',0,'','2020-01-21 09:40:00'),(8491,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8492,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8496,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2020-01-21 09:40:00'),(8498,'MAIN_HELPCENTER_DISABLELINK',0,'0','chaine',0,'','2020-01-21 09:40:00'),(8501,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2020-01-21 09:40:00'),(8554,'MAIN_INFO_SOCIETE_FACEBOOK_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8555,'MAIN_INFO_SOCIETE_TWITTER_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8556,'MAIN_INFO_SOCIETE_LINKEDIN_URL',1,'https://www.linkedin.com/company/9400559/admin/','chaine',0,'','2020-06-12 17:24:42'),(8557,'MAIN_INFO_SOCIETE_INSTAGRAM_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8558,'MAIN_INFO_SOCIETE_YOUTUBE_URL',1,'DolibarrERPCRM','chaine',0,'','2020-06-12 17:24:42'),(8559,'MAIN_INFO_SOCIETE_GITHUB_URL',1,'dolibarr','chaine',0,'','2020-06-12 17:24:42'),(8577,'PRODUCT_PRICE_BASE_TYPE',0,'HT','string',0,NULL,'2020-12-10 12:24:38'),(8612,'MAIN_UPLOAD_DOC',1,'50000','chaine',0,'','2020-12-10 12:26:31'),(8613,'MAIN_UMASK',1,'0664','chaine',0,'','2020-12-10 12:26:31'),(8614,'MAIN_ANTIVIRUS_PARAM',1,'--fdpass','chaine',0,'','2020-12-10 12:26:31'),(8619,'WEBSITE_EDITINLINE',1,'0','chaine',0,'','2020-12-10 12:27:05'),(8620,'WEBSITE_SUBCONTAINERSINLINE',1,'1','chaine',0,'','2020-12-10 12:27:17'),(8633,'MAIN_MODULE_RECEPTION',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:30:13'),(8634,'RECEPTION_ADDON_PDF',1,'squille','chaine',0,'Nom du gestionnaire de generation des bons receptions en PDF','2020-12-10 12:30:13'),(8635,'RECEPTION_ADDON_NUMBER',1,'mod_reception_beryl','chaine',0,'Name for numbering manager for receptions','2020-12-10 12:30:13'),(8636,'RECEPTION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/receptions','chaine',0,NULL,'2020-12-10 12:30:13'),(8637,'MAIN_SUBMODULE_RECEPTION',1,'1','chaine',0,'Enable receptions','2020-12-10 12:30:13'),(8638,'MAIN_MODULE_PAYMENTBYBANKTRANSFER',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:30:17'),(8640,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2020-12-10 12:30:20'),(8641,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->socid) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2020-12-10 12:30:20'),(8643,'MAIN_MODULE_BLOCKEDLOG',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:31:17'),(8644,'MAIN_MODULE_INCOTERM',1,'1','string',0,'{\"authorid\":\"12\",\"ip\":\"127.0.0.1\"}','2020-12-10 12:31:36'),(8645,'INCOTERM_ACTIVATE',1,'','chaine',0,'Description de INCOTERM_ACTIVATE','2020-12-10 12:31:36'),(8715,'SYSLOG_LEVEL',0,'5','chaine',0,'','2021-04-15 10:34:05'),(8716,'MAIN_SECURITY_HASH_ALGO',1,'password_hash','chaine',1,'','2021-04-15 10:38:33'),(8717,'MAIN_INFO_SOCIETE_COUNTRY',1,'117:IN:India','chaine',0,'','2021-04-15 10:46:30'),(8718,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2021-04-15 10:46:30'),(8719,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street.','chaine',0,'','2021-04-15 10:46:30'),(8720,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2021-04-15 10:46:30'),(8721,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2021-04-15 10:46:30'),(8722,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2021-04-15 10:46:30'),(8723,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2021-04-15 10:46:30'),(8724,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2021-04-15 10:46:30'),(8725,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2021-04-15 10:46:30'),(8726,'MAIN_INFO_SOCIETE_WEB',1,'https://www.dolibarr.org','chaine',0,'','2021-04-15 10:46:30'),(8727,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2021-04-15 10:46:30'),(8728,'MAIN_INFO_SOCIETE_LOGO_SQUARRED',1,'mybigcompany_squarred.png','chaine',0,'','2021-04-15 10:46:30'),(8729,'MAIN_INFO_SOCIETE_LOGO_SQUARRED_SMALL',1,'mybigcompany_squarred_small.png','chaine',0,'','2021-04-15 10:46:30'),(8730,'MAIN_INFO_SOCIETE_LOGO_SQUARRED_MINI',1,'mybigcompany_squarred_mini.png','chaine',0,'','2021-04-15 10:46:30'),(8731,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2021-04-15 10:46:30'),(8732,'MAIN_INFO_GDPR',1,'Zack Zeceo','chaine',0,'','2021-04-15 10:46:30'),(8733,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2021-04-15 10:46:30'),(8734,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8735,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2021-04-15 10:46:30'),(8736,'MAIN_INFO_SIRET',1,'ABC-DEF','chaine',0,'','2021-04-15 10:46:30'),(8737,'MAIN_INFO_APE',1,'15E-45-8D','chaine',0,'','2021-04-15 10:46:30'),(8738,'MAIN_INFO_TVAINTRA',1,'FR12345678','chaine',0,'','2021-04-15 10:46:30'),(8739,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2021-04-15 10:46:30'),(8740,'SOCIETE_FISCAL_MONTH_START',1,'4','chaine',0,'','2021-04-15 10:46:30'),(8741,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2021-04-15 10:46:30'),(8742,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2021-04-15 10:46:30'),(8743,'FACTURE_LOCAL_TAX2_OPTION',1,'localtax2on','chaine',0,'','2021-04-15 10:46:30'),(8744,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8745,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8746,'MAIN_INFO_VALUE_LOCALTAX2',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8747,'MAIN_INFO_LOCALTAX_CALC2',1,'0','chaine',0,'','2021-04-15 10:46:30'),(8759,'MAIN_LOGIN_BACKGROUND',1,'background_dolibarr.jpg','chaine',0,'','2021-04-15 10:54:37'),(8760,'MAIN_LANG_DEFAULT',1,'auto','chaine',0,'','2021-04-15 10:56:30'),(8761,'MAIN_IHM_PARAMS_REV',1,'13','chaine',0,'','2021-04-15 10:56:30'),(8762,'MAIN_THEME',1,'eldy','chaine',0,'','2021-04-15 10:56:30'),(8763,'THEME_ELDY_USE_HOVER',1,'237,244,251','chaine',0,'','2021-04-15 10:56:30'),(8764,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2021-04-15 10:56:30'),(8765,'MAIN_SIZE_SHORTLIST_LIMIT',1,'3','chaine',0,'','2021-04-15 10:56:30'),(8766,'MAIN_START_WEEK',1,'1','chaine',0,'','2021-04-15 10:56:30'),(8767,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2021-04-15 10:56:30'),(8768,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2021-04-15 10:56:30'),(8769,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2021-04-15 10:56:30'),(8770,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n__(SomeTranslationAreUncomplete)__','chaine',0,'','2021-04-15 10:56:30'),(8771,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2021-04-15 11:46:30'),(8775,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8776,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8777,'MAIN_AGENDA_ACTIONAUTO_COMPANY_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8778,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8779,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8780,'MAIN_AGENDA_ACTIONAUTO_PROPAL_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8781,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8782,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8783,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8784,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8785,'MAIN_AGENDA_ACTIONAUTO_ORDER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8787,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8788,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8789,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8790,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8791,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8792,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8793,'MAIN_AGENDA_ACTIONAUTO_BILL_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8794,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8795,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8796,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8797,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8798,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_CLOSE_SIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8799,'MAIN_AGENDA_ACTIONAUTO_PROPOSAL_SUPPLIER_CLOSE_REFUSED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8800,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8801,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8802,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8803,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8804,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8805,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8806,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8807,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8808,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8809,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8810,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8811,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8812,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8813,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8814,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8815,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8816,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8817,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8818,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8819,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8820,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8821,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8822,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8823,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8824,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8825,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8826,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8827,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8828,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8829,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8830,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8831,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8832,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8833,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8834,'MAIN_AGENDA_ACTIONAUTO_PRODUCT_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8835,'MAIN_AGENDA_ACTIONAUTO_TASK_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8836,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8837,'MAIN_AGENDA_ACTIONAUTO_TASK_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8838,'MAIN_AGENDA_ACTIONAUTO_TASK_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8839,'MAIN_AGENDA_ACTIONAUTO_CONTACT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8840,'MAIN_AGENDA_ACTIONAUTO_CONTACT_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8841,'MAIN_AGENDA_ACTIONAUTO_CONTACT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8842,'MAIN_AGENDA_ACTIONAUTO_PROJECT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8843,'MAIN_AGENDA_ACTIONAUTO_PROJECT_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8844,'MAIN_AGENDA_ACTIONAUTO_PROJECT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8845,'MAIN_AGENDA_ACTIONAUTO_TICKET_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8846,'MAIN_AGENDA_ACTIONAUTO_TICKET_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8847,'MAIN_AGENDA_ACTIONAUTO_TICKET_ASSIGNED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8848,'MAIN_AGENDA_ACTIONAUTO_TICKET_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8849,'MAIN_AGENDA_ACTIONAUTO_TICKET_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8850,'MAIN_AGENDA_ACTIONAUTO_TICKET_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8851,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8852,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8853,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8854,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8855,'MAIN_AGENDA_ACTIONAUTO_EXPENSE_REPORT_PAID',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8856,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8857,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8858,'MAIN_AGENDA_ACTIONAUTO_HOLIDAY_APPROVE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8859,'MAIN_AGENDA_ACTIONAUTO_USER_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8860,'MAIN_AGENDA_ACTIONAUTO_BOM_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8861,'MAIN_AGENDA_ACTIONAUTO_BOM_UNVALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8862,'MAIN_AGENDA_ACTIONAUTO_BOM_CLOSE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8863,'MAIN_AGENDA_ACTIONAUTO_BOM_REOPEN',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8864,'MAIN_AGENDA_ACTIONAUTO_BOM_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8865,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_VALIDATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8866,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_PRODUCED',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8867,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8868,'MAIN_AGENDA_ACTIONAUTO_MRP_MO_CANCEL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8869,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8870,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8871,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8872,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTJOBPOSITION_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8873,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_CREATE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8874,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_MODIFY',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8875,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_SENTBYMAIL',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8876,'MAIN_AGENDA_ACTIONAUTO_RECRUITMENTCANDIDATURE_DELETE',1,'1','chaine',0,'','2021-04-15 13:32:12'),(8877,'AGENDA_REMINDER_BROWSER',1,'1','chaine',0,'','2021-04-15 13:32:29'),(8878,'MAIN_MODULE_ACCOUNTING',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:45'),(8879,'MAIN_MODULE_AGENDA',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:45'),(8880,'MAIN_MODULE_BOM',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8881,'MAIN_MODULE_BANQUE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8882,'MAIN_MODULE_BARCODE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8883,'MAIN_MODULE_CRON',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8884,'MAIN_MODULE_COMMANDE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8885,'MAIN_MODULE_DON',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8886,'MAIN_MODULE_ECM',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8887,'MAIN_MODULE_EXPENSEREPORT',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8888,'MAIN_MODULE_FACTURE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8889,'MAIN_MODULE_FOURNISSEUR',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8890,'MAIN_MODULE_HOLIDAY',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:46'),(8891,'MAIN_MODULE_MARGIN',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8894,'MAIN_MODULE_MRP',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8895,'MAIN_MODULE_MRP_TRIGGERS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8896,'MAIN_MODULE_MRP_LOGIN',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8897,'MAIN_MODULE_MRP_SUBSTITUTIONS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8898,'MAIN_MODULE_MRP_MENUS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8899,'MAIN_MODULE_MRP_TPL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8900,'MAIN_MODULE_MRP_BARCODE',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8901,'MAIN_MODULE_MRP_MODELS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8902,'MAIN_MODULE_MRP_THEME',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8903,'MAIN_MODULE_MRP_MODULEFOREXTERNAL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8904,'MAIN_MODULE_OPENSURVEY',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8905,'MAIN_MODULE_PRINTING',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8906,'MAIN_MODULE_RECRUITMENT',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8907,'MAIN_MODULE_RECRUITMENT_TRIGGERS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8908,'MAIN_MODULE_RECRUITMENT_LOGIN',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8909,'MAIN_MODULE_RECRUITMENT_SUBSTITUTIONS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8910,'MAIN_MODULE_RECRUITMENT_MENUS',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8911,'MAIN_MODULE_RECRUITMENT_TPL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8912,'MAIN_MODULE_RECRUITMENT_BARCODE',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8913,'MAIN_MODULE_RECRUITMENT_MODELS',1,'1','chaine',0,NULL,'2021-07-11 17:49:47'),(8914,'MAIN_MODULE_RECRUITMENT_THEME',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8915,'MAIN_MODULE_RECRUITMENT_MODULEFOREXTERNAL',1,'0','chaine',0,NULL,'2021-07-11 17:49:47'),(8916,'MAIN_MODULE_RESOURCE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8917,'MAIN_MODULE_SALARIES',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8918,'MAIN_MODULE_SERVICE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8919,'MAIN_MODULE_SYSLOG',0,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8920,'MAIN_MODULE_SOCIETE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8921,'MAIN_MODULE_STRIPE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8922,'MAIN_MODULE_TICKET',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:47'),(8923,'MAIN_MODULE_TICKET_TABS_0',1,'thirdparty:+ticket:Tickets:@ticket:$user->rights->ticket->read:/ticket/list.php?socid=__ID__','chaine',0,NULL,'2021-07-11 17:49:47'),(8924,'MAIN_MODULE_TICKET_TABS_1',1,'project:+ticket:Tickets:@ticket:$user->rights->ticket->read:/ticket/list.php?projectid=__ID__','chaine',0,NULL,'2021-07-11 17:49:47'),(8925,'MAIN_MODULE_TICKET_TRIGGERS',1,'1','chaine',0,NULL,'2021-07-11 17:49:47'),(8926,'TAKEPOS_PRINT_METHOD',1,'browser','chaine',0,'','2021-07-11 17:49:47'),(8927,'MAIN_MODULE_TAKEPOS',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8928,'MAIN_MODULE_TAKEPOS_TRIGGERS',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8929,'MAIN_MODULE_TAKEPOS_LOGIN',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8930,'MAIN_MODULE_TAKEPOS_SUBSTITUTIONS',1,'1','chaine',0,NULL,'2021-07-11 17:49:48'),(8931,'MAIN_MODULE_TAKEPOS_MENUS',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8932,'MAIN_MODULE_TAKEPOS_THEME',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8933,'MAIN_MODULE_TAKEPOS_TPL',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8934,'MAIN_MODULE_TAKEPOS_BARCODE',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8935,'MAIN_MODULE_TAKEPOS_MODELS',1,'0','chaine',0,NULL,'2021-07-11 17:49:48'),(8936,'MAIN_MODULE_USER',0,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8937,'MAIN_MODULE_VARIANTS',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8938,'MAIN_MODULE_WEBSITE',1,'1','string',0,'{\"authorid\":0,\"ip\":\"127.0.0.1\"}','2021-07-11 17:49:48'),(8939,'MAIN_VERSION_LAST_UPGRADE',0,'14.0.0','chaine',0,'Dolibarr version for last upgrade','2021-07-11 17:49:49'),(8941,'MAIN_FIRST_PING_OK_DATE',1,'20210711174950','chaine',0,'','2021-07-11 17:49:50'),(8942,'MAIN_FIRST_PING_OK_ID',1,'9646d6c55a34bca208868c98dac4678b','chaine',0,'','2021-07-11 17:49:50'); /*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; UNLOCK TABLES; @@ -5206,7 +4930,7 @@ CREATE TABLE `llx_cronjob` ( `test` varchar(255) COLLATE utf8_unicode_ci DEFAULT '1', `processing` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5215,38 +4939,10 @@ CREATE TABLE `llx_cronjob` ( LOCK TABLES `llx_cronjob` WRITE; /*!40000 ALTER TABLE `llx_cronjob` DISABLE KEYS */; -INSERT INTO `llx_cronjob` VALUES (1,'2015-03-23 18:18:39','2015-03-23 19:18:39','command','aaa','aaaa','','','','','','',0,NULL,NULL,'2015-03-23 19:18:00',NULL,NULL,NULL,NULL,'3600',3600,0,0,1,1,'',NULL,0,0,0,NULL,'1',0),(40,'2018-11-23 11:58:15','2018-11-23 12:58:15','method','SendEmailsReminders',NULL,'comm/action/class/actioncomm.class.php','ActionComm','sendEmailsReminder',NULL,NULL,'agenda',10,NULL,NULL,'2018-11-23 12:58:15',NULL,NULL,NULL,NULL,'60',10,NULL,1,NULL,NULL,'SendEMailsReminder',NULL,1,0,0,NULL,'$conf->agenda->enabled',0),(41,'2018-11-23 11:58:16','2018-11-23 12:58:16','method','PurgeDeleteTemporaryFilesShort',NULL,'core/class/utils.class.php','Utils','purgeFiles',NULL,NULL,'cron',50,NULL,NULL,'2018-11-23 12:58:16',NULL,NULL,NULL,NULL,'604800',2,NULL,1,NULL,NULL,'PurgeDeleteTemporaryFiles',NULL,0,0,0,NULL,'1',0),(42,'2020-01-15 15:43:12','2018-11-23 12:58:16','method','MakeLocalDatabaseDumpShort',NULL,'core/class/utils.class.php','Utils','dumpDatabase','none,auto,1,auto,10',NULL,'cron',90,'2020-01-15 19:43:12','2020-01-17 12:58:16','2018-11-23 12:58:16',NULL,'2020-01-15 19:43:12','-1','Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.\nFailed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.','604800',1,2,1,NULL,12,'MakeLocalDatabaseDump',NULL,0,0,0,NULL,'1',0),(43,'2018-11-23 11:58:17','2018-11-23 12:58:17','method','RecurringInvoices',NULL,'compta/facture/class/facture-rec.class.php','FactureRec','createRecurringInvoices',NULL,NULL,'facture',50,NULL,NULL,'2018-11-23 23:00:00',NULL,NULL,NULL,NULL,'86400',1,NULL,1,NULL,NULL,'Generate recurring invoices',NULL,1,0,0,NULL,'$conf->facture->enabled',0),(45,'2020-01-01 12:00:34','2020-01-01 16:00:34','method','MyJob label',NULL,'/captureserver/class/myobject.class.php','MyObject','doScheduledJob',NULL,NULL,'captureserver',0,NULL,NULL,'2020-01-01 16:00:34',NULL,NULL,NULL,NULL,'3600',2,NULL,0,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->captureserver->enabled',0),(46,'2020-01-12 20:13:55','2020-01-13 00:13:55','method','Email collector',NULL,'/emailcollector/class/emailcollector.class.php','EmailCollector','doCollect',NULL,NULL,'emailcollector',50,NULL,NULL,'2020-01-13 00:13:55',NULL,NULL,NULL,NULL,'60',5,NULL,1,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->emailcollector->enabled',0),(47,'2021-04-15 10:34:00','2021-04-15 07:34:00','method','CompressSyslogs',NULL,'core/class/utils.class.php','Utils','compressSyslogs',NULL,NULL,'syslog',50,NULL,NULL,'2021-04-15 07:34:00',NULL,NULL,NULL,NULL,'86400',1,NULL,0,NULL,NULL,'Compress and archive log files. The number of versions to keep is defined into the setup of module. Warning: Main application cron script must be run with same account than your web server to avoid to get log files with different owner than required by web server. Another solution is to set web server Operating System group as the group of directory documents and set GROUP permission \"rws\" on this directory so log files will always have the group and permissions of the web server Operating System group.',NULL,1,0,0,NULL,'1',0); +INSERT INTO `llx_cronjob` VALUES (1,'2015-03-23 18:18:39','2015-03-23 19:18:39','command','aaa','aaaa','','','','','','',0,NULL,NULL,'2015-03-23 19:18:00',NULL,NULL,NULL,NULL,'3600',3600,0,0,1,1,'',NULL,0,0,0,NULL,'1',0),(40,'2018-11-23 11:58:15','2018-11-23 12:58:15','method','SendEmailsReminders',NULL,'comm/action/class/actioncomm.class.php','ActionComm','sendEmailsReminder',NULL,NULL,'agenda',10,NULL,NULL,'2018-11-23 12:58:15',NULL,NULL,NULL,NULL,'60',10,NULL,1,NULL,NULL,'SendEMailsReminder',NULL,1,0,0,NULL,'$conf->agenda->enabled',0),(41,'2018-11-23 11:58:16','2018-11-23 12:58:16','method','PurgeDeleteTemporaryFilesShort',NULL,'core/class/utils.class.php','Utils','purgeFiles',NULL,NULL,'cron',50,NULL,NULL,'2018-11-23 12:58:16',NULL,NULL,NULL,NULL,'604800',2,NULL,1,NULL,NULL,'PurgeDeleteTemporaryFiles',NULL,0,0,0,NULL,'1',0),(42,'2020-01-15 15:43:12','2018-11-23 12:58:16','method','MakeLocalDatabaseDumpShort',NULL,'core/class/utils.class.php','Utils','dumpDatabase','none,auto,1,auto,10',NULL,'cron',90,'2020-01-15 19:43:12','2020-01-17 12:58:16','2018-11-23 12:58:16',NULL,'2020-01-15 19:43:12','-1','Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.\nFailed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir.','604800',1,2,1,NULL,12,'MakeLocalDatabaseDump',NULL,0,0,0,NULL,'1',0),(43,'2018-11-23 11:58:17','2018-11-23 12:58:17','method','RecurringInvoices',NULL,'compta/facture/class/facture-rec.class.php','FactureRec','createRecurringInvoices',NULL,NULL,'facture',50,NULL,NULL,'2018-11-23 23:00:00',NULL,NULL,NULL,NULL,'86400',1,NULL,1,NULL,NULL,'Generate recurring invoices',NULL,1,0,0,NULL,'$conf->facture->enabled',0),(45,'2020-01-01 12:00:34','2020-01-01 16:00:34','method','MyJob label',NULL,'/captureserver/class/myobject.class.php','MyObject','doScheduledJob',NULL,NULL,'captureserver',0,NULL,NULL,'2020-01-01 16:00:34',NULL,NULL,NULL,NULL,'3600',2,NULL,0,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->captureserver->enabled',0),(46,'2020-01-12 20:13:55','2020-01-13 00:13:55','method','Email collector',NULL,'/emailcollector/class/emailcollector.class.php','EmailCollector','doCollect',NULL,NULL,'emailcollector',50,NULL,NULL,'2020-01-13 00:13:55',NULL,NULL,NULL,NULL,'60',5,NULL,1,NULL,NULL,'Comment',NULL,1,0,0,NULL,'$conf->emailcollector->enabled',0),(47,'2021-04-15 10:34:00','2021-04-15 07:34:00','method','CompressSyslogs',NULL,'core/class/utils.class.php','Utils','compressSyslogs',NULL,NULL,'syslog',50,NULL,NULL,'2021-04-15 07:34:00',NULL,NULL,NULL,NULL,'86400',1,NULL,0,NULL,NULL,'Compress and archive log files. The number of versions to keep is defined into the setup of module. Warning: Main application cron script must be run with same account than your web server to avoid to get log files with different owner than required by web server. Another solution is to set web server Operating System group as the group of directory documents and set GROUP permission \"rws\" on this directory so log files will always have the group and permissions of the web server Operating System group.',NULL,1,0,0,NULL,'1',0),(48,'2021-07-11 17:49:46','2021-07-11 19:49:46','method','SendEmailsRemindersOnInvoiceDueDate',NULL,'compta/facture/class/facture.class.php','Facture','sendEmailsRemindersOnInvoiceDueDate','10,all,EmailTemplateCode',NULL,'facture',50,NULL,NULL,'2021-07-11 23:00:00',NULL,NULL,NULL,NULL,'86400',1,NULL,0,NULL,NULL,'Send an emails when the unpaid invoices reach a due date + n days = today. First param is the offset n of days, second parameter is \"all\" or a payment mode code, last paramater is the code of email template to use (an email template with EmailTemplateCode must exists. the version in the language of the thirdparty will be used in priority).',NULL,1,0,0,NULL,'$conf->facture->enabled',0); /*!40000 ALTER TABLE `llx_cronjob` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_cv_recrutement` --- - -DROP TABLE IF EXISTS `llx_cv_recrutement`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_cv_recrutement` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `nom` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `fichier` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `poste` int(11) DEFAULT NULL, - `candidature` int(11) DEFAULT NULL, - `type` varchar(20) CHARACTER SET utf8mb4 DEFAULT NULL, - `date` date DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_cv_recrutement` --- - -LOCK TABLES `llx_cv_recrutement` WRITE; -/*!40000 ALTER TABLE `llx_cv_recrutement` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_cv_recrutement` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_default_values` -- @@ -5414,31 +5110,6 @@ LOCK TABLES `llx_deliverydet_extrafields` WRITE; /*!40000 ALTER TABLE `llx_deliverydet_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_departements` --- - -DROP TABLE IF EXISTS `llx_departements`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_departements` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(355) CHARACTER SET utf8mb4 DEFAULT NULL, - `gestionnaire` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - KEY `gestionnaire` (`gestionnaire`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_departements` --- - -LOCK TABLES `llx_departements` WRITE; -/*!40000 ALTER TABLE `llx_departements` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_departements` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_deplacement` -- @@ -5478,70 +5149,6 @@ INSERT INTO `llx_deplacement` VALUES (1,NULL,1,'2012-07-09 01:58:04','2012-07-08 /*!40000 ALTER TABLE `llx_deplacement` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_dispatch` --- - -DROP TABLE IF EXISTS `llx_dispatch`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_dispatch` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_object` int(11) NOT NULL DEFAULT 0, - `type_object` varchar(30) CHARACTER SET latin1 DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_object` (`fk_object`), - KEY `type_object` (`type_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_dispatch` --- - -LOCK TABLES `llx_dispatch` WRITE; -/*!40000 ALTER TABLE `llx_dispatch` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_dispatch` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_dispatch_asset` --- - -DROP TABLE IF EXISTS `llx_dispatch_asset`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_dispatch_asset` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_object` int(11) NOT NULL DEFAULT 0, - `fk_dispatch` int(11) NOT NULL DEFAULT 0, - `fk_asset` int(11) NOT NULL DEFAULT 0, - `type_object` varchar(30) CHARACTER SET latin1 DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_object` (`fk_object`), - KEY `fk_dispatch` (`fk_dispatch`), - KEY `fk_asset` (`fk_asset`), - KEY `type_object` (`type_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_dispatch_asset` --- - -LOCK TABLES `llx_dispatch_asset` WRITE; -/*!40000 ALTER TABLE `llx_dispatch_asset` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_dispatch_asset` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_document_model` -- @@ -5558,7 +5165,7 @@ CREATE TABLE `llx_document_model` ( `description` text COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_document_model` (`nom`,`type`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=402 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=410 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5567,7 +5174,7 @@ CREATE TABLE `llx_document_model` ( LOCK TABLES `llx_document_model` WRITE; /*!40000 ALTER TABLE `llx_document_model` DISABLE KEYS */; -INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(281,'sepamandate',1,'bankaccount','sepamandate',NULL),(299,'standard',1,'member',NULL,NULL),(319,'generic_bom_odt',1,'bom','ODT templates','BOM_ADDON_PDF_ODT_PATH'),(320,'generic_mo_odt',1,'mrp','ODT templates','MRP_MO_ADDON_PDF_ODT_PATH'),(366,'generic_user_odt',1,'user',NULL,NULL),(367,'generic_usergroup_odt',1,'group',NULL,NULL),(370,'aurore',1,'supplier_proposal',NULL,NULL),(371,'rouget',1,'shipping',NULL,NULL),(372,'typhon',1,'delivery',NULL,NULL),(393,'squille',1,'reception',NULL,NULL),(394,'einstein',1,'order',NULL,NULL),(395,'html_cerfafr',1,'donation',NULL,NULL),(396,'standard',1,'expensereport',NULL,NULL),(397,'crabe',1,'invoice',NULL,NULL),(398,'muscadet',1,'order_supplier',NULL,NULL),(399,'standard_recruitmentjobposition',1,'recruitmentjobposition',NULL,NULL),(400,'generic_recruitmentjobposition_odt',1,'recruitmentjobposition',NULL,NULL),(401,'TICKET_ADDON_PDF_ODT_PATH',1,'ticket',NULL,NULL); +INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(281,'sepamandate',1,'bankaccount','sepamandate',NULL),(299,'standard',1,'member',NULL,NULL),(319,'generic_bom_odt',1,'bom','ODT templates','BOM_ADDON_PDF_ODT_PATH'),(320,'generic_mo_odt',1,'mrp','ODT templates','MRP_MO_ADDON_PDF_ODT_PATH'),(366,'generic_user_odt',1,'user',NULL,NULL),(367,'generic_usergroup_odt',1,'group',NULL,NULL),(370,'aurore',1,'supplier_proposal',NULL,NULL),(371,'rouget',1,'shipping',NULL,NULL),(372,'typhon',1,'delivery',NULL,NULL),(393,'squille',1,'reception',NULL,NULL),(402,'einstein',1,'order',NULL,NULL),(403,'html_cerfafr',1,'donation',NULL,NULL),(404,'standard',1,'expensereport',NULL,NULL),(405,'crabe',1,'invoice',NULL,NULL),(406,'muscadet',1,'order_supplier',NULL,NULL),(407,'standard_recruitmentjobposition',1,'recruitmentjobposition',NULL,NULL),(408,'generic_recruitmentjobposition_odt',1,'recruitmentjobposition',NULL,NULL),(409,'TICKET_ADDON_PDF_ODT_PATH',1,'ticket',NULL,NULL); /*!40000 ALTER TABLE `llx_document_model` ENABLE KEYS */; UNLOCK TABLES; @@ -5705,10 +5312,10 @@ CREATE TABLE `llx_ecm_directories_extrafields` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `fk_object` int(11) NOT NULL, - `import_key` varchar(14) DEFAULT NULL, + `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_ecm_directories_extrafields` (`fk_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5779,10 +5386,10 @@ CREATE TABLE `llx_ecm_files_extrafields` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `fk_object` int(11) NOT NULL, - `import_key` varchar(14) DEFAULT NULL, + `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_ecm_files_extrafields` (`fk_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5855,33 +5462,6 @@ INSERT INTO `llx_element_element` VALUES (4,1,'order_supplier',20,'invoice_suppl /*!40000 ALTER TABLE `llx_element_element` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_element_lock` --- - -DROP TABLE IF EXISTS `llx_element_lock`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_element_lock` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_element` int(11) NOT NULL, - `elementtype` varchar(32) COLLATE utf8_unicode_ci NOT NULL, - `datel` datetime DEFAULT NULL, - `datem` datetime DEFAULT NULL, - `sessionid` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_element_lock` --- - -LOCK TABLES `llx_element_lock` WRITE; -/*!40000 ALTER TABLE `llx_element_lock` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_element_lock` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_element_resources` -- @@ -6042,70 +5622,6 @@ INSERT INTO `llx_emailcollector_emailcollectorfilter` VALUES (21,3,'withouttrack /*!40000 ALTER TABLE `llx_emailcollector_emailcollectorfilter` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_emailsenderprofile` --- - -DROP TABLE IF EXISTS `llx_emailsenderprofile`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_emailsenderprofile` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(64) COLLATE utf8_unicode_ci NOT NULL, - `entity` int(11) NOT NULL DEFAULT 1, - `label` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `amount` double(24,8) DEFAULT NULL, - `note_public` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, - `note_private` mediumtext COLLATE utf8_unicode_ci DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) NOT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - `status` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_emailsenderprofile_rowid` (`rowid`), - KEY `idx_emailsenderprofile_ref` (`ref`), - KEY `idx_emailsenderprofile_entity` (`entity`), - KEY `idx_emailsenderprofile_import_key` (`import_key`), - KEY `idx_emailsenderprofile_status` (`status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_emailsenderprofile` --- - -LOCK TABLES `llx_emailsenderprofile` WRITE; -/*!40000 ALTER TABLE `llx_emailsenderprofile` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_emailsenderprofile` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_emailsenderprofile_extrafields` --- - -DROP TABLE IF EXISTS `llx_emailsenderprofile_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_emailsenderprofile_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_emailsenderprofile_extrafields` --- - -LOCK TABLES `llx_emailsenderprofile_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_emailsenderprofile_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_emailsenderprofile_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_entrepot` -- @@ -6215,55 +5731,6 @@ LOCK TABLES `llx_establishment` WRITE; /*!40000 ALTER TABLE `llx_establishment` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_etapescandidature` --- - -DROP TABLE IF EXISTS `llx_etapescandidature`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_etapescandidature` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `color` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_etapescandidature` --- - -LOCK TABLES `llx_etapescandidature` WRITE; -/*!40000 ALTER TABLE `llx_etapescandidature` DISABLE KEYS */; -INSERT INTO `llx_etapescandidature` VALUES (1,'Qualification_initiale','#DBE270'),(2,'Premier_entretien','#F59A9A'),(3,'Second_entretien','#62B0F7'),(4,'Proposition_contrat','#FFB164'),(5,'Contrat_signe','#59D859'); -/*!40000 ALTER TABLE `llx_etapescandidature` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_etiquettes` --- - -DROP TABLE IF EXISTS `llx_etiquettes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_etiquettes` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `color` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_etiquettes` --- - -LOCK TABLES `llx_etiquettes` WRITE; -/*!40000 ALTER TABLE `llx_etiquettes` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_etiquettes` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_event_element` -- @@ -6362,140 +5829,6 @@ LOCK TABLES `llx_eventorganization_conferenceorboothattendee_extrafields` WRITE; /*!40000 ALTER TABLE `llx_eventorganization_conferenceorboothattendee_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_eventorganizer_attendee` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_attendee`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_attendee` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '(PROV)', - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `amount` double(24,8) DEFAULT NULL, - `qty` double DEFAULT NULL, - `fk_soc` int(11) DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_public` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_private` text CHARACTER SET utf8mb4 DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) NOT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - `status` int(11) NOT NULL, - `fk_eventorganizer` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_eventorganizer_attendee_rowid` (`rowid`), - KEY `idx_eventorganizer_attendee_ref` (`ref`), - KEY `idx_eventorganizer_attendee_fk_soc` (`fk_soc`), - KEY `idx_eventorganizer_attendee_status` (`status`), - KEY `idx_eventorganizer_attendee_fk_eventorganizer` (`fk_eventorganizer`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_attendee` --- - -LOCK TABLES `llx_eventorganizer_attendee` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_eventorganizer_attendee_extrafields` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_attendee_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_attendee_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_attendee_extrafields` --- - -LOCK TABLES `llx_eventorganizer_attendee_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_attendee_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_eventorganizer_organizedevent` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_organizedevent`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_organizedevent` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(128) CHARACTER SET utf8mb4 NOT NULL DEFAULT '(PROV)', - `entity` int(11) NOT NULL DEFAULT 1, - `label` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - `amount` double(24,8) DEFAULT NULL, - `qty` double DEFAULT NULL, - `fk_soc` int(11) DEFAULT NULL, - `description` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_public` text CHARACTER SET utf8mb4 DEFAULT NULL, - `note_private` text CHARACTER SET utf8mb4 DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_user_creat` int(11) NOT NULL, - `fk_user_modif` int(11) DEFAULT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - `status` int(11) NOT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_eventorganizer_organizedevent_rowid` (`rowid`), - KEY `idx_eventorganizer_organizedevent_ref` (`ref`), - KEY `idx_eventorganizer_organizedevent_entity` (`entity`), - KEY `idx_eventorganizer_organizedevent_fk_soc` (`fk_soc`), - KEY `idx_eventorganizer_organizedevent_status` (`status`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_organizedevent` --- - -LOCK TABLES `llx_eventorganizer_organizedevent` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_eventorganizer_organizedevent_extrafields` --- - -DROP TABLE IF EXISTS `llx_eventorganizer_organizedevent_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_eventorganizer_organizedevent_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_eventorganizer_organizedevent_extrafields` --- - -LOCK TABLES `llx_eventorganizer_organizedevent_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_eventorganizer_organizedevent_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_events` -- @@ -6625,34 +5958,6 @@ LOCK TABLES `llx_expedition_extrafields` WRITE; /*!40000 ALTER TABLE `llx_expedition_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_expedition_methode` --- - -DROP TABLE IF EXISTS `llx_expedition_methode`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_expedition_methode` ( - `rowid` int(11) NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `code` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - `libelle` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `description` text COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) DEFAULT 0, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_expedition_methode` --- - -LOCK TABLES `llx_expedition_methode` WRITE; -/*!40000 ALTER TABLE `llx_expedition_methode` DISABLE KEYS */; -INSERT INTO `llx_expedition_methode` VALUES (1,'2012-07-08 11:18:00','CATCH','Catch','Catch by client',1),(2,'2012-07-08 11:18:00','TRANS','Transporter','Generic transporter',1),(3,'2012-07-08 11:18:01','COLSUI','Colissimo Suivi','Colissimo Suivi',0); -/*!40000 ALTER TABLE `llx_expedition_methode` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_expedition_package` -- @@ -6719,46 +6024,6 @@ INSERT INTO `llx_expeditiondet` VALUES (1,1,10,3,1,0),(2,2,226,19,2,0); /*!40000 ALTER TABLE `llx_expeditiondet` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_expeditiondet_asset` --- - -DROP TABLE IF EXISTS `llx_expeditiondet_asset`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_expeditiondet_asset` ( - `rowid` int(11) NOT NULL DEFAULT 0, - `date_cre` datetime DEFAULT NULL, - `date_maj` datetime DEFAULT NULL, - `fk_expeditiondet` int(11) NOT NULL DEFAULT 0, - `fk_asset` int(11) NOT NULL DEFAULT 0, - `rang` int(11) NOT NULL DEFAULT 0, - `lot_number` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `carton` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `numerosuivi` varchar(255) CHARACTER SET latin1 DEFAULT NULL, - `weight` double NOT NULL DEFAULT 0, - `weight_reel` double NOT NULL DEFAULT 0, - `tare` double NOT NULL DEFAULT 0, - `weight_unit` int(11) NOT NULL DEFAULT 0, - `weight_reel_unit` int(11) NOT NULL DEFAULT 0, - `tare_unit` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`), - KEY `date_cre` (`date_cre`), - KEY `date_maj` (`date_maj`), - KEY `fk_expeditiondet` (`fk_expeditiondet`), - KEY `fk_asset` (`fk_asset`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_expeditiondet_asset` --- - -LOCK TABLES `llx_expeditiondet_asset` WRITE; -/*!40000 ALTER TABLE `llx_expeditiondet_asset` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_expeditiondet_asset` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_expeditiondet_batch` -- @@ -6858,6 +6123,7 @@ CREATE TABLE `llx_expensereport` ( `integration_compta` int(11) DEFAULT NULL, `fk_bank_account` int(11) DEFAULT NULL, `model_pdf` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `last_main_doc` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `fk_multicurrency` int(11) DEFAULT NULL, `multicurrency_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `multicurrency_tx` double(24,8) DEFAULT 1.00000000, @@ -6885,7 +6151,7 @@ CREATE TABLE `llx_expensereport` ( LOCK TABLES `llx_expensereport` WRITE; /*!40000 ALTER TABLE `llx_expensereport` DISABLE KEYS */; -INSERT INTO `llx_expensereport` VALUES (1,'ADMIN-ER00002-150101',1,2,NULL,8.33000000,1.67000000,0.00000000,0.00000000,10.00000000,'2021-01-01','2021-01-03','2021-01-22 19:03:37','2021-01-22 19:06:50','2021-02-16 02:12:40',NULL,NULL,'2021-04-15 10:22:31',12,NULL,12,12,12,NULL,NULL,5,NULL,0,'Holidays',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(2,'ER1912-0001',1,NULL,NULL,141.67000000,28.33000000,0.00000000,0.00000000,170.00000000,'2021-02-01','2021-02-28','2021-01-22 19:04:44','2021-12-20 20:34:13','2021-12-20 20:34:19',NULL,'2021-12-21 00:34:26','2021-04-15 10:22:31',12,12,12,12,12,NULL,12,4,NULL,0,'Work on projet X','','','aaaa',NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(3,'(PROV3)',1,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'2021-02-02','2021-02-02','2021-02-02 03:57:03','2021-02-02 00:00:00',NULL,NULL,NULL,'2021-04-15 10:22:31',19,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL); +INSERT INTO `llx_expensereport` VALUES (1,'ADMIN-ER00002-150101',1,2,NULL,8.33000000,1.67000000,0.00000000,0.00000000,10.00000000,'2021-01-01','2021-01-03','2021-01-22 19:03:37','2021-01-22 19:06:50','2021-02-16 02:12:40',NULL,NULL,'2021-04-15 10:22:31',12,NULL,12,12,12,NULL,NULL,5,NULL,0,'Holidays',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(2,'ER1912-0001',1,NULL,NULL,141.67000000,28.33000000,0.00000000,0.00000000,170.00000000,'2021-02-01','2021-02-28','2021-01-22 19:04:44','2021-12-20 20:34:13','2021-12-20 20:34:19',NULL,'2021-12-21 00:34:26','2021-04-15 10:22:31',12,12,12,12,12,NULL,12,4,NULL,0,'Work on projet X','','','aaaa',NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL),(3,'(PROV3)',1,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,'2021-02-02','2021-02-02','2021-02-02 03:57:03','2021-02-02 00:00:00',NULL,NULL,NULL,'2021-04-15 10:22:31',19,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_expensereport` ENABLE KEYS */; UNLOCK TABLES; @@ -7076,9 +6342,10 @@ CREATE TABLE `llx_export_model` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `fk_user` int(11) NOT NULL DEFAULT 0, `label` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `type` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `type` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `field` text COLLATE utf8_unicode_ci NOT NULL, `filter` text COLLATE utf8_unicode_ci DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_export_model` (`label`,`type`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -7090,7 +6357,7 @@ CREATE TABLE `llx_export_model` ( LOCK TABLES `llx_export_model` WRITE; /*!40000 ALTER TABLE `llx_export_model` DISABLE KEYS */; -INSERT INTO `llx_export_model` VALUES (1,0,'MyExport','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total,f.total_ttc,f.tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source',''),(2,11,'Export by joe','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total,f.total_ttc,f.tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source',''),(3,12,'test','societe_1','s.rowid,s.nom,s.name_alias,s.status,s.client,s.fournisseur,s.datec,s.tms,s.code_client,s.code_fournisseur,s.code_compta,s.code_compta_fournisseur,s.address,s.zip,s.town,d.nom,c.label,c.code,s.phone,s.fax,s.url,s.email,s.default_lang,s.siren,s.siret,s.ape,s.idprof4,s.idprof5,s.idprof6,s.tva_intra,s.capital,s.note_private,s.note_public,t.libelle,ce.code,cfj.libelle,s.fk_prospectlevel,st.code,payterm.libelle,paymode.libelle,s.price_level,extra.height,extra.weight,extra.prof,extra.birthdate,u.login,u.firstname,u.lastname','s.nom=%a%'); +INSERT INTO `llx_export_model` VALUES (1,0,'MyExport','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total_ht,f.total_ttc,f.total_tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source','',0),(2,11,'Export by joe','facture_2','s.rowid,s.nom,s.code_client,s.address,s.zip,s.town,c.code,cd.nom,s.phone,s.siren,s.siret,s.ape,s.idprof4,s.code_compta,s.code_compta_fournisseur,s.tva_intra,f.rowid,f.ref,f.ref_client,f.type,f.datec,f.datef,f.date_lim_reglement,f.total_ht,f.total_ttc,f.total_tva,f.localtax1,f.localtax2,none.rest,f.paye,f.fk_statut,f.note_private,f.note_public,f.fk_user_author,uc.login,f.fk_user_valid,uv.login,pj.ref,pj.title,p.rowid,p.ref,p.amount,pf.amount,p.datep,p.num_paiement,pt.code,pt.libelle,p.note,p.fk_bank,ba.ref,f.multicurrency_code,f.multicurrency_tx,f.multicurrency_total_ht,f.multicurrency_total_tva,f.multicurrency_total_ttc,f.module_source,f.pos_source','',0),(3,12,'test','societe_1','s.rowid,s.nom,s.name_alias,s.status,s.client,s.fournisseur,s.datec,s.tms,s.code_client,s.code_fournisseur,s.code_compta,s.code_compta_fournisseur,s.address,s.zip,s.town,d.nom,c.label,c.code,s.phone,s.fax,s.url,s.email,s.default_lang,s.siren,s.siret,s.ape,s.idprof4,s.idprof5,s.idprof6,s.tva_intra,s.capital,s.note_private,s.note_public,t.libelle,ce.code,cfj.libelle,s.fk_prospectlevel,st.code,payterm.libelle,paymode.libelle,s.price_level,extra.height,extra.weight,extra.prof,extra.birthdate,u.login,u.firstname,u.lastname','s.nom=%a%',0); /*!40000 ALTER TABLE `llx_export_model` ENABLE KEYS */; UNLOCK TABLES; @@ -7239,7 +6506,7 @@ CREATE TABLE `llx_facture` ( LOCK TABLES `llx_facture` WRITE; /*!40000 ALTER TABLE `llx_facture` DISABLE KEYS */; -INSERT INTO `llx_facture` VALUES (2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2012-07-10 18:20:13','2020-07-10',NULL,NULL,'2020-12-10 12:24:22',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-10',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2013-07-18 20:33:35','2020-07-18',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,NULL,1,NULL,NULL,1,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2013-08-01 03:34:11','2020-08-01',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,6,'2020-08-01',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2013-08-06 20:33:53','2020-08-06',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,4,'2020-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2013-08-08 02:41:44','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2013-08-08 02:55:14','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 17:45:20','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 18:20:14','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2014-12-09 20:04:19','2020-12-09','2020-02-12 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-09',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-24 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(33,'FA1212-0023',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'abandon',NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,3,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:35:51','2020-12-11','2020-12-12 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:22:48','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,'facture/FS1301-0001/FS1301-0001.pdf',NULL,NULL),(149,'FA1601-0024',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:30:05','2021-01-19','2020-08-29 00:00:00','2020-01-02 20:49:34','2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'other','test',1.80000000,0.90000000,0.90000000,0.00000000,20.00000000,23.60000000,2,1,NULL,12,12,NULL,NULL,NULL,NULL,0,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,20.00000000,1.80000000,23.60000000,NULL,'facture/FA1601-0024/FA1601-0024.pdf',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:10','2021-01-19','2020-10-04 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,12,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,5.00000000,0.63000000,5.63000000,NULL,'facture/FA6801-0010/FA6801-0010.pdf',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:58','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2015-03-06 16:47:48','2020-07-18','2019-03-06 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2015-03-20 14:30:11','2020-07-10','2020-03-20 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-10',NULL,NULL,'generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2015-03-22 09:40:10','2021-03-22','2020-03-02 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,17.64000000,0.00000000,0.00000000,0.40000000,340.00000000,358.04000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,3,'2021-03-22',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(213,'AV1303-0003',1,NULL,NULL,2,NULL,NULL,1,'2016-03-03 19:22:03','2021-03-03','2020-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,-1000.00000000,1,1,NULL,1,NULL,32,NULL,NULL,NULL,0,0,'2021-03-03',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(216,'(PROV216)',1,NULL,NULL,0,NULL,NULL,26,'2017-02-12 23:21:27','2021-02-12',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-02-12',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(217,'(PROV217)',1,NULL,NULL,0,NULL,NULL,1,'2017-08-31 13:26:17','2020-08-31',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.13000000,0.00000000,0.00000000,0.00000000,21.00000000,22.13000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-31',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,1,'EUR',1.00000000,21.00000000,1.13000000,22.13000000,NULL,'facture/(PROV217)/(PROV217).pdf',NULL,NULL),(218,'FA1909-0025',1,NULL,NULL,0,NULL,NULL,12,'2019-09-26 17:30:14','2020-09-26','2020-09-26 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.08000000,0.00000000,0.00000000,0.00000000,42.50000000,43.58000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,0,0,'2020-09-26',NULL,NULL,'',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,42.50000000,1.08000000,43.58000000,NULL,NULL,'takepos','1'),(219,'(PROV-POS1-0)',1,NULL,NULL,0,NULL,NULL,1,'2019-11-28 19:04:03','2020-11-28',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,5.00000000,6.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,'2020-11-28',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,5.00000000,1.00000000,6.00000000,NULL,NULL,'takepos','1'),(220,'(PROV220)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:03:17','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(221,'AC2001-0001',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:05','2021-01-16','2021-01-16 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,123.00000000,123.00000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,123.00000000,0.00000000,123.00000000,NULL,'facture/AC2001-0001/AC2001-0001.pdf',NULL,NULL),(222,'(PROV222)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:28','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(223,'(PROV223)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:32:04','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,410.00000000,410.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,410.00000000,0.00000000,410.00000000,NULL,NULL,NULL,NULL),(224,'AC2001-0002',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:33:19','2021-01-16','2021-01-16 00:00:00','2020-01-16 02:36:48','2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,20.50000000,20.50000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,20.50000000,0.00000000,20.50000000,NULL,'facture/AC2001-0002/AC2001-0002.pdf',NULL,NULL),(225,'(PROV225)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:37:48','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,389.50000000,389.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,389.50000000,0.00000000,389.50000000,NULL,'facture/(PROV225)/(PROV225).pdf',NULL,NULL),(226,'(PROV226)',1,NULL,NULL,3,NULL,NULL,11,'2020-01-19 14:20:54','2021-01-19',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,12.50000000,0.00000000,0.00000000,0.00000000,120.00000000,132.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,120.00000000,12.50000000,132.50000000,NULL,'facture/(PROV226)/(PROV226).pdf',NULL,NULL),(227,'AC2001-0003',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:22:54','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,39.20000000,0.00000000,0.00000000,0.00000000,200.00000000,239.20000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,200.00000000,39.20000000,239.20000000,NULL,'facture/AC2001-0003/AC2001-0003.pdf',NULL,NULL),(228,'AC2001-0004',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:24:49','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,1.94000000,0.00000000,0.00000000,0.00000000,48.60000000,50.54000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,48.60000000,1.94000000,50.54000000,NULL,'facture/AC2001-0004/AC2001-0004.pdf',NULL,NULL),(229,'FA1707-0026',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:17','2020-07-18','2022-01-21 00:00:00','2020-01-21 10:23:17','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1707-0026/FA1707-0026.pdf',NULL,NULL),(230,'FA1807-0027',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:28','2020-07-18','2021-01-21 00:00:00','2020-01-21 10:23:28','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1807-0027/FA1807-0027.pdf',NULL,NULL),(231,'FA1907-0028',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:49','2020-07-18','2020-01-21 00:00:00','2020-01-21 10:23:49','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1907-0028/FA1907-0028.pdf',NULL,NULL); +INSERT INTO `llx_facture` VALUES (2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2012-07-10 18:20:13','2021-07-10',NULL,NULL,'2021-07-11 17:49:28',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2021-07-10',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2013-07-18 20:33:35','2020-07-18',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,NULL,1,NULL,NULL,1,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2013-08-01 03:34:11','2020-08-01',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,6,'2020-08-01',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2013-08-06 20:33:53','2020-08-06',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,4,'2020-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2013-08-08 02:41:44','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2013-08-08 02:55:14','2020-08-08',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 17:45:20','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2014-12-08 18:20:14','2020-12-08','2020-12-08 00:00:00',NULL,'2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,NULL,1,NULL,3,NULL,NULL,NULL,0,0,'2020-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2014-12-09 20:04:19','2020-12-09','2020-02-12 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-09',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-24 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(33,'FA1212-0023',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:34:23','2020-12-11','2021-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'abandon',NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,3,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2014-12-11 09:35:51','2020-12-11','2020-12-12 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-12-11','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:22:48','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,'facture/FS1301-0001/FS1301-0001.pdf',NULL,NULL),(149,'FA1601-0024',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:30:05','2021-01-19','2020-08-29 00:00:00','2020-01-02 20:49:34','2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,'other','test',1.80000000,0.90000000,0.90000000,0.00000000,20.00000000,23.60000000,2,1,NULL,12,12,NULL,NULL,NULL,NULL,0,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,20.00000000,1.80000000,23.60000000,NULL,'facture/FA1601-0024/FA1601-0024.pdf',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:10','2021-01-19','2020-10-04 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,12,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,5.00000000,0.63000000,5.63000000,NULL,'facture/FA6801-0010/FA6801-0010.pdf',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2015-01-19 18:31:58','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,NULL,0,1,'2021-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2015-03-06 16:47:48','2020-07-18','2019-03-06 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2015-03-20 14:30:11','2021-07-10','2021-03-20 00:00:00',NULL,'2021-07-11 17:49:28',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,0,'2021-07-10',NULL,NULL,'generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2015-03-22 09:40:10','2021-03-22','2020-03-02 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,17.64000000,0.00000000,0.00000000,0.40000000,340.00000000,358.04000000,1,1,NULL,1,NULL,NULL,NULL,NULL,NULL,1,3,'2021-03-22',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(213,'AV1303-0003',1,NULL,NULL,2,NULL,NULL,1,'2016-03-03 19:22:03','2021-03-03','2020-03-03 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,-1000.00000000,1,1,NULL,1,NULL,32,NULL,NULL,NULL,0,0,'2021-03-03',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(216,'(PROV216)',1,NULL,NULL,0,NULL,NULL,26,'2017-02-12 23:21:27','2021-02-12',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-02-12',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,NULL,NULL),(217,'(PROV217)',1,NULL,NULL,0,NULL,NULL,1,'2017-08-31 13:26:17','2020-08-31',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.13000000,0.00000000,0.00000000,0.00000000,21.00000000,22.13000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2020-08-31',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,1,'EUR',1.00000000,21.00000000,1.13000000,22.13000000,NULL,'facture/(PROV217)/(PROV217).pdf',NULL,NULL),(218,'FA1909-0025',1,NULL,NULL,0,NULL,NULL,12,'2019-09-26 17:30:14','2020-09-26','2020-09-26 00:00:00',NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.08000000,0.00000000,0.00000000,0.00000000,42.50000000,43.58000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,0,0,'2020-09-26',NULL,NULL,'',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,0,'',NULL,NULL,0,'EUR',1.00000000,42.50000000,1.08000000,43.58000000,NULL,NULL,'takepos','1'),(219,'(PROV-POS1-0)',1,NULL,NULL,0,NULL,NULL,1,'2019-11-28 19:04:03','2020-11-28',NULL,NULL,'2020-12-10 12:24:22',0,0.00000000,NULL,NULL,0,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000,5.00000000,6.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,'2020-11-28',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,5.00000000,1.00000000,6.00000000,NULL,NULL,'takepos','1'),(220,'(PROV220)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:03:17','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(221,'AC2001-0001',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:05','2021-01-16','2021-01-16 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,123.00000000,123.00000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,123.00000000,0.00000000,123.00000000,NULL,'facture/AC2001-0001/AC2001-0001.pdf',NULL,NULL),(222,'(PROV222)',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:21:28','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,100.00000000,100.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,100.00000000,0.00000000,100.00000000,NULL,NULL,NULL,NULL),(223,'(PROV223)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:32:04','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,410.00000000,410.00000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,410.00000000,0.00000000,410.00000000,NULL,NULL,NULL,NULL),(224,'AC2001-0002',1,NULL,NULL,3,NULL,NULL,19,'2020-01-16 02:33:19','2021-01-16','2021-01-16 00:00:00','2020-01-16 02:36:48','2021-04-15 10:22:31',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,20.50000000,20.50000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2021-01-16',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,20.50000000,0.00000000,20.50000000,NULL,'facture/AC2001-0002/AC2001-0002.pdf',NULL,NULL),(225,'(PROV225)',1,NULL,NULL,0,NULL,NULL,19,'2020-01-16 02:37:48','2021-01-16',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,389.50000000,389.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2,0,'2021-02-15',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,389.50000000,0.00000000,389.50000000,NULL,'facture/(PROV225)/(PROV225).pdf',NULL,NULL),(226,'(PROV226)',1,NULL,NULL,3,NULL,NULL,11,'2020-01-19 14:20:54','2021-01-19',NULL,NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,12.50000000,0.00000000,0.00000000,0.00000000,120.00000000,132.50000000,0,12,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,120.00000000,12.50000000,132.50000000,NULL,'facture/(PROV226)/(PROV226).pdf',NULL,NULL),(227,'AC2001-0003',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:22:54','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,39.20000000,0.00000000,0.00000000,0.00000000,200.00000000,239.20000000,0,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,200.00000000,39.20000000,239.20000000,NULL,'facture/AC2001-0003/AC2001-0003.pdf',NULL,NULL),(228,'AC2001-0004',1,NULL,NULL,3,NULL,NULL,1,'2020-01-19 14:24:49','2021-01-19','2021-01-19 00:00:00',NULL,'2021-04-15 10:22:31',0,0.00000000,NULL,NULL,0,NULL,NULL,1.94000000,0.00000000,0.00000000,0.00000000,48.60000000,50.54000000,1,12,NULL,12,NULL,NULL,NULL,NULL,NULL,1,0,'2021-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,1,'EUR',1.00000000,48.60000000,1.94000000,50.54000000,NULL,'facture/AC2001-0004/AC2001-0004.pdf',NULL,NULL),(229,'FA1707-0026',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:17','2020-07-18','2022-01-21 00:00:00','2020-01-21 10:23:17','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1707-0026/FA1707-0026.pdf',NULL,NULL),(230,'FA1807-0027',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:28','2020-07-18','2021-01-21 00:00:00','2020-01-21 10:23:28','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1807-0027/FA1807-0027.pdf',NULL,NULL),(231,'FA1907-0028',1,NULL,NULL,0,NULL,NULL,12,'2020-01-21 10:23:49','2020-07-18','2020-01-21 00:00:00','2020-01-21 10:23:49','2020-12-10 12:24:22',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,50.00000000,50.00000000,2,12,NULL,12,12,NULL,NULL,NULL,NULL,1,0,'2020-07-18',NULL,NULL,'',NULL,NULL,NULL,NULL,0,0,NULL,0,0,'',NULL,NULL,0,'EUR',1.00000000,50.00000000,0.00000000,50.00000000,NULL,'facture/FA1907-0028/FA1907-0028.pdf',NULL,NULL); /*!40000 ALTER TABLE `llx_facture` ENABLE KEYS */; UNLOCK TABLES; @@ -7372,6 +6639,7 @@ CREATE TABLE `llx_facture_fourn_det` ( `pu_ttc` double(24,8) DEFAULT NULL, `qty` double DEFAULT NULL, `remise_percent` double DEFAULT 0, + `fk_remise_except` int(11) DEFAULT NULL, `tva_tx` double(6,3) DEFAULT NULL, `vat_src_code` varchar(10) COLLATE utf8_unicode_ci DEFAULT '', `localtax1_tx` double(6,3) DEFAULT 0.000, @@ -7399,6 +6667,7 @@ CREATE TABLE `llx_facture_fourn_det` ( `multicurrency_total_tva` double(24,8) DEFAULT 0.00000000, `multicurrency_total_ttc` double(24,8) DEFAULT 0.00000000, PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fk_remise_except` (`fk_remise_except`,`fk_facture_fourn`), KEY `idx_facture_fourn_det_fk_facture` (`fk_facture_fourn`), KEY `fk_facture_fourn_det_fk_unit` (`fk_unit`), KEY `idx_facture_fourn_det_fk_code_ventilation` (`fk_code_ventilation`), @@ -7414,7 +6683,7 @@ CREATE TABLE `llx_facture_fourn_det` ( LOCK TABLES `llx_facture_fourn_det` WRITE; /*!40000 ALTER TABLE `llx_facture_fourn_det` DISABLE KEYS */; -INSERT INTO `llx_facture_fourn_det` VALUES (44,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/04/2003 à 11/10/2003',414.00000000,495.14400000,1,0,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(45,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/10/2003 à 11/04/2004',414.00000000,495.14400000,1,0,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,104,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(46,16,NULL,NULL,NULL,NULL,'ref :sd.installation.annuel
Frais de mise en service d\'un serveur dédié pour un paiement annuel
',1.00000000,1.19600000,1,0,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(47,17,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,106,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(48,17,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,103,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(49,18,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(50,18,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(51,19,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,'',0.000,'0',0.000,'0',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(52,19,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,'',0.000,'0',0.000,'0',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(53,20,NULL,NULL,NULL,NULL,'Chips',20.00000000,23.92000000,10,0,19.600,'',0.000,'0',0.000,'0',200.00000000,39.20000000,0.00000000,0.00000000,239.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'EUR',20.00000000,200.00000000,39.20000000,239.20000000),(54,21,NULL,1,'aaa',NULL,'A beatifull pink dress',100.00000000,90.00000000,5,10,0.000,'',0.000,'0',0.000,'0',450.00000000,0.00000000,0.00000000,0.00000000,450.00000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',100.00000000,450.00000000,0.00000000,450.00000000),(78,22,NULL,1,'BK01',NULL,'A beatifull pink dress',70.00000000,78.75000000,5,0,12.500,'',0.000,'0',0.000,'0',350.00000000,43.75000000,0.00000000,0.00000000,393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(83,27,NULL,1,'BK01','Pink dress','A beatifull pink dress',-70.00000000,-78.75000000,5,0,12.500,'',0.000,'0',0.000,'0',-350.00000000,-43.75000000,0.00000000,0.00000000,-393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(84,28,NULL,1,'BK01',NULL,'A beatifull pink dress',79.16667000,89.06000000,1,0,12.500,'',0.000,'0',0.000,'0',79.17000000,9.89000000,0.00000000,0.00000000,89.06000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',79.16667000,79.17000000,9.89000000,89.06000000),(86,30,NULL,NULL,'',NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',-1.00000000,-1.20000000,1,0,19.600,'',0.000,'0',0.000,'0',-1.00000000,-0.20000000,0.00000000,0.00000000,-1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(87,30,NULL,NULL,'',NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',-25.00000000,-29.90000000,1,0,19.600,'',0.000,'0',0.000,'0',-25.00000000,-4.90000000,0.00000000,0.00000000,-29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(89,22,NULL,2,'BKPEARPIE',NULL,'',7.00000000,7.00000000,1,0,0.000,'',0.000,'0',0.000,'0',7.00000000,0.00000000,0.00000000,0.00000000,7.00000000,0,NULL,NULL,0,NULL,0,0,3,NULL,1,'EUR',7.00000000,7.00000000,0.00000000,7.00000000); +INSERT INTO `llx_facture_fourn_det` VALUES (44,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/04/2003 à 11/10/2003',414.00000000,495.14400000,1,0,NULL,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(45,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/10/2003 à 11/04/2004',414.00000000,495.14400000,1,0,NULL,19.600,'',0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,104,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(46,16,NULL,NULL,NULL,NULL,'ref :sd.installation.annuel
Frais de mise en service d\'un serveur dédié pour un paiement annuel
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,105,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(47,17,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,106,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(48,17,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,NULL,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,103,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(49,18,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(50,18,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,NULL,19.600,'',0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(51,19,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(52,19,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(53,20,NULL,NULL,NULL,NULL,'Chips',20.00000000,23.92000000,10,0,NULL,19.600,'',0.000,'0',0.000,'0',200.00000000,39.20000000,0.00000000,0.00000000,239.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'EUR',20.00000000,200.00000000,39.20000000,239.20000000),(54,21,NULL,1,'aaa',NULL,'A beatifull pink dress',100.00000000,90.00000000,5,10,NULL,0.000,'',0.000,'0',0.000,'0',450.00000000,0.00000000,0.00000000,0.00000000,450.00000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',100.00000000,450.00000000,0.00000000,450.00000000),(78,22,NULL,1,'BK01',NULL,'A beatifull pink dress',70.00000000,78.75000000,5,0,NULL,12.500,'',0.000,'0',0.000,'0',350.00000000,43.75000000,0.00000000,0.00000000,393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(83,27,NULL,1,'BK01','Pink dress','A beatifull pink dress',-70.00000000,-78.75000000,5,0,NULL,12.500,'',0.000,'0',0.000,'0',-350.00000000,-43.75000000,0.00000000,0.00000000,-393.75000000,0,NULL,NULL,0,NULL,0,0,2,NULL,1,'EUR',70.00000000,350.00000000,43.75000000,393.75000000),(84,28,NULL,1,'BK01',NULL,'A beatifull pink dress',79.16667000,89.06000000,1,0,NULL,12.500,'',0.000,'0',0.000,'0',79.17000000,9.89000000,0.00000000,0.00000000,89.06000000,0,NULL,NULL,0,NULL,0,0,1,NULL,1,'EUR',79.16667000,79.17000000,9.89000000,89.06000000),(86,30,NULL,NULL,'',NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',-1.00000000,-1.20000000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',-1.00000000,-0.20000000,0.00000000,0.00000000,-1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(87,30,NULL,NULL,'',NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',-25.00000000,-29.90000000,1,0,NULL,19.600,'',0.000,'0',0.000,'0',-25.00000000,-4.90000000,0.00000000,0.00000000,-29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,0,'',0.00000000,0.00000000,0.00000000,0.00000000),(89,22,NULL,2,'BKPEARPIE',NULL,'',7.00000000,7.00000000,1,0,NULL,0.000,'',0.000,'0',0.000,'0',7.00000000,0.00000000,0.00000000,0.00000000,7.00000000,0,NULL,NULL,0,NULL,0,0,3,NULL,1,'EUR',7.00000000,7.00000000,0.00000000,7.00000000); /*!40000 ALTER TABLE `llx_facture_fourn_det` ENABLE KEYS */; UNLOCK TABLES; @@ -8175,8 +7444,9 @@ CREATE TABLE `llx_import_model` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, `fk_user` int(11) NOT NULL DEFAULT 0, `label` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `type` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `type` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `field` text COLLATE utf8_unicode_ci NOT NULL, + `entity` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_import_model` (`label`,`type`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -8188,7 +7458,7 @@ CREATE TABLE `llx_import_model` ( LOCK TABLES `llx_import_model` WRITE; /*!40000 ALTER TABLE `llx_import_model` DISABLE KEYS */; -INSERT INTO `llx_import_model` VALUES (1,12,'Import profile 1','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut'),(3,0,'Import profile 2','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut'); +INSERT INTO `llx_import_model` VALUES (1,12,'Import profile 1','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut',0),(3,0,'Import profile 2','user_1','1=u.login,2=u.lastname,3=u.firstname,4=u.employee,5=u.job,6=u.gender,7=u.accountancy_code,8=u.pass_crypted,9=u.admin,10=u.fk_soc,11=u.address,12=u.zip,13=u.town,14=u.fk_state,15=u.fk_country,16=u.office_phone,17=u.user_mobile,18=u.office_fax,19=u.email,20=u.note,21=u.signature,22=u.fk_user,23=u.thm,24=u.tjm,25=u.weeklyhours,26=u.dateemployment,27=u.salary,28=u.color,29=u.api_key,30=u.birth,31=u.datec,32=u.statut',0); /*!40000 ALTER TABLE `llx_import_model` ENABLE KEYS */; UNLOCK TABLES; @@ -8201,17 +7471,17 @@ DROP TABLE IF EXISTS `llx_intracommreport`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `llx_intracommreport` ( `rowid` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(30) NOT NULL, + `ref` varchar(30) CHARACTER SET utf8mb4 NOT NULL, `entity` int(11) NOT NULL DEFAULT 1, - `type_declaration` varchar(32) DEFAULT NULL, - `period` varchar(32) DEFAULT NULL, - `mode` varchar(32) DEFAULT NULL, - `content_xml` text DEFAULT NULL, - `type_export` varchar(10) DEFAULT NULL, + `type_declaration` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL, + `period` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL, + `mode` varchar(32) CHARACTER SET utf8mb4 DEFAULT NULL, + `content_xml` text CHARACTER SET utf8mb4 DEFAULT NULL, + `type_export` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL, `datec` datetime DEFAULT NULL, `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8270,31 +7540,6 @@ INSERT INTO `llx_inventory` VALUES (1,'aaa',1,NULL,NULL,'aa aaa',0,'2020-01-10 0 /*!40000 ALTER TABLE `llx_inventory` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_inventory_extrafields` --- - -DROP TABLE IF EXISTS `llx_inventory_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_inventory_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_inventory_extrafields` --- - -LOCK TABLES `llx_inventory_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_inventory_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_inventory_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_inventorydet` -- @@ -8330,6 +7575,68 @@ LOCK TABLES `llx_inventorydet` WRITE; /*!40000 ALTER TABLE `llx_inventorydet` ENABLE KEYS */; UNLOCK TABLES; +-- +-- Table structure for table `llx_knowledgemanagement_knowledgerecord` +-- + +DROP TABLE IF EXISTS `llx_knowledgemanagement_knowledgerecord`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_knowledgemanagement_knowledgerecord` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(128) COLLATE utf8_unicode_ci NOT NULL, + `date_creation` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `last_main_doc` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `fk_user_creat` int(11) NOT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, + `model_pdf` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `question` text COLLATE utf8_unicode_ci NOT NULL, + `answer` text COLLATE utf8_unicode_ci DEFAULT NULL, + `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `fk_ticket` int(11) DEFAULT NULL, + `fk_c_ticket_category` int(11) DEFAULT NULL, + `status` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_knowledgemanagement_knowledgerecord` +-- + +LOCK TABLES `llx_knowledgemanagement_knowledgerecord` WRITE; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_knowledgemanagement_knowledgerecord_extrafields` +-- + +DROP TABLE IF EXISTS `llx_knowledgemanagement_knowledgerecord_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_knowledgemanagement_knowledgerecord_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_knowledgemanagement_knowledgerecord_extrafields` +-- + +LOCK TABLES `llx_knowledgemanagement_knowledgerecord_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_knowledgemanagement_knowledgerecord_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Table structure for table `llx_links` -- @@ -8626,7 +7933,7 @@ CREATE TABLE `llx_menu` ( PRIMARY KEY (`rowid`), UNIQUE KEY `idx_menu_uk_menu` (`menu_handler`,`fk_menu`,`position`,`url`,`entity`), KEY `idx_menu_menuhandler_type` (`menu_handler`,`type`) -) ENGINE=InnoDB AUTO_INCREMENT=167087 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=167134 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8635,7 +7942,7 @@ CREATE TABLE `llx_menu` ( LOCK TABLES `llx_menu` WRITE; /*!40000 ALTER TABLE `llx_menu` DISABLE KEYS */; -INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction',NULL,'commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys',NULL,'opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey',NULL,'opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey',NULL,'opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List',NULL,'opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(161088,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home',NULL,'',-1,'','','1',2,'2017-08-30 15:14:30'),(161089,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties',NULL,'companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2017-08-30 15:14:30'),(161090,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services',NULL,'products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2017-08-30 15:14:30'),(161092,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial',NULL,'commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(161093,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial',NULL,'compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2017-08-30 15:14:30'),(161094,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects',NULL,'projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(161095,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools',NULL,'other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2017-08-30 15:14:30'),(161101,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash',NULL,'banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2017-08-30 15:14:30'),(161102,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/index.php?mainmenu=hrm&leftmenu=','','HRM',NULL,'holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(161177,'auguria',1,'','left','home',161088,NULL,NULL,0,'/index.php','','MyDashboard',NULL,'',0,'','','1',2,'2017-08-30 15:14:30'),(161187,'auguria',1,'','left','home',161088,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup',NULL,'admin',0,'setup','','$user->admin',2,'2017-08-30 15:14:30'),(161188,'auguria',1,'','left','home',161187,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161189,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161190,'auguria',1,'','left','home',161187,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161191,'auguria',1,'','left','home',161187,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161192,'auguria',1,'','left','home',161187,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:47'),(161193,'auguria',1,'','left','home',161187,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161194,'auguria',1,'','left','home',161187,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161195,'auguria',1,'','left','home',161187,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:36'),(161196,'auguria',1,'','left','home',161187,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161197,'auguria',1,'','left','home',161187,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161198,'auguria',1,'','left','home',161187,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161199,'auguria',1,'','left','home',161187,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161200,'auguria',1,'','left','home',161187,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161201,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161288,'auguria',1,'','left','home',161387,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161289,'auguria',1,'','left','home',161288,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161290,'auguria',1,'','left','home',161288,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161291,'auguria',1,'','left','home',161288,NULL,NULL,4,'/admin/system/filecheck.php?leftmenu=admintools','','FileCheck',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161292,'auguria',1,'','left','home',161387,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161293,'auguria',1,'','left','home',161387,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161294,'auguria',1,'','left','home',161387,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161295,'auguria',1,'','left','home',161387,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161297,'auguria',1,'','left','home',161387,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161387,'auguria',1,'','left','home',161088,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools',NULL,'admin',0,'admintools','','$user->admin',2,'2017-08-30 15:14:30'),(161388,'auguria',1,'','left','home',161387,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161389,'auguria',1,'','left','home',161387,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161392,'auguria',1,'','left','home',161387,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161393,'auguria',1,'','left','home',161387,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator',NULL,'admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2017-08-30 15:14:30'),(161394,'auguria',1,'','left','home',161387,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161395,'auguria',1,'','left','home',161387,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161396,'auguria',1,'','left','home',161387,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161398,'auguria',1,'','left','home',161387,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','ExternalResources',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161407,'auguria',1,'','left','home',161387,NULL,NULL,15,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange',NULL,'products',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161487,'auguria',1,'','left','home',161088,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups',NULL,'users',0,'users','','1',2,'2017-08-30 15:14:30'),(161488,'auguria',1,'','left','home',161487,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users',NULL,'users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161489,'auguria',1,'','left','home',161488,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser',NULL,'users',2,'','($user->rights->user->user->creer || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161490,'auguria',1,'','left','home',161487,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups',NULL,'users',1,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161491,'auguria',1,'','left','home',161490,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup',NULL,'users',2,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161587,'auguria',1,'','left','companies',161089,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty',NULL,'companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161588,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/card.php?action=create','','MenuNewThirdParty',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161589,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/list.php?action=create','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161590,'auguria',1,'','left','companies',161587,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort',NULL,'suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161591,'auguria',1,'','left','companies',161590,NULL,NULL,0,'/societe/card.php?leftmenu=supplier&action=create&type=f','','NewSupplier',NULL,'suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161593,'auguria',1,'','left','companies',161587,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161594,'auguria',1,'','left','companies',161593,NULL,NULL,0,'/societe/card.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161596,'auguria',1,'','left','companies',161587,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161597,'auguria',1,'','left','companies',161596,NULL,NULL,0,'/societe/card.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161687,'auguria',1,'','left','companies',161089,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses',NULL,'companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161688,'auguria',1,'','left','companies',161687,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress',NULL,'companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161689,'auguria',1,'','left','companies',161687,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161691,'auguria',1,'','left','companies',161689,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161692,'auguria',1,'','left','companies',161689,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161693,'auguria',1,'','left','companies',161689,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161694,'auguria',1,'','left','companies',161689,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161737,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161738,'auguria',1,'','left','companies',161737,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161747,'auguria',1,'','left','companies',161089,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161748,'auguria',1,'','left','companies',161747,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161757,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161758,'auguria',1,'','left','companies',161757,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(162187,'auguria',1,'','left','commercial',161092,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop',NULL,'propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162188,'auguria',1,'','left','commercial',162187,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal',NULL,'propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162189,'auguria',1,'','left','commercial',162187,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162190,'auguria',1,'','left','commercial',162189,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&search_status=0','','PropalsDraft',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162191,'auguria',1,'','left','commercial',162189,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&search_status=1','','PropalsOpened',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162192,'auguria',1,'','left','commercial',162189,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&search_status=2','','PropalStatusSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162193,'auguria',1,'','left','commercial',162189,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&search_status=3','','PropalStatusNotSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162194,'auguria',1,'','left','commercial',162189,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&search_status=4','','PropalStatusBilled',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162197,'auguria',1,'','left','commercial',162187,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162287,'auguria',1,'','left','commercial',161092,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162288,'auguria',1,'','left','commercial',162287,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder',NULL,'orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162289,'auguria',1,'','left','commercial',162287,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162290,'auguria',1,'','left','commercial',162289,NULL,NULL,2,'/commande/list.php?leftmenu=orders&search_status=0','','StatusOrderDraftShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162291,'auguria',1,'','left','commercial',162289,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=1','','StatusOrderValidated',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162292,'auguria',1,'','left','commercial',162289,NULL,NULL,4,'/commande/list.php?leftmenu=orders&search_status=2','','StatusOrderOnProcessShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162293,'auguria',1,'','left','commercial',162289,NULL,NULL,5,'/commande/list.php?leftmenu=orders&search_status=3','','StatusOrderToBill',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162294,'auguria',1,'','left','commercial',162289,NULL,NULL,6,'/commande/list.php?leftmenu=orders&search_status=4','','StatusOrderProcessed',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162295,'auguria',1,'','left','commercial',162289,NULL,NULL,7,'/commande/list.php?leftmenu=orders&search_status=-1','','StatusOrderCanceledShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162296,'auguria',1,'','left','commercial',162287,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162387,'auguria',1,'','left','commercial',161090,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments',NULL,'sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2017-08-30 15:14:30'),(162388,'auguria',1,'','left','commercial',162387,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending',NULL,'sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162389,'auguria',1,'','left','commercial',162387,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162390,'auguria',1,'','left','commercial',162387,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162487,'auguria',1,'','left','commercial',161092,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts',NULL,'contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162488,'auguria',1,'','left','commercial',162487,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract',NULL,'contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162489,'auguria',1,'','left','commercial',162487,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162490,'auguria',1,'','left','commercial',162487,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162491,'auguria',1,'','left','commercial',162490,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162492,'auguria',1,'','left','commercial',162490,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162493,'auguria',1,'','left','commercial',162490,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162494,'auguria',1,'','left','commercial',162490,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162587,'auguria',1,'','left','commercial',161092,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions',NULL,'interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162588,'auguria',1,'','left','commercial',162587,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention',NULL,'interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162589,'auguria',1,'','left','commercial',162587,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162590,'auguria',1,'','left','commercial',162587,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162687,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers',NULL,'bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162688,'auguria',1,'','left','accountancy',162687,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill',NULL,'bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162689,'auguria',1,'','left','accountancy',162687,NULL,NULL,1,'/fourn/facture/list.php?leftmenu=suppliers_bills','','List',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162690,'auguria',1,'','left','accountancy',162687,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162691,'auguria',1,'','left','accountancy',162687,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162692,'auguria',1,'','left','accountancy',162690,NULL,NULL,1,'/fourn/facture/rapport.php?leftmenu=suppliers_bills','','Reporting',NULL,'bills',2,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162787,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers',NULL,'bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162788,'auguria',1,'','left','accountancy',162787,NULL,NULL,3,'/compta/facture/card.php?action=create&leftmenu=customers_bills','','NewBill',NULL,'bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162789,'auguria',1,'','left','accountancy',162787,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162791,'auguria',1,'','left','accountancy',162787,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162792,'auguria',1,'','left','accountancy',162787,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162797,'auguria',1,'','left','accountancy',162791,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162798,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits',NULL,'bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162799,'auguria',1,'','left','accountancy',162798,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit',NULL,'compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162800,'auguria',1,'','left','accountancy',162798,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List',NULL,'bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162801,'auguria',1,'','left','accountancy',162787,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162807,'auguria',1,'','left','accountancy',162792,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162808,'auguria',1,'','left','accountancy',162792,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162809,'auguria',1,'','left','accountancy',162792,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162810,'auguria',1,'','left','accountancy',162792,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162987,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=3','','MenuOrdersToBill',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2017-08-30 15:14:30'),(163087,'auguria',1,'','left','accountancy',161093,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations',NULL,'donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2017-08-30 15:14:30'),(163088,'auguria',1,'','left','accountancy',163087,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation',NULL,'donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163089,'auguria',1,'','left','accountancy',163087,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List',NULL,'donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163187,'auguria',1,'','left','accountancy',161102,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses',NULL,'trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163188,'auguria',1,'','left','accountancy',163187,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New',NULL,'trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163189,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163190,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163287,'auguria',1,'','left','accountancy',161093,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses',NULL,'compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163297,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries',NULL,'salaries',1,'tax_sal','$user->rights->salaries->payment->read','$conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163298,'auguria',1,'','left','accountancy',163297,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment',NULL,'companies',2,'','$user->rights->salaries->payment->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163299,'auguria',1,'','left','accountancy',163297,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments',NULL,'companies',2,'','$user->rights->salaries->payment->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163307,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans',NULL,'loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2017-08-30 15:14:30'),(163308,'auguria',1,'','left','accountancy',163307,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan',NULL,'loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2017-08-30 15:14:30'),(163310,'auguria',1,'','left','accountancy',163307,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator',NULL,'companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2017-08-30 15:14:30'),(163337,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions',NULL,'',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2017-08-30 15:14:30'),(163338,'auguria',1,'','left','accountancy',163337,NULL,NULL,2,'/compta/sociales/card.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution',NULL,'',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163339,'auguria',1,'','left','accountancy',163337,NULL,NULL,3,'/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments',NULL,'',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163387,'auguria',1,'','left','accountancy',163287,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT',NULL,'companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2017-08-30 15:14:30'),(163388,'auguria',1,'','left','accountancy',163387,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New',NULL,'companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163389,'auguria',1,'','left','accountancy',163387,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163390,'auguria',1,'','left','accountancy',163387,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163391,'auguria',1,'','left','accountancy',163387,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163487,'auguria',1,'','left','accountancy',161093,NULL,NULL,7,'/accountancy/index.php?leftmenu=accountancy','','MenuAccountancy',NULL,'accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163488,'auguria',1,'','left','accountancy',163487,NULL,NULL,2,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation',NULL,'accountancy',1,'dispatch_customer','$user->rights->accounting->bind->write','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163489,'auguria',1,'','left','accountancy',163488,NULL,NULL,3,'/accountancy/customer/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163490,'auguria',1,'','left','accountancy',163488,NULL,NULL,4,'/accountancy/customer/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163497,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation',NULL,'accountancy',1,'ventil_supplier','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2017-08-30 15:14:30'),(163498,'auguria',1,'','left','accountancy',163497,NULL,NULL,6,'/accountancy/supplier/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163499,'auguria',1,'','left','accountancy',163497,NULL,NULL,7,'/accountancy/supplier/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163507,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/expensereport/index.php?leftmenu=dispatch_expensereport','','ExpenseReportsVentilation',NULL,'accountancy',1,'ventil_expensereport','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(163508,'auguria',1,'','left','accountancy',163507,NULL,NULL,6,'/accountancy/expensereport/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163509,'auguria',1,'','left','accountancy',163507,NULL,NULL,7,'/accountancy/expensereport/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163517,'auguria',1,'','left','accountancy',163487,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping',NULL,'accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163522,'auguria',1,'','left','accountancy',163487,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance',NULL,'accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163527,'auguria',1,'','left','accountancy',163487,NULL,NULL,17,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','Reportings',NULL,'main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163528,'auguria',1,'','left','accountancy',163527,NULL,NULL,19,'/compta/resultat/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportInOut',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163529,'auguria',1,'','left','accountancy',163528,NULL,NULL,18,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','ByAccounts',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163530,'auguria',1,'','left','accountancy',163528,NULL,NULL,20,'/compta/resultat/clientfourn.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163531,'auguria',1,'','left','accountancy',163527,NULL,NULL,21,'/compta/stats/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportTurnover',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163532,'auguria',1,'','left','accountancy',163531,NULL,NULL,22,'/compta/stats/casoc.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163533,'auguria',1,'','left','accountancy',163531,NULL,NULL,23,'/compta/stats/cabyuser.php?mainmenu=accountancy&leftmenu=accountancy','','ByUsers',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163534,'auguria',1,'','left','accountancy',163531,NULL,NULL,24,'/compta/stats/cabyprodserv.php?mainmenu=accountancy&leftmenu=accountancy','','ByProductsAndServices',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163537,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/accountancy/admin/fiscalyear.php?mainmenu=accountancy&leftmenu=accountancy_admin','','FiscalPeriod',NULL,'admin',1,'accountancy_admin_period','','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\" && $conf->global->MAIN_FEATURES_LEVEL > 0',2,'2017-08-30 15:14:30'),(163538,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'/accountancy/index.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Setup',NULL,'accountancy',1,'accountancy_admin','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163541,'auguria',1,'','left','accountancy',163538,NULL,NULL,10,'/accountancy/admin/journals_list.php?id=35&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingJournals',NULL,'accountancy',2,'accountancy_admin_journal','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163542,'auguria',1,'','left','accountancy',163538,NULL,NULL,20,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Pcg_version',NULL,'accountancy',2,'accountancy_admin_chartmodel','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163543,'auguria',1,'','left','accountancy',163538,NULL,NULL,30,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Chartofaccounts',NULL,'accountancy',2,'accountancy_admin_chart','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163544,'auguria',1,'','left','accountancy',163538,NULL,NULL,40,'/accountancy/admin/categories_list.php?id=32&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingCategory',NULL,'accountancy',2,'accountancy_admin_chart_group','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163545,'auguria',1,'','left','accountancy',163538,NULL,NULL,50,'/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuDefaultAccounts',NULL,'accountancy',2,'accountancy_admin_default','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163546,'auguria',1,'','left','accountancy',163538,NULL,NULL,60,'/admin/dict.php?id=10&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuVatAccounts',NULL,'accountancy',2,'accountancy_admin_vat','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163547,'auguria',1,'','left','accountancy',163538,NULL,NULL,70,'/admin/dict.php?id=7&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuTaxAccounts',NULL,'accountancy',2,'accountancy_admin_tax','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163548,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/admin/dict.php?id=17&from=accountancy&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuExpenseReportAccounts',NULL,'accountancy',2,'accountancy_admin_expensereport','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163549,'auguria',1,'','left','accountancy',163538,NULL,NULL,90,'/accountancy/admin/productaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuProductsAccounts',NULL,'accountancy',2,'accountancy_admin_product','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163587,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders',NULL,'withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2017-08-30 15:14:30'),(163589,'auguria',1,'','left','accountancy',163587,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163590,'auguria',1,'','left','accountancy',163587,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163591,'auguria',1,'','left','accountancy',163587,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163593,'auguria',1,'','left','accountancy',163587,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163594,'auguria',1,'','left','accountancy',163587,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163687,'auguria',1,'','left','accountancy',161101,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash',NULL,'banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2017-08-30 15:14:30'),(163688,'auguria',1,'','left','accountancy',163687,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount',NULL,'banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163690,'auguria',1,'','left','accountancy',163687,NULL,NULL,2,'/compta/bank/bankentries.php?leftmenu=bank','','ListTransactions',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163691,'auguria',1,'','left','accountancy',163687,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163693,'auguria',1,'','left','accountancy',163687,NULL,NULL,5,'/compta/bank/transfer.php?leftmenu=bank','','BankTransfers',NULL,'banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163737,'auguria',1,'','left','accountancy',161101,NULL,NULL,4,'/categories/index.php?leftmenu=bank&type=5','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163738,'auguria',1,'','left','accountancy',163737,NULL,NULL,0,'/categories/card.php?leftmenu=bank&action=create&type=5','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163787,'auguria',1,'','left','accountancy',161093,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings',NULL,'main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2017-08-30 15:14:30'),(163792,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'','','Journalization',NULL,'main',1,'','$user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163793,'auguria',1,'','left','accountancy',163792,NULL,NULL,4,'/accountancy/journal/sellsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=1','','SellsJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163794,'auguria',1,'','left','accountancy',163792,NULL,NULL,1,'/accountancy/journal/bankjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=3','','BankJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163795,'auguria',1,'','left','accountancy',163792,NULL,NULL,2,'/accountancy/journal/expensereportsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=6','','ExpenseReportJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163796,'auguria',1,'','left','accountancy',163792,NULL,NULL,3,'/accountancy/journal/purchasesjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=2','','PurchasesJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163798,'auguria',1,'','left','accountancy',163787,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163799,'auguria',1,'','left','accountancy',163788,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163800,'auguria',1,'','left','accountancy',163787,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163801,'auguria',1,'','left','accountancy',163790,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163802,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163803,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163887,'auguria',1,'','left','products',161090,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products',NULL,'products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163888,'auguria',1,'','left','products',163887,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct',NULL,'products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163889,'auguria',1,'','left','products',163887,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List',NULL,'products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163890,'auguria',1,'','left','products',163887,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163891,'auguria',1,'','left','products',163887,NULL,NULL,7,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics',NULL,'main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(163892,'auguria',1,'','left','products',163887,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163893,'auguria',1,'','left','products',163887,NULL,NULL,6,'/product/stock/productlot_list.php','','LotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163987,'auguria',1,'','left','products',161090,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services',NULL,'products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163988,'auguria',1,'','left','products',163987,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService',NULL,'products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163989,'auguria',1,'','left','products',163987,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List',NULL,'products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163990,'auguria',1,'','left','products',163987,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics',NULL,'main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(164187,'auguria',1,'','left','products',161090,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock',NULL,'stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164188,'auguria',1,'','left','products',164187,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse',NULL,'stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164189,'auguria',1,'','left','products',164187,NULL,NULL,1,'/product/stock/list.php','','List',NULL,'stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164191,'auguria',1,'','left','products',164187,NULL,NULL,3,'/product/stock/mouvement.php','','Movements',NULL,'stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164192,'auguria',1,'','left','products',164187,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(164193,'auguria',1,'','left','products',164187,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164287,'auguria',1,'','left','products',161090,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164288,'auguria',1,'','left','products',164287,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164487,'auguria',1,'','left','project',161094,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164687,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects',NULL,'projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164688,'auguria',1,'','left','project',164687,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164689,'auguria',1,'','left','project',164687,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164690,'auguria',1,'','left','project',164687,NULL,NULL,3,'/projet/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164787,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164788,'auguria',1,'','left','project',164787,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164789,'auguria',1,'','left','project',164787,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164791,'auguria',1,'','left','project',164787,NULL,NULL,4,'/projet/tasks/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164891,'auguria',1,'','left','project',161094,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=6','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164892,'auguria',1,'','left','project',164891,NULL,NULL,0,'/categories/card.php?action=create&type=6','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164987,'auguria',1,'','left','tools',161095,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings',NULL,'mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164988,'auguria',1,'','left','tools',164987,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing',NULL,'mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164989,'auguria',1,'','left','tools',164987,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List',NULL,'mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(165187,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport',NULL,'exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165188,'auguria',1,'','left','tools',165187,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport',NULL,'exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165217,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport',NULL,'exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165218,'auguria',1,'','left','tools',165217,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport',NULL,'exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165287,'auguria',1,'','left','members',161100,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members',NULL,'members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165288,'auguria',1,'','left','members',165287,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember',NULL,'members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165289,'auguria',1,'','left','members',165287,NULL,NULL,1,'/adherents/list.php','','List',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165290,'auguria',1,'','left','members',165289,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165291,'auguria',1,'','left','members',165289,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165292,'auguria',1,'','left','members',165289,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165293,'auguria',1,'','left','members',165289,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165294,'auguria',1,'','left','members',165289,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165295,'auguria',1,'','left','members',165287,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165387,'auguria',1,'','left','members',161100,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions',NULL,'compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165388,'auguria',1,'','left','members',165387,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription',NULL,'compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165389,'auguria',1,'','left','members',165387,NULL,NULL,1,'/adherents/subscription/list.php?leftmenu=members','','List',NULL,'compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165390,'auguria',1,'','left','members',165387,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165589,'auguria',1,'','left','members',165287,NULL,NULL,9,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd',NULL,'members',1,'','$user->rights->adherent->export','! empty($conf->global->MEMBER_LINK_TO_HTPASSWDFILE) && $conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165590,'auguria',1,'','left','members',165287,NULL,NULL,10,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards',NULL,'members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165687,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/user/index.php?leftmenu=hrm&mode=employee','','Employees',NULL,'hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165688,'auguria',1,'','left','hrm',165687,NULL,NULL,1,'/user/card.php?action=create&employee=1','','NewEmployee',NULL,'hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165689,'auguria',1,'','left','hrm',165687,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee&contextpage=employeelist','','List',NULL,'hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165787,'auguria',1,'','left','members',161100,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes',NULL,'members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165788,'auguria',1,'','left','members',165787,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165789,'auguria',1,'','left','members',165787,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(166087,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu',NULL,'holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166088,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP',NULL,'holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166089,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List',NULL,'holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166090,'auguria',1,'','left','hrm',166089,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove',NULL,'trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166091,'auguria',1,'','left','hrm',166087,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166092,'auguria',1,'','left','hrm',166087,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166187,'auguria',1,'','left','commercial',161092,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders',NULL,'orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166188,'auguria',1,'','left','commercial',166187,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder',NULL,'orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166189,'auguria',1,'','left','commercial',166187,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&search_status=0','','List',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166195,'auguria',1,'','left','commercial',166187,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166287,'auguria',1,'','left','members',161100,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166288,'auguria',1,'','left','members',166287,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166387,'auguria',1,'','left','hrm',161102,NULL,NULL,5,'/expensereport/index.php?leftmenu=expensereport','','TripsAndExpenses',NULL,'trips',0,'expensereport','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166388,'auguria',1,'','left','hrm',166387,NULL,NULL,1,'/expensereport/card.php?action=create&leftmenu=expensereport','','New',NULL,'trips',1,'','$user->rights->expensereport->creer','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166389,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/list.php?leftmenu=expensereport','','List',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166390,'auguria',1,'','left','hrm',166389,NULL,NULL,2,'/expensereport/list.php?search_status=2&leftmenu=expensereport','','ListToApprove',NULL,'trips',2,'','$user->rights->expensereport->approve','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166391,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/stats/index.php?leftmenu=expensereport','','Statistics',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(167038,'all',1,'agenda','top','agenda',0,NULL,NULL,86,'/comm/action/index.php','','TMenuAgenda','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167039,'all',1,'agenda','left','agenda',167038,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167040,'all',1,'agenda','left','agenda',167039,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167041,'all',1,'agenda','left','agenda',167039,NULL,NULL,140,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda','','Calendar','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167042,'all',1,'agenda','left','agenda',167041,NULL,NULL,141,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167043,'all',1,'agenda','left','agenda',167041,NULL,NULL,142,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167044,'all',1,'agenda','left','agenda',167041,NULL,NULL,143,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167045,'all',1,'agenda','left','agenda',167041,NULL,NULL,144,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167046,'all',1,'agenda','left','agenda',167039,NULL,NULL,110,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda','','List','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167047,'all',1,'agenda','left','agenda',167046,NULL,NULL,111,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167048,'all',1,'agenda','left','agenda',167046,NULL,NULL,112,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167049,'all',1,'agenda','left','agenda',167046,NULL,NULL,113,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167050,'all',1,'agenda','left','agenda',167046,NULL,NULL,114,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-04-15 10:22:58'),(167051,'all',1,'agenda','left','agenda',167039,NULL,NULL,160,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2021-04-15 10:22:58'),(167052,'all',1,'agenda','left','agenda',167039,NULL,NULL,170,'/categories/index.php?mainmenu=agenda&leftmenu=agenda&type=10','','Categories','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->categorie->enabled&&$conf->categorie->enabled',2,'2021-04-15 10:22:58'),(167053,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2021-04-15 10:22:58'),(167054,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && preg_match(\'/^(admintools|all)/\',$leftmenu)',0,'2021-04-15 10:22:58'),(167055,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?leftmenu=admintools','','CronList','','cron',NULL,NULL,'$user->rights->cron->read','$conf->cron->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',2,'2021-04-15 10:22:58'),(167056,'all',1,'blockedlog','left','tools',-1,NULL,'tools',200,'/blockedlog/admin/blockedlog_list.php?mainmenu=tools&leftmenu=blockedlogbrowser','','BrowseBlockedLog','','blockedlog',NULL,'blockedlogbrowser','$user->rights->blockedlog->read','$conf->blockedlog->enabled',2,'2021-04-15 10:22:58'),(167057,'all',1,'ecm','top','ecm',0,NULL,NULL,82,'/ecm/index.php','','MenuECM','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2021-04-15 10:22:59'),(167058,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-04-15 10:22:59'),(167059,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-04-15 10:22:59'),(167060,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','($user->rights->ecm->read || $user->rights->ecm->upload) && ! empty($conf->global->ECM_AUTO_TREE_ENABLED)',2,'2021-04-15 10:22:59'),(167061,'all',1,'margins','left','billing',-1,NULL,'billing',100,'/margin/index.php','','Margins','','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2021-04-15 10:23:00'),(167062,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-04-15 10:23:00'),(167063,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2021-04-15 10:23:00'),(167064,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-04-15 10:23:00'),(167065,'all',1,'printing','left','home',-1,'admintools','home',300,'/printing/index.php?mainmenu=home&leftmenu=admintools','','MenuDirectPrinting','','printing',NULL,NULL,'$user->rights->printing->read','$conf->printing->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',0,'2021-04-15 10:23:00'),(167066,'all',1,'recruitment','left','hrm',-1,NULL,'hrm',1001,'/recruitment/recruitmentindex.php','','Recruitment','','recruitment',NULL,'recruitmentjobposition','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167067,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1002,'/recruitment/recruitmentjobposition_card.php?action=create','','NewPositionToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167068,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1003,'/recruitment/recruitmentjobposition_list.php','','ListOfPositionsToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167069,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1004,'/recruitment/recruitmentcandidature_card.php?action=create','','NewCandidature','','recruitment',NULL,'recruitment_recruitmentcandidature_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167070,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1005,'/recruitment/recruitmentcandidature_list.php','','ListOfCandidatures','','recruitment',NULL,'recruitment_recruitmentcandidature_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-04-15 10:23:00'),(167071,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','','resource',NULL,'resource','$user->rights->resource->read','1',0,'2021-04-15 10:23:00'),(167072,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/card.php?action=create','','MenuResourceAdd','','resource',NULL,'resource_add','$user->rights->resource->write','1',0,'2021-04-15 10:23:00'),(167073,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','','resource',NULL,'resource_list','$user->rights->resource->read','1',0,'2021-04-15 10:23:00'),(167074,'all',1,'stripe','left','bank',-1,NULL,'bank',100,'','','StripeAccount','','stripe',NULL,'stripe','$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167075,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/charge.php','','StripeChargeList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167076,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/transaction.php','','StripeTransactionList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167077,'all',1,'stripe','left','bank',-1,'stripe','bank',103,'/stripe/payout.php','','StripePayoutList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-04-15 10:23:01'),(167078,'all',1,'ticket','top','ticket',0,NULL,NULL,88,'/ticket/index.php','','Ticket','','ticket',NULL,'1','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167079,'all',1,'ticket','left','ticket',-1,NULL,'ticket',101,'/ticket/index.php','','Ticket','','ticket',NULL,'ticket','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167080,'all',1,'ticket','left','ticket',-1,'ticket','ticket',102,'/ticket/card.php?action=create','','NewTicket','','ticket',NULL,NULL,'$user->rights->ticket->write','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167081,'all',1,'ticket','left','ticket',-1,'ticket','ticket',103,'/ticket/list.php?search_fk_status=non_closed','','List','','ticket',NULL,'ticketlist','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-04-15 10:23:01'),(167082,'all',1,'ticket','left','ticket',-1,'ticket','ticket',105,'/ticket/list.php?mode=mine&search_fk_status=non_closed','','MenuTicketMyAssign','','ticket',NULL,'ticketmy','$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-04-15 10:23:01'),(167083,'all',1,'ticket','left','ticket',-1,'ticket','ticket',107,'/ticket/stats/index.php','','Statistics','','ticket',NULL,NULL,'$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-04-15 10:23:01'),(167084,'all',1,'takepos','top','takepos',0,NULL,NULL,1001,'/takepos/index.php','takepos','PointOfSaleShort','','cashdesk',NULL,NULL,'$user->rights->takepos->run','$conf->takepos->enabled',2,'2021-04-15 10:23:01'),(167085,'all',1,'website','top','website',0,NULL,NULL,100,'/website/index.php','','WebSites','','website',NULL,NULL,'$user->rights->website->read','$conf->website->enabled',2,'2021-04-15 10:23:02'); +INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction',NULL,'commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2015-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings',NULL,'agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2015-03-13 15:29:19'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys',NULL,'opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey',NULL,'opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey',NULL,'opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List',NULL,'opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2015-03-13 20:33:42'),(161088,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home',NULL,'',-1,'','','1',2,'2017-08-30 15:14:30'),(161089,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties',NULL,'companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2017-08-30 15:14:30'),(161090,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services',NULL,'products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2017-08-30 15:14:30'),(161092,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial',NULL,'commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(161093,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial',NULL,'compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2017-08-30 15:14:30'),(161094,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects',NULL,'projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(161095,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools',NULL,'other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2017-08-30 15:14:30'),(161101,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash',NULL,'banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2017-08-30 15:14:30'),(161102,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/index.php?mainmenu=hrm&leftmenu=','','HRM',NULL,'holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(161177,'auguria',1,'','left','home',161088,NULL,NULL,0,'/index.php','','MyDashboard',NULL,'',0,'','','1',2,'2017-08-30 15:14:30'),(161187,'auguria',1,'','left','home',161088,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup',NULL,'admin',0,'setup','','$user->admin',2,'2017-08-30 15:14:30'),(161188,'auguria',1,'','left','home',161187,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161189,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161190,'auguria',1,'','left','home',161187,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161191,'auguria',1,'','left','home',161187,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161192,'auguria',1,'','left','home',161187,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:47'),(161193,'auguria',1,'','left','home',161187,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161194,'auguria',1,'','left','home',161187,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161195,'auguria',1,'','left','home',161187,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security',NULL,'admin',1,'','','$leftmenu==\'setup\'',2,'2017-09-06 08:29:36'),(161196,'auguria',1,'','left','home',161187,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161197,'auguria',1,'','left','home',161187,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161198,'auguria',1,'','left','home',161187,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161199,'auguria',1,'','left','home',161187,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161200,'auguria',1,'','left','home',161187,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161201,'auguria',1,'','left','home',161187,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation',NULL,'admin',1,'','','$leftmenu==\"setup\"',2,'2017-08-30 15:14:30'),(161288,'auguria',1,'','left','home',161387,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161289,'auguria',1,'','left','home',161288,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161290,'auguria',1,'','left','home',161288,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161291,'auguria',1,'','left','home',161288,NULL,NULL,4,'/admin/system/filecheck.php?leftmenu=admintools','','FileCheck',NULL,'admin',2,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161292,'auguria',1,'','left','home',161387,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161293,'auguria',1,'','left','home',161387,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161294,'auguria',1,'','left','home',161387,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161295,'auguria',1,'','left','home',161387,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161297,'auguria',1,'','left','home',161387,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161387,'auguria',1,'','left','home',161088,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools',NULL,'admin',0,'admintools','','$user->admin',2,'2017-08-30 15:14:30'),(161388,'auguria',1,'','left','home',161387,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161389,'auguria',1,'','left','home',161387,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161392,'auguria',1,'','left','home',161387,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161393,'auguria',1,'','left','home',161387,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator',NULL,'admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2017-08-30 15:14:30'),(161394,'auguria',1,'','left','home',161387,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161395,'auguria',1,'','left','home',161387,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161396,'auguria',1,'','left','home',161387,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161398,'auguria',1,'','left','home',161387,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','ExternalResources',NULL,'admin',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161407,'auguria',1,'','left','home',161387,NULL,NULL,15,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange',NULL,'products',1,'','','$leftmenu==\"admintools\"',2,'2017-08-30 15:14:30'),(161487,'auguria',1,'','left','home',161088,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups',NULL,'users',0,'users','','1',2,'2017-08-30 15:14:30'),(161488,'auguria',1,'','left','home',161487,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users',NULL,'users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161489,'auguria',1,'','left','home',161488,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser',NULL,'users',2,'','($user->rights->user->user->creer || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161490,'auguria',1,'','left','home',161487,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups',NULL,'users',1,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161491,'auguria',1,'','left','home',161490,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup',NULL,'users',2,'','(($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin) && !(! empty($conf->multicompany->enabled) && $conf->entity > 1 && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)','$leftmenu==\"users\"',2,'2017-08-30 15:14:30'),(161587,'auguria',1,'','left','companies',161089,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty',NULL,'companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161588,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/card.php?action=create','','MenuNewThirdParty',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161589,'auguria',1,'','left','companies',161587,NULL,NULL,0,'/societe/list.php?action=create','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161590,'auguria',1,'','left','companies',161587,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort',NULL,'suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161591,'auguria',1,'','left','companies',161590,NULL,NULL,0,'/societe/card.php?leftmenu=supplier&action=create&type=f','','NewSupplier',NULL,'suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161593,'auguria',1,'','left','companies',161587,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161594,'auguria',1,'','left','companies',161593,NULL,NULL,0,'/societe/card.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161596,'auguria',1,'','left','companies',161587,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161597,'auguria',1,'','left','companies',161596,NULL,NULL,0,'/societe/card.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer',NULL,'companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161687,'auguria',1,'','left','companies',161089,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses',NULL,'companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161688,'auguria',1,'','left','companies',161687,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress',NULL,'companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161689,'auguria',1,'','left','companies',161687,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List',NULL,'companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161691,'auguria',1,'','left','companies',161689,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161692,'auguria',1,'','left','companies',161689,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161693,'auguria',1,'','left','companies',161689,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2017-08-30 15:14:30'),(161694,'auguria',1,'','left','companies',161689,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others',NULL,'companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2017-08-30 15:14:30'),(161737,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161738,'auguria',1,'','left','companies',161737,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161747,'auguria',1,'','left','companies',161089,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161748,'auguria',1,'','left','companies',161747,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161757,'auguria',1,'','left','companies',161089,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(161758,'auguria',1,'','left','companies',161757,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(162187,'auguria',1,'','left','commercial',161092,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop',NULL,'propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162188,'auguria',1,'','left','commercial',162187,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal',NULL,'propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162189,'auguria',1,'','left','commercial',162187,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162190,'auguria',1,'','left','commercial',162189,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&search_status=0','','PropalsDraft',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162191,'auguria',1,'','left','commercial',162189,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&search_status=1','','PropalsOpened',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162192,'auguria',1,'','left','commercial',162189,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&search_status=2','','PropalStatusSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162193,'auguria',1,'','left','commercial',162189,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&search_status=3','','PropalStatusNotSigned',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162194,'auguria',1,'','left','commercial',162189,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&search_status=4','','PropalStatusBilled',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2017-08-30 15:14:30'),(162197,'auguria',1,'','left','commercial',162187,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics',NULL,'propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(162287,'auguria',1,'','left','commercial',161092,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162288,'auguria',1,'','left','commercial',162287,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder',NULL,'orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162289,'auguria',1,'','left','commercial',162287,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162290,'auguria',1,'','left','commercial',162289,NULL,NULL,2,'/commande/list.php?leftmenu=orders&search_status=0','','StatusOrderDraftShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162291,'auguria',1,'','left','commercial',162289,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=1','','StatusOrderValidated',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162292,'auguria',1,'','left','commercial',162289,NULL,NULL,4,'/commande/list.php?leftmenu=orders&search_status=2','','StatusOrderOnProcessShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162293,'auguria',1,'','left','commercial',162289,NULL,NULL,5,'/commande/list.php?leftmenu=orders&search_status=3','','StatusOrderToBill',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162294,'auguria',1,'','left','commercial',162289,NULL,NULL,6,'/commande/list.php?leftmenu=orders&search_status=4','','StatusOrderProcessed',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162295,'auguria',1,'','left','commercial',162289,NULL,NULL,7,'/commande/list.php?leftmenu=orders&search_status=-1','','StatusOrderCanceledShort',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2017-08-30 15:14:30'),(162296,'auguria',1,'','left','commercial',162287,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics',NULL,'orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2017-08-30 15:14:30'),(162387,'auguria',1,'','left','commercial',161090,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments',NULL,'sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2017-08-30 15:14:30'),(162388,'auguria',1,'','left','commercial',162387,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending',NULL,'sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162389,'auguria',1,'','left','commercial',162387,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162390,'auguria',1,'','left','commercial',162387,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics',NULL,'sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2017-08-30 15:14:30'),(162487,'auguria',1,'','left','commercial',161092,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts',NULL,'contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162488,'auguria',1,'','left','commercial',162487,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract',NULL,'contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162489,'auguria',1,'','left','commercial',162487,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162490,'auguria',1,'','left','commercial',162487,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices',NULL,'contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2017-08-30 15:14:30'),(162491,'auguria',1,'','left','commercial',162490,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162492,'auguria',1,'','left','commercial',162490,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162493,'auguria',1,'','left','commercial',162490,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162494,'auguria',1,'','left','commercial',162490,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices',NULL,'contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled && $leftmenu==\"contracts\"',2,'2017-08-30 15:14:30'),(162587,'auguria',1,'','left','commercial',161092,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions',NULL,'interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162588,'auguria',1,'','left','commercial',162587,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention',NULL,'interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162589,'auguria',1,'','left','commercial',162587,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162590,'auguria',1,'','left','commercial',162587,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics',NULL,'interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2017-08-30 15:14:30'),(162687,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers',NULL,'bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162688,'auguria',1,'','left','accountancy',162687,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill',NULL,'bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162689,'auguria',1,'','left','accountancy',162687,NULL,NULL,1,'/fourn/facture/list.php?leftmenu=suppliers_bills','','List',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162690,'auguria',1,'','left','accountancy',162687,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162691,'auguria',1,'','left','accountancy',162687,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics',NULL,'bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162692,'auguria',1,'','left','accountancy',162690,NULL,NULL,1,'/fourn/facture/rapport.php?leftmenu=suppliers_bills','','Reporting',NULL,'bills',2,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2017-08-30 15:14:30'),(162787,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers',NULL,'bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162788,'auguria',1,'','left','accountancy',162787,NULL,NULL,3,'/compta/facture/card.php?action=create&leftmenu=customers_bills','','NewBill',NULL,'bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162789,'auguria',1,'','left','accountancy',162787,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162791,'auguria',1,'','left','accountancy',162787,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162792,'auguria',1,'','left','accountancy',162787,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162797,'auguria',1,'','left','accountancy',162791,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162798,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits',NULL,'bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162799,'auguria',1,'','left','accountancy',162798,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit',NULL,'compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162800,'auguria',1,'','left','accountancy',162798,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List',NULL,'bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2017-08-30 15:14:30'),(162801,'auguria',1,'','left','accountancy',162787,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics',NULL,'bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162807,'auguria',1,'','left','accountancy',162792,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162808,'auguria',1,'','left','accountancy',162792,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162809,'auguria',1,'','left','accountancy',162792,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162810,'auguria',1,'','left','accountancy',162792,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled',NULL,'bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2017-08-30 15:14:30'),(162987,'auguria',1,'','left','accountancy',161093,NULL,NULL,3,'/commande/list.php?leftmenu=orders&search_status=3','','MenuOrdersToBill',NULL,'orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2017-08-30 15:14:30'),(163087,'auguria',1,'','left','accountancy',161093,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations',NULL,'donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2017-08-30 15:14:30'),(163088,'auguria',1,'','left','accountancy',163087,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation',NULL,'donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163089,'auguria',1,'','left','accountancy',163087,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List',NULL,'donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2017-08-30 15:14:30'),(163187,'auguria',1,'','left','accountancy',161102,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses',NULL,'trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163188,'auguria',1,'','left','accountancy',163187,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New',NULL,'trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163189,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163190,'auguria',1,'','left','accountancy',163187,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics',NULL,'trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2017-08-30 15:14:30'),(163287,'auguria',1,'','left','accountancy',161093,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses',NULL,'compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163297,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries',NULL,'salaries',1,'tax_sal','$user->rights->salaries->payment->read','$conf->salaries->enabled',0,'2017-08-30 15:14:30'),(163298,'auguria',1,'','left','accountancy',163297,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment',NULL,'companies',2,'','$user->rights->salaries->payment->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163299,'auguria',1,'','left','accountancy',163297,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments',NULL,'companies',2,'','$user->rights->salaries->payment->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2017-08-30 15:14:30'),(163307,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans',NULL,'loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2017-08-30 15:14:30'),(163308,'auguria',1,'','left','accountancy',163307,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan',NULL,'loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2017-08-30 15:14:30'),(163310,'auguria',1,'','left','accountancy',163307,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator',NULL,'companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2017-08-30 15:14:30'),(163337,'auguria',1,'','left','accountancy',163287,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions',NULL,'',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2017-08-30 15:14:30'),(163338,'auguria',1,'','left','accountancy',163337,NULL,NULL,2,'/compta/sociales/card.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution',NULL,'',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163339,'auguria',1,'','left','accountancy',163337,NULL,NULL,3,'/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments',NULL,'',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2017-08-30 15:14:30'),(163387,'auguria',1,'','left','accountancy',163287,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT',NULL,'companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2017-08-30 15:14:30'),(163388,'auguria',1,'','left','accountancy',163387,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New',NULL,'companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163389,'auguria',1,'','left','accountancy',163387,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163390,'auguria',1,'','left','accountancy',163387,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163391,'auguria',1,'','left','accountancy',163387,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter',NULL,'companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2017-08-30 15:14:30'),(163487,'auguria',1,'','left','accountancy',161093,NULL,NULL,7,'/accountancy/index.php?leftmenu=accountancy','','MenuAccountancy',NULL,'accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163488,'auguria',1,'','left','accountancy',163487,NULL,NULL,2,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation',NULL,'accountancy',1,'dispatch_customer','$user->rights->accounting->bind->write','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163489,'auguria',1,'','left','accountancy',163488,NULL,NULL,3,'/accountancy/customer/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163490,'auguria',1,'','left','accountancy',163488,NULL,NULL,4,'/accountancy/customer/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2017-08-30 15:14:30'),(163497,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation',NULL,'accountancy',1,'ventil_supplier','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2017-08-30 15:14:30'),(163498,'auguria',1,'','left','accountancy',163497,NULL,NULL,6,'/accountancy/supplier/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163499,'auguria',1,'','left','accountancy',163497,NULL,NULL,7,'/accountancy/supplier/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2017-08-30 15:14:30'),(163507,'auguria',1,'','left','accountancy',163487,NULL,NULL,5,'/accountancy/expensereport/index.php?leftmenu=dispatch_expensereport','','ExpenseReportsVentilation',NULL,'accountancy',1,'ventil_expensereport','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(163508,'auguria',1,'','left','accountancy',163507,NULL,NULL,6,'/accountancy/expensereport/list.php','','ToDispatch',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163509,'auguria',1,'','left','accountancy',163507,NULL,NULL,7,'/accountancy/expensereport/lines.php','','Dispatched',NULL,'accountancy',2,'','$user->rights->accounting->bind->write','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"dispatch_expensereport\"',0,'2017-08-30 15:14:30'),(163517,'auguria',1,'','left','accountancy',163487,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping',NULL,'accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163522,'auguria',1,'','left','accountancy',163487,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance',NULL,'accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163527,'auguria',1,'','left','accountancy',163487,NULL,NULL,17,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','Reportings',NULL,'main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163528,'auguria',1,'','left','accountancy',163527,NULL,NULL,19,'/compta/resultat/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportInOut',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163529,'auguria',1,'','left','accountancy',163528,NULL,NULL,18,'/accountancy/report/result.php?mainmenu=accountancy&leftmenu=accountancy','','ByAccounts',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163530,'auguria',1,'','left','accountancy',163528,NULL,NULL,20,'/compta/resultat/clientfourn.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163531,'auguria',1,'','left','accountancy',163527,NULL,NULL,21,'/compta/stats/index.php?mainmenu=accountancy&leftmenu=accountancy','','ReportTurnover',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163532,'auguria',1,'','left','accountancy',163531,NULL,NULL,22,'/compta/stats/casoc.php?mainmenu=accountancy&leftmenu=accountancy','','ByCompanies',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163533,'auguria',1,'','left','accountancy',163531,NULL,NULL,23,'/compta/stats/cabyuser.php?mainmenu=accountancy&leftmenu=accountancy','','ByUsers',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163534,'auguria',1,'','left','accountancy',163531,NULL,NULL,24,'/compta/stats/cabyprodserv.php?mainmenu=accountancy&leftmenu=accountancy','','ByProductsAndServices',NULL,'main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"accountancy\"',0,'2017-08-30 15:14:30'),(163537,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/accountancy/admin/fiscalyear.php?mainmenu=accountancy&leftmenu=accountancy_admin','','FiscalPeriod',NULL,'admin',1,'accountancy_admin_period','','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\" && $conf->global->MAIN_FEATURES_LEVEL > 0',2,'2017-08-30 15:14:30'),(163538,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'/accountancy/index.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Setup',NULL,'accountancy',1,'accountancy_admin','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163541,'auguria',1,'','left','accountancy',163538,NULL,NULL,10,'/accountancy/admin/journals_list.php?id=35&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingJournals',NULL,'accountancy',2,'accountancy_admin_journal','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163542,'auguria',1,'','left','accountancy',163538,NULL,NULL,20,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Pcg_version',NULL,'accountancy',2,'accountancy_admin_chartmodel','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163543,'auguria',1,'','left','accountancy',163538,NULL,NULL,30,'/accountancy/admin/account.php?mainmenu=accountancy&leftmenu=accountancy_admin','','Chartofaccounts',NULL,'accountancy',2,'accountancy_admin_chart','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163544,'auguria',1,'','left','accountancy',163538,NULL,NULL,40,'/accountancy/admin/categories_list.php?id=32&mainmenu=accountancy&leftmenu=accountancy_admin','','AccountingCategory',NULL,'accountancy',2,'accountancy_admin_chart_group','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163545,'auguria',1,'','left','accountancy',163538,NULL,NULL,50,'/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuDefaultAccounts',NULL,'accountancy',2,'accountancy_admin_default','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163546,'auguria',1,'','left','accountancy',163538,NULL,NULL,60,'/admin/dict.php?id=10&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuVatAccounts',NULL,'accountancy',2,'accountancy_admin_vat','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163547,'auguria',1,'','left','accountancy',163538,NULL,NULL,70,'/admin/dict.php?id=7&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuTaxAccounts',NULL,'accountancy',2,'accountancy_admin_tax','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163548,'auguria',1,'','left','accountancy',163538,NULL,NULL,80,'/admin/dict.php?id=17&from=accountancy&mainmenu=accountancy&leftmenu=accountancy_admin','','MenuExpenseReportAccounts',NULL,'accountancy',2,'accountancy_admin_expensereport','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $conf->expensereport->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163549,'auguria',1,'','left','accountancy',163538,NULL,NULL,90,'/accountancy/admin/productaccount.php?mainmenu=accountancy&leftmenu=accountancy_admin','','MenuProductsAccounts',NULL,'accountancy',2,'accountancy_admin_product','$user->rights->accounting->chartofaccount','$conf->accounting->enabled && $leftmenu==\"accountancy_admin\"',0,'2017-08-30 15:14:30'),(163587,'auguria',1,'','left','accountancy',161101,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders',NULL,'withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2017-08-30 15:14:30'),(163589,'auguria',1,'','left','accountancy',163587,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163590,'auguria',1,'','left','accountancy',163587,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163591,'auguria',1,'','left','accountancy',163587,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163593,'auguria',1,'','left','accountancy',163587,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163594,'auguria',1,'','left','accountancy',163587,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics',NULL,'withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2017-08-30 15:14:30'),(163687,'auguria',1,'','left','accountancy',161101,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash',NULL,'banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2017-08-30 15:14:30'),(163688,'auguria',1,'','left','accountancy',163687,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount',NULL,'banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163690,'auguria',1,'','left','accountancy',163687,NULL,NULL,2,'/compta/bank/bankentries.php?leftmenu=bank','','ListTransactions',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163691,'auguria',1,'','left','accountancy',163687,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory',NULL,'banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163693,'auguria',1,'','left','accountancy',163687,NULL,NULL,5,'/compta/bank/transfer.php?leftmenu=bank','','BankTransfers',NULL,'banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2017-08-30 15:14:30'),(163737,'auguria',1,'','left','accountancy',161101,NULL,NULL,4,'/categories/index.php?leftmenu=bank&type=5','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163738,'auguria',1,'','left','accountancy',163737,NULL,NULL,0,'/categories/card.php?leftmenu=bank&action=create&type=5','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(163787,'auguria',1,'','left','accountancy',161093,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings',NULL,'main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2017-08-30 15:14:30'),(163792,'auguria',1,'','left','accountancy',163487,NULL,NULL,1,'','','Journalization',NULL,'main',1,'','$user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163793,'auguria',1,'','left','accountancy',163792,NULL,NULL,4,'/accountancy/journal/sellsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=1','','SellsJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163794,'auguria',1,'','left','accountancy',163792,NULL,NULL,1,'/accountancy/journal/bankjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=3','','BankJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163795,'auguria',1,'','left','accountancy',163792,NULL,NULL,2,'/accountancy/journal/expensereportsjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=6','','ExpenseReportJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163796,'auguria',1,'','left','accountancy',163792,NULL,NULL,3,'/accountancy/journal/purchasesjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=2','','PurchasesJournal',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2017-08-30 15:14:30'),(163798,'auguria',1,'','left','accountancy',163787,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163799,'auguria',1,'','left','accountancy',163788,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163800,'auguria',1,'','left','accountancy',163787,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover',NULL,'main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163801,'auguria',1,'','left','accountancy',163790,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163802,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163803,'auguria',1,'','left','accountancy',163790,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices',NULL,'main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2017-08-30 15:14:30'),(163887,'auguria',1,'','left','products',161090,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products',NULL,'products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163888,'auguria',1,'','left','products',163887,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct',NULL,'products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163889,'auguria',1,'','left','products',163887,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List',NULL,'products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163890,'auguria',1,'','left','products',163887,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2017-08-30 15:14:30'),(163891,'auguria',1,'','left','products',163887,NULL,NULL,7,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics',NULL,'main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(163892,'auguria',1,'','left','products',163887,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163893,'auguria',1,'','left','products',163887,NULL,NULL,6,'/product/stock/productlot_list.php','','LotSerial',NULL,'products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2017-08-30 15:14:30'),(163987,'auguria',1,'','left','products',161090,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services',NULL,'products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163988,'auguria',1,'','left','products',163987,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService',NULL,'products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163989,'auguria',1,'','left','products',163987,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List',NULL,'products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2017-08-30 15:14:30'),(163990,'auguria',1,'','left','products',163987,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics',NULL,'main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2017-08-30 15:14:30'),(164187,'auguria',1,'','left','products',161090,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock',NULL,'stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164188,'auguria',1,'','left','products',164187,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse',NULL,'stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164189,'auguria',1,'','left','products',164187,NULL,NULL,1,'/product/stock/list.php','','List',NULL,'stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164191,'auguria',1,'','left','products',164187,NULL,NULL,3,'/product/stock/mouvement.php','','Movements',NULL,'stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164192,'auguria',1,'','left','products',164187,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(164193,'auguria',1,'','left','products',164187,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort',NULL,'stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2017-08-30 15:14:30'),(164287,'auguria',1,'','left','products',161090,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164288,'auguria',1,'','left','products',164287,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164487,'auguria',1,'','left','project',161094,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164687,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects',NULL,'projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164688,'auguria',1,'','left','project',164687,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164689,'auguria',1,'','left','project',164687,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164690,'auguria',1,'','left','project',164687,NULL,NULL,3,'/projet/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2017-08-30 15:14:30'),(164787,'auguria',1,'','left','project',161094,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities',NULL,'projects',0,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164788,'auguria',1,'','left','project',164787,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask',NULL,'projects',1,'','$user->rights->projet->creer','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164789,'auguria',1,'','left','project',164787,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164791,'auguria',1,'','left','project',164787,NULL,NULL,4,'/projet/tasks/stats/index.php?leftmenu=projects','','Statistics',NULL,'projects',1,'','$user->rights->projet->lire','$conf->projet->enabled && $conf->global->PROJECT_USE_TASKS',2,'2017-08-30 15:14:30'),(164891,'auguria',1,'','left','project',161094,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=6','','Categories',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164892,'auguria',1,'','left','project',164891,NULL,NULL,0,'/categories/card.php?action=create&type=6','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2017-08-30 15:14:30'),(164987,'auguria',1,'','left','tools',161095,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings',NULL,'mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164988,'auguria',1,'','left','tools',164987,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing',NULL,'mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(164989,'auguria',1,'','left','tools',164987,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List',NULL,'mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2017-08-30 15:14:30'),(165187,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport',NULL,'exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165188,'auguria',1,'','left','tools',165187,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport',NULL,'exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2017-08-30 15:14:30'),(165217,'auguria',1,'','left','tools',161095,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport',NULL,'exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165218,'auguria',1,'','left','tools',165217,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport',NULL,'exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2017-08-30 15:14:30'),(165287,'auguria',1,'','left','members',161100,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members',NULL,'members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165288,'auguria',1,'','left','members',165287,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember',NULL,'members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165289,'auguria',1,'','left','members',165287,NULL,NULL,1,'/adherents/list.php','','List',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165290,'auguria',1,'','left','members',165289,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165291,'auguria',1,'','left','members',165289,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165292,'auguria',1,'','left','members',165289,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165293,'auguria',1,'','left','members',165289,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165294,'auguria',1,'','left','members',165289,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated',NULL,'members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165295,'auguria',1,'','left','members',165287,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165387,'auguria',1,'','left','members',161100,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions',NULL,'compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165388,'auguria',1,'','left','members',165387,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription',NULL,'compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165389,'auguria',1,'','left','members',165387,NULL,NULL,1,'/adherents/subscription/list.php?leftmenu=members','','List',NULL,'compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165390,'auguria',1,'','left','members',165387,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats',NULL,'members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165589,'auguria',1,'','left','members',165287,NULL,NULL,9,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd',NULL,'members',1,'','$user->rights->adherent->export','! empty($conf->global->MEMBER_LINK_TO_HTPASSWDFILE) && $conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165590,'auguria',1,'','left','members',165287,NULL,NULL,10,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards',NULL,'members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165687,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/user/index.php?leftmenu=hrm&mode=employee','','Employees',NULL,'hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165688,'auguria',1,'','left','hrm',165687,NULL,NULL,1,'/user/card.php?action=create&employee=1','','NewEmployee',NULL,'hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165689,'auguria',1,'','left','hrm',165687,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee&contextpage=employeelist','','List',NULL,'hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2017-08-30 15:14:30'),(165787,'auguria',1,'','left','members',161100,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes',NULL,'members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165788,'auguria',1,'','left','members',165787,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(165789,'auguria',1,'','left','members',165787,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List',NULL,'members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2017-08-30 15:14:30'),(166087,'auguria',1,'','left','hrm',161102,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu',NULL,'holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166088,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP',NULL,'holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166089,'auguria',1,'','left','hrm',166087,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List',NULL,'holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166090,'auguria',1,'','left','hrm',166089,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove',NULL,'trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166091,'auguria',1,'','left','hrm',166087,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166092,'auguria',1,'','left','hrm',166087,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP',NULL,'holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2017-08-30 15:14:30'),(166187,'auguria',1,'','left','commercial',161092,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders',NULL,'orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166188,'auguria',1,'','left','commercial',166187,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder',NULL,'orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166189,'auguria',1,'','left','commercial',166187,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&search_status=0','','List',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166195,'auguria',1,'','left','commercial',166187,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics',NULL,'orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2017-08-30 15:14:30'),(166287,'auguria',1,'','left','members',161100,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort',NULL,'categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166288,'auguria',1,'','left','members',166287,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory',NULL,'categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2017-08-30 15:14:30'),(166387,'auguria',1,'','left','hrm',161102,NULL,NULL,5,'/expensereport/index.php?leftmenu=expensereport','','TripsAndExpenses',NULL,'trips',0,'expensereport','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166388,'auguria',1,'','left','hrm',166387,NULL,NULL,1,'/expensereport/card.php?action=create&leftmenu=expensereport','','New',NULL,'trips',1,'','$user->rights->expensereport->creer','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166389,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/list.php?leftmenu=expensereport','','List',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166390,'auguria',1,'','left','hrm',166389,NULL,NULL,2,'/expensereport/list.php?search_status=2&leftmenu=expensereport','','ListToApprove',NULL,'trips',2,'','$user->rights->expensereport->approve','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(166391,'auguria',1,'','left','hrm',166387,NULL,NULL,2,'/expensereport/stats/index.php?leftmenu=expensereport','','Statistics',NULL,'trips',1,'','$user->rights->expensereport->lire','$conf->expensereport->enabled',0,'2017-08-30 15:14:30'),(167087,'all',1,'agenda','top','agenda',0,NULL,NULL,86,'/comm/action/index.php','','TMenuAgenda','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167088,'all',1,'agenda','left','agenda',167087,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167089,'all',1,'agenda','left','agenda',167088,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167090,'all',1,'agenda','left','agenda',167088,NULL,NULL,140,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda','','Calendar','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167091,'all',1,'agenda','left','agenda',167090,NULL,NULL,141,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167092,'all',1,'agenda','left','agenda',167090,NULL,NULL,142,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167093,'all',1,'agenda','left','agenda',167090,NULL,NULL,143,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167094,'all',1,'agenda','left','agenda',167090,NULL,NULL,144,'/comm/action/index.php?action=default&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167095,'all',1,'agenda','left','agenda',167088,NULL,NULL,110,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda','','List','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167096,'all',1,'agenda','left','agenda',167095,NULL,NULL,111,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167097,'all',1,'agenda','left','agenda',167095,NULL,NULL,112,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167098,'all',1,'agenda','left','agenda',167095,NULL,NULL,113,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167099,'all',1,'agenda','left','agenda',167095,NULL,NULL,114,'/comm/action/list.php?action=show_list&mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2021-07-11 17:49:45'),(167100,'all',1,'agenda','left','agenda',167088,NULL,NULL,160,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2021-07-11 17:49:45'),(167101,'all',1,'agenda','left','agenda',167088,NULL,NULL,170,'/categories/index.php?mainmenu=agenda&leftmenu=agenda&type=10','','Categories','','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->categorie->enabled',2,'2021-07-11 17:49:45'),(167102,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2021-07-11 17:49:46'),(167103,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && preg_match(\'/^(admintools|all)/\',$leftmenu)',0,'2021-07-11 17:49:46'),(167104,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?leftmenu=admintools','','CronList','','cron',NULL,NULL,'$user->rights->cron->read','$conf->cron->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',2,'2021-07-11 17:49:46'),(167105,'all',1,'blockedlog','left','tools',-1,NULL,'tools',200,'/blockedlog/admin/blockedlog_list.php?mainmenu=tools&leftmenu=blockedlogbrowser','','BrowseBlockedLog','','blockedlog',NULL,'blockedlogbrowser','$user->rights->blockedlog->read','$conf->blockedlog->enabled',2,'2021-07-11 17:49:46'),(167106,'all',1,'ecm','top','ecm',0,NULL,NULL,82,'/ecm/index.php','','MenuECM','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2021-07-11 17:49:46'),(167107,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-07-11 17:49:46'),(167108,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2021-07-11 17:49:46'),(167109,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','($user->rights->ecm->read || $user->rights->ecm->upload) && ! empty($conf->global->ECM_AUTO_TREE_ENABLED)',2,'2021-07-11 17:49:46'),(167110,'all',1,'margins','left','billing',-1,NULL,'billing',100,'/margin/index.php','','Margins','','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2021-07-11 17:49:47'),(167111,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-07-11 17:49:47'),(167112,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2021-07-11 17:49:47'),(167113,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2021-07-11 17:49:47'),(167114,'all',1,'printing','left','home',-1,'admintools','home',300,'/printing/index.php?mainmenu=home&leftmenu=admintools','','MenuDirectPrinting','','printing',NULL,NULL,'$user->rights->printing->read','$conf->printing->enabled && preg_match(\'/^(admintools|all)/\', $leftmenu)',0,'2021-07-11 17:49:47'),(167115,'all',1,'recruitment','left','hrm',-1,NULL,'hrm',1001,'/recruitment/recruitmentindex.php','','Recruitment','','recruitment',NULL,'recruitmentjobposition','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167116,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1002,'/recruitment/recruitmentjobposition_card.php?action=create','','NewPositionToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167117,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1003,'/recruitment/recruitmentjobposition_list.php','','ListOfPositionsToBeFilled','','recruitment',NULL,'recruitment_recruitmentjobposition_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167118,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1004,'/recruitment/recruitmentcandidature_card.php?action=create','','NewCandidature','','recruitment',NULL,'recruitment_recruitmentcandidature_new','$user->rights->recruitment->recruitmentjobposition->write','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167119,'all',1,'recruitment','left','hrm',-1,'recruitmentjobposition','hrm',1005,'/recruitment/recruitmentcandidature_list.php','','ListOfCandidatures','','recruitment',NULL,'recruitment_recruitmentcandidature_list','$user->rights->recruitment->recruitmentjobposition->read','$conf->recruitment->enabled',2,'2021-07-11 17:49:47'),(167120,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','','resource',NULL,'resource','$user->rights->resource->read','1',0,'2021-07-11 17:49:47'),(167121,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/card.php?action=create','','MenuResourceAdd','','resource',NULL,'resource_add','$user->rights->resource->write','1',0,'2021-07-11 17:49:47'),(167122,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','','resource',NULL,'resource_list','$user->rights->resource->read','1',0,'2021-07-11 17:49:47'),(167123,'all',1,'stripe','left','bank',-1,NULL,'bank',100,'','','StripeAccount','','stripe',NULL,'stripe','$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167124,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/charge.php','','StripeChargeList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167125,'all',1,'stripe','left','bank',-1,'stripe','bank',102,'/stripe/transaction.php','','StripeTransactionList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167126,'all',1,'stripe','left','bank',-1,'stripe','bank',103,'/stripe/payout.php','','StripePayoutList','','stripe',NULL,NULL,'$user->rights->banque->lire','$conf->stripe->enabled && $conf->banque->enabled && $conf->global->MAIN_FEATURES_LEVEL >= 1',0,'2021-07-11 17:49:47'),(167127,'all',1,'ticket','left','ticket',-1,NULL,'ticket',101,'/ticket/index.php','','Ticket','','ticket',NULL,'ticket','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-07-11 17:49:47'),(167128,'all',1,'ticket','left','ticket',-1,'ticket','ticket',102,'/ticket/card.php?action=create','','NewTicket','','ticket',NULL,NULL,'$user->rights->ticket->write','$conf->ticket->enabled',2,'2021-07-11 17:49:47'),(167129,'all',1,'ticket','left','ticket',-1,'ticket','ticket',103,'/ticket/list.php?search_fk_status=non_closed','','List','','ticket',NULL,'ticketlist','$user->rights->ticket->read','$conf->ticket->enabled',2,'2021-07-11 17:49:47'),(167130,'all',1,'ticket','left','ticket',-1,'ticket','ticket',105,'/ticket/list.php?mode=mine&search_fk_status=non_closed','','MenuTicketMyAssign','','ticket',NULL,'ticketmy','$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-07-11 17:49:47'),(167131,'all',1,'ticket','left','ticket',-1,'ticket','ticket',107,'/ticket/stats/index.php','','Statistics','','ticket',NULL,NULL,'$user->rights->ticket->read','$conf->ticket->enabled',0,'2021-07-11 17:49:47'),(167132,'all',1,'takepos','top','takepos',0,NULL,NULL,1001,'/takepos/index.php','takepos','PointOfSaleShort','','cashdesk',NULL,NULL,'$user->rights->takepos->run','$conf->takepos->enabled',2,'2021-07-11 17:49:48'),(167133,'all',1,'website','top','website',0,NULL,NULL,100,'/website/index.php','','WebSites','','website',NULL,NULL,'$user->rights->website->read','$conf->website->enabled',2,'2021-07-11 17:49:48'); /*!40000 ALTER TABLE `llx_menu` ENABLE KEYS */; UNLOCK TABLES; @@ -8721,32 +8028,6 @@ LOCK TABLES `llx_mrp_mo_extrafields` WRITE; /*!40000 ALTER TABLE `llx_mrp_mo_extrafields` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_mrp_myobject_extrafields` --- - -DROP TABLE IF EXISTS `llx_mrp_myobject_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_mrp_myobject_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`), - KEY `idx_fk_object` (`fk_object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_mrp_myobject_extrafields` --- - -LOCK TABLES `llx_mrp_myobject_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_mrp_myobject_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_mrp_myobject_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_mrp_production` -- @@ -9204,29 +8485,6 @@ INSERT INTO `llx_opensurvey_user_studs` VALUES (1,'gfdgdf','om4e7azfiurnjtqe','0 /*!40000 ALTER TABLE `llx_opensurvey_user_studs` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_origines` --- - -DROP TABLE IF EXISTS `llx_origines`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_origines` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `source` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_origines` --- - -LOCK TABLES `llx_origines` WRITE; -/*!40000 ALTER TABLE `llx_origines` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_origines` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_overwrite_trans` -- @@ -9317,7 +8575,7 @@ CREATE TABLE `llx_paiement` ( LOCK TABLES `llx_paiement` WRITE; /*!40000 ALTER TABLE `llx_paiement` DISABLE KEYS */; -INSERT INTO `llx_paiement` VALUES (3,'',NULL,1,'2013-07-18 20:50:47','2020-12-10 12:24:22','2020-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(5,'',NULL,1,'2013-08-01 03:34:11','2020-12-10 12:24:22','2020-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(6,'',NULL,1,'2013-08-06 20:33:54','2020-12-10 12:24:22','2020-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(8,'',NULL,1,'2013-08-08 02:53:40','2020-12-10 12:24:22','2020-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(9,'',NULL,1,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(17,'',NULL,1,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(18,'',NULL,1,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(19,'',NULL,1,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(20,'',NULL,1,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(21,'',NULL,1,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(23,'',NULL,1,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(24,'',NULL,1,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(25,'',NULL,1,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(26,'',NULL,1,'2016-03-02 19:57:58','2020-12-10 12:24:23','2020-07-09 12:00:00',605.00000000,2,'','',24,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(29,'',NULL,1,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19 12:00:00',500.00000000,4,'','',26,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(30,'',NULL,1,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21 12:00:00',400.00000000,2,'','',27,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(32,'',NULL,1,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03 12:00:00',-400.00000000,4,'','',28,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(33,'',NULL,1,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10 12:00:00',-300.00000000,4,'','',29,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(34,'PAY1603-0001',NULL,1,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22 12:00:00',150.00000000,7,'','',33,12,NULL,0,0,0.00000000,150.00000000,NULL,NULL),(35,'PAY1603-0002',NULL,1,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25 12:00:00',140.00000000,3,'','',34,12,NULL,0,0,0.00000000,140.00000000,NULL,NULL),(36,'PAY1702-0003',NULL,1,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21 12:00:00',50.00000000,3,'T170201','',37,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(38,'PAY1803-0004',NULL,1,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16 12:00:00',10.00000000,7,'','',39,12,NULL,0,0,0.00000000,10.00000000,NULL,NULL),(39,'PAY1801-0005',NULL,1,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19 12:00:00',5.63000000,4,'','',41,12,NULL,0,0,0.00000000,5.63000000,NULL,NULL),(40,'PAY2001-0006',NULL,1,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16 12:00:00',20.50000000,2,'','',50,12,NULL,0,0,0.00000000,20.50000000,NULL,NULL),(41,'PAY2001-0007',NULL,1,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2017',53,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(42,'PAY2001-0008',NULL,1,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2018',54,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(43,'PAY2001-0009',NULL,1,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,6,'','Subscription 2019',55,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL); +INSERT INTO `llx_paiement` VALUES (3,'',NULL,1,'2013-07-18 20:50:47','2021-07-11 17:49:28','2021-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(5,'',NULL,1,'2013-08-01 03:34:11','2020-12-10 12:24:22','2020-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(6,'',NULL,1,'2013-08-06 20:33:54','2020-12-10 12:24:22','2020-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(8,'',NULL,1,'2013-08-08 02:53:40','2020-12-10 12:24:22','2020-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(9,'',NULL,1,'2013-08-08 02:55:58','2020-12-10 12:24:23','2020-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(17,'',NULL,1,'2014-12-09 15:28:44','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(18,'',NULL,1,'2014-12-09 15:28:53','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(19,'',NULL,1,'2014-12-09 17:35:55','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(20,'',NULL,1,'2014-12-09 17:37:02','2020-12-10 12:24:23','2020-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(21,'',NULL,1,'2014-12-09 18:35:07','2020-12-10 12:24:23','2020-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(23,'',NULL,1,'2014-12-12 18:54:33','2021-04-15 10:22:31','2020-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(24,'',NULL,1,'2015-03-06 16:48:16','2021-04-15 10:22:31','2021-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(25,'',NULL,1,'2015-03-20 14:30:11','2021-04-15 10:22:31','2021-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(26,'',NULL,1,'2016-03-02 19:57:58','2021-07-11 17:49:28','2021-07-09 12:00:00',605.00000000,2,'','',24,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(29,'',NULL,1,'2016-03-02 20:01:39','2021-04-15 10:22:31','2021-03-19 12:00:00',500.00000000,4,'','',26,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(30,'',NULL,1,'2016-03-02 20:02:06','2021-04-15 10:22:31','2021-03-21 12:00:00',400.00000000,2,'','',27,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(32,'',NULL,1,'2016-03-03 19:22:32','2020-12-10 12:24:23','2020-10-03 12:00:00',-400.00000000,4,'','',28,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(33,'',NULL,1,'2016-03-03 19:23:16','2021-04-15 10:22:31','2021-03-10 12:00:00',-300.00000000,4,'','',29,1,NULL,0,0,0.00000000,0.00000000,NULL,NULL),(34,'PAY1603-0001',NULL,1,'2017-02-06 08:10:24','2021-04-15 10:22:31','2021-03-22 12:00:00',150.00000000,7,'','',33,12,NULL,0,0,0.00000000,150.00000000,NULL,NULL),(35,'PAY1603-0002',NULL,1,'2017-02-06 08:10:50','2021-04-15 10:22:31','2021-03-25 12:00:00',140.00000000,3,'','',34,12,NULL,0,0,0.00000000,140.00000000,NULL,NULL),(36,'PAY1702-0003',NULL,1,'2017-02-21 16:07:43','2021-04-15 10:22:31','2021-02-21 12:00:00',50.00000000,3,'T170201','',37,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(38,'PAY1803-0004',NULL,1,'2018-03-16 13:59:31','2021-04-15 10:22:31','2021-03-16 12:00:00',10.00000000,7,'','',39,12,NULL,0,0,0.00000000,10.00000000,NULL,NULL),(39,'PAY1801-0005',NULL,1,'2019-10-04 10:28:14','2021-04-15 10:22:31','2021-01-19 12:00:00',5.63000000,4,'','',41,12,NULL,0,0,0.00000000,5.63000000,NULL,NULL),(40,'PAY2001-0006',NULL,1,'2020-01-16 02:36:48','2021-04-15 10:22:31','2021-01-16 12:00:00',20.50000000,2,'','',50,12,NULL,0,0,0.00000000,20.50000000,NULL,NULL),(41,'PAY2001-0007',NULL,1,'2020-01-21 10:23:17','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2017',53,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(42,'PAY2001-0008',NULL,1,'2020-01-21 10:23:28','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,7,'','Subscription 2018',54,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL),(43,'PAY2001-0009',NULL,1,'2020-01-21 10:23:49','2021-04-15 10:22:31','2021-01-21 00:00:00',50.00000000,6,'','Subscription 2019',55,12,NULL,0,0,0.00000000,50.00000000,NULL,NULL); /*!40000 ALTER TABLE `llx_paiement` ENABLE KEYS */; UNLOCK TABLES; @@ -9482,6 +8740,7 @@ CREATE TABLE `llx_partnership` ( `count_last_url_check_error` int(11) DEFAULT 0, `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, `model_pdf` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `last_check_backlink` datetime DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_partnership_rowid` (`rowid`), KEY `idx_partnership_ref` (`ref`), @@ -9545,6 +8804,8 @@ CREATE TABLE `llx_payment_donation` ( `fk_typepayment` int(11) NOT NULL, `num_payment` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, `note` text COLLATE utf8_unicode_ci DEFAULT NULL, + `ext_payment_id` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, + `ext_payment_site` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, `fk_bank` int(11) NOT NULL, `fk_user_creat` int(11) DEFAULT NULL, `fk_user_modif` int(11) DEFAULT NULL, @@ -9558,7 +8819,7 @@ CREATE TABLE `llx_payment_donation` ( LOCK TABLES `llx_payment_donation` WRITE; /*!40000 ALTER TABLE `llx_payment_donation` DISABLE KEYS */; -INSERT INTO `llx_payment_donation` VALUES (1,3,'2017-09-06 20:08:36','2017-09-06 16:08:36','2017-09-06 12:00:00',10.00000000,4,'','',38,12,NULL); +INSERT INTO `llx_payment_donation` VALUES (1,3,'2017-09-06 20:08:36','2017-09-06 16:08:36','2017-09-06 12:00:00',10.00000000,4,'','',NULL,NULL,38,12,NULL); /*!40000 ALTER TABLE `llx_payment_donation` ENABLE KEYS */; UNLOCK TABLES; @@ -9781,41 +9042,6 @@ LOCK TABLES `llx_payment_vat` WRITE; /*!40000 ALTER TABLE `llx_payment_vat` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_pointage` --- - -DROP TABLE IF EXISTS `llx_pointage`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_pointage` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `fk_user` int(11) DEFAULT NULL, - `datedeb` datetime DEFAULT NULL, - `datefin` datetime DEFAULT NULL, - `commentaire_in` text COLLATE utf8_unicode_ci DEFAULT NULL, - `commentaire_out` text COLLATE utf8_unicode_ci DEFAULT NULL, - `statut` int(11) DEFAULT NULL, - `fk_user_modify_by` int(11) NOT NULL DEFAULT 0, - `datemodif` datetime DEFAULT NULL, - `ip_deb` text COLLATE utf8_unicode_ci DEFAULT NULL, - `ip_fin` text COLLATE utf8_unicode_ci DEFAULT NULL, - `created` datetime DEFAULT NULL, - `fk_user_created_by` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_pointage` --- - -LOCK TABLES `llx_pointage` WRITE; -/*!40000 ALTER TABLE `llx_pointage` DISABLE KEYS */; -INSERT INTO `llx_pointage` VALUES (1,12,'2019-06-19 11:51:00','2019-06-19 11:51:00','','',2,0,NULL,'127.0.0.1','127.0.0.1','2019-06-19 11:51:00',0); -/*!40000 ALTER TABLE `llx_pointage` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_pos_cash_fence` -- @@ -10029,112 +9255,6 @@ LOCK TABLES `llx_prelevement_rejet` WRITE; /*!40000 ALTER TABLE `llx_prelevement_rejet` ENABLE KEYS */; UNLOCK TABLES; --- --- Table structure for table `llx_prestashopget_myobject` --- - -DROP TABLE IF EXISTS `llx_prestashopget_myobject`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_prestashopget_myobject` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `entity` int(11) NOT NULL DEFAULT 1, - `label` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `qty` int(11) DEFAULT NULL, - `status` int(11) DEFAULT NULL, - `date_creation` datetime NOT NULL, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_prestashopget_myobject` --- - -LOCK TABLES `llx_prestashopget_myobject` WRITE; -/*!40000 ALTER TABLE `llx_prestashopget_myobject` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_prestashopget_myobject` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_prestashopget_myobject_extrafields` --- - -DROP TABLE IF EXISTS `llx_prestashopget_myobject_extrafields`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_prestashopget_myobject_extrafields` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `tms` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fk_object` int(11) NOT NULL, - `import_key` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_prestashopget_myobject_extrafields` --- - -LOCK TABLES `llx_prestashopget_myobject_extrafields` WRITE; -/*!40000 ALTER TABLE `llx_prestashopget_myobject_extrafields` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_prestashopget_myobject_extrafields` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_printer_receipt` --- - -DROP TABLE IF EXISTS `llx_printer_receipt`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_printer_receipt` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - `fk_type` int(11) DEFAULT NULL, - `fk_profile` int(11) DEFAULT NULL, - `parameter` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - `entity` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_printer_receipt` --- - -LOCK TABLES `llx_printer_receipt` WRITE; -/*!40000 ALTER TABLE `llx_printer_receipt` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_printer_receipt` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Table structure for table `llx_printer_receipt_template` --- - -DROP TABLE IF EXISTS `llx_printer_receipt_template`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `llx_printer_receipt_template` ( - `rowid` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL, - `template` text COLLATE utf8_unicode_ci DEFAULT NULL, - `entity` int(11) DEFAULT NULL, - PRIMARY KEY (`rowid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `llx_printer_receipt_template` --- - -LOCK TABLES `llx_printer_receipt_template` WRITE; -/*!40000 ALTER TABLE `llx_printer_receipt_template` DISABLE KEYS */; -/*!40000 ALTER TABLE `llx_printer_receipt_template` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Table structure for table `llx_printing` -- @@ -10251,6 +9371,8 @@ CREATE TABLE `llx_product` ( `net_measure_units` tinyint(4) DEFAULT NULL, `fk_state` int(11) DEFAULT NULL, `batch_mask` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, + `lifetime` int(11) DEFAULT NULL, + `qc_frequency` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_product_ref` (`ref`,`entity`), UNIQUE KEY `uk_product_barcode` (`barcode`,`fk_barcode_type`,`entity`), @@ -10279,7 +9401,7 @@ CREATE TABLE `llx_product` ( LOCK TABLES `llx_product` WRITE; /*!40000 ALTER TABLE `llx_product` DISABLE KEYS */; -INSERT INTO `llx_product` VALUES (1,'2012-07-08 14:33:17','2020-01-18 19:17:03',0,0,'PINKDRESS',1,NULL,'Pink dress','A beatifull pink dress','','',NULL,9.00000000,10.12500000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,12,1,1,0,1,0,'',NULL,NULL,'123456789066',2,'','','','',NULL,NULL,NULL,670,-3,NULL,0,NULL,0,NULL,0,2.8,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'2012-07-09 00:30:01','2019-11-28 15:09:50',0,0,'PEARPIE',1,NULL,'Pear Pie','','','',NULL,10.00000000,12.00000000,8.33333000,10.00000000,'TTC',20.000,0,0.000,'0',0.000,'0',1,12,1,1,0,0,0,'',NULL,NULL,'123456789077',2,'','','','',NULL,NULL,NULL,NULL,0,NULL,0,NULL,0,NULL,0,998,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'2012-07-09 00:30:25','2018-01-16 16:40:03',0,0,'CAKECONTRIB',1,NULL,'Cake making contribution','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,1,'1m',NULL,NULL,'123456789088',2,'701CAKEM',NULL,NULL,'601CAKEM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2012-07-10 14:44:06','2021-04-15 11:40:18',0,0,'APPLEPIE',1,NULL,'Apple Pie','Nice Bio Apple Pie.
\r\n ','','',NULL,9.00000000,9.00000000,6.00000000,6.00000000,'HT',0.000,0,9.000,'1',9.000,'1',1,12,1,1,0,1,0,'',NULL,NULL,'123456789034',2,'701','','','601',NULL,NULL,NULL,500,-3,NULL,0,NULL,0,NULL,0,1021.2,10.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,'CGST+SGST',0,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2013-07-20 23:11:38','2018-01-16 16:18:24',0,0,'DOLIDROID',1,NULL,'DoliDroid, Android app for Dolibarr','DoliDroid is the Android front-end client for Dolibarr ERP & CRM web software.
\r\nThis application is not a standalone program. It is a front end to use a online hosted Dolibarr ERP & CRM software (an Open-source web software to manage your business).
\r\n

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

\r\n\r\n

WARNING ! 

\r\n\r\n

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

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

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

\r\n\r\n

WARNING ! 

\r\n\r\n

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

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


"; + + //²$crawledLinks[]=$link; +} + +/** + * @param string $doc Doc + * @param string $url URL + * @return string URL/Title + */ +function getDocTitle(&$doc, $url) +{ + $titleNodes=$doc->getElementsByTagName('title'); + if (count($titleNodes)==0 or !isset($titleNodes[0]->nodeValue)) + return $url; + $title=str_replace('', '\n', $titleNodes[0]->nodeValue); + return (strlen($title)<1)?$url:$title; +} + +/** + * @param string $doc Doc + * @return array Array + */ +function getDocMetaData(&$doc) +{ + $metaData=array(); + $metaNodes=$doc->getElementsByTagName('meta'); + foreach ($metaNodes as $node) + $metaData[$node->getAttribute("name")] = $node->getAttribute("content"); + if (!isset($metaData['description'])) + $metaData['description']='No Description Available'; + if (!isset($metaData['keywords'])) $metaData['keywords']=''; + return array( + 'keywords'=>str_replace('', '\n', $metaData['keywords']), + 'description'=>str_replace('', '\n', $metaData['description']) + ); +} + + +followLink("http://localhost/dolibarr_dev/htdocs"); diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 24d31acddd6..f8c0c95d3c1 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -91,7 +91,6 @@ if ($action == 'update') { if (!$error) { foreach ($list as $constname) { $constvalue = GETPOST($constname, 'alpha'); - var_dump($constname); if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) { $error++; } @@ -259,7 +258,7 @@ llxHeader('', $title); $linkback = ''; //$linkback = '' . $langs->trans("BackToModuleList") . ''; -print load_fiche_titre($langs->trans('ConfigAccountingExpert'), $linkback, 'accountancy'); +print load_fiche_titre($title, $linkback, 'accountancy'); print '
'; print ''; diff --git a/htdocs/accountancy/bookkeeping/card.php b/htdocs/accountancy/bookkeeping/card.php index 4c7194b2255..c156a388735 100644 --- a/htdocs/accountancy/bookkeeping/card.php +++ b/htdocs/accountancy/bookkeeping/card.php @@ -637,6 +637,8 @@ if ($action == 'create') { print_liste_field_titre("Credit", "", "", "", "", 'class="right"'); if (empty($object->date_validation)) { print_liste_field_titre("Action", "", "", "", "", 'width="60" class="center"'); + } else { + print_liste_field_titre(""); } print "\n"; @@ -683,8 +685,8 @@ if ($action == 'create') { print ''.price($line->debit).''; print ''.price($line->credit).''; - if (empty($line->date_export) || empty($line->date_validation)) { - print ''; + print ''; + if (empty($line->date_export) && empty($line->date_validation)) { print 'id . '&piece_num=' . urlencode($line->piece_num) . '&mode=' . urlencode($mode) . '&token=' . urlencode(newToken()) . '">'; print img_edit('', 0, 'class="marginrightonly"'); print '  '; @@ -713,7 +715,7 @@ if ($action == 'create') { setEventMessages(null, array($langs->trans('MvtNotCorrectlyBalanced', $total_debit, $total_credit)), 'warnings'); } - if (empty($object->date_export) || empty($object->date_validation)) { + if (empty($object->date_export) && empty($object->date_validation)) { if ($action == "" || $action == 'add') { print ''; print ''; diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php index a70bb710937..bc260c77ed3 100644 --- a/htdocs/accountancy/bookkeeping/list.php +++ b/htdocs/accountancy/bookkeeping/list.php @@ -366,42 +366,42 @@ if (empty($reshook)) { if (!empty($search_date_creation_start)) { $filter['t.date_creation>='] = $search_date_creation_start; $tmp = dol_getdate($search_date_creation_start); - $param .= '&date_creation_startmonth='.urlencode($tmp['mon']).'&date_creation_startday='.urlencode($tmp['mday']).'&date_creation_startyear='.urlencode($tmp['year']); + $param .= '&search_date_creation_startmonth='.urlencode($tmp['mon']).'&search_date_creation_startday='.urlencode($tmp['mday']).'&search_date_creation_startyear='.urlencode($tmp['year']); } if (!empty($search_date_creation_end)) { $filter['t.date_creation<='] = $search_date_creation_end; $tmp = dol_getdate($search_date_creation_end); - $param .= '&date_creation_endmonth='.urlencode($tmp['mon']).'&date_creation_endday='.urlencode($tmp['mday']).'&date_creation_endyear='.urlencode($tmp['year']); + $param .= '&search_date_creation_endmonth='.urlencode($tmp['mon']).'&search_date_creation_endday='.urlencode($tmp['mday']).'&search_date_creation_endyear='.urlencode($tmp['year']); } if (!empty($search_date_modification_start)) { $filter['t.tms>='] = $search_date_modification_start; $tmp = dol_getdate($search_date_modification_start); - $param .= '&date_modification_startmonth='.urlencode($tmp['mon']).'&date_modification_startday='.urlencode($tmp['mday']).'&date_modification_startyear='.urlencode($tmp['year']); + $param .= '&search_date_modification_startmonth='.urlencode($tmp['mon']).'&search_date_modification_startday='.urlencode($tmp['mday']).'&search_date_modification_startyear='.urlencode($tmp['year']); } if (!empty($search_date_modification_end)) { $filter['t.tms<='] = $search_date_modification_end; $tmp = dol_getdate($search_date_modification_end); - $param .= '&date_modification_endmonth='.urlencode($tmp['mon']).'&date_modification_endday='.urlencode($tmp['mday']).'&date_modification_endyear='.urlencode($tmp['year']); + $param .= '&search_date_modification_endmonth='.urlencode($tmp['mon']).'&search_date_modification_endday='.urlencode($tmp['mday']).'&search_date_modification_endyear='.urlencode($tmp['year']); } if (!empty($search_date_export_start)) { $filter['t.date_export>='] = $search_date_export_start; $tmp = dol_getdate($search_date_export_start); - $param .= '&date_export_startmonth='.urlencode($tmp['mon']).'&date_export_startday='.urlencode($tmp['mday']).'&date_export_startyear='.urlencode($tmp['year']); + $param .= '&search_date_export_startmonth='.urlencode($tmp['mon']).'&search_date_export_startday='.urlencode($tmp['mday']).'&search_date_export_startyear='.urlencode($tmp['year']); } if (!empty($search_date_export_end)) { $filter['t.date_export<='] = $search_date_export_end; $tmp = dol_getdate($search_date_export_end); - $param .= '&date_export_endmonth='.urlencode($tmp['mon']).'&date_export_endday='.urlencode($tmp['mday']).'&date_export_endyear='.urlencode($tmp['year']); + $param .= '&search_date_export_endmonth='.urlencode($tmp['mon']).'&search_date_export_endday='.urlencode($tmp['mday']).'&search_date_export_endyear='.urlencode($tmp['year']); } if (!empty($search_date_validation_start)) { $filter['t.date_validated>='] = $search_date_validation_start; $tmp = dol_getdate($search_date_validation_start); - $param .= '&date_validation_startmonth='.urlencode($tmp['mon']).'&date_validation_startday='.urlencode($tmp['mday']).'&date_validation_startyear='.urlencode($tmp['year']); + $param .= '&search_date_validation_startmonth='.urlencode($tmp['mon']).'&search_date_validation_startday='.urlencode($tmp['mday']).'&search_date_validation_startyear='.urlencode($tmp['year']); } if (!empty($search_date_validation_end)) { $filter['t.date_validated<='] = $search_date_validation_end; $tmp = dol_getdate($search_date_validation_end); - $param .= '&date_validation_endmonth='.urlencode($tmp['mon']).'&date_validation_endday='.urlencode($tmp['mday']).'&date_validation_endyear='.urlencode($tmp['year']); + $param .= '&search_date_validation_endmonth='.urlencode($tmp['mon']).'&search_date_validation_endday='.urlencode($tmp['mday']).'&search_date_validation_endyear='.urlencode($tmp['year']); } if (!empty($search_debit)) { $filter['t.debit'] = $search_debit; @@ -576,7 +576,7 @@ if (!empty($sortfield)) { // Export into a file with format defined into setup (FEC, CSV, ...) // Must be after definition of $sql if ($action == 'export_fileconfirm' && $user->rights->accounting->mouvements->export) { - // TODO Replace the fetchAll + ->export later that consume too much memory on large export with the query($sql) and loop on each line to export them. + // TODO Replace the fetchAll to get all ->line followed by call to ->export(). It consumew too much memory on large export. Replace this with the query($sql) and loop on each line to export them. $result = $object->fetchAll($sortorder, $sortfield, 0, 0, $filter, 'AND', (empty($conf->global->ACCOUNTING_REEXPORT) ? 0 : 1)); if ($result < 0) { @@ -822,7 +822,7 @@ if (!empty($arrayfields['t.piece_num']['checked'])) { // Code journal if (!empty($arrayfields['t.code_journal']['checked'])) { print ''; - print $formaccounting->multi_select_journal($search_ledger_code, 'search_ledger_code', 0, 1, 1, 1); + print $formaccounting->multi_select_journal($search_ledger_code, 'search_ledger_code', 0, 1, 1, 1, 'maxwidth150'); print ''; } // Date document @@ -865,7 +865,7 @@ if (!empty($arrayfields['t.subledger_account']['checked'])) { print $formaccounting->select_auxaccount($search_accountancy_aux_code_end, 'search_accountancy_aux_code_end', $langs->trans('to'), 'maxwidth250', 'subledgeraccount'); print ''; } else { - print ''; + print ''; } print ''; } @@ -904,10 +904,10 @@ print $hookmanager->resPrint; if (!empty($arrayfields['t.date_creation']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_creation_start, 'date_creation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_creation_start, 'search_date_creation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_creation_end, 'date_creation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print $form->selectDate($search_date_creation_end, 'search_date_creation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); print '
'; print ''; } @@ -915,10 +915,10 @@ if (!empty($arrayfields['t.date_creation']['checked'])) { if (!empty($arrayfields['t.tms']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_modification_start, 'date_modification_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_modification_start, 'search_date_modification_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_modification_end, 'date_modification_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_modification_end, 'search_date_modification_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print ''; } @@ -926,10 +926,10 @@ if (!empty($arrayfields['t.tms']['checked'])) { if (!empty($arrayfields['t.date_export']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_export_start, 'date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_export_start, 'search_date_export_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_export_end, 'date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print $form->selectDate($search_date_export_end, 'search_date_export_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); print '
'; print ''; } @@ -937,10 +937,10 @@ if (!empty($arrayfields['t.date_export']['checked'])) { if (!empty($arrayfields['t.date_validated']['checked'])) { print ''; print '
'; - print $form->selectDate($search_date_validation_start, 'date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print $form->selectDate($search_date_validation_start, 'search_date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); print '
'; print '
'; - print $form->selectDate($search_date_validation_end, 'date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print $form->selectDate($search_date_validation_end, 'search_date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); print '
'; print ''; } @@ -1243,7 +1243,7 @@ while ($i < min($num, $limit)) { // Action column print ''; - if (empty($line->date_export) || empty($line->date_validation)) { + if (empty($line->date_export) && empty($line->date_validation)) { if ($user->rights->accounting->mouvements->creer) { print '' . img_edit() . ''; } diff --git a/htdocs/accountancy/bookkeeping/listbyaccount.php b/htdocs/accountancy/bookkeeping/listbyaccount.php index 98c3f14191b..27f23d36a74 100644 --- a/htdocs/accountancy/bookkeeping/listbyaccount.php +++ b/htdocs/accountancy/bookkeeping/listbyaccount.php @@ -2,7 +2,7 @@ /* Copyright (C) 2016 Neil Orley * Copyright (C) 2013-2016 Olivier Geffroy * Copyright (C) 2013-2020 Florian Henry - * Copyright (C) 2013-2020 Alexandre Spangaro + * Copyright (C) 2013-2021 Alexandre Spangaro * Copyright (C) 2018 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -56,6 +56,14 @@ $search_date_export_endmonth = GETPOST('search_date_export_endmonth', 'int'); $search_date_export_endday = GETPOST('search_date_export_endday', 'int'); $search_date_export_start = dol_mktime(0, 0, 0, $search_date_export_startmonth, $search_date_export_startday, $search_date_export_startyear); $search_date_export_end = dol_mktime(23, 59, 59, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear); +$search_date_validation_startyear = GETPOST('search_date_validation_startyear', 'int'); +$search_date_validation_startmonth = GETPOST('search_date_validation_startmonth', 'int'); +$search_date_validation_startday = GETPOST('search_date_validation_startday', 'int'); +$search_date_validation_endyear = GETPOST('search_date_validation_endyear', 'int'); +$search_date_validation_endmonth = GETPOST('search_date_validation_endmonth', 'int'); +$search_date_validation_endday = GETPOST('search_date_validation_endday', 'int'); +$search_date_validation_start = dol_mktime(0, 0, 0, $search_date_validation_startmonth, $search_date_validation_startday, $search_date_validation_startyear); +$search_date_validation_end = dol_mktime(23, 59, 59, $search_date_validation_endmonth, $search_date_validation_endday, $search_date_validation_endyear); $search_accountancy_code = GETPOST("search_accountancy_code"); $search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha'); @@ -81,7 +89,7 @@ if (GETPOST("button_delmvt_x") || GETPOST("button_delmvt.x") || GETPOST("button_ } // Load variable for pagination -$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION); +$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION); $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); @@ -144,6 +152,7 @@ $arrayfields = array( 't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1), 't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1), 't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1), + 't.date_validated'=>array('label'=>$langs->trans("DateValidation"), 'checked'=>1), ); if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) { @@ -221,6 +230,14 @@ if (empty($reshook)) { $search_date_export_endyear = ''; $search_date_export_endmonth = ''; $search_date_export_endday = ''; + $search_date_validation_start = ''; + $search_date_validation_end = ''; + $search_date_validation_startyear = ''; + $search_date_validation_startmonth = ''; + $search_date_validation_startday = ''; + $search_date_validation_endyear = ''; + $search_date_validation_endmonth = ''; + $search_date_validation_endday = ''; $search_debit = ''; $search_credit = ''; $search_lettering_code = ''; @@ -301,6 +318,14 @@ if (empty($reshook)) { $filter['t.date_export<='] = $search_date_export_end; $param .= '&search_date_export_endmonth='.$search_date_export_endmonth.'&search_date_export_endday='.$search_date_export_endday.'&search_date_export_endyear='.$search_date_export_endyear; } + if (!empty($search_date_validation_start)) { + $filter['t.date_validated>='] = $search_date_validation_start; + $param .= '&search_date_validation_startmonth='.$search_date_validation_startmonth.'&search_date_validation_startday='.$search_date_validation_startday.'&search_date_validation_startyear='.$search_date_validation_startyear; + } + if (!empty($search_date_validation_end)) { + $filter['t.date_validated<='] = $search_date_validation_end; + $param .= '&search_date_validation_endmonth='.$search_date_validation_endmonth.'&search_date_validation_endday='.$search_date_validation_endday.'&search_date_validation_endyear='.$search_date_validation_endyear; + } } if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) { @@ -484,10 +509,9 @@ $moreforfilter = ''; $moreforfilter .= '
'; $moreforfilter .= $langs->trans('AccountAccounting').': '; $moreforfilter .= '
'; -$moreforfilter .= $langs->trans('From').' '; -$moreforfilter .= $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', 1, array(), 1, 1, 'maxwidth200'); -$moreforfilter .= ' '.$langs->trans('to').' '; -$moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', 1, array(), 1, 1, 'maxwidth200'); +$moreforfilter .= $formaccounting->select_account($search_accountancy_code_start, 'search_accountancy_code_start', $langs->trans('From'), array(), 1, 1, 'maxwidth200'); +$moreforfilter .= ' '; +$moreforfilter .= $formaccounting->select_account($search_accountancy_code_end, 'search_accountancy_code_end', $langs->trans('to'), array(), 1, 1, 'maxwidth200'); $moreforfilter .= '
'; $moreforfilter .= '
'; @@ -564,6 +588,17 @@ if (!empty($arrayfields['t.date_export']['checked'])) { print ''; print ''; } +// Date validation +if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''; + print '
'; + print $form->selectDate($search_date_validation_start, 'search_date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print '
'; + print '
'; + print $form->selectDate($search_date_validation_end, 'search_date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print '
'; + print ''; +} // Fields from hook $parameters = array('arrayfields'=>$arrayfields); @@ -605,6 +640,9 @@ if (!empty($arrayfields['t.lettering_code']['checked'])) { if (!empty($arrayfields['t.date_export']['checked'])) { print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center '); } +if (!empty($arrayfields['t.date_validated']['checked'])) { + print_liste_field_titre($arrayfields['t.date_validated']['label'], $_SERVER['PHP_SELF'], "t.date_validated", "", $param, '', $sortfield, $sortorder, 'center '); +} // Hook fields $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook @@ -632,20 +670,19 @@ while ($i < min($num, $limit)) { $accountg = length_accountg($line->numero_compte); //if (empty($accountg)) $accountg = '-'; + $colspan = 0; // colspan before field 'label of operation' + $colspanend = 3; // colspan after debit/credit + if (!empty($arrayfields['t.piece_num']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.code_journal']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_date']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_ref']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.label_operation']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.date_export']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.date_validating']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.lettering_code']['checked'])) { $colspanend++; } + // Is it a break ? if ($accountg != $displayed_account_number || !isset($displayed_account_number)) { - $colnumber = 5; - $colnumberend = 7; - - if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) { - $colnumber--; - } - if (empty($arrayfields['t.date_export']['checked'])) { - $colnumber--; - } - - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; // Show a subtotal by accounting account if (isset($displayed_account_number)) { print ''; @@ -845,6 +882,14 @@ while ($i < min($num, $limit)) { } } + // Validated operation date + if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''.dol_print_date($line->date_validation, 'dayhour').''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // Fields from hook $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook @@ -852,12 +897,14 @@ while ($i < min($num, $limit)) { // Action column print ''; - if (empty($line->date_export)) { + if (empty($line->date_export) && empty($line->date_validation)) { if ($user->rights->accounting->mouvements->creer) { - print ''.img_edit().''; + print '' . img_edit() . ''; } + } + if (empty($line->date_validation)) { if ($user->rights->accounting->mouvements->supprimer) { - print '   '.img_delete().''; + print ''.img_delete().''; } } print ''; @@ -874,9 +921,7 @@ while ($i < min($num, $limit)) { $i++; } -if ($num > 0) { - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; +if ($num > 0 && $colspan > 0) { print ''; print ''.$langs->trans("TotalForAccount").' '.$accountg.':'; print ''.price($sous_total_debit).''; diff --git a/htdocs/accountancy/bookkeeping/listbysubaccount.php b/htdocs/accountancy/bookkeeping/listbysubaccount.php index 20899c693c6..5e83c729fb1 100644 --- a/htdocs/accountancy/bookkeeping/listbysubaccount.php +++ b/htdocs/accountancy/bookkeeping/listbysubaccount.php @@ -2,8 +2,8 @@ /* Copyright (C) 2016 Neil Orley * Copyright (C) 2013-2016 Olivier Geffroy * Copyright (C) 2013-2020 Florian Henry - * Copyright (C) 2013-2020 Alexandre Spangaro - * Copyright (C) 2018-2020 Frédéric France + * Copyright (C) 2013-2021 Alexandre Spangaro + * Copyright (C) 2018-2020 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,7 +46,7 @@ $search_date_endyear = GETPOST('search_date_endyear', 'int'); $search_date_endmonth = GETPOST('search_date_endmonth', 'int'); $search_date_endday = GETPOST('search_date_endday', 'int'); $search_date_start = dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear); -$search_date_end = dol_mktime(0, 0, 0, $search_date_endmonth, $search_date_endday, $search_date_endyear); +$search_date_end = dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear); $search_doc_date = dol_mktime(0, 0, 0, GETPOST('doc_datemonth', 'int'), GETPOST('doc_dateday', 'int'), GETPOST('doc_dateyear', 'int')); $search_date_export_startyear = GETPOST('search_date_export_startyear', 'int'); $search_date_export_startmonth = GETPOST('search_date_export_startmonth', 'int'); @@ -55,7 +55,15 @@ $search_date_export_endyear = GETPOST('search_date_export_endyear', 'int'); $search_date_export_endmonth = GETPOST('search_date_export_endmonth', 'int'); $search_date_export_endday = GETPOST('search_date_export_endday', 'int'); $search_date_export_start = dol_mktime(0, 0, 0, $search_date_export_startmonth, $search_date_export_startday, $search_date_export_startyear); -$search_date_export_end = dol_mktime(0, 0, 0, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear); +$search_date_export_end = dol_mktime(23, 59, 59, $search_date_export_endmonth, $search_date_export_endday, $search_date_export_endyear); +$search_date_validation_startyear = GETPOST('search_date_validation_startyear', 'int'); +$search_date_validation_startmonth = GETPOST('search_date_validation_startmonth', 'int'); +$search_date_validation_startday = GETPOST('search_date_validation_startday', 'int'); +$search_date_validation_endyear = GETPOST('search_date_validation_endyear', 'int'); +$search_date_validation_endmonth = GETPOST('search_date_validation_endmonth', 'int'); +$search_date_validation_endday = GETPOST('search_date_validation_endday', 'int'); +$search_date_validation_start = dol_mktime(0, 0, 0, $search_date_validation_startmonth, $search_date_validation_startday, $search_date_validation_startyear); +$search_date_validation_end = dol_mktime(23, 59, 59, $search_date_validation_endmonth, $search_date_validation_endday, $search_date_validation_endyear); $search_accountancy_code = GETPOST("search_accountancy_code"); $search_accountancy_code_start = GETPOST('search_accountancy_code_start', 'alpha'); @@ -144,6 +152,7 @@ $arrayfields = array( 't.credit'=>array('label'=>$langs->trans("Credit"), 'checked'=>1), 't.lettering_code'=>array('label'=>$langs->trans("LetteringCode"), 'checked'=>1), 't.date_export'=>array('label'=>$langs->trans("DateExport"), 'checked'=>1), + 't.date_validated'=>array('label'=>$langs->trans("DateValidation"), 'checked'=>1), ); if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING)) { @@ -221,6 +230,14 @@ if (empty($reshook)) { $search_date_export_endyear = ''; $search_date_export_endmonth = ''; $search_date_export_endday = ''; + $search_date_validation_start = ''; + $search_date_validation_end = ''; + $search_date_validation_startyear = ''; + $search_date_validation_startmonth = ''; + $search_date_validation_startday = ''; + $search_date_validation_endyear = ''; + $search_date_validation_endmonth = ''; + $search_date_validation_endday = ''; $search_debit = ''; $search_credit = ''; $search_lettering_code = ''; @@ -301,6 +318,14 @@ if (empty($reshook)) { $filter['t.date_export<='] = $search_date_export_end; $param .= '&search_date_export_endmonth='.$search_date_export_endmonth.'&search_date_export_endday='.$search_date_export_endday.'&search_date_export_endyear='.$search_date_export_endyear; } + if (!empty($search_date_validation_start)) { + $filter['t.date_validated>='] = $search_date_validation_start; + $param .= '&search_date_validation_startmonth='.$search_date_validation_startmonth.'&search_date_validation_startday='.$search_date_validation_startday.'&search_date_validation_startyear='.$search_date_validation_startyear; + } + if (!empty($search_date_validation_end)) { + $filter['t.date_validated<='] = $search_date_validation_end; + $param .= '&search_date_validation_endmonth='.$search_date_validation_endmonth.'&search_date_validation_endday='.$search_date_validation_endday.'&search_date_validation_endyear='.$search_date_validation_endyear; + } } if ($action == 'delbookkeeping' && $user->rights->accounting->mouvements->supprimer) { @@ -373,7 +398,6 @@ $title_page = $langs->trans("Operations").' - '.$langs->trans("VueByAccountAccou llxHeader('', $title_page); - // List $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { @@ -448,7 +472,6 @@ print ''; print ''; - $parameters = array(); $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook if (empty($reshook)) { @@ -488,10 +511,9 @@ $moreforfilter = ''; $moreforfilter .= '
'; $moreforfilter .= $langs->trans('AccountAccounting').': '; $moreforfilter .= '
'; -$moreforfilter .= $langs->trans('From').' '; -$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_start, 'search_accountancy_code_start', 1, 'maxwidth200'); -$moreforfilter .= ' '.$langs->trans('to').' '; -$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_end, 'search_accountancy_code_end', 1, 'maxwidth200'); +$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_start, 'search_accountancy_code_start', $langs->trans('From'), 'maxwidth200'); +$moreforfilter .= ' '; +$moreforfilter .= $formaccounting->select_auxaccount($search_accountancy_code_end, 'search_accountancy_code_end', $langs->trans('to'), 'maxwidth200'); $moreforfilter .= '
'; $moreforfilter .= '
'; @@ -568,6 +590,17 @@ if (!empty($arrayfields['t.date_export']['checked'])) { print ''; print ''; } +// Date validation +if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''; + print '
'; + print $form->selectDate($search_date_validation_start, 'search_date_validation_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From")); + print '
'; + print '
'; + print $form->selectDate($search_date_validation_end, 'search_date_validation_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to")); + print '
'; + print ''; +} // Fields from hook $parameters = array('arrayfields'=>$arrayfields); @@ -609,6 +642,9 @@ if (!empty($arrayfields['t.lettering_code']['checked'])) { if (!empty($arrayfields['t.date_export']['checked'])) { print_liste_field_titre($arrayfields['t.date_export']['label'], $_SERVER['PHP_SELF'], "t.date_export", "", $param, '', $sortfield, $sortorder, 'center '); } +if (!empty($arrayfields['t.date_validated']['checked'])) { + print_liste_field_titre($arrayfields['t.date_validated']['label'], $_SERVER['PHP_SELF'], "t.date_validated", "", $param, '', $sortfield, $sortorder, 'center '); +} // Hook fields $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook @@ -636,21 +672,19 @@ while ($i < min($num, $limit)) { $accountg = length_accounta($line->subledger_account); //if (empty($accountg)) $accountg = '-'; + $colspan = 0; // colspan before field 'label of operation' + $colspanend = 3; // colspan after debit/credit + if (!empty($arrayfields['t.piece_num']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.code_journal']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_date']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.doc_ref']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.label_operation']['checked'])) { $colspan++; } + if (!empty($arrayfields['t.date_export']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.date_validating']['checked'])) { $colspanend++; } + if (!empty($arrayfields['t.lettering_code']['checked'])) { $colspanend++; } + // Is it a break ? if ($accountg != $displayed_account_number || !isset($displayed_account_number)) { - $colnumber = 5; - $colnumberend = 7; - - if (empty($conf->global->ACCOUNTING_ENABLE_LETTERING) || empty($arrayfields['t.lettering_code']['checked'])) { - $colnumber--; - } - if (empty($arrayfields['t.date_export']['checked'])) { - $colnumber--; - } - - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; - // Show a subtotal by accounting account if (isset($displayed_account_number)) { print ''; @@ -859,6 +893,14 @@ while ($i < min($num, $limit)) { } } + // Validated operation date + if (!empty($arrayfields['t.date_validated']['checked'])) { + print ''.dol_print_date($line->date_validation, 'dayhour').''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // Fields from hook $parameters = array('arrayfields'=>$arrayfields, 'obj'=>$obj); $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook @@ -866,12 +908,14 @@ while ($i < min($num, $limit)) { // Action column print ''; - if (empty($line->date_export)) { + if (empty($line->date_export) && empty($line->date_validation)) { if ($user->rights->accounting->mouvements->creer) { - print ''.img_edit().''; + print '' . img_edit() . ''; } + } + if (empty($line->date_validation)) { if ($user->rights->accounting->mouvements->supprimer) { - print '   '.img_delete().''; + print ''.img_delete().''; } } print ''; @@ -888,9 +932,7 @@ while ($i < min($num, $limit)) { $i++; } -if ($num > 0) { - $colspan = $totalarray['nbfield'] - $colnumber; - $colspanend = $totalarray['nbfield'] - $colnumberend; +if ($num > 0 && $colspan > 0) { print ''; print ''.$langs->trans("TotalForAccount").' '.$accountg.':'; print ''.price($sous_total_debit).''; diff --git a/htdocs/accountancy/class/accountancyexport.class.php b/htdocs/accountancy/class/accountancyexport.class.php index f007208cf57..d46580b98b2 100644 --- a/htdocs/accountancy/class/accountancyexport.class.php +++ b/htdocs/accountancy/class/accountancyexport.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2015 Florian Henry * Copyright (C) 2015 Raphaël Doursenaud * Copyright (C) 2016 Pierre-Henry Favre - * Copyright (C) 2016-2020 Alexandre Spangaro + * Copyright (C) 2016-2021 Alexandre Spangaro * Copyright (C) 2013-2017 Olivier Geffroy * Copyright (C) 2017 Elarifr. Ari Elbaz * Copyright (C) 2017-2019 Frédéric France @@ -59,6 +59,8 @@ class AccountancyExport public static $EXPORT_TYPE_LDCOMPTA10 = 120; public static $EXPORT_TYPE_GESTIMUMV3 = 130; public static $EXPORT_TYPE_GESTIMUMV5 = 135; + public static $EXPORT_TYPE_ISUITEEXPERT = 200; + // Generic FEC after that public static $EXPORT_TYPE_FEC = 1000; public static $EXPORT_TYPE_FEC2 = 1010; @@ -123,6 +125,7 @@ class AccountancyExport self::$EXPORT_TYPE_GESTIMUMV5 => $langs->trans('Modelcsv_Gestinum_v5'), self::$EXPORT_TYPE_FEC => $langs->trans('Modelcsv_FEC'), self::$EXPORT_TYPE_FEC2 => $langs->trans('Modelcsv_FEC2'), + self::$EXPORT_TYPE_ISUITEEXPERT => 'Export iSuite Expert', ); ksort($listofexporttypes, SORT_NUMERIC); @@ -158,6 +161,7 @@ class AccountancyExport self::$EXPORT_TYPE_GESTIMUMV5 => 'gestimumv5', self::$EXPORT_TYPE_FEC => 'fec', self::$EXPORT_TYPE_FEC2 => 'fec2', + self::$EXPORT_TYPE_ISUITEEXPERT => 'isuiteexpert', ); return $formatcode[$type]; @@ -243,6 +247,10 @@ class AccountancyExport 'label' => $langs->trans('Modelcsv_FEC2'), 'ACCOUNTING_EXPORT_FORMAT' => 'txt', ), + self::$EXPORT_TYPE_ISUITEEXPERT => array( + 'label' => 'iSuite Expert', + 'ACCOUNTING_EXPORT_FORMAT' => 'csv', + ), ), 'cr'=> array( '1' => $langs->trans("Unix"), @@ -334,6 +342,9 @@ class AccountancyExport case self::$EXPORT_TYPE_FEC2: $this->exportFEC2($TData); break; + case self::$EXPORT_TYPE_ISUITEEXPERT : + $this->exportiSuiteExpert($TData); + break; default: $this->errors[] = $langs->trans('accountancy_error_modelnotfound'); break; @@ -466,34 +477,43 @@ class AccountancyExport } /** - * Export format : CIEL + * Export format : CIEL (Format XIMPORT) + * Format since 2003 compatible CIEL version > 2002 / Sage50 + * Last review for this format : 2021/07/28 Alexandre Spangaro (aspangaro@open-dsi.fr) + * + * Help : https://sage50c.online-help.sage.fr/aide-technique/ + * In sage software | Use menu : "Exchange" > "Importing entries..." + * + * If you want to force filename to "XIMPORT.TXT" for automatically import file present in a directory : + * use constant ACCOUNTING_EXPORT_XIMPORT_FORCE_FILENAME * * @param array $TData data * @return void */ public function exportCiel(&$TData) { - global $conf; - $end_line = "\r\n"; $i = 1; - $date_ecriture = dol_print_date(dol_now(), $conf->global->ACCOUNTING_EXPORT_DATE); // format must be yyyymmdd + foreach ($TData as $data) { - $code_compta = $data->numero_compte; + $code_compta = length_accountg($data->numero_compte); if (!empty($data->subledger_account)) { - $code_compta = $data->subledger_account; + $code_compta = length_accounta($data->subledger_account); } + $date_document = dol_print_date($data->doc_date, '%Y%m%d'); + $date_echeance = dol_print_date($data->date_lim_reglement, '%Y%m%d'); + $Tab = array(); - $Tab['num_ecriture'] = str_pad($i, 5); + $Tab['num_ecriture'] = str_pad($data->piece_num, 5); $Tab['code_journal'] = str_pad($data->code_journal, 2); - $Tab['date_ecriture'] = $date_ecriture; - $Tab['date_ope'] = dol_print_date($data->doc_date, $conf->global->ACCOUNTING_EXPORT_DATE); - $Tab['num_piece'] = str_pad(self::trunc($data->piece_num, 12), 12); + $Tab['date_ecriture'] = str_pad($date_document, 8, ' ', STR_PAD_LEFT); + $Tab['date_echeance'] = str_pad($date_echeance, 8, ' ', STR_PAD_LEFT); + $Tab['num_piece'] = str_pad(self::trunc($data->doc_ref, 12), 12); $Tab['num_compte'] = str_pad(self::trunc($code_compta, 11), 11); $Tab['libelle_ecriture'] = str_pad(self::trunc(dol_string_unaccent($data->doc_ref).dol_string_unaccent($data->label_operation), 25), 25); - $Tab['montant'] = str_pad(abs($data->debit - $data->credit), 13, ' ', STR_PAD_LEFT); + $Tab['montant'] = str_pad(price2fec(abs($data->debit - $data->credit)), 13, ' ', STR_PAD_LEFT); $Tab['type_montant'] = str_pad($data->sens, 1); $Tab['vide'] = str_repeat(' ', 18); $Tab['intitule_compte'] = str_pad(self::trunc(dol_string_unaccent($data->label_operation), 34), 34); @@ -1287,7 +1307,9 @@ class AccountancyExport /** * Export format : LD Compta version 10 & higher - * http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW10.pdf + * Last review for this format : 08-15-2021 Alexandre Spangaro (aspangaro@open-dsi.fr) + * + * Help : http://www.ldsysteme.fr/fileadmin/telechargement/np/ldcompta/Documentation/IntCptW10.pdf * * @param array $objectLines data * @@ -1450,14 +1472,14 @@ class AccountancyExport print $date_lim_reglement.$separator; // CNPI if ($line->doc_type == 'supplier_invoice') { - if (($line->debit - $line->credit) > 0) { + if (($line->amount) < 0) { // Currently, only the sign of amount allows to know the type of invoice (standard or credit note). Other solution is to analyse debit/credit/role of account. TODO Add column doc_type_long or make amount mandatory with rule on sign. $nature_piece = 'AF'; } else { $nature_piece = 'FF'; } } elseif ($line->doc_type == 'customer_invoice') { - if (($line->debit - $line->credit) < 0) { - $nature_piece = 'AC'; + if (($line->amount) < 0) { + $nature_piece = 'AC'; // Currently, only the sign of amount allows to know the type of invoice (standard or credit note). Other solution is to analyse debit/credit/role of account. TODO Add column doc_type_long or make amount mandatory with rule on sign. } else { $nature_piece = 'FC'; } @@ -1752,6 +1774,62 @@ class AccountancyExport } } + /** + * Export format : iSuite Expert + * + * by OpenSolus [https://opensolus.fr] + * + * @param array $objectLines data + * + * @return void + */ + public function exportiSuiteExpert($objectLines) + { + $this->separator = ';'; + $this->end_line = "\r\n"; + + + foreach ($objectLines as $line) { + $tab = array(); + + $date = dol_print_date($line->doc_date, '%d/%m/%Y'); + + $tab[] = $line->piece_num; + $tab[] = $date; + $tab[] = substr($date, 6, 4); + $tab[] = substr($date, 3, 2); + $tab[] = substr($date, 0, 2); + $tab[] = $line->doc_ref; + //Conversion de chaine UTF8 en Latin9 + $tab[] = mb_convert_encoding(str_replace(' - Compte auxiliaire', '', $line->label_operation), "Windows-1252", 'UTF-8'); + + //Calcul de la longueur des numéros de comptes + $taille_numero = strlen(length_accountg($line->numero_compte)); + + //Création du numéro de client générique + $numero_cpt_client = '411'; + for ($i = 1; $i <= ($taille_numero - 3); $i++) { + $numero_cpt_client .= '0'; + } + + //Création des comptes auxiliaire des clients + if (length_accountg($line->numero_compte) == $numero_cpt_client) { + $tab[] = rtrim(length_accounta($line->subledger_account), "0"); + } else { + $tab[] = length_accountg($line->numero_compte); + } + $nom_client = explode(" - ", $line->label_operation); + $tab[] = mb_convert_encoding($nom_client[0], "Windows-1252", 'UTF-8'); + $tab[] = price($line->debit); + $tab[] = price($line->credit); + $tab[] = price($line->montant); + $tab[] = $line->code_journal; + + $separator = $this->separator; + print implode($separator, $tab) . $this->end_line; + } + } + /** * trunc * diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 6bd39f4e227..0c9b4113c2a 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -729,7 +729,10 @@ class BookKeeping extends CommonObject $sql .= " t.journal_label,"; $sql .= " t.piece_num,"; $sql .= " t.date_creation,"; - $sql .= " t.date_export,"; + // In llx_accounting_bookkeeping_tmp, field date_export doesn't exist + if ($mode != "_tmp") { + $sql .= " t.date_export,"; + } $sql .= " t.date_validated as date_validation"; $sql .= ' FROM '.MAIN_DB_PREFIX.$this->table_element.$mode.' as t'; $sql .= ' WHERE 1 = 1'; @@ -1024,6 +1027,12 @@ class BookKeeping extends CommonObject $sqlwhere[] = $key.'\''.$this->db->idate($value).'\''; } elseif ($key == 't.credit' || $key == 't.debit') { $sqlwhere[] = natural_search($key, $value, 1, 1); + } elseif ($key == 't.code_journal' && !empty($value)) { + if (is_array($value)) { + $sqlwhere[] = natural_search("t.code_journal", join(',', $value), 3, 1); + } else { + $sqlwhere[] = natural_search("t.code_journal", $value, 3, 1); + } } else { $sqlwhere[] = natural_search($key, $value, 0, 1); } @@ -1506,6 +1515,7 @@ class BookKeeping extends CommonObject $sql = "DELETE"; $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element; $sql .= " WHERE piece_num = ".(int) $piecenum; + $sql .= " AND date_validated IS NULL"; // For security, exclusion of validated entries at the time of deletion $sql .= " AND entity IN (".getEntity('accountancy').")"; $resql = $this->db->query($sql); @@ -1621,7 +1631,11 @@ class BookKeeping extends CommonObject global $conf; $sql = "SELECT piece_num, doc_date,code_journal, journal_label, doc_ref, doc_type,"; - $sql .= " date_creation, tms as date_modification, date_export, date_validated as date_validation"; + $sql .= " date_creation, tms as date_modification, date_validated as date_validation"; + // In llx_accounting_bookkeeping_tmp, field date_export doesn't exist + if ($mode != "_tmp") { + $sql .= ", date_export"; + } $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element.$mode; $sql .= " WHERE piece_num = ".$piecenum; $sql .= " AND entity IN (".getEntity('accountancy').")"; @@ -1698,7 +1712,11 @@ class BookKeeping extends CommonObject $sql .= " doc_ref, fk_doc, fk_docdet, thirdparty_code, subledger_account, subledger_label,"; $sql .= " numero_compte, label_compte, label_operation, debit, credit,"; $sql .= " montant as amount, sens, fk_user_author, import_key, code_journal, journal_label, piece_num,"; - $sql .= " date_creation, tms as date_modification, date_export, date_validated as date_validation"; + $sql .= " date_creation, tms as date_modification, date_validated as date_validation"; + // In llx_accounting_bookkeeping_tmp, field date_export doesn't exist + if ($mode != "_tmp") { + $sql .= ", date_export"; + } $sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element.$mode; $sql .= " WHERE piece_num = ".$piecenum; $sql .= " AND entity IN (".getEntity('accountancy').")"; diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index dde599a1462..ede72c9d9e6 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -158,6 +158,9 @@ if ($action == 'validatehistory') { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa4 ON " . $alias_societe_perentity . ".accountancy_code_sell = aa4.account_number AND aa4.active = 1 AND aa4.fk_pcg_version = '".$db->escape($chartaccountcode)."' AND aa4.entity = ".$conf->entity; $sql .= " WHERE f.fk_statut > 0 AND l.fk_code_ventilation <= 0"; $sql .= " AND l.product_type <= 2"; + if (!empty($conf->global->ACCOUNTING_DATE_START_BINDING)) { + $sql .= " AND f.datef >= '".$db->idate($conf->global->ACCOUNTING_DATE_START_BINDING)."'"; + } dol_syslog('htdocs/accountancy/customer/index.php'); $result = $db->query($sql); @@ -201,11 +204,13 @@ if ($action == 'validatehistory') { } } - // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) - if (!empty($objp->company_code_sell)) { - $objp->code_sell_t = $objp->company_code_sell; - $objp->aarowid_suggest = $objp->aarowid_thirdparty; - $suggestedaccountingaccountfor = ''; + if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) { + // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) + if (!empty($objp->company_code_sell)) { + $objp->code_sell_t = $objp->company_code_sell; + $objp->aarowid_suggest = $objp->aarowid_thirdparty; + $suggestedaccountingaccountfor = ''; + } } if ($objp->aarowid_suggest > 0) { diff --git a/htdocs/accountancy/index.php b/htdocs/accountancy/index.php index 6e13a662948..1842c23f418 100644 --- a/htdocs/accountancy/index.php +++ b/htdocs/accountancy/index.php @@ -49,7 +49,7 @@ if (empty($user->rights->accounting->mouvements->lire)) { if (empty($conf->comptabilite->enabled) && empty($conf->accounting->enabled) && empty($conf->asset->enabled) && empty($conf->intracommreport->enabled)) { accessforbidden(); } -if (empty($user->rights->compta->resultat->lire) && empty($user->rights->accounting->mouvements->lire) && empty($user->rights->asset->read) && empty($user->rights->intracommreport->read)) { +if (empty($user->rights->compta->resultat->lire) && empty($user->rights->accounting->comptarapport->lire) && empty($user->rights->accounting->mouvements->lire) && empty($user->rights->asset->read) && empty($user->rights->intracommreport->read)) { accessforbidden(); } diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 34e533974fc..bdda4583d54 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -177,7 +177,7 @@ $accountingjournalstatic->fetch($id_journal); $journal = $accountingjournalstatic->code; $journal_label = $accountingjournalstatic->label; - +//print $sql; dol_syslog("accountancy/journal/bankjournal.php", LOG_DEBUG); $result = $db->query($sql); if ($result) { @@ -252,6 +252,7 @@ if ($result) { ); // Set accountancy code for user + // $obj->accountancy_code is the accountancy_code of table u=user but it is defined only if a link with type 'user' exists) $compta_user = (!empty($obj->accountancy_code) ? $obj->accountancy_code : ''); $tabuser[$obj->rowid] = array( @@ -277,7 +278,7 @@ if ($result) { $tabpay[$obj->rowid]["lib"] = dol_trunc($obj->label, 60); } - // Load of url links to the line into llx_bank + // Load of url links to the line into llx_bank (so load llx_bank_url) $links = $object->get_url($obj->rowid); // Get an array('url'=>, 'url_id'=>, 'label'=>, 'type'=> 'fk_bank'=> ) // By default @@ -287,7 +288,7 @@ if ($result) { // get_url may return -1 which is not traversable if (is_array($links) && count($links) > 0) { - // Now loop on each link of record in bank. + // Now loop on each link of record in bank (code similar to bankentries_list.php) foreach ($links as $key => $val) { if (in_array($links[$key]['type'], array('sc', 'payment_sc', 'payment', 'payment_supplier', 'payment_vat', 'payment_expensereport', 'banktransfert', 'payment_donation', 'member', 'payment_loan', 'payment_salary', 'payment_various'))) { // So we excluded 'company' and 'user' here. We want only payment lines @@ -302,6 +303,7 @@ if ($result) { } } + // Special case to ask later to add more request to get information for old links without company link. if ($links[$key]['type'] == 'withdraw') { $tabmoreinfo[$obj->rowid]['withdraw'] = 1; } @@ -401,6 +403,44 @@ if ($result) { $paymentsalstatic->label = $links[$key]['label']; $tabpay[$obj->rowid]["lib"] .= ' '.$paymentsalstatic->getNomUrl(2); $tabpay[$obj->rowid]["paymentsalid"] = $paymentsalstatic->id; + + // This part of code is no more required. it is here to solve case where a link were missing (ith v14.0.0) and keep writing in accountancy complete. + // Note: A better way to fix this is to delete payement of salary and recreate it, or to fix the bookkeeping table manually after. + if (!empty($conf->global->ACCOUNTANCY_AUTOFIX_MISSING_LINK_TO_USEr_ON_SALARY_BANK_PAYMENT)) { + $tmpsalary = new Salary($db); + $tmpsalary->fetch($paymentsalstatic->id); + $tmpsalary->fetch_user($tmpsalary->fk_user); + + $userstatic->id = $tmpsalary->user->id; + $userstatic->name = $tmpsalary->user->name; + $userstatic->email = $tmpsalary->user->email; + $userstatic->firstname = $tmpsalary->user->firstname; + $userstatic->lastname = $tmpsalary->user->lastname; + $userstatic->statut = $tmpsalary->user->statut; + $userstatic->accountancy_code = $tmpsalary->user->accountancy_code; + + if ($userstatic->id > 0) { + $tabpay[$obj->rowid]["soclib"] = $userstatic->getNomUrl(1, 'accountancy', 0); + } else { + $tabpay[$obj->rowid]["soclib"] = '???'; // Should not happen + } + + if (empty($obj->typeop_user)) { // Add test to avoid to add amount twice if a link already exists also on user. + $compta_user = $userstatic->accountancy_code; + if ($compta_user) { + $tabtp[$obj->rowid][$compta_user] += $obj->amount; + $tabuser[$obj->rowid] = array( + 'id' => $userstatic->id, + 'name' => dolGetFirstLastname($userstatic->firstname, $userstatic->lastname), + 'lastname' => $userstatic->lastname, + 'firstname' => $userstatic->firstname, + 'email' => $userstatic->email, + 'accountancy_code' => $compta_user, + 'status' => $userstatic->statut + ); + } + } + } } elseif ($links[$key]['type'] == 'payment_expensereport') { $paymentexpensereportstatic->id = $links[$key]['url_id']; $tabpay[$obj->rowid]["lib"] .= $paymentexpensereportstatic->getNomUrl(2); @@ -468,7 +508,7 @@ if ($result) { } } - // If no links were found to know the amount on thirdparty, we init it to account 'NotDefined'. + // If no links were found to know the amount on thirdparty/user, we init it to account 'NotDefined'. if (empty($tabtp[$obj->rowid])) { $tabtp[$obj->rowid]['NotDefined'] = $tabbq[$obj->rowid][$compta_bank]; } @@ -1162,9 +1202,9 @@ if (empty($action) || $action == 'view') { if ($tabtype[$key] == 'unknown') { // We will accept writing, but into a waiting account if (empty($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE) || $conf->global->ACCOUNTING_ACCOUNT_SUSPENSE == '-1') { - print ''.$langs->trans('UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking').''; + print ''.$langs->trans('UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking').''; } else { - print ''.$langs->trans('UnknownAccountForThirdparty', length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE)).''; // We will use a waiting account + print ''.$langs->trans('UnknownAccountForThirdparty', length_accountg($conf->global->ACCOUNTING_ACCOUNT_SUSPENSE)).''; // We will use a waiting account } } else { // We will refuse writing @@ -1187,7 +1227,7 @@ if (empty($action) || $action == 'view') { if ($tabtype[$key] == 'member') { $errorstring = 'MainAccountForSubscriptionPaymentNotDefined'; } - print ''.$langs->trans($errorstring).''; + print ''.$langs->trans($errorstring).''; } } else { print $accounttoshow; @@ -1196,7 +1236,7 @@ if (empty($action) || $action == 'view') { // Subledger account print ""; - if (in_array($tabtype[$key], array('payment', 'payment_supplier', 'payment_expensereport', 'payment_salary', 'payment_various'))) { // Type of payment with subledger + if (in_array($tabtype[$key], array('payment', 'payment_supplier', 'payment_expensereport', 'payment_salary', 'payment_various'))) { // Type of payments that uses a subledger $accounttoshowsubledger = length_accounta($k); if ($accounttoshow != $accounttoshowsubledger) { if (empty($accounttoshowsubledger) || $accounttoshowsubledger == 'NotDefined') { @@ -1205,14 +1245,14 @@ if (empty($action) || $action == 'view') { var_dump($tabbq[$key]);*/ //print ''.$langs->trans("ThirdpartyAccountNotDefined").''; if (!empty($tabcompany[$key]['code_compta'])) { - if (in_array($tabtype[$key], array('payment_various'))) { + if (in_array($tabtype[$key], array('payment_various', 'payment_salary'))) { // For such case, if subledger is not defined, we won't use subledger accounts. - print ''.$langs->trans("ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored").''; + print ''.$langs->trans("ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored").''; } else { - print ''.$langs->trans("ThirdpartyAccountNotDefinedOrThirdPartyUnknown", $tabcompany[$key]['code_compta']).''; + print ''.$langs->trans("ThirdpartyAccountNotDefinedOrThirdPartyUnknown", $tabcompany[$key]['code_compta']).''; } } else { - print ''.$langs->trans("ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking").''; + print ''.$langs->trans("ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking").''; } } else { print $accounttoshowsubledger; @@ -1220,10 +1260,15 @@ if (empty($action) || $action == 'view') { } } print ""; + print "".$reflabel.""; + print ''.$val["type_payment"].""; + print ''.($mt < 0 ? price(-$mt) : '').""; + print ''.($mt >= 0 ? price($mt) : '').""; + print ""; } } diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index b5c6804c7d6..f047ddf70de 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -166,6 +166,9 @@ if ($action == 'validatehistory') { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."accounting_account as aa4 ON " . $alias_product_perentity . ".accountancy_code_buy = aa4.account_number AND aa4.active = 1 AND aa4.fk_pcg_version = '".$db->escape($chartaccountcode)."' AND aa4.entity = ".$conf->entity; $sql .= " WHERE f.fk_statut > 0 AND l.fk_code_ventilation <= 0"; $sql .= " AND l.product_type <= 2"; + if (!empty($conf->global->ACCOUNTING_DATE_START_BINDING)) { + $sql .= " AND f.datef >= '".$db->idate($conf->global->ACCOUNTING_DATE_START_BINDING)."'"; + } dol_syslog('htdocs/accountancy/supplier/index.php'); @@ -202,11 +205,13 @@ if ($action == 'validatehistory') { } } - // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) - if (!empty($objp->company_code_buy)) { - $objp->code_buy_t = $objp->company_code_buy; - $objp->aarowid_suggest = $objp->aarowid_thirdparty; - $suggestedaccountingaccountfor = ''; + if (!empty($conf->global->ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY)) { + // Level 3: Search suggested account for this thirdparty (similar code exists in page index.php to make automatic binding) + if (!empty($objp->company_code_buy)) { + $objp->code_buy_t = $objp->company_code_buy; + $objp->aarowid_suggest = $objp->aarowid_thirdparty; + $suggestedaccountingaccountfor = ''; + } } if ($objp->aarowid_suggest > 0) { diff --git a/htdocs/accountancy/tpl/export_journal.tpl.php b/htdocs/accountancy/tpl/export_journal.tpl.php index 1700d391f54..ecb0f7a6b09 100644 --- a/htdocs/accountancy/tpl/export_journal.tpl.php +++ b/htdocs/accountancy/tpl/export_journal.tpl.php @@ -16,6 +16,8 @@ * along with this program. If not, see . */ +// $formatexportset ùust be defined + // Protection to avoid direct call of template if (empty($conf) || !is_object($conf)) { print "Error, template page can't be called as URL"; @@ -56,6 +58,8 @@ if ($accountancyexport->getFormatCode($formatexportset) == $accountancyexport::$ $endaccountingperiod = dol_print_date(dol_get_last_day($tmparray['year'], $tmparray['mon']), 'dayxcard'); $completefilename = $siren."FEC".$endaccountingperiod.".txt"; +} elseif ($accountancyexport->getFormatCode($formatexportset) == $accountancyexport::$EXPORT_TYPE_CIEL && $type_export == "general_ledger" && !empty($conf->global->ACCOUNTING_EXPORT_XIMPORT_FORCE_FILENAME)) { + $completefilename = "XIMPORT.TXT"; } else { $completefilename = ($code ? $code."_" : "").($prefix ? $prefix."_" : "").$filename.($nodateexport ? "" : $date_export).".".$format; } diff --git a/htdocs/adherents/admin/member.php b/htdocs/adherents/admin/member.php index 621873afc94..d03beec610e 100644 --- a/htdocs/adherents/admin/member.php +++ b/htdocs/adherents/admin/member.php @@ -263,6 +263,7 @@ if ($conf->facture->enabled) { print ''.$langs->trans("ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS").''; print ''; $selected = (empty($conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS) ? '' : $conf->global->ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS); + print img_picto('', 'product', 'class="pictofixedwidth"'); $form->select_produits($selected, 'ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS', '', 0); print ''; } diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php index 87b8a6874c4..419b32f3c34 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php @@ -31,8 +31,6 @@ print load_fiche_titre($this->control->tpl['title']); dol_htmloutput_errors((is_numeric($object->error) ? '' : $object->error), $object->errors); -dol_htmloutput_errors((is_numeric($GLOBALS['error']) ? '' : $GLOBALS['error']), $GLOBALS['errors']); - dol_htmloutput_errors($this->control->tpl['error'], $this->control->tpl['errors']); echo $this->control->tpl['ajax_selectcountry']; ?> diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index da84fd5bf6b..42e0b84228f 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -535,7 +535,7 @@ if (empty($reshook)) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); } - if ($conf->global->ADHERENT_MAIL_REQUIRED && !isValidEMail($email)) { + if (!empty($conf->global->ADHERENT_MAIL_REQUIRED) && !isValidEMail($email)) { $error++; $langs->load("errors"); setEventMessages($langs->trans("ErrorBadEMail", $email), null, 'errors'); @@ -1032,7 +1032,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''; // EMail - print ''.($conf->global->ADHERENT_MAIL_REQUIRED ? '' : '').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED ? '' : '').''; + print ''.(!empty($conf->global->ADHERENT_MAIL_REQUIRED) ? '' : '').$langs->trans("EMail").(!empty($conf->global->ADHERENT_MAIL_REQUIRED) ? '' : '').''; print ''.img_picto('', 'object_email').' '; // Website @@ -1054,6 +1054,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Country $object->country_id = $object->country_id ? $object->country_id : $mysoc->country_id; print ''.$langs->trans('Country').''; + print img_picto('', 'country', 'class="pictofixedwidth"'); print $form->select_country(GETPOSTISSET('country_id') ? GETPOST('country_id', 'alpha') : $object->country_id, 'country_id'); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -1064,6 +1065,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if (empty($conf->global->MEMBER_DISABLE_STATE)) { print ''.$langs->trans('State').''; if ($object->country_id) { + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state(GETPOSTISSET('state_id') ? GETPOST('state_id', 'int') : $object->state_id, $object->country_code); } else { print $countrynotdefined; @@ -1303,6 +1305,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Country //$object->country_id=$object->country_id?$object->country_id:$mysoc->country_id; // In edit mode we don't force to company country if not defined print ''.$langs->trans('Country').''; + print img_picto('', 'country', 'class="pictofixedwidth"'); print $form->select_country(GETPOSTISSET("country_id") ? GETPOST("country_id", "alpha") : $object->country_id, 'country_id'); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -1312,21 +1315,22 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // State if (empty($conf->global->MEMBER_DISABLE_STATE)) { print ''.$langs->trans('State').''; + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, GETPOSTISSET("country_id") ? GETPOST("country_id", "alpha") : $object->country_id); print ''; } // Pro phone print ''.$langs->trans("PhonePro").''; - print ''.img_picto('', 'object_phoning').' phone).'">'; + print ''.img_picto('', 'object_phoning', 'class="pictofixedwidth"').' phone).'">'; // Personal phone print ''.$langs->trans("PhonePerso").''; - print ''.img_picto('', 'object_phoning').' phone_perso).'">'; + print ''.img_picto('', 'object_phoning', 'class="pictofixedwidth"').' phone_perso).'">'; // Mobile phone print ''.$langs->trans("PhoneMobile").''; - print ''.img_picto('', 'object_phoning_mobile').' phone_mobile).'">'; + print ''.img_picto('', 'object_phoning_mobile', 'class="pictofixedwidth"').' phone_mobile).'">'; if (!empty($conf->socialnetworks->enabled)) { foreach ($socialnetworks as $key => $value) { diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 1c93b247dfc..68430a71bab 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -176,7 +176,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa $massaction = ''; } -$parameters = array('socid'=>$socid); +$parameters = array('socid'=>isset($socid) ? $socid : null); $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'); diff --git a/htdocs/adherents/note.php b/htdocs/adherents/note.php index cc216d794d1..0444d03b2ff 100644 --- a/htdocs/adherents/note.php +++ b/htdocs/adherents/note.php @@ -68,16 +68,21 @@ if ($id) { $caneditfieldmember = $user->rights->adherent->creer; } +$hookmanager->initHooks(array('membernote')); + // Security check $result = restrictedArea($user, 'adherent', $object->id, '', '', 'socid', 'rowid', 0); - /* * Actions */ - -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once - +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/adherents/subscription/list.php b/htdocs/adherents/subscription/list.php index d3d84cb3624..7146e89648e 100644 --- a/htdocs/adherents/subscription/list.php +++ b/htdocs/adherents/subscription/list.php @@ -115,7 +115,7 @@ if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massa $massaction = ''; } -$parameters = array('socid'=>$socid); +$parameters = array('socid'=>isset($socid) ? $socid : null); $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'); @@ -496,7 +496,7 @@ while ($i < min($num, $limit)) { $adherent->gender = $obj->gender; $adherent->morphy = $obj->morphy; $adherent->email = $obj->email; - $adherent->typeid = $obj->type; + $adherent->typeid = $obj->fk_type; $adherent->datefin = $db->jdate($obj->datef); $typeid = ($obj->fk_type > 0 ? $obj->fk_type : $adherent->typeid); diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 033592a9afc..f640407c570 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -43,6 +43,8 @@ $action = GETPOST('action', 'aZ09'); $cancel = GETPOST('cancel', 'alpha'); $backtopage = GETPOST('backtopage', 'alpha'); +$sall = GETPOST("sall", "alpha"); +$filter = GETPOST("filter", 'alpha'); $search_lastname = GETPOST('search_lastname', 'alpha'); $search_login = GETPOST('search_login', 'alpha'); $search_email = GETPOST('search_email', 'alpha'); @@ -379,12 +381,12 @@ if ($action == 'create') { print ''.$langs->trans("Description").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor('comment', $object->note, '', 200, 'dolibarr_notes', '', false, true, $conf->fckeditor->enabled, 15, '90%'); + $doleditor = new DolEditor('comment', $object->note, '', 200, 'dolibarr_notes', '', false, true, empty($conf->fckeditor->enabled) ? false : $conf->fckeditor->enabled, 15, '90%'); $doleditor->Create(); print ''.$langs->trans("WelcomeEMail").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor('mail_valid', $object->mail_valid, '', 250, 'dolibarr_notes', '', false, true, $conf->fckeditor->enabled, 15, '90%'); + $doleditor = new DolEditor('mail_valid', $object->mail_valid, '', 250, 'dolibarr_notes', '', false, true, empty($conf->fckeditor->enabled) ? false : $conf->fckeditor->enabled, 15, '90%'); $doleditor->Create(); print ''; @@ -812,12 +814,12 @@ if ($rowid > 0) { print ''.$langs->trans("Description").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor('comment', $object->note, '', 280, 'dolibarr_notes', '', false, true, $conf->fckeditor->enabled, 15, '90%'); + $doleditor = new DolEditor('comment', $object->note, '', 280, 'dolibarr_notes', '', false, true, empty($conf->fckeditor->enabled) ? false : $conf->fckeditor->enabled, 15, '90%'); $doleditor->Create(); print ""; print ''.$langs->trans("WelcomeEMail").''; - $doleditor = new DolEditor('mail_valid', $object->mail_valid, '', 280, 'dolibarr_notes', '', false, true, $conf->fckeditor->enabled, 15, '90%'); + $doleditor = new DolEditor('mail_valid', $object->mail_valid, '', 280, 'dolibarr_notes', '', false, true, empty($conf->fckeditor->enabled) ? false : $conf->fckeditor->enabled, 15, '90%'); $doleditor->Create(); print ""; diff --git a/htdocs/adherents/type_translation.php b/htdocs/adherents/type_translation.php index 7435fc440ed..6c8f273ae77 100644 --- a/htdocs/adherents/type_translation.php +++ b/htdocs/adherents/type_translation.php @@ -157,7 +157,7 @@ $form = new Form($db); $formadmin = new FormAdmin($db); $head = member_type_prepare_head($object); -$titre = $langs->trans("MemberType".$object->type); +$titre = $langs->trans("MemberType".$object->id); // Calculate $cnt_trans $cnt_trans = 0; diff --git a/htdocs/admin/accountant.php b/htdocs/admin/accountant.php index 1e924699cd5..24df7e0cb68 100644 --- a/htdocs/admin/accountant.php +++ b/htdocs/admin/accountant.php @@ -99,14 +99,16 @@ print "
\n"; /** * Edit parameters */ -print "\n".''."\n"; + print ''."\n"; +} print ''; print ''; @@ -131,7 +133,7 @@ print ''; -print img_picto('', 'globe-americas', 'class="paddingrightonly"'); +print img_picto('', 'globe-americas', 'class="pictofixedwidth"'); print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id', 'int') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY) ? $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY : '')), 'country_id'); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -139,27 +141,28 @@ if ($user->admin) { print ''."\n"; print ''; -$formcompany->select_departement((GETPOSTISSET('state_id') ? GETPOST('state_id', 'alpha') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_STATE) ? $conf->global->MAIN_INFO_ACCOUNTANT_STATE : '')), (GETPOSTISSET('country_id') ? GETPOST('country_id', 'int') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY) ? $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY : '')), 'state_id'); +print img_picto('', 'state', 'class="pictofixedwidth"'); +print $formcompany->select_state((GETPOSTISSET('state_id') ? GETPOST('state_id', 'alpha') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_STATE) ? $conf->global->MAIN_INFO_ACCOUNTANT_STATE : '')), (GETPOSTISSET('country_id') ? GETPOST('country_id', 'int') : (!empty($conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY) ? $conf->global->MAIN_INFO_ACCOUNTANT_COUNTRY : '')), 'state_id'); print ''."\n"; print ''; -print img_picto('', 'object_phoning', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning', '', false, 0, 0, '', 'pictofixedwidth'); print ''; print ''."\n"; print ''; -print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'pictofixedwidth'); print ''; print ''."\n"; print ''; -print img_picto('', 'object_email', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_email', '', false, 0, 0, '', 'pictofixedwidth'); print ''; print ''."\n"; // Web print ''; -print img_picto('', 'globe', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'globe', '', false, 0, 0, '', 'pictofixedwidth'); print ''; print ''."\n"; diff --git a/htdocs/admin/accounting.php b/htdocs/admin/accounting.php index e775f5bd8e3..ebe0712b03a 100644 --- a/htdocs/admin/accounting.php +++ b/htdocs/admin/accounting.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2018-2021 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ /** * \file htdocs/admin/accounting.php * \ingroup accounting - * \brief Setup page to configure accountanting module + * \brief Setup page to configure accounting module */ require '../main.inc.php'; @@ -32,7 +32,7 @@ $action = GETPOST('action', 'aZ09'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'adminaccoutant'; // To manage different context of search // Load translation files required by the page -$langs->loadLangs(array('admin', 'companies')); +$langs->loadLangs(array('admin', 'companies', 'accountancy')); if (!$user->admin) { accessforbidden(); @@ -52,12 +52,13 @@ $error = 0; * View */ +$title = $langs->trans("ConfigAccountingExpert"); $help_url = ''; -llxHeader('', $langs->trans("ConfigAccountingExpert"), $help_url); +llxHeader('', $title, $help_url); $linkback = ''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("ConfigAccountingExpert"), $linkback, 'title_setup'); +print load_fiche_titre($title, $linkback, 'title_setup'); print "
\n"; print ''.$langs->trans("AccountancySetupDoneFromAccountancyMenu", $langs->transnoentitiesnoconv("Accounting").' - '.$langs->transnoentitiesnoconv("Setup"))."
\n"; diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index b3a85d1fe4b..2b2da673202 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -226,6 +226,7 @@ if (empty($conf->cron->enabled)) { // Get the max frequency of reminder if ($job->id > 0) { if ($job->status != $job::STATUS_ENABLED) { + $langs->load("cron"); print ''.$langs->trans("JobXMustBeEnabled", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; } else { print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; diff --git a/htdocs/admin/clicktodial.php b/htdocs/admin/clicktodial.php index 7b1c94de1ec..09ba880dd33 100644 --- a/htdocs/admin/clicktodial.php +++ b/htdocs/admin/clicktodial.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2020 Laurent Destailleur + * Copyright (C) 2005-2021 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * * This program is free software; you can redistribute it and/or modify @@ -20,7 +20,7 @@ /** * \file htdocs/admin/clicktodial.php * \ingroup clicktodial - * \brief Page to setup module clicktodial + * \brief Page to setup module ClickToDial */ require '../main.inc.php'; @@ -99,7 +99,12 @@ print ''; -print $langs->trans("Example").':
http://myphoneserver/mypage?login=__LOGIN__&password=__PASS__&caller=__PHONEFROM__&called=__PHONETO__'; +print '
'; +print ''; +print $langs->trans("Examples").':
'; +print 'https://myphoneserver/mypage?login=__LOGIN__&password=__PASS__&caller=__PHONEFROM__&called=__PHONETO__
'; +print 'sip:__PHONETO__@my.sip.server'; +print '
'; //if (! empty($user->clicktodial_url)) //{ @@ -129,7 +134,7 @@ if (!empty($conf->global->CLICKTODIAL_URL)) { print ''; print $langs->trans("LinkToTestClickToDial", $user->login).' : '; print ''; - print ''; + print ''; print ''; $setupcomplete = 1; @@ -144,7 +149,7 @@ if (!empty($conf->global->CLICKTODIAL_URL)) { } if ($setupcomplete) { - print $langs->trans("LinkToTest", $user->login).': '.dol_print_phone($phonefortest, '', 0, 0, 'AC_TEL'); + print $langs->trans("LinkToTest", $user->login).':   '.dol_print_phone($phonefortest, '', 0, 0, 'AC_TEL', '', 'mobile'); } else { $langs->load("errors"); print '
'.$langs->trans("WarningClickToDialUserSetupNotComplete").'
'; diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 804ed9934bf..0ca1ae7d98e 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -384,21 +384,23 @@ print "
\n"; /** * Edit parameters */ -print "\n".''."\n"; + print ''."\n"; +} print '
'; print ''; print ''; print ''; -print ''."\n"; +print ''."\n"; // Name print ''."\n"; // Currency print ''."\n"; // Phone print ''; print ''."\n"; // Fax print ''; print ''."\n"; // Email print ''; print ''."\n"; // Web print ''; print ''."\n"; @@ -466,7 +470,7 @@ print ''."\n"; if (!empty($conf->barcode->enabled)) { print ''; print ''; } @@ -555,7 +559,7 @@ print '
'; // IDs of the company (country-specific) print '
'; print '
'.$langs->trans("CompanyInfo").''.$langs->trans("Value").'
'.$langs->trans("CompanyInfo").''.$langs->trans("Value").'
'; @@ -417,7 +419,7 @@ print ''; -print img_picto('', 'globe-americas', 'class="paddingrightonly"'); +print img_picto('', 'globe-americas', 'class="pictofixedwidth"'); print $form->select_country($mysoc->country_id, 'country_id', '', 0); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); @@ -430,35 +432,37 @@ if (!empty($conf->global->MAIN_INFO_SOCIETE_STATE)) { $tmp = explode(':', $conf->global->MAIN_INFO_SOCIETE_STATE); $state_id = $tmp[0]; } -$formcompany->select_departement($state_id, $mysoc->country_code, 'state_id'); +print img_picto('', 'state', 'class="pictofixedwidth"'); +print $formcompany->select_state($state_id, $mysoc->country_code, 'state_id'); print '
'; +print img_picto('', 'multicurrency', 'class="pictofixedwidth"'); print $form->selectCurrency($conf->currency, "currency"); print '
'; -print img_picto('', 'object_phoning', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_phoning_fax', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'object_email', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'object_email', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; -print img_picto('', 'globe', '', false, 0, 0, '', 'paddingright'); +print img_picto('', 'globe', '', false, 0, 0, '', 'pictofixedwidth'); print '
'; print ''; - print ''; + print ''; print '
'; -print ''; +print ''; $langs->load("companies"); @@ -666,7 +670,7 @@ print ''; print '
'; print '
'.$langs->trans("CompanyIds").''.$langs->trans("Value").'
'.$langs->trans("CompanyIds").''.$langs->trans("Value").'
'; print ''; -print ''; +print ''; print "\n"; print ''; print ''; print "\n"; -$substitutionarray = pdf_getSubstitutionArray($langs, array('objectamount'), null, 2); -$substitutionarray['__(AnyTranslationKey)__'] = $langs->trans("Translation"); -$htmltext = ''.$langs->trans("AvailableVariables").':
'; -foreach ($substitutionarray as $key => $val) { - $htmltext .= $key.'
'; +/*var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY); +*/ +if (!isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY)) { + $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY = 1; } -$htmltext .= '
'; +if (!isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY)) { + $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY = 1; +} +/* +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY); +var_dump($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY); +*/ -print ''; +print ""; +print ''."\n"; +print ""; +print ""; -//Use draft Watermark +// Set working days +print ''; +print ""; +print '"; +print ""; -print ''."\n"; +// Set working days +print ''; +print ""; +print '"; +print ""; + +// Set working days +print ''; +print ""; +print '"; +print ""; + +if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { + $substitutionarray = pdf_getSubstitutionArray($langs, array('objectamount'), null, 2); + $substitutionarray['__(AnyTranslationKey)__'] = $langs->trans("Translation"); + $htmltext = ''.$langs->trans("AvailableVariables").':
'; + foreach ($substitutionarray as $key => $val) { + $htmltext .= $key.'
'; + } + $htmltext .= '
'; + + print ''."\n"; + + //Use draft Watermark + + print ''."\n"; +} print '
'.$langs->trans("FiscalYearInformation").''.$langs->trans("Value").''.$langs->trans("FiscalYearInformation").''.$langs->trans("Value").'
'; @@ -681,12 +685,12 @@ print load_fiche_titre($langs->trans("TypeOfSaleTaxes"), '', 'object_payment'); print ''; print ''; -print ''; +print ''; print ''; print "\n"; // Main tax -print '"; +print '"; print '
'.$langs->trans("VATManagement").''.$langs->trans("Description").''.$langs->trans("VATManagement").''.$langs->trans("Description").' 
'; $tooltiphelp = ''; if ($mysoc->country_code == 'FR') { @@ -711,7 +715,7 @@ print "
"; print '
'; print ''; print ''; -print ''; +print ''; print ''; print "\n"; @@ -745,7 +749,7 @@ if ($mysoc->useLocalTax(1)) { if (empty($mysoc->country_code)) { print ''; } else { - print ''; + print ''; } } @@ -755,7 +759,7 @@ print "
'.$form->textwithpicto($langs->transcountry("LocalTax1Management", $mysoc->country_code), $langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").''.$form->textwithpicto($langs->transcountry("LocalTax1Management", $mysoc->country_code), $langs->transcountry("LocalTax1IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").' 
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax1Management")).'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax1Management")).'
"; print '
'; print ''; print ''; -print ''; +print ''; print ''; print "\n"; @@ -788,7 +792,7 @@ if ($mysoc->useLocalTax(2)) { if (empty($mysoc->country_code)) { print ''; } else { - print ''; + print ''; } } @@ -814,7 +818,7 @@ if ($mysoc->useRevenueStamp()) { if (empty($mysoc->country_code)) { print ''; } else { - print ''; + print ''; } } diff --git a/htdocs/admin/company_socialnetworks.php b/htdocs/admin/company_socialnetworks.php index 4809a418861..2d4b2e6d128 100644 --- a/htdocs/admin/company_socialnetworks.php +++ b/htdocs/admin/company_socialnetworks.php @@ -74,6 +74,8 @@ if (($action == 'update' && !GETPOST("cancel", 'alpha'))) { } } } + + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } diff --git a/htdocs/admin/dav.php b/htdocs/admin/dav.php index e7983ae4b95..df14ef4c1b0 100644 --- a/htdocs/admin/dav.php +++ b/htdocs/admin/dav.php @@ -45,6 +45,11 @@ $arrayofparameters = array( 'DAV_ALLOW_ECM_DIR'=>array('css'=>'minwidth200', 'enabled'=>$conf->ecm->enabled) ); +// To fix when dire does not exists +dol_mkdir($conf->dav->dir_output.'/temp'); +dol_mkdir($conf->dav->dir_output.'/public'); +dol_mkdir($conf->dav->dir_output.'/private'); + /* * Actions diff --git a/htdocs/admin/defaultvalues.php b/htdocs/admin/defaultvalues.php index dc801059e41..038d8d0915c 100644 --- a/htdocs/admin/defaultvalues.php +++ b/htdocs/admin/defaultvalues.php @@ -241,7 +241,7 @@ if ($defaultvalue) { } -print 'entity) && !empty($debug)) ? '?debug=1' : '').'" method="POST">'; +print ''; if ($optioncss != '') { print ''; } @@ -393,8 +393,8 @@ if (!is_array($result) && $result<0) { // Actions print ''; + } elseif (in_array($value, array('public', 'use_default'))) { + // Fields 0/1 with a combo select Yes/No + print ''; } elseif ($value == 'private') { + // Fields 'no'/'yes' with a combo select Yes/No print ''; @@ -2367,7 +2370,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') print $form->selectExpenseRanges($obj->fk_range); print ''; } else { - $fieldValue = isset($obj->{$value}) ? $obj->{$value}:''; + $fieldValue = isset($obj->{$value}) ? $obj->{$value}: ''; if ($value == 'sortorder') { $fieldlist[$field] = 'position'; @@ -2377,15 +2380,24 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') if ($fieldlist[$field] == 'code') { $class = 'maxwidth100'; } - if (in_array($fieldlist[$field], array('dayrule', 'day', 'month', 'year', 'pos', 'use_default', 'affect', 'delay', 'position', 'public', 'sortorder', 'sens', 'category_type'))) { + if (in_array($fieldlist[$field], array('pos', 'position'))) { + $classtd = 'right'; $class = 'maxwidth50 right'; + } + if (in_array($fieldlist[$field], array('dayrule', 'day', 'month', 'year', 'use_default', 'affect', 'delay', 'public', 'sortorder', 'sens', 'category_type', 'fk_parent'))) { $class = 'maxwidth50 center'; } - if (in_array($fieldlist[$field], array('use_default', 'public'))) { + if (in_array($fieldlist[$field], array('use_default', 'public', 'fk_parent'))) { $classtd = 'center'; } if (in_array($fieldlist[$field], array('libelle', 'label', 'tracking'))) { $class = 'quatrevingtpercent'; } + // Fields that must be suggested as '0' instead of '' + if ($fieldlist[$field] == 'fk_parent') { + if (empty($fieldValue)) { + $fieldValue = '0'; + } + } print '
'.$form->textwithpicto($langs->transcountry("LocalTax2Management", $mysoc->country_code), $langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").''.$form->textwithpicto($langs->transcountry("LocalTax2Management", $mysoc->country_code), $langs->transcountry("LocalTax2IsUsedDesc", $mysoc->country_code)).''.$langs->trans("Description").' 
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax2Management")).'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryVAT"), $langs->transnoentitiesnoconv("LocalTax2Management")).'
'.$countrynotdefined.'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryRevenueStamp"), $langs->transnoentitiesnoconv("RevenueStamp")).'
'.$langs->trans("NoLocalTaxXForThisCountry", $langs->transnoentitiesnoconv("Setup"), $langs->transnoentitiesnoconv("Dictionaries"), $langs->transnoentitiesnoconv("DictionaryRevenueStamp"), $langs->transnoentitiesnoconv("RevenueStamp")).'
'; if ($action != 'edit' || GETPOST('rowid') != $defaultvalue->id) { - print ''.img_edit().''; - print ''.img_delete().''; + print ''.img_edit().''; + print ''.img_delete().''; } else { print ''; print ''; diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 35e20b96570..6835ce82e60 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -100,7 +100,7 @@ $hookmanager->initHooks(array('admin')); // Put here declaration of dictionaries properties // Sort order to show dictionary (0 is space). All other dictionaries (added by modules) will be at end of this. -$taborder = array(9, 0, 4, 3, 2, 0, 1, 8, 19, 16, 39, 27, 40, 38, 0, 5, 11, 0, 6, 0, 29, 0, 33, 34, 32, 24, 28, 17, 35, 36, 0, 10, 23, 12, 13, 7, 0, 14, 0, 22, 20, 18, 21, 41, 0, 15, 30, 0, 37, 42, 0, 43, 0, 25, 0); +$taborder = array(9, 15, 30, 0, 4, 3, 2, 0, 1, 8, 19, 16, 39, 27, 40, 38, 0, 5, 11, 0, 6, 24, 0, 29, 0, 33, 34, 32, 28, 17, 35, 36, 0, 10, 23, 12, 13, 7, 0, 14, 0, 22, 20, 18, 21, 41, 0, 37, 42, 0, 43, 0, 25, 0); // Name of SQL tables of dictionaries $tabname = array(); @@ -202,7 +202,7 @@ $tabsql[3] = "SELECT r.rowid as rowid, r.code_region as state_code, r.nom as lib $tabsql[4] = "SELECT c.rowid as rowid, c.code, c.label, c.active, c.favorite FROM ".MAIN_DB_PREFIX."c_country AS c"; $tabsql[5] = "SELECT c.rowid as rowid, c.code as code, c.label, c.active FROM ".MAIN_DB_PREFIX."c_civility AS c"; $tabsql[6] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.type, a.active, a.module, a.color, a.position FROM ".MAIN_DB_PREFIX."c_actioncomm AS a"; -$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, a.deductible, c.code as country_code, c.label as country, a.fk_pays as country_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_country as c WHERE a.fk_pays=c.rowid and c.active=1"; +$tabsql[7] = "SELECT a.id as rowid, a.code as code, a.libelle AS libelle, a.accountancy_code as accountancy_code, c.code as country_code, c.label as country, a.fk_pays as country_id, a.active FROM ".MAIN_DB_PREFIX."c_chargesociales AS a, ".MAIN_DB_PREFIX."c_country as c WHERE a.fk_pays=c.rowid and c.active=1"; $tabsql[8] = "SELECT t.id as rowid, t.code as code, t.libelle, t.fk_country as country_id, c.code as country_code, c.label as country, t.position, t.active FROM ".MAIN_DB_PREFIX."c_typent as t LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON t.fk_country=c.rowid"; $tabsql[9] = "SELECT c.code_iso as code, c.label, c.unicode, c.active FROM ".MAIN_DB_PREFIX."c_currencies AS c"; $tabsql[10] = "SELECT t.rowid, t.code, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, c.label as country, c.code as country_code, t.fk_pays as country_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; @@ -223,7 +223,7 @@ $tabsql[24] = "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFI $tabsql[25] = "SELECT rowid as rowid, code, label, active, module FROM ".MAIN_DB_PREFIX."c_type_container as t WHERE t.entity IN (".getEntity('c_type_container').")"; //$tabsql[26]= "SELECT rowid as rowid, code, label, short_label, active FROM ".MAIN_DB_PREFIX."c_units"; $tabsql[27] = "SELECT id as rowid, code, libelle, picto, active FROM ".MAIN_DB_PREFIX."c_stcomm"; -$tabsql[28] = "SELECT h.rowid as rowid, h.code, h.label, h.affect, h.delay, h.newbymonth, h.fk_country as country_id, c.code as country_code, c.label as country, h.active FROM ".MAIN_DB_PREFIX."c_holiday_types as h LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON h.fk_country=c.rowid"; +$tabsql[28] = "SELECT h.rowid as rowid, h.code, h.label, h.affect, h.delay, h.newByMonth, h.fk_country as country_id, c.code as country_code, c.label as country, h.active FROM ".MAIN_DB_PREFIX."c_holiday_types as h LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON h.fk_country=c.rowid"; $tabsql[29] = "SELECT rowid as rowid, code, label, percent, position, active FROM ".MAIN_DB_PREFIX."c_lead_status"; $tabsql[30] = "SELECT rowid, code, name, paper_size, orientation, metric, leftmargin, topmargin, nx, ny, spacex, spacey, width, height, font_size, custom_x, custom_y, active FROM ".MAIN_DB_PREFIX."c_format_cards"; //$tabsql[31]= "SELECT s.rowid as rowid, pcg_version, s.label, s.active FROM ".MAIN_DB_PREFIX."accounting_system as s"; @@ -294,7 +294,7 @@ $tabfield[3] = "code,libelle,country_id,country"; $tabfield[4] = "code,label"; $tabfield[5] = "code,label"; $tabfield[6] = "code,libelle,type,color,position"; -$tabfield[7] = "code,libelle,country,accountancy_code,deductible"; +$tabfield[7] = "code,libelle,country,accountancy_code"; $tabfield[8] = "code,libelle,country_id,country".(!empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? ',position' : ''); $tabfield[9] = "code,label,unicode"; $tabfield[10] = "country_id,country,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note"; @@ -315,7 +315,7 @@ $tabfield[24] = "code,label"; $tabfield[25] = "code,label"; //$tabfield[26]= "code,label,short_label"; $tabfield[27] = "code,libelle,picto"; -$tabfield[28] = "code,label,affect,delay,newbymonth,country_id,country"; +$tabfield[28] = "code,label,affect,delay,newByMonth,country_id,country"; $tabfield[29] = "code,label,percent,position"; $tabfield[30] = "code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y"; //$tabfield[31]= "pcg_version,label"; @@ -340,7 +340,7 @@ $tabfieldvalue[3] = "code,libelle,country"; $tabfieldvalue[4] = "code,label"; $tabfieldvalue[5] = "code,label"; $tabfieldvalue[6] = "code,libelle,type,color,position"; -$tabfieldvalue[7] = "code,libelle,country,accountancy_code,deductible"; +$tabfieldvalue[7] = "code,libelle,country,accountancy_code"; $tabfieldvalue[8] = "code,libelle,country".(!empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? ',position' : ''); $tabfieldvalue[9] = "code,label,unicode"; $tabfieldvalue[10] = "country,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note"; @@ -361,7 +361,7 @@ $tabfieldvalue[24] = "code,label"; $tabfieldvalue[25] = "code,label"; //$tabfieldvalue[26]= "code,label,short_label"; $tabfieldvalue[27] = "code,libelle,picto"; -$tabfieldvalue[28] = "code,label,affect,delay,newbymonth,country"; +$tabfieldvalue[28] = "code,label,affect,delay,newByMonth,country"; $tabfieldvalue[29] = "code,label,percent,position"; $tabfieldvalue[30] = "code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y"; //$tabfieldvalue[31]= "pcg_version,label"; @@ -386,7 +386,7 @@ $tabfieldinsert[3] = "code_region,nom,fk_pays"; $tabfieldinsert[4] = "code,label"; $tabfieldinsert[5] = "code,label"; $tabfieldinsert[6] = "code,libelle,type,color,position"; -$tabfieldinsert[7] = "code,libelle,fk_pays,accountancy_code,deductible"; +$tabfieldinsert[7] = "code,libelle,fk_pays,accountancy_code"; $tabfieldinsert[8] = "code,libelle,fk_country".(!empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? ',position' : ''); $tabfieldinsert[9] = "code_iso,label,unicode"; $tabfieldinsert[10] = "fk_pays,code,taux,localtax1_type,localtax1,localtax2_type,localtax2,recuperableonly,accountancy_code_sell,accountancy_code_buy,note"; @@ -407,7 +407,7 @@ $tabfieldinsert[24] = "code,label"; $tabfieldinsert[25] = "code,label"; //$tabfieldinsert[26]= "code,label,short_label"; $tabfieldinsert[27] = "code,libelle,picto"; -$tabfieldinsert[28] = "code,label,affect,delay,newbymonth,fk_country"; +$tabfieldinsert[28] = "code,label,affect,delay,newByMonth,fk_country"; $tabfieldinsert[29] = "code,label,percent,position"; $tabfieldinsert[30] = "code,name,paper_size,orientation,metric,leftmargin,topmargin,nx,ny,spacex,spacey,width,height,font_size,custom_x,custom_y"; //$tabfieldinsert[31]= "pcg_version,label"; @@ -548,7 +548,7 @@ $tabhelp[24] = array('code'=>$langs->trans("EnterAnyCode")); $tabhelp[25] = array('code'=>$langs->trans('EnterAnyCode')); //$tabhelp[26] = array('code'=>$langs->trans("EnterAnyCode")); $tabhelp[27] = array('code'=>$langs->trans("EnterAnyCode"), 'picto'=>$langs->trans("PictoHelp")); -$tabhelp[28] = array('affect'=>$langs->trans("FollowedByACounter"), 'delay'=>$langs->trans("MinimumNoticePeriod"), 'newbymonth'=>$langs->trans("NbAddedAutomatically")); +$tabhelp[28] = array('affect'=>$langs->trans("FollowedByACounter"), 'delay'=>$langs->trans("MinimumNoticePeriod"), 'newByMonth'=>$langs->trans("NbAddedAutomatically")); $tabhelp[29] = array('code'=>$langs->trans("EnterAnyCode"), 'percent'=>$langs->trans("OpportunityPercent"), 'position'=>$langs->trans("PositionIntoComboList")); $tabhelp[30] = array('code'=>$langs->trans("EnterAnyCode"), 'name'=>$langs->trans("LabelName"), 'paper_size'=>$langs->trans("LabelPaperSize")); //$tabhelp[31] = array('pcg_version'=>$langs->trans("EnterAnyCode")); @@ -568,8 +568,8 @@ $tabhelp[43] = array('code'=>$langs->trans("EnterAnyCode")); // Table to store complete informations (will replace all other table). Key is table name. $tabcomplete = array( 'c_forme_juridique'=>array('picto'=>'company'), - 'c_departements'=>array('picto'=>'country'), - 'c_regions'=>array('picto'=>'country'), + 'c_departements'=>array('picto'=>'state'), + 'c_regions'=>array('picto'=>'region'), 'c_country'=>array('picto'=>'country'), 'c_civility'=>array('picto'=>'contact'), 'c_actioncomm'=>array('picto'=>'action'), @@ -695,7 +695,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { $listfieldmodify = explode(',', $tabfieldinsert[$id]); $listfieldvalue = explode(',', $tabfieldvalue[$id]); - // Check that all fields are filled + // Check that all mandatory fields are filled $ok = 1; foreach ($listfield as $f => $value) { // Discard check of mandatory fields for country for some tables @@ -882,12 +882,12 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { } if ($keycode == 'sortorder') { // For column name 'sortorder', we use the field name 'position' - $sql .= "'".(int) GETPOST('position', 'int')."'"; + $sql .= (int) GETPOST('position', 'int'); } elseif ($_POST[$keycode] == '' && !($keycode == 'code' && $id == 10)) { $sql .= "null"; // For vat, we want/accept code = '' } elseif ($keycode == 'content') { $sql .= "'".$db->escape(GETPOST($keycode, 'restricthtml'))."'"; - } elseif (in_array($keycode, array('joinfile', 'private', 'position', 'scale'))) { + } elseif (in_array($keycode, array('joinfile', 'private', 'pos', 'position', 'scale', 'use_default'))) { $sql .= (int) GETPOST($keycode, 'int'); } else { $sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'"; @@ -898,8 +898,8 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { $sql .= ",1)"; dol_syslog("actionadd", LOG_DEBUG); - $result = $db->query($sql); - if ($result) { // Add is ok + $resql = $db->query($sql); + if ($resql) { // Add is ok setEventMessages($langs->transnoentities("RecordCreatedSuccessfully"), null, 'mesgs'); // Clean $_POST array, we keep only id of dictionary @@ -956,7 +956,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) { $sql .= "null"; // For vat, we want/accept code = '' } elseif ($keycode == 'content') { $sql .= "'".$db->escape(GETPOST($keycode, 'restricthtml'))."'"; - } elseif (in_array($keycode, array('private', 'position', 'scale'))) { + } elseif (in_array($keycode, array('joinfile', 'private', 'pos', 'position', 'scale', 'use_default'))) { $sql .= (int) GETPOST($keycode, 'int'); } else { $sql .= "'".$db->escape(GETPOST($keycode, 'nohtml'))."'"; @@ -1234,7 +1234,7 @@ if ($id) { $class = ''; if ($value == 'pos') { - $valuetoshow = $langs->trans("Position"); $class = 'maxwidth100'; + $valuetoshow = $langs->trans("Position"); $class = 'right'; } if ($value == 'source') { $valuetoshow = $langs->trans("Contact"); @@ -1341,6 +1341,9 @@ if ($id) { if ($value == 'short_label') { $valuetoshow = $langs->trans("ShortLabel"); } + if ($value == 'fk_parent') { + $valuetoshow = $langs->trans("ParentID"); $class = 'center'; + } if ($value == 'range_account') { $valuetoshow = $langs->trans("Range"); } @@ -1389,7 +1392,7 @@ if ($id) { if ($value == 'delay') { $valuetoshow = $langs->trans("NoticePeriod"); } - if ($value == 'newbymonth') { + if ($value == 'newByMonth') { $valuetoshow = $langs->trans("NewByMonth"); } if ($value == 'fk_tva') { @@ -1623,11 +1626,8 @@ if ($id) { if ($value == 'code') { $valuetoshow = $langs->trans("Code"); } - if ($value == 'pos') { - $cssprefix = 'right '; $valuetoshow = $langs->trans("Position"); - } - if ($value == 'position') { - $cssprefix = 'right '; $valuetoshow = $langs->trans("Position"); + if (in_array($value, array('pos', 'position'))) { + $valuetoshow = $langs->trans("Position"); $cssprefix = 'right '; } if ($value == 'libelle' || $value == 'label') { $valuetoshow = $langs->trans("Label"); @@ -1686,6 +1686,9 @@ if ($id) { if ($value == 'short_label') { $valuetoshow = $langs->trans("ShortLabel"); } + if ($value == 'fk_parent') { + $valuetoshow = $langs->trans("ParentID"); $cssprefix = 'center '; + } if ($value == 'range_account') { $valuetoshow = $langs->trans("Range"); } @@ -1734,7 +1737,7 @@ if ($id) { if ($value == 'delay') { $valuetoshow = $langs->trans("NoticePeriod"); } - if ($value == 'newbymonth') { + if ($value == 'newByMonth') { $valuetoshow = $langs->trans("NewByMonth"); } if ($value == 'fk_tva') { @@ -1992,19 +1995,13 @@ if ($id) { if ($value == 'tracking') { $class .= ' tdoverflowauto'; } - if ($value == 'position') { + if (in_array($value, array('pos', 'position'))) { $class .= ' right'; } - if ($value == 'localtax1_type') { + if (in_array($value, array('localtax1_type', 'localtax2_type'))) { $class .= ' nowrap'; } - if ($value == 'localtax2_type') { - $class .= ' nowrap'; - } - if ($value == 'pos') { - $class .= ' right'; - } - if ($value == 'use_default') { + if (in_array($value, array('use_default', 'fk_parent'))) { $class .= ' center'; } if ($value == 'public') { @@ -2271,7 +2268,13 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '') print ''; print $form->selectarray('source', $sourceList, (!empty($obj->{$value}) ? $obj->{$value}:'')); print ''; + print $form->selectyesno($value, (!empty($obj->{$value}) ? $obj->{$value}:''), 1); + print ''; print $form->selectyesno("private", (!empty($obj->{$value}) ? $obj->{$value}:'')); print ''; $transfound = 0; $transkey = ''; diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 4e2c9e34bf9..fdc0b893087 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -103,6 +103,7 @@ $debuginfo = ''; $parameters = array(); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } @@ -239,7 +240,6 @@ if ($action == 'confirm_collect') { - /* * View */ @@ -434,6 +434,14 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $connectstringtarget = $connectstringserver.$object->getEncodedUtf7($targetdir); } + $timeoutconnect = empty($conf->global->MAIN_USE_CONNECT_TIMEOUT) ? 10 : $conf->global->MAIN_USE_CONNECT_TIMEOUT; + $timeoutread = empty($conf->global->MAIN_USE_RESPONSE_TIMEOUT) ? 30 : $conf->global->MAIN_USE_RESPONSE_TIMEOUT; + + dol_syslog("imap_open connectstring=".$connectstringsource." login=".$object->login." password=".$object->password." timeoutconnect=".$timeoutconnect." timeoutread=".$timeoutread); + + imap_timeout(IMAP_OPENTIMEOUT, $timeoutconnect); + imap_timeout(IMAP_READTIMEOUT, $timeoutread); + $connection = imap_open($connectstringsource, $object->login, $object->password); } catch (Exception $e) { print $e->getMessage(); @@ -449,12 +457,15 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if (function_exists('imap_last_error')) { $morehtml .= '
'.imap_last_error(); } + dol_syslog("Error ".$morehtml, LOG_WARNING); //var_dump(imap_errors()) } else { + dol_syslog("Imap connected. Now we call imap_num_msg()"); $morehtml .= imap_num_msg($connection); } if ($connection) { + dol_syslog("Imap close"); imap_close($connection); } diff --git a/htdocs/admin/eventorganization.php b/htdocs/admin/eventorganization.php index a57df57d782..d01aece1ca0 100644 --- a/htdocs/admin/eventorganization.php +++ b/htdocs/admin/eventorganization.php @@ -34,13 +34,9 @@ require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; // Translations $langs->loadLangs(array("admin", "eventorganization")); -// Access control -if (!$user->admin) { - accessforbidden(); -} - // Parameters $action = GETPOST('action', 'aZ09'); +$cancel = GETPOST('cancel', 'aZ09'); $backtopage = GETPOST('backtopage', 'alpha'); $value = GETPOST('value', 'alpha'); @@ -54,12 +50,12 @@ $arrayofparameters = array( 'EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1), //'EVENTORGANIZATION_FILTERATTENDEES_CAT'=>array('type'=>'category:'.Categorie::TYPE_CUSTOMER, 'enabled'=>1), //'EVENTORGANIZATION_FILTERATTENDEES_TYPE'=>array('type'=>'thirdparty_type:', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), - 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES'=>array('type'=>'emailtemplate:eventorganization_send', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), + 'EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES'=>array('type'=>'emailtemplate:conferenceorbooth', 'enabled'=>1), 'EVENTORGANIZATION_SECUREKEY'=>array('type'=>'securekey', 'enabled'=>1), 'SERVICE_BOOTH_LOCATION'=>array('type'=>'product', 'enabled'=>1), 'SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION'=>array('type'=>'product', 'enabled'=>1), @@ -70,11 +66,21 @@ $setupnotempty = 0; $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); +// Access control +if (empty($user->admin)) { + accessforbidden(); +} + + /* * Actions */ +if ($cancel) { + $action =''; +} + if ((float) DOL_VERSION >= 6) { include DOL_DOCUMENT_ROOT.'/core/actions_setmoduleoptions.inc.php'; } @@ -207,7 +213,7 @@ if ($action == 'edit') { print ''; print ''; - print ''; + print ''; foreach ($arrayofparameters as $constname => $val) { if ($val['enabled']==1) { @@ -293,7 +299,9 @@ if ($action == 'edit') { print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print '
'; - print ''; + print ''; + print '   '; + print ''; print '
'; print ''; @@ -301,7 +309,7 @@ if ($action == 'edit') { } else { if (!empty($arrayofparameters)) { print ''; - print ''; + print ''; foreach ($arrayofparameters as $constname => $val) { if ($val['enabled']==1) { diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index 987f435e38f..3388b649a67 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -117,7 +117,7 @@ if (GETPOST('save', 'alpha')) { $error++; } - $fckeditor_test = GETPOST('formtestfield'); + $fckeditor_test = GETPOST('formtestfield', 'restricthtml'); if (!empty($fckeditor_test)) { if (!dolibarr_set_const($db, 'FCKEDITOR_TEST', $fckeditor_test, 'chaine', 0, '', $conf->entity)) { $error++; diff --git a/htdocs/admin/holiday.php b/htdocs/admin/holiday.php index f6ac529466e..c9214742d13 100644 --- a/htdocs/admin/holiday.php +++ b/htdocs/admin/holiday.php @@ -274,147 +274,141 @@ print ''; print '
'; -if ($conf->global->MAIN_FEATURES_LEVEL < 2) { - print dol_get_fiche_end(); - // End of page - llxFooter(); - $db->close(); - exit; -} - /* * Documents models for Holidays */ -print load_fiche_titre($langs->trans("TemplatePDFHolidays"), '', ''); +if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { + print load_fiche_titre($langs->trans("TemplatePDFHolidays"), '', ''); -// Defined model definition table -$def = array(); -$sql = "SELECT nom"; -$sql .= " FROM ".MAIN_DB_PREFIX."document_model"; -$sql .= " WHERE type = '".$db->escape($type)."'"; -$sql .= " AND entity = ".$conf->entity; -$resql = $db->query($sql); -if ($resql) { - $i = 0; - $num_rows = $db->num_rows($resql); - while ($i < $num_rows) { - $array = $db->fetch_array($resql); - array_push($def, $array[0]); - $i++; + // Defined model definition table + $def = array(); + $sql = "SELECT nom"; + $sql .= " FROM ".MAIN_DB_PREFIX."document_model"; + $sql .= " WHERE type = '".$db->escape($type)."'"; + $sql .= " AND entity = ".$conf->entity; + $resql = $db->query($sql); + if ($resql) { + $i = 0; + $num_rows = $db->num_rows($resql); + while ($i < $num_rows) { + $array = $db->fetch_array($resql); + array_push($def, $array[0]); + $i++; + } + } else { + dol_print_error($db); } -} else { - dol_print_error($db); -} -print '
'; -print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; -print ''; -print ''; -print ''; -print '\n"; -print '\n"; -print ''; -print ''; -print "\n"; + print '
'; + print '
'.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
'; + print ''; + print ''; + print ''; + print '\n"; + print '\n"; + print ''; + print ''; + print "\n"; -clearstatcache(); + clearstatcache(); -foreach ($dirmodels as $reldir) { - foreach (array('', '/doc') as $valdir) { - $realpath = $reldir."core/modules/holiday".$valdir; - $dir = dol_buildpath($realpath); + foreach ($dirmodels as $reldir) { + foreach (array('', '/doc') as $valdir) { + $realpath = $reldir."core/modules/holiday".$valdir; + $dir = dol_buildpath($realpath); - if (is_dir($dir)) { - $handle = opendir($dir); - if (is_resource($handle)) { - while (($file = readdir($handle)) !== false) { - $filelist[] = $file; - } - closedir($handle); - arsort($filelist); + if (is_dir($dir)) { + $handle = opendir($dir); + if (is_resource($handle)) { + while (($file = readdir($handle)) !== false) { + $filelist[] = $file; + } + closedir($handle); + arsort($filelist); - foreach ($filelist as $file) { - if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) { - if (file_exists($dir.'/'.$file)) { - $name = substr($file, 4, dol_strlen($file) - 16); - $classname = substr($file, 0, dol_strlen($file) - 12); + foreach ($filelist as $file) { + if (preg_match('/\.modules\.php$/i', $file) && preg_match('/^(pdf_|doc_)/', $file)) { + if (file_exists($dir.'/'.$file)) { + $name = substr($file, 4, dol_strlen($file) - 16); + $classname = substr($file, 0, dol_strlen($file) - 12); - require_once $dir.'/'.$file; - $module = new $classname($db); + require_once $dir.'/'.$file; + $module = new $classname($db); - $modulequalified = 1; - if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) { - $modulequalified = 0; - } - if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) { - $modulequalified = 0; - } - - if ($modulequalified) { - print ''; - // Active - if (in_array($name, $def)) { - print ''; - } else { - print '"; + + // Active + if (in_array($name, $def)) { + print ''; + } else { + print '"; + } + + // Default + print ''; + + // Info + $htmltooltip = ''.$langs->trans("Name").': '.$module->name; + $htmltooltip .= '
'.$langs->trans("Type").': '.($module->type ? $module->type : $langs->trans("Unknown")); + if ($module->type == 'pdf') { + $htmltooltip .= '
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; + } + $htmltooltip .= '
'.$langs->trans("Path").': '.preg_replace('/^\//', '', $realpath).'/'.$file; + + $htmltooltip .= '

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

'.$langs->trans("FeaturesSupported").':'; - $htmltooltip .= '
'.$langs->trans("Logo").': '.yn($module->option_logo, 1, 1); - $htmltooltip .= '
'.$langs->trans("PaymentMode").': '.yn($module->option_modereg, 1, 1); - $htmltooltip .= '
'.$langs->trans("PaymentConditions").': '.yn($module->option_condreg, 1, 1); - $htmltooltip .= '
'.$langs->trans("MultiLanguage").': '.yn($module->option_multilang, 1, 1); - $htmltooltip .= '
'.$langs->trans("WatermarkOnDraftOrders").': '.yn($module->option_draft_watermark, 1, 1); - - - print ''; - - // Preview - print ''; - - print "\n"; } } } @@ -422,11 +416,11 @@ foreach ($dirmodels as $reldir) { } } } -} -print '
'.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
'; - print (empty($module->name) ? $name : $module->name); - print "\n"; - if (method_exists($module, 'info')) { - print $module->info($langs); - } else { - print $module->description; + $modulequalified = 1; + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) { + $modulequalified = 0; + } + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) { + $modulequalified = 0; } - print ''."\n"; - print ''; - print img_picto($langs->trans("Enabled"), 'switch_on'); - print ''; + if ($modulequalified) { + print '
'; + print (empty($module->name) ? $name : $module->name); + print "\n"; + if (method_exists($module, 'info')) { + print $module->info($langs); + } else { + print $module->description; + } print ''."\n"; - print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; - print "'."\n"; + print ''; + print img_picto($langs->trans("Enabled"), 'switch_on'); + print ''; + print ''."\n"; + print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"), 'switch_off').''; + print "'; + if ($conf->global->HOLIDAY_ADDON_PDF == $name) { + print img_picto($langs->trans("Default"), 'on'); + } else { + print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; + } + print ''; + print $form->textwithpicto('', $htmltooltip, 1, 0); + print ''; + if ($module->type == 'pdf') { + print ''.img_object($langs->trans("Preview"), 'pdf').''; + } else { + print img_object($langs->trans("PreviewNotAvailable"), 'generic'); + } + print '
'; - if ($conf->global->HOLIDAY_ADDON_PDF == $name) { - print img_picto($langs->trans("Default"), 'on'); - } else { - print 'scandir.'&label='.urlencode($module->name).'" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"), 'off').''; - } - print ''; - print $form->textwithpicto('', $htmltooltip, 1, 0); - print ''; - if ($module->type == 'pdf') { - print ''.img_object($langs->trans("Preview"), 'pdf').''; - } else { - print img_object($langs->trans("PreviewNotAvailable"), 'generic'); - } - print '
'; -print ''; -print "
"; + print '
'; + print ''; + print "
"; +} /* @@ -446,34 +440,118 @@ print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; -print $form->textwithpicto($langs->trans("FreeLegalTextOnHolidays"), $langs->trans("AddCRIfTooLong").'

'.$htmltext, 1, 'help', '', 0, 2, 'tooltiphelp'); -print '
'; -$variablename = 'HOLIDAY_FREE_TEXT'; -if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { - print ''; +// Set working days +print '
".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Monday"))."'; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY', array(), null, 0); } else { - include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor($variablename, $conf->global->$variablename, '', 80, 'dolibarr_notes'); - print $doleditor->Create(); + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } } -print '
".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Friday"))."'; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY', array(), null, 0); +} else { + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } +} +print "
'; -print $form->textwithpicto($langs->trans("WatermarkOnDraftHolidayCards"), $htmltext, 1, 'help', '', 0, 2, 'watermarktooltip').'
'; -print '
'; -print ''; -print '
".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Saturday"))."'; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY', array(), null, 0, 0, 0, 2, 0, 1); +} else { + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } +} +print "
".$langs->trans("XIsAUsualNonWorkingDay", $langs->transnoentitiesnoconv("Sunday"))."'; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY', array(), null, 0, 0, 0, 2, 0, 1); +} else { + if (!empty($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY)) { + print ''.img_picto($langs->trans("Enabled"), 'on').''; + } else { + print ''.img_picto($langs->trans("Disabled"), 'off').''; + } +} +print "
'; + print $form->textwithpicto($langs->trans("FreeLegalTextOnHolidays"), $langs->trans("AddCRIfTooLong").'

'.$htmltext, 1, 'help', '', 0, 2, 'tooltiphelp'); + print '
'; + $variablename = 'HOLIDAY_FREE_TEXT'; + if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { + print ''; + } else { + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor = new DolEditor($variablename, $conf->global->$variablename, '', 80, 'dolibarr_notes'); + print $doleditor->Create(); + } + print '
'; + print $form->textwithpicto($langs->trans("WatermarkOnDraftHolidayCards"), $htmltext, 1, 'help', '', 0, 2, 'watermarktooltip').'
'; + print '
'; + print ''; + print '
'; print ''; diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index f4ea09966fc..cf4c250a678 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -255,7 +255,7 @@ if ($action == 'update') { $_SESSION["mainmenu"] = ""; // Le gestionnaire de menu a pu changer - header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup"); + header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup".(GETPOSTISSET('page_y', 'int') ? '&page_y='.GETPOST('page_y', 'int') : '')); exit; } @@ -281,6 +281,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; print '
'; print ''; print ''; +print ''; clearstatcache(); @@ -292,8 +293,9 @@ print ''; // Default language print ''.$langs->trans("DefaultLanguage").''; +print img_picto('', 'language', 'class="pictofixedwidth"'); print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT, 'MAIN_LANG_DEFAULT', 1, null, '', 0, 0, 'minwidth300', 2); -print ''; +//print ''; print ''; print ''; @@ -303,12 +305,24 @@ print ajax_constantonoff("MAIN_MULTILANGS", array(), $conf->entity, 0, 0, 1, 0); print ''; print ''; -print '
'."\n"; +print ''."\n"; print ''; +print '
'; +print '
'; +print ''; +print '
'; + +print '

'; + // Themes and themes options showSkins(null, 1); print '
'; +print '
'; +print ''; +print '
'; + +print '

'; // Other print '
'; @@ -440,6 +454,12 @@ print '
'; print '
'; +print '
'; +print ''; +print '
'; + +print '

'; + // Other print '
'; print ''; @@ -497,7 +517,7 @@ print ''; print '
'; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index 396570b2155..c02ee501d94 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -51,6 +51,7 @@ if (!empty($conf->global->MAIN_MOTD_SETUPPAGE)) { $conf->global->MAIN_MOTD_SETUPPAGE = preg_replace('//i', '
', $conf->global->MAIN_MOTD_SETUPPAGE); if (!empty($conf->global->MAIN_MOTD_SETUPPAGE)) { $i = 0; + $reg = array(); while (preg_match('/__\(([a-zA-Z|@]+)\)__/i', $conf->global->MAIN_MOTD_SETUPPAGE, $reg) && $i < 100) { $tmp = explode('|', $reg[1]); if (!empty($tmp[1])) { @@ -81,7 +82,8 @@ print '

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

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

'.$langs->trans("SetupDescription4b"); if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING) ? 1 : $conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) { // If only minimal initial modules enabled $langs->load("errors"); $warnpicto = img_warning($langs->trans("WarningEnableYourModulesApplications"), 'style="padding-right: 6px;"'); diff --git a/htdocs/admin/mails_senderprofile_list.php b/htdocs/admin/mails_senderprofile_list.php index e27c48b0416..d8c827337ad 100644 --- a/htdocs/admin/mails_senderprofile_list.php +++ b/htdocs/admin/mails_senderprofile_list.php @@ -413,8 +413,8 @@ if ($action != 'create') { print ''; */ print '
'; - print ''; - print ''; + print ''; + print ''; print '\n"; } + if ($objMod->needUpdate) { + $foundoneexternalmodulewithupdate++; + } } if ($action == 'checklastversion') { @@ -1245,7 +1249,13 @@ if ($mode == 'develop') { print '
'; print ''; print ''; - print ''; + print ''; print ''; print ''."\n"; diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index c0c6b45464f..4c1df0fa938 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -47,7 +47,7 @@ $error = 0; */ // Action to update or add a constant -if ($action == 'settemplates') { +if ($action == 'settemplates' && $user->admin) { $db->begin(); if (!$error && is_array($_POST)) { @@ -192,7 +192,8 @@ print "\n"; print ''; print ''; print '
'.$langs->trans("Label").'
'.$langs->trans("Email").'
'.$langs->trans("Label").'
'.$langs->trans("Email").'
'.$langs->trans("Signature").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $doleditor = new DolEditor('signature', GETPOST('signature'), '', 138, 'dolibarr_notes', 'In', true, true, empty($conf->global->FCKEDITOR_ENABLE_USERSIGN) ? 0 : 1, ROWS_4, '90%'); @@ -499,7 +499,7 @@ foreach ($object->fields as $key => $val) { if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { print $form->selectarray('search_'.$key, $val['arrayofkeyval'], empty($search[$key]) ? '' : $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); } elseif (strpos($val['type'], 'integer:') === 0) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1); + print $object->showInputField($val, $key, empty($search[$key]) ? '' : $search[$key], '', '', 'search_', 'maxwidth150', 1); } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { print ''; } diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index 8d0fb1165a8..db3c45a0776 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -230,6 +230,9 @@ if (!empty($conf->agenda->enabled)) { if (!empty($conf->eventorganization->enabled) && !empty($user->rights->eventorganization->read)) { $elementList['eventorganization_send'] = img_picto('', 'action', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToSendEventOrganization')); } +if (!empty($conf->partnership->enabled) && !empty($user->rights->partnership->read)) { + $elementList['partnership_send'] = img_picto('', 'partnership', 'class="paddingright"').dol_escape_htmltag($langs->trans('MailToPartnership')); +} $parameters = array('elementList'=>$elementList); $reshook = $hookmanager->executeHooks('emailElementlist', $parameters); // Note that $action and $object may have been modified by some hooks diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 494dfc2f625..77c070ad573 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -481,7 +481,9 @@ print load_fiche_titre($langs->trans("ModulesSetup"), '', 'title_setup'); $deschelp = ''; if ($mode == 'common' || $mode == 'commonkanban') { $desc = $langs->trans("ModulesDesc", '{picto}'); + $desc .= ' '.$langs->trans("ModulesDesc2", '{picto2}'); $desc = str_replace('{picto}', img_picto('', 'switch_off'), $desc); + $desc = str_replace('{picto2}', img_picto('', 'setup'), $desc); if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING) ? 1 : $conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) { // If only minimal initial modules enabled $deschelp = '
'.$desc."

\n"; } @@ -919,7 +921,6 @@ if ($mode == 'common' || $mode == 'commonkanban') { if ($objMod->needUpdate) { $versionTitle = $langs->trans('ModuleUpdateAvailable').' : '.$objMod->lastVersion; print ''.$versiontrans.''; - $foundoneexternalmodulewithupdate++; } else { print $versiontrans; } @@ -937,6 +938,9 @@ if ($mode == 'common' || $mode == 'commonkanban') { print "
'.$langs->trans("TryToUseTheModuleBuilder", $langs->transnoentitiesnoconv("ModuleBuilder")).''.$langs->trans("SeeTopRightMenu").''; + if (!empty($conf->modulebuilder->enabled)) { + print $langs->trans("SeeTopRightMenu"); + } else { + print ''.$langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("ModuleBuilder")).''; + } + print '
'; print $langs->trans("NotificationEMailFrom").''; -print ''; +print img_picto('', 'email', 'class="pictofixedwidth"'); +print ''; if (!empty($conf->global->NOTIFICATION_EMAIL_FROM) && !isValidEmail($conf->global->NOTIFICATION_EMAIL_FROM)) { print ' '.img_warning($langs->trans("ErrorBadEMail")); } @@ -270,7 +271,14 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { } $helptext = ''; - form_constantes($constantes, 3, $helptext); + form_constantes($constantes, 3, $helptext, 'EmailTemplate'); + + print '
'; + print '* '.$langs->trans("GoOntoUserCardToAddMore").'
'; + if (!empty($conf->societe->enabled)) { + print '** '.$langs->trans("GoOntoContactCardToAddMore").'
'; + } + print '
'; print '
'; } else { @@ -316,15 +324,14 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { print '
'; -} - -print '
'; -print '* '.$langs->trans("GoOntoUserCardToAddMore").'
'; -if (!empty($conf->societe->enabled)) { - print '** '.$langs->trans("GoOntoContactCardToAddMore").'
'; + print '
'; + print '* '.$langs->trans("GoOntoUserCardToAddMore").'
'; + if (!empty($conf->societe->enabled)) { + print '** '.$langs->trans("GoOntoContactCardToAddMore").'
'; + } + print '
'; } -print '
'; print ''; @@ -335,6 +342,7 @@ print '

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

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

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

\n"; + print '
'; print ''; print ''; print ''; @@ -395,6 +399,7 @@ if ($mode == 'userconf' && $user->admin) { print "\n"; } print '
'.$langs->trans("User").'
'; + print '
'; } print dol_get_fiche_end(); diff --git a/htdocs/admin/paymentbybanktransfer.php b/htdocs/admin/paymentbybanktransfer.php index 7cf522abc33..43ad8c15929 100644 --- a/htdocs/admin/paymentbybanktransfer.php +++ b/htdocs/admin/paymentbybanktransfer.php @@ -150,42 +150,44 @@ print ''; print ''; print ''; -print ''; +print ''; print ''; print ""; // Bank account (from Banks module) print ''; -print ''; /* Moved to bank account data // ICS print ''; -print ''; print ''; */ //User print ''; -print ''; print ''; /* //EntToEnd print ''; -print ''; +print ''; print ''; //USTRD print ''; -print ''; +print ''; print ''; */ @@ -195,7 +197,7 @@ print ''; +print ''; print ''; print '
'.$langs->trans("Parameter").''.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("BankToPayCreditTransfer").''; -$form->select_comptes($conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT, 'PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT', 0, "courant=1", 1); +print ''; +print img_picto('', 'bank_account', 'class="pictofixedwidth"'); +print $form->select_comptes($conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT, 'PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT', 0, "courant=1", 1, '', 0, 'minwidth200', 1); print '
'.$langs->trans("ICS").''; +print ''; print '
'.$langs->trans("ResponsibleUser").''; -print $form->select_dolusers($conf->global->PAYMENTBYBANKTRANSFER_USER, 'PAYMENTBYBANKTRANSFER_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); +print ''; +print img_picto('', 'user', 'class="pictofixedwidth"'); +print $form->select_dolusers($conf->global->PAYMENTBYBANKTRANSFER_USER, 'PAYMENTBYBANKTRANSFER_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'minwidth200 maxwidth500'); print '
'.$langs->trans("END_TO_END").''; -print ''; +print '
'.$langs->trans("USTRD").''; -print ''; +print '
'; if (!$conf->global->PAYMENTBYBANKTRANSFER_ADDDAYS) { $conf->global->PAYMENTBYBANKTRANSFER_ADDDAYS = 0; } -print '
'; print '
'; diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 7d7b5e36a40..3f58353320e 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -52,22 +52,27 @@ if ($cancel) { } if ($action == 'update') { - dolibarr_set_const($db, "MAIN_PDF_FORMAT", GETPOST("MAIN_PDF_FORMAT"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_FORMAT')) dolibarr_set_const($db, "MAIN_PDF_FORMAT", GETPOST("MAIN_PDF_FORMAT"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MARGIN_LEFT", GETPOST("MAIN_PDF_MARGIN_LEFT"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MARGIN_RIGHT", GETPOST("MAIN_PDF_MARGIN_TOP"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MARGIN_BOTTOM", GETPOST("MAIN_PDF_MARGIN_BOTTOM"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MARGIN_LEFT')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_LEFT", GETPOST("MAIN_PDF_MARGIN_LEFT"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MARGIN_RIGHT')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_RIGHT", GETPOST("MAIN_PDF_MARGIN_TOP"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MARGIN_BOTTOM')) dolibarr_set_const($db, "MAIN_PDF_MARGIN_BOTTOM", GETPOST("MAIN_PDF_MARGIN_BOTTOM"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", GETPOST("MAIN_PROFID1_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID2_IN_ADDRESS", GETPOST("MAIN_PROFID2_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID3_IN_ADDRESS", GETPOST("MAIN_PROFID3_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID4_IN_ADDRESS", GETPOST("MAIN_PROFID4_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID5_IN_ADDRESS", GETPOST("MAIN_PROFID5_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PROFID6_IN_ADDRESS", GETPOST("MAIN_PROFID6_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID1_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", GETPOST("MAIN_PROFID1_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID2_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID2_IN_ADDRESS", GETPOST("MAIN_PROFID2_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID3_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID3_IN_ADDRESS", GETPOST("MAIN_PROFID3_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID4_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID4_IN_ADDRESS", GETPOST("MAIN_PROFID4_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID5_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID5_IN_ADDRESS", GETPOST("MAIN_PROFID5_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PROFID6_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_PROFID6_IN_ADDRESS", GETPOST("MAIN_PROFID6_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT", GETPOST("MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_NO_SENDER_FRAME')) dolibarr_set_const($db, "MAIN_PDF_NO_SENDER_FRAME", GETPOST("MAIN_PDF_NO_SENDER_FRAME"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_NO_RECIPENT_FRAME')) dolibarr_set_const($db, "MAIN_PDF_NO_RECIPENT_FRAME", GETPOST("MAIN_PDF_NO_RECIPENT_FRAME"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_TVAINTRA_NOT_IN_ADDRESS", GETPOST("MAIN_TVAINTRA_NOT_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_HIDE_SENDER_NAME')) dolibarr_set_const($db, "MAIN_PDF_HIDE_SENDER_NAME", GETPOST("MAIN_PDF_HIDE_SENDER_NAME"), 'chaine', 0, '', $conf->entity); + + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT')) dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT", GETPOST("MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT"), 'chaine', 0, '', $conf->entity); + + if (GETPOSTISSET('MAIN_TVAINTRA_NOT_IN_ADDRESS')) dolibarr_set_const($db, "MAIN_TVAINTRA_NOT_IN_ADDRESS", GETPOST("MAIN_TVAINTRA_NOT_IN_ADDRESS"), 'chaine', 0, '', $conf->entity); if (!empty($conf->projet->enabled)) { if (GETPOST('PDF_SHOW_PROJECT_REF_OR_LABEL') == 'no') { @@ -82,20 +87,22 @@ if ($action == 'update') { } } - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DESC", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DESC"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_REF", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_REF"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS')) dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_HIDE_DESC')) dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_DESC", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_DESC"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_HIDE_REF')) dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_HIDE_REF", GETPOST("MAIN_GENERATE_DOCUMENTS_HIDE_REF"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_DOCUMENTS_LOGO_HEIGHT", GETPOST("MAIN_DOCUMENTS_LOGO_HEIGHT", 'int'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_INVERT_SENDER_RECIPIENT", GETPOST("MAIN_INVERT_SENDER_RECIPIENT"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_USE_ISO_LOCATION", GETPOST("MAIN_PDF_USE_ISO_LOCATION"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_DOCUMENTS_LOGO_HEIGHT')) dolibarr_set_const($db, "MAIN_DOCUMENTS_LOGO_HEIGHT", GETPOST("MAIN_DOCUMENTS_LOGO_HEIGHT", 'int'), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_INVERT_SENDER_RECIPIENT')) dolibarr_set_const($db, "MAIN_INVERT_SENDER_RECIPIENT", GETPOST("MAIN_INVERT_SENDER_RECIPIENT"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_USE_ISO_LOCATION')) dolibarr_set_const($db, "MAIN_PDF_USE_ISO_LOCATION", GETPOST("MAIN_PDF_USE_ISO_LOCATION"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_NO_CUSTOMER_CODE')) dolibarr_set_const($db, "MAIN_PDF_NO_CUSTOMER_CODE", GETPOST("MAIN_PDF_NO_CUSTOMER_CODE"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_SECOND_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_SECOND_TAX"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_THIRD_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_THIRD_TAX"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS')) dolibarr_set_const($db, "MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS", GETPOST("MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS"), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "PDF_USE_ALSO_LANGUAGE_CODE", GETPOST('PDF_USE_ALSO_LANGUAGE_CODE', 'alpha'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, "SHOW_SUBPRODUCT_REF_IN_PDF", GETPOST('SHOW_SUBPRODUCT_REF_IN_PDF', 'alpha'), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MAIN_HIDE_SECOND_TAX')) dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_SECOND_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_SECOND_TAX"), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('MAIN_PDF_MAIN_HIDE_THIRD_TAX')) dolibarr_set_const($db, "MAIN_PDF_MAIN_HIDE_THIRD_TAX", GETPOST("MAIN_PDF_MAIN_HIDE_THIRD_TAX"), 'chaine', 0, '', $conf->entity); + + if (GETPOSTISSET('PDF_USE_ALSO_LANGUAGE_CODE')) dolibarr_set_const($db, "PDF_USE_ALSO_LANGUAGE_CODE", GETPOST('PDF_USE_ALSO_LANGUAGE_CODE', 'alpha'), 'chaine', 0, '', $conf->entity); + if (GETPOSTISSET('SHOW_SUBPRODUCT_REF_IN_PDF')) dolibarr_set_const($db, "SHOW_SUBPRODUCT_REF_IN_PDF", GETPOST('SHOW_SUBPRODUCT_REF_IN_PDF', 'alpha'), 'chaine', 0, '', $conf->entity); setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); @@ -253,6 +260,55 @@ for ($i = 1; $i <= 6; $i++) { } } +// Borders on address frame + +print ''.$langs->trans("MAIN_PDF_NO_SENDER_FRAME").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_NO_SENDER_FRAME'); +} else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_NO_SENDER_FRAME", $arrval, $conf->global->MAIN_PDF_NO_SENDER_FRAME); +} +print ''; + +print ''.$langs->trans("MAIN_PDF_NO_RECIPENT_FRAME").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_NO_RECIPENT_FRAME'); +} else { + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_NO_RECIPENT_FRAME", $arrval, $conf->global->MAIN_PDF_NO_RECIPENT_FRAME); +} + +// Show sender name + +print ''.$langs->trans("MAIN_PDF_HIDE_SENDER_NAME").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_HIDE_SENDER_NAME'); +} else { + print $form->selectyesno('MAIN_PDF_HIDE_SENDER_NAME', (!empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) ? $conf->global->MAIN_PDF_HIDE_SENDER_NAME : 0, 1); +} +print ''; + +//Invert sender and recipient + +print ''.$langs->trans("SwapSenderAndRecipientOnPDF").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_INVERT_SENDER_RECIPIENT'); +} else { + print $form->selectyesno('MAIN_INVERT_SENDER_RECIPIENT', (!empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) ? $conf->global->MAIN_INVERT_SENDER_RECIPIENT : 0, 1); +} +print ''; + +// Place customer adress to the ISO location + +print ''.$langs->trans("PlaceCustomerAddressToIsoLocation").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_PDF_USE_ISO_LOCATION'); +} else { + print $form->selectyesno('MAIN_PDF_USE_ISO_LOCATION', (!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION)) ? $conf->global->MAIN_PDF_USE_ISO_LOCATION : 0, 1); +} +print ''; + print ''; print '
'; @@ -323,14 +379,24 @@ print '
'; print ''; print ''; -// Height of logo +// Use 2 languages into PDF +print ''; + +// Height of logo print ''; // Show project - if (!empty($conf->projet->enabled)) { print ''; } -//Invert sender and recipient +// -print ''; -// Place customer adress to the ISO location - -print ''; - -// Use 2 languages into PDF - -print ''; - -//Desc - -print ''; - -//Ref +// Ref print ''; -//Details +// Desc + +print ''; + +// Details print ''; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("PDF_USE_ALSO_LANGUAGE_CODE").''; +//if (! empty($conf->global->MAIN_MULTILANGS)) + //{ +$selected = GETPOSTISSET('PDF_USE_ALSO_LANGUAGE_CODE') ? GETPOST('PDF_USE_ALSO_LANGUAGE_CODE') : (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) ? $conf->global->PDF_USE_ALSO_LANGUAGE_CODE : 0); +print $formadmin->select_language($selected, 'PDF_USE_ALSO_LANGUAGE_CODE', 0, null, 1); +//} else { +// print ''.$langs->trans("MultiLangNotEnabled").''; +//} +print '
'.$langs->trans("MAIN_DOCUMENTS_LOGO_HEIGHT").''; print ''; print '
'.$langs->trans("PDF_SHOW_PROJECT").''; $tmparray = array('no' => 'No', 'showprojectref' => 'RefProject', 'showprojectlabel' => 'ShowProjectLabel'); @@ -339,49 +405,19 @@ if (!empty($conf->projet->enabled)) { print '
'.$langs->trans("SwapSenderAndRecipientOnPDF").''; +print '
'.$langs->trans("MAIN_PDF_HIDE_CUSTOMER_CODE"); +print ''; if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_INVERT_SENDER_RECIPIENT'); + print ajax_constantonoff('MAIN_PDF_HIDE_CUSTOMER_CODE'); } else { - print $form->selectyesno('MAIN_INVERT_SENDER_RECIPIENT', (!empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) ? $conf->global->MAIN_INVERT_SENDER_RECIPIENT : 0, 1); + $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes")); + print $form->selectarray("MAIN_PDF_HIDE_CUSTOMER_CODE", $arrval, $conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE); } print '
'.$langs->trans("PlaceCustomerAddressToIsoLocation").''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_PDF_USE_ISO_LOCATION'); -} else { - print $form->selectyesno('MAIN_PDF_USE_ISO_LOCATION', (!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION)) ? $conf->global->MAIN_PDF_USE_ISO_LOCATION : 0, 1); -} -print '
'.$langs->trans("PDF_USE_ALSO_LANGUAGE_CODE").''; -//if (! empty($conf->global->MAIN_MULTILANGS)) -//{ -$selected = GETPOSTISSET('PDF_USE_ALSO_LANGUAGE_CODE') ? GETPOST('PDF_USE_ALSO_LANGUAGE_CODE') : (!empty($conf->global->PDF_USE_ALSO_LANGUAGE_CODE) ? $conf->global->PDF_USE_ALSO_LANGUAGE_CODE : 0); -print $formadmin->select_language($selected, 'PDF_USE_ALSO_LANGUAGE_CODE', 0, null, 1); -//} else { -// print ''.$langs->trans("MultiLangNotEnabled").''; -//} -print '
'.$langs->trans("HideDescOnPDF").''; -if ($conf->use_javascript_ajax) { - print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_HIDE_DESC'); -} else { - print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DESC', (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC)) ? $conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC : 0, 1); -} -print '
'.$langs->trans("HideRefOnPDF").''; if ($conf->use_javascript_ajax) { @@ -391,7 +427,17 @@ if ($conf->use_javascript_ajax) { } print '
'.$langs->trans("HideDescOnPDF").''; +if ($conf->use_javascript_ajax) { + print ajax_constantonoff('MAIN_GENERATE_DOCUMENTS_HIDE_DESC'); +} else { + print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_HIDE_DESC', (!empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC)) ? $conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC : 0, 1); +} +print '
'.$langs->trans("HideDetailsOnPDF").''; if ($conf->use_javascript_ajax) { diff --git a/htdocs/admin/pdf_other.php b/htdocs/admin/pdf_other.php index 03c27fd3721..7dec909ecb6 100644 --- a/htdocs/admin/pdf_other.php +++ b/htdocs/admin/pdf_other.php @@ -53,6 +53,16 @@ if ($cancel) { } if ($action == 'update') { + if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTTERM')) { + dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTTERM", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTTERM"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('PROPOSAL_PDF_HIDE_PAYMENTMODE')) { + dolibarr_set_const($db, "PROPOSAL_PDF_HIDE_PAYMENTMODE", GETPOST("PROPOSAL_PDF_HIDE_PAYMENTMODE"), 'chaine', 0, '', $conf->entity); + } + if (GETPOSTISSET('MAIN_GENERATE_PROPOSALS_WITH_PICTURE')) { + dolibarr_set_const($db, "MAIN_GENERATE_PROPOSALS_WITH_PICTURE", GETPOST("MAIN_GENERATE_PROPOSALS_WITH_PICTURE"), 'chaine', 0, '', $conf->entity); + } + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); header("Location: ".$_SERVER["PHP_SELF"]."?mainmenu=home&leftmenu=setup"); @@ -78,7 +88,8 @@ $head = pdf_admin_prepare_head(); print dol_get_fiche_head($head, 'other', $langs->trans("other"), -1, 'pdf'); -print ''.$form->textwithpicto($langs->trans("PDFOtherDesc"), $s)."
\n"; +$tooltiptext = ''; +print ''.$form->textwithpicto($langs->trans("PDFOtherDesc"), $tooltiptext)."
\n"; print "
\n"; print load_fiche_titre($langs->trans("Proposal"), '', ''); @@ -116,10 +127,11 @@ print '
'; print '
'; - +/* print '
'; print ''; print '
'; +*/ print ''; diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index c7de6d59896..01e3b6d4913 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -160,8 +160,9 @@ print ""; // Bank account (from Banks module) print ''.$langs->trans("BankToReceiveWithdraw").''; -print ''; -$form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT, 'PRELEVEMENT_ID_BANKACCOUNT', 0, "courant=1", 1); +print ''; +print img_picto('', 'bank_account', 'class="pictofixedwidth"'); +print $form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT, 'PRELEVEMENT_ID_BANKACCOUNT', 0, "courant=1", 1, '', 0, 'minwidth200', 1); print ''; /* Moved to bank account data @@ -179,8 +180,9 @@ print ''; //User print ''.$langs->trans("ResponsibleUser").''; -print ''; -print $form->select_dolusers($conf->global->PRELEVEMENT_USER, 'PRELEVEMENT_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); +print ''; +print img_picto('', 'user', 'class="pictofixedwidth"'); +print $form->select_dolusers($conf->global->PRELEVEMENT_USER, 'PRELEVEMENT_USER', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'minwidth200 maxwidth500'); print ''; print ''; @@ -189,8 +191,8 @@ print ''; $htmltext = $langs->trans("KeepThisEmptyInMostCases"); print $form->textwithpicto($langs->trans("END_TO_END"), $htmltext); print ''; -print ''; -print ''; +print ''; +print ''; print ''; //USTRD @@ -199,16 +201,16 @@ $htmltext = $langs->trans("KeepThisEmptyInMostCases"); print $form->textwithpicto($langs->trans("USTRD"), $htmltext); print ''; print ''; -print ''; +print ''; print ''; //ADDDAYS print ''.$langs->trans("ADDDAYS").''; -print ''; +print ''; if (empty($conf->global->PRELEVEMENT_ADDDAYS)) { $conf->global->PRELEVEMENT_ADDDAYS = 0; } -print ''; +print ''; print ''; print ''; diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index e94dd6bad39..064fb5650a4 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -251,7 +251,7 @@ foreach ($arrayhandler as $key => $module) { } elseif ($tmp == 'NotConfigured') { print $langs->trans($tmp); } else { - print $tmp; + print ''.$tmp.''; } print ''."\n"; diff --git a/htdocs/admin/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index f307a5905b8..bc587845cda 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -59,8 +59,10 @@ $specimenthirdparty->initAsSpecimen(); if ($action == 'updateMask') { $maskconstinvoice = GETPOST('maskconstinvoice', 'alpha'); $maskconstcredit = GETPOST('maskconstcredit', 'alpha'); + $maskconstdeposit = GETPOST('maskconstdeposit', 'alpha'); $maskinvoice = GETPOST('maskinvoice', 'alpha'); $maskcredit = GETPOST('maskcredit', 'alpha'); + $maskdeposit = GETPOST('maskdeposit', 'alpha'); if ($maskconstinvoice) { $res = dolibarr_set_const($db, $maskconstinvoice, $maskinvoice, 'chaine', 0, '', $conf->entity); @@ -68,6 +70,9 @@ if ($action == 'updateMask') { if ($maskconstcredit) { $res = dolibarr_set_const($db, $maskconstcredit, $maskcredit, 'chaine', 0, '', $conf->entity); } + if ($maskconstdeposit) { + $res = dolibarr_set_const($db, $maskconstdeposit, $maskdeposit, 'chaine', 0, '', $conf->entity); + } if (!($res > 0)) { $error++; diff --git a/htdocs/admin/system/database-tables.php b/htdocs/admin/system/database-tables.php index 407b873ac59..3d31c516858 100644 --- a/htdocs/admin/system/database-tables.php +++ b/htdocs/admin/system/database-tables.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2005 Laurent Destailleur + * Copyright (C) 2004-2021 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin @@ -21,10 +21,16 @@ /** * \file htdocs/admin/system/database-tables.php - * \brief Page with information on database tables + * \brief Page with information on database tables. Add also some maintenance action to convert tables. */ +if (! defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $langs->load("admin"); @@ -35,6 +41,10 @@ if (!$user->admin) { $action = GETPOST('action', 'aZ09'); +/* + * Actions + */ + if ($action == 'convert') { $sql = "ALTER TABLE ".$db->escape(GETPOST("table", "aZ09"))." ENGINE=INNODB"; $db->query($sql); @@ -82,6 +92,7 @@ if (!$base) { print '
'; print ''; print ''; + print ''; print ''; print ''; print ''; @@ -105,17 +116,28 @@ if (!$base) { $obj = $db->fetch_object($resql); print ''; - print ''; + print ''; + print ''; print ''; if (isset($obj->Engine) && $obj->Engine == "MyISAM") { - print ''; + print ''; } else { print ''; } print ''; print ''; @@ -127,7 +149,7 @@ if (!$base) { print ''; print ''; print ''; @@ -142,6 +164,8 @@ if (!$base) { print '
'; print '
#'.$langs->trans("TableName").''.$langs->trans("Type").''.$langs->trans("Format").'
'.$obj->Name.''.($i+1).''.$obj->Name.''; + $tablename = preg_replace('/^'.MAIN_DB_PREFIX.'/', 'llx_', $obj->Name); + if (dol_is_file(DOL_DOCUMENT_ROOT.'/install/mysql/tables/'.$tablename.'.sql')) { + $img = "info"; + //print img_picto($langs->trans("ExternalModule"), $img); + } else { + $img = "info_black"; + //print DOL_DOCUMENT_ROOT.'/install/mysql/tables/'.$tablename.'.sql'; + print img_picto($langs->trans("ExternalModule"), $img, 'class="small"'); + } + print ''.$obj->Engine.''.$langs->trans("Convert").' InnoDb'.$langs->trans("Convert").' InnoDb '; print $obj->Row_format; if (isset($obj->Row_format) && (in_array($obj->Row_format, array("Compact")))) { - print '
'.$langs->trans("Convert").' Dynamic'; + print '
'.$langs->trans("Convert").' Dynamic'; } print '
'.$obj->Rows.''.$obj->Check_time.''.$obj->Collation; if (isset($obj->Collation) && (in_array($obj->Collation, array("utf8mb4_general_ci", "utf8mb4_unicode_ci", "latin1_swedish_ci")))) { - print '
'.$langs->trans("Convert").' UTF8'; + print '
'.$langs->trans("Convert").' UTF8'; } print '
'; print ''; + + print ''; print ''; print ''; print ''; @@ -160,6 +184,7 @@ if (!$base) { while ($i < $num) { $row = $db->fetch_row($resql); print ''; + print ''; print ''; print ''; print ''; @@ -179,6 +204,7 @@ if (!$base) { print '
'; print '
#'.$langs->trans("TableName").'Nb of tuplesNb index fetcher.
'.($i+1).''.$row[0].''.$row[1].''.$row[2].'
'; print ''; + print ''; print ''; print ''; print "\n"; @@ -197,6 +223,7 @@ if (!$base) { } print ''; + print ''; print ''; print ''; print ''; diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 9af09164469..58f6af55d60 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -309,57 +309,59 @@ print '
'; // Parameters in conf.php file (when a parameter start with ?, it is shown only if defined) $configfileparameters = array( - 'dolibarr_main_url_root' => $langs->trans("URLRoot"), - '?dolibarr_main_url_root_alt' => $langs->trans("URLRoot").' (alt)', - 'dolibarr_main_document_root'=> $langs->trans("DocumentRootServer"), - '?dolibarr_main_document_root_alt' => $langs->trans("DocumentRootServer").' (alt)', - 'dolibarr_main_data_root' => $langs->trans("DataRootServer"), - 'dolibarr_main_instance_unique_id' => $langs->trans("InstanceUniqueID"), - 'separator1' => '', - 'dolibarr_main_db_host' => $langs->trans("DatabaseServer"), - 'dolibarr_main_db_port' => $langs->trans("DatabasePort"), - 'dolibarr_main_db_name' => $langs->trans("DatabaseName"), - 'dolibarr_main_db_type' => $langs->trans("DriverType"), - 'dolibarr_main_db_user' => $langs->trans("DatabaseUser"), - 'dolibarr_main_db_pass' => $langs->trans("DatabasePassword"), - 'dolibarr_main_db_character_set' => $langs->trans("DBStoringCharset"), - 'dolibarr_main_db_collation' => $langs->trans("DBSortingCollation"), - '?dolibarr_main_db_prefix' => $langs->trans("Prefix"), - 'separator2' => '', - 'dolibarr_main_authentication' => $langs->trans("AuthenticationMode"), - '?multicompany_transverse_mode'=> $langs->trans("MultiCompanyMode"), - 'separator'=> '', - '?dolibarr_main_auth_ldap_login_attribute' => 'dolibarr_main_auth_ldap_login_attribute', - '?dolibarr_main_auth_ldap_host' => 'dolibarr_main_auth_ldap_host', - '?dolibarr_main_auth_ldap_port' => 'dolibarr_main_auth_ldap_port', - '?dolibarr_main_auth_ldap_version' => 'dolibarr_main_auth_ldap_version', - '?dolibarr_main_auth_ldap_dn' => 'dolibarr_main_auth_ldap_dn', - '?dolibarr_main_auth_ldap_admin_login' => 'dolibarr_main_auth_ldap_admin_login', - '?dolibarr_main_auth_ldap_admin_pass' => 'dolibarr_main_auth_ldap_admin_pass', - '?dolibarr_main_auth_ldap_debug' => 'dolibarr_main_auth_ldap_debug', - 'separator3' => '', - '?dolibarr_lib_ADODB_PATH' => 'dolibarr_lib_ADODB_PATH', - '?dolibarr_lib_FPDF_PATH' => 'dolibarr_lib_FPDF_PATH', - '?dolibarr_lib_TCPDF_PATH' => 'dolibarr_lib_TCPDF_PATH', - '?dolibarr_lib_FPDI_PATH' => 'dolibarr_lib_FPDI_PATH', - '?dolibarr_lib_TCPDI_PATH' => 'dolibarr_lib_TCPDI_PATH', - '?dolibarr_lib_NUSOAP_PATH' => 'dolibarr_lib_NUSOAP_PATH', - '?dolibarr_lib_GEOIP_PATH' => 'dolibarr_lib_GEOIP_PATH', - '?dolibarr_lib_ODTPHP_PATH' => 'dolibarr_lib_ODTPHP_PATH', - '?dolibarr_lib_ODTPHP_PATHTOPCLZIP' => 'dolibarr_lib_ODTPHP_PATHTOPCLZIP', - '?dolibarr_js_CKEDITOR' => 'dolibarr_js_CKEDITOR', - '?dolibarr_js_JQUERY' => 'dolibarr_js_JQUERY', - '?dolibarr_js_JQUERY_UI' => 'dolibarr_js_JQUERY_UI', - '?dolibarr_font_DOL_DEFAULT_TTF' => 'dolibarr_font_DOL_DEFAULT_TTF', - '?dolibarr_font_DOL_DEFAULT_TTF_BOLD' => 'dolibarr_font_DOL_DEFAULT_TTF_BOLD', - 'separator4' => '', - 'dolibarr_main_prod' => 'Production mode (Hide all error messages)', - 'dolibarr_main_restrict_os_commands' => 'Restrict CLI commands for backups', - 'dolibarr_main_restrict_ip' => 'Restrict access to some IPs only', - '?dolibarr_mailing_limit_sendbyweb' => 'Limit nb of email sent by page', - '?dolibarr_mailing_limit_sendbycli' => 'Limit nb of email sent by cli', - '?dolibarr_strict_mode' => 'Strict mode is on/off', - '?dolibarr_nocsrfcheck' => 'Disable CSRF security checks' + 'dolibarr_main_prod' => 'Production mode (Hide all error messages)', + 'dolibarr_main_instance_unique_id' => $langs->trans("InstanceUniqueID"), + 'separator0' => '', + 'dolibarr_main_url_root' => $langs->trans("URLRoot"), + '?dolibarr_main_url_root_alt' => $langs->trans("URLRoot").' (alt)', + 'dolibarr_main_document_root'=> $langs->trans("DocumentRootServer"), + '?dolibarr_main_document_root_alt' => $langs->trans("DocumentRootServer").' (alt)', + 'dolibarr_main_data_root' => $langs->trans("DataRootServer"), + 'separator1' => '', + 'dolibarr_main_db_host' => $langs->trans("DatabaseServer"), + 'dolibarr_main_db_port' => $langs->trans("DatabasePort"), + 'dolibarr_main_db_name' => $langs->trans("DatabaseName"), + 'dolibarr_main_db_type' => $langs->trans("DriverType"), + 'dolibarr_main_db_user' => $langs->trans("DatabaseUser"), + 'dolibarr_main_db_pass' => $langs->trans("DatabasePassword"), + 'dolibarr_main_db_character_set' => $langs->trans("DBStoringCharset"), + 'dolibarr_main_db_collation' => $langs->trans("DBSortingCollation"), + '?dolibarr_main_db_prefix' => $langs->trans("DatabasePrefix"), + 'dolibarr_main_db_readonly' => $langs->trans("ReadOnlyMode"), + 'separator2' => '', + 'dolibarr_main_authentication' => $langs->trans("AuthenticationMode"), + '?multicompany_transverse_mode'=> $langs->trans("MultiCompanyMode"), + 'separator'=> '', + '?dolibarr_main_auth_ldap_login_attribute' => 'dolibarr_main_auth_ldap_login_attribute', + '?dolibarr_main_auth_ldap_host' => 'dolibarr_main_auth_ldap_host', + '?dolibarr_main_auth_ldap_port' => 'dolibarr_main_auth_ldap_port', + '?dolibarr_main_auth_ldap_version' => 'dolibarr_main_auth_ldap_version', + '?dolibarr_main_auth_ldap_dn' => 'dolibarr_main_auth_ldap_dn', + '?dolibarr_main_auth_ldap_admin_login' => 'dolibarr_main_auth_ldap_admin_login', + '?dolibarr_main_auth_ldap_admin_pass' => 'dolibarr_main_auth_ldap_admin_pass', + '?dolibarr_main_auth_ldap_debug' => 'dolibarr_main_auth_ldap_debug', + 'separator3' => '', + '?dolibarr_lib_ADODB_PATH' => 'dolibarr_lib_ADODB_PATH', + '?dolibarr_lib_FPDF_PATH' => 'dolibarr_lib_FPDF_PATH', + '?dolibarr_lib_TCPDF_PATH' => 'dolibarr_lib_TCPDF_PATH', + '?dolibarr_lib_FPDI_PATH' => 'dolibarr_lib_FPDI_PATH', + '?dolibarr_lib_TCPDI_PATH' => 'dolibarr_lib_TCPDI_PATH', + '?dolibarr_lib_NUSOAP_PATH' => 'dolibarr_lib_NUSOAP_PATH', + '?dolibarr_lib_GEOIP_PATH' => 'dolibarr_lib_GEOIP_PATH', + '?dolibarr_lib_ODTPHP_PATH' => 'dolibarr_lib_ODTPHP_PATH', + '?dolibarr_lib_ODTPHP_PATHTOPCLZIP' => 'dolibarr_lib_ODTPHP_PATHTOPCLZIP', + '?dolibarr_js_CKEDITOR' => 'dolibarr_js_CKEDITOR', + '?dolibarr_js_JQUERY' => 'dolibarr_js_JQUERY', + '?dolibarr_js_JQUERY_UI' => 'dolibarr_js_JQUERY_UI', + '?dolibarr_font_DOL_DEFAULT_TTF' => 'dolibarr_font_DOL_DEFAULT_TTF', + '?dolibarr_font_DOL_DEFAULT_TTF_BOLD' => 'dolibarr_font_DOL_DEFAULT_TTF_BOLD', + 'separator4' => '', + 'dolibarr_main_restrict_os_commands' => 'Restrict CLI commands for backups', + 'dolibarr_main_restrict_ip' => 'Restrict access to some IPs only', + '?dolibarr_mailing_limit_sendbyweb' => 'Limit nb of email sent by page', + '?dolibarr_mailing_limit_sendbycli' => 'Limit nb of email sent by cli', + '?dolibarr_strict_mode' => 'Strict mode is on/off', + '?dolibarr_nocsrfcheck' => 'Disable CSRF security checks' ); print '
'; @@ -400,8 +402,10 @@ foreach ($configfileparameters as $key => $value) { if (in_array($newkey, array('dolibarr_main_db_pass', 'dolibarr_main_auth_ldap_admin_pass'))) { if (empty($dolibarr_main_prod)) { print ''; + print showValueWithClipboardCPButton(${$newkey}, 0, '********'); + } else { + print '**********'; } - print '**********'; } elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/', ${$newkey})) { print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT'); } elseif ($newkey == 'dolibarr_main_document_root_alt') { @@ -420,9 +424,14 @@ foreach ($configfileparameters as $key => $value) { } } elseif ($newkey == 'dolibarr_main_instance_unique_id') { //print $conf->file->instance_unique_id; - global $dolibarr_main_cookie_cryptkey; - $valuetoshow = ${$newkey} ? ${$newkey} : $dolibarr_main_cookie_cryptkey; // Use $dolibarr_main_instance_unique_id first then $dolibarr_main_cookie_cryptkey - print $valuetoshow; + global $dolibarr_main_cookie_cryptkey, $dolibarr_main_instance_unique_id; + $valuetoshow = $dolibarr_main_instance_unique_id ? $dolibarr_main_instance_unique_id : $dolibarr_main_cookie_cryptkey; // Use $dolibarr_main_instance_unique_id first then $dolibarr_main_cookie_cryptkey + if (empty($dolibarr_main_prod)) { + print ''; + print showValueWithClipboardCPButton($valuetoshow, 0, '********'); + } else { + print '**********'; + } if (empty($valuetoshow)) { print img_warning("EditConfigFileToAddEntry", 'dolibarr_main_instance_unique_id'); } @@ -441,6 +450,13 @@ foreach ($configfileparameters as $key => $value) { if (!empty($valuetoshow)) { print img_warning($langs->trans('SwitchThisForABetterSecurity', 0)); } + } elseif ($newkey == 'dolibarr_main_db_readonly') { + print ${$newkey}; + + $valuetoshow = ${$newkey}; + if (!empty($valuetoshow)) { + print img_warning($langs->trans('ReadOnlyMode', 1)); + } } else { print (empty(${$newkey}) ? '' : ${$newkey}); } diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index 212fcc6228a..272ac8d8f19 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -79,7 +79,12 @@ $file_list = array('missing' => array(), 'updated' => array()); // Local file to compare to $xmlshortfile = dol_sanitizeFileName(GETPOST('xmlshortfile', 'alpha') ? GETPOST('xmlshortfile', 'alpha') : 'filelist-'.DOL_VERSION.(empty($conf->global->MAIN_FILECHECK_LOCAL_SUFFIX) ? '' : $conf->global->MAIN_FILECHECK_LOCAL_SUFFIX).'.xml'.(empty($conf->global->MAIN_FILECHECK_LOCAL_EXT) ? '' : $conf->global->MAIN_FILECHECK_LOCAL_EXT)); + $xmlfile = DOL_DOCUMENT_ROOT.'/install/'.$xmlshortfile; +if (!preg_match('/\.zip$/i', $xmlfile) && dol_is_file($xmlfile.'.zip')) { + $xmlfile = $xmlfile.'.zip'; +} + // Remote file to compare to $xmlremote = GETPOST('xmlremote', 'alphanohtml'); if (empty($xmlremote) && !empty($conf->global->MAIN_FILECHECK_URL)) { @@ -150,6 +155,10 @@ if (GETPOST('target') == 'local') { } } $xml = simplexml_load_file($xmlfile); + if ($xml === false) { + print '
'.$langs->trans('XmlCorrupted').': '.$xmlfile.''; + $error++; + } } else { print '
'.$langs->trans('XmlNotFound').': '.$xmlfile.''; $error++; diff --git a/htdocs/admin/system/security.php b/htdocs/admin/system/security.php index 0b2f2678521..f2df395060b 100644 --- a/htdocs/admin/system/security.php +++ b/htdocs/admin/system/security.php @@ -30,7 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/events.class.php'; // Load translation files required by the page -$langs->loadLangs(array("install", "other", "admin")); +$langs->loadLangs(array("install", "other", "admin", "errors")); if (!$user->admin) { accessforbidden(); @@ -88,10 +88,14 @@ if (function_exists('exec')) { } print '
'; -print "PHP safe_mode = ".(ini_get('safe_mode') ? ini_get('safe_mode') : yn(0)).'   '.$langs->trans("Deprecated")." (removed in PHP 5.4)
\n"; +print "PHP session.use_strict_mode = ".(ini_get('session.use_strict_mode') ? ini_get('session.use_strict_mode') : yn(0)).'   ('.$langs->trans("RecommendedValueIs", '1').")
\n"; +print "PHP session.use_only_cookies = ".(ini_get('session.use_only_cookies') ? ini_get('session.use_only_cookies') : yn(0)).'   ('.$langs->trans("RecommendedValueIs", '1').")
\n"; +print "PHP session.cookie_httponly = ".(ini_get('session.cookie_httponly') ? ini_get('session.cookie_httponly') : '').'   ('.$langs->trans("RecommendedValueIs", '1').")
\n"; +print "PHP session.cookie_samesite = ".(ini_get('session.cookie_samesite') ? ini_get('session.cookie_samesite') : 'None').'   ('.$langs->trans("RecommendedValueIs", 'Strict').")
\n"; print "PHP open_basedir = ".(ini_get('open_basedir') ? ini_get('open_basedir') : yn(0).'   ('.$langs->trans("RecommendedValueIs", $langs->transnoentitiesnoconv("ARestrictedPath").', '.$langs->transnoentitiesnoconv("Example").' '.$_SERVER["DOCUMENT_ROOT"]).')')."
\n"; print "PHP allow_url_fopen = ".(ini_get('allow_url_fopen') ? img_picto($langs->trans("YouShouldSetThisToOff"), 'warning').' '.ini_get('allow_url_fopen') : yn(0)).'   ('.$langs->trans("RecommendedValueIs", $langs->transnoentitiesnoconv("No")).")
\n"; print "PHP allow_url_include = ".(ini_get('allow_url_include') ? img_picto($langs->trans("YouShouldSetThisToOff"), 'warning').' '.ini_get('allow_url_include') : yn(0)).'   ('.$langs->trans("RecommendedValueIs", $langs->transnoentitiesnoconv("No")).")
\n"; +//print "PHP safe_mode = ".(ini_get('safe_mode') ? ini_get('safe_mode') : yn(0)).'   '.$langs->trans("Deprecated")." (removed in PHP 5.4)
\n"; print "PHP disable_functions = "; $arrayoffunctionsdisabled = explode(',', ini_get('disable_functions')); $arrayoffunctionstodisable = explode(',', 'pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals'); @@ -198,6 +202,7 @@ if (empty($fileswithwritepermission)) { } } print '
'; +print '
'; print ''.$langs->trans("PermissionsOnFile", $conffile).': '; // $conffile is defined into filefunc.inc.php $perms = fileperms($dolibarr_main_document_root.'/'.$conffile); @@ -219,6 +224,16 @@ if ($perms) { print img_warning().' '.$langs->trans("FailedToReadFile", $conffile); } print '
'; +print '
'; + +$installlock = DOL_DATA_ROOT.'/install.lock'; +print ''.$langs->trans("DolibarrSetup").': '; +if (file_exists($installlock)) { + print img_picto('', 'tick').' '.$langs->trans("InstallAndUpgradeLockedBy", $installlock); +} else { + print img_warning().' '.$langs->trans("WarningLockFileDoesNotExists", DOL_DATA_ROOT); +} +print '
'; // File conf.php @@ -234,7 +249,7 @@ if (empty($dolibarr_main_prod)) { } print '
'; -print '$dolibarr_nocsrfcheck: '.$dolibarr_nocsrfcheck; +print '$dolibarr_nocsrfcheck: '.(empty($dolibarr_nocsrfcheck) ? '0' : $dolibarr_nocsrfcheck); if (!empty($dolibarr_nocsrfcheck)) { print '   '.img_picto('', 'warning').' '.$langs->trans("IfYouAreOnAProductionSetThis", 0); } @@ -251,7 +266,7 @@ print '
'; if (empty($conf->global->SECURITY_DISABLE_TEST_ON_OBFUSCATED_CONF)) { print '$dolibarr_main_db_pass: '; if (!empty($dolibarr_main_db_pass) && empty($dolibarr_main_db_encrypted_pass)) { - print img_picto('', 'warning').' '.$langs->trans("DatabasePasswordNotObfuscated").'   ('.$langs->trans("Recommanded").': '.$langs->trans("SetOptionTo", $langs->transnoentitiesnoconv("MainDbPasswordFileConfEncrypted"), yn(1)).')'; + print img_picto('', 'warning').' '.$langs->trans("DatabasePasswordNotObfuscated").'   ('.$langs->trans("Recommended").': '.$langs->trans("SetOptionTo", $langs->transnoentitiesnoconv("MainDbPasswordFileConfEncrypted"), yn(1)).')'; //print ' ('.$langs->trans("RecommendedValueIs", $langs->transnoentitiesnoconv("IPsOfUsers")).')'; } else { print img_picto('', 'tick').' '.$langs->trans("DatabasePasswordObfuscated"); @@ -267,49 +282,14 @@ if (empty($conf->global->SECURITY_DISABLE_TEST_ON_OBFUSCATED_CONF)) { print '
'; print '
'; print '
'; -print load_fiche_titre($langs->trans("Menu").' '.$langs->trans("SecuritySetup").' + '.$langs->trans("OtherSetup"), '', 'folder'); -//print ''.$langs->trans("PasswordEncryption").': '; -print 'MAIN_SECURITY_HASH_ALGO = '.(empty($conf->global->MAIN_SECURITY_HASH_ALGO) ? ''.$langs->trans("Undefined").'' : $conf->global->MAIN_SECURITY_HASH_ALGO)."   "; -if (empty($conf->global->MAIN_SECURITY_HASH_ALGO)) { - print '     If unset: \'md5\''; -} -if ($conf->global->MAIN_SECURITY_HASH_ALGO != 'password_hash') { - print '
MAIN_SECURITY_SALT = '.(empty($conf->global->MAIN_SECURITY_SALT) ? ''.$langs->trans("Undefined").'' : $conf->global->MAIN_SECURITY_SALT).'
'; -} else { - print '('.$langs->trans("Recommanded").': password_hash)'; - print '
'; -} -if ($conf->global->MAIN_SECURITY_HASH_ALGO != 'password_hash') { - print '
The recommanded value for MAIN_SECURITY_HASH_ALGO is now \'password_hash\' but setting it now will make ALL existing passwords of all users not valid, so update is not possible.
'; - print 'If you really want to switch, you must:
'; - print '- Go on home - setup - other and add constant MAIN_SECURITY_HASH_ALGO to value \'password_hash\'
'; - print '- In same session, WITHOUT LOGGING OUT, go into your admin user record and set a new password
'; - print '- You can now logout and login with this new password. You must now reset password of all other users.
'; - print '

'; -} +print load_fiche_titre($langs->trans("Menu").' '.$langs->trans("SecuritySetup"), '', 'folder'); + + +print ''.$langs->trans("UseCaptchaCode").': '; +print empty($conf->global->MAIN_SECURITY_ENABLECAPTCHA) ? '' : img_picto('', 'tick').' '; +print yn(empty($conf->global->MAIN_SECURITY_ENABLECAPTCHA) ? 0 : 1); print '
'; - - -print 'MAIN_SECURITY_ANTI_SSRF_SERVER_IP = '.(empty($conf->global->MAIN_SECURITY_ANTI_SSRF_SERVER_IP) ? ''.$langs->trans("Undefined").'   ('.$langs->trans("Example").': static-ips-of-server - '.$langs->trans("Note").': common loopback ip like 127.*.*.*, [::1] are already added)' : $conf->global->MAIN_SECURITY_ANTI_SSRF_SERVER_IP)."
"; -print '
'; - -print 'MAIN_ALLOW_SVG_FILES_AS_IMAGES = '.(empty($conf->global->MAIN_ALLOW_SVG_FILES_AS_IMAGES) ? '0   ('.$langs->trans("Recommanded").': 0)' : $conf->global->MAIN_ALLOW_SVG_FILES_AS_IMAGES)."
"; -print '
'; - -print 'MAIN_EXEC_USE_POPEN = '; -if (empty($conf->global->MAIN_EXEC_USE_POPEN)) { - print ''.$langs->trans("Undefined").''; -} else { - print $conf->global->MAIN_EXEC_USE_POPEN; -} -if ($execmethod == 1) { - print '   ("exec" PHP method will be used for shell commands)'; -} -if ($execmethod == 2) { - print '   ("popen" PHP method will be used for shell commands)'; -} -print "
"; print '
'; @@ -354,6 +334,69 @@ if (empty($out)) { } print '
'; +print '
'; +print '
'; +print '
'; + + +print load_fiche_titre($langs->trans("OtherSetup").' ('.$langs->trans("Experimental").')', '', 'folder'); + + +//print ''.$langs->trans("PasswordEncryption").': '; +print 'MAIN_SECURITY_HASH_ALGO = '.(empty($conf->global->MAIN_SECURITY_HASH_ALGO) ? ''.$langs->trans("Undefined").'' : $conf->global->MAIN_SECURITY_HASH_ALGO)."   "; +if (empty($conf->global->MAIN_SECURITY_HASH_ALGO)) { + print '     If unset: \'md5\''; +} +if ($conf->global->MAIN_SECURITY_HASH_ALGO != 'password_hash') { + print '
MAIN_SECURITY_SALT = '.(empty($conf->global->MAIN_SECURITY_SALT) ? ''.$langs->trans("Undefined").'' : $conf->global->MAIN_SECURITY_SALT).'
'; +} else { + print '('.$langs->trans("Recommended").': password_hash)'; + print '
'; +} +if ($conf->global->MAIN_SECURITY_HASH_ALGO != 'password_hash') { + print '
The recommanded value for MAIN_SECURITY_HASH_ALGO is now \'password_hash\' but setting it now will make ALL existing passwords of all users not valid, so update is not possible.
'; + print 'If you really want to switch, you must:
'; + print '- Go on home - setup - other and add constant MAIN_SECURITY_HASH_ALGO to value \'password_hash\'
'; + print '- In same session, WITHOUT LOGGING OUT, go into your admin user record and set a new password
'; + print '- You can now logout and login with this new password. You must now reset password of all other users.
'; + print '

'; +} +print '
'; + +print 'MAIN_SECURITY_ANTI_SSRF_SERVER_IP = '.(empty($conf->global->MAIN_SECURITY_ANTI_SSRF_SERVER_IP) ? ''.$langs->trans("Undefined").'   ('.$langs->trans("Recommended").': List of static IPs of server separated with coma - '.$langs->trans("Note").': common loopback ip like 127.*.*.*, [::1] are already added)' : $conf->global->MAIN_SECURITY_ANTI_SSRF_SERVER_IP)."
"; +print '
'; + +print 'MAIN_ALLOW_SVG_FILES_AS_IMAGES = '.(empty($conf->global->MAIN_ALLOW_SVG_FILES_AS_IMAGES) ? '0' : $conf->global->MAIN_ALLOW_SVG_FILES_AS_IMAGES).'   ('.$langs->trans("Recommended").': 0)
'; +print '
'; + +print 'MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE = '.(empty($conf->global->MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE) ? ''.$langs->trans("Undefined").'' : $conf->global->MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE).'   ('.$langs->trans("Recommended").': 1)
'; +print '
'; + +print 'MAIN_RESTRICTHTML_ONLY_VALID_HTML = '.(empty($conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML) ? ''.$langs->trans("Undefined").'   ('.$langs->trans("Recommended").': 1)' : $conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML)."
"; +print '
'; + +print 'MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES = '.(empty($conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES) ? ''.$langs->trans("Undefined").'   ('.$langs->trans("Recommended").': 1)' : $conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES)."
"; +print '
'; + +print 'MAIN_EXEC_USE_POPEN = '; +if (empty($conf->global->MAIN_EXEC_USE_POPEN)) { + print ''.$langs->trans("Undefined").''; +} else { + print $conf->global->MAIN_EXEC_USE_POPEN; +} +if ($execmethod == 1) { + print ', "exec" PHP method will be used for shell commands'; + print '   ('.$langs->trans("Recommended").': '.$langs->trans("Undefined").' '.$langs->trans("or").' 1)'; + print ''; +} +if ($execmethod == 2) { + print ', "popen" PHP method will be used for shell commands'; + print '   ('.$langs->trans("Recommended").': '.$langs->trans("Undefined").' '.$langs->trans("or").' 1)'; + print ''; +} +print "
"; +print '
'; + // Modules/Applications @@ -405,7 +448,7 @@ if (empty($conf->api->enabled) && empty($conf->webservices->enabled)) { print '
'; } if (!empty($conf->api->enabled)) { - print 'API_ENDPOINT_RULES = '.(empty($conf->global->API_ENDPOINT_RULES) ? ''.$langs->trans("Undefined").'' : $conf->global->API_ENDPOINT_RULES)."
\n"; + print 'API_ENDPOINT_RULES = '.(empty($conf->global->API_ENDPOINT_RULES) ? ''.$langs->trans("Undefined").'   ('.$langs->trans("Example").': endpoint1:1,endpoint2:1,...)' : $conf->global->API_ENDPOINT_RULES)."
\n"; print '
'; } } diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 428c80676a2..4f6977ffb41 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -136,7 +136,7 @@ $title = $langs->trans("Backup"); print load_fiche_titre($title, '', 'title_setup'); //print_barre_liste($langs->trans("Backup"), '', '', '', '', '', $langs->trans("BackupDesc",DOL_DATA_ROOT), 0, 0, 'title_setup'); -print '
'; +print '
'; print $langs->trans("BackupDesc", DOL_DATA_ROOT); print '
'; print '
'; @@ -147,8 +147,11 @@ print ''; print ''; print '
1'; +print ''; print $langs->trans("BackupDesc3", $dolibarr_main_db_name).'
'; //print $langs->trans("BackupDescY").'
'; +print '
'; + print '
'; print '
'; @@ -157,7 +160,7 @@ $title = $langs->trans("BackupDumpWizard"); print load_fiche_titre($title); -print '
#'.$langs->trans("TableName").''.$langs->trans("NbOfRecord").'
'.($i+1).''.$row[0].''.$count.'
'; +print '
'; print ''; print ''; } @@ -559,7 +599,7 @@ print ''."\n"; // Detect if we need a fetch on each output line $needToFetchEachLine = 0; -if (is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { if (preg_match('/\$object/', $val)) { $needToFetchEachLine++; // There is at least one compute field that use $object @@ -572,6 +612,7 @@ if (is_array($extrafields->attributes[$object->table_element]['computed']) && co // -------------------------------------------------------------------- $i = 0; $totalarray = array(); +$totalarray['nbfield'] = 0; while ($i < ($limit ? min($num, $limit) : $num)) { $obj = $db->fetch_object($resql); if (empty($obj)) { @@ -597,17 +638,16 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; } - if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status' && empty($val['arrayofkeyval'])) { + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } - if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) { - $cssforfield = 'tdoverflowmax100'; - } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } diff --git a/htdocs/bom/bom_note.php b/htdocs/bom/bom_note.php index 539eb654751..f456e7ddf98 100644 --- a/htdocs/bom/bom_note.php +++ b/htdocs/bom/bom_note.php @@ -70,7 +70,13 @@ restrictedArea($user, 'bom', $object->id, 'bom_bom', '', '', 'rowid', $isdraft); * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php index 0fe08bb1a4a..3996b5e49bd 100644 --- a/htdocs/bom/class/bom.class.php +++ b/htdocs/bom/class/bom.class.php @@ -97,23 +97,23 @@ class BOM extends CommonObject 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=> 1, 'default'=>1, 'index'=>1, 'position'=>5), 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>1, 'noteditable'=>1, 'visible'=>4, 'position'=>10, 'notnull'=>1, 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'comment'=>"Reference of BOM", 'showoncombobox'=>'1',), - 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'notnull'=>1, 'searchall'=>1, 'showoncombobox'=>'2', 'autofocusoncreate'=>1), + 'label' => array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>1, 'position'=>30, 'notnull'=>1, 'searchall'=>1, 'showoncombobox'=>'2', 'autofocusoncreate'=>1, 'css'=>'maxwidth300', 'csslist'=>'tdoverflowmax200'), 'bomtype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>33, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing', 1=>'Disassemble'), 'css'=>'minwidth150', 'csslist'=>'minwidth150 center'), //'bomtype' => array('type'=>'integer', 'label'=>'Type', 'enabled'=>1, 'visible'=>-1, 'position'=>32, 'notnull'=>1, 'default'=>'0', 'arrayofkeyval'=>array(0=>'Manufacturing')), - 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:1:(finished IS NULL or finished <> 0)', 'label'=>'Product', 'picto'=>'product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'help'=>'ProductBOMHelp', 'css'=>'maxwidth500'), + 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php:1:(finished IS NULL or finished <> 0)', 'label'=>'Product', 'picto'=>'product', 'enabled'=>1, 'visible'=>1, 'position'=>35, 'notnull'=>1, 'index'=>1, 'help'=>'ProductBOMHelp', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax100'), 'description' => array('type'=>'text', 'label'=>'Description', 'enabled'=>1, 'visible'=>-1, 'position'=>60, 'notnull'=>-1,), 'qty' => array('type'=>'real', 'label'=>'Quantity', 'enabled'=>1, 'visible'=>1, 'default'=>1, 'position'=>55, 'notnull'=>1, 'isameasure'=>'1', 'css'=>'maxwidth75imp'), //'efficiency' => array('type'=>'real', 'label'=>'ManufacturingEfficiency', 'enabled'=>1, 'visible'=>-1, 'default'=>1, 'position'=>100, 'notnull'=>0, 'css'=>'maxwidth50imp', 'help'=>'ValueOfMeansLossForProductProduced'), 'duration' => array('type'=>'duration', 'label'=>'EstimatedDuration', 'enabled'=>1, 'visible'=>-1, 'position'=>101, 'notnull'=>-1, 'css'=>'maxwidth50imp', 'help'=>'EstimatedDurationDesc'), - 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>1, 'visible'=>-1, 'position'=>102, 'css'=>'maxwidth500'), + 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php:0', 'label'=>'WarehouseForProduction', 'picto'=>'stock', 'enabled'=>1, 'visible'=>-1, 'position'=>102, 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax100'), 'note_public' => array('type'=>'html', 'label'=>'NotePublic', 'enabled'=>1, 'visible'=>-2, 'position'=>161, 'notnull'=>-1,), 'note_private' => array('type'=>'html', 'label'=>'NotePrivate', 'enabled'=>1, 'visible'=>-2, 'position'=>162, 'notnull'=>-1,), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>300, 'notnull'=>1,), 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'position'=>501, 'notnull'=>1,), 'date_valid' => array('type'=>'datetime', 'label'=>'DateValidation', 'enabled'=>1, 'visible'=>-2, 'position'=>502, 'notnull'=>0,), - 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserCreation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid',), - 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1,), - 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>512, 'notnull'=>0,), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserCreation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>510, 'notnull'=>1, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax100'), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>511, 'notnull'=>-1, 'csslist'=>'tdoverflowmax100'), + 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'picto'=>'user', 'enabled'=>1, 'visible'=>-2, 'position'=>512, 'notnull'=>0, 'csslist'=>'tdoverflowmax100'), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>1000, 'notnull'=>-1,), 'model_pdf' =>array('type'=>'varchar(255)', 'label'=>'Model pdf', 'enabled'=>1, 'visible'=>0, 'position'=>1010), 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>2, 'position'=>1000, 'notnull'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Enabled', 9=>'Disabled')), @@ -786,6 +786,9 @@ class BOM extends CommonObject } $label .= '
'; $label .= ''.$langs->trans('Ref').': '.$this->ref; + if (isset($this->label)) { + $label .= '
'.$langs->trans('Label').': '.$this->label; + } $url = DOL_URL_ROOT.'/bom/bom_card.php?id='.$this->id; diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php index 4c52182cff7..d24ba63ef55 100644 --- a/htdocs/bookmarks/bookmarks.lib.php +++ b/htdocs/bookmarks/bookmarks.lib.php @@ -72,10 +72,12 @@ function printDropdownBookmarksList() // Url to go on create new bookmark page $newbtn = ''; if (!empty($user->rights->bookmark->creer)) { - //$urltoadd=DOL_URL_ROOT.'/bookmarks/card.php?action=create&urlsource='.urlencode($url).'&url='.urlencode($url); - $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); - $newbtn .= ''; - $newbtn .= img_picto('', 'add', '', false, 0, 0, '', 'paddingright').dol_escape_htmltag($langs->trans('AddThisPageToBookmarks')).''; + if (!preg_match('/bookmarks\/card.php/', $_SERVER['PHP_SELF'])) { + //$urltoadd=DOL_URL_ROOT.'/bookmarks/card.php?action=create&urlsource='.urlencode($url).'&url='.urlencode($url); + $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); + $newbtn .= ''; + $newbtn .= img_picto('', 'add', '', false, 0, 0, '', 'paddingright').dol_escape_htmltag($langs->trans('AddThisPageToBookmarks')).''; + } } // Menu with list of bookmarks @@ -105,9 +107,11 @@ function printDropdownBookmarksList() $searchForm .= dol_escape_htmltag($user->rights->bookmark->creer ? $langs->trans('EditBookmarks') : $langs->trans('ListOfBookmarks')).'...'; // Url to go on create new bookmark page if (!empty($user->rights->bookmark->creer)) { - $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); - $searchForm .= ''; + if (!preg_match('/bookmarks\/card.php/', $_SERVER['PHP_SELF'])) { + $urltoadd = DOL_URL_ROOT.'/bookmarks/card.php?action=create&url='.urlencode($url); + $searchForm .= ''; + } } $i = 0; while ((empty($conf->global->BOOKMARKS_SHOW_IN_MENU) || $i < $conf->global->BOOKMARKS_SHOW_IN_MENU) && $obj = $db->fetch_object($resql)) { diff --git a/htdocs/bookmarks/card.php b/htdocs/bookmarks/card.php index 1094eabf0c6..f7795a14f47 100644 --- a/htdocs/bookmarks/card.php +++ b/htdocs/bookmarks/card.php @@ -40,7 +40,7 @@ $action = GETPOST("action", "alpha"); $title = (string) GETPOST("title", "alpha"); $url = (string) GETPOST("url", "alpha"); $urlsource = GETPOST("urlsource", "alpha"); -$target = GETPOST("target", "alpha"); +$target = GETPOST("target", "int"); $userid = GETPOST("userid", "int"); $position = GETPOST("position", "int"); $backtopage = GETPOST('backtopage', 'alpha'); @@ -169,7 +169,7 @@ if ($action == 'create') { // Target print '
'; // Owner diff --git a/htdocs/cashdesk/admin/cashdesk.php b/htdocs/cashdesk/admin/cashdesk.php deleted file mode 100644 index eee5cac755f..00000000000 --- a/htdocs/cashdesk/admin/cashdesk.php +++ /dev/null @@ -1,191 +0,0 @@ - - * Copyright (C) 2011-2017 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/admin/cashdesk.php - * \ingroup cashdesk - * \brief Setup page for cashdesk module - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; - -// If socid provided by ajax company selector -if (!empty($_REQUEST['CASHDESK_ID_THIRDPARTY_id'])) { - $_GET['CASHDESK_ID_THIRDPARTY'] = GETPOST('CASHDESK_ID_THIRDPARTY_id', 'alpha'); - $_POST['CASHDESK_ID_THIRDPARTY'] = GETPOST('CASHDESK_ID_THIRDPARTY_id', 'alpha'); - $_REQUEST['CASHDESK_ID_THIRDPARTY'] = GETPOST('CASHDESK_ID_THIRDPARTY_id', 'alpha'); -} - -// Security check -if (!$user->admin) { - accessforbidden(); -} - -// Load translation files required by the page -$langs->loadLangs(array("admin", "cashdesk")); - - -/* - * Actions - */ - -if (GETPOST('action', 'alpha') == 'set') { - $db->begin(); - - if (GETPOST('socid', 'int') < 0) { - $_POST["socid"] = ''; - } - - $res = dolibarr_set_const($db, "CASHDESK_ID_THIRDPARTY", (GETPOST('socid', 'int') > 0 ? GETPOST('socid', 'int') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CASH", (GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CHEQUE", (GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CB", (GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_WAREHOUSE", (GETPOST('CASHDESK_ID_WAREHOUSE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_WAREHOUSE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_NO_DECREASE_STOCK", GETPOST('CASHDESK_NO_DECREASE_STOCK', 'alpha'), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_SERVICES", GETPOST('CASHDESK_SERVICES', 'alpha'), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_DOLIBAR_RECEIPT_PRINTER", GETPOST('CASHDESK_DOLIBAR_RECEIPT_PRINTER', 'alpha'), 'chaine', 0, '', $conf->entity); - - dol_syslog("admin/cashdesk: level ".GETPOST('level', 'alpha')); - - if (!($res > 0)) { - $error++; - } - - if (!$error) { - $db->commit(); - setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); - } else { - $db->rollback(); - setEventMessages($langs->trans("Error"), null, 'errors'); - } -} - -/* - * View - */ - -$form = new Form($db); -$formproduct = new FormProduct($db); - -llxHeader('', $langs->trans("CashDeskSetup")); - -$linkback = ''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("CashDeskSetup").' (SimplePOS)', $linkback, 'title_setup'); -print '
'; - - -// Mode -print ''; -print ''; -print ''; - -if (!empty($conf->service->enabled)) { - print '
'; print $langs->trans("DatabaseName").' : '.$dolibarr_main_db_name.'
'; @@ -554,8 +557,10 @@ print ''; print '
2'; +print ''; print $langs->trans("BackupDesc2", DOL_DATA_ROOT).'
'; print $langs->trans("BackupDescX").'

'; +print '
'; print '
'; diff --git a/htdocs/admin/tools/dolibarr_import.php b/htdocs/admin/tools/dolibarr_import.php index 1fc0ca49221..29bfe5c12a4 100644 --- a/htdocs/admin/tools/dolibarr_import.php +++ b/htdocs/admin/tools/dolibarr_import.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2006-2021 Laurent Destailleur * Copyright (C) 2006-2012 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -22,6 +22,10 @@ * \brief Page to import database */ +if (! defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; // Load translation files required by the page @@ -72,7 +76,7 @@ jQuery(document).ready(function() { print load_fiche_titre($langs->trans("Restore"), '', 'title_setup'); -print '
'; +print '
'; print $langs->trans("RestoreDesc", DOL_DATA_ROOT); print '
'; print '
'; @@ -81,7 +85,9 @@ print '
';
1 '; print $langs->trans("RestoreDesc2", DOL_DATA_ROOT).'

'; +print ''; ?>
@@ -90,7 +96,9 @@ print $langs->trans("RestoreDesc2", DOL_DATA_ROOT).'

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

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

diff --git a/htdocs/admin/tools/export_files.php b/htdocs/admin/tools/export_files.php index 34685676320..384b08e19cf 100644 --- a/htdocs/admin/tools/export_files.php +++ b/htdocs/admin/tools/export_files.php @@ -22,6 +22,10 @@ * \brief Page to export documents into a compressed file */ +if (! defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; diff --git a/htdocs/admin/tools/listsessions.php b/htdocs/admin/tools/listsessions.php index 61d2b1cea58..10a38fb59a1 100644 --- a/htdocs/admin/tools/listsessions.php +++ b/htdocs/admin/tools/listsessions.php @@ -22,9 +22,14 @@ * \brief List of PHP sessions */ +if (! defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; + // Load translation files required by the page $langs->loadLangs(array("companies", "install", "users", "other")); @@ -185,14 +190,14 @@ print '
'; if (empty($conf->global->MAIN_ONLY_LOGIN_ALLOWED)) { - print ''.$langs->trans("LockNewSessions").''; + print ''.$langs->trans("LockNewSessions").''; } else { - print ''.$langs->trans("UnlockNewSessions").''; + print ''.$langs->trans("UnlockNewSessions").''; } if ($savehandler == 'files') { if (count($listofsessions)) { - print ''.$langs->trans("PurgeSessions").''; + print ''.$langs->trans("PurgeSessions").''; } } diff --git a/htdocs/admin/tools/purge.php b/htdocs/admin/tools/purge.php index e20b9c2b13a..09647549c8b 100644 --- a/htdocs/admin/tools/purge.php +++ b/htdocs/admin/tools/purge.php @@ -21,15 +21,15 @@ * \brief Page to purge files (temporary or not) */ +if (! defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $langs->load("admin"); -if (!$user->admin) { - accessforbidden(); -} - $action = GETPOST('action', 'aZ09'); $confirm = GETPOST('confirm', 'alpha'); $choice = GETPOST('choice', 'aZ09'); @@ -42,10 +42,15 @@ if (!empty($conf->syslog->enabled)) { $filelog = preg_replace('/DOL_DATA_ROOT/i', DOL_DATA_ROOT, $filelog); } +if (!$user->admin) { + accessforbidden(); +} + /* * Actions */ + if ($action == 'purge' && !preg_match('/^confirm/i', $choice) && ($choice != 'allfiles' || $confirm == 'yes')) { // Increase limit of time. Works only if we are not in safe mode $ExecTimeLimit = 600; diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index 5a6ff94ce57..821bcd9e3f3 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -22,6 +22,10 @@ * \brief Page to make a Dolibarr online upgrade */ +if (! defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -100,7 +104,7 @@ if (function_exists('curl_init')) { print $langs->trans("LastStableVersion").' : '.$langs->trans("UpdateServerOffline").'
'; } } else { - print $langs->trans("LastStableVersion").' : '.$langs->trans("Check").'
'; + print $langs->trans("LastStableVersion").' : '.$langs->trans("Check").'
'; } } @@ -113,14 +117,14 @@ print '
'; print $langs->trans("ThisIsProcessToFollow").'
'; print ''.$langs->trans("StepNb", 1).': '; $fullurl = ''.$urldolibarr.''; -print $langs->trans("DownloadPackageFromWebSite", $fullurl).'
'; +print str_replace('{s}', $fullurl, $langs->trans("DownloadPackageFromWebSite", '{s}')).'
'; print ''.$langs->trans("StepNb", 2).': '; -print $langs->trans("UnpackPackageInDolibarrRoot", $dolibarrroot).'
'; +print str_replace('{s}', $dolibarrroot, $langs->trans("UnpackPackageInDolibarrRoot", '{s}')).'
'; print ''.$langs->trans("StepNb", 3).': '; print $langs->trans("RemoveLock", $dolibarrdataroot.'/install.lock').'
'; print ''.$langs->trans("StepNb", 4).': '; $fullurl = ''.DOL_URL_ROOT.'/install/'; -print $langs->trans("CallUpdatePage", $fullurl).'
'; +print str_replace('{s}', $fullurl, $langs->trans("CallUpdatePage", '{s}')).'
'; print ''.$langs->trans("StepNb", 5).': '; print $langs->trans("RestoreLock", $dolibarrdataroot.'/install.lock').'
'; @@ -133,8 +137,9 @@ print '
'; print $langs->trans("AddExtensionThemeModuleOrOther").'
'; print '
'; - -print $langs->trans("GoModuleSetupArea", DOL_URL_ROOT.'/admin/modules.php?mode=deploy', $langs->transnoentities("Home").' - '.$langs->transnoentities("Setup").' - '.$langs->transnoentities("Modules")); +$texttoshow = $langs->trans("GoModuleSetupArea", DOL_URL_ROOT.'/admin/modules.php?mode=deploy', '{s2}'); +$texttoshow = str_replace('{s2}', img_picto('', 'tools', 'class="pictofixedwidth"').$langs->transnoentities("Home").' - '.$langs->transnoentities("Setup").' - '.$langs->transnoentities("Modules"), $texttoshow); +print $texttoshow; // End of page llxFooter(); diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 09156e08588..1b6fa5bebe7 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -91,15 +91,21 @@ $workflowcodes = array( ), // Automatic classification of order - 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING'=>array( + 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING'=>array( // when shipping validated 'family'=>'classify_order', 'position'=>40, 'enabled'=>(!empty($conf->expedition->enabled) && !empty($conf->commande->enabled)), 'picto'=>'order' ), - 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER'=>array( + 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED'=>array( // when shipping closed 'family'=>'classify_order', 'position'=>41, + 'enabled'=>(!empty($conf->expedition->enabled) && !empty($conf->commande->enabled)), + 'picto'=>'order' + ), + 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER'=>array( + 'family'=>'classify_order', + 'position'=>42, 'enabled'=>(!empty($conf->facture->enabled) && !empty($conf->commande->enabled)), 'picto'=>'order', 'warning'=>'' diff --git a/htdocs/asset/note.php b/htdocs/asset/note.php index 752591ade9e..16af18d8277 100644 --- a/htdocs/asset/note.php +++ b/htdocs/asset/note.php @@ -70,8 +70,13 @@ $permissionnote = 1; * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once - +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* * View diff --git a/htdocs/blockedlog/admin/blockedlog.php b/htdocs/blockedlog/admin/blockedlog.php index f90385b4209..423c40d9e20 100644 --- a/htdocs/blockedlog/admin/blockedlog.php +++ b/htdocs/blockedlog/admin/blockedlog.php @@ -79,7 +79,10 @@ $form = new Form($db); $block_static = new BlockedLog($db); $block_static->loadTrackedEvents(); -llxHeader('', $langs->trans("BlockedLogSetup")); +$title = $langs->trans("BlockedLogSetup"); +$help_url="EN:Module_Unalterable_Archives_-_Logs|FR:Module_Archives_-_Logs_Inaltérable"; + +llxHeader('', $title, $help_url); $linkback = ''; if ($withtab) { diff --git a/htdocs/blockedlog/admin/blockedlog_list.php b/htdocs/blockedlog/admin/blockedlog_list.php index 265c12dd49c..385101c7468 100644 --- a/htdocs/blockedlog/admin/blockedlog_list.php +++ b/htdocs/blockedlog/admin/blockedlog_list.php @@ -275,8 +275,9 @@ if (GETPOST('withtab', 'alpha')) { } else { $title = $langs->trans("BrowseBlockedLog"); } +$help_url="EN:Module_Unalterable_Archives_-_Logs|FR:Module_Archives_-_Logs_Inaltérable"; -llxHeader('', $langs->trans("BrowseBlockedLog")); +llxHeader('', $title, $help_url); $MAXLINES = 10000; diff --git a/htdocs/blockedlog/class/blockedlog.class.php b/htdocs/blockedlog/class/blockedlog.class.php index 112456480e1..a7be2fb3630 100644 --- a/htdocs/blockedlog/class/blockedlog.class.php +++ b/htdocs/blockedlog/class/blockedlog.class.php @@ -549,110 +549,111 @@ class BlockedLog $totalamount = 0; - if (!is_array($object->amounts) && $object->amount) { - $object->amounts = array($object->id => $object->amount); - } + // Loop on each invoice payment amount + if (is_array($object->amounts) && !empty($object->amounts)) { + $paymentpartnumber = 0; + foreach ($object->amounts as $objid => $amount) { + if (empty($amount)) { + continue; + } - $paymentpartnumber = 0; - foreach ($object->amounts as $objid => $amount) { - if (empty($amount)) { - continue; - } + $totalamount += $amount; - $totalamount += $amount; + $tmpobject = null; + if ($this->element == 'payment_supplier') { + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; + $tmpobject = new FactureFournisseur($this->db); + } elseif ($this->element == 'payment') { + include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $tmpobject = new Facture($this->db); + } elseif ($this->element == 'payment_donation') { + include_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; + $tmpobject = new Don($this->db); + } elseif ($this->element == 'payment_various') { + include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; + $tmpobject = new PaymentVarious($this->db); + } - $tmpobject = null; - if ($this->element == 'payment_supplier') { - include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; - $tmpobject = new FactureFournisseur($this->db); - } elseif ($this->element == 'payment') { - include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - $tmpobject = new Facture($this->db); - } elseif ($this->element == 'payment_donation') { - include_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; - $tmpobject = new Don($this->db); - } elseif ($this->element == 'payment_various') { - include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/paymentvarious.class.php'; - $tmpobject = new PaymentVarious($this->db); - } + if (!is_object($tmpobject)) { + continue; + } - if (!is_object($tmpobject)) { - continue; - } + $result = $tmpobject->fetch($objid); - $result = $tmpobject->fetch($objid); - - if ($result <= 0) { - $this->error = $tmpobject->error; - $this->errors = $tmpobject->errors; - dol_syslog("Failed to fetch object with id ".$objid, LOG_ERR); - return -1; - } - - $paymentpart = new stdClass(); - $paymentpart->amount = $amount; - - if (!in_array($this->element, array('payment_donation', 'payment_various'))) { - $result = $tmpobject->fetch_thirdparty(); - if ($result == 0) { - $this->error = 'Failed to fetch thirdparty for object with id '.$tmpobject->id; - $this->errors[] = $this->error; - dol_syslog("Failed to fetch thirdparty for object with id ".$tmpobject->id, LOG_ERR); - return -1; - } elseif ($result < 0) { + if ($result <= 0) { $this->error = $tmpobject->error; $this->errors = $tmpobject->errors; + dol_syslog("Failed to fetch object with id ".$objid, LOG_ERR); return -1; } - $paymentpart->thirdparty = new stdClass(); - foreach ($tmpobject->thirdparty as $key => $value) { - if (in_array($key, $arrayoffieldstoexclude)) { - continue; // Discard some properties - } - if (!in_array($key, array( - 'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode', - 'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur' - ))) { - continue; // Discard if not into a dedicated list - } - if (!is_object($value) && !is_null($value) && $value !== '') { - $paymentpart->thirdparty->{$key} = $value; - } - } - } + $paymentpart = new stdClass(); + $paymentpart->amount = $amount; - // Init object to avoid warnings - if ($this->element == 'payment_donation') { - $paymentpart->donation = new stdClass(); - } else { - $paymentpart->invoice = new stdClass(); - } + if (!in_array($this->element, array('payment_donation', 'payment_various'))) { + $result = $tmpobject->fetch_thirdparty(); + if ($result == 0) { + $this->error = 'Failed to fetch thirdparty for object with id '.$tmpobject->id; + $this->errors[] = $this->error; + dol_syslog("Failed to fetch thirdparty for object with id ".$tmpobject->id, LOG_ERR); + return -1; + } elseif ($result < 0) { + $this->error = $tmpobject->error; + $this->errors = $tmpobject->errors; + return -1; + } - if ($this->element != 'payment_various') { - foreach ($tmpobject as $key => $value) { - if (in_array($key, $arrayoffieldstoexclude)) { - continue; // Discard some properties - } - if (!in_array($key, array( - 'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public' - ))) { - continue; // Discard if not into a dedicated list - } - if (!is_object($value) && !is_null($value) && $value !== '') { - if ($this->element == 'payment_donation') { - $paymentpart->donation->{$key} = $value; - } elseif ($this->element == 'payment_various') { - $paymentpart->various->{$key} = $value; - } else { - $paymentpart->invoice->{$key} = $value; + $paymentpart->thirdparty = new stdClass(); + foreach ($tmpobject->thirdparty as $key => $value) { + if (in_array($key, $arrayoffieldstoexclude)) { + continue; // Discard some properties + } + if (!in_array($key, array( + 'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode', + 'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur' + ))) { + continue; // Discard if not into a dedicated list + } + if (!is_object($value) && !is_null($value) && $value !== '') { + $paymentpart->thirdparty->{$key} = $value; } } } - $paymentpartnumber++; // first payment will be 1 - $this->object_data->payment_part[$paymentpartnumber] = $paymentpart; + // Init object to avoid warnings + if ($this->element == 'payment_donation') { + $paymentpart->donation = new stdClass(); + } else { + $paymentpart->invoice = new stdClass(); + } + + if ($this->element != 'payment_various') { + foreach ($tmpobject as $key => $value) { + if (in_array($key, $arrayoffieldstoexclude)) { + continue; // Discard some properties + } + if (!in_array($key, array( + 'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public' + ))) { + continue; // Discard if not into a dedicated list + } + if (!is_object($value) && !is_null($value) && $value !== '') { + if ($this->element == 'payment_donation') { + $paymentpart->donation->{$key} = $value; + } elseif ($this->element == 'payment_various') { + $paymentpart->various->{$key} = $value; + } else { + $paymentpart->invoice->{$key} = $value; + } + } + } + + $paymentpartnumber++; // first payment will be 1 + $this->object_data->payment_part[$paymentpartnumber] = $paymentpart; + } } + } elseif (!empty($object->amount)) { + $totalamount = $object->amount; } $this->object_data->amount = $totalamount; diff --git a/htdocs/bom/bom_card.php b/htdocs/bom/bom_card.php index b598b95ae0a..cd530994b9b 100644 --- a/htdocs/bom/bom_card.php +++ b/htdocs/bom/bom_card.php @@ -532,10 +532,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea */ if (!empty($object->table_element_line)) { - print '
+ print ' + '; diff --git a/htdocs/bom/bom_list.php b/htdocs/bom/bom_list.php index a47b1692ca9..df21938aec5 100644 --- a/htdocs/bom/bom_list.php +++ b/htdocs/bom/bom_list.php @@ -83,6 +83,10 @@ foreach ($object->fields as $key => $val) { if (GETPOST('search_'.$key, 'alpha') !== '') { $search[$key] = GETPOST('search_'.$key, 'alpha'); } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } } // List of fields to search into when doing a "search in all" @@ -104,7 +108,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -131,7 +135,8 @@ $result = restrictedArea($user, 'bom'); */ if (GETPOST('cancel', 'alpha')) { - $action = 'list'; $massaction = ''; + $action = 'list'; + $massaction = ''; } if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; @@ -151,6 +156,10 @@ if (empty($reshook)) { if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers foreach ($object->fields as $key => $val) { $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } } $toselect = array(); $search_array_options = array(); @@ -277,18 +286,18 @@ $now = dol_now(); $help_url = 'EN:Module_BOM'; $title = $langs->trans('ListOfBOMs'); +$morejs = array(); +$morecss = array(); // Build and execute select // -------------------------------------------------------------------- $sql = 'SELECT '; -foreach ($object->fields as $key => $val) { - $sql .= 't.'.$key.', '; -} +$sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key.' ' : ''); } } // Add fields from hooks @@ -297,33 +306,52 @@ $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $obje $sql .= preg_replace('/^,/', '', $hookmanager->resPrint); $sql = preg_replace('/,\s*$/', '', $sql); $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; if ($object->ismultientitymanaged == 1) { $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; } else { $sql .= " WHERE 1 = 1"; } foreach ($search as $key => $val) { - if ($key == 'status' && $search[$key] == -1) { - continue; - } - $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if (strpos($object->fields[$key]['type'], 'integer:') === 0) { - if ($search[$key] == '-1') { - $search[$key] = ''; + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } } - $mode_search = 2; - } - if ($search[$key] != '') { - $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); } } if ($search_all) { $sql .= natural_search(array_keys($fieldstosearchall), $search_all); } +//$sql.= dolSqlDateFilter("t.field", $search_xxxday, $search_xxxmonth, $search_xxxyear); // Add where from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; // Add where from hooks @@ -332,7 +360,7 @@ $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $objec $sql .= $hookmanager->resPrint; /* If a group by is required -$sql.= " GROUP BY " +$sql.= " GROUP BY "; foreach($object->fields as $key => $val) { $sql.='t.'.$key.', '; @@ -345,7 +373,7 @@ if (! empty($extrafields->attributes[$object->table_element]['label'])) { } // Add where from hooks $parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters); // Note that $action and $object may have been modified by hook +$reshook=$hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql=preg_replace('/,\s*$/','', $sql); */ @@ -391,7 +419,7 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ // Output page // -------------------------------------------------------------------- -llxHeader('', $title, $help_url); +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); $arrayofselected = is_array($toselect) ? $toselect : array(); @@ -416,6 +444,10 @@ if ($optioncss != '') { } // Add $param from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; // List of mass actions available $arrayofmassactions = array( @@ -431,7 +463,7 @@ if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'pr } $massactionbutton = $form->selectMassAction('', $arrayofmassactions); -print ''; +print ''."\n"; if ($optioncss != '') { print ''; } @@ -440,11 +472,12 @@ print ''; print ''; print ''; +print ''; print ''; $newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/bom/bom_card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $user->rights->bom->write); -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'bom', 0, $newcardbutton, '', $limit, 0, 0, 1); +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'object_'.$object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); // Add code for pre mass action (confirmation or email presend form) $topicmail = "SendBillOfMaterialsRef"; @@ -504,11 +537,18 @@ foreach ($object->fields as $key => $val) { if (!empty($arrayfields['t.'.$key]['checked'])) { print '
'; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { - print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth125', 1); - } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { - print ''; + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
'; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
'; + print '
'; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
'; } print '
'.$langs->trans("BehaviourOnClick").''; $liste = array(0=>$langs->trans("ReplaceWindow"), 1=>$langs->trans("OpenANewWindow")); - print $form->selectarray('target', $liste, 1); + print $form->selectarray('target', $liste, GETPOSTISSET('target') ? GETPOST('target', 'int') : 1); print ''.$langs->trans("ChooseIfANewWindowMustBeOpenedOnClickOnBookmark").'
'; - print ''; - print ''; - print "\n"; - - print '\n"; - - print '
'.$langs->trans("Parameters").''.$langs->trans("Value").'
'; - print $langs->trans("CashdeskShowServices"); - print ''; - print $form->selectyesno("CASHDESK_SERVICES", $conf->global->CASHDESK_SERVICES, 1); - print "
'; - - print '
'; -} - - -print ''; -print ''; -print ''; -print "\n"; - -print ''; -print ''; -if (!empty($conf->banque->enabled)) { - print ''; - print ''; - - - print ''; - print ''; - - - print ''; - print ''; -} - -if (!empty($conf->stock->enabled)) { - print ''; // Force warehouse (this is not a default value) - print ''; - - $disabled = $conf->global->CASHDESK_NO_DECREASE_STOCK; - - - print ''; // Force warehouse (this is not a default value) - print ''; -} - -// Use Dolibarr Receipt Printer -if (!empty($conf->receiptprinter->enabled)) { - print '\n"; -} - -print '
'.$langs->trans("Terminal").' 0'.$langs->trans("Value").'
'.$langs->trans("CashDeskThirdPartyForSell").''; -print $form->select_company($conf->global->CASHDESK_ID_THIRDPARTY, 'socid', '(s.client in (1,3) AND s.status = 1)', 1, 0, 0, array(), 0); -print '
'.$langs->trans("CashDeskBankAccountForSell").''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CASH, 'CASHDESK_ID_BANKACCOUNT_CASH', 0, "courant=2", 1); - print '
'.$langs->trans("CashDeskBankAccountForCheque").''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE, 'CASHDESK_ID_BANKACCOUNT_CHEQUE', 0, "courant=1", 1); - print '
'.$langs->trans("CashDeskBankAccountForCB").''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CB, 'CASHDESK_ID_BANKACCOUNT_CB', 0, "courant=1", 1); - print '
'.$langs->trans("CashDeskDoNotDecreaseStock").''; - if (empty($conf->productbatch->enabled)) { - print $form->selectyesno('CASHDESK_NO_DECREASE_STOCK', $conf->global->CASHDESK_NO_DECREASE_STOCK, 1); - } else { - if (!$conf->global->CASHDESK_NO_DECREASE_STOCK) { - $res = dolibarr_set_const($db, "CASHDESK_NO_DECREASE_STOCK", 1, 'chaine', 0, '', $conf->entity); - } - print $langs->trans("Yes").'
'; - print ''.$langs->trans('StockDecreaseForPointOfSaleDisabledbyBatch').''; - } - print '
'.$langs->trans("CashDeskIdWareHouse").''; - if (!$disabled) { - print $formproduct->selectWarehouses($conf->global->CASHDESK_ID_WAREHOUSE, 'CASHDESK_ID_WAREHOUSE', '', 1, $disabled); - print ' ('.$langs->trans("Create").')'; - } else { - print ''.$langs->trans("StockDecreaseForPointOfSaleDisabled").''; - } - print '
'; - print $langs->trans("DolibarrReceiptPrinter").' ('.$langs->trans("FeatureNotYetAvailable").')'; - print ''; - print $form->selectyesno("CASHDESK_DOLIBAR_RECEIPT_PRINTER", $conf->global->CASHDESK_DOLIBAR_RECEIPT_PRINTER, 1); - print "
'; -print '
'; - -print '
'; - -print "\n"; - -// End of page -llxFooter(); -$db->close(); diff --git a/htdocs/cashdesk/affContenu.php b/htdocs/cashdesk/affContenu.php deleted file mode 100644 index d8e31f3b9c9..00000000000 --- a/htdocs/cashdesk/affContenu.php +++ /dev/null @@ -1,100 +0,0 @@ - - * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/affContenu.php - * \ingroup cashdesk - * \brief Include to show main page for cashdesk module - */ - -require_once 'class/Facturation.class.php'; - -// Si nouvelle vente, reinitialisation des donnees (destruction de l'objet et vidage de la table contenant la liste des articles) -if (GETPOST('id', 'int') == 'NOUV') { - unset($_SESSION['serObjFacturation']); - unset($_SESSION['poscart']); -} - -// Recuperation, s'il existe, de l'objet contenant les infos de la vente en cours ... -if (isset($_SESSION['serObjFacturation'])) { - $obj_facturation = unserialize($_SESSION['serObjFacturation']); - unset($_SESSION['serObjFacturation']); -} else { - // ... sinon, c'est une nouvelle vente - $obj_facturation = new Facturation(); -} - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -// $obj_facturation contains data for all invoice total + selection of current product - -$obj_facturation->calculTotaux(); // Redefine prix_total_ttc, prix_total_ht et montant_tva from $_SESSION['poscart'] - -$total_ttc = $obj_facturation->amountWithTax(); - -/*var_dump($obj_facturation); -var_dump($_SESSION['poscart']); -var_dump($total_ttc); -exit;*/ - - -// Left area with selected articles (area for article, amount and payments) -print '
'; -print '
'; - -$page = GETPOST('menutpl', 'alpha'); -if (empty($page)) { - $page = 'facturation'; -} - -if (in_array( - $page, - array( - 'deconnexion', - 'index', 'index_verif', 'facturation', 'facturation_verif', 'facturation_dhtml', - 'validation', 'validation_ok', 'validation_ticket', 'validation_verif', - ) -)) { - include $page.'.php'; -} else { - dol_print_error('', 'menu param '.$page.' is not inside allowed list'); -} - -print '
'; -print '
'; - - - -// Right area with selected articles (shopping cart) -print '
'; -print '
'; - -require 'tpl/liste_articles.tpl.php'; - -print '
'; -print '
'; - -$_SESSION['serObjFacturation'] = serialize($obj_facturation); diff --git a/htdocs/cashdesk/affIndex.php b/htdocs/cashdesk/affIndex.php deleted file mode 100644 index a352649feb4..00000000000 --- a/htdocs/cashdesk/affIndex.php +++ /dev/null @@ -1,78 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2009 Regis Houssin - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/affIndex.php - * \ingroup cashdesk - * \brief First page of point of sale module - */ -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/keypad.php'; - -$error = GETPOST('error'); - -// Test if already logged -if ($_SESSION['uid'] <= 0) { - header('Location: index.php'); - exit; -} - -// Load translation files required by the page -$langs->loadLangs(array("companies", "compta", "cashdesk")); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * View - */ - -$form = new Form($db); - -$arrayofjs = array(); -$arrayofcss = array('/cashdesk/css/style.css'); - -top_htmlhead($head, $langs->trans("CashDesk"), 0, 0, $arrayofjs, $arrayofcss); - -print ''."\n"; - -if (!empty($error)) { - dol_htmloutput_events(); -} - -print '
'."\n"; -print '
'."\n"; -print '
'."\n"; - -print ''."\n"; - -print '
'."\n"; -include_once 'affContenu.php'; -print '
'."\n"; - -include_once 'affPied.php'; - -print '
'."\n"; -print ''."\n"; diff --git a/htdocs/cashdesk/affPied.php b/htdocs/cashdesk/affPied.php deleted file mode 100644 index 6481a0c2aff..00000000000 --- a/htdocs/cashdesk/affPied.php +++ /dev/null @@ -1,52 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/affPied.php - * \ingroup cashdesk - * \brief Bottom of main page of point of sale module - */ - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - -?> - -
-use_javascript_ajax) && empty($conf->dol_no_mouse_hover)) { - print "\n\n"; - print '' . "\n"; -} - -printCommonFooter('private'); -?> -
diff --git a/htdocs/cashdesk/class/Auth.class.php b/htdocs/cashdesk/class/Auth.class.php deleted file mode 100644 index 23fa4d6d0a1..00000000000 --- a/htdocs/cashdesk/class/Auth.class.php +++ /dev/null @@ -1,144 +0,0 @@ - - * Copyright (C) 2008-2011 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -/** - * Class ot manage authentication for pos module (cashdesk) - */ -class Auth -{ - protected $db; - - private $login; - private $passwd; - - private $reponse; - - public $sqlQuery; - - /** - * Enter description here ... - * - * @param DoliDB $db Database handler - * @return void - */ - public function __construct($db) - { - $this->db = $db; - $this->reponse(null); - } - - /** - * Enter description here ... - * - * @param string $aLogin Login - * @return void - */ - public function login($aLogin) - { - $this->login = $aLogin; - } - - /** - * Enter description here ... - * - * @param string $aPasswd Password - * @return void - */ - public function passwd($aPasswd) - { - $this->passwd = $aPasswd; - } - - /** - * Enter description here ... - * - * @param string $aReponse Response - * @return void - */ - public function reponse($aReponse) - { - $this->reponse = $aReponse; - } - - /** - * Validate login/pass - * - * @param string $aLogin Login - * @param string $aPasswd Password - * @return int 0 or 1 - */ - public function verif($aLogin, $aPasswd) - { - global $conf, $langs; - global $dolibarr_main_authentication, $dolibarr_auto_user; - - $ret = -1; - - $login = ''; - - $test = true; - - // Authentication mode - if (empty($dolibarr_main_authentication)) { - $dolibarr_main_authentication = 'http,dolibarr'; - } - // Authentication mode: forceuser - if ($dolibarr_main_authentication == 'forceuser' && empty($dolibarr_auto_user)) { - $dolibarr_auto_user = 'auto'; - } - // Set authmode - $authmode = explode(',', $dolibarr_main_authentication); - - // No authentication mode - if (!count($authmode)) { - $langs->load('main'); - dol_print_error('', $langs->trans("ErrorConfigParameterNotDefined", 'dolibarr_main_authentication')); - exit; - } - - $usertotest = $aLogin; - $passwordtotest = $aPasswd; - $entitytotest = $conf->entity; - - // Validation tests user / password - // If ok, the variable will be initialized login - // If error, we will put error message in session under the name dol_loginmesg - $goontestloop = false; - if (isset($_SERVER["REMOTE_USER"]) && in_array('http', $authmode)) { - $goontestloop = true; - } - if (isset($aLogin) || GETPOST('openid_mode', 'alpha', 1)) { - $goontestloop = true; - } - - if ($test && $goontestloop) { - include_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; - $login = checkLoginPassEntity($usertotest, $passwordtotest, $entitytotest, $authmode); - if ($login) { - $this->login($aLogin); - $this->passwd($aPasswd); - $ret = 0; - } else { - $ret = -1; - } - } - - return $ret; - } -} diff --git a/htdocs/cashdesk/class/Facturation.class.php b/htdocs/cashdesk/class/Facturation.class.php deleted file mode 100644 index 339edce5f03..00000000000 --- a/htdocs/cashdesk/class/Facturation.class.php +++ /dev/null @@ -1,558 +0,0 @@ - - * Copyright (C) 2008-2010 Laurent Destailleur - * Copyright (C) 2010 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; - - -/** - * Class to manage invoices for pos module (cashdesk) - */ -class Facturation -{ - /** - * Attributs "volatiles" : reinitialises apres chaque traitement d'un article - *

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

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

trans("ShoppingCart"); ?>

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

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

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

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

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

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

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

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

name; ?>
-
-

- -

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

-
-
- -
- - - - - - - - - - - - - - - - - - - - - - -
trans("Code"); ?>trans("Label"); ?>trans("Qty"); ?>trans("Discount").' (%)'; ?>trans("TotalHT"); ?>
currency); ?>
- - - - - - - - - - - - -
trans("TotalHT"); ?>amountWithoutTax(), 'MT'), '', $langs, 0, -1, -1, $conf->currency)."\n"; ?>
trans("TotalVAT").''.price(price2num($obj_facturation->amountVat(), 'MT'), '', $langs, 0, -1, -1, $conf->currency)."\n"; ?>
trans("TotalTTC").''.price(price2num($obj_facturation->amountWithTax(), 'MT'), '', $langs, 0, -1, -1, $conf->currency)."\n"; ?>
- - - -trans("Close"); ?> - - diff --git a/htdocs/cashdesk/tpl/validation1.tpl.php b/htdocs/cashdesk/tpl/validation1.tpl.php deleted file mode 100644 index c2a9124f300..00000000000 --- a/htdocs/cashdesk/tpl/validation1.tpl.php +++ /dev/null @@ -1,118 +0,0 @@ - - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -// Protection to avoid direct call of template -if (empty($langs) || !is_object($langs)) { - print "Error, template page can't be called as URL"; - exit; -} - -// Load translation files required by the page -$langs->loadLangs(array("main", "bills", "banks")); - -// Object $form must de defined - -?> - -
trans("Summary"); ?> - - - - - -amountVat()) { - echo (''); -} else { - echo (''); -} -?> - - - -getsetPaymentMode() == 'DIF') { - echo (''); -} else { - echo (''); -} - -// Affichage du montant rendu (reglement en especes) -if ($obj_facturation->amountReturned()) { - echo (''); -} - -?> - -
trans("Invoice"); ?>numInvoice(); ?>
trans("TotalHT"); ?>amountWithoutTax(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency); ?>
'.$langs->trans("VAT").''.price(price2num($obj_facturation->amountVat(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'
'.$langs->trans("VAT").''.$langs->trans("NoVAT").'
trans("TotalTTC"); ?> amountWithTax(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency); ?>
trans("PaymentMode"); ?> - getSetPaymentMode()) { - case 'ESP': - echo $langs->trans("Cash"); - $filtre = 'courant=2'; - if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"])) { - $selected = $_SESSION["CASHDESK_ID_BANKACCOUNT_CASH"]; - } - break; - case 'CB': - echo $langs->trans("CreditCard"); - $filtre = 'courant=1'; - if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CB"])) { - $selected = $_SESSION["CASHDESK_ID_BANKACCOUNT_CB"]; - } - break; - case 'CHQ': - echo $langs->trans("Cheque"); - $filtre = 'courant=1'; - if (!empty($_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"])) { - $selected = $_SESSION["CASHDESK_ID_BANKACCOUNT_CHEQUE"]; - } - break; - case 'DIF': - echo $langs->trans("Reported"); - $filtre = 'courant=1 OR courant=2'; - $selected = ''; - break; - default: - $filtre = 'courant=1 OR courant=2'; - $selected = ''; - } - - ?> -
'.$langs->trans("DateDue").''.$obj_facturation->paiementLe().'
'.$langs->trans("Received").''.price(price2num($obj_facturation->amountCollected(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'
'.$langs->trans("Change").''.price(price2num($obj_facturation->amountReturned(), 'MT'), 0, $langs, 0, 0, -1, $conf->currency).'
- -
- -

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

-

trans("Notes"); ?>

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

trans("SellFinished"); ?>


- - - -

trans("ShowInvoice"); ?>

-
-

trans("PrintTicket"); ?>

- -
-
-
- diff --git a/htdocs/cashdesk/validation.php b/htdocs/cashdesk/validation.php deleted file mode 100644 index 799283f602a..00000000000 --- a/htdocs/cashdesk/validation.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation.php - * \ingroup cashdesk - * \brief validation.php - */ - -$form = new Form($db); - -// Affichage des templates -require 'tpl/validation1.tpl.php'; diff --git a/htdocs/cashdesk/validation_ok.php b/htdocs/cashdesk/validation_ok.php deleted file mode 100644 index 124d47a1e04..00000000000 --- a/htdocs/cashdesk/validation_ok.php +++ /dev/null @@ -1,25 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation_ok.php - * \ingroup cashdesk - * \brief validation_ok.php - */ - -// Affichage des templates -require 'tpl/validation2.tpl.php'; diff --git a/htdocs/cashdesk/validation_ticket.php b/htdocs/cashdesk/validation_ticket.php deleted file mode 100644 index 5fcf017ada1..00000000000 --- a/htdocs/cashdesk/validation_ticket.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation_ticket.php - * \ingroup cashdesk - * \brief validation_ticket.php - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Facturation.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * Actions - */ - -$obj_facturation = unserialize($_SESSION['serObjFacturation']); -unset($_SESSION['serObjFacturation']); - -$hookmanager->initHooks(array('cashdeskTplTicket')); - -$parameters = array(); -$reshook = $hookmanager->executeHooks('doActions', $parameters, $obj_facturation); -if (empty($reshook)) { - require 'tpl/ticket.tpl.php'; -} - - -$_SESSION['serObjFacturation'] = serialize($obj_facturation); diff --git a/htdocs/cashdesk/validation_verif.php b/htdocs/cashdesk/validation_verif.php deleted file mode 100644 index 0c9758d9a29..00000000000 --- a/htdocs/cashdesk/validation_verif.php +++ /dev/null @@ -1,361 +0,0 @@ - - * Copyright (C) 2008-2009 Laurent Destailleur - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/cashdesk/validation_verif.php - * \ingroup cashdesk - * \brief validation_verif.php - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/include/environnement.php'; -require_once DOL_DOCUMENT_ROOT.'/cashdesk/class/Facturation.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - -$obj_facturation = unserialize($_SESSION['serObjFacturation']); - -$action = GETPOST('action', 'aZ09'); -$bankaccountid = GETPOST('cashdeskbank'); - -if (empty($user->rights->cashdesk->run)) { - accessforbidden(); -} - - -/* - * Actions - */ - -switch ($action) { - default: - $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menutpl=validation'; - break; - - case 'validate_sell': - $thirdpartyid = $_SESSION['CASHDESK_ID_THIRDPARTY']; - - $company = new Societe($db); - $company->fetch($thirdpartyid); - - $invoice = new Facture($db); - $invoice->date = dol_now(); - $invoice->type = Facture::TYPE_STANDARD; - - // To use a specific numbering module for POS, reset $conf->global->FACTURE_ADDON and other vars here - // and restore values just after - $sav_FACTURE_ADDON = ''; - if (!empty($conf->global->POS_ADDON)) { - $sav_FACTURE_ADDON = $conf->global->FACTURE_ADDON; - $conf->global->FACTURE_ADDON = $conf->global->POS_ADDON; - - // To force prefix only for POS with terre module - if (!empty($conf->global->POS_NUMBERING_TERRE_FORCE_PREFIX)) { - $conf->global->INVOICE_NUMBERING_TERRE_FORCE_PREFIX = $conf->global->POS_NUMBERING_TERRE_FORCE_PREFIX; - } - // To force prefix only for POS with mars module - if (!empty($conf->global->POS_NUMBERING_MARS_FORCE_PREFIX)) { - $conf->global->INVOICE_NUMBERING_MARS_FORCE_PREFIX = $conf->global->POS_NUMBERING_MARS_FORCE_PREFIX; - } - // To force rule only for POS with mercure - //... - } - - $num = $invoice->getNextNumRef($company); - - // Restore save values - if (!empty($sav_FACTURE_ADDON)) { - $conf->global->FACTURE_ADDON = $sav_FACTURE_ADDON; - } - - $obj_facturation->numInvoice($num); - - $obj_facturation->getSetPaymentMode($_POST['hdnChoix']); - - // Si paiement autre qu'en especes, montant encaisse = prix total - $mode_reglement = $obj_facturation->getSetPaymentMode(); - if ($mode_reglement != 'ESP') { - $montant = $obj_facturation->amountWithTax(); - } else { - $montant = $_POST['txtEncaisse']; - } - - if ($mode_reglement != 'DIF') { - $obj_facturation->amountCollected($montant); - - //Determination de la somme rendue - $total = $obj_facturation->amountWithTax(); - $encaisse = $obj_facturation->amountCollected(); - - $obj_facturation->amountReturned($encaisse - $total); - } else { - //$txtDatePaiement=$_POST['txtDatePaiement']; - $datePaiement = dol_mktime(0, 0, 0, $_POST['txtDatePaiementmonth'], $_POST['txtDatePaiementday'], $_POST['txtDatePaiementyear']); - $txtDatePaiement = dol_print_date($datePaiement, 'dayrfc'); - $obj_facturation->paiementLe($txtDatePaiement); - } - - $redirection = 'affIndex.php?menutpl=validation'; - break; - - - case 'retour': - $redirection = 'affIndex.php?menutpl=facturation'; - break; - - - case 'validate_invoice': - $now = dol_now(); - - // Recuperation de la date et de l'heure - $date = dol_print_date($now, 'day'); - $heure = dol_print_date($now, 'hour'); - - $note = ''; - if (!is_object($obj_facturation)) { - dol_print_error('', 'Empty context'); - exit; - } - - switch ($obj_facturation->getSetPaymentMode()) { - case 'DIF': - $mode_reglement_id = 0; - //$cond_reglement_id = dol_getIdFromCode($db,'RECEP','cond_reglement','code','rowid') - $cond_reglement_id = 0; - break; - case 'ESP': - $mode_reglement_id = dol_getIdFromCode($db, 'LIQ', 'c_paiement', 'code', 'id', 1); - $cond_reglement_id = 0; - $note .= $langs->trans("Cash")."\n"; - $note .= $langs->trans("Received").' : '.$obj_facturation->amountCollected()." ".$conf->currency."\n"; - $note .= $langs->trans("Rendu").' : '.$obj_facturation->amountReturned()." ".$conf->currency."\n"; - $note .= "\n"; - $note .= '--------------------------------------'."\n\n"; - break; - case 'CB': - $mode_reglement_id = dol_getIdFromCode($db, 'CB', 'c_paiement', 'code', 'id', 1); - $cond_reglement_id = 0; - break; - case 'CHQ': - $mode_reglement_id = dol_getIdFromCode($db, 'CHQ', 'c_paiement', 'code', 'id', 1); - $cond_reglement_id = 0; - break; - } - if (empty($mode_reglement_id)) { - $mode_reglement_id = 0; // If mode_reglement_id not found - } - if (empty($cond_reglement_id)) { - $cond_reglement_id = 0; // If cond_reglement_id not found - } - $note .= GETPOST('txtaNotes', 'alphanohtml'); - dol_syslog("obj_facturation->getSetPaymentMode()=".$obj_facturation->getSetPaymentMode()." mode_reglement_id=".$mode_reglement_id." cond_reglement_id=".$cond_reglement_id); - - $error = 0; - - - $db->begin(); - - $user->fetch($_SESSION['uid']); - $user->getrights(); - - $thirdpartyid = $_SESSION['CASHDESK_ID_THIRDPARTY']; - $societe = new Societe($db); - $societe->fetch($thirdpartyid); - - $invoice = new Facture($db); - - // Get content of cart - $tab_liste = $_SESSION['poscart']; - - // Loop on each line into cart - $tab_liste_size = count($tab_liste); - for ($i = 0; $i < $tab_liste_size; $i++) { - $tmp = getTaxesFromId($tab_liste[$i]['fk_tva']); - $vat_rate = $tmp['rate']; - $vat_npr = $tmp['npr']; - $vat_src_code = $tmp['code']; - - $invoiceline = new FactureLigne($db); - $invoiceline->fk_product = $tab_liste[$i]['fk_article']; - $invoiceline->desc = $tab_liste[$i]['label']; - $invoiceline->qty = $tab_liste[$i]['qte']; - $invoiceline->remise_percent = $tab_liste[$i]['remise_percent']; - $invoiceline->price = $tab_liste[$i]['price']; - $invoiceline->subprice = $tab_liste[$i]['price']; - - $invoiceline->tva_tx = empty($vat_rate) ? 0 : $vat_rate; // works even if vat_rate is '' - $invoiceline->info_bits = empty($vat_npr) ? 0 : $vat_npr; - $invoiceline->vat_src_code = $vat_src_code; - - $invoiceline->total_ht = $tab_liste[$i]['total_ht']; - $invoiceline->total_ttc = $tab_liste[$i]['total_ttc']; - $invoiceline->total_tva = $tab_liste[$i]['total_vat']; - $invoiceline->total_localtax1 = $tab_liste[$i]['total_localtax1']; - $invoiceline->total_localtax2 = $tab_liste[$i]['total_localtax2']; - - $invoice->lines[] = $invoiceline; - } - - $invoice->socid = $conf_fksoc; - $invoice->date_creation = $now; - $invoice->date = $now; - $invoice->date_lim_reglement = 0; - $invoice->total_ht = $obj_facturation->amountWithoutTax(); - $invoice->total_tva = $obj_facturation->amountVat(); - $invoice->total_ttc = $obj_facturation->amountWithTax(); - $invoice->note_private = $note; - $invoice->cond_reglement_id = $cond_reglement_id; - $invoice->mode_reglement_id = $mode_reglement_id; - $invoice->module_source = 'cashdesk'; - $invoice->pos_source = '0'; - //print "c=".$invoice->cond_reglement_id." m=".$invoice->mode_reglement_id; exit; - - // Si paiement differe ... - if ($obj_facturation->getSetPaymentMode() == 'DIF') { - $resultcreate = $invoice->create($user, 0, dol_stringtotime($obj_facturation->paiementLe())); - if ($resultcreate > 0) { - $warehouseidtodecrease = (isset($_SESSION["CASHDESK_ID_WAREHOUSE"]) ? $_SESSION["CASHDESK_ID_WAREHOUSE"] : 0); - if (!empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) { - $warehouseidtodecrease = 0; // If a particular stock is defined, we disable choice - } - - $resultvalid = $invoice->validate($user, $obj_facturation->numInvoice(), 0); - - if ($warehouseidtodecrease > 0) { - // Decrease - require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; - $langs->load("agenda"); - // Loop on each line - $cpt = count($invoice->lines); - for ($i = 0; $i < $cpt; $i++) { - if ($invoice->lines[$i]->fk_product > 0) { - $mouvP = new MouvementStock($db); - $mouvP->origin = &$invoice; - // We decrease stock for product - if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) { - $result = $mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } else { - $result = $mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } - if ($result < 0) { - $error++; - } - } - } - } - } else { - setEventMessages($invoice->error, $invoice->errors, 'errors'); - $error++; - } - - $id = $invoice->id; - } else { - $resultcreate = $invoice->create($user, 0, 0); - if ($resultcreate > 0) { - $warehouseidtodecrease = (isset($_SESSION["CASHDESK_ID_WAREHOUSE"]) ? $_SESSION["CASHDESK_ID_WAREHOUSE"] : 0); - if (!empty($conf->global->CASHDESK_NO_DECREASE_STOCK)) { - $warehouseidtodecrease = 0; // If a particular stock is defined, we disable choice - } - - $resultvalid = $invoice->validate($user, $obj_facturation->numInvoice(), 0); - - if ($warehouseidtodecrease > 0) { - // Decrease - require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; - $langs->load("agenda"); - // Loop on each line - $cpt = count($invoice->lines); - for ($i = 0; $i < $cpt; $i++) { - if ($invoice->lines[$i]->fk_product > 0) { - $mouvP = new MouvementStock($db); - $mouvP->origin = &$invoice; - // We decrease stock for product - if ($invoice->type == $invoice::TYPE_CREDIT_NOTE) { - $result = $mouvP->reception($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } else { - $result = $mouvP->livraison($user, $invoice->lines[$i]->fk_product, $warehouseidtodecrease, $invoice->lines[$i]->qty, $invoice->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarrFromPos", $invoice->newref)); - } - if ($result < 0) { - setEventMessages($mouvP->error, $mouvP->errors, 'errors'); - $error++; - } - } - } - } - - $id = $invoice->id; - - // Add the payment - $payment = new Paiement($db); - $payment->datepaye = $now; - $payment->amounts[$invoice->id] = $obj_facturation->amountWithTax(); - $payment->note_public = $langs->trans("Payment").' '.$langs->trans("Invoice").' '.$obj_facturation->numInvoice(); - $payment->paiementid = $invoice->mode_reglement_id; - $payment->num_paiement = ''; - $payment->num_payment = ''; - - $paiement_id = $payment->create($user); - if ($paiement_id > 0) { - if (!$error) { - $result = $payment->addPaymentToBank($user, 'payment', '(CustomerInvoicePayment)', $bankaccountid, '', ''); - if (!$result > 0) { - $errmsg = $paiement->error; - $error++; - } - } - - if (!$error) { - if ($invoice->total_ttc == $obj_facturation->amountWithTax() - && $obj_facturation->getSetPaymentMode() != 'DIFF') { - // We set status to paid - $result = $invoice->setPaid($user); - //print 'set paid';exit; - } - } - } else { - setEventMessages($invoice->error, $invoice->errors, 'errors'); - $error++; - } - } else { - setEventMessages($invoice->error, $invoice->errors, 'errors'); - $error++; - } - } - - - if (!$error) { - $db->commit(); - $redirection = 'affIndex.php?menutpl=validation_ok&facid='.$id; // Ajout de l'id de la facture, pour l'inclure dans un lien pointant directement vers celle-ci dans Dolibarr - } else { - $db->rollback(); - $redirection = 'affIndex.php?facid='.$id.'&error=1&mesg=ErrorFailedToCreateInvoice'; // Ajout de l'id de la facture, pour l'inclure dans un lien pointant directement vers celle-ci dans Dolibarr - } - break; - - // End of case: validate_invoice -} - -unset($_SESSION['serObjFacturation']); - -$_SESSION['serObjFacturation'] = serialize($obj_facturation); - -header('Location: '.$redirection); -exit; diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 734f2e89506..141e061ac20 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2017 Laurent Destailleur + * Copyright (C) 2006-2021 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2013 Florian Henry @@ -257,6 +257,7 @@ if ($user->rights->categorie->creer) { // Parent category print ''.$langs->trans("AddIn").''; + print img_picto($langs->trans("ParentCategory"), 'category', 'class="pictofixedwidth"'); print $form->select_all_categories($type, $catorigin, 'parent'); print ajax_combobox('parent'); print ''; diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index b98cff5b3a5..bb70b520fa1 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -34,6 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; @@ -56,6 +57,7 @@ class Categorie extends CommonObject const TYPE_WAREHOUSE = 'warehouse'; const TYPE_ACTIONCOMM = 'actioncomm'; const TYPE_WEBSITE_PAGE = 'website_page'; + const TYPE_TICKET = 'ticket'; /** * @var string String with name of icon for myobject. Must be the part after the 'object_' into object_myobject.png @@ -78,7 +80,8 @@ class Categorie extends CommonObject 'bank_line' => 8, 'warehouse' => 9, 'actioncomm' => 10, - 'website_page' => 11 + 'website_page' => 11, + 'ticket' => 12 ); /** @@ -98,7 +101,8 @@ class Categorie extends CommonObject 8 => 'bank_line', 9 => 'warehouse', 10 => 'actioncomm', - 11 => 'website_page' + 11 => 'website_page', + 12 => 'ticket' ); /** @@ -141,7 +145,8 @@ class Categorie extends CommonObject 'project' => 'Project', 'warehouse'=> 'Entrepot', 'actioncomm' => 'ActionComm', - 'website_page' => 'WebsitePage' + 'website_page' => 'WebsitePage', + 'ticket' => 'Ticket' ); /** @@ -234,6 +239,8 @@ class Categorie extends CommonObject * @see Categorie::TYPE_WAREHOUSE * @see Categorie::TYPE_ACTIONCOMM * @see Categorie::TYPE_WEBSITE_PAGE + * @see Categorie::TYPE_TICKET + */ public $type; @@ -263,15 +270,16 @@ class Categorie extends CommonObject $parameters = array(); $reshook = $hookmanager->executeHooks('constructCategory', $parameters, $this); // Note that $action and $object may have been modified by some hooks if ($reshook >= 0 && !empty($hookmanager->resArray)) { - $mapList = $hookmanager->resArray; - $mapId = $mapList['id']; - $mapCode = $mapList['code']; - self::$MAP_ID_TO_CODE[$mapId] = $mapCode; - $this->MAP_ID[$mapCode] = $mapId; - $this->MAP_CAT_FK[$mapCode] = $mapList['cat_fk']; - $this->MAP_CAT_TABLE[$mapCode] = $mapList['cat_table']; - $this->MAP_OBJ_CLASS[$mapCode] = $mapList['obj_class']; - $this->MAP_OBJ_TABLE[$mapCode] = $mapList['obj_table']; + foreach ($hookmanager->resArray as $mapList) { + $mapId = $mapList['id']; + $mapCode = $mapList['code']; + self::$MAP_ID_TO_CODE[$mapId] = $mapCode; + $this->MAP_ID[$mapCode] = $mapId; + $this->MAP_CAT_FK[$mapCode] = $mapList['cat_fk']; + $this->MAP_CAT_TABLE[$mapCode] = $mapList['cat_table']; + $this->MAP_OBJ_CLASS[$mapCode] = $mapList['obj_class']; + $this->MAP_OBJ_TABLE[$mapCode] = $mapList['obj_table']; + } } } } @@ -1497,7 +1505,10 @@ class Categorie extends CommonObject } else { $sql = "SELECT ct.fk_categorie, c.label, c.rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."categorie_".(empty($this->MAP_CAT_TABLE[$type]) ? $type : $this->MAP_CAT_TABLE[$type])." as ct, ".MAIN_DB_PREFIX."categorie as c"; - $sql .= " WHERE ct.fk_categorie = c.rowid AND ct.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".(int) $id." AND c.type = ".$this->MAP_ID[$type]; + $sql .= " WHERE ct.fk_categorie = c.rowid AND ct.fk_".(empty($this->MAP_CAT_FK[$type]) ? $type : $this->MAP_CAT_FK[$type])." = ".(int) $id; + // This seems useless because the table already contains id of category of 1 unique type. So commented. + // So now it works also with external added categories. + //$sql .= " AND c.type = ".$this->MAP_ID[$type]; $sql .= " AND c.entity IN (".getEntity('category').")"; $res = $this->db->query($sql); diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index eeca990ef28..8ebb9f43b1e 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -142,6 +142,11 @@ if ($id > 0 && $removeelem > 0) { $tmpobject = new User($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'user'; + } elseif ($type == Categorie::TYPE_TICKET && $user->rights->ticket->write) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + $tmpobject = new Ticket($db); + $result = $tmpobject->fetch($removeelem); + $elementtype = 'ticket'; } $result = $object->del_type($tmpobject, $elementtype); @@ -167,7 +172,8 @@ if ($user->rights->categorie->supprimer && $action == 'confirm_delete' && $confi if ($elemid && $action == 'addintocategory' && (($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) || ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) || - ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) + ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) || + ($type == Categorie::TYPE_TICKET && $user->rights->ticket->write) )) { if ($type == Categorie::TYPE_PRODUCT) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; @@ -181,6 +187,10 @@ if ($elemid && $action == 'addintocategory' && require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $newobject = new Societe($db); $elementtype = 'supplier'; + } elseif ($type == Categorie::TYPE_TICKET) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + $newobject = new Ticket($db); + $elementtype = 'ticket'; } $result = $newobject->fetch($elemid); @@ -1024,6 +1034,78 @@ if ($type == Categorie::TYPE_WAREHOUSE) { } } +if ($type == Categorie::TYPE_TICKET) { + $permission = ($user->rights->categorie->creer || $user->rights->categorie->creer); + + $tickets = $object->getObjectsInCateg($type, 0, $limit, $offset); + if ($tickets < 0) { + dol_print_error($db, $object->error, $object->errors); + } else { + // Form to add record into a category + $showclassifyform = 1; + if ($showclassifyform) { + print '
'; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'; + print $langs->trans("AddTicketIntoCategory").'  '; + $form->selectTickets('', 'elemid'); + print '
'; + print '
'; + } + + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + + print '
'; + $param = '&limit='.$limit.'&id='.$id.'&type='.$type; $num = count($tickets); $nbtotalofrecords = ''; $newcardbutton = ''; + print_barre_liste($langs->trans("Ticket"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'ticket', 0, $newcardbutton, '', $limit); + + + print ''."\n"; + print ''."\n"; + + if (count($tickets) > 0) { + $i = 0; + foreach ($tickets as $ticket) { + $i++; + if ($i > $limit) break; + + print "\t".''."\n"; + print '\n"; + print '\n"; + // Link to delete from category + print ''; + print "\n"; + } + } else { + print ''; + } + print "
'.$langs->trans("Ref").'
'; + print $ticket->getNomUrl(1); + print "'.$ticket->label."'; + if ($permission) { + print ""; + print $langs->trans("DeleteFromCat"); + print img_picto($langs->trans("DeleteFromCat"), 'unlink', '', false, 0, 0, '', 'paddingleft'); + print ""; + } + print '
'.$langs->trans("ThisCategoryHasNoItems").'
\n"; + + print '
'."\n"; + } +} // End of page llxFooter(); diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 7fd294b89b2..bbf86d87c59 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -261,7 +261,7 @@ class ActionComm extends CommonObject /** * @var int socpeople id linked to action */ - public $contactid; + public $contact_id; /** * @var Societe|null Company linked to action (optional) @@ -273,7 +273,7 @@ class ActionComm extends CommonObject /** * @var Contact|null Contact linked to action (optional) * @deprecated - * @see $contactid + * @see $contact_id */ public $contact; @@ -2340,7 +2340,7 @@ class ActionComm extends CommonObject $sendContent = make_substitutions($langs->trans($arraymessage->content), $substitutionarray); //Topic - $sendTopic = (!empty($arraymessage->topic)) ? $arraymessage->topic : html_entity_decode($langs->trans('EventReminder')); + $sendTopic = (!empty($arraymessage->topic)) ? $arraymessage->topic : html_entity_decode($langs->transnoentities('EventReminder')); // Recipient $recipient = new User($this->db); diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 9b76329d8da..9fac243ac86 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -138,16 +138,18 @@ if (empty($action) && !GETPOSTISSET('action')) { if ($action == 'default') { // When action is default, we want a calendar view and not the list $action = (($defaultview != 'show_list') ? $defaultview : 'show_month'); } -if (GETPOST('viewcal', 'restricthtml') && GETPOST('action', 'alpha') != 'show_day' && GETPOST('action', 'alpha') != 'show_week') { +if (GETPOST('viewcal', 'int') && GETPOST('action', 'alpha') != 'show_day' && GETPOST('action', 'alpha') != 'show_week') { $action = 'show_month'; $day = ''; } // View by month -if (GETPOST('viewweek', 'restricthtml') || GETPOST('action', 'alpha') == 'show_week') { +if (GETPOST('viewweek', 'int') || GETPOST('action', 'alpha') == 'show_week') { $action = 'show_week'; $week = ($week ? $week : date("W")); $day = ($day ? $day : date("d")); } // View by week -if (GETPOST('viewday', 'restricthtml') || GETPOST('action', 'alpha') == 'show_day') { +if (GETPOST('viewday', 'int') || GETPOST('action', 'alpha') == 'show_day') { $action = 'show_day'; $day = ($day ? $day : date("d")); } // View by day +$object = new ActionComm($db); + // Load translation files required by the page $langs->loadLangs(array('agenda', 'other', 'commercial')); @@ -197,6 +199,7 @@ if (GETPOST("viewperuser", 'alpha') || $action == 'show_peruser') { exit; } +/* if ($action == 'delete_action') { $event = new ActionComm($db); $event->fetch($actionid); @@ -206,6 +209,7 @@ if ($action == 'delete_action') { $result = $event->delete(); } +*/ /* @@ -484,25 +488,25 @@ $viewmode .= img_picto($langs->trans("List"), 'object_list', 'class="pictoaction //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewList").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewCal"), 'object_calendarmonth', 'class="pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewCal").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewWeek").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="pictoactionview block"'); //$viewmode .= ''; $viewmode .= ''.$langs->trans("ViewDay").''; -$viewmode .= ''; +$viewmode .= ''; //$viewmode .= ''; $viewmode .= img_picto($langs->trans("ViewPerUser"), 'object_calendarperuser', 'class="pictoactionview block"'); //$viewmode .= ''; @@ -521,6 +525,7 @@ $viewmode .= ''; // To add a space before t $newcardbutton = ''; +$newparam = ''; if ($user->rights->agenda->myactions->create || $user->rights->agenda->allactions->create) { $tmpforcreatebutton = dol_getdate(dol_now(), true); @@ -939,6 +944,7 @@ if ($showbirthday) { } } +// LEAVE CALENDAR $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.statut, x.rowid, x.date_debut as date_start, x.date_fin as date_end, x.halfday, x.statut as status"; $sql .= " FROM ".MAIN_DB_PREFIX."holiday as x, ".MAIN_DB_PREFIX."user as u"; $sql .= " WHERE u.rowid = x.fk_user"; @@ -1877,7 +1883,8 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa $cacheusers[$tmpid] = $newuser; } - $listofusertoshow .= '
'.$cacheusers[$tmpid]->getNomUrl(-3, '', 0, 0, 0, 0, '', 'paddingright valigntextbottom'); + $listofusertoshow = ''; + $listofusertoshow .= '
'.$cacheusers[$tmpid]->getNomUrl(-1, '', 0, 0, 0, 0, '', 'paddingright valigntextbottom'); print $listofusertoshow; } else { // Other calendar // Picto diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index e95cc3366c5..9aebf9d3ed9 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -47,7 +47,7 @@ $massaction = GETPOST('massaction', 'alpha'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'actioncommlist'; // To manage different context of search $resourceid = GETPOST("search_resourceid", "int") ?GETPOST("search_resourceid", "int") : GETPOST("resourceid", "int"); $pid = GETPOST("search_projectid", 'int', 3) ?GETPOST("search_projectid", 'int', 3) : GETPOST("projectid", 'int', 3); -$search_status = (GETPOST("search_status", 'alpha') != '') ?GETPOST("search_status", 'alpha') : GETPOST("status", 'alpha'); +$search_status = (GETPOST("search_status", 'aZ09') != '') ? GETPOST("search_status", 'aZ09') : GETPOST("status", 'aZ09'); $type = GETPOST('search_type', 'alphanohtml') ?GETPOST('search_type', 'alphanohtml') : GETPOST('type', 'alphanohtml'); $optioncss = GETPOST('optioncss', 'alpha'); $year = GETPOST("year", 'int'); @@ -517,526 +517,543 @@ $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; -$sql .= $db->order($sortfield, $sortorder); - +// Count total nb of records $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { - // TODO Set and use an optimized request in $sqlforcount with no fields and no useless join to caluclate nb of records - $result = $db->query($sql); - $nbtotalofrecords = $db->num_rows($result); + /* This old and fast method to get and count full list returns all record so use a high amount of memory. + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + */ + /* The slow method does not consume memory on mysql (not tested on pgsql) */ + /*$resql = $db->query($sql, 0, 'auto', 1); + while ($db->fetch_object($resql)) { + $nbtotalofrecords++; + }*/ + /* This fast and low memory method to get and count full list converts the sql into a sql count */ + $sqlforcount = preg_replace('/^SELECT[a-z0-9\._\s\(\),]+FROM/i', 'SELECT COUNT(*) as nbtotalofrecords FROM', $sql); + $resql = $db->query($sqlforcount); + $objforcount = $db->fetch_object($resql); + $nbtotalofrecords = $objforcount->nbtotalofrecords; if (($page * $limit) > $nbtotalofrecords) { // if total resultset is smaller then paging size (filtering), goto and load page 0 $page = 0; $offset = 0; } + $db->free($resql); } -$sql .= $db->plimit($limit + 1, $offset); -//print $sql; +// Complete request and execute it with limit +$sql .= $db->order($sortfield, $sortorder); +if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); +} -dol_syslog("comm/action/list.php", LOG_DEBUG); $resql = $db->query($sql); -if ($resql) { - $actionstatic = new ActionComm($db); - $societestatic = new Societe($db); +if (!$resql) { + dol_print_error($db); + exit; +} - $num = $db->num_rows($resql); +$num = $db->num_rows($resql); - $arrayofselected = is_array($toselect) ? $toselect : array(); - // Local calendar - $newtitle = '
'; - $newtitle .= ' '.$langs->trans("LocalAgenda").'   '; - $newtitle .= '
'; - //$newtitle=$langs->trans($title); +$actionstatic = new ActionComm($db); +$societestatic = new Societe($db); - $tabactive = 'cardlist'; +$num = $db->num_rows($resql); - $head = calendars_prepare_head($param); +$arrayofselected = is_array($toselect) ? $toselect : array(); - print '
'."\n"; +// Local calendar +$newtitle = '
'; +$newtitle .= ' '.$langs->trans("LocalAgenda").'   '; +$newtitle .= '
'; +//$newtitle=$langs->trans($title); - if ($optioncss != '') { - print ''; - } - print ''; - print ''; - print ''; - print ''; - print ''; - $nav = ''; +$tabactive = 'cardlist'; - if ($filter) { - $nav .= ''; - } - if ($showbirthday) { - $nav .= ''; - } - print $nav; +$head = calendars_prepare_head($param); - //print dol_get_fiche_head($head, $tabactive, $langs->trans('Agenda'), 0, 'action'); - //print_actions_filter($form, $canedit, $search_status, $year, $month, $day, $showbirthday, 0, $filtert, 0, $pid, $socid, $action, -1, $actioncode, $usergroup, '', $resourceid); - //print dol_get_fiche_end(); +print ''."\n"; - // Add link to show birthdays - /* - $link = ''; - if (empty($conf->use_javascript_ajax)) - { - $newparam=$param; // newparam is for birthday links - $newparam=preg_replace('/showbirthday=[0-1]/i','showbirthday='.(empty($showbirthday)?1:0),$newparam); - if (! preg_match('/showbirthday=/i',$newparam)) $newparam.='&showbirthday=1'; - $link='
'; - if (empty($showbirthday)) $link.=$langs->trans("AgendaShowBirthdayEvents"); - else $link.=$langs->trans("AgendaHideBirthdayEvents"); - $link.=''; - } - */ +if ($optioncss != '') { + print ''; +} +print ''; +print ''; +print ''; +print ''; +print ''; +$nav = ''; - $s = $newtitle; +if ($filter) { + $nav .= ''; +} +if ($showbirthday) { + $nav .= ''; +} +print $nav; - // Calendars from hooks - $parameters = array(); $object = null; - $reshook = $hookmanager->executeHooks('addCalendarChoice', $parameters, $object, $action); - if (empty($reshook)) { - $s .= $hookmanager->resPrint; - } elseif ($reshook > 1) { - $s = $hookmanager->resPrint; +//print dol_get_fiche_head($head, $tabactive, $langs->trans('Agenda'), 0, 'action'); +//print_actions_filter($form, $canedit, $search_status, $year, $month, $day, $showbirthday, 0, $filtert, 0, $pid, $socid, $action, -1, $actioncode, $usergroup, '', $resourceid); +//print dol_get_fiche_end(); + +// Add link to show birthdays +/* +$link = ''; +if (empty($conf->use_javascript_ajax)) +{ + $newparam=$param; // newparam is for birthday links + $newparam=preg_replace('/showbirthday=[0-1]/i','showbirthday='.(empty($showbirthday)?1:0),$newparam); + if (! preg_match('/showbirthday=/i',$newparam)) $newparam.='&showbirthday=1'; + $link=''; + if (empty($showbirthday)) $link.=$langs->trans("AgendaShowBirthdayEvents"); + else $link.=$langs->trans("AgendaHideBirthdayEvents"); + $link.=''; +} +*/ + +$s = $newtitle; + +// Calendars from hooks +$parameters = array(); $object = null; +$reshook = $hookmanager->executeHooks('addCalendarChoice', $parameters, $object, $action); +if (empty($reshook)) { + $s .= $hookmanager->resPrint; +} elseif ($reshook > 1) { + $s = $hookmanager->resPrint; +} + +$viewmode = ''; +$viewmode .= ''; +//$viewmode .= ''; +$viewmode .= img_picto($langs->trans("List"), 'object_list', 'class="pictoactionview block"'); +//$viewmode .= ''; +$viewmode .= ''.$langs->trans("ViewList").''; + +$viewmode .= ''; +//$viewmode .= ''; +$viewmode .= img_picto($langs->trans("ViewCal"), 'object_calendarmonth', 'class="pictoactionview block"'); +//$viewmode .= ''; +$viewmode .= ''.$langs->trans("ViewCal").''; + +$viewmode .= ''; +//$viewmode .= ''; +$viewmode .= img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="pictoactionview block"'); +//$viewmode .= ''; +$viewmode .= ''.$langs->trans("ViewWeek").''; + +$viewmode .= ''; +//$viewmode .= ''; +$viewmode .= img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="pictoactionview block"'); +//$viewmode .= ''; +$viewmode .= ''.$langs->trans("ViewDay").''; + +$viewmode .= ''; +//$viewmode .= ''; +$viewmode .= img_picto($langs->trans("ViewPerUser"), 'object_calendarperuser', 'class="pictoactionview block"'); +//$viewmode .= ''; +$viewmode .= ''.$langs->trans("ViewPerUser").''; + +$viewmode .= ''; + +// Add more views from hooks +$parameters = array(); $object = null; +$reshook = $hookmanager->executeHooks('addCalendarView', $parameters, $object, $action); +if (empty($reshook)) { + $viewmode .= $hookmanager->resPrint; +} elseif ($reshook > 1) { + $viewmode = $hookmanager->resPrint; +} + +$tmpforcreatebutton = dol_getdate(dol_now(), true); + +$newparam .= '&month='.str_pad($month, 2, "0", STR_PAD_LEFT).'&year='.$tmpforcreatebutton['year']; + +//$param='month='.$monthshown.'&year='.$year; +$hourminsec = '100000'; + +$url = DOL_URL_ROOT.'/comm/action/card.php?action=create'; +$url .= '&datep='.sprintf("%04d%02d%02d", $tmpforcreatebutton['year'], $tmpforcreatebutton['mon'], $tmpforcreatebutton['mday']).$hourminsec; +$url .= '&backtopage='.urlencode($_SERVER["PHP_SELF"].($newparam ? '?'.$newparam : '')); + +$newcardbutton = dolGetButtonTitle($langs->trans('AddAction'), '', 'fa fa-plus-circle', $url, '', $user->rights->agenda->myactions->create || $user->rights->agenda->allactions->create); + +$param .= '&action='.$action; + +print_barre_liste($langs->trans("Agenda"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, -1 * $nbtotalofrecords, 'object_action', 0, $nav.$newcardbutton, '', $limit, 0, 0, 1, $viewmode); + +print $s; + +$objecttmp = new ActionComm($db); +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + +$moreforfilter = ''; + +$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); +} +$i = 0; + +print '
'; +print_actions_filter($form, $canedit, $search_status, $year, $month, $day, $showbirthday, 0, $filtert, 0, $pid, $socid, $action, -1, $actioncode, $usergroup, '', $resourceid); +print '
'; + +print '
'; +print ''."\n"; + +print ''; +if (!empty($arrayfields['a.id']['checked'])) { + print ''; +} +if (!empty($arrayfields['owner']['checked'])) { + print ''; +} +if (!empty($arrayfields['c.libelle']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.label']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.note']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.datep']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.datep2']['checked'])) { + print ''; +} +if (!empty($arrayfields['s.nom']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.fk_contact']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.fk_element']['checked'])) { + print ''; +} + +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +if (!empty($arrayfields['a.datec']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.tms']['checked'])) { + print ''; +} +if (!empty($arrayfields['a.percent']['checked'])) { + print ''; +} +// Action column +print ''; +print "\n"; + +print ''; +if (!empty($arrayfields['a.id']['checked'])) { + print_liste_field_titre($arrayfields['a.id']['label'], $_SERVER["PHP_SELF"], "a.id", $param, "", "", $sortfield, $sortorder); +} +if (!empty($arrayfields['owner']['checked'])) { + print_liste_field_titre($arrayfields['owner']['label'], $_SERVER["PHP_SELF"], "", $param, "", "", $sortfield, $sortorder); +} +if (!empty($arrayfields['c.libelle']['checked'])) { + print_liste_field_titre($arrayfields['c.libelle']['label'], $_SERVER["PHP_SELF"], "c.libelle", $param, "", "", $sortfield, $sortorder); +} +if (!empty($arrayfields['a.label']['checked'])) { + print_liste_field_titre($arrayfields['a.label']['label'], $_SERVER["PHP_SELF"], "a.label", $param, "", "", $sortfield, $sortorder); +} +if (!empty($arrayfields['a.note']['checked'])) { + print_liste_field_titre($arrayfields['a.note']['label'], $_SERVER["PHP_SELF"], "a.note", $param, "", "", $sortfield, $sortorder); +} +//if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) +if (!empty($arrayfields['a.datep']['checked'])) { + print_liste_field_titre($arrayfields['a.datep']['label'], $_SERVER["PHP_SELF"], "a.datep,a.id", $param, '', 'align="center"', $sortfield, $sortorder); +} +if (!empty($arrayfields['a.datep2']['checked'])) { + print_liste_field_titre($arrayfields['a.datep2']['label'], $_SERVER["PHP_SELF"], "a.datep2", $param, '', 'align="center"', $sortfield, $sortorder); +} +if (!empty($arrayfields['s.nom']['checked'])) { + print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"], "s.nom", $param, "", "", $sortfield, $sortorder); +} +if (!empty($arrayfields['a.fk_contact']['checked'])) { + print_liste_field_titre($arrayfields['a.fk_contact']['label'], $_SERVER["PHP_SELF"], "", $param, "", "", $sortfield, $sortorder); +} +if (!empty($arrayfields['a.fk_element']['checked'])) { + print_liste_field_titre($arrayfields['a.fk_element']['label'], $_SERVER["PHP_SELF"], "", $param, "", "", $sortfield, $sortorder); +} + +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; + +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +if (!empty($arrayfields['a.datec']['checked'])) { + print_liste_field_titre($arrayfields['a.datec']['label'], $_SERVER["PHP_SELF"], "a.datec,a.id", $param, "", 'align="center"', $sortfield, $sortorder); +} +if (!empty($arrayfields['a.tms']['checked'])) { + print_liste_field_titre($arrayfields['a.tms']['label'], $_SERVER["PHP_SELF"], "a.tms,a.id", $param, "", 'align="center"', $sortfield, $sortorder); +} + +if (!empty($arrayfields['a.percent']['checked'])) { + print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "a.percent", $param, "", 'align="center"', $sortfield, $sortorder); +} +print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch '); +print "\n"; + +$contactstatic = new Contact($db); +$now = dol_now(); +$delay_warning = $conf->global->MAIN_DELAY_ACTIONS_TODO * 24 * 60 * 60; + +require_once DOL_DOCUMENT_ROOT.'/comm/action/class/cactioncomm.class.php'; +$caction = new CActionComm($db); +$arraylist = $caction->liste_array(1, 'code', '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0), '', 1); +$contactListCache = array(); + +while ($i < min($num, $limit)) { + $obj = $db->fetch_object($resql); + + // Discard auto action if option is on + if (!empty($conf->global->AGENDA_ALWAYS_HIDE_AUTO) && $obj->type_code == 'AC_OTH_AUTO') { + $i++; + continue; } - $viewmode = ''; - $viewmode .= ''; - //$viewmode .= ''; - $viewmode .= img_picto($langs->trans("List"), 'object_list', 'class="pictoactionview block"'); - //$viewmode .= ''; - $viewmode .= ''.$langs->trans("ViewList").''; + $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->type_color = $obj->type_color; + $actionstatic->label = $obj->label; + $actionstatic->location = $obj->location; + $actionstatic->note_private = dol_htmlentitiesbr($obj->note); - $viewmode .= ''; - //$viewmode .= ''; - $viewmode .= img_picto($langs->trans("ViewCal"), 'object_calendarmonth', 'class="pictoactionview block"'); - //$viewmode .= ''; - $viewmode .= ''.$langs->trans("ViewCal").''; - - $viewmode .= ''; - //$viewmode .= ''; - $viewmode .= img_picto($langs->trans("ViewWeek"), 'object_calendarweek', 'class="pictoactionview block"'); - //$viewmode .= ''; - $viewmode .= ''.$langs->trans("ViewWeek").''; - - $viewmode .= ''; - //$viewmode .= ''; - $viewmode .= img_picto($langs->trans("ViewDay"), 'object_calendarday', 'class="pictoactionview block"'); - //$viewmode .= ''; - $viewmode .= ''.$langs->trans("ViewDay").''; - - $viewmode .= ''; - //$viewmode .= ''; - $viewmode .= img_picto($langs->trans("ViewPerUser"), 'object_calendarperuser', 'class="pictoactionview block"'); - //$viewmode .= ''; - $viewmode .= ''.$langs->trans("ViewPerUser").''; - - $viewmode .= ''; - - // Add more views from hooks - $parameters = array(); $object = null; - $reshook = $hookmanager->executeHooks('addCalendarView', $parameters, $object, $action); - if (empty($reshook)) { - $viewmode .= $hookmanager->resPrint; - } elseif ($reshook > 1) { - $viewmode = $hookmanager->resPrint; - } - - $tmpforcreatebutton = dol_getdate(dol_now(), true); - - $newparam .= '&month='.str_pad($month, 2, "0", STR_PAD_LEFT).'&year='.$tmpforcreatebutton['year']; - - //$param='month='.$monthshown.'&year='.$year; - $hourminsec = '100000'; - - $url = DOL_URL_ROOT.'/comm/action/card.php?action=create'; - $url .= '&datep='.sprintf("%04d%02d%02d", $tmpforcreatebutton['year'], $tmpforcreatebutton['mon'], $tmpforcreatebutton['mday']).$hourminsec; - $url .= '&backtopage='.urlencode($_SERVER["PHP_SELF"].($newparam ? '?'.$newparam : '')); - - $newcardbutton = dolGetButtonTitle($langs->trans('AddAction'), '', 'fa fa-plus-circle', $url, '', $user->rights->agenda->myactions->create || $user->rights->agenda->allactions->create); - - $param .= '&action='.$action; - - print_barre_liste($langs->trans("Agenda"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, -1 * $nbtotalofrecords, 'object_action', 0, $nav.$newcardbutton, '', $limit, 0, 0, 1, $viewmode); - - print $s; - - $objecttmp = new ActionComm($db); - include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; - - $moreforfilter = ''; - - $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); - } - $i = 0; - - print '
'; - print_actions_filter($form, $canedit, $search_status, $year, $month, $day, $showbirthday, 0, $filtert, 0, $pid, $socid, $action, -1, $actioncode, $usergroup, '', $resourceid); - print '
'; - - print '
'; - print '
'; + print $form->selectDate($datestart, 'datestart', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', '', 'tzuserrel'); + print ''; + print $form->selectDate($dateend, 'dateend', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', '', 'tzuserrel'); + print ''; + $formactions->form_select_status_action('formaction', $search_status, 1, 'search_status', 1, 2, 'minwidth100imp maxwidth125'); + print ajax_combobox('selectsearch_status'); + print ''; +$searchpicto = $form->showFilterButtons(); +print $searchpicto; +print '
'."\n"; - - print ''; - if (!empty($arrayfields['a.id']['checked'])) { - print ''; - } - if (!empty($arrayfields['owner']['checked'])) { - print ''; - } - if (!empty($arrayfields['c.libelle']['checked'])) { - print ''; - } - if (!empty($arrayfields['a.label']['checked'])) { - print ''; - } - if (!empty($arrayfields['a.note']['checked'])) { - print ''; - } - if (!empty($arrayfields['a.datep']['checked'])) { - print ''; - } - if (!empty($arrayfields['a.datep2']['checked'])) { - print ''; - } - if (!empty($arrayfields['s.nom']['checked'])) { - print ''; - } + // Initialize $this->userassigned && this->socpeopleassigned array && this->userownerid + // but only if we need it if (!empty($arrayfields['a.fk_contact']['checked'])) { - print ''; + $actionstatic->fetchResources(); } + + print ''; + + // Ref + if (!empty($arrayfields['a.id']['checked'])) { + print ''; + } + + // User owner + if (!empty($arrayfields['owner']['checked'])) { + print ''; + } + + // Type + if (!empty($arrayfields['c.libelle']['checked'])) { + print ''; + } + + // Label + if (!empty($arrayfields['a.label']['checked'])) { + print ''; + } + + // Description + if (!empty($arrayfields['a.note']['checked'])) { + print ''; + } + + $formatToUse = $obj->fulldayevent ? 'day' : 'dayhour'; + + // Start date + if (!empty($arrayfields['a.datep']['checked'])) { + print ''; + } + + // End date + if (!empty($arrayfields['a.datep2']['checked'])) { + print ''; + } + + // Third party + if (!empty($arrayfields['s.nom']['checked'])) { + print ''; + } + + // Contact + if (!empty($arrayfields['a.fk_contact']['checked'])) { + print ''; + } + + // Linked object if (!empty($arrayfields['a.fk_element']['checked'])) { - print ''; + print ''; } // Extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; - + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields); - $reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook + $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 if (!empty($arrayfields['a.datec']['checked'])) { - print ''; + // Status/Percent + print ''; } + // Date update if (!empty($arrayfields['a.tms']['checked'])) { - print ''; + print ''; } if (!empty($arrayfields['a.percent']['checked'])) { - print ''; + // Status/Percent + $datep = $db->jdate($obj->dp); + print ''; } // Action column - print ''; + print "\n"; - - print ''; - if (!empty($arrayfields['a.id']['checked'])) { - print_liste_field_titre($arrayfields['a.id']['label'], $_SERVER["PHP_SELF"], "a.id", $param, "", "", $sortfield, $sortorder); - } - if (!empty($arrayfields['owner']['checked'])) { - print_liste_field_titre($arrayfields['owner']['label'], $_SERVER["PHP_SELF"], "", $param, "", "", $sortfield, $sortorder); - } - if (!empty($arrayfields['c.libelle']['checked'])) { - print_liste_field_titre($arrayfields['c.libelle']['label'], $_SERVER["PHP_SELF"], "c.libelle", $param, "", "", $sortfield, $sortorder); - } - if (!empty($arrayfields['a.label']['checked'])) { - print_liste_field_titre($arrayfields['a.label']['label'], $_SERVER["PHP_SELF"], "a.label", $param, "", "", $sortfield, $sortorder); - } - if (!empty($arrayfields['a.note']['checked'])) { - print_liste_field_titre($arrayfields['a.note']['label'], $_SERVER["PHP_SELF"], "a.note", $param, "", "", $sortfield, $sortorder); - } - //if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) - if (!empty($arrayfields['a.datep']['checked'])) { - print_liste_field_titre($arrayfields['a.datep']['label'], $_SERVER["PHP_SELF"], "a.datep,a.id", $param, '', 'align="center"', $sortfield, $sortorder); - } - if (!empty($arrayfields['a.datep2']['checked'])) { - print_liste_field_titre($arrayfields['a.datep2']['label'], $_SERVER["PHP_SELF"], "a.datep2", $param, '', 'align="center"', $sortfield, $sortorder); - } - if (!empty($arrayfields['s.nom']['checked'])) { - print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"], "s.nom", $param, "", "", $sortfield, $sortorder); - } - if (!empty($arrayfields['a.fk_contact']['checked'])) { - print_liste_field_titre($arrayfields['a.fk_contact']['label'], $_SERVER["PHP_SELF"], "", $param, "", "", $sortfield, $sortorder); - } - if (!empty($arrayfields['a.fk_element']['checked'])) { - print_liste_field_titre($arrayfields['a.fk_element']['label'], $_SERVER["PHP_SELF"], "", $param, "", "", $sortfield, $sortorder); - } - - // Extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; - - // Hook fields - $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); - $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - - if (!empty($arrayfields['a.datec']['checked'])) { - print_liste_field_titre($arrayfields['a.datec']['label'], $_SERVER["PHP_SELF"], "a.datec,a.id", $param, "", 'align="center"', $sortfield, $sortorder); - } - if (!empty($arrayfields['a.tms']['checked'])) { - print_liste_field_titre($arrayfields['a.tms']['label'], $_SERVER["PHP_SELF"], "a.tms,a.id", $param, "", 'align="center"', $sortfield, $sortorder); - } - - if (!empty($arrayfields['a.percent']['checked'])) { - print_liste_field_titre("Status", $_SERVER["PHP_SELF"], "a.percent", $param, "", 'align="center"', $sortfield, $sortorder); - } - print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch '); - print "\n"; - - $contactstatic = new Contact($db); - $now = dol_now(); - $delay_warning = $conf->global->MAIN_DELAY_ACTIONS_TODO * 24 * 60 * 60; - - require_once DOL_DOCUMENT_ROOT.'/comm/action/class/cactioncomm.class.php'; - $caction = new CActionComm($db); - $arraylist = $caction->liste_array(1, 'code', '', (empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : 0), '', 1); - $contactListCache = array(); - - while ($i < min($num, $limit)) { - $obj = $db->fetch_object($resql); - - // Discard auto action if option is on - if (!empty($conf->global->AGENDA_ALWAYS_HIDE_AUTO) && $obj->type_code == 'AC_OTH_AUTO') { - $i++; - continue; - } - - $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->type_color = $obj->type_color; - $actionstatic->label = $obj->label; - $actionstatic->location = $obj->location; - $actionstatic->note_private = dol_htmlentitiesbr($obj->note); - - // Initialize $this->userassigned && this->socpeopleassigned array && this->userownerid - // but only if we need it - if (!empty($arrayfields['a.fk_contact']['checked'])) { - $actionstatic->fetchResources(); - } - - print ''; - - // Ref - if (!empty($arrayfields['a.id']['checked'])) { - print ''; - } - - // User owner - if (!empty($arrayfields['owner']['checked'])) { - print ''; - } - - // Type - if (!empty($arrayfields['c.libelle']['checked'])) { - print ''; - } - - // Label - if (!empty($arrayfields['a.label']['checked'])) { - print ''; - } - - // Description - if (!empty($arrayfields['a.note']['checked'])) { - print ''; - } - - $formatToUse = $obj->fulldayevent ? 'day' : 'dayhour'; - - // Start date - if (!empty($arrayfields['a.datep']['checked'])) { - print ''; - } - - // End date - if (!empty($arrayfields['a.datep2']['checked'])) { - print ''; - } - - // Third party - if (!empty($arrayfields['s.nom']['checked'])) { - print ''; - } - - // Contact - if (!empty($arrayfields['a.fk_contact']['checked'])) { - print ''; - } - - // Linked object - if (!empty($arrayfields['a.fk_element']['checked'])) { - print ''; - } - - // 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, 'totalarray'=>&$totalarray); - $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - - // Date creation - if (!empty($arrayfields['a.datec']['checked'])) { - // Status/Percent - print ''; - } - // Date update - if (!empty($arrayfields['a.tms']['checked'])) { - print ''; - } - if (!empty($arrayfields['a.percent']['checked'])) { - // Status/Percent - $datep = $db->jdate($obj->dp); - print ''; - } - // Action column - print ''; - - print "\n"; - $i++; - } - print "
'; - print $form->selectDate($datestart, 'datestart', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', '', 'tzuserrel'); - print ''; - print $form->selectDate($dateend, 'dateend', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', '', 'tzuserrel'); - print '
'; + print $actionstatic->getNomUrl(1, -1); + print ''; // With edge and chrome the td overflow is not supported correctly when content is not full text. + if ($obj->fk_user_action > 0) { + $userstatic->fetch($obj->fk_user_action); + print $userstatic->getNomUrl(-1); + } else { + print ' '; + } + print ''; + print $actionstatic->getTypePicto(); + $labeltype = $obj->type_code; + if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && empty($arraylist[$labeltype])) { + $labeltype = 'AC_OTH'; + } + if ($actionstatic->type_code == 'AC_OTH' && $actionstatic->code == 'TICKET_MSG') { + $labeltype = $langs->trans("Message"); + } else { + if (!empty($arraylist[$labeltype])) { + $labeltype = $arraylist[$labeltype]; + } + if ($obj->type_code == 'AC_OTH_AUTO' && ($obj->type_code != $obj->code) && $labeltype && !empty($arraylist[$obj->code])) { + $labeltype .= ' - '.$arraylist[$obj->code]; // Use code in priority on type_code + } + } + print dol_trunc($labeltype, 28); + print ''; + print $actionstatic->label; + print ''; + $text = dolGetFirstLineOfText(dol_string_nohtmltag($actionstatic->note_private, 0)); + print $form->textwithtooltip(dol_trunc($text, 40), $actionstatic->note_private); + print ''; + print dol_print_date($db->jdate($obj->dp), $formatToUse, 'tzuser'); + $late = 0; + if ($obj->percent == 0 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) { + $late = 1; + } + if ($obj->percent == 0 && !$obj->dp && $obj->dp2 && $db->jdate($obj->dp) < ($now - $delay_warning)) { + $late = 1; + } + if ($obj->percent > 0 && $obj->percent < 100 && $obj->dp2 && $db->jdate($obj->dp2) < ($now - $delay_warning)) { + $late = 1; + } + if ($obj->percent > 0 && $obj->percent < 100 && !$obj->dp2 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) { + $late = 1; + } + if ($late) { + print img_warning($langs->trans("Late")).' '; + } + print ''; + print dol_print_date($db->jdate($obj->dp2), $formatToUse, 'tzuser'); + print ''; + if ($obj->socid > 0) { + $societestatic->id = $obj->socid; + $societestatic->client = $obj->client; + $societestatic->name = $obj->societe; + $societestatic->email = $obj->socemail; + + print $societestatic->getNomUrl(1, '', 28); + } else { + print ' '; + } + print ''; + + if (!empty($actionstatic->socpeopleassigned)) { + $contactList = array(); + foreach ($actionstatic->socpeopleassigned as $socpeopleassigned) { + if (!isset($contactListCache[$socpeopleassigned['id']])) { + // if no cache found we fetch it + $contact = new Contact($db); + if ($contact->fetch($socpeopleassigned['id']) > 0) { + $contactListCache[$socpeopleassigned['id']] = $contact->getNomUrl(1, '', 0); + $contactList[] = $contact->getNomUrl(1, '', 0); + } + } else { + // use cache + $contactList[] = $contactListCache[$socpeopleassigned['id']]; + } + } + if (!empty($contactList)) { + print implode(', ', $contactList); + } + } elseif ($obj->fk_contact > 0) { //keep for retrocompatibility with faraway event + $contactstatic->id = $obj->fk_contact; + $contactstatic->email = $obj->email; + $contactstatic->lastname = $obj->lastname; + $contactstatic->firstname = $obj->firstname; + $contactstatic->phone_pro = $obj->phone_pro; + $contactstatic->phone_mobile = $obj->phone_mobile; + $contactstatic->phone_perso = $obj->phone_perso; + $contactstatic->country_id = $obj->country_id; + print $contactstatic->getNomUrl(1, '', 0); + } else { + print " "; + } + print ''; + //var_dump($obj->fkelement.' '.$obj->elementtype); + if ($obj->fk_element > 0 && !empty($obj->elementtype)) { + include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + print dolGetElementUrl($obj->fk_element, $obj->elementtype, 1); + } else { + print " "; + } + print ''.dol_print_date($db->jdate($obj->datec), 'dayhour', 'tzuser').''.dol_print_date($db->jdate($obj->datem), 'dayhour', 'tzuser').''; - $formactions->form_select_status_action('formaction', $search_status, 1, 'search_status', 1, 2, 'minwidth100imp maxwidth125'); - print ajax_combobox('selectsearch_status'); - print ''.$actionstatic->LibStatut($obj->percent, 5, 0, $datep).''; - $searchpicto = $form->showFilterButtons(); - print $searchpicto; + print ''; + if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + $selected = 0; + if (in_array($obj->id, $arrayofselected)) { + $selected = 1; + } + print ''; + } print '
'; - print $actionstatic->getNomUrl(1, -1); - print ''; // With edge and chrome the td overflow is not supported correctly when content is not full text. - if ($obj->fk_user_action > 0) { - $userstatic->fetch($obj->fk_user_action); - print $userstatic->getNomUrl(-1); - } else { - print ' '; - } - print ''; - print $actionstatic->getTypePicto(); - $labeltype = $obj->type_code; - if (empty($conf->global->AGENDA_USE_EVENT_TYPE) && empty($arraylist[$labeltype])) { - $labeltype = 'AC_OTH'; - } - if ($actionstatic->type_code == 'AC_OTH' && $actionstatic->code == 'TICKET_MSG') { - $labeltype = $langs->trans("Message"); - } else { - if (!empty($arraylist[$labeltype])) { - $labeltype = $arraylist[$labeltype]; - } - if ($obj->type_code == 'AC_OTH_AUTO' && ($obj->type_code != $obj->code) && $labeltype && !empty($arraylist[$obj->code])) { - $labeltype .= ' - '.$arraylist[$obj->code]; // Use code in priority on type_code - } - } - print dol_trunc($labeltype, 28); - print ''; - print $actionstatic->label; - print ''; - $text = dolGetFirstLineOfText(dol_string_nohtmltag($actionstatic->note_private, 0)); - print $form->textwithtooltip(dol_trunc($text, 40), $actionstatic->note_private); - print ''; - print dol_print_date($db->jdate($obj->dp), $formatToUse, 'tzuser'); - $late = 0; - if ($obj->percent == 0 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) { - $late = 1; - } - if ($obj->percent == 0 && !$obj->dp && $obj->dp2 && $db->jdate($obj->dp) < ($now - $delay_warning)) { - $late = 1; - } - if ($obj->percent > 0 && $obj->percent < 100 && $obj->dp2 && $db->jdate($obj->dp2) < ($now - $delay_warning)) { - $late = 1; - } - if ($obj->percent > 0 && $obj->percent < 100 && !$obj->dp2 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) { - $late = 1; - } - if ($late) { - print img_warning($langs->trans("Late")).' '; - } - print ''; - print dol_print_date($db->jdate($obj->dp2), $formatToUse, 'tzuser'); - print ''; - if ($obj->socid > 0) { - $societestatic->id = $obj->socid; - $societestatic->client = $obj->client; - $societestatic->name = $obj->societe; - $societestatic->email = $obj->socemail; - - print $societestatic->getNomUrl(1, '', 28); - } else { - print ' '; - } - print ''; - - if (!empty($actionstatic->socpeopleassigned)) { - $contactList = array(); - foreach ($actionstatic->socpeopleassigned as $socpeopleassigned) { - if (!isset($contactListCache[$socpeopleassigned['id']])) { - // if no cache found we fetch it - $contact = new Contact($db); - if ($contact->fetch($socpeopleassigned['id']) > 0) { - $contactListCache[$socpeopleassigned['id']] = $contact->getNomUrl(1, '', 0); - $contactList[] = $contact->getNomUrl(1, '', 0); - } - } else { - // use cache - $contactList[] = $contactListCache[$socpeopleassigned['id']]; - } - } - if (!empty($contactList)) { - print implode(', ', $contactList); - } - } elseif ($obj->fk_contact > 0) { //keep for retrocompatibility with faraway event - $contactstatic->id = $obj->fk_contact; - $contactstatic->email = $obj->email; - $contactstatic->lastname = $obj->lastname; - $contactstatic->firstname = $obj->firstname; - $contactstatic->phone_pro = $obj->phone_pro; - $contactstatic->phone_mobile = $obj->phone_mobile; - $contactstatic->phone_perso = $obj->phone_perso; - $contactstatic->country_id = $obj->country_id; - print $contactstatic->getNomUrl(1, '', 0); - } else { - print " "; - } - print ''; - //var_dump($obj->fkelement.' '.$obj->elementtype); - if ($obj->fk_element > 0 && !empty($obj->elementtype)) { - include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - print dolGetElementUrl($obj->fk_element, $obj->elementtype, 1); - } else { - print " "; - } - print ''.dol_print_date($db->jdate($obj->datec), 'dayhour', 'tzuser').''.dol_print_date($db->jdate($obj->datem), 'dayhour', 'tzuser').''.$actionstatic->LibStatut($obj->percent, 5, 0, $datep).''; - if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined - $selected = 0; - if (in_array($obj->id, $arrayofselected)) { - $selected = 1; - } - print ''; - } - print '
"; - print '
'; - print '
'; - - $db->free($resql); -} else { - dol_print_error($db); + $i++; } +print ""; +print '
'; +print ''; + +$db->free($resql); // End of page llxFooter(); diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index 9d0d9f1befc..48e08ce3c0d 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -182,7 +182,7 @@ if (!empty($conf->propal->enabled) && $user->rights->propal->lire) { print ''; print ''.$propalstatic->getNomUrl(1).''; print ''.$companystatic->getNomUrl(1, 'customer').''; - print ''.price((!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc)).''; + print ''.price((!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc)).''; print ''; $i++; @@ -278,7 +278,7 @@ if (!empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposa print ''; print ''.$supplierproposalstatic->getNomUrl(1).''; print ''.$companystatic->getNomUrl(1, 'supplier').''; - print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; + print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; print ''; $i++; @@ -375,7 +375,7 @@ if (!empty($conf->commande->enabled) && $user->rights->commande->lire) { print ''; print ''.$orderstatic->getNomUrl(1).''; print ''.$companystatic->getNomUrl(1, 'customer').''; - print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; + print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; print ''; $i++; @@ -472,7 +472,7 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU print ''; print ''.$supplierorderstatic->getNomUrl(1).''; print ''.$companystatic->getNomUrl(1, 'supplier').''; - print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; + print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; print ''; $i++; @@ -497,6 +497,50 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU } } + +/* + * Draft interventionals + */ +if (!empty($conf->ficheinter->enabled)) { + $sql = "SELECT f.rowid, f.ref, s.nom as name, s.rowid as socid"; + $sql .= " FROM ".MAIN_DB_PREFIX."fichinter as f"; + $sql .= ", ".MAIN_DB_PREFIX."societe as s"; + if (!$user->rights->societe->client->voir && !$socid) { + $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + } + $sql .= " WHERE f.entity IN (".getEntity('intervention').")"; + $sql .= " AND f.fk_soc = s.rowid"; + $sql .= " AND f.fk_statut = 0"; + if ($socid) { + $sql .= " AND f.fk_soc = ".((int) $socid); + } + if (!$user->rights->societe->client->voir && !$socid) { + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id); + } + + $resql = $db->query($sql); + if ($resql) { + print '
'; + print ''; + print ''; + print ''; + $langs->load("fichinter"); + $num = $db->num_rows($resql); + if ($num) { + $i = 0; + while ($i < $num) { + $obj = $db->fetch_object($resql); + print ''; + print '"; + print ''; + $i++; + } + } + print "
'.$langs->trans("DraftFichinter").'
'; + print "rowid."\">".img_object($langs->trans("ShowFichinter"), "intervention").' '.$obj->ref."'.img_object($langs->trans("ShowCompany"), "company").' '.dol_trunc($obj->name, 24).'
"; + } +} + print '
'; print '
'; @@ -862,7 +906,7 @@ if (!empty($conf->propal->enabled) && $user->rights->propal->lire) { print ''.$companystatic->getNomUrl(1, 'customer', 44).''; print ''.dol_print_date($db->jdate($obj->dp), 'day').''; - print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; + print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; print ''.$propalstatic->LibStatut($obj->fk_statut, 3).''; print ''; @@ -979,7 +1023,7 @@ if (!empty($conf->commande->enabled) && $user->rights->commande->lire) { print ''.$companystatic->getNomUrl(1, 'customer', 44).''; print ''.dol_print_date($db->jdate($obj->dv), 'day').''; - print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; + print ''.price(!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc).''; print ''.$orderstatic->LibStatut($obj->fk_statut, $obj->billed, 3).''; print ''; diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index d801b4429c7..e03d13c29e8 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -577,7 +577,6 @@ if (empty($reshook)) { if (!$isupload) { $mesgs = array(); - $object->sujet = (string) GETPOST("sujet"); $object->body = (string) GETPOST("bodyemail", 'restricthtml'); $object->bgcolor = (string) GETPOST("bgcolor"); @@ -744,7 +743,7 @@ if ($action == 'create') { print '
'; // wysiwyg editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor('bodyemail', GETPOST('bodyemail', 'restricthtml'), '', 600, 'dolibarr_mailings', '', true, true, $conf->global->FCKEDITOR_ENABLE_MAILING, 20, '90%'); + $doleditor = new DolEditor('bodyemail', GETPOST('bodyemail', 'restricthtmlallowunvalid'), '', 600, 'dolibarr_mailings', '', true, true, $conf->global->FCKEDITOR_ENABLE_MAILING, 20, '90%'); $doleditor->Create(); print '
'; diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index 08e223ed89f..3f2cfc2974c 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2016 Laurent Destailleur + * Copyright (C) 2005-2021 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2014 Florian Henry * @@ -337,6 +337,7 @@ if ($object->fetch($id) >= 0) { if (is_resource($handle)) { while (($file = readdir($handle)) !== false) { if (substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS') { + $reg = array(); if (preg_match("/(.*)\.modules\.php$/i", $file, $reg)) { if ($reg[1] == 'example') { continue; @@ -534,9 +535,9 @@ if ($object->fetch($id) >= 0) { $morehtmlcenter = ''; if ($allowaddtarget) { - $morehtmlcenter = ''.$langs->trans("ToClearAllRecipientsClickHere").' id.'" class="button reposition">'.$langs->trans("TargetsReset").''; + $morehtmlcenter = ''.$langs->trans("ToClearAllRecipientsClickHere").' id.'" class="button reposition smallpaddingimp">'.$langs->trans("TargetsReset").''; } - $morehtmlcenter .= ' id.'">'.$langs->trans("Download").''; + $morehtmlcenter .= '   id.'">'.$langs->trans("Download").''; print_barre_liste($langs->trans("MailSelectedRecipients"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $morehtmlcenter, $num, $nbtotalofrecords, 'generic', 0, '', '', $limit); diff --git a/htdocs/comm/mailing/class/mailing.class.php b/htdocs/comm/mailing/class/mailing.class.php index 04d2f7c17d8..d281fcb1a3a 100644 --- a/htdocs/comm/mailing/class/mailing.class.php +++ b/htdocs/comm/mailing/class/mailing.class.php @@ -208,6 +208,12 @@ class Mailing extends CommonObject { global $conf, $langs; + // Check properties + if ($this->body === 'InvalidHTMLString') { + $this->error = 'InvalidHTMLString'; + return -1; + } + $this->db->begin(); $this->title = trim($this->title); @@ -257,6 +263,12 @@ class Mailing extends CommonObject */ public function update($user) { + // Check properties + if ($this->body === 'InvalidHTMLString') { + $this->error = 'InvalidHTMLString'; + return -1; + } + $sql = "UPDATE ".MAIN_DB_PREFIX."mailing "; $sql .= " SET titre = '".$this->db->escape($this->title)."'"; $sql .= ", sujet = '".$this->db->escape($this->sujet)."'"; diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index 8b5f757ad0e..163581221a8 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -843,16 +843,16 @@ if (empty($reshook)) { } } - if ($prod_entry_mode == 'free' && empty($idprod) && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('type') < 0) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && $price_ht === '' && $price_ht_devise === '') { // Unit price can be 0 but not ''. Also price can be negative for proposal. + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && $price_ht === '' && $price_ht_devise === '') { // Unit price can be 0 but not ''. Also price can be negative for proposal. setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && empty($product_desc)) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && empty($product_desc)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Description")), null, 'errors'); $error++; } @@ -871,7 +871,7 @@ if (empty($reshook)) { } } - if (!$error && ($qty >= 0) && (!empty($product_desc) || !empty($idprod))) { + if (!$error && ($qty >= 0) && (!empty($product_desc) || (!empty($idprod) && $idprod > 0))) { $pu_ht = 0; $pu_ttc = 0; $price_min = 0; @@ -885,7 +885,7 @@ if (empty($reshook)) { // Ecrase $desc par celui du produit // Ecrase $tva_tx par celui du produit // Replaces $fk_unit with the product unit - if (!empty($idprod)) { + if (!empty($idprod) && $idprod > 0) { $prod = new Product($db); $prod->fetch($idprod); @@ -2450,10 +2450,11 @@ if ($action == 'create') { // Show object lines $result = $object->getLinesArray(); - print '
+ print ' + '; @@ -2528,7 +2529,7 @@ if ($action == 'create') { } // ReOpen - if (($object->statut == Propal::STATUS_SIGNED || $object->statut == Propal::STATUS_NOTSIGNED || $object->statut == Propal::STATUS_BILLED) && $usercanclose) { + if ( (( ! empty($conf->global->PROPAL_REOPEN_UNSIGNED_ONLY) && $object->statut == Propal::STATUS_NOTSIGNED) || (empty($conf->global->PROPAL_REOPEN_UNSIGNED_ONLY) && ($object->statut == Propal::STATUS_SIGNED || $object->statut == Propal::STATUS_NOTSIGNED || $object->statut == Propal::STATUS_BILLED))) && $usercanclose) { print 'global->MAIN_JUMP_TAG) ? '' : '#reopen').'"'; print '>'.$langs->trans('ReOpen').''; } @@ -2578,7 +2579,7 @@ if ($action == 'create') { } // Create an invoice and classify billed - if ($object->statut == Propal::STATUS_SIGNED) { + if ($object->statut == Propal::STATUS_SIGNED && empty($conf->global->PROPOSAL_ARE_NOT_BILLABLE)) { if (!empty($conf->facture->enabled) && $usercancreateinvoice) { print ''.$langs->trans("AddBill").''; } @@ -2594,9 +2595,14 @@ if ($action == 'create') { } // Close as accepted/refused - if ($object->statut == Propal::STATUS_VALIDATED && $usercanclose) { - print 'global->MAIN_JUMP_TAG) ? '' : '#close').'"'; - print '>'.$langs->trans('SetAcceptedRefused').''; + if ($object->statut == Propal::STATUS_VALIDATED) { + if ($usercanclose) { + print 'global->MAIN_JUMP_TAG) ? '' : '#close').'"'; + print '>'.$langs->trans('SetAcceptedRefused').''; + } else { + print ''.$langs->trans('SetAcceptedRefused').''; + } } // Clone diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 940e0156c7e..3bc30d7d729 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -605,7 +605,7 @@ class Propal extends CommonObject $this->db->begin(); $product_type = $type; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $product = new Product($this->db); $result = $product->fetch($fk_product); $product_type = $product->type; diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 1b0b57afc7a..a21b4650f5b 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -220,18 +220,16 @@ $permissiontoread = $user->rights->propal->lire; $permissiontoadd = $user->rights->propal->creer; $permissiontodelete = $user->rights->propal->supprimer; if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { - $permissiontovalidate = $user->rights->propale->propal_advance->validate; - $permissiontoclose = $user->rights->propale->propal_advance->close; - $permissiontosendbymail = $user->rights->propale->propal_advance->send; + $permissiontovalidate = $user->rights->propal->propal_advance->validate; + $permissiontoclose = $user->rights->propal->propal_advance->close; + $permissiontosendbymail = $user->rights->propal->propal_advance->send; } else { $permissiontovalidate = $user->rights->propal->creer; $permissiontoclose = $user->rights->propal->creer; - $permissiontosendbymail = $user->rights->propale->lire; + $permissiontosendbymail = $user->rights->propal->lire; } - - /* * Actions */ @@ -519,6 +517,12 @@ if ($search_user > 0) { $sql .= ", ".MAIN_DB_PREFIX."element_contact as c"; $sql .= ", ".MAIN_DB_PREFIX."c_type_contact as tc"; } + +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; + $sql .= ' WHERE p.fk_soc = s.rowid'; $sql .= ' AND p.entity IN ('.getEntity('propal').')'; if (!$user->rights->societe->client->voir && !$socid) { //restriction diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php index 6dd62a9990d..53a3a37c84d 100644 --- a/htdocs/comm/propal/note.php +++ b/htdocs/comm/propal/note.php @@ -52,6 +52,10 @@ if ($user->socid > 0) { $socid = $user->socid; $object->id = $user->socid; } + +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('propalnote')); + restrictedArea($user, 'propal', $object->id, 'propal'); @@ -61,7 +65,13 @@ restrictedArea($user, 'propal', $object->id, 'propal'); $permissionnote = $user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 6d0badf6380..8420a5e7f87 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -91,6 +91,10 @@ $hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (!empty($con if (!empty($user->socid)) { $socid = $user->socid; } + +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('ordercard', 'globalcard')); + $result = restrictedArea($user, 'commande', $id); $object = new Commande($db); @@ -102,9 +106,6 @@ $extrafields->fetch_name_optionals_label($object->table_element); // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once -// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context -$hookmanager->initHooks(array('ordercard', 'globalcard')); - $usercanread = $user->rights->commande->lire; $usercancreate = $user->rights->commande->creer; $usercandelete = $user->rights->commande->supprimer; @@ -645,15 +646,15 @@ if (empty($reshook)) { } } - if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { + if ((empty($idprod) || $idprod < 0) && ($price_ht < 0) && ($qty < 0)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('type') < 0) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && $price_ht == '' && $price_ht_devise == '') { // Unit price can be 0 but not ''. Also price can be negative for order. + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && $price_ht == '' && $price_ht_devise == '') { // Unit price can be 0 but not ''. Also price can be negative for order. setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), null, 'errors'); $error++; } @@ -661,7 +662,7 @@ if (empty($reshook)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && empty($product_desc)) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && empty($product_desc)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors'); $error++; } @@ -680,7 +681,7 @@ if (empty($reshook)) { } } - if (!$error && ($qty >= 0) && (!empty($product_desc) || !empty($idprod))) { + if (!$error && ($qty >= 0) && (!empty($product_desc) || (!empty($idprod) && $idprod > 0))) { // Clean parameters $date_start = dol_mktime(GETPOST('date_start'.$predef.'hour'), GETPOST('date_start'.$predef.'min'), GETPOST('date_start'.$predef.'sec'), GETPOST('date_start'.$predef.'month'), GETPOST('date_start'.$predef.'day'), GETPOST('date_start'.$predef.'year')); $date_end = dol_mktime(GETPOST('date_end'.$predef.'hour'), GETPOST('date_end'.$predef.'min'), GETPOST('date_end'.$predef.'sec'), GETPOST('date_end'.$predef.'month'), GETPOST('date_end'.$predef.'day'), GETPOST('date_end'.$predef.'year')); @@ -690,7 +691,7 @@ if (empty($reshook)) { // Ecrase $desc par celui du produit // Ecrase $tva_tx par celui du produit // Ecrase $base_price_type par celui du produit - if (!empty($idprod)) { + if (!empty($idprod) && $idprod > 0) { $prod = new Product($db); $prod->fetch($idprod); @@ -2417,10 +2418,11 @@ if ($action == 'create' && $usercancreate) { */ $result = $object->getLinesArray(); - print ' + print ' + '; if (!empty($conf->use_javascript_ajax) && $object->statut == Commande::STATUS_DRAFT) { diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index aa9897f9dc7..65b446727e5 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -195,7 +195,7 @@ class Commande extends CommonOrder /** * @var int Date expected for delivery - * @see delivery_date + * @see $delivery_date * @deprecated */ public $date_livraison; @@ -1518,7 +1518,7 @@ class Commande extends CommonOrder $this->db->begin(); $product_type = $type; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $product = new Product($this->db); $result = $product->fetch($fk_product); $product_type = $product->type; @@ -4389,7 +4389,7 @@ class OrderLine extends CommonOrderLine $sql .= " '".price2num($this->localtax2_tx)."',"; $sql .= " '".$this->db->escape($this->localtax1_type)."',"; $sql .= " '".$this->db->escape($this->localtax2_type)."',"; - $sql .= ' '.(!empty($this->fk_product) ? $this->fk_product : "null").','; + $sql .= ' '.((!empty($this->fk_product) && $this->fk_product > 0) ? $this->fk_product : "null").','; $sql .= " '".$this->db->escape($this->product_type)."',"; $sql .= " '".price2num($this->remise_percent)."',"; $sql .= " ".(price2num($this->subprice) !== '' ?price2num($this->subprice) : "null").","; diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 73413d1070f..d25af27f34c 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -187,6 +187,7 @@ $arrayfields = array( 'c.multicurrency_total_vat'=>array('label'=>'MulticurrencyAmountVAT', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>105), 'c.multicurrency_total_ttc'=>array('label'=>'MulticurrencyAmountTTC', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>110), 'u.login'=>array('label'=>"Author", 'checked'=>1, 'position'=>115), + 'sale_representative'=>array('label'=>"SaleRepresentativesOfThirdParty", 'checked'=>0, 'position'=>116), 'c.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>120), 'c.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>125), 'c.date_cloture'=>array('label'=>"DateClosing", 'checked'=>0, 'position'=>130), @@ -470,6 +471,12 @@ if ($search_user > 0) { $sql .= ", ".MAIN_DB_PREFIX."element_contact as ec"; $sql .= ", ".MAIN_DB_PREFIX."c_type_contact as tc"; } + +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; + $sql .= ' WHERE c.fk_soc = s.rowid'; $sql .= ' AND c.entity IN ('.getEntity('commande').')'; if ($search_product_category > 0) { @@ -494,7 +501,7 @@ if ($search_billed != '' && $search_billed >= 0) { $sql .= ' AND c.facture = '.((int) $search_billed); } if ($search_status <> '') { - if ($search_status < 4 && $search_status > -3) { + if ($search_status < 4 && $search_status > -4) { if ($search_status == 1 && empty($conf->expedition->enabled)) { $sql .= ' AND c.fk_statut IN (1,2)'; // If module expedition disabled, we include order with status 'sending in process' into 'validated' } else { @@ -513,6 +520,11 @@ if ($search_status <> '') { //$sql.= ' AND c.facture = 0'; // invoice not created $sql .= ' AND ((c.fk_statut IN (1,2)) OR (c.fk_statut = 3 AND c.facture = 0))'; // validated, in process or closed but not billed } + + + if ($search_status == -4) { // "validate and in progress" + $sql .= ' AND (c.fk_statut IN (1,2))'; // validated, in process + } } if ($search_datecloture_start) { @@ -675,6 +687,9 @@ if ($resql) { if ($search_status == -3) { $title .= ' - '.$langs->trans('StatusOrderValidated').', '.(empty($conf->expedition->enabled) ? '' : $langs->trans("StatusOrderSent").', ').$langs->trans('StatusOrderToBill'); } + if ($search_status == -4) { + $title .= ' - '.$langs->trans("StatusOrderValidatedShort").'+'.$langs->trans("StatusOrderSentShort"); + } $num = $db->num_rows($resql); @@ -1172,6 +1187,9 @@ if ($resql) { print ''; print ''; } + if (!empty($arrayfields['sale_representative']['checked'])) { + print ''; + } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; // Fields from hook @@ -1236,6 +1254,7 @@ if ($resql) { Commande::STATUS_SHIPMENTONPROCESS=>$langs->trans("StatusOrderSentShort"), Commande::STATUS_CLOSED=>$langs->trans("StatusOrderDelivered"), -3=>$langs->trans("StatusOrderValidatedShort").'+'.$langs->trans("StatusOrderSentShort").'+'.$langs->trans("StatusOrderDelivered"), + -4=>$langs->trans("StatusOrderValidatedShort").'+'.$langs->trans("StatusOrderSentShort"), Commande::STATUS_CANCELED=>$langs->trans("StatusOrderCanceledShort") ); print $form->selectarray('search_status', $liststatus, $search_status, -4, 0, 0, '', 0, 0, 0, '', 'maxwidth100', 1); @@ -1329,6 +1348,9 @@ if ($resql) { if (!empty($arrayfields['u.login']['checked'])) { print_liste_field_titre($arrayfields['u.login']['label'], $_SERVER["PHP_SELF"], 'u.login', '', $param, 'align="center"', $sortfield, $sortorder); } + if (!empty($arrayfields['sale_representative']['checked'])) { + print_liste_field_titre($arrayfields['sale_representative']['label'], $_SERVER["PHP_SELF"], "", "", "$param", '', $sortfield, $sortorder); + } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; @@ -1706,6 +1728,53 @@ if ($resql) { } } + if (!empty($arrayfields['sale_representative']['checked'])) { + // Sales representatives + print ''; + if ($obj->socid > 0) { + $listsalesrepresentatives = $companystatic->getSalesRepresentatives($user); + if ($listsalesrepresentatives < 0) { + dol_print_error($db); + } + $nbofsalesrepresentative = count($listsalesrepresentatives); + if ($nbofsalesrepresentative > 6) { + // We print only number + print $nbofsalesrepresentative; + } elseif ($nbofsalesrepresentative > 0) { + $j = 0; + foreach ($listsalesrepresentatives as $val) { + $userstatic->id = $val['id']; + $userstatic->lastname = $val['lastname']; + $userstatic->firstname = $val['firstname']; + $userstatic->email = $val['email']; + $userstatic->statut = $val['statut']; + $userstatic->entity = $val['entity']; + $userstatic->photo = $val['photo']; + $userstatic->login = $val['login']; + $userstatic->office_phone = $val['office_phone']; + $userstatic->office_fax = $val['office_fax']; + $userstatic->user_mobile = $val['user_mobile']; + $userstatic->job = $val['job']; + $userstatic->gender = $val['gender']; + //print '
': + print ($nbofsalesrepresentative < 2) ? $userstatic->getNomUrl(-1, '', 0, 0, 12) : $userstatic->getNomUrl(-2); + $j++; + if ($j < $nbofsalesrepresentative) { + print ' '; + } + //print '
'; + } + } + //else print $langs->trans("NoSalesRepresentativeAffected"); + } else { + print ' '; + } + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + } + // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook diff --git a/htdocs/commande/note.php b/htdocs/commande/note.php index 6872990a3ec..dbfb0bdd43c 100644 --- a/htdocs/commande/note.php +++ b/htdocs/commande/note.php @@ -45,6 +45,10 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } + +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('ordernote')); + $result = restrictedArea($user, 'commande', $id, ''); @@ -61,7 +65,13 @@ $permissionnote = $user->rights->commande->creer; // Used by the include of acti * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/compta/bank/bankentries_list.php b/htdocs/compta/bank/bankentries_list.php index 666621cbdd6..14aeee29d69 100644 --- a/htdocs/compta/bank/bankentries_list.php +++ b/htdocs/compta/bank/bankentries_list.php @@ -1346,7 +1346,7 @@ if ($resql) { print ''; print $labeltoshow; // Already escaped - // Add links after description + // Add info about links after description $cachebankaccount = array(); foreach ($links as $key => $val) { print ''; @@ -1424,6 +1424,7 @@ if ($resql) { } elseif ($links[$key]['type'] == 'sc') { } elseif ($links[$key]['type'] == 'vat') { } elseif ($links[$key]['type'] == 'salary') { + // Information is already shown using the payment_salary link. No need of this link. } else { // Show link with label $links[$key]['label'] if (!empty($objp->label) && !empty($links[$key]['label'])) { @@ -1530,15 +1531,21 @@ if ($resql) { } if ($companylinked_id) { - // TODO Add a cache of loaded companies here + // TODO Add a cache of loaded companies here ? $companystatic->fetch($companylinked_id); print $companystatic->getNomUrl(1); } elseif ($userlinked_id && (($type_link == 'payment_salary' && !empty($user->rights->salaries->read)) || ($type_link == 'payment_sc' && !empty($user->rights->tax->charges->lire)))) { - // TODO Add a cache of loaded users here - $userstatic->fetch($userlinked_id); - print $userstatic->getNomUrl(1); + // Get object user from cache or load it + if (!empty($conf->cache['user'][$userlinked_id])) { + $tmpuser = $conf->cache['user'][$userlinked_id]; + } else { + $tmpuser = new User($db); + $tmpuser->fetch($userlinked_id); + $conf->cache['user'][$userlinked_id] = $tmpuser; + } + print $tmpuser->getNomUrl(1); } else { print ' '; } diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index 7f1c830d45b..d1cc0413bfd 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -212,7 +212,7 @@ if (empty($reshook)) { $object->ics = trim(GETPOST("ics", 'alpha')); $object->ics_transfer = trim(GETPOST("ics_transfer", 'alpha')); - $account_number = GETPOST('account_number', 'alpha'); + $account_number = GETPOST('account_number', 'alphanohtml'); if (empty($account_number) || $account_number == '-1') { $object->account_number = ''; } else { @@ -399,7 +399,8 @@ if ($action == 'create') { // State print ''.$langs->trans('State').''; if ($selectedcode) { - $formcompany->select_departement(GETPOSTISSET("account_state_id") ? GETPOST("account_state_id") : '', $selectedcode, 'account_state_id'); + print img_picto('', 'state', 'class="pictofixedwidth"'); + print $formcompany->select_state(GETPOSTISSET("account_state_id") ? GETPOST("account_state_id") : '', $selectedcode, 'account_state_id'); } else { print $countrynotdefined; } @@ -407,7 +408,10 @@ if ($action == 'create') { // Web print ''.$langs->trans("Web").''; - print ''; + print ''; + print img_picto('', 'globe', 'class="pictofixedwidth"'); + print ''; + print ''; // Tags-Categories if ($conf->categorie->enabled) { @@ -750,13 +754,13 @@ if ($action == 'create') { print ''; if ($conf->prelevement->enabled) { - print ''.$langs->trans("ICS").''; + print ''.$langs->trans("ICS").' ('.$langs->trans("StandingOrder").')'; print ''.$object->ics.''; print ''; } if ($conf->paymentbybanktransfer->enabled) { - print ''.$langs->trans("ICSTransfer").''; + print ''.$langs->trans("ICS").' ('.$langs->trans("BankTransfer").')'; print ''.$object->ics_transfer.''; print ''; } @@ -865,6 +869,7 @@ if ($action == 'create') { if (!$selectedcode) { $selectedcode = $conf->currency; } + print img_picto('', 'multicurrency', 'class="pictofixedwidth"'); print $form->selectCurrency((GETPOSTISSET("account_currency_code") ? GETPOST("account_currency_code") : $selectedcode), 'account_currency_code'); //print $langs->trans("Currency".$conf->currency); //print ''; @@ -897,6 +902,7 @@ if ($action == 'create') { // State print ''.$langs->trans('State').''; if ($selectedcode) { + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state(GETPOSTISSET("account_state_id") ? GETPOST("account_state_id") : $object->state_id, $selectedcode, 'account_state_id'); } else { print $countrynotdefined; @@ -925,7 +931,9 @@ if ($action == 'create') { // Web print ''.$langs->trans("Web").''; - print 'url).'">'; + print ''; + print img_picto('', 'globe', 'class="pictofixedwidth"'); + print 'url).'">'; print ''; // Tags-Categories @@ -1045,12 +1053,12 @@ if ($action == 'create') { print ''; if ($conf->prelevement->enabled) { - print ''.$langs->trans("ICS").''; + print ''.$langs->trans("ICS").' ('.$langs->trans("StandingOrder").')'; print ''; } if ($conf->paymentbybanktransfer->enabled) { - print ''.$langs->trans("ICSTransfer").''; + print ''.$langs->trans("ICS").' ('.$langs->trans("BankTransfer").')'; print ''; } diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 46d1bb93684..03ec879c5ad 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -399,9 +399,9 @@ class Account extends CommonObject /** * Add a link between bank line record and its source * - * @param int $line_id Id ecriture bancaire - * @param int $url_id Id parametre url - * @param string $url Url + * @param int $line_id Id of bank entry + * @param int $url_id Id of object related to link + * @param string $url Url (deprecated, we use now 'url_id' and 'type' instead) * @param string $label Link label * @param string $type Type of link ('payment', 'company', 'member', ...) * @return int <0 if KO, id line if OK @@ -412,13 +412,13 @@ class Account extends CommonObject $sql = "INSERT INTO ".MAIN_DB_PREFIX."bank_url ("; $sql .= "fk_bank"; $sql .= ", url_id"; - $sql .= ", url"; + $sql .= ", url"; // deprecated $sql .= ", label"; $sql .= ", type"; $sql .= ") VALUES ("; $sql .= " ".((int) $line_id); - $sql .= ", '".$this->db->escape($url_id)."'"; - $sql .= ", '".$this->db->escape($url)."'"; + $sql .= ", ".((int) $url_id); + $sql .= ", '".$this->db->escape($url)."'"; // dperecated $sql .= ", '".$this->db->escape($label)."'"; $sql .= ", '".$this->db->escape($type)."'"; $sql .= ")"; @@ -829,8 +829,8 @@ class Account extends CommonObject $sql .= ",min_desired = ".($this->min_desired != '' ? price2num($this->min_desired) : "null"); $sql .= ",comment = '".$this->db->escape($this->comment)."'"; - $sql .= ",state_id = ".($this->state_id > 0 ? $this->state_id : "null"); - $sql .= ",fk_pays = ".($this->country_id > 0 ? $this->country_id : "null"); + $sql .= ",state_id = ".($this->state_id > 0 ? ((int) $this->state_id) : "null"); + $sql .= ",fk_pays = ".($this->country_id > 0 ? ((int) $this->country_id) : "null"); $sql .= ",ics = '".$this->db->escape($this->ics)."'"; $sql .= ",ics_transfer = '".$this->db->escape($this->ics_transfer)."'"; @@ -1519,6 +1519,12 @@ class Account extends CommonObject */ public function needIBAN() { + global $conf; + + if (!empty($conf->global->MAIN_IBAN_IS_NEVER_MANDATORY)) { + return 0; + } + $country_code = $this->getCountryCode(); $country_code_in_EEC = array( diff --git a/htdocs/compta/bank/line.php b/htdocs/compta/bank/line.php index 2c33085aa6d..05aed6a215e 100644 --- a/htdocs/compta/bank/line.php +++ b/htdocs/compta/bank/line.php @@ -624,21 +624,21 @@ if ($result) { print ''; - print '"; + print '"; if ($user->rights->banque->consolidate) { print ''; } else { - print ''; + print ''; } print ''; diff --git a/htdocs/compta/bank/list.php b/htdocs/compta/bank/list.php index 67599ffff0e..657b1cb8577 100644 --- a/htdocs/compta/bank/list.php +++ b/htdocs/compta/bank/list.php @@ -67,6 +67,8 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } + +$allowed = 0; if (!empty($user->rights->accounting->chartofaccount)) { $allowed = 1; // Dictionary with list of banks accounting account allowed to manager of chart account } @@ -191,7 +193,7 @@ $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; $sql .= " FROM ".MAIN_DB_PREFIX."bank_account as b"; -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { +if (!empty($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (b.rowid = ef.fk_object)"; } @@ -333,12 +335,12 @@ $objecttmp = new Account($db); $trackid = 'bank'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; -if ($sall) { - foreach ($fieldstosearchall as $key => $val) { - $fieldstosearchall[$key] = $langs->trans($val); - } - print '
'.$langs->trans("FilterOnInto", $sall).join(', ', $fieldstosearchall).'
'; -} +//if ($sall) { +// foreach ($fieldstosearchall as $key => $val) { +// $fieldstosearchall[$key] = $langs->trans($val); +// } +// print '
'.$langs->trans("FilterOnInto", $sall).join(', ', $fieldstosearchall).'
'; +//} $moreforfilter = ''; @@ -564,7 +566,7 @@ foreach ($accounts as $key => $type) { // Account number if (!empty($arrayfields['b.account_number']['checked'])) { - print ''; + print img_picto('', 'globe').' '.$langs->trans("ToOfferALinkForOnlinePayment", $langs->transnoentitiesnoconv('Online')) . ' '. $fac->ref.'
'; + print ''; + + print '
'; + print ''; + } + } + } //var_dump($object); // Other attributes. Fields from hook formObjectOptions and Extrafields. include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; diff --git a/htdocs/eventorganization/conferenceorbooth_contact.php b/htdocs/eventorganization/conferenceorbooth_contact.php index 4906a4e05e3..8595da92652 100644 --- a/htdocs/eventorganization/conferenceorbooth_contact.php +++ b/htdocs/eventorganization/conferenceorbooth_contact.php @@ -309,7 +309,15 @@ if (!empty($withproject)) { print ""; print '"; print '
'.$langs->trans("Conciliation")."
'.$form->textwithpicto($langs->trans("AccountStatement"), $langs->trans("InputReceiptNumber"))."'; if ($objp->rappro) { - print $langs->trans("AccountStatement").' rappro ? ' disabled' : '').'>'; + print 'rappro ? ' disabled' : '').'>'; print ''; } else { - print $langs->trans("AccountStatement").' rappro ? ' disabled' : '').'>'; + print 'rappro ? ' disabled' : '').'>'; } if ($objp->num_releve) { print '   ('.$langs->trans("AccountStatement").' '.$objp->num_releve.')'; } print ''.$objp->num_releve.' '.$objp->num_releve.'
'; + print ''; if (!empty($conf->accounting->enabled) && !empty($objecttmp->account_number)) { $accountingaccount = new AccountingAccount($db); $accountingaccount->fetch('', $objecttmp->account_number, 1); diff --git a/htdocs/compta/bank/treso.php b/htdocs/compta/bank/treso.php index d9b54ad1c3d..98a51947c0e 100644 --- a/htdocs/compta/bank/treso.php +++ b/htdocs/compta/bank/treso.php @@ -98,44 +98,6 @@ if (GETPOST("account") || GETPOST("ref")) { print dol_get_fiche_end(); - print '
'; - - $solde = $object->solde(0); - if ($conf->global->MULTICOMPANY_INVOICE_SHARING_ENABLED) { - $colspan = 6; - } else { - $colspan = 5; - } - - // Show next coming entries - print '
'; - print ''; - - // Ligne de titre tableau des ecritures - print ''; - print ''; - print ''; - if ($conf->global->MULTICOMPANY_INVOICE_SHARING_ENABLED) { - print ''; - } - print ''; - print ''; - print ''; - print ''; - print ''; - - // Current balance - print ''; - print ''; - print ''; - print ''; - - - print ''; - print ''; - print ''; - print ''; - // Remainder to pay in future $sqls = array(); @@ -183,10 +145,12 @@ if (GETPOST("account") || GETPOST("ref")) { $error = 0; $tab_sqlobjOrder = array(); $tab_sqlobj = array(); + $nbtotalofrecords = 0; foreach ($sqls as $sql) { $resql = $db->query($sql); if ($resql) { + $nbtotalofrecords += $db->num_rows($resql); while ($sqlobj = $db->fetch_object($resql)) { $tmpobj = new stdClass(); $tmpobj->family = $sqlobj->family; @@ -194,7 +158,7 @@ if (GETPOST("account") || GETPOST("ref")) { $tmpobj->ref = $sqlobj->ref; $tmpobj->total_ttc = $sqlobj->total_ttc; $tmpobj->type = $sqlobj->type; - $tmpobj->dlt = $sqlobj->dlr; + $tmpobj->dlr = $db->jdate($sqlobj->dlr); $tmpobj->socid = $sqlobj->socid; $tmpobj->name = $sqlobj->name; $tmpobj->fournisseur = $sqlobj->fournisseur; @@ -208,6 +172,48 @@ if (GETPOST("account") || GETPOST("ref")) { } } + $param = ''; + $sortfield = ''; + $sortorder = ''; + $massactionbutton = ''; + $num = 0; + $picto = ''; + $morehtml = ''; + $limit = 0; + + print_barre_liste($langs->trans("RemainderToPay"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $picto, 0, $morehtml, '', $limit, 0, 0, 1); + + + $solde = $object->solde(0); + if ($conf->global->MULTICOMPANY_INVOICE_SHARING_ENABLED) { + $colspan = 6; + } else { + $colspan = 5; + } + + // Show next coming entries + print '
'; + print '
'.$langs->trans("DateDue").''.$langs->trans("Description").''.$langs->trans("Entity").''.$langs->trans("ThirdParty").''.$langs->trans("Debit").''.$langs->trans("Credit").''.$langs->trans("BankBalance").'
'.$langs->trans("CurrentBalance").''.price($solde).'
'.$langs->trans("RemainderToPay").' 
'; + + // Ligne de titre tableau des ecritures + print ''; + print ''; + print ''; + if ($conf->global->MULTICOMPANY_INVOICE_SHARING_ENABLED) { + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + + // Current balance + print ''; + print ''; + print ''; + print ''; + // Sort array if (!$error) { array_multisort($tab_sqlobjOrder, $tab_sqlobj); @@ -220,60 +226,60 @@ if (GETPOST("account") || GETPOST("ref")) { $refcomp = ''; $totalpayment = ''; - $obj = array_shift($tab_sqlobj); + $tmpobj = array_shift($tab_sqlobj); - if ($obj->family == 'invoice_supplier') { + if ($tmpobj->family == 'invoice_supplier') { $showline = 1; // Uncomment this line to avoid to count suppliers credit note (ff.type = 2) - //$showline=(($obj->total_ttc < 0 && $obj->type != 2) || ($obj->total_ttc > 0 && $obj->type == 2)) + //$showline=(($tmpobj->total_ttc < 0 && $tmpobj->type != 2) || ($tmpobj->total_ttc > 0 && $tmpobj->type == 2)) if ($showline) { - $ref = $obj->ref; + $ref = $tmpobj->ref; $facturefournstatic->ref = $ref; - $facturefournstatic->id = $obj->objid; - $facturefournstatic->type = $obj->type; + $facturefournstatic->id = $tmpobj->objid; + $facturefournstatic->type = $tmpobj->type; $ref = $facturefournstatic->getNomUrl(1, ''); - $societestatic->id = $obj->socid; - $societestatic->name = $obj->name; + $societestatic->id = $tmpobj->socid; + $societestatic->name = $tmpobj->name; $refcomp = $societestatic->getNomUrl(1, '', 24); $totalpayment = -1 * $facturefournstatic->getSommePaiement(); // Payment already done } } - if ($obj->family == 'invoice') { - $facturestatic->ref = $obj->ref; - $facturestatic->id = $obj->objid; - $facturestatic->type = $obj->type; + if ($tmpobj->family == 'invoice') { + $facturestatic->ref = $tmpobj->ref; + $facturestatic->id = $tmpobj->objid; + $facturestatic->type = $tmpobj->type; $ref = $facturestatic->getNomUrl(1, ''); - $societestatic->id = $obj->socid; - $societestatic->name = $obj->name; + $societestatic->id = $tmpobj->socid; + $societestatic->name = $tmpobj->name; $refcomp = $societestatic->getNomUrl(1, '', 24); $totalpayment = $facturestatic->getSommePaiement(); // Payment already done $totalpayment += $facturestatic->getSumDepositsUsed(); $totalpayment += $facturestatic->getSumCreditNotesUsed(); } - if ($obj->family == 'social_contribution') { - $socialcontribstatic->ref = $obj->ref; - $socialcontribstatic->id = $obj->objid; - $socialcontribstatic->label = $obj->type; + if ($tmpobj->family == 'social_contribution') { + $socialcontribstatic->ref = $tmpobj->ref; + $socialcontribstatic->id = $tmpobj->objid; + $socialcontribstatic->label = $tmpobj->type; $ref = $socialcontribstatic->getNomUrl(1, 24); $totalpayment = -1 * $socialcontribstatic->getSommePaiement(); // Payment already done } - $parameters = array('obj' => $obj, 'ref' => $ref, 'refcomp' => $refcomp, 'totalpayment' => $totalpayment); - $reshook = $hookmanager->executeHooks('moreFamily', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + $parameters = array('obj' => $tmpobj, 'ref' => $ref, 'refcomp' => $refcomp, 'totalpayment' => $totalpayment); + $reshook = $hookmanager->executeHooks('moreFamily', $parameters, $tmpobject, $action); // Note that $action and $tmpobject may have been modified by hook if (empty($reshook)) { $ref = isset($hookmanager->resArray['ref']) ? $hookmanager->resArray['ref'] : $ref; $refcomp = isset($hookmanager->resArray['refcomp']) ? $hookmanager->resArray['refcomp'] : $refcomp; $totalpayment = isset($hookmanager->resArray['totalpayment']) ? $hookmanager->resArray['totalpayment'] : $totalpayment; } - $total_ttc = $obj->total_ttc; + $total_ttc = $tmpobj->total_ttc; if ($totalpayment) { - $total_ttc = $obj->total_ttc - $totalpayment; + $total_ttc = $tmpobj->total_ttc - $totalpayment; } $solde += $total_ttc; @@ -282,26 +288,26 @@ if (GETPOST("account") || GETPOST("ref")) { // Show line print ''; print '"; print ""; if ($conf->global->MULTICOMPANY_INVOICE_SHARING_ENABLED) { - if ($obj->family == 'invoice') { - $mc->getInfo($obj->entity); + if ($tmpobj->family == 'invoice') { + $mc->getInfo($tmpobj->entity); print ""; } else { print ""; } } print ""; - if ($obj->total_ttc < 0) { + if ($tmpobj->total_ttc < 0) { print '"; }; - if ($obj->total_ttc >= 0) { + if ($tmpobj->total_ttc >= 0) { print '"; }; print ''; diff --git a/htdocs/compta/cashcontrol/cashcontrol_list.php b/htdocs/compta/cashcontrol/cashcontrol_list.php index ec7af37940c..407e8b3cf73 100644 --- a/htdocs/compta/cashcontrol/cashcontrol_list.php +++ b/htdocs/compta/cashcontrol/cashcontrol_list.php @@ -131,7 +131,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -251,7 +251,7 @@ foreach ($search as $key => $val) { } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; diff --git a/htdocs/compta/cashcontrol/class/cashcontrol.class.php b/htdocs/compta/cashcontrol/class/cashcontrol.class.php index dccfc852213..1cf964815d5 100644 --- a/htdocs/compta/cashcontrol/class/cashcontrol.class.php +++ b/htdocs/compta/cashcontrol/class/cashcontrol.class.php @@ -99,7 +99,7 @@ class CashControl extends CommonObject 'fk_user_creat' =>array('type'=>'integer:User', 'label'=>'UserCreation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>600), 'fk_user_valid' =>array('type'=>'integer:User', 'label'=>'UserValidation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>602), 'import_key' =>array('type'=>'varchar(14)', 'label'=>'Import key', 'enabled'=>1, 'visible'=>0, 'position'=>700), - 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'position'=>1000, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Brouillon', '1'=>'Validated')), + 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>1, 'visible'=>1, 'position'=>1000, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated')), ); /** diff --git a/htdocs/compta/facture/card-rec.php b/htdocs/compta/facture/card-rec.php index dd4042b9e34..affdd2e8991 100644 --- a/htdocs/compta/facture/card-rec.php +++ b/htdocs/compta/facture/card-rec.php @@ -447,15 +447,15 @@ if (empty($reshook)) { } } - if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { + if ((empty($idprod) || $idprod < 0) && ($price_ht < 0) && ($qty < 0)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('type') < 0) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && (!($price_ht >= 0) || $price_ht == '')) { // Unit price can be 0 but not '' + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && (!($price_ht >= 0) || $price_ht == '')) { // Unit price can be 0 but not '' setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), null, 'errors'); $error++; } @@ -463,7 +463,7 @@ if (empty($reshook)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } - if ($prod_entry_mode == 'free' && empty($idprod) && empty($product_desc)) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && empty($product_desc)) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), null, 'errors'); $error++; } @@ -473,7 +473,7 @@ if (empty($reshook)) { $error++; } - if (!$error && ($qty >= 0) && (!empty($product_desc) || !empty($idprod))) { + if (!$error && ($qty >= 0) && (!empty($product_desc) || (!empty($idprod) && $idprod > 0))) { $ret = $object->fetch($id); if ($ret < 0) { dol_print_error($db, $object->error); @@ -495,7 +495,7 @@ if (empty($reshook)) { // Ecrase $tva_tx par celui du produit // Ecrase $base_price_type par celui du produit // Replaces $fk_unit with the product's - if (!empty($idprod)) { + if (!empty($idprod) && $idprod > 0) { $prod = new Product($db); $prod->fetch($idprod); diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index d2c6a9bd643..5d81da90088 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -2000,7 +2000,7 @@ if (empty($reshook)) { } } - if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { + if ((empty($idprod) || $idprod < 0) && ($price_ht < 0) && ($qty < 0)) { setEventMessages($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), null, 'errors'); $error++; } @@ -2010,11 +2010,11 @@ if (empty($reshook)) { $error++; } } - if ($prod_entry_mode == 'free' && empty($idprod) && GETPOST('type') < 0) { + if ($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && GETPOST('type') < 0) { setEventMessages($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), null, 'errors'); $error++; } - if (($prod_entry_mode == 'free' && empty($idprod) && (($price_ht < 0 && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) || $price_ht == '') && $price_ht_devise == '') && $object->type != Facture::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' + if (($prod_entry_mode == 'free' && (empty($idprod) || $idprod < 0) && (($price_ht < 0 && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) || $price_ht == '') && $price_ht_devise == '') && $object->type != Facture::TYPE_CREDIT_NOTE) { // Unit price can be 0 but not '' if ($price_ht < 0 && empty($conf->global->FACTURE_ENABLE_NEGATIVE_LINES)) { $langs->load("errors"); if ($object->type == $object::TYPE_DEPOSIT) { @@ -2057,7 +2057,7 @@ if (empty($reshook)) { } } - if (!$error && ($qty >= 0) && (!empty($product_desc) || !empty($idprod))) { + if (!$error && ($qty >= 0) && (!empty($product_desc) || (!empty($idprod) && $idprod > 0))) { $ret = $object->fetch($id); if ($ret < 0) { dol_print_error($db, $object->error); @@ -2079,7 +2079,7 @@ if (empty($reshook)) { // Ecrase $tva_tx par celui du produit // Ecrase $base_price_type par celui du produit // Replaces $fk_unit with the product's - if (!empty($idprod)) { + if (!empty($idprod) && $idprod > 0) { $prod = new Product($db); $prod->fetch($idprod); @@ -5077,6 +5077,16 @@ if ($action == 'create') { print ''; print ''; + // Remainder to pay Multicurrency + if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) { + print ''; + print ''; + } + // Retained warranty : usualy use on construction industry if (!empty($object->situation_final) && !empty($object->retained_warranty) && $displayWarranty) { // Billed - retained warranty @@ -5195,10 +5205,11 @@ if ($action == 'create') { } } - print ' + print ' + '; @@ -5273,7 +5284,8 @@ if ($action == 'create') { // Reopen a standard paid invoice if ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) || ($object->type == Facture::TYPE_CREDIT_NOTE && empty($discount->id)) - || ($object->type == Facture::TYPE_DEPOSIT && empty($discount->id))) + || ($object->type == Facture::TYPE_DEPOSIT && empty($discount->id)) + || ($object->type == Facture::TYPE_SITUATION && empty($discount->id))) && ($object->statut == Facture::STATUS_CLOSED || $object->statut == Facture::STATUS_ABANDONED || ($object->statut == 1 && $object->paye == 1)) // Condition ($object->statut == 1 && $object->paye == 1) should not happened but can be found due to corrupted data && ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $usercancreate) || $usercanreopen)) { // A paid invoice (partially or completely) if ($object->close_code != 'replaced' || (!$objectidnext)) { // Not replaced by another invoice or replaced but the replacement invoice has been deleted @@ -5393,7 +5405,7 @@ if ($action == 'create') { } // Create a credit note - if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $object->statut > 0 && $usercancreate) { + if (($object->type == Facture::TYPE_STANDARD || ($object->type == Facture::TYPE_DEPOSIT && empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) || $object->type == Facture::TYPE_PROFORMA) && $object->statut > 0 && $usercancreate) { if (!$objectidnext) { print ''.$langs->trans("CreateCreditNote").''; } diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 735f2877184..eb380a4a212 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -3213,7 +3213,7 @@ class Facture extends CommonInvoice $this->db->begin(); $product_type = $type; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $product = new Product($this->db); $result = $product->fetch($fk_product); $product_type = $product->type; @@ -3869,7 +3869,7 @@ class Facture extends CommonInvoice global $conf, $langs; if ($this->module_source == 'takepos') { - $langs->load('cashdesk@cashdesk'); + $langs->load('cashdesk'); $moduleName = 'takepos'; $moduleSourceName = 'Takepos'; @@ -5342,7 +5342,7 @@ class FactureLigne extends CommonInvoiceLine $this->error = 'ErrorProductTypeMustBe0orMore'; return -1; } - if (!empty($this->fk_product)) { + if (!empty($this->fk_product) && $this->fk_product > 0) { // Check product exists $result = Product::isExistingObject('product', $this->fk_product); if ($result <= 0) { @@ -5377,7 +5377,7 @@ class FactureLigne extends CommonInvoiceLine $sql .= " ".price2num($this->localtax2_tx).","; $sql .= " '".$this->db->escape($this->localtax1_type)."',"; $sql .= " '".$this->db->escape($this->localtax2_type)."',"; - $sql .= ' '.(!empty($this->fk_product) ? $this->fk_product : "null").','; + $sql .= ' '.((!empty($this->fk_product) && $this->fk_product > 0) ? $this->fk_product : "null").','; $sql .= " ".((int) $this->product_type).","; $sql .= " ".price2num($this->remise_percent).","; $sql .= " ".price2num($this->subprice).","; diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index cc52984d6d4..93be3ba445a 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -234,6 +234,7 @@ $arrayfields = array( 'dynamount_payed'=>array('label'=>"Received", 'checked'=>0, 'position'=>140), 'rtp'=>array('label'=>"Rest", 'checked'=>0, 'position'=>150), // Not enabled by default because slow 'u.login'=>array('label'=>"Author", 'checked'=>1, 'position'=>165), + 'sale_representative'=>array('label'=>"SaleRepresentativesOfThirdParty", 'checked'=>0, 'position'=>166), 'f.multicurrency_code'=>array('label'=>'Currency', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>170), 'f.multicurrency_tx'=>array('label'=>'CurrencyRate', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>171), 'f.multicurrency_total_ht'=>array('label'=>'MulticurrencyAmountHT', 'checked'=>0, 'enabled'=>(empty($conf->multicurrency->enabled) ? 0 : 1), 'position'=>180), @@ -375,13 +376,64 @@ if (empty($reshook)) { include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } -if ($massaction == 'makepayment_confirm') { +if ($action == 'makepayment_confirm' && $user->rights->facture->paiement) { + require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; $arrayofselected = is_array($toselect) ? $toselect : array(); - - $loc = dol_buildpath('/compta/paiement.php', 2).'?action=create&facids='.implode(',', $arrayofselected); - - header('Location: '.$loc); - exit; + if (!empty($arrayofselected)) { + $bankid=GETPOST('bankid', 'int'); + $paiementid=GETPOST('paiementid', 'int'); + $paiementdate=dol_mktime(12, 0, 0, GETPOST('datepaimentmonth', 'int'), GETPOST('datepaimentday', 'int'), GETPOST('datepaimentyear', 'year')); + foreach ($arrayofselected as $toselectid) { + $errorpayment=0; + $facture = new Facture($db); + $result = $facture->fetch($toselectid); + if ($result < 0) { + setEventMessage($facture->error, 'errors'); + $errorpayment++; + } else { + if ($facture->type != Facture::TYPE_CREDIT_NOTE && $facture->statut == 1 && $facture->paye == 0) { + $paiementAmount = $facture->getSommePaiement(); + $totalcreditnotes = $facture->getSumCreditNotesUsed(); + $totaldeposits = $facture->getSumDepositsUsed(); + $totalpay = $paiementAmount + $totalcreditnotes + $totaldeposits; + $remaintopay = price2num($facture->total_ttc - $totalpay); + if ($remaintopay!=0) { + $resultBank = $facture->setBankAccount($bankid); + if ($resultBank < 0) { + setEventMessage($facture->error, 'errors'); + $errorpayment++; + } else { + $paiement = new Paiement($db); + $paiement->datepaye = $paiementdate; + $paiement->amounts[$facture->id] = $remaintopay; // Array with all payments dispatching with invoice id + $paiement->multicurrency_amounts[$facture->id] = $remaintopay; + $paiement->paiementid = $paiementid; + $paiement_id = $paiement->create($user, 1, $facture->thirdparty); + if ($paiement_id < 0) { + setEventMessage($facture->ref . ' ' . $paiement->error, 'errors'); + $errorpayment++; + } else { + $result = $paiement->addPaymentToBank($user, 'payment', '', $bankid, '', ''); + if ($result < 0) { + setEventMessages($facture->ref . ' ' . $paiement->error, $paiement->errors, 'errors'); + $errorpayment++; + } + } + } + } else { + setEventMessage($langs->trans('NoPaymentAvailable', $facture->ref), 'warnings'); + $errorpayment++; + } + } else { + setEventMessage($langs->trans('NoPaymentAvailable', $facture->ref), 'warnings'); + $errorpayment++; + } + } + if (empty($errorpayment)) { + setEventMessage($langs->trans('RegisterPaymentAndClasiffiedPayedDone', $facture->ref)); + } + } + } } elseif ($massaction == 'withdrawrequest') { $langs->load("withdrawals"); @@ -971,8 +1023,10 @@ if ($resql) { 'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), 'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), 'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), - //'makepayment'=>$langs->trans("InvoicePaymentsLimits"), ); + if ($user->rights->facture->paiement) { + $arrayofmassactions['makepayment'] = $langs->trans("RegisterPaymentAndClasiffiedPayed"); + } if ($conf->prelevement->enabled && !empty($user->rights->prelevement->bons->creer)) { $langs->load("withdrawals"); $arrayofmassactions['withdrawrequest'] = img_picto('', 'payment', 'class="pictofixedwidth"').$langs->trans("MakeWithdrawRequest"); @@ -984,7 +1038,7 @@ if ($resql) { $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); } } - if (in_array($massaction, array('presend', 'predelete'))) { + if (in_array($massaction, array('presend', 'predelete' ,'makepayment'))) { $arrayofmassactions = array(); } $massactionbutton = $form->selectMassAction('', $arrayofmassactions); @@ -1006,7 +1060,9 @@ if ($resql) { } print ''; print ''; - print ''; + if (!in_array($massaction, array('makepayment'))) { + print ''; + } print ''; print ''; print ''; @@ -1020,6 +1076,21 @@ if ($resql) { $trackid = 'inv'.$object->id; include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + if ($massaction=='makepayment') { + $formconfirm = ''; + $formquestion = array( + // 'text' => $langs->trans("ConfirmClone"), + // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1), + // array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1), + array('type' => 'date', 'name' => 'datepaiment', 'label' => $langs->trans("Date")), + array('type' => 'other', 'name' => 'paiementid', 'label' => $langs->trans("PaymentMode"), 'value' => $form->select_types_paiements(GETPOST('search_paymentmode'), 'paiementid', '', 0, 0, 1, 0, 1, '', 1)), + array('type' => 'other', 'name' => 'bankid', 'label' => $langs->trans("BankAccount"), 'value'=>$form->select_comptes('', 'bankid', 0, '', 0, '', 0, '', 1)), + //array('type' => 'other', 'name' => 'invoicesid', 'label' => '', 'value'=>''), + ); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans('RegisterPaymentAndClasiffiedPayed'), $langs->trans('RegisterPaymentAndClasiffiedPayed', $object->ref), 'makepayment_confirm', $formquestion, 1, 0, 200, 500, 1); + print $formconfirm; + } + if ($sall) { foreach ($fieldstosearchall as $key => $val) { $fieldstosearchall[$key] = $langs->trans($val); @@ -1043,7 +1114,7 @@ if ($resql) { $moreforfilter .= img_picto($tmptitle, 'user', 'class="pictofixedwidth"').$form->select_dolusers($search_user, 'search_user', $tmptitle, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth250'); $moreforfilter .= ''; } - // If the user can view prospects other than his' + // Filter on product tags if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire && ($user->rights->produit->lire || $user->rights->service->lire)) { include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $moreforfilter .= '
'; @@ -1257,6 +1328,9 @@ if ($resql) { print ''; print ''; } + if (!empty($arrayfields['sale_representative']['checked'])) { + print '
'; + } if (!empty($arrayfields['f.retained_warranty']['checked'])) { print ''; @@ -1449,6 +1523,9 @@ if ($resql) { if (!empty($arrayfields['u.login']['checked'])) { print_liste_field_titre($arrayfields['u.login']['label'], $_SERVER["PHP_SELF"], 'u.login', '', $param, 'align="center"', $sortfield, $sortorder); } + if (!empty($arrayfields['sale_representative']['checked'])) { + print_liste_field_titre($arrayfields['sale_representative']['label'], $_SERVER["PHP_SELF"], "", "", "$param", '', $sortfield, $sortorder); + } if (!empty($arrayfields['f.retained_warranty']['checked'])) { print_liste_field_titre($arrayfields['f.retained_warranty']['label'], $_SERVER['PHP_SELF'], '', '', $param, 'align="right"', $sortfield, $sortorder); } @@ -1939,6 +2016,53 @@ if ($resql) { } } + if (!empty($arrayfields['sale_representative']['checked'])) { + // Sales representatives + print ''; + if (!$i) { + $totalarray['nbfield']++; + } + } + if (!empty($arrayfields['f.retained_warranty']['checked'])) { print ''; } diff --git a/htdocs/compta/facture/note.php b/htdocs/compta/facture/note.php index f019d822529..efb0e23a27a 100644 --- a/htdocs/compta/facture/note.php +++ b/htdocs/compta/facture/note.php @@ -54,6 +54,8 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } +$hookmanager->initHooks(array('invoicenote')); + $result = restrictedArea($user, 'facture', $id, ''); @@ -61,7 +63,13 @@ $result = restrictedArea($user, 'facture', $id, ''); * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index f5ac0f19509..6fdc74a7539 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -148,12 +148,6 @@ if ($type == 'bank-transfer') { llxHeader('', $title, $helpurl); -/* *************************************************************************** */ -/* */ -/* Mode fiche */ -/* */ -/* *************************************************************************** */ - if ($object->id > 0) { $selleruserevenustamp = $mysoc->useRevenueStamp(); @@ -471,6 +465,7 @@ if ($object->id > 0) { print ""; print ''; + // IBAN of seller or supplier $title = 'CustomerIBAN'; if ($type == 'bank-transfer') { $title = 'SupplierIBAN'; diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 8db217747ef..b1ad18e6461 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -226,7 +226,7 @@ if (!empty($conf->facture->enabled) && !empty($user->rights->facture->lire)) { print $thirdpartystatic->getNomUrl(1, 'customer', 44); print ''; if (!empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) { - print ''; + print ''; } print ''; print ''; diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php index a94d068603a..8a232377ab7 100644 --- a/htdocs/compta/prelevement/card.php +++ b/htdocs/compta/prelevement/card.php @@ -200,7 +200,8 @@ if ($id > 0 || $ref) { //print ''; print ''; - print ''; + + print ''; // Status /* @@ -325,19 +326,19 @@ if ($id > 0 || $ref) { // Actions if ($action != 'settransmitted' && $action != 'setcredited') { - print "\n
\n"; + print "\n".'
'."\n"; if (empty($object->date_trans) && $user->rights->prelevement->bons->send) { - print "id."\">".$langs->trans("SetToStatusSent").""; + print ''.$langs->trans("SetToStatusSent").''; } if (!empty($object->date_trans) && $object->date_credit == 0) { - print "id."\">".$langs->trans("ClassCredited").""; + print ''.$langs->trans("ClassCredited").''; } - print "id."\">".$langs->trans("Delete").""; + print ''.$langs->trans("Delete").''; - print "
"; + print '
'; } @@ -413,7 +414,7 @@ if ($id > 0 || $ref) { print "'; @@ -434,7 +435,7 @@ if ($id > 0 || $ref) { if ($obj->statut == 2) { if ($user->rights->prelevement->bons->credit) { //print ''.$langs->trans("StandingOrderReject").''; - print ''.$langs->trans("StandingOrderReject").''; + print ''.$langs->trans("StandingOrderReject").''; } else { //print ''.$langs->trans("StandingOrderReject").''; } diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index f69c7b476a2..1b6afa3cffe 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -82,7 +82,8 @@ class BonPrelevement extends CommonObject const STATUS_DRAFT = 0; const STATUS_TRANSFERED = 1; - const STATUS_CREDITED = 2; + const STATUS_CREDITED = 2; // STATUS_CREDITED and STATUS_DEBITED is same. Difference is in ->type + const STATUS_DEBITED = 2; // STATUS_CREDITED and STATUS_DEBITED is same. Difference is in ->type /** @@ -2343,17 +2344,22 @@ class BonPrelevement extends CommonObject //$langs->load("mymodule"); $this->labelStatus[self::STATUS_DRAFT] = $langs->trans('StatusWaiting'); $this->labelStatus[self::STATUS_TRANSFERED] = $langs->trans('StatusTrans'); - $this->labelStatus[self::STATUS_CREDITED] = $langs->trans('StatusCredited'); $this->labelStatusShort[self::STATUS_DRAFT] = $langs->trans('StatusWaiting'); $this->labelStatusShort[self::STATUS_TRANSFERED] = $langs->trans('StatusTrans'); - $this->labelStatusShort[self::STATUS_CREDITED] = $langs->trans('StatusCredited'); + if ($this->type == 'bank-transfer') { + $this->labelStatus[self::STATUS_DEBITED] = $langs->trans('StatusDebited'); + $this->labelStatusShort[self::STATUS_DEBITED] = $langs->trans('StatusDebited'); + } else { + $this->labelStatus[self::STATUS_CREDITED] = $langs->trans('StatusCredited'); + $this->labelStatusShort[self::STATUS_CREDITED] = $langs->trans('StatusCredited'); + } } $statusType = 'status1'; if ($status == self::STATUS_TRANSFERED) { $statusType = 'status3'; } - if ($status == self::STATUS_CREDITED) { + if ($status == self::STATUS_CREDITED || $status == self::STATUS_DEBITED) { $statusType = 'status6'; } diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index 6793fb0a893..6f045f3ca74 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -67,6 +67,7 @@ $hookmanager->initHooks(array('directdebitcreatecard', 'globalcard')); /* * Actions */ + if (GETPOST('cancel', 'alpha')) { $massaction = ''; } @@ -95,7 +96,7 @@ if (empty($reshook)) { $bank = new Account($db); $bank->fetch($conf->global->{$default_account}); if (empty($bank->ics) || empty($bank->ics_transfer)) { - $errormessage = str_replace('{url}', $bank->getNomUrl(1), $langs->trans("ErrorICSmissing", '{url}')); + $errormessage = str_replace('{url}', $bank->getNomUrl(1, '', '', -1, 1), $langs->trans("ErrorICSmissing", '{url}')); setEventMessages($errormessage, null, 'errors'); header("Location: ".DOL_URL_ROOT.'/compta/prelevement/create.php'); exit; @@ -124,9 +125,13 @@ if (empty($reshook)) { } } else { if ($type != 'bank-transfer') { - setEventMessages($langs->trans("DirectDebitOrderCreated", $bprev->getNomUrl(1)), null); + $texttoshow = $langs->trans("DirectDebitOrderCreated", '{s}'); + $texttoshow = str_replace('{s}', $bprev->getNomUrl(1), $texttoshow); + setEventMessages($texttoshow, null); } else { - setEventMessages($langs->trans("CreditTransferOrderCreated", $bprev->getNomUrl(1)), null); + $texttoshow = $langs->trans("CreditTransferOrderCreated", '{s}'); + $texttoshow = str_replace('{s}', $bprev->getNomUrl(1), $texttoshow); + setEventMessages($texttoshow, null); } header("Location: ".DOL_URL_ROOT.'/compta/prelevement/card.php?id='.$bprev->id); @@ -165,7 +170,11 @@ llxHeader('', $langs->trans("NewStandingOrder")); if (prelevement_check_config($type) < 0) { $langs->load("errors"); - setEventMessages($langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv("Withdraw")), null, 'errors'); + $modulenametoshow = "Withdraw"; + if ($type == 'bank-transfer') { + $modulenametoshow = "PaymentByBankTransfer"; + } + setEventMessages($langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv($modulenametoshow)), null, 'errors'); } @@ -206,7 +215,7 @@ print $nb; print ''; print ''; -print ''; print ''; @@ -225,8 +234,13 @@ print ''; print ''; if ($nb) { if ($pricetowithdraw) { - print $langs->trans('BankToReceiveWithdraw').': '; - $form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT, 'id_bankaccount', 0, "courant=1"); + $title = $langs->trans('BankToReceiveWithdraw').': '; + if ($type == 'bank-transfer') { + $title = $langs->trans('BankToPayCreditTransfer').': '; + } + print $title; + print img_picto('', 'bank_account'); + print $form->select_comptes($conf->global->PRELEVEMENT_ID_BANKACCOUNT, 'id_bankaccount', 0, "courant=1", 0, '', 0, '', 1); print ' - '; print $langs->trans('ExecutionDate').' '; @@ -430,7 +444,7 @@ if ($resql) { } print ''; // Amount - print ''; // Date diff --git a/htdocs/compta/prelevement/orders_list.php b/htdocs/compta/prelevement/orders_list.php index 5c6f058bff1..3ca9ce32fbe 100644 --- a/htdocs/compta/prelevement/orders_list.php +++ b/htdocs/compta/prelevement/orders_list.php @@ -29,7 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.p require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // Load translation files required by the page -$langs->loadLangs(array('banks', 'categories', 'widthdrawals')); +$langs->loadLangs(array('banks', 'categories', 'withdrawals')); $contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'directdebitcredittransferlist'; // To manage different context of search diff --git a/htdocs/compta/sociales/class/cchargesociales.class.php b/htdocs/compta/sociales/class/cchargesociales.class.php index 8cfadd84f4f..ee9a270b283 100644 --- a/htdocs/compta/sociales/class/cchargesociales.class.php +++ b/htdocs/compta/sociales/class/cchargesociales.class.php @@ -260,13 +260,13 @@ class Cchargesociales // Update request $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET'; $sql .= ' libelle = '.(isset($this->libelle) ? "'".$this->db->escape($this->libelle)."'" : "null").','; - $sql .= ' deductible = '.(isset($this->deductible) ? $this->deductible : "null").','; - $sql .= ' active = '.(isset($this->active) ? $this->active : "null").','; + $sql .= ' deductible = '.(isset($this->deductible) ? ((int) $this->deductible) : "null").','; + $sql .= ' active = '.(isset($this->active) ? ((int) $this->active) : "null").','; $sql .= ' code = '.(isset($this->code) ? "'".$this->db->escape($this->code)."'" : "null").','; - $sql .= ' fk_pays = '.(isset($this->fk_pays) ? $this->fk_pays : "null").','; + $sql .= ' fk_pays = '.((isset($this->fk_pays) && $this->fk_pays > 0) ? ((int) $this->fk_pays) : "null").','; $sql .= ' module = '.(isset($this->module) ? "'".$this->db->escape($this->module)."'" : "null").','; $sql .= ' accountancy_code = '.(isset($this->accountancy_code) ? "'".$this->db->escape($this->accountancy_code)."'" : "null"); - $sql .= ' WHERE id='.$this->id; + $sql .= ' WHERE id='.((int) $this->id); $this->db->begin(); diff --git a/htdocs/compta/tva/list.php b/htdocs/compta/tva/list.php index 69ce8ae8ae5..1dc0180bd60 100644 --- a/htdocs/compta/tva/list.php +++ b/htdocs/compta/tva/list.php @@ -31,6 +31,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/accountancy/class/accountingjournal.class.php'; @@ -135,6 +136,7 @@ if (empty($reshook)) { $form = new Form($db); $formother = new FormOther($db); +$formfile = new FormFile($db); $tva_static = new Tva($db); $bankstatic = new Account($db); $accountingjournal = new AccountingJournal($db); @@ -445,7 +447,13 @@ while ($i < min($num, $limit)) { // Ref if (!empty($arrayfields['t.rowid']['checked'])) { - print ''; + print ''; if (!$i) { $totalarray['nbfield']++; } diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index fba3e1004f4..71f0a82e32f 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -151,6 +151,15 @@ $dolibarr_main_db_character_set='utf8'; $dolibarr_main_db_collation='utf8_unicode_ci'; +// dolibarr_main_db_readonly +// Set this to 1 to have the application working in readonly mode. All sql access INSERT/UPDATE/DELETE/CREATE/ALTER/TRUNCATE/DROP will be disabled. +// Default value: 0 +// Examples: +// $dolibarr_main_db_readonly='0'; +// +$dolibarr_main_db_readonly=0; + + // dolibarr_main_instance_unique_id // An secret ID that is unique for each installation. // This value is also visible and never propagated outside of Dolibarr, so it can be used as a salt / key for some encryption. diff --git a/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php index cceb6310dc2..bc8ff9ebcf4 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php @@ -30,8 +30,6 @@ print load_fiche_titre($this->control->tpl['title']); dol_htmloutput_errors((is_numeric($object->error) ? '' : $object->error), $object->errors); -dol_htmloutput_errors((is_numeric($GLOBALS['error']) ? '' : $GLOBALS['error']), $GLOBALS['errors']); - dol_htmloutput_errors($this->control->tpl['error'], $this->control->tpl['errors']); echo $this->control->tpl['ajax_selectcountry']; ?> diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index dea4f9d185d..469869f00e9 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -726,6 +726,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { } if ($object->country_id) { + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state(GETPOST("state_id", 'alpha') ? GETPOST("state_id", 'alpha') : $object->state_id, $object->country_code, 'state_id'); } else { print $countrynotdefined; @@ -1019,6 +1020,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''; } diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index a5f408f4299..165a7bf7bc3 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -100,15 +100,15 @@ class Contact extends CommonObject 'firstname' =>array('type'=>'varchar(50)', 'label'=>'Firstname', 'enabled'=>1, 'visible'=>1, 'position'=>50, 'showoncombobox'=>1, 'searchall'=>1), 'address' =>array('type'=>'varchar(255)', 'label'=>'Address', 'enabled'=>1, 'visible'=>-1, 'position'=>55), 'zip' =>array('type'=>'varchar(25)', 'label'=>'Zip', 'enabled'=>1, 'visible'=>1, 'position'=>60), - 'town' =>array('type'=>'text', 'label'=>'Town', 'enabled'=>1, 'visible'=>1, 'position'=>65), + 'town' =>array('type'=>'text', 'label'=>'Town', 'enabled'=>1, 'visible'=>-1, 'position'=>65), 'fk_departement' =>array('type'=>'integer', 'label'=>'Fk departement', 'enabled'=>1, 'visible'=>3, 'position'=>70), 'fk_pays' =>array('type'=>'integer', 'label'=>'Fk pays', 'enabled'=>1, 'visible'=>3, 'position'=>75), 'birthday' =>array('type'=>'date', 'label'=>'Birthday', 'enabled'=>1, 'visible'=>3, 'position'=>80), 'poste' =>array('type'=>'varchar(80)', 'label'=>'PostOrFunction', 'enabled'=>1, 'visible'=>-1, 'position'=>85), 'phone' =>array('type'=>'varchar(30)', 'label'=>'Phone', 'enabled'=>1, 'visible'=>1, 'position'=>90, 'searchall'=>1), - 'phone_perso' =>array('type'=>'varchar(30)', 'label'=>'PhonePerso', 'enabled'=>1, 'visible'=>1, 'position'=>95, 'searchall'=>1), + 'phone_perso' =>array('type'=>'varchar(30)', 'label'=>'PhonePerso', 'enabled'=>1, 'visible'=>-1, 'position'=>95, 'searchall'=>1), 'phone_mobile' =>array('type'=>'varchar(30)', 'label'=>'PhoneMobile', 'enabled'=>1, 'visible'=>1, 'position'=>100, 'searchall'=>1), - 'fax' =>array('type'=>'varchar(30)', 'label'=>'Fax', 'enabled'=>1, 'visible'=>1, 'position'=>105, 'searchall'=>1), + 'fax' =>array('type'=>'varchar(30)', 'label'=>'Fax', 'enabled'=>1, 'visible'=>-1, 'position'=>105, 'searchall'=>1), 'email' =>array('type'=>'varchar(255)', 'label'=>'Email', 'enabled'=>1, 'visible'=>1, 'position'=>110, 'searchall'=>1), 'socialnetworks' =>array('type'=>'text', 'label'=>'SocialNetworks', 'enabled'=>1, 'visible'=>3, 'position'=>115), 'photo' =>array('type'=>'varchar(255)', 'label'=>'Photo', 'enabled'=>1, 'visible'=>3, 'position'=>170), diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index fe8e20bac9c..e5a9ab3f0d6 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -1097,28 +1097,28 @@ while ($i < min($num, $limit)) { } // Phone if (!empty($arrayfields['p.phone']['checked'])) { - print ''; + print ''; if (!$i) { $totalarray['nbfield']++; } } // Phone perso if (!empty($arrayfields['p.phone_perso']['checked'])) { - print ''; + print ''; if (!$i) { $totalarray['nbfield']++; } } // Phone mobile if (!empty($arrayfields['p.phone_mobile']['checked'])) { - print ''; + print ''; if (!$i) { $totalarray['nbfield']++; } } // Fax if (!empty($arrayfields['p.fax']['checked'])) { - print ''; + print ''; if (!$i) { $totalarray['nbfield']++; } diff --git a/htdocs/contact/note.php b/htdocs/contact/note.php index c301ef02276..1cb76b5336e 100644 --- a/htdocs/contact/note.php +++ b/htdocs/contact/note.php @@ -49,13 +49,20 @@ if ($id > 0) { $permissionnote = $user->rights->societe->creer; // Used by the include of actions_setnotes.inc.php // Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context -$hookmanager->initHooks(array('contactcard')); +// $hookmanager->initHooks(array('contactcard')); -> Name conflict with product/card.php +$hookmanager->initHooks(array('contactnote')); + /* * Actions */ - -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 05c7436c22e..d5187c6a040 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -386,7 +386,7 @@ if (empty($reshook)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Qty")), null, 'errors'); $error++; } - if (GETPOST('prod_entry_mode', 'alpha') == 'free' && empty($idprod) && empty($product_desc)) { + if (GETPOST('prod_entry_mode', 'alpha') == 'free' && (empty($idprod) || $idprod < 0) && empty($product_desc)) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Description")), null, 'errors'); $error++; } @@ -1003,7 +1003,7 @@ if ($action == 'create') { $soc->fetch($socid); } - if (GETPOST('origin') && GETPOST('originid')) { + if (GETPOST('origin') && GETPOST('originid', 'int')) { // Parse element/subelement (ex: project_task) $regs = array(); $element = $subelement = GETPOST('origin'); @@ -1013,7 +1013,7 @@ if ($action == 'create') { } if ($element == 'project') { - $projectid = GETPOST('originid'); + $projectid = GETPOST('originid', 'int'); } else { // For compatibility if ($element == 'order' || $element == 'commande') { @@ -1094,7 +1094,8 @@ if ($action == 'create') { print ''; } else { print ''; } @@ -1121,11 +1122,13 @@ if ($action == 'create') { // Commercial suivi print ''; // Commercial signature print ''; @@ -1686,7 +1689,7 @@ if ($action == 'create') { $colspan++; } - // Ligne dates prevues + // Line dates planed print ''; print ''; @@ -953,7 +953,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) // Use MAIN_OPTIMIZEFORTEXTBROWSER - if ($foruserprofile) { + if ($foruserprofile && !empty($fuser->conf->MAIN_OPTIMIZEFORCOLORBLIND)) { //$default=yn($conf->global->MAIN_OPTIMIZEFORCOLORBLIND); $default = $langs->trans('No'); print ''; diff --git a/htdocs/core/login/functions_ldap.php b/htdocs/core/login/functions_ldap.php index 9de95be506b..0f3927709eb 100644 --- a/htdocs/core/login/functions_ldap.php +++ b/htdocs/core/login/functions_ldap.php @@ -29,7 +29,7 @@ * * @param string $usertotest Login * @param string $passwordtotest Password - * @param int $entitytotest Number of instance (always 1 if module multicompany not enabled) + * @param int $entitytotest Numero of instance (always 1 if module multicompany not enabled) * @return string Login if OK, '' if KO */ function check_user_password_ldap($usertotest, $passwordtotest, $entitytotest) @@ -151,10 +151,13 @@ function check_user_password_ldap($usertotest, $passwordtotest, $entitytotest) if ($result > 0) { if ($result == 2) { // Connection is ok for user/pass into LDAP $login = $usertotest; - if (!empty($conf->global->LDAP_FIELD_LOGIN)) { - $login = $ldap->login; - } dol_syslog("functions_ldap::check_user_password_ldap $login authentication ok"); + // For the case, we search the user id using a search key without the login (but using other fields like id), + // we need to get the real login to use in the ldap answer. + if (!empty($conf->global->LDAP_FIELD_LOGIN) && !empty($ldap->login)) { + $login = $ldap->login; + dol_syslog("functions_ldap::check_user_password_ldap login is now $login (LDAP_FIELD_LOGIN=".$conf->global->LDAP_FIELD_LOGIN.")"); + } require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; @@ -207,7 +210,7 @@ function check_user_password_ldap($usertotest, $passwordtotest, $entitytotest) } $usertmp = new User($db); - $resultFetchUser = $usertmp->fetch('', $login, $sid); + $resultFetchUser = $usertmp->fetch('', $login, $sid, 1, ($entitytotest > 0 ? $entitytotest : -1)); if ($resultFetchUser > 0) { dol_syslog("functions_ldap::check_user_password_ldap Sync user found user id=".$usertmp->id); // On verifie si le login a change et on met a jour les attributs dolibarr @@ -215,7 +218,7 @@ function check_user_password_ldap($usertotest, $passwordtotest, $entitytotest) if ($usertmp->login != $ldap->login && $ldap->login) { $usertmp->login = $ldap->login; $usertmp->update($usertmp); - // TODO Que faire si update echoue car on update avec un login deja existant. + // TODO Que faire si update echoue car on update avec un login deja existant pour un autre compte. } //$resultUpdate = $usertmp->update_ldap2dolibarr($ldap); @@ -231,7 +234,7 @@ function check_user_password_ldap($usertotest, $passwordtotest, $entitytotest) $usertmp->fetch('', $login); $ret = $mc->checkRight($usertmp->id, $entitytotest); if ($ret < 0) { - dol_syslog("functions_ldap::check_user_password_ldap Authentication KO entity '".$entitytotest."' not allowed for user '".$usertmp->id."'", LOG_NOTICE); + dol_syslog("functions_ldap::check_user_password_ldap Authentication KO entity '".$entitytotest."' not allowed for user id '".$usertmp->id."'", LOG_NOTICE); $login = ''; // force authentication failure } unset($usertmp); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 90de417c767..26aa5df16ad 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -334,7 +334,7 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = // Accounting $tmpentry = array( 'enabled'=>(!empty($conf->comptabilite->enabled) || !empty($conf->accounting->enabled) || !empty($conf->asset->enabled) || !empty($conf->intracommreport->enabled)), - 'perms'=>(!empty($user->rights->compta->resultat->lire) || !empty($user->rights->accounting->mouvements->lire) || !empty($user->rights->asset->read) || !empty($user->rights->intracommreport->read)), + 'perms'=>(!empty($user->rights->compta->resultat->lire) || !empty($user->rights->accounting->comptarapport->lire) || !empty($user->rights->accounting->mouvements->lire) || !empty($user->rights->asset->read) || !empty($user->rights->intracommreport->read)), 'module'=>'comptabilite|accounting|asset|intracommreport' ); $menu_arr[] = array( @@ -690,7 +690,8 @@ function print_end_menu_array() */ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabMenu, &$menu, $noout = 0, $forcemainmenu = '', $forceleftmenu = '', $moredata = null, $type_user = 0) { - global $user, $conf, $langs, $dolibarr_main_db_name, $mysoc; + + global $user, $conf, $langs, $dolibarr_main_db_name, $mysoc, $hookmanager; //var_dump($tabMenu); @@ -1205,7 +1206,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM // Accounting (Double entries) if (!empty($conf->accounting->enabled)) { - $permtoshowmenu = (!empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire); + //$permtoshowmenu = (!empty($conf->accounting->enabled) || $user->rights->accounting->bind->write || $user->rights->compta->resultat->lire); //$newmenu->add("/accountancy/index.php?leftmenu=accountancy", $langs->trans("MenuAccountancy"), 0, $permtoshowmenu, '', $mainmenu, 'accountancy'); // Configuration @@ -1342,10 +1343,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM } // Accounting - $newmenu->add("/accountancy/index.php?leftmenu=accountancy_accountancy", $langs->trans("MenuAccountancy"), 0, $user->rights->accounting->mouvements->lire, '', $mainmenu, 'accountancy', 1, '', '', '', img_picto('', 'accountancy', 'class="paddingright pictofixedwidth"')); - - // Balance - $newmenu->add("/accountancy/bookkeeping/balance.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans("AccountBalance"), 1, $user->rights->accounting->mouvements->lire); + $newmenu->add("/accountancy/index.php?leftmenu=accountancy_accountancy", $langs->trans("MenuAccountancy"), 0, $user->rights->accounting->mouvements->lire || $user->rights->accounting->comptarapport->lire, '', $mainmenu, 'accountancy', 1, '', '', '', img_picto('', 'accountancy', 'class="paddingright pictofixedwidth"')); // General Ledger $newmenu->add("/accountancy/bookkeeping/listbyaccount.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans("Bookkeeping"), 1, $user->rights->accounting->mouvements->lire); @@ -1353,6 +1351,9 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM // Journals $newmenu->add("/accountancy/bookkeeping/list.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans("Journals"), 1, $user->rights->accounting->mouvements->lire); + // Account Balance + $newmenu->add("/accountancy/bookkeeping/balance.php?mainmenu=accountancy&leftmenu=accountancy_accountancy", $langs->trans("AccountBalance"), 1, $user->rights->accounting->mouvements->lire); + // Files if (empty($conf->global->ACCOUNTANCY_HIDE_EXPORT_FILES_MENU)) { $newmenu->add("/compta/accounting-files.php?mainmenu=accountancy&leftmenu=accountancy_files", $langs->trans("AccountantFiles"), 1, $user->rights->accounting->mouvements->lire); @@ -1732,11 +1733,11 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $titleboth = $langs->trans("LeadsOrProjects"); $titlenew = $langs->trans("NewLeadOrProject"); // Leads and opportunities by default - if ($conf->global->PROJECT_USE_OPPORTUNITIES == 0) { + if (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 0) { $titleboth = $langs->trans("Projects"); $titlenew = $langs->trans("NewProject"); } - if ($conf->global->PROJECT_USE_OPPORTUNITIES == 2) { // 2 = leads only + if (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 2) { // 2 = leads only $titleboth = $langs->trans("Leads"); $titlenew = $langs->trans("NewLead"); } @@ -1745,13 +1746,13 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu->add("/projet/index.php?leftmenu=projects".($search_project_user ? '&search_project_user='.$search_project_user : ''), $titleboth, 0, $user->rights->projet->lire, '', $mainmenu, 'projects', 0, '', '', '', img_picto('', 'project', 'class="pictofixedwidth"')); $newmenu->add("/projet/card.php?leftmenu=projects&action=create".($search_project_user ? '&search_project_user='.$search_project_user : ''), $titlenew, 1, $user->rights->projet->creer); - if ($conf->global->PROJECT_USE_OPPORTUNITIES == 0) { + if (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 0) { $newmenu->add("/projet/list.php?leftmenu=projets".($search_project_user ? '&search_project_user='.$search_project_user : '').'&search_status=99', $langs->trans("List"), 1, $showmode, '', 'project', 'list'); - } elseif ($conf->global->PROJECT_USE_OPPORTUNITIES == 1) { + } elseif (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 1) { $newmenu->add("/projet/list.php?leftmenu=projets".($search_project_user ? '&search_project_user='.$search_project_user : ''), $langs->trans("List"), 1, $showmode, '', 'project', 'list'); $newmenu->add('/projet/list.php?mainmenu=project&leftmenu=list&search_usage_opportunity=1&search_status=99&search_opp_status=openedopp&contextpage=lead', $langs->trans("ListOpenLeads"), 2, $showmode); $newmenu->add('/projet/list.php?mainmenu=project&leftmenu=list&search_opp_status=notopenedopp&search_status=99&contextpage=project', $langs->trans("ListOpenProjects"), 2, $showmode); - } elseif ($conf->global->PROJECT_USE_OPPORTUNITIES == 2) { // 2 = leads only + } elseif (isset($conf->global->PROJECT_USE_OPPORTUNITIES) && $conf->global->PROJECT_USE_OPPORTUNITIES == 2) { // 2 = leads only $newmenu->add('/projet/list.php?mainmenu=project&leftmenu=list&search_usage_opportunity=1&search_status=99', $langs->trans("List"), 2, $showmode); } @@ -1797,11 +1798,11 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu->add("/holiday/card.php?mainmenu=hrm&leftmenu=holiday&action=create", $langs->trans("New"), 1, $user->rights->holiday->write); $newmenu->add("/holiday/list.php?mainmenu=hrm&leftmenu=hrm", $langs->trans("List"), 1, $user->rights->holiday->read); if ($usemenuhider || empty($leftmenu) || $leftmenu == "hrm") { - $newmenu->add("/holiday/list.php?search_statut=1&mainmenu=hrm&leftmenu=hrm", $langs->trans("DraftCP"), 2, $user->rights->holiday->read); - $newmenu->add("/holiday/list.php?search_statut=2&mainmenu=hrm&leftmenu=hrm", $langs->trans("ToReviewCP"), 2, $user->rights->holiday->read); - $newmenu->add("/holiday/list.php?search_statut=3&mainmenu=hrm&leftmenu=hrm", $langs->trans("ApprovedCP"), 2, $user->rights->holiday->read); - $newmenu->add("/holiday/list.php?search_statut=4&mainmenu=hrm&leftmenu=hrm", $langs->trans("CancelCP"), 2, $user->rights->holiday->read); - $newmenu->add("/holiday/list.php?search_statut=5&mainmenu=hrm&leftmenu=hrm", $langs->trans("RefuseCP"), 2, $user->rights->holiday->read); + $newmenu->add("/holiday/list.php?search_status=1&mainmenu=hrm&leftmenu=hrm", $langs->trans("DraftCP"), 2, $user->rights->holiday->read); + $newmenu->add("/holiday/list.php?search_status=2&mainmenu=hrm&leftmenu=hrm", $langs->trans("ToReviewCP"), 2, $user->rights->holiday->read); + $newmenu->add("/holiday/list.php?search_status=3&mainmenu=hrm&leftmenu=hrm", $langs->trans("ApprovedCP"), 2, $user->rights->holiday->read); + $newmenu->add("/holiday/list.php?search_status=4&mainmenu=hrm&leftmenu=hrm", $langs->trans("CancelCP"), 2, $user->rights->holiday->read); + $newmenu->add("/holiday/list.php?search_status=5&mainmenu=hrm&leftmenu=hrm", $langs->trans("RefuseCP"), 2, $user->rights->holiday->read); } $newmenu->add("/holiday/define_holiday.php?mainmenu=hrm&action=request", $langs->trans("MenuConfCP"), 1, $user->rights->holiday->read); $newmenu->add("/holiday/month_report.php?mainmenu=hrm&leftmenu=holiday", $langs->trans("MenuReportMonth"), 1, $user->rights->holiday->readall); @@ -1958,6 +1959,28 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM return 0; } + // Allow the $menu_array of the menu to be manipulated by modules + $parameters = array( + 'mainmenu' => $mainmenu, + ); + $hook_items = $menu_array; + $reshook = $hookmanager->executeHooks('menuLeftMenuItems', $parameters, $hook_items); // Note that $action and $object may have been modified by some hooks + + if (is_numeric($reshook)) { + if ($reshook == 0 && !empty($hookmanager->results)) { + $menu_array[] = $hookmanager->results; // add + } elseif ($reshook == 1) { + $menu_array = $hookmanager->results; // replace + } + + // @todo Sort menu items by 'position' value + // $position = array(); + // foreach ($menu_array as $key => $row) { + // $position[$key] = $row['position']; + // } + // array_multisort($position, SORT_ASC, $menu_array); + } + // TODO Use the position property in menu_array to reorder the $menu_array //var_dump($menu_array); /*$new_menu_array = array(); diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 3b7cc0d1184..ab0e3c8508a 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -1263,7 +1263,12 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it if (is_array($this->boxes)) { foreach ($this->boxes as $key => $value) { //$titre = $this->boxes[$key][0]; - $file = $this->boxes[$key]['file']; + if (empty($this->boxes[$key]['file'])) { + $file = isset($this->boxes[$key][1]) ? $this->boxes[$key][1] : ''; // For backward compatibility + } else { + $file = $this->boxes[$key]['file']; + } + //$note = $this->boxes[$key][2]; // TODO If the box is also included by another module and the other module is still on, we should not remove it. @@ -1276,10 +1281,6 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it } } - if (empty($file)) { - $file = isset($this->boxes[$key][1]) ? $this->boxes[$key][1] : ''; // For backward compatibility - } - if ($this->db->type == 'sqlite3') { // sqlite doesn't support "USING" syntax. // TODO: remove this dependency. diff --git a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php index fe36f7604c2..443e3f436f8 100644 --- a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php @@ -20,7 +20,7 @@ /** * \file htdocs/core/modules/barcode/doc/phpbarcode.modules.php * \ingroup barcode - * \brief File with class to generate barcode images using php barcode generator + * \brief File with class to generate barcode images using php internal lib barcode generator */ require_once DOL_DOCUMENT_ROOT.'/core/modules/barcode/modules_barcode.class.php'; @@ -126,7 +126,7 @@ class modPhpbarcode extends ModeleBarCode * * @param string $code Value to encode * @param string $encoding Mode of encoding - * @param string $readable Code can be read + * @param string $readable Code can be read (What is this ? is this used ?) * @param integer $scale Scale * @param integer $nooutputiferror No output if error * @return int <0 if KO, >0 if OK @@ -163,7 +163,7 @@ class modPhpbarcode extends ModeleBarCode if (!is_array($result)) { $this->error = $result; if (empty($nooutputiferror)) { - print $this->error; + print dol_escape_htmltag($this->error); } return -1; } diff --git a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php index df9ec39546d..ed32667a67e 100644 --- a/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/tcpdfbarcode.modules.php @@ -100,7 +100,7 @@ class modTcpdfbarcode extends ModeleBarCode * * @param string $code Value to encode * @param string $encoding Mode of encoding - * @param string $readable Code can be read + * @param string $readable Code can be read (What is this ? is this used ?) * @param integer $scale Scale (not used with this engine) * @param integer $nooutputiferror No output if error (not used with this engine) * @return int <0 if KO, >0 if OK diff --git a/htdocs/core/modules/barcode/modules_barcode.class.php b/htdocs/core/modules/barcode/modules_barcode.class.php index 99fc8ed366d..01a00405452 100644 --- a/htdocs/core/modules/barcode/modules_barcode.class.php +++ b/htdocs/core/modules/barcode/modules_barcode.class.php @@ -138,7 +138,7 @@ abstract class ModeleNumRefBarCode { global $conf; - $langs->load("admin"); + $langs->loadLangs(array("admin", "companies")); $s = ''; $s .= $langs->trans("Name").': '.$this->name.'
'; diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index bd6caafd15a..be0b9f3c6fe 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -1356,7 +1356,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell($w, 3, $outputlangs->transnoentities("OrderDate")." : ".dol_print_date($object->date, "day", false, $outputlangs, true), '', 'R'); - if (!empty($conf->global->DOC_SHOW_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1408,20 +1408,24 @@ class pdf_einstein extends ModelePDFCommandes $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1462,11 +1466,13 @@ class pdf_einstein extends ModelePDFCommandes } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php index 83ccd391bd9..7e04445ea15 100644 --- a/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_eratosthene.modules.php @@ -726,7 +726,7 @@ class pdf_eratosthene extends ModelePDFCommandes if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1538,7 +1538,7 @@ class pdf_eratosthene extends ModelePDFCommandes } $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date, "day", false, $outputlangs, true), '', 'R'); - if (!empty($conf->global->DOC_SHOW_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1594,20 +1594,24 @@ class pdf_eratosthene extends ModelePDFCommandes // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1647,11 +1651,13 @@ class pdf_eratosthene extends ModelePDFCommandes } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index c440cbf1cba..638c22221bd 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -657,7 +657,7 @@ class pdf_strato extends ModelePDFContract $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->date_contrat, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -685,19 +685,23 @@ class pdf_strato extends ModelePDFContract $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetFont('', '', $default_font_size - 1); @@ -738,11 +742,13 @@ class pdf_strato extends ModelePDFContract } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); - $pdf->SetTextColor(0, 0, 0); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + $pdf->SetTextColor(0, 0, 0); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php index 39ea743c5de..2893234e719 100644 --- a/htdocs/core/modules/delivery/doc/pdf_storm.modules.php +++ b/htdocs/core/modules/delivery/doc/pdf_storm.modules.php @@ -539,7 +539,7 @@ class pdf_storm extends ModelePDFDeliveryOrder if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } diff --git a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php index f6f4b0b1a2a..28d797acffc 100644 --- a/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_espadon.modules.php @@ -665,7 +665,7 @@ class pdf_espadon extends ModelePdfExpedition if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1021,7 +1021,7 @@ class pdf_espadon extends ModelePdfExpedition $pdf->MultiCell($w, 4, $outputlangs->transnoentities("DateDeliveryPlanned")." : ".dol_print_date($object->date_delivery, "day", false, $outputlangs, true), '', 'R'); } - if (!empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1086,21 +1086,25 @@ class pdf_espadon extends ModelePdfExpedition $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFillColor(255, 255, 255); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFillColor(255, 255, 255); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1139,11 +1143,13 @@ class pdf_espadon extends ModelePdfExpedition } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index 79ceb166eed..aa6603fa35a 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -127,7 +127,7 @@ class pdf_rouget extends ModelePdfExpedition $this->db = $db; $this->name = "rouget"; - $this->description = $langs->trans("DocumentModelStandardPDF"); + $this->description = $langs->trans("DocumentModelStandardPDF").' ('.$langs->trans("OldImplementation").')'; $this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template $this->type = 'pdf'; @@ -971,7 +971,7 @@ class pdf_rouget extends ModelePdfExpedition $pdf->MultiCell($w, 4, $outputlangs->transnoentities("DateDeliveryPlanned")." : ".dol_print_date($object->date_delivery, "day", false, $outputlangs, true), '', 'R'); } - if (!empty($object->thirdparty->code_client)) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && !empty($object->thirdparty->code_client)) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1036,21 +1036,25 @@ class pdf_rouget extends ModelePdfExpedition $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFillColor(255, 255, 255); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Sender"), 0, 'L'); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFillColor(255, 255, 255); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1089,11 +1093,13 @@ class pdf_rouget extends ModelePdfExpedition } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("Recipient"), 0, 'L'); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index a01fab1dacf..44b658cc42e 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -1803,7 +1803,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date_lim_reglement, "day", false, $outputlangs, true), '', 'R'); } - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 3; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1850,20 +1850,24 @@ class pdf_crabe extends ModelePDFFactures // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1904,11 +1908,13 @@ class pdf_crabe extends ModelePDFFactures } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php index 401309c22e5..d6b4516695a 100644 --- a/htdocs/core/modules/facture/doc/pdf_sponge.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_sponge.modules.php @@ -766,7 +766,7 @@ class pdf_sponge extends ModelePDFFactures if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -2041,7 +2041,7 @@ class pdf_sponge extends ModelePDFFactures $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->date_lim_reglement, "day", false, $outputlangs, true), '', 'R'); } - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 3; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -2088,20 +2088,24 @@ class pdf_sponge extends ModelePDFFactures // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -2141,11 +2145,13 @@ class pdf_sponge extends ModelePDFFactures } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox - 2, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index 08d57587625..37d64c43e17 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -613,7 +613,7 @@ class pdf_soleil extends ModelePDFFicheinter $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : ".dol_print_date($object->datec, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -641,19 +641,23 @@ class pdf_soleil extends ModelePDFFicheinter $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetTextColor(0, 0, 60); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetTextColor(0, 0, 60); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 3, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetFont('', '', $default_font_size - 1); @@ -692,11 +696,13 @@ class pdf_soleil extends ModelePDFFicheinter } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); - $pdf->SetTextColor(0, 0, 0); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + $pdf->SetTextColor(0, 0, 0); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/mailings/contacts1.modules.php b/htdocs/core/modules/mailings/contacts1.modules.php index 4bd03593e09..0ca62392c82 100644 --- a/htdocs/core/modules/mailings/contacts1.modules.php +++ b/htdocs/core/modules/mailings/contacts1.modules.php @@ -140,16 +140,20 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY sp.poste"; $resql = $this->db->query($sql); - $s .= $langs->trans("PostOrFunction").': '; - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); $i = 0; - while ($i < $num) { - $obj = $this->db->fetch_object($resql); - $s .= ''; - $i++; + if ($num > 0) { + while ($i < $num) { + $obj = $this->db->fetch_object($resql); + $s .= ''; + $i++; + } + } else { + $s .= ''; } } else { dol_print_error($this->db); @@ -159,7 +163,7 @@ class mailing_contacts1 extends MailingTargets $s .= ' '; // Filter on contact category - $s .= $langs->trans("ContactCategoriesShort").': '; + $s .= $langs->trans("ContactCategoriesShort").' '; $sql = "SELECT c.label, count(distinct(sp.email)) AS nb"; $sql .= " FROM "; $sql .= " ".MAIN_DB_PREFIX."socpeople as sp,"; @@ -175,7 +179,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY c.label"; $resql = $this->db->query($sql); - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); @@ -197,8 +201,8 @@ class mailing_contacts1 extends MailingTargets $s .= '
'; // Add prospect of a particular level - $s .= $langs->trans("NatureOfThirdParty").': '; - $s .= ''; $sql = "SELECT code, label"; $sql .= " FROM ".MAIN_DB_PREFIX."c_prospectlevel"; $sql .= " WHERE active > 0"; @@ -234,7 +238,7 @@ class mailing_contacts1 extends MailingTargets $s .= ' '; // Filter on thirdparty category - $s .= $langs->trans("CustomersProspectsCategoriesShort").': '; + $s .= $langs->trans("CustomersProspectsCategoriesShort").' '; $sql = "SELECT c.label, count(distinct(sp.email)) AS nb"; $sql .= " FROM "; $sql .= " ".MAIN_DB_PREFIX."socpeople as sp,"; @@ -250,7 +254,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY c.label"; $resql = $this->db->query($sql); - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); @@ -272,7 +276,7 @@ class mailing_contacts1 extends MailingTargets $s .= ' '; // Filter on thirdparty category - $s .= $langs->trans("SuppliersCategoriesShort").': '; + $s .= $langs->trans("SuppliersCategoriesShort").' '; $sql = "SELECT c.label, count(distinct(sp.email)) AS nb"; $sql .= " FROM "; $sql .= " ".MAIN_DB_PREFIX."socpeople as sp,"; @@ -288,7 +292,7 @@ class mailing_contacts1 extends MailingTargets $sql .= " ORDER BY c.label"; $resql = $this->db->query($sql); - $s .= ''; $s .= ''; if ($resql) { $num = $this->db->num_rows($resql); diff --git a/htdocs/core/modules/mailings/pomme.modules.php b/htdocs/core/modules/mailings/pomme.modules.php index a2a54c02c55..6880452a416 100644 --- a/htdocs/core/modules/mailings/pomme.modules.php +++ b/htdocs/core/modules/mailings/pomme.modules.php @@ -20,13 +20,13 @@ /** * \file htdocs/core/modules/mailings/pomme.modules.php * \ingroup mailing - * \brief File of class to offer a selector of emailing targets with Rule 'Pomme'. + * \brief File of class to offer a selector of emailing targets of users. */ include_once DOL_DOCUMENT_ROOT.'/core/modules/mailings/modules_mailings.php'; /** - * Class to offer a selector of emailing targets with Rule 'Peche'. + * Class to offer a selector of emailing targets with Rule 'Pomme'. */ class mailing_pomme extends MailingTargets { @@ -119,16 +119,16 @@ class mailing_pomme extends MailingTargets $langs->load("users"); $s = ''; - $s .= $langs->trans("Status").': '; - $s .= ''; $s .= ''; $s .= ''; $s .= ''; $s .= ''; $s .= ' '; - $s .= $langs->trans("Employee").': '; - $s .= ''; $s .= ''; $s .= ''; $s .= ''; diff --git a/htdocs/core/modules/mailings/thirdparties.modules.php b/htdocs/core/modules/mailings/thirdparties.modules.php index f764c3f5f71..ae26dfc19fd 100644 --- a/htdocs/core/modules/mailings/thirdparties.modules.php +++ b/htdocs/core/modules/mailings/thirdparties.modules.php @@ -226,8 +226,8 @@ class mailing_thirdparties extends MailingTargets $langs->load("companies"); - $s = $langs->trans("Categories").': '; - $s .= ''; // Show categories $sql = "SELECT rowid, label, type, visible"; @@ -276,7 +276,7 @@ class mailing_thirdparties extends MailingTargets $s .= ' '; $s .= $langs->trans('ProspectCustomer'); - $s .= ': '; $s .= ''; if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) { $s .= ''; @@ -292,7 +292,7 @@ class mailing_thirdparties extends MailingTargets $s .= ' '; $s .= $langs->trans("Status"); - $s .= ': '; $s .= ''; $s .= ''; $s .= ''; diff --git a/htdocs/core/modules/modAccounting.class.php b/htdocs/core/modules/modAccounting.class.php index d6127f65b83..e0bf3a9bbc5 100644 --- a/htdocs/core/modules/modAccounting.class.php +++ b/htdocs/core/modules/modAccounting.class.php @@ -60,7 +60,7 @@ class modAccounting extends DolibarrModules $this->dirs = array('/accounting/temp'); // Config pages - $this->config_page_url = array('accounting.php'); + $this->config_page_url = array('accounting.php?mainmenu=accountancy&leftmenu=accountancy_admin'); // Dependencies $this->depends = array("modFacture", "modBanque", "modTax"); // List of modules id that must be enabled if this module is enabled diff --git a/htdocs/core/modules/modBarcode.class.php b/htdocs/core/modules/modBarcode.class.php index fab12a0ae59..877dca880f7 100644 --- a/htdocs/core/modules/modBarcode.class.php +++ b/htdocs/core/modules/modBarcode.class.php @@ -93,6 +93,7 @@ class modBarcode extends DolibarrModules // Main menu entries $r = 0; + $this->menu[$r] = array( 'fk_menu'=>'fk_mainmenu=tools', // Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode 'mainmenu'=>'tools', @@ -106,7 +107,7 @@ class modBarcode extends DolibarrModules 'enabled'=>'$conf->barcode->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. 'perms'=>'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules 'target'=>'', - 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both + 'user'=>0, // 0=Menu for internal users, 1=external users, 2=both ); $r++; diff --git a/htdocs/core/modules/modCashDesk.class.php b/htdocs/core/modules/modCashDesk.class.php deleted file mode 100644 index a128b92ee29..00000000000 --- a/htdocs/core/modules/modCashDesk.class.php +++ /dev/null @@ -1,145 +0,0 @@ - - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \defgroup pos Module points of sale - * \brief Module to manage points of sale - * \file htdocs/core/modules/modCashDesk.class.php - * \ingroup pos - * \brief Description and activation file for the module Point Of Sales - */ -include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; - - -/** - * Class to describe and enable module Point Of Sales - */ -class modCashDesk extends DolibarrModules -{ - /** - * Constructor. Define names, constants, directories, boxes, permissions - * - * @param DoliDB $db Database handler - */ - public function __construct($db) - { - $this->db = $db; - - // Id for module (must be unique). - // Use here a free id (See in Home -> System information -> Dolibarr for list of used module id). - $this->numero = 50100; - // Key text used to identify module (for permission, menus, etc...) - $this->rights_class = 'cashdesk'; - - $this->family = "portal"; - $this->module_position = '59'; - // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) - $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "CashDesk module"; - - $this->version = 'deprecated'; - - $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); - $this->picto = 'cash-register'; - - // Data directories to create when module is enabled - $this->dirs = array(); - - // Config pages. Put here list of php page names stored in admmin directory used to setup module. - $this->config_page_url = array("cashdesk.php@cashdesk"); - - // Dependencies - $this->hidden = false; // A condition to hide module - $this->depends = array('always'=>"modBanque", 'always'=>"modFacture", 'always'=>"modProduct", 'FR'=>'modBlockedLog'); // List of modules id that must be enabled if this module is enabled - $this->requiredby = array(); // List of modules id to disable if this one is disabled - $this->phpmin = array(5, 6); // Minimum version of PHP required by module - $this->need_dolibarr_version = array(2, 4); // Minimum version of Dolibarr required by module - $this->langfiles = array("cashdesk"); - $this->warnings_activation = array('FR'=>'WarningNoteModulePOSForFrenchLaw'); // Warning to show when we activate module. array('always'='text') or array('FR'='text') - //$this->warnings_activation_ext = array('FR'=>'WarningInstallationMayBecomeNotCompliantWithLaw'); // Warning to show when we activate an external module. array('always'='text') or array('FR'='text') - - // Constants - $this->const = array(); - - // Boxes - $this->boxes = array(); - - // Permissions - $this->rights = array(); - $r = 0; - - $r++; - $this->rights[$r][0] = 50101; - $this->rights[$r][1] = 'Use Point of sale'; - $this->rights[$r][2] = 'a'; - $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'run'; - - // Main menu entries - $this->menus = array(); // List of menus to add - $r = 0; - - // This is to declare the Top Menu entry: - $this->menu[$r] = array('fk_menu'=>0, // Put 0 if this is a top menu - 'type'=>'top', // This is a Top menu entry - 'titre'=>'PointOfSaleShort', - 'mainmenu'=>'cashdesk', - 'leftmenu'=>'', - 'prefix' => img_picto('', $this->picto, 'class="paddingright pictofixedwidth"'), - 'url'=>'/cashdesk/index.php?user=__USER_LOGIN__', - 'langs'=>'cashdesk', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>900, - 'enabled'=>'$conf->cashdesk->enabled', - 'perms'=>'$user->rights->cashdesk->run', // Use 'perms'=>'1' if you want your menu with no permission rules - 'target'=>'pointofsale', - 'user'=>0); // 0=Menu for internal users, 1=external users, 2=both - - $r++; - - // This is to declare a Left Menu entry: - // $this->menu[$r]=array( 'fk_menu'=>'r=0', // Use r=value where r is index key used for the top menu entry - // 'type'=>'left', // This is a Left menu entry - // 'titre'=>'Title left menu', - // 'mainmenu'=>'mymodule', - // 'url'=>'/comm/action/index2.php', - // 'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - // 'position'=>100, - // 'perms'=>'$user->rights->mymodule->level1->level2', // Use 'perms'=>'1' if you want your menu with no permission rules - // 'target'=>'', - // 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - // $r++; - } - - - /** - * Function called when module is enabled. - * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. - * It also creates data directories - * - * @param string $options Options when enabling module ('', 'noboxes') - * @return int 1 if OK, 0 if KO - */ - public function init($options = '') - { - $sql = array(); - - // Remove permissions and default values - $this->remove($options); - - return $this->_init($sql, $options); - } -} diff --git a/htdocs/core/modules/modClickToDial.class.php b/htdocs/core/modules/modClickToDial.class.php index f28659bbd5d..18f1e6befeb 100644 --- a/htdocs/core/modules/modClickToDial.class.php +++ b/htdocs/core/modules/modClickToDial.class.php @@ -18,7 +18,7 @@ /** * \defgroup clicktodial Module clicktodial - * \brief Module pour gerer l'appel automatique + * \brief Module to manage a ClickToDial system * \file htdocs/core/modules/modClickToDial.class.php * \ingroup clicktodial * \brief Description and activation file for the module Click to Dial @@ -46,7 +46,8 @@ class modClickToDial extends DolibarrModules $this->family = "interface"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "Gestion du Click To Dial"; + $this->description = "Integration of a ClickToDial system (Asterisk, ...)"; + $this->descriptionlong = "Support a Click To Dial feature with a SIP system. When clicking on a phone number, your phone system automatically call the callee."; $this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 475c8fc5996..bb044900acd 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -273,7 +273,7 @@ class modFacture extends DolibarrModules $this->export_TypeFields_array[$r] = array( 's.rowid'=>'Numeric', 's.nom'=>'Text', 'ps.nom'=>'Text', 's.code_client'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text', 'cd.nom'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.code_compta'=>'Text', 's.code_compta_fournisseur'=>'Text', 's.tva_intra'=>'Text', - 'f.rowid'=>'Numeric', 'f.ref'=>"Text", 'f.ref_client'=>'Text', 'f.type'=>"Numeric", 'f.datec'=>"Date", 'f.datef'=>"Date", 'f.date_lim_reglement'=>"Date", + 'f.rowid'=>'Numeric', 'f.ref'=>"Text", 'f.ref_client'=>'Text', 'f.type'=>"Numeric", 'f.datec'=>"Date", 'f.datef'=>"Date", 'f.date_lim_reglement'=>"Date", 'f.fk_mode_reglement'=>'Numeric', 'f.total_ht'=>"Numeric", 'f.total_ttc'=>"Numeric", 'f.total_tva'=>"Numeric", 'f.localtax1'=>'Numeric', 'f.localtax2'=>'Numeric', 'f.paye'=>"Boolean", 'f.fk_statut'=>'Numeric', 'f.close_code'=>'Text', 'f.close_note'=>'Text', 'none.rest'=>"NumericCompute", 'f.note_private'=>"Text", 'f.note_public'=>"Text", 'f.fk_user_author'=>'Numeric', 'uc.login'=>'Text', 'f.fk_user_valid'=>'Numeric', 'uv.login'=>'Text', diff --git a/htdocs/core/modules/modHoliday.class.php b/htdocs/core/modules/modHoliday.class.php index 2d34cee5626..be0b39ecc7e 100644 --- a/htdocs/core/modules/modHoliday.class.php +++ b/htdocs/core/modules/modHoliday.class.php @@ -135,6 +135,28 @@ class modHoliday extends DolibarrModules //$r++; + // Cronjobs + $arraydate = dol_getdate(dol_now()); + $datestart = dol_mktime(4, 0, 0, $arraydate['mon'], $arraydate['mday'], $arraydate['year']); + $this->cronjobs = array( + 0 => array( + 'label' => 'HolidayBalanceMonthlyUpdate', + 'jobtype' => 'method', + 'class' => 'holiday/class/holiday.class.php', + 'objectname' => 'Holiday', + 'method' => 'updateBalance', + 'parameters' => '', + 'comment' => 'Update holiday balance every month', + 'frequency' => 1, + 'unitfrequency' => 3600 * 24, + 'priority' => 50, + 'status' => 1, + 'test' => '$conf->holiday->enabled', + 'datestart' => $datestart + ) + ); + + // Permissions $this->rights = array(); // Permission array used by this module $r = 0; diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index 37cda4b7b30..3caf5db88c6 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -322,7 +322,7 @@ class modProduct extends DolibarrModules $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = "ProductsMultiPrice"; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_permission[$r] = array(array("produit", "export")); - $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", + $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", 'p.label'=>"Label", 'pr.price_base_type'=>"PriceBase", 'pr.price_level'=>"PriceLevel", 'pr.price'=>"PriceLevelUnitPriceHT", 'pr.price_ttc'=>"PriceLevelUnitPriceTTC", 'pr.price_min'=>"MinPriceLevelUnitPriceHT", 'pr.price_min_ttc'=>"MinPriceLevelUnitPriceTTC", @@ -337,7 +337,7 @@ class modProduct extends DolibarrModules // 'p.price_base_type'=>"Text",'p.price'=>"Numeric",'p.price_ttc'=>"Numeric",'p.tva_tx'=>'Numeric','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean", // 'p.datec'=>'Date','p.tms'=>'Date' //); - $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", + $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", 'p.label'=>"Label", 'pr.price_base_type'=>"product", 'pr.price_level'=>"product", 'pr.price'=>"product", 'pr.price_ttc'=>"product", 'pr.price_min'=>"product", 'pr.price_min_ttc'=>"product", @@ -348,6 +348,8 @@ class modProduct extends DolibarrModules $this->export_sql_end[$r] = ' FROM '.MAIN_DB_PREFIX.'product as p'; $this->export_sql_end[$r] .= ' LEFT JOIN '.MAIN_DB_PREFIX.'product_price as pr ON p.rowid = pr.fk_product AND pr.entity = '.$conf->entity; // export prices only for the current entity $this->export_sql_end[$r] .= ' WHERE p.entity IN ('.getEntity('product').')'; // For product and service profile + $this->export_sql_end[$r] .= ' AND pr.date_price = (SELECT MAX(pr2.date_price) FROM '.MAIN_DB_PREFIX.'product_price as pr2 WHERE pr2.fk_product = pr.fk_product AND pr2.entity IN ('.getEntity('product').'))'; // export only latest prices not full history + $this->export_sql_end[$r] .= ' ORDER BY p.ref, pr.price_level'; } if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { @@ -356,7 +358,7 @@ class modProduct extends DolibarrModules $this->export_code[$r] = $this->rights_class.'_'.$r; $this->export_label[$r] = "ProductsPricePerCustomer"; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_permission[$r] = array(array("produit", "export")); - $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", + $this->export_fields_array[$r] = array('p.rowid'=>"Id", 'p.ref'=>"Ref", 'p.label'=>"Label", 's.nom'=>'ThirdParty', 'pr.price_base_type'=>"PriceBase", 'pr.price'=>"PriceUnitPriceHT", 'pr.price_ttc'=>"PriceUnitPriceTTC", @@ -367,7 +369,7 @@ class modProduct extends DolibarrModules if (is_object($mysoc) && $usenpr) { $this->export_fields_array[$r]['pr.recuperableonly'] = 'NPR'; } - $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", + $this->export_entities_array[$r] = array('p.rowid'=>"product", 'p.ref'=>"product", 'p.label'=>"Label", 's.nom'=>'company', 'pr.price_base_type'=>"product", 'pr.price'=>"product", 'pr.price_ttc'=>"product", diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 79529898bb0..4b508d79d7c 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -84,14 +84,14 @@ class modProductBatch extends DolibarrModules $this->const[$r][0] = "PRODUCTBATCH_LOT_ADDON"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "mod_lot_free"; - $this->const[$r][3] = 'Module to control product codes'; + $this->const[$r][3] = 'Module to control lot number'; $this->const[$r][4] = 0; $r++; $this->const[$r][0] = "PRODUCTBATCH_SN_ADDON"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "mod_sn_free"; - $this->const[$r][3] = 'Module to control product codes'; + $this->const[$r][3] = 'Module to control serial number'; $this->const[$r][4] = 0; $r++; diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index c9379fb25d6..3494cb684dc 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2021 Ferran Marcet * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -148,19 +149,19 @@ class modStock extends DolibarrModules $this->rights[4][4] = 'mouvement'; $this->rights[4][5] = 'creer'; + $this->rights[5][0] = 1011; + $this->rights[5][1] = 'inventoryReadPermission'; // Permission label + $this->rights[5][3] = 0; // Permission by default for new user (0/1) + $this->rights[5][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + $this->rights[5][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + + $this->rights[6][0] = 1012; + $this->rights[6][1] = 'inventoryCreatePermission'; // Permission label + $this->rights[6][3] = 0; // Permission by default for new user (0/1) + $this->rights[6][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + $this->rights[6][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) + if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { - $this->rights[5][0] = 1011; - $this->rights[5][1] = 'inventoryReadPermission'; // Permission label - $this->rights[5][3] = 0; // Permission by default for new user (0/1) - $this->rights[5][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - $this->rights[5][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - - $this->rights[6][0] = 1012; - $this->rights[6][1] = 'inventoryCreatePermission'; // Permission label - $this->rights[6][3] = 0; // Permission by default for new user (0/1) - $this->rights[6][4] = 'inventory_advance'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - $this->rights[6][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2) - $this->rights[8][0] = 1014; $this->rights[8][1] = 'inventoryValidatePermission'; // Permission label $this->rights[8][3] = 0; // Permission by default for new user (0/1) diff --git a/htdocs/core/modules/modTicket.class.php b/htdocs/core/modules/modTicket.class.php index 8b1a1dc8525..78bcb9901af 100644 --- a/htdocs/core/modules/modTicket.class.php +++ b/htdocs/core/modules/modTicket.class.php @@ -122,24 +122,34 @@ class modTicket extends DolibarrModules } $this->dictionaries = array( 'langs' => 'ticket', - 'tabname' => array(MAIN_DB_PREFIX."c_ticket_type", MAIN_DB_PREFIX."c_ticket_severity", MAIN_DB_PREFIX."c_ticket_category", MAIN_DB_PREFIX."c_ticket_resolution"), - 'tablib' => array("TicketDictType", "TicketDictSeverity", "TicketDictCategory", "TicketDictResolution"), + 'tabname' => array( + MAIN_DB_PREFIX."c_ticket_type", + MAIN_DB_PREFIX."c_ticket_severity", + MAIN_DB_PREFIX."c_ticket_category", + MAIN_DB_PREFIX."c_ticket_resolution" + ), + 'tablib' => array( + "TicketDictType", + "TicketDictSeverity", + "TicketDictCategory", + "TicketDictResolution" + ), 'tabsql' => array( 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_type as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_severity as f', - 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default, f.public FROM '.MAIN_DB_PREFIX.'c_ticket_category as f', + 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default, f.public, f.fk_parent FROM '.MAIN_DB_PREFIX.'c_ticket_category as f', 'SELECT f.rowid as rowid, f.code, f.pos, f.label, f.active, f.use_default FROM '.MAIN_DB_PREFIX.'c_ticket_resolution as f' ), 'tabsqlsort' => array("pos ASC", "pos ASC", "pos ASC", "pos ASC"), - 'tabfield' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public", "code,label,pos,use_default"), - 'tabfieldvalue' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public", "code,label,pos,use_default"), - 'tabfieldinsert' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public", "code,label,pos,use_default"), + 'tabfield' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public,fk_parent", "code,label,pos,use_default"), + 'tabfieldvalue' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public,fk_parent", "code,label,pos,use_default"), + 'tabfieldinsert' => array("code,label,pos,use_default", "code,label,pos,use_default", "code,label,pos,use_default,public,fk_parent", "code,label,pos,use_default"), 'tabrowid' => array("rowid", "rowid", "rowid", "rowid"), - 'tabcond' => array($conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled), + 'tabcond' => array($conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled, $conf->ticket->enabled && !empty($conf->global->TICKET_ENABLE_RESOLUTION)), 'tabhelp' => array( array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1")), array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1")), - array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1"), 'public'=>$langs->trans("Enter0or1").'
'.$langs->trans("TicketGroupIsPublicDesc")), + array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1"), 'public'=>$langs->trans("Enter0or1").'
'.$langs->trans("TicketGroupIsPublicDesc"), 'fk_parent'=>$langs->trans("IfThisCategoryIsChildOfAnother")), array('code'=>$langs->trans("EnterAnyCode"), 'use_default'=>$langs->trans("Enter0or1")) ), ); @@ -283,6 +293,19 @@ class modTicket extends DolibarrModules 'target' => '', 'user' => 0); $r++; + + $this->menu[$r] = array('fk_menu' => 'fk_mainmenu=ticket,fk_leftmenu=ticket', + 'type' => 'left', + 'titre' => 'Categories', + 'mainmenu' => 'ticket', + 'url' => '/categories/index.php?type=12', + 'langs' => 'ticket', + 'position' => 107, + 'enabled' => '$conf->categorie->enabled', + 'perms' => '$user->rights->ticket->read', + 'target' => '', + 'user' => 0); + $r++; } /** diff --git a/htdocs/core/modules/modWorkflow.class.php b/htdocs/core/modules/modWorkflow.class.php index fbf7927ed1c..eaaf15d40a1 100644 --- a/htdocs/core/modules/modWorkflow.class.php +++ b/htdocs/core/modules/modWorkflow.class.php @@ -87,6 +87,7 @@ class modWorkflow extends DolibarrModules 0=>array('WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL', 0, 'current', 0), 1=>array('WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL', 'chaine', '1', 'WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL', 0, 'current', 0), 2=>array('WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING', 0, 'current', 0), + 3=>array('WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED', 0, 'current', 0), 4=>array('WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER', 'chaine', '1', 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER', 0, 'current', 0), 5=>array('WORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL', 'chaine', '1', 'WORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL', 0, 'current', 0), 6=>array('WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER', 'chaine', '1', 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER', 0, 'current', 0), diff --git a/htdocs/core/modules/product/mod_codeproduct_elephant.php b/htdocs/core/modules/product/mod_codeproduct_elephant.php index 5936476e079..0b03bd9b6a4 100644 --- a/htdocs/core/modules/product/mod_codeproduct_elephant.php +++ b/htdocs/core/modules/product/mod_codeproduct_elephant.php @@ -118,7 +118,7 @@ class mod_codeproduct_elephant extends ModeleProductCode $texte .= '
'; $texte .= ''; - $texte .= ''; + $texte .= ''; $texte .= ''; diff --git a/htdocs/core/modules/product/modules_product.class.php b/htdocs/core/modules/product/modules_product.class.php index e0141348568..fef12717e3b 100644 --- a/htdocs/core/modules/product/modules_product.class.php +++ b/htdocs/core/modules/product/modules_product.class.php @@ -193,7 +193,8 @@ abstract class ModeleProductCode { global $conf; - $langs->load("admin"); + $langs->loadLangs(array("admin", "companies")); + $strikestart = ''; $strikeend = ''; if (!empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED) && !empty($this->code_null)) { diff --git a/htdocs/core/modules/product_batch/mod_lot_advanced.php b/htdocs/core/modules/product_batch/mod_lot_advanced.php index 0bbb124d14b..8ee857bfbea 100644 --- a/htdocs/core/modules/product_batch/mod_lot_advanced.php +++ b/htdocs/core/modules/product_batch/mod_lot_advanced.php @@ -128,27 +128,27 @@ class mod_lot_advanced extends ModeleNumRefBatch /** * Return next free value * - * @param Product $objprod Object product + * @param Societe $objsoc Object Societe * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - public function getNextValue($objprod, $object) + public function getNextValue($objsoc, $object) { global $db, $conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; // We get cursor rule - $mask = $conf->global->BATCH_ADVANCED_MASK; + $mask = $conf->global->LOT_ADVANCED_MASK; if (!$mask) { $this->error = 'NotConfigured'; return 0; } - $date = $object->date; + $date = dol_now(); - $numFinal = get_next_value($db, $mask, 'product_lot', 'ref', '', null, $date); + $numFinal = get_next_value($db, $mask, 'product_lot', 'batch', '', null, $date); return $numFinal; } diff --git a/htdocs/core/modules/product_batch/mod_lot_standard.php b/htdocs/core/modules/product_batch/mod_lot_standard.php index 0d2b5a55139..59de1965a6e 100644 --- a/htdocs/core/modules/product_batch/mod_lot_standard.php +++ b/htdocs/core/modules/product_batch/mod_lot_standard.php @@ -85,17 +85,21 @@ class mod_lot_standard extends ModeleNumRefBatch $coyymm = ''; $max = ''; $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { - $row = $db->fetch_row($resql); - if ($row) { $coyymm = substr($row[0], 0, 6); $max = $row[0]; } + $obj = $db->fetch_object($resql); + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } - if ($coyymm && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $coyymm)) { + if ($max && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $max)) { $langs->load("errors"); $this->error = $langs->trans('ErrorNumRefModel', $max); return false; @@ -117,23 +121,26 @@ class mod_lot_standard extends ModeleNumRefBatch // First, we get the max value $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); - if ($obj) $max = intval($obj->max); - else $max = 0; + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } else { dol_syslog("mod_lot_standard::getNextValue", LOG_DEBUG); return -1; } //$date=time(); - $date = $object->date_creation; + $date = dol_now(); $yymm = strftime("%y%m", $date); if ($max >= (pow(10, 4) - 1)) $num = $max + 1; // If counter > 9999, we do not format on 4 chars, we take number as it is diff --git a/htdocs/core/modules/product_batch/mod_sn_advanced.php b/htdocs/core/modules/product_batch/mod_sn_advanced.php index 8117b9e6c6e..54c67291d9a 100644 --- a/htdocs/core/modules/product_batch/mod_sn_advanced.php +++ b/htdocs/core/modules/product_batch/mod_sn_advanced.php @@ -139,16 +139,16 @@ class mod_sn_advanced extends ModeleNumRefBatch require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; // We get cursor rule - $mask = $conf->global->BATCH_ADVANCED_MASK; + $mask = $conf->global->SN_ADVANCED_MASK; if (!$mask) { $this->error = 'NotConfigured'; return 0; } - $date = $object->date; + $date = dol_now(); - $numFinal = get_next_value($db, $mask, 'product_sn', 'ref', '', null, $date); + $numFinal = get_next_value($db, $mask, 'product_lot', 'batch', '', null, $date); return $numFinal; } diff --git a/htdocs/core/modules/product_batch/mod_sn_standard.php b/htdocs/core/modules/product_batch/mod_sn_standard.php index bef5efcd9f8..845044c39f3 100644 --- a/htdocs/core/modules/product_batch/mod_sn_standard.php +++ b/htdocs/core/modules/product_batch/mod_sn_standard.php @@ -85,17 +85,21 @@ class mod_sn_standard extends ModeleNumRefBatch $coyymm = ''; $max = ''; $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { - $row = $db->fetch_row($resql); - if ($row) { $coyymm = substr($row[0], 0, 6); $max = $row[0]; } + $obj = $db->fetch_object($resql); + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } - if ($coyymm && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $coyymm)) { + if ($max && !preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i', $max)) { $langs->load("errors"); $this->error = $langs->trans('ErrorNumRefModel', $max); return false; @@ -107,33 +111,36 @@ class mod_sn_standard extends ModeleNumRefBatch /** * Return next free value * - * @param Product $objprod Object product + * @param Societe $objsoc Object product * @param Object $object Object we need next value for * @return string Value if KO, <0 if KO */ - public function getNextValue($objprod, $object) + public function getNextValue($objsoc, $object) { global $db, $conf; // First, we get the max value $posindice = strlen($this->prefix) + 6; - $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql = "SELECT MAX(CAST(SUBSTRING(batch FROM ".$posindice.") AS SIGNED)) as max"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lot"; - $sql .= " WHERE ref LIKE '".$db->escape($this->prefix)."____-%'"; + $sql .= " WHERE batch LIKE '".$db->escape($this->prefix)."____-%'"; $sql .= " AND entity = ".$conf->entity; $resql = $db->query($sql); if ($resql) { $obj = $db->fetch_object($resql); - if ($obj) $max = intval($obj->max); - else $max = 0; + if ($obj) { + $max = intval($obj->max); + } else { + $max = 0; + } } else { dol_syslog("mod_sn_standard::getNextValue", LOG_DEBUG); return -1; } //$date=time(); - $date = $object->date_creation; + $date = dol_now(); $yymm = strftime("%y%m", $date); if ($max >= (pow(10, 4) - 1)) $num = $max + 1; // If counter > 9999, we do not format on 4 chars, we take number as it is diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index 566c7f07a2e..638ab70bb84 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 @@ -524,8 +524,8 @@ class doc_generic_task_odt extends ModelePDFTask //print "conf->societe->dir_temp=".$conf->societe->dir_temp; dol_mkdir($conf->projet->dir_temp); - if (!is_writable($conf->task->dir_temp)) { - $this->error = "Failed to write in temp directory ".$conf->task->dir_temp; + if (!is_writable($conf->projet->dir_temp)) { + $this->error = "Failed to write in temp directory ".$conf->projet->dir_temp; dol_syslog('Error in write_file: '.$this->error, LOG_ERR); return -1; } diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index b56fbc758db..2045683661b 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1523,7 +1523,7 @@ class pdf_azur extends ModelePDFPropales $pdf->SetTextColor(0, 0, 60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("DateEndPropal")." : ".dol_print_date($object->fin_validite, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1575,20 +1575,24 @@ class pdf_azur extends ModelePDFPropales $hautcadre = 40; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell(80, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1628,11 +1632,13 @@ class pdf_azur extends ModelePDFPropales } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php index f75f5ecab56..7d8ada03ad5 100644 --- a/htdocs/core/modules/propale/doc/pdf_cyan.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_cyan.modules.php @@ -737,7 +737,7 @@ class pdf_cyan extends ModelePDFPropales if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } @@ -1634,7 +1634,7 @@ class pdf_cyan extends ModelePDFPropales } $pdf->MultiCell($w, 3, $title." : ".dol_print_date($object->fin_validite, "day", false, $outputlangs, true), '', 'R'); - if ($object->thirdparty->code_client) { + if (empty($conf->global->MAIN_PDF_HIDE_CUSTOMER_CODE) && $object->thirdparty->code_client) { $posy += 4; $pdf->SetXY($posx, $posy); $pdf->SetTextColor(0, 0, 60); @@ -1689,20 +1689,24 @@ class pdf_cyan extends ModelePDFPropales $widthrecbox = !empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; // Show sender frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); - $pdf->SetXY($posx, $posy); - $pdf->SetFillColor(230, 230, 230); - $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); - $pdf->SetTextColor(0, 0, 60); + if (empty($conf->global->MAIN_PDF_NO_SENDER_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillFrom"), 0, $ltrdirection); + $pdf->SetXY($posx, $posy); + $pdf->SetFillColor(230, 230, 230); + $pdf->MultiCell($widthrecbox, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0, 0, 60); + } // Show sender name - $pdf->SetXY($posx + 2, $posy + 3); - $pdf->SetFont('', 'B', $default_font_size); - $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); - $posy = $pdf->getY(); + if (empty($conf->global->MAIN_PDF_HIDE_SENDER_NAME)) { + $pdf->SetXY($posx + 2, $posy + 3); + $pdf->SetFont('', 'B', $default_font_size); + $pdf->MultiCell($widthrecbox - 2, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, $ltrdirection); + $posy = $pdf->getY(); + } // Show sender information $pdf->SetXY($posx + 2, $posy); @@ -1743,11 +1747,13 @@ class pdf_cyan extends ModelePDFPropales } // Show recipient frame - $pdf->SetTextColor(0, 0, 0); - $pdf->SetFont('', '', $default_font_size - 2); - $pdf->SetXY($posx + 2, $posy - 5); - $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); - $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + if (empty($conf->global->MAIN_PDF_NO_RECIPENT_FRAME)) { + $pdf->SetTextColor(0, 0, 0); + $pdf->SetFont('', '', $default_font_size - 2); + $pdf->SetXY($posx + 2, $posy - 5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo"), 0, $ltrdirection); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + } // Show recipient name $pdf->SetXY($posx + 2, $posy + 3); diff --git a/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php b/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php index e091b5069e9..a358f916429 100644 --- a/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php +++ b/htdocs/core/modules/security/generate/modGeneratePassStandard.class.php @@ -99,7 +99,7 @@ class modGeneratePassStandard extends ModeleGenPassword $password = ""; // define possible characters - $possible = "0123456789bcdfghjkmnpqrstvwxyz"; + $possible = "0123456789qwertyuiopasdfghjklzxcvbnmASDFGHJKLZXCVBNMQWERTYUIOP"; // set up a counter $i = 0; @@ -107,10 +107,13 @@ class modGeneratePassStandard extends ModeleGenPassword // add random characters to $password until $length is reached while ($i < $this->length) { // pick a random character from the possible ones - $char = substr($possible, mt_rand(0, dol_strlen($possible) - 1), 1); + if (function_exists('random_int')) { // Cryptographic random + $char = substr($possible, random_int(0, dol_strlen($possible) - 1), 1); + } else { + $char = substr($possible, mt_rand(0, dol_strlen($possible) - 1), 1); + } - // we don't want this character if it's already in the password - if (!strstr($password, $char)) { + if (substr_count($password, $char) <= 6) { // we don't want this character if it's already 5 times in the password $password .= $char; $i++; } diff --git a/htdocs/core/modules/societe/modules_societe.class.php b/htdocs/core/modules/societe/modules_societe.class.php index 28d0120da72..09f6cb9c29d 100644 --- a/htdocs/core/modules/societe/modules_societe.class.php +++ b/htdocs/core/modules/societe/modules_societe.class.php @@ -198,7 +198,8 @@ abstract class ModeleThirdPartyCode { global $conf; - $langs->load("admin"); + $langs->loadLangs(array("admin", "companies")); + $strikestart = ''; $strikeend = ''; if (!empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED) && !empty($this->code_null)) { diff --git a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php index dc898c98cb5..3e04844119b 100644 --- a/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php +++ b/htdocs/core/modules/supplier_order/doc/pdf_cornas.modules.php @@ -672,7 +672,7 @@ class pdf_cornas extends ModelePDFSuppliersOrders if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } diff --git a/htdocs/core/search_page.php b/htdocs/core/search_page.php index 8581776a2d8..2b82501208a 100644 --- a/htdocs/core/search_page.php +++ b/htdocs/core/search_page.php @@ -20,7 +20,7 @@ /** * \file htdocs/core/search_page.php - * \brief File to return a page with search boxes + * \brief File to return a page with the complete search form (all search input fields) */ //if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language @@ -77,7 +77,7 @@ $hookmanager->initHooks(array('searchform')); // Define $searchform $searchform = ''; -if ($conf->use_javascript_ajax && 1 == 2) { // select2 is ko with jmobile +if ($conf->use_javascript_ajax && 1 == 2) { // select2 is not best with smartphone if (!is_object($form)) { $form = new Form($db); } diff --git a/htdocs/core/tpl/card_presend.tpl.php b/htdocs/core/tpl/card_presend.tpl.php index c741fb213c2..143d8d5536c 100644 --- a/htdocs/core/tpl/card_presend.tpl.php +++ b/htdocs/core/tpl/card_presend.tpl.php @@ -137,6 +137,13 @@ if ($action == 'presend') { $formmail->fromname = ''; $formmail->fromtype = 'special'; } + if ($object->element === 'order_supplier' && !empty($conf->global->ORDER_SUPPLIER_EMAIL_SENDER)) { + $formmail->frommail = $conf->global->ORDER_SUPPLIER_EMAIL_SENDER; + $formmail->fromname = ''; + $formmail->fromtype = 'special'; + } + + $formmail->trackid = $trackid; if (!empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 2)) { // If bit 2 is set diff --git a/htdocs/core/tpl/commonfields_add.tpl.php b/htdocs/core/tpl/commonfields_add.tpl.php index 3a43f04c149..cd07c0b8191 100644 --- a/htdocs/core/tpl/commonfields_add.tpl.php +++ b/htdocs/core/tpl/commonfields_add.tpl.php @@ -47,7 +47,7 @@ foreach ($object->fields as $key => $val) { print ''; print ''; if (!empty($val['picto'])) { - print img_picto('', $val['picto']); + print img_picto('', $val['picto'], '', false, 0, 0, '', 'pictofixedwidth'); } if (in_array($val['type'], array('int', 'integer'))) { $value = GETPOST($key, 'int'); diff --git a/htdocs/core/tpl/commonfields_edit.tpl.php b/htdocs/core/tpl/commonfields_edit.tpl.php index 9fef2d2f2b9..9670271d1a4 100644 --- a/htdocs/core/tpl/commonfields_edit.tpl.php +++ b/htdocs/core/tpl/commonfields_edit.tpl.php @@ -48,7 +48,7 @@ foreach ($object->fields as $key => $val) { print ''; if (!empty($val['picto'])) { - print img_picto('', $val['picto']); + print img_picto('', $val['picto'], '', false, 0, 0, '', 'pictofixedwidth'); } if (in_array($val['type'], array('int', 'integer'))) { $value = GETPOSTISSET($key) ?GETPOST($key, 'int') : $object->$key; diff --git a/htdocs/core/tpl/extrafields_edit.tpl.php b/htdocs/core/tpl/extrafields_edit.tpl.php index 5915fb8a633..6d6b6aa8836 100644 --- a/htdocs/core/tpl/extrafields_edit.tpl.php +++ b/htdocs/core/tpl/extrafields_edit.tpl.php @@ -43,7 +43,7 @@ $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, print $hookmanager->resPrint; if (empty($reshook)) { $params = array(); - $params['cols'] = $parameters['colspanvalue']; + $params['cols'] = isset($parameters['colspanvalue']) ? $parameters['colspanvalue'] : null; print $object->showOptionals($extrafields, 'edit', $params); } diff --git a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php index f1b62676887..8b7ff9ac62c 100644 --- a/htdocs/core/tpl/extrafields_list_search_sql.tpl.php +++ b/htdocs/core/tpl/extrafields_list_search_sql.tpl.php @@ -65,7 +65,7 @@ if (!empty($extrafieldsobjectkey) && !empty($search_array_options) && is_array($ if (is_array($crit)) { $crit = implode(' ', $crit); // natural_search() expects a string } elseif ($typ === 'select' and is_string($crit) and strpos($crit, ' ') === false) { - $sql .= ' AND ('.$extrafieldsobjectprefix.$tmpkey.' = "'.$db->escape($crit).'")'; + $sql .= " AND (".$extrafieldsobjectprefix.$tmpkey." = '".$db->escape($crit)."')"; continue; } $sql .= natural_search($extrafieldsobjectprefix.$tmpkey, $crit, $mode_search); diff --git a/htdocs/core/tpl/extrafields_view.tpl.php b/htdocs/core/tpl/extrafields_view.tpl.php index 3b826b2ead5..e87d6df18dc 100644 --- a/htdocs/core/tpl/extrafields_view.tpl.php +++ b/htdocs/core/tpl/extrafields_view.tpl.php @@ -258,7 +258,6 @@ if (empty($reshook) && isset($extrafields->attributes[$object->table_element]['l } } - // Add code to manage list depending on others // TODO Test/enhance this with a more generic solution if (!empty($conf->use_javascript_ajax)) { diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index 9af5bc7d7b4..e668d1e6d58 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -356,7 +356,7 @@ if (!empty($conf->global->MAIN_EASTER_EGG_COMMITSTRIP)) { - diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index c0339c28fc4..3e8ef7ea411 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -135,7 +135,7 @@ if (($line->info_bits & 2) == 2) { $format = (!empty($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE) ? 'dayhour' : 'day'); if ($line->fk_product > 0) { - print $form->textwithtooltip($text, $description, 3, '', '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); + print $form->textwithtooltip($text, $description, 3, 0, '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); } else { $type = (!empty($line->product_type) ? $line->product_type : $line->fk_product_type); if ($type == 1) { @@ -146,7 +146,7 @@ if (($line->info_bits & 2) == 2) { if (!empty($line->label)) { $text .= ' '.$line->label.''; - print $form->textwithtooltip($text, dol_htmlentitiesbr($line->description), 3, '', '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); + print $form->textwithtooltip($text, dol_htmlentitiesbr($line->description), 3, 0, '', $i, 0, (!empty($line->fk_parent_line) ?img_picto('', 'rightarrow') : '')); } else { if (!empty($line->fk_parent_line)) { print img_picto('', 'rightarrow'); @@ -179,7 +179,7 @@ if (($line->info_bits & 2) == 2) { } } else { if ($line->date_start || $line->date_end) { - print '
'.get_date_range($line->date_start, $line->date_end, $format).'
'; + print '
'.get_date_range($line->date_start, $line->date_end, $format).'
'; } //print get_date_range($line->date_start, $line->date_end, $format); } @@ -353,7 +353,15 @@ if ($outputalsopricetotalwithtax) { $coldisplay++; } -if ($this->statut == 0 && ($object_rights->creer) && $action != 'selectlines') { +if ($this->statut == 0 && !empty($object_rights->creer) && $action != 'selectlines') { + $situationinvoicelinewithparent = 0; + if ($line->fk_prev_id != null && in_array($object->element, array('facture', 'facturedet'))) { + if ($object->type == $object::TYPE_SITUATION) { // The constant TYPE_SITUATION exists only for object invoice + // Set constant to disallow editing during a situation cycle + $situationinvoicelinewithparent = 1; + } + } + print '"; print '"; print '
'.$langs->trans("DateDue").''.$langs->trans("Description").''.$langs->trans("Entity").''.$langs->trans("ThirdParty").''.$langs->trans("Debit").''.$langs->trans("Credit").''.$langs->trans("BankBalance").'
'.$langs->trans("CurrentBalance").''.price($solde).'
'; - if ($obj->dlr) { - print dol_print_date($db->jdate($obj->dlr), "day"); + if ($tmpobj->dlr) { + print dol_print_date($tmpobj->dlr, "day"); } else { print $langs->trans("NotDefined"); } print "".$ref."".$mc->label."".$refcomp."'.price(abs($total_ttc))."  '.price($total_ttc)."'.price($solde).''.price($resteapayeraffiche).' 
'; + print ''; + print $langs->trans('MulticurrencyRemainderToPay'); + print ''; + print ''.(!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency).' '.price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT')).' '; print ''; + if ($obj->socid > 0) { + $listsalesrepresentatives = $thirdpartystatic->getSalesRepresentatives($user); + if ($listsalesrepresentatives < 0) { + dol_print_error($db); + } + $nbofsalesrepresentative = count($listsalesrepresentatives); + if ($nbofsalesrepresentative > 6) { + // We print only number + print $nbofsalesrepresentative; + } elseif ($nbofsalesrepresentative > 0) { + $j = 0; + foreach ($listsalesrepresentatives as $val) { + $userstatic->id = $val['id']; + $userstatic->lastname = $val['lastname']; + $userstatic->firstname = $val['firstname']; + $userstatic->email = $val['email']; + $userstatic->statut = $val['statut']; + $userstatic->entity = $val['entity']; + $userstatic->photo = $val['photo']; + $userstatic->login = $val['login']; + $userstatic->office_phone = $val['office_phone']; + $userstatic->office_fax = $val['office_fax']; + $userstatic->user_mobile = $val['user_mobile']; + $userstatic->job = $val['job']; + $userstatic->gender = $val['gender']; + //print '
': + print ($nbofsalesrepresentative < 2) ? $userstatic->getNomUrl(-1, '', 0, 0, 12) : $userstatic->getNomUrl(-2); + $j++; + if ($j < $nbofsalesrepresentative) { + print ' '; + } + //print '
'; + } + } + //else print $langs->trans("NoSalesRepresentativeAffected"); + } else { + print ' '; + } + print '
'.(!empty($obj->retained_warranty) ?price($obj->retained_warranty).'%' : ' ').'
'.price($obj->total_ht).''.price($obj->total_ht).''.price($obj->total_ttc).''.dol_print_date($db->jdate($obj->tms), 'day').'
'.$langs->trans("Ref").''.$object->getNomUrl(1).'
'.$langs->trans("Date").''.dol_print_date($object->datec, 'day').'
'.$langs->trans("Amount").''.price($object->amount).'
'.$langs->trans("Amount").''.price($object->amount).'
"; print $ligne->LibStatut($obj->statut, 2); print " "; - print ''; + print ''; print sprintf("%06s", $obj->rowid); print '
'.$langs->trans("AmountTotal").''; +print ''; print price($pricetowithdraw); print '
'; + print ''; print price($obj->amount, 0, $langs, 0, 0, -1, $conf->currency); print ''.$tva_static->getNomUrl(1).''; + print $tva_static->getNomUrl(1); + $filename = dol_sanitizeFileName($tva_static->ref); + $filedir = $conf->tax->dir_output.'/vat/'.dol_sanitizeFileName($tva_static->ref); + $urlsource = $_SERVER['PHP_SELF'].'?id='.$tva_static->id; + print $formfile->getDocumentsLink($tva_static->element, $filename, $filedir, '', 'valignmiddle paddingleft2imp'); + print '
'; } + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state(GETPOSTISSET('state_id') ? GETPOST('state_id', 'alpha') : $object->state_id, $object->country_code, 'state_id'); print '
'.dol_print_phone($obj->phone_pro, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').''.dol_print_phone($obj->phone_pro, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').''.dol_print_phone($obj->phone_perso, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').''.dol_print_phone($obj->phone_perso, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'phone').''.dol_print_phone($obj->phone_mobile, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'mobile').''.dol_print_phone($obj->phone_mobile, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'mobile').''.dol_print_phone($obj->fax, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'fax').''.dol_print_phone($obj->fax, $obj->country_code, $obj->rowid, $obj->socid, 'AC_TEL', ' ', 'fax').''; - print $form->select_company('', 'socid', '', 'SelectThirdParty', 1, 0, null, 0, 'minwidth300'); + print img_picto('', 'company', 'class="pictofixedwidth"'); + print $form->select_company('', 'socid', '', 'SelectThirdParty', 1, 0, null, 0, 'minwidth300 widthcentpercentminusxx maxwidth500'); print ' '; print '
'.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").''; + print img_picto('', 'user', 'class="pictofixedwidth"'); print $form->select_dolusers(GETPOST("commercial_suivi_id") ?GETPOST("commercial_suivi_id") : $user->id, 'commercial_suivi_id', 1, ''); print '
'.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").''; + print img_picto('', 'user', 'class="pictofixedwidth"'); print $form->select_dolusers(GETPOST("commercial_signature_id") ?GETPOST("commercial_signature_id") : $user->id, 'commercial_signature_id', 1, ''); print '
'; print $langs->trans("DateStartPlanned").' '; @@ -1786,7 +1789,7 @@ if ($action == 'create') { print ''; print ''; - print ''; + print ''; print ''; + if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER) && $action == 'view') { + $out .= ''; + } $out .= ''; } + //Categories + if ($conf->categorie->enabled) { + // Categories + print '"; + } + // Attached files if (!empty($this->withfile)) { // Define list of attached files @@ -427,6 +436,14 @@ class FormTicket print 'withnotifytiersatcreate ? ' checked="checked"' : '').'>'; print ''; } + + // User assigned + print ''; + print ''; } if (!empty($conf->projet->enabled) && !$this->ispublic) { @@ -561,28 +578,27 @@ class FormTicket /** * Return html list of ticket anaytic codes * - * @param string $selected Id categorie pre-selectionnée - * @param string $htmlname Nom de la zone select - * @param string $filtertype To filter on some properties in llx_c_ticket_category ('public = 1'). This parameter must not come from input of users. - * @param int $format 0=id+libelle, 1=code+code, 2=code+libelle, 3=id+code - * @param int $empty 1=peut etre vide, 0 sinon - * @param int $noadmininfo 0=Add admin info, 1=Disable admin info - * @param int $maxlength Max length of label - * @param string $morecss More CSS - * @param int $use_multilevel if > 0 create a multilevel select which use $htmlname example: $use_multilevel = 1 permit to have 2 select boxes. + * @param string $selected Id categorie pre-selectionnée + * @param string $htmlname Name of select component + * @param string $filtertype To filter on some properties in llx_c_ticket_category ('public = 1'). This parameter must not come from input of users. + * @param int $format 0=id+libelle, 1=code+code, 2=code+libelle, 3=id+code + * @param int $empty 1=peut etre vide, 0 sinon + * @param int $noadmininfo 0=Add admin info, 1=Disable admin info + * @param int $maxlength Max length of label + * @param string $morecss More CSS + * @param int $use_multilevel If > 0 create a multilevel select which use $htmlname example: $use_multilevel = 1 permit to have 2 select boxes. * @return void */ public function selectGroupTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '', $use_multilevel = 0) { global $langs, $user; + dol_syslog(get_class($this)."::selectCategoryTickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG); + + $ticketstat = new Ticket($this->db); + $ticketstat->loadCacheCategoriesTickets(); + if ($use_multilevel <= 0) { - $ticketstat = new Ticket($this->db); - - dol_syslog(get_class($this)."::selectCategoryTickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG); - - $ticketstat->loadCacheCategoriesTickets(); - print ''; + $stringtoprint .= ''; + } else { + $stringtoprint .= ''; + $stringtoprint .= ''; } - $stringtoprint .= ' '; + $stringtoprint .= ' '; + $levelid = 1; while ($levelid <= $use_multilevel) { $tabscript = array(); - $stringtoprint .= ''; $stringtoprint .= ''; $sql = "SELECT ctc.rowid, ctc.code, ctc.label, ctc.fk_parent, ctcjoin.code as codefather, "; $sql .= $this->db->ifsql("ctc.rowid NOT IN (SELECT ctcfather.rowid FROM llx_c_ticket_category as ctcfather JOIN llx_c_ticket_category as ctcjoin ON ctcfather.rowid = ctcjoin.fk_parent)", "'NOTPARENT'", "'PARENT'")." as isparent"; $sql .= " FROM ".MAIN_DB_PREFIX."c_ticket_category as ctc"; $sql .= " JOIN ".MAIN_DB_PREFIX."c_ticket_category as ctcjoin ON ctc.fk_parent = ctcjoin.rowid"; - $sql .= " WHERE ctc.public = 1"; - $sql .= " AND ctc.active = 1"; + $sql .= " WHERE ctc.active = 1"; + if ($filtertype == 'public=1') { + $sql .= " AND ctc.public = 1"; + } if (!empty($arrayidused)) { $sql .= " AND ctc.fk_parent IN ( "; foreach ($arrayidused as $idused) { @@ -738,10 +762,10 @@ class FormTicket if ($isparent == 'NOTPARENT') { $arraycodenotparent[] = $groupvalue; } - $iselected = $groupticketchild == $obj->code ?'selected':''; + $iselected = $groupticket == $obj->code ?'selected':''; $stringtoprint .= ''; if (empty($tabscript[$groupcodefather])) { - $tabscript[$groupcodefather] = 'if($("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid-1:'').'")[0].value == "'.dol_escape_js($groupcodefather).'"){ + $tabscript[$groupcodefather] = 'if ($("#'.$htmlname.($levelid > 1 ?'_child_'.$levelid-1:'').'")[0].value == "'.dol_escape_js($groupcodefather).'"){ $(".'.$htmlname.'_'.dol_escape_htmltag($fatherid).'_child_'.$levelid.'").show() console.log("We show childs tickets of '.$groupcodefather.' group ticket") }else{ @@ -759,20 +783,56 @@ class FormTicket $stringtoprint .=''; } + $stringtoprint .=''; + $stringtoprint .= ajax_combobox($htmlname); + return $stringtoprint; } } diff --git a/htdocs/core/class/notify.class.php b/htdocs/core/class/notify.class.php index 6b32799bc89..bb37293354e 100644 --- a/htdocs/core/class/notify.class.php +++ b/htdocs/core/class/notify.class.php @@ -65,7 +65,7 @@ class Notify // Les codes actions sont definis dans la table llx_notify_def // codes actions supported are - // @todo defined also into interface_50_modNotificiation_Notificiation.class.php + // @todo defined also into interface_50_modNotification_Notification.class.php public $arrayofnotifsupported = array( 'BILL_VALIDATE', 'BILL_PAYED', @@ -80,8 +80,8 @@ class Notify 'SHIPPING_VALIDATE', 'EXPENSE_REPORT_VALIDATE', 'EXPENSE_REPORT_APPROVE', - 'HOLIDAY_VALIDATE', - 'HOLIDAY_APPROVE', + 'HOLIDAY_VALIDATE', + 'HOLIDAY_APPROVE', 'ACTION_CREATE' ); @@ -515,7 +515,7 @@ class Notify case 'SHIPPING_VALIDATE': $link = ''.$newref.''; $dir_output = $conf->expedition->dir_output."/sending/".get_exdir(0, 0, 0, 1, $object, 'shipment'); - $object_type = 'expedition'; + $object_type = 'shipping'; $labeltouse = $conf->global->SHIPPING_VALIDATE_TEMPLATE; $mesg = $outputlangs->transnoentitiesnoconv("EMailTextExpeditionValidated", $link); break; @@ -546,7 +546,7 @@ class Notify $object_type = 'holiday'; $labeltouse = $conf->global->HOLIDAY_APPROVE_TEMPLATE; $mesg = $outputlangs->transnoentitiesnoconv("EMailTextHolidayApproved", $link); - break; + break; case 'ACTION_CREATE': $link = ''.$newref.''; $dir_output = $conf->agenda->dir_output; @@ -567,10 +567,10 @@ class Notify $subject = make_substitutions($arraydefaultmessage->topic, $substitutionarray, $outputlangs); $message = make_substitutions($arraydefaultmessage->content, $substitutionarray, $outputlangs); } else { - $message = $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification", $application, $mysoc->name)."\n"; - $message .= $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n"; - $message .= "\n"; - $message .= $mesg; + $message = $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification", $application, $mysoc->name)."\n"; + $message .= $outputlangs->transnoentities("YouReceiveMailBecauseOfNotification2", $application, $mysoc->name)."\n"; + $message .= "\n"; + $message .= $mesg; } $ref = dol_sanitizeFileName($newref); @@ -687,7 +687,7 @@ class Notify break; case 'BILL_PAYED': $link = ''.$newref.''; - $dir_output = $$conf->facture->dir_output."/".get_exdir(0, 0, 0, 1, $object, 'invoice'); + $dir_output = $conf->facture->dir_output."/".get_exdir(0, 0, 0, 1, $object, 'invoice'); $object_type = 'facture'; $mesg = $langs->transnoentitiesnoconv("EMailTextInvoicePayed", $link); break; @@ -782,7 +782,7 @@ class Notify $dir_output = $conf->holiday->dir_output; $object_type = 'holiday'; $mesg = $langs->transnoentitiesnoconv("EMailTextHolidayApproved", $link); - break; + break; case 'ACTION_CREATE': $link = ''.$newref.''; $dir_output = $conf->agenda->dir_output; diff --git a/htdocs/core/db/Database.interface.php b/htdocs/core/db/Database.interface.php index 898421978db..50e013ce8b7 100644 --- a/htdocs/core/db/Database.interface.php +++ b/htdocs/core/db/Database.interface.php @@ -122,7 +122,7 @@ interface Database * List tables into a database * * @param string $database Name of database - * @param string $table Nmae of table filter ('xxx%') + * @param string $table Name of table filter ('xxx%') * @return array List of tables in an array */ public function DDLListTables($database, $table = ''); @@ -189,7 +189,7 @@ interface Database /** * Get last ID after an insert INSERT * - * @param string $tab Table name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql + * @param string $tab Table name concerned by insert. Not used under MySql but required for compatibility with Postgresql * @param string $fieldid Field name * @return int Id of row */ @@ -214,13 +214,14 @@ interface Database /** * Execute a SQL request and return the resultset * - * @param string $query SQL query string - * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). - * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. - * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @param string $query SQL query string + * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). + * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. + * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @param int $result_mode Result mode * @return resource Resultset of answer */ - public function query($query, $usesavepoint = 0, $type = 'auto'); + public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0); /** * Connexion to server @@ -493,8 +494,8 @@ interface Database /** * Returns the current line (as an object) for the resultset cursor * - * @param resource $resultset Cursor of the desired request - * @return Object Object result line or false if KO or end of cursor + * @param resource $resultset Cursor of the desired request + * @return Object Object result line or false if KO or end of cursor */ public function fetch_object($resultset); // phpcs:enable diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index 343f4c8cc3e..bef1209dd84 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -262,11 +262,12 @@ class DoliDBMysqli extends DoliDB * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @param int $result_mode Result mode * @return bool|mysqli_result Resultset of answer */ - public function query($query, $usesavepoint = 0, $type = 'auto') + public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0) { - global $conf; + global $conf, $dolibarr_main_db_readonly; $query = trim($query); @@ -278,11 +279,20 @@ class DoliDBMysqli extends DoliDB return false; // Return false = error if empty request } + if (!empty($dolibarr_main_db_readonly)) { + if (preg_match('/^(INSERT|UPDATE|REPLACE|DELETE|CREATE|ALTER|TRUNCATE|DROP)/i', $query)) { + $this->lasterror = 'Application in read-only mode'; + $this->lasterrno = 'APPREADONLY'; + $this->lastquery = $query; + return false; + } + } + if (!$this->database_name) { // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE) - $ret = $this->db->query($query); + $ret = $this->db->query($query, $result_mode); } else { - $ret = $this->db->query($query); + $ret = $this->db->query($query, $result_mode); } if (!preg_match("/^COMMIT/i", $query) && !preg_match("/^ROLLBACK/i", $query)) { @@ -307,7 +317,7 @@ class DoliDBMysqli extends DoliDB // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Renvoie la ligne courante (comme un objet) pour le curseur resultset + * Returns the current line (as an object) for the resultset cursor * * @param mysqli_result $resultset Curseur de la requete voulue * @return object|null Object result line or null if KO or end of cursor diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 5a9d47dc40c..5245a9dac3c 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -494,11 +494,12 @@ class DoliDBPgsql extends DoliDB * @param string $query SQL query string * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @param int $result_mode Result mode (not used with pgsql) * @return false|resource Resultset of answer */ - public function query($query, $usesavepoint = 0, $type = 'auto') + public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0) { - global $conf; + global $conf, $dolibarr_main_db_readonly; $query = trim($query); @@ -527,6 +528,18 @@ class DoliDBPgsql extends DoliDB $SYSLOG_SQL_LIMIT = 10000; // limit log to 10kb per line to limit DOS attacks dol_syslog('sql='.substr($query, 0, $SYSLOG_SQL_LIMIT), LOG_DEBUG); } + if (empty($query)) { + return false; // Return false = error if empty request + } + + if (!empty($dolibarr_main_db_readonly)) { + if (preg_match('/^(INSERT|UPDATE|REPLACE|DELETE|CREATE|ALTER|TRUNCATE|DROP)/i', $query)) { + $this->lasterror = 'Application in read-only mode'; + $this->lasterrno = 'APPREADONLY'; + $this->lastquery = $query; + return false; + } + } $ret = @pg_query($this->db, $query); @@ -558,7 +571,7 @@ class DoliDBPgsql extends DoliDB // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Renvoie la ligne courante (comme un objet) pour le curseur resultset + * Returns the current line (as an object) for the resultset cursor * * @param resource $resultset Curseur de la requete voulue * @return false|object Object result line or false if KO or end of cursor diff --git a/htdocs/core/db/sqlite3.class.php b/htdocs/core/db/sqlite3.class.php index 563ccb19aac..53bcb6806dc 100644 --- a/htdocs/core/db/sqlite3.class.php +++ b/htdocs/core/db/sqlite3.class.php @@ -393,11 +393,12 @@ class DoliDBSqlite3 extends DoliDB * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollbock to savepoint if error (this allow to have some request with errors inside global transactions). * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @param int $result_mode Result mode (not used with sqlite) * @return SQLite3Result Resultset of answer */ - public function query($query, $usesavepoint = 0, $type = 'auto') + public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0) { - global $conf; + global $conf, $dolibarr_main_db_readonly; $ret = null; @@ -455,6 +456,15 @@ class DoliDBSqlite3 extends DoliDB return false; // Return false = error if empty request } + if (!empty($dolibarr_main_db_readonly)) { + if (preg_match('/^(INSERT|UPDATE|REPLACE|DELETE|CREATE|ALTER|TRUNCATE|DROP)/i', $query)) { + $this->lasterror = 'Application in read-only mode'; + $this->lasterrno = 'APPREADONLY'; + $this->lastquery = $query; + return false; + } + } + // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE) try { //$ret = $this->db->exec($query); @@ -495,7 +505,7 @@ class DoliDBSqlite3 extends DoliDB // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Renvoie la ligne courante (comme un objet) pour le curseur resultset + * Returns the current line (as an object) for the resultset cursor * * @param SQLite3Result $resultset Curseur de la requete voulue * @return false|object Object result line or false if KO or end of cursor diff --git a/htdocs/core/js/lib_foot.js.php b/htdocs/core/js/lib_foot.js.php index dce74d93653..74a7f543bfc 100644 --- a/htdocs/core/js/lib_foot.js.php +++ b/htdocs/core/js/lib_foot.js.php @@ -47,6 +47,11 @@ session_cache_limiter('public'); require_once '../../main.inc.php'; + +/* + * View + */ + // Define javascript type top_httphead('text/javascript; charset=UTF-8'); // Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. @@ -97,8 +102,7 @@ print "});\n"; // Wrapper to manage dropdown if (!defined('JS_JQUERY_DISABLE_DROPDOWN')) { print "\n/* JS CODE TO ENABLE dropdown (hamburger, linkto, ...) */\n"; - print ' - jQuery(document).ready(function () { + print ' jQuery(document).ready(function () { var lastopendropdown = null; // Click onto the link "link to" or "hamburger", toggle dropdown @@ -166,21 +170,19 @@ if (!defined('JS_JQUERY_DISABLE_DROPDOWN')) { // Wrapper to manage document_preview if ($conf->browser->layout != 'phone') { print "\n/* JS CODE TO ENABLE document_preview */\n"; // Function document_preview is into header - print ' - jQuery(document).ready(function () { + print ' jQuery(document).ready(function () { jQuery(".documentpreview").click(function () { console.log("We click on preview for element with href="+$(this).attr(\'href\')+" mime="+$(this).attr(\'mime\')); document_preview($(this).attr(\'href\'), $(this).attr(\'mime\'), \''.dol_escape_js($langs->transnoentities("Preview")).'\'); return false; }); - }); - ' . "\n"; + });'."\n"; } // Code to manage reposition print "\n/* JS CODE TO ENABLE reposition management (does not work if a redirect is done after action of submission) */\n"; print ' - jQuery(document).ready(function() { + jQuery(document).ready(function() { /* If page_y set, we set scollbar with it */ page_y=getParameterByName(\'page_y\', 0); /* search in GET parameter */ if (page_y == 0) page_y = jQuery("#page_y").text(); /* search in POST parameter that is filed at bottom of page */ @@ -211,37 +213,123 @@ print ' } } }); - });'."\n"; + });'."\n"; -print "\n/* JS CODE TO ENABLE ClipBoard copy paste*/\n"; -print 'jQuery(\'.clipboardCPShowOnHover\').hover( - function() { - console.log("We hover a value with a copy paste feature"); - $(this).children(".clipboardCPButton, .clipboardCPText").show(); - }, - function() { - console.log("We hover out the value with a copy paste feature"); - $(this).children(".clipboardCPButton, .clipboardCPText").hide(); - } - );'; -print 'jQuery(\'.clipboardCPButton, .clipboardCPValueToPrint\').click(function() { - /* console.log(this.parentNode); */ - console.log("We click on a clipboardCPButton or clipboardCPValueToPrint class"); - if (window.getSelection) { - selection = window.getSelection(); +// Code to manage Copy To Clipboard click +print "\n/* JS CODE TO ENABLE ClipBoard copy paste */\n"; +print ' + jQuery(document).ready(function() { + jQuery(\'.clipboardCPShowOnHover\').hover( + function() { + console.log("We hover a value with a copy paste feature"); + $(this).children(".clipboardCPButton, .clipboardCPText").show(); + }, + function() { + console.log("We hover out the value with a copy paste feature"); + $(this).children(".clipboardCPButton, .clipboardCPText").hide(); + } + ); - range = document.createRange(); - range.selectNodeContents(this.parentNode.firstChild); + jQuery(\'.clipboardCPButton, .clipboardCPValueToPrint\').click(function() { + /* console.log(this.parentNode); */ + console.log("We click on a clipboardCPButton or clipboardCPValueToPrint class"); + if (window.getSelection) { + selection = window.getSelection(); - selection.removeAllRanges(); - selection.addRange( range ); - } - document.execCommand( \'copy\' ); - window.getSelection().removeAllRanges(); + range = document.createRange(); + range.selectNodeContents(this.parentNode.firstChild); - /* Show message */ - var lastchild = this.parentNode.lastChild; - var tmp = lastchild.innerHTML - lastchild.innerHTML = \''.dol_escape_js($langs->trans('CopiedToClipboard')).'\'; - setTimeout(() => { lastchild.innerHTML = tmp; }, 1000); - })'."\n"; + selection.removeAllRanges(); + selection.addRange( range ); + } + document.execCommand( \'copy\' ); + window.getSelection().removeAllRanges(); + + /* Show message */ + var lastchild = this.parentNode.lastChild; + var tmp = lastchild.innerHTML + lastchild.innerHTML = \''.dol_escape_js($langs->trans('CopiedToClipboard')).'\'; + setTimeout(() => { lastchild.innerHTML = tmp; }, 1000); + }); + });'."\n"; + +// Code to manage clicktodial +print "\n/* JS CODE TO ENABLE clicktodial call of an URL */\n"; +print ' + jQuery(document).ready(function() { + jQuery(".cssforclicktodial").click(function() { + event.preventDefault(); + console.log("We click on a cssforclicktodial class with url="+this.href); + $.ajax({ + url: this.href, + type: \'GET\', + data: { token: \''.newToken().'\' } + }).done(function(xhr, textStatus, errorThrown) { + /* do nothing */ + }).fail(function(xhr, textStatus, errorThrown) { + alert("Error: "+textStatus); + }); + return false; + }); + });'."\n"; + + +// Code to manage the confirm dialog box +print "\n/* JS CODE TO ENABLE DIALOG CONFIRM POPUP ON ACTION BUTTON */\n"; +print ' + jQuery(document).ready(function() { + $(document).on("click", \'.butActionConfirm\', function(event) { + event.preventDefault(); + + // I don\'t use jquery $(this).data(\'confirm-url\'); to get $(this).attr(\'data-confirm-url\'); because .data() can doesn\'t work with ajax + var confirmUrl = $(this).attr(\'data-confirm-url\'); + var confirmTitle = $(this).attr(\'data-confirm-title\'); + var confirmContent = $(this).attr(\'data-confirm-content\'); + var confirmActionBtnLabel = $(this).attr(\'data-confirm-action-btn-label\'); + var confirmCancelBtnLabel = $(this).attr(\'data-confirm-cancel-btn-label\'); + var confirmModal = $(this).attr(\'data-confirm-modal\'); + if(confirmModal == undefined){ confirmModal = false; } + + var confirmId = \'confirm-dialog-box\'; + if($(this).attr(\'id\') != undefined){ var confirmId = confirmId + "-" + $(this).attr(\'id\'); } + if($("#" + confirmId) != undefined) { $(\'#\' + confirmId).remove(); } + + // Create modal box + + var $confirmBox = $(\'
\', { + id: confirmId, + title: confirmTitle + }).appendTo(\'body\'); + + $confirmBox.dialog({ + autoOpen: true, + modal: confirmModal, + //width: Math.min($( window ).width() - 50, 1700), + width: \'auto\', + dialogClass: \'confirm-dialog-box\', + buttons: [ + { + text: confirmActionBtnLabel, + "class": \'ui-state-information\', + click: function () { + window.location.replace(confirmUrl); + } + }, + { + text: confirmCancelBtnLabel, + "class": \'ui-state-information\', + click: function () { + $(this).dialog("close"); + } + } + ], + close: function( event, ui ) { + $(\'#\'+confirmBox).remove(); + }, + open: function( event, ui ) { + $confirmBox.html(confirmContent); + } + }); + }); + }); +'."\n"; diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index a56084d0f32..0d5905b4351 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -50,6 +50,11 @@ session_cache_limiter('public'); require_once '../../main.inc.php'; + +/* + * View + */ + // Define javascript type top_httphead('text/javascript; charset=UTF-8'); // Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. @@ -544,20 +549,27 @@ function hideMessage(fieldId,message) { * @param int strict Strict * @param int forcereload Force reload * @param int userid User id + * @param int value Value to set * @param string token Token */ -function setConstant(url, code, input, entity, strict, forcereload, userid, token) { +function setConstant(url, code, input, entity, strict, forcereload, userid, token, value) { var saved_url = url; /* avoid undefined url */ $.post( url, { action: "set", name: code, entity: entity, - token: token + token: token, + value: value }, function() { /* handler for success of post */ - console.log("url request success forcereload="+forcereload); - $("#set_" + code).hide(); - $("#del_" + code).show(); + console.log("url request success forcereload="+forcereload+" value="+value); + if (value == 0) { + $("#set_" + code).show(); + $("#del_" + code).hide(); + } else { + $("#set_" + code).hide(); + $("#del_" + code).show(); + } $.each(input, function(type, data) { // Enable another element if (type == "disabled" && strict != 1) { @@ -605,7 +617,7 @@ function setConstant(url, code, input, entity, strict, forcereload, userid, toke if (forcereload) { location.reload(); } - }).fail(function(error) { location.reload(); }); /* When it fails, we always force reload to have setEventErrorMEssage in session visible */ + }).fail(function(error) { location.reload(); }); /* When it fails, we always force reload to have setEventErrorMessages in session visible */ } /* @@ -676,7 +688,7 @@ function delConstant(url, code, input, entity, strict, forcereload, userid, toke if (forcereload) { location.reload(); } - }).fail(function(error) { location.reload(); }); /* When it fails, we always force reload to have setEventErrorMEssage in session visible */ + }).fail(function(error) { location.reload(); }); /* When it fails, we always force reload to have setEventErrorMessages in session visible */ } /* @@ -711,7 +723,7 @@ function confirmConstantAction(action, url, code, input, box, entity, yesButton, text : yesButton, click : function() { if (action == "set") { - setConstant(url, code, input, entity, strict, 0, userid, token); + setConstant(url, code, input, entity, strict, 0, userid, token, 1); } else if (action == "del") { delConstant(url, code, input, entity, strict, 0, userid, token); } diff --git a/htdocs/core/js/lib_notification.js.php b/htdocs/core/js/lib_notification.js.php index dc46a5e2072..ee41555119a 100644 --- a/htdocs/core/js/lib_notification.js.php +++ b/htdocs/core/js/lib_notification.js.php @@ -41,132 +41,147 @@ if (!defined('NOREQUIREHTML')) { define('NOREQUIREHTML', 1); } +session_cache_limiter('public'); + require_once '../../main.inc.php'; -if (!($_SERVER['HTTP_REFERER'] === $dolibarr_main_url_root.'/' || $_SERVER['HTTP_REFERER'] === $dolibarr_main_url_root.'/index.php' - || preg_match('/getmenu_div\.php/', $_SERVER['HTTP_REFERER']))) { - global $langs, $conf; - top_httphead('text/javascript; charset=UTF-8'); +/* + * View + */ - print 'var login = \''.$_SESSION['dol_login'].'\';'."\n"; - print 'var nowtime = Date.now();'; - print 'var time_auto_update = '.$conf->global->MAIN_BROWSER_NOTIFICATION_FREQUENCY.';'."\n"; // Always defined - print 'var time_js_next_test;'."\n"; - ?> - - /* Check if permission ok */ - if (Notification.permission !== "granted") { - console.log("Ask Notification.permission"); - Notification.requestPermission() - } - - /* Launch timer */ - // We set a delay before launching first test so next check will arrive after the time_auto_update compared to previous one. - //var time_first_execution = (time_auto_update + (time_js_next_test - nowtime)) * 1000; //need milliseconds - var time_first_execution = global->MAIN_BROWSER_NOTIFICATION_CHECK_FIRST_EXECUTION) ? 0 : $conf->global->MAIN_BROWSER_NOTIFICATION_CHECK_FIRST_EXECUTION); ?>; - if (login != '') { - setTimeout(first_execution, time_first_execution * 1000); - time_js_next_test = nowtime + time_first_execution; - console.log("Launch browser notif check: setTimeout is set to launch 'first_execution' function after a wait of time_first_execution="+time_first_execution+". nowtime (time php page generation) = "+nowtime+" time_js_next_check = "+time_js_next_test); - } //first run auto check +top_httphead('text/javascript; charset=UTF-8'); +// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. +if (empty($dolibarr_nocache)) { + header('Cache-Control: max-age=10800, public, must-revalidate'); +} else { + header('Cache-Control: no-cache'); +} - function first_execution() { - console.log("Call first_execution then set repeat time to time_auto_update = MAIN_BROWSER_NOTIFICATION_FREQUENCY = "+time_auto_update); - check_events(); //one check before setting the new time for other checks - setInterval(check_events, time_auto_update * 1000); // Set new time to run next check events - } +print "jQuery(document).ready(function () {\n"; - function check_events() { - if (Notification.permission === "granted") - { - time_js_next_test += time_auto_update; - console.log("Call ajax to check_events with time_js_next_test = "+time_js_next_test); +//print " console.log('referrer=".dol_escape_js($_SERVER['HTTP_REFERER'])."');\n"; - $.ajax("", { - type: "post", // Usually post or get - async: true, - data: { time_js_next_test: time_js_next_test, forcechecknow: 1, token: 'notrequired' }, - dataType: "json", - success: function (result) { - //console.log(result); - var arrayofpastreminders = Object.values(result.pastreminders); - if (arrayofpastreminders && arrayofpastreminders.length > 0) { - console.log("Retrieved "+arrayofpastreminders.length+" reminders to do."); - var audio = null; - global->AGENDA_REMINDER_BROWSER_SOUND)) { - print 'audio = new Audio(\''.DOL_URL_ROOT.'/theme/common/sound/notification_agenda.wav\');'; +print ' var nowtime = Date.now();'; +print ' var time_auto_update = '.$conf->global->MAIN_BROWSER_NOTIFICATION_FREQUENCY.';'."\n"; // Always defined +print ' var time_js_next_test;'."\n"; +?> + +/* Check if permission ok */ +if (Notification.permission !== "granted") { + console.log("Ask Notification.permission"); + Notification.requestPermission() +} + +/* Launch timer */ + +// We set a delay before launching first test so next check will arrive after the time_auto_update compared to previous one. +//var time_first_execution = (time_auto_update + (time_js_next_test - nowtime)) * 1000; //need milliseconds +var time_first_execution = global->MAIN_BROWSER_NOTIFICATION_CHECK_FIRST_EXECUTION) ? 0 : $conf->global->MAIN_BROWSER_NOTIFICATION_CHECK_FIRST_EXECUTION); ?>; + +setTimeout(first_execution, time_first_execution * 1000); +time_js_next_test = nowtime + time_first_execution; +console.log("Launch browser notif check: setTimeout is set to launch 'first_execution' function after a wait of time_first_execution="+time_first_execution+". nowtime (time php page generation) = "+nowtime+" time_js_next_check = "+time_js_next_test); + + +function first_execution() { + console.log("Call first_execution then set repeat time to time_auto_update = MAIN_BROWSER_NOTIFICATION_FREQUENCY = "+time_auto_update); + check_events(); //one check before setting the new time for other checks + setInterval(check_events, time_auto_update * 1000); // Set new time to run next check events +} + +function check_events() { + if (Notification.permission === "granted") + { + time_js_next_test += time_auto_update; + console.log("Call ajax to check_events with time_js_next_test = "+time_js_next_test); + + $.ajax("", { + type: "post", // Usually post or get + async: true, + data: { time_js_next_test: time_js_next_test, forcechecknow: 1, token: 'notrequired' }, + dataType: "json", + success: function (result) { + //console.log(result); + var arrayofpastreminders = Object.values(result.pastreminders); + if (arrayofpastreminders && arrayofpastreminders.length > 0) { + console.log("Retrieved "+arrayofpastreminders.length+" reminders to do."); + var audio = null; + global->AGENDA_REMINDER_BROWSER_SOUND)) { + print 'audio = new Audio(\''.DOL_URL_ROOT.'/theme/common/sound/notification_agenda.wav\');'; + } + ?> + var listofreminderids = ''; + var noti = [] + + $.each(arrayofpastreminders, function (index, value) { + console.log(value); + var url = "notdefined"; + var title = "Not defined"; + var body = value.label; + if (value.type == 'agenda' && value.location != null && value.location != '') { + body += '\n' + value.location; } - ?> - var listofreminderids = ''; - var noti = [] - $.each(arrayofpastreminders, function (index, value) { - console.log(value); - var url = "notdefined"; - var title = "Not defined"; - var body = value.label; - if (value.type == 'agenda' && value.location != null && value.location != '') { - body += '\n' + value.location; - } + if (value.type == 'agenda' && (value.event_date_start_formated != null || value.event_date_start_formated['event_date_start'] != '')) { + body += '\n' + value.event_date_start_formated; + } - if (value.type == 'agenda' && (value.event_date_start_formated != null || value.event_date_start_formated['event_date_start'] != '')) { - body += '\n' + value.event_date_start_formated; - } + if (value.type == 'agenda') + { + url = '' + value.id_agenda; + title = 'transnoentities('EventReminder')) ?>'; + } + var extra = { + icon: '', + //image: '', + body: body, + tag: value.id_agenda, + requireInteraction: true + }; - if (value.type == 'agenda') - { - url = '' + value.id_agenda; - title = 'trans('EventReminder')) ?>'; - } - var extra = { - icon: '', - //image: '', - body: body, - tag: value.id_agenda, - requireInteraction: true + // We release the notify + console.log("Send notification on browser"); + noti[index] = new Notification(title, extra); + if (index==0 && audio) + { + audio.play(); + } + + if (noti[index]) { + noti[index].onclick = function (event) { + console.log("A click on notification on browser has been done"); + event.preventDefault(); // prevent the browser from focusing the Notification's tab + window.focus(); + window.open(url, '_blank'); + noti[index].close(); }; - // We release the notify - console.log("Send notification on browser"); - noti[index] = new Notification(title, extra); - if (index==0 && audio) - { - audio.play(); - } + listofreminderids = (listofreminderids == '' ? '' : listofreminderids + ',') + value.id_reminder + } + }); - if (noti[index]) { - noti[index].onclick = function (event) { - console.log("A click on notification on browser has been done"); - event.preventDefault(); // prevent the browser from focusing the Notification's tab - window.focus(); - window.open(url, '_blank'); - noti[index].close(); - }; - - listofreminderids = (listofreminderids == '' ? '' : listofreminderids + ',') + value.id_reminder - } - }); - - // Update status of all notifications we sent on browser (listofreminderids) - console.log("Flag notification as done for listofreminderids="+listofreminderids); - $.ajax(""+listofreminderids, { - type: "POST", // Usually post or get - async: true, - data: { time_js_next_test: time_js_next_test, token: 'notrequired' } - }); - } else { - console.log("No reminder to do found, next search at "+time_js_next_test); - } + // Update status of all notifications we sent on browser (listofreminderids) + console.log("Flag notification as done for listofreminderids="+listofreminderids); + $.ajax(""+listofreminderids, { + type: "POST", // Usually post or get + async: true, + data: { time_js_next_test: time_js_next_test, token: 'notrequired' } + }); + } else { + console.log("No reminder to do found, next search at "+time_js_next_test); } - }); - } - else - { - console.log("Cancel check_events. Useless because javascript Notification.permission is "+Notification.permission+" (blocked manualy or web site is not https)."); - } + } + }); + } + else + { + console.log("Cancel check_events. Useless because javascript Notification.permission is "+Notification.permission+" (blocked manualy or web site is not https)."); } - * Copyright (C) 2015-2017 Laurent Destailleur + * Copyright (C) 2021 Josep Lluís Amador * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -257,7 +258,7 @@ function updateTotal(days,mode) result=parseTime(jQuery('.totalDay'+stringdays).text(),taskTime); if (result >= 0) { - totalhour = totalhour + taskTime.getHours(); + totalhour = totalhour + taskTime.getHours() + result*24; totalmin = totalmin + taskTime.getMinutes(); } } diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index ae260171a0b..ef5b3eab061 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -123,6 +123,7 @@ function versioncompare($versionarray1, $versionarray2) * Return version PHP * * @return array Tableau de version (vermajeur,vermineur,autre) + * @see versioncompare() */ function versionphparray() { @@ -133,6 +134,7 @@ function versionphparray() * Return version Dolibarr * * @return array Tableau de version (vermajeur,vermineur,autre) + * @see versioncompare() */ function versiondolibarrarray() { @@ -1526,10 +1528,11 @@ function complete_elementList_with_modules(&$elementList) * @param array $tableau Array of constants array('key'=>array('type'=>type, 'label'=>label) * where type can be 'string', 'text', 'textarea', 'html', 'yesno', 'emailtemplate:xxx', ... * @param int $strictw3c 0=Include form into table (deprecated), 1=Form is outside table to respect W3C (deprecated), 2=No form nor button at all, 3=No form nor button at all and each field has a unique name (form is output by caller, recommended) - * @param string $helptext Help + * @param string $helptext Tooltip help to use for the column name of values + * @param string $text Text to use for the column name of values * @return void */ -function form_constantes($tableau, $strictw3c = 0, $helptext = '') +function form_constantes($tableau, $strictw3c = 0, $helptext = '', $text = 'Value') { global $db, $langs, $conf, $user; global $_Avery_Labels; @@ -1550,7 +1553,7 @@ function form_constantes($tableau, $strictw3c = 0, $helptext = '') print '
'; print ''; print ''; if (empty($strictw3c)) { diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index ae96f59d407..9796c49cf59 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -61,13 +61,13 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh // Filters //print ''; print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; if ($massaction != 'predelete' && $massaction != 'preaffecttag') { // When $massaction == 'predelete', action may be already output to 'delete' by the mass action system. print ''; } - print ''; + print ''; if ($canedit) { print '
'; diff --git a/htdocs/core/lib/ajax.lib.php b/htdocs/core/lib/ajax.lib.php index 99cf4e4f8d1..b59b40b8c9d 100644 --- a/htdocs/core/lib/ajax.lib.php +++ b/htdocs/core/lib/ajax.lib.php @@ -540,14 +540,15 @@ function ajax_combobox($htmlname, $events = array(), $minLengthToAutocomplete = * @param string $code Name of constant * @param array $input Array of complementary actions to do if success ("disabled"|"enabled'|'set'|'del') => CSS element to switch, 'alert' => message to show, ... Example: array('disabled'=>array(0=>'cssid')) * @param int $entity Entity. Current entity is used if null. - * @param int $revertonoff Revert on/off + * @param int $revertonoff 1=Revert on/off * @param int $strict Use only "disabled" with delConstant and "enabled" with setConstant * @param int $forcereload Force to reload page if we click/change value (this is supported only when there is no 'alert' option in input) * @param string $marginleftonlyshort 1 = Add a short left margin on picto, 2 = Add a larger left margin on picto, 0 = No left margin. Works for fontawesome picto only. * @param int $forcenoajax 1 = Force to use a ahref link instead of ajax code. + * @param int $setzeroinsteadofdel 1 = Set constantto '0' instead of deleting it * @return string */ -function ajax_constantonoff($code, $input = array(), $entity = null, $revertonoff = 0, $strict = 0, $forcereload = 0, $marginleftonlyshort = 2, $forcenoajax = 0) +function ajax_constantonoff($code, $input = array(), $entity = null, $revertonoff = 0, $strict = 0, $forcereload = 0, $marginleftonlyshort = 2, $forcenoajax = 0, $setzeroinsteadofdel = 0) { global $conf, $langs, $user; @@ -593,9 +594,13 @@ function ajax_constantonoff($code, $input = array(), $entity = null, $revertonof if (input.alert.del.yesButton) yesButton = input.alert.del.yesButton; if (input.alert.del.noButton) noButton = input.alert.del.noButton; confirmConstantAction("del", url, code, input, input.alert.del, entity, yesButton, noButton, strict, userid, token); - } else { - delConstant(url, code, input, entity, 0, '.$forcereload.', userid, token); - } + } else {'; + if (empty($setzeroinsteadofdel)) { + $out .=' delConstant(url, code, input, entity, 0, '.$forcereload.', userid, token);'; + } else { + $out .=' setConstant(url, code, input, entity, 0, '.$forcereload.', userid, token, 0);'; + } + $out .= ' } }); }); '."\n"; diff --git a/htdocs/core/lib/barcode.lib.php b/htdocs/core/lib/barcode.lib.php index 54bbc0a7666..12022ed178c 100644 --- a/htdocs/core/lib/barcode.lib.php +++ b/htdocs/core/lib/barcode.lib.php @@ -20,7 +20,7 @@ /** * \file htdocs/core/lib/barcode.lib.php - * \brief Set of functions used for barcode generation + * \brief Set of functions used for barcode generation (internal lib, also code 'phpbarcode') * \ingroup core */ @@ -69,7 +69,7 @@ if (defined('PHP-BARCODE_PATH_COMMAND')) { * Print barcode * * @param string $code Code - * @param string $encoding Encoding + * @param string $encoding Encoding ('EAN13', 'ISBN', 'C128', 'UPC', 'CBR', 'QRCODE', 'DATAMATRIX', 'ANY'...) * @param integer $scale Scale * @param string $mode 'png' or 'jpg' ... * @return array|string $bars array('encoding': the encoding which has been used, 'bars': the bars, 'text': text-positioning info) or string with error message @@ -149,12 +149,10 @@ function barcode_encode($code, $encoding) dol_syslog("barcode.lib.php::barcode_encode Use genbarcode ".$genbarcode_loc." code=".$code." encoding=".$encoding); $bars = barcode_encode_genbarcode($code, $encoding); } else { - print "barcode_encode needs an external programm for encodings other then EAN/ISBN (code=".$code.", encoding=".$encoding.")
\n"; + print "barcode_encode needs an external program for encodings other then EAN/ISBN (code=".dol_escape_htmltag($code).", encoding=".dol_escape_htmltag($encoding).")
\n"; print "
    \n"; print "
  • download gnu-barcode from www.gnu.org/software/barcode/\n"; print "
  • compile and install them\n"; - print "
  • download genbarcode from www.ashberg.de/bar/\n"; - print "
  • compile and install them\n"; print "
  • specify path the genbarcode in barcode module setup\n"; print "
\n"; print "
\n"; diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 21b6f9a68e4..7d261f2d5ab 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1899,7 +1899,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin } // Status - $out .= '
'; + $out .= ''; // Actions $out .= ''; @@ -1948,7 +1948,9 @@ function show_subsidiaries($conf, $langs, $db, $object) $socstatic = new Societe($db); print load_fiche_titre($langs->trans("Subsidiaries"), '', ''); - print "\n".'
'.$langs->trans("ServiceStatus").': '.$object->lines[$cursorline - 1]->getLibStatut(4).''.$langs->trans("ServiceStatus").': '.$object->lines[$cursorline - 1]->getLibStatut(4).''; if ($user->socid == 0) { if ($object->statut > 0 && $action != 'activateline' && $action != 'unactivateline') { diff --git a/htdocs/contrat/note.php b/htdocs/contrat/note.php index eab56b97a16..46a710a754d 100644 --- a/htdocs/contrat/note.php +++ b/htdocs/contrat/note.php @@ -44,6 +44,10 @@ $ref = GETPOST('ref', 'alpha'); if ($user->socid) { $socid = $user->socid; } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +//$hookmanager->initHooks(array('contractcard', 'globalcard')); -> Conflict with contrat\card.php +$hookmanager->initHooks(array('contractnote')); + $result = restrictedArea($user, 'contrat', $id); $object = new Contrat($db); @@ -51,16 +55,18 @@ $object->fetch($id, $ref); $permissionnote = $user->rights->contrat->creer; // Used by the include of actions_setnotes.inc.php -// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context -$hookmanager->initHooks(array('contractcard', 'globalcard')); - - /* * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} diff --git a/htdocs/contrat/services_list.php b/htdocs/contrat/services_list.php index 8368bffbab2..5a93f3fde33 100644 --- a/htdocs/contrat/services_list.php +++ b/htdocs/contrat/services_list.php @@ -35,6 +35,8 @@ require_once DOL_DOCUMENT_ROOT."/societe/class/societe.class.php"; // Load translation files required by the page $langs->loadLangs(array('products', 'contracts', 'companies')); +$optioncss = GETPOST('optioncss', 'aZ09'); + $limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit; $sortfield = GETPOST("sortfield", 'alpha'); $sortorder = GETPOST("sortorder", 'alpha'); @@ -58,7 +60,6 @@ $search_name = GETPOST("search_name", 'alpha'); $search_contract = GETPOST("search_contract", 'alpha'); $search_service = GETPOST("search_service", 'alpha'); $search_status = GETPOST("search_status", 'alpha'); -$statut = GETPOST('statut', 'int') ?GETPOST('statut', 'int') : 1; $search_product_category = GETPOST('search_product_category', 'int'); $socid = GETPOST('socid', 'int'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'contractservicelist'.$mode; @@ -412,16 +413,16 @@ if (!empty($filter_op2) && $filter_op2 != -1) { if (!empty($filter_opcloture) && $filter_opcloture != -1) { $param .= '&filter_opcloture='.urlencode($filter_opcloture); } -if ($filter_dateouvertureprevue != '') { +if ($filter_dateouvertureprevue_start != '') { $param .= '&opouvertureprevueday='.$opouvertureprevueday.'&opouvertureprevuemonth='.$opouvertureprevuemonth.'&opouvertureprevueyear='.$opouvertureprevueyear; } -if ($filter_date1 != '') { +if ($filter_date1_start != '') { $param .= '&op1day='.$op1day.'&op1month='.$op1month.'&op1year='.$op1year; } -if ($filter_date2 != '') { +if ($filter_date2_start != '') { $param .= '&op2day='.$op2day.'&op2month='.$op2month.'&op2year='.$op2year; } -if ($filter_datecloture != '') { +if ($filter_datecloture_start != '') { $param .= '&opclotureday='.$op2day.'&opcloturemonth='.$op2month.'&opclotureyear='.$op2year; } if ($optioncss != '') { diff --git a/htdocs/core/actions_dellink.inc.php b/htdocs/core/actions_dellink.inc.php index a7ac035506f..fbecacce515 100644 --- a/htdocs/core/actions_dellink.inc.php +++ b/htdocs/core/actions_dellink.inc.php @@ -27,17 +27,42 @@ // $permissiondellink must be defined $dellinkid = GETPOST('dellinkid', 'int'); +$addlink = GETPOST('addlink', 'alpha'); $addlinkid = GETPOST('idtolinkto', 'int'); +$addlinkref = GETPOST('reftolinkto', 'alpha'); +$cancellink = GETPOST('cancel', 'alpha'); // Link invoice to order -if ($action == 'addlink' && !empty($permissiondellink) && !GETPOST('cancel', 'alpha') && $id > 0 && $addlinkid > 0) { +if ($action == 'addlink' && !empty($permissiondellink) && !$cancellink && $id > 0 && $addlinkid > 0) { $object->fetch($id); $object->fetch_thirdparty(); - $result = $object->add_object_linked(GETPOST('addlink', 'alpha'), $addlinkid); + $result = $object->add_object_linked($addlink, $addlinkid); +} + +// Link by reference +if ($action == 'addlinkbyref' && ! empty($permissiondellink) && !$cancellink && $id > 0 && !empty($addlinkref) && !empty($conf->global->MAIN_LINK_BY_REF_IN_LINKTO)) { + $element_prop = getElementProperties($addlink); + if (is_array($element_prop)) { + dol_include_once('/' . $element_prop['classpath'] . '/' . $element_prop['classfile'] . '.class.php'); + + $objecttmp = new $element_prop['classname']($db); + $ret = $objecttmp->fetch(0, $addlinkref); + if ($ret > 0) { + $object->fetch($id); + $object->fetch_thirdparty(); + $result = $object->add_object_linked($addlink, $objecttmp->id); + if (isset($_POST['reftolinkto'])) unset($_POST['reftolinkto']); + } elseif ($ret < 0) { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + } else { + $langs->load('errors'); + setEventMessage($langs->trans('ErrorRecordNotFound'), 'errors'); + } + } } // Delete link -if ($action == 'dellink' && !empty($permissiondellink) && !GETPOST('cancel', 'alpha') && $dellinkid > 0) { +if ($action == 'dellink' && !empty($permissiondellink) && !$cancellink && $dellinkid > 0) { $result = $object->deleteObjectLinked(0, '', 0, '', $dellinkid); if ($result < 0) { setEventMessages($object->error, $object->errors, 'errors'); diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index cd8a3817602..c986a2e5ac1 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -1470,10 +1470,204 @@ if (!$error && ($action == 'affecttag' && $confirm == 'yes') && $permissiontoadd } } +if (!$error && ($massaction == 'enable' || ($action == 'enable' && $confirm == 'yes')) && $permissiontoadd) { + $db->begin(); + + $objecttmp = new $objectclass($db); + $nbok = 0; + foreach ($toselect as $toselectid) { + $result = $objecttmp->fetch($toselectid); + if ($result>0) { + if (in_array($objecttmp->element, array('societe'))) { + $result =$objecttmp->setStatut(1); + } + if ($result <= 0) { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } else { + $nbok++; + } + } else { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (!$error) { + if ($nbok > 1) { + setEventMessages($langs->trans("RecordsEnabled", $nbok), null, 'mesgs'); + } else { + setEventMessages($langs->trans("RecordEnabled"), null, 'mesgs'); + } + $db->commit(); + } else { + $db->rollback(); + } +} + +if (!$error && ($massaction == 'disable' || ($action == 'disable' && $confirm == 'yes')) && $permissiontoadd) { + $db->begin(); + + $objecttmp = new $objectclass($db); + $nbok = 0; + foreach ($toselect as $toselectid) { + $result = $objecttmp->fetch($toselectid); + if ($result>0) { + if (in_array($objecttmp->element, array('societe'))) { + $result =$objecttmp->setStatut(0); + } + if ($result <= 0) { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } else { + $nbok++; + } + } else { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (!$error) { + if ($nbok > 1) { + setEventMessages($langs->trans("RecordsDisabled", $nbok), null, 'mesgs'); + } else { + setEventMessages($langs->trans("RecordDisabled"), null, 'mesgs'); + } + $db->commit(); + } else { + $db->rollback(); + } +} + +if (!$error && ($massaction == 'approveleave' || ($action == 'approveleave' && $confirm == 'yes')) && $permissiontoapprove) { + $db->begin(); + + $objecttmp = new $objectclass($db); + $nbok = 0; + foreach ($toselect as $toselectid) { + $result = $objecttmp->fetch($toselectid); + if ($result>0) { + if ($objecttmp->statut == Holiday::STATUS_VALIDATED && $user->id == $objecttmp->fk_validator) { + $objecttmp->oldcopy = dol_clone($objecttmp); + + $objecttmp->date_valid = dol_now(); + $objecttmp->fk_user_valid = $user->id; + $objecttmp->statut = Holiday::STATUS_APPROVED; + + $db->begin(); + + $verif = $objecttmp->approve($user); + if ($verif <= 0) { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + } + + // If no SQL error, we redirect to the request form + if (!$error) { + // Calculcate number of days consummed + $nbopenedday = num_open_day($objecttmp->date_debut_gmt, $objecttmp->date_fin_gmt, 0, 1, $objecttmp->halfday); + $soldeActuel = $objecttmp->getCpforUser($objecttmp->fk_user, $objecttmp->fk_type); + $newSolde = ($soldeActuel - $nbopenedday); + + // The modification is added to the LOG + $result = $objecttmp->addLogCP($user->id, $objecttmp->fk_user, $langs->transnoentitiesnoconv("Holidays"), $newSolde, $objecttmp->fk_type); + if ($result < 0) { + $error++; + setEventMessages(null, $objecttmp->errors, 'errors'); + } + + // Update balance + $result = $objecttmp->updateSoldeCP($objecttmp->fk_user, $newSolde, $objecttmp->fk_type); + if ($result < 0) { + $error++; + setEventMessages(null, $objecttmp->errors, 'errors'); + } + } + + if (!$error) { + // To + $destinataire = new User($db); + $destinataire->fetch($objecttmp->fk_user); + $emailTo = $destinataire->email; + + if (!$emailTo) { + dol_syslog("User that request leave has no email, so we redirect directly to finished page without sending email"); + } else { + // From + $expediteur = new User($db); + $expediteur->fetch($objecttmp->fk_validator); + //$emailFrom = $expediteur->email; Email of user can be an email into another company. Sending will fails, we must use the generic email. + $emailFrom = $conf->global->MAIN_MAIL_EMAIL_FROM; + + // Subject + $societeName = $conf->global->MAIN_INFO_SOCIETE_NOM; + if (!empty($conf->global->MAIN_APPLICATION_TITLE)) { + $societeName = $conf->global->MAIN_APPLICATION_TITLE; + } + + $subject = $societeName." - ".$langs->transnoentitiesnoconv("HolidaysValidated"); + + // Content + $message = $langs->transnoentitiesnoconv("Hello")." ".$destinataire->firstname.",\n"; + $message .= "\n"; + + $message .= $langs->transnoentities("HolidaysValidatedBody", dol_print_date($objecttmp->date_debut, 'day'), dol_print_date($objecttmp->date_fin, 'day'))."\n"; + + $message .= "- ".$langs->transnoentitiesnoconv("ValidatedBy")." : ".dolGetFirstLastname($expediteur->firstname, $expediteur->lastname)."\n"; + + $message .= "- ".$langs->transnoentitiesnoconv("Link")." : ".$dolibarr_main_url_root."/holiday/card.php?id=".$objecttmp->id."\n\n"; + $message .= "\n"; + + $trackid = 'leav'.$objecttmp->id; + + $mail = new CMailFile($subject, $emailTo, $emailFrom, $message, array(), array(), array(), '', '', 0, 0, '', '', $trackid); + + // Sending email + $result = $mail->sendfile(); + + if (!$result) { + setEventMessages($mail->error, $mail->errors, 'warnings'); // Show error, but do no make rollback, so $error is not set to 1 + $action = ''; + } + } + } + + if (!$error) { + $db->commit(); + $nbok++; + } else { + $db->rollback(); + $action = ''; + } + } + } else { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (!$error) { + if ($nbok > 1) { + setEventMessages($langs->trans("RecordsApproved", $nbok), null, 'mesgs'); + } else { + setEventMessages($langs->trans("RecordAproved"), null, 'mesgs'); + } + $db->commit(); + } else { + $db->rollback(); + } +} + $parameters['toselect'] = $toselect; $parameters['uploaddir'] = $uploaddir; $parameters['massaction'] = $massaction; -$parameters['diroutputmassaction'] = $diroutputmassaction; +$parameters['diroutputmassaction'] = isset($diroutputmassaction) ? $diroutputmassaction : null; $reshook = $hookmanager->executeHooks('doMassActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) { diff --git a/htdocs/core/actions_sendmails.inc.php b/htdocs/core/actions_sendmails.inc.php index 83a823edeb2..55416354441 100644 --- a/htdocs/core/actions_sendmails.inc.php +++ b/htdocs/core/actions_sendmails.inc.php @@ -182,10 +182,15 @@ if (($action == 'send' || $action == 'relance') && !$_POST['addfile'] && !$_POST $tmparray = array(); if (trim($_POST['sendto'])) { - // Recipients are provided into free text + // Recipients are provided into free text field $tmparray[] = trim($_POST['sendto']); } + if (trim($_POST['tomail'])) { + // Recipients are provided into free hidden text field + $tmparray[] = trim($_POST['tomail']); + } + if (count($receiver) > 0) { // Recipient was provided from combo list foreach ($receiver as $key => $val) { @@ -311,7 +316,7 @@ if (($action == 'send' || $action == 'relance') && !$_POST['addfile'] && !$_POST $deliveryreceipt = $_POST['deliveryreceipt']; if ($action == 'send' || $action == 'relance') { - $actionmsg2 = $langs->transnoentities('MailSentBy').' '.CMailFile::getValidAddress($from, 4, 0, 1).' '.$langs->transnoentities('at').' '.CMailFile::getValidAddress($sendto, 4, 0, 1); + $actionmsg2 = $langs->transnoentities('MailSentBy').' '.CMailFile::getValidAddress($from, 4, 0, 1).' '.$langs->transnoentities('To').' '.CMailFile::getValidAddress($sendto, 4, 0, 1); if ($message) { $actionmsg = $langs->transnoentities('MailFrom').': '.dol_escape_htmltag($from); $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTo').': '.dol_escape_htmltag($sendto)); diff --git a/htdocs/core/ajax/constantonoff.php b/htdocs/core/ajax/constantonoff.php index 60684c1520b..b8beec3111a 100644 --- a/htdocs/core/ajax/constantonoff.php +++ b/htdocs/core/ajax/constantonoff.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2011-2015 Regis Houssin + * Copyright (C) 2021 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -47,6 +48,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; $action = GETPOST('action', 'aZ09'); // set or del $name = GETPOST('name', 'alpha'); +$entity = GETPOST('entity', 'int'); +$value = ((GETPOST('value', 'int') || GETPOST('value', 'int') == '0') ? GETPOST('value', 'int') : 1); /* @@ -64,9 +67,6 @@ top_httphead(); // Registering the new value of constant if (!empty($action) && !empty($name)) { - $entity = GETPOST('entity', 'int'); - $value = (GETPOST('value') ?GETPOST('value') : 1); - if ($user->admin) { if ($action == 'set') { dolibarr_set_const($db, $name, $value, 'chaine', 0, '', $entity); diff --git a/htdocs/core/ajax/selectsearchbox.php b/htdocs/core/ajax/selectsearchbox.php index 509d10e7858..1814b476d06 100644 --- a/htdocs/core/ajax/selectsearchbox.php +++ b/htdocs/core/ajax/selectsearchbox.php @@ -110,13 +110,13 @@ 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_supplier_proposal').' '.$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_supplier_proposal', '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_USE_NEW_SUPPLIERMOD) && $user->rights->fournisseur->commande->lire) || (!empty($conf->supplier_order->enabled) && $user->rights->supplier_order->lire)) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_ORDER_DISABLED)) { - $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) : '')); + $arrayresult['searchintosupplierorder'] = array('position'=>110, 'img'=>'object_supplier_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_USE_NEW_SUPPLIERMOD) && $user->rights->fournisseur->facture->lire) || (!empty($conf->supplier_invoice->enabled) && $user->rights->supplier_invoice->lire)) && empty($conf->global->MAIN_SEARCHFORM_SUPPLIER_INVOICE_DISABLED)) { - $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) : '')); + $arrayresult['searchintosupplierinvoice'] = array('position'=>120, 'img'=>'object_supplier_invoice', '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) : '')); } // Customer payments diff --git a/htdocs/core/boxes/box_factures.php b/htdocs/core/boxes/box_factures.php index 2a97d738cd8..12382ccb583 100644 --- a/htdocs/core/boxes/box_factures.php +++ b/htdocs/core/boxes/box_factures.php @@ -180,7 +180,7 @@ class box_factures extends ModeleBoxes ); $this->info_box_contents[$line][] = array( - 'td' => 'class="right nowraponall"', + 'td' => 'class="right nowraponall amount"', 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), ); diff --git a/htdocs/core/boxes/box_factures_imp.php b/htdocs/core/boxes/box_factures_imp.php index 391fc2e7cd0..400ae910749 100644 --- a/htdocs/core/boxes/box_factures_imp.php +++ b/htdocs/core/boxes/box_factures_imp.php @@ -182,7 +182,7 @@ class box_factures_imp extends ModeleBoxes ); $this->info_box_contents[$line][] = array( - 'td' => 'class="nowraponall right"', + 'td' => 'class="nowraponall right amount"', 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), ); diff --git a/htdocs/core/boxes/box_graph_nb_tickets_type.php b/htdocs/core/boxes/box_graph_nb_tickets_type.php index 86ea5e2a11c..2da54d84e7a 100644 --- a/htdocs/core/boxes/box_graph_nb_tickets_type.php +++ b/htdocs/core/boxes/box_graph_nb_tickets_type.php @@ -69,20 +69,11 @@ class box_graph_nb_tickets_type extends ModeleBoxes global $theme_datacolor, $badgeStatus8; require_once DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php"; + require_once DOL_DOCUMENT_ROOT."/theme/".$conf->theme."/theme_vars.inc.php"; - $badgeStatus0 = '#cbd3d3'; // draft - $badgeStatus1 = '#bc9526'; // validated - $badgeStatus1b = '#bc9526'; // validated - $badgeStatus2 = '#9c9c26'; // approved - $badgeStatus3 = '#bca52b'; - $badgeStatus4 = '#25a580'; // Color ok - $badgeStatus4b = '#25a580'; // Color ok - $badgeStatus5 = '#cad2d2'; - $badgeStatus6 = '#cad2d2'; - $badgeStatus7 = '#baa32b'; $badgeStatus8 = '#993013'; - $badgeStatus9 = '#e7f0f0'; + $text = $langs->trans("BoxTicketType"); $this->info_box_head = array( 'text' => $text, diff --git a/htdocs/core/boxes/box_scheduled_jobs.php b/htdocs/core/boxes/box_scheduled_jobs.php index 793b0cc8c79..53cf5c79571 100644 --- a/htdocs/core/boxes/box_scheduled_jobs.php +++ b/htdocs/core/boxes/box_scheduled_jobs.php @@ -85,7 +85,7 @@ class box_scheduled_jobs extends ModeleBoxes $resultarray = array(); $result = 0; - $sql = "SELECT t.rowid, t.datelastrun, t.datenextrun,"; + $sql = "SELECT t.rowid, t.datelastrun, t.datenextrun, t.datestart,"; $sql .= " t.label, t.status, t.test, t.lastresult"; $sql .= " FROM " . MAIN_DB_PREFIX . "cronjob as t"; $sql .= " WHERE status <> ".$cronstatic::STATUS_DISABLED; diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index 5683c8e6a07..33db393bbc6 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -1628,7 +1628,7 @@ class CMailFile * @return array array of email => name * @see getValidAddress() */ - public function getArrayAddress($address) + public static function getArrayAddress($address) { global $conf; diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 2a5e3391eb9..18920da3bc2 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -531,7 +531,7 @@ abstract class CommonDocGenerator $totalUp += $line->subprice * $line->qty; } - // @GS: Calculate total up and total discount percentage + // Calculate total up and total discount percentage // Note that this added fields does not match a field into database in Dolibarr (Dolibarr manage discount on lines not as a global property of object) $resarray['object_total_up'] = $totalUp; $resarray['object_total_up_locale'] = price($resarray['object_total_up'], 0, $outputlangs); @@ -1201,11 +1201,12 @@ abstract class CommonDocGenerator * get extrafield content for pdf writeHtmlCell compatibility * usage for PDF line columns and object note block * - * @param object $object common object - * @param string $extrafieldKey the extrafield key + * @param object $object Common object + * @param string $extrafieldKey The extrafield key + * @param Translate $outputlangs The output langs (if value is __(XXX)__ we use it to translate it). * @return string */ - public function getExtrafieldContent($object, $extrafieldKey) + public function getExtrafieldContent($object, $extrafieldKey, $outputlangs = null) { global $hookmanager; @@ -1341,7 +1342,7 @@ abstract class CommonDocGenerator $field = new stdClass(); $field->rank = intval($extrafields->attributes[$object->table_element]['pos'][$key]); - $field->content = $this->getExtrafieldContent($object, $key); + $field->content = $this->getExtrafieldContent($object, $key, $outputlangs); $field->label = $outputlangs->transnoentities($label); $field->type = $extrafields->attributes[$object->table_element]['type'][$key]; diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index ad26496a87e..52e27d89c87 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -73,6 +73,11 @@ abstract class CommonObject */ public $errors = array(); + /** + * @var array To store error results of ->validateField() + */ + public $validateFieldsErrors = array(); + /** * @var string ID to identify managed object */ @@ -123,10 +128,10 @@ abstract class CommonObject */ protected $table_ref_field = ''; - /** - * @var array $validateFieldsErrors to store error results of ->validateField() + /** + * @var integer 0=Default, 1=View may be restricted to sales representative only if no permission to see all or to company of external user if external user */ - public $validateFieldsErrors = array(); + public $restrictiononfksoc = 0; // Following vars are used by some objects only. We keep this property here in CommonObject to be able to provide common method using them. @@ -3020,6 +3025,7 @@ abstract class CommonObject */ public function updateRangOfLine($rowid, $rang) { + global $hookmanager; $fieldposition = 'rang'; // @todo Rename 'rang' into 'position' if (in_array($this->table_element_line, array('bom_bomline', 'ecm_files', 'emailcollector_emailcollectoraction'))) { $fieldposition = 'position'; @@ -3032,6 +3038,9 @@ abstract class CommonObject if (!$this->db->query($sql)) { dol_print_error($this->db); } + $parameters=array('rowid'=>$rowid, 'rang'=>$rang, 'fieldposition' => $fieldposition); + $action=''; + $reshook = $hookmanager->executeHooks('afterRankOfLineUpdate', $parameters, $this, $action); } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps @@ -3795,7 +3804,6 @@ abstract class CommonObject } elseif ($objecttype == 'contact') { $module = 'societe'; } - // Set classfile $classfile = strtolower($subelement); $classname = ucfirst($subelement); @@ -3827,6 +3835,11 @@ abstract class CommonObject $classfile = 'conferenceorboothattendee'; $classname = 'ConferenceOrBoothAttendee'; $module = 'eventorganization'; + } elseif ($objecttype == 'conferenceorbooth') { + $classpath = 'eventorganization/class'; + $classfile = 'conferenceorbooth'; + $classname = 'ConferenceOrBooth'; + $module = 'eventorganization'; } // Here $module, $classfile and $classname are set @@ -4111,7 +4124,7 @@ abstract class CommonObject $sql .= " SET ".$fieldstatus." = ".((int) $status); // If status = 1 = validated, update also fk_user_valid if ($status == 1 && $elementTable == 'expensereport') { - $sql .= ", fk_user_valid = ".$user->id; + $sql .= ", fk_user_valid = ".((int) $user->id); } $sql .= " WHERE rowid=".((int) $elementId); @@ -4805,13 +4818,18 @@ abstract class CommonObject if (!empty($this->lines)) { foreach ($this->lines as $line) { - if (is_object($hookmanager) && (($line->product_type == 9 && !empty($line->special_code)) || !empty($line->fk_parent_line))) { + $reshook = 0; + //if (is_object($hookmanager) && (($line->product_type == 9 && !empty($line->special_code)) || !empty($line->fk_parent_line))) { + if (is_object($hookmanager)) { // Old code is commented on preceding line. if (empty($line->fk_parent_line)) { - $parameters = array('line'=>$line, 'i'=>$i); - $action = ''; - $hookmanager->executeHooks('printOriginObjectLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + $parameters = array('line'=>$line, 'i'=>$i, 'restrictlist'=>$restrictlist, 'selectedLines'=> $selectedLines); + $reshook = $hookmanager->executeHooks('printOriginObjectLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks + } else { + $parameters = array('line'=>$line, 'i'=>$i, 'restrictlist'=>$restrictlist, 'selectedLines'=> $selectedLines, 'fk_parent_line'=>$line->fk_parent_line); + $reshook = $hookmanager->executeHooks('printOriginObjectSubLine', $parameters, $this, $action); // Note that $action and $object may have been modified by some hooks } - } else { + } + if (empty($reshook)) { $this->printOriginLine($line, '', $restrictlist, '/core/tpl', $selectedLines); } @@ -6258,10 +6276,12 @@ abstract class CommonObject $this->array_options["options_".$key] = price2num($this->array_options["options_".$key]); break; case 'date': - $this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]); - break; case 'datetime': - $this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]); + if (empty($this->array_options["options_".$key])) { + $this->array_options["options_".$key] = null; + } else { + $this->array_options["options_".$key] = $this->db->idate($this->array_options["options_".$key]); + } break; /* case 'link': @@ -6309,7 +6329,11 @@ abstract class CommonObject } if ($linealreadyfound) { - $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = '".$this->db->escape($this->array_options["options_".$key])."'"; + if ($this->array_options["options_".$key] === null) { + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = null"; + } else { + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element."_extrafields SET ".$key." = '".$this->db->escape($this->array_options["options_".$key])."'"; + } $sql .= " WHERE fk_object = ".$this->id; } else { $result = $this->insertExtraFields('', $user); @@ -6534,11 +6558,11 @@ abstract class CommonObject } elseif (in_array($type, array('int', 'integer'))) { $tmp = explode(',', $size); $newsize = $tmp[0]; - $out = ''; + $out = ' 0 ? ' maxlength="'.$newsize.'"' : '').' value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>'; } elseif (in_array($type, array('real'))) { $out = ''; } elseif (preg_match('/varchar/', $type)) { - $out = ''; + $out = ' 0 ? ' maxlength="'.$size.'"' : '').' value="'.dol_escape_htmltag($value).'"'.($moreparam ? $moreparam : '').($autofocusoncreate ? ' autofocus' : '').'>'; } elseif (in_array($type, array('mail', 'phone', 'url'))) { $out = ''; } elseif (preg_match('/^text/', $type)) { @@ -7733,6 +7757,9 @@ abstract class CommonObject if ($display_type == 'card') { $out .= '
'; @@ -7958,7 +7985,7 @@ abstract class CommonObject $buyPrice = $unitPrice * (1 - $discountPercent / 100); } else { // Get cost price for margin calculation - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { if (isset($conf->global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == 'costprice') { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $product = new Product($this->db); @@ -8770,7 +8797,6 @@ abstract class CommonObject // Retrieve all extrafield // fetch optionals attributes and labels $this->fetch_optionals(); - dol_syslog("aaa=".$this->id); return $this->id; } else { diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index b1819e24ab0..a1725526898 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -596,7 +596,7 @@ class DolGraph // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Get max value + * Get max value among all values of all series * * @return int Max value */ @@ -607,25 +607,26 @@ class DolGraph return 0; } - $k = 0; - $vals = array(); + $max = null; - $nblines = count($this->data); - $nbvalues = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); + $nbseries = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); - for ($j = 0; $j < $nblines; $j++) { - for ($i = 0; $i < $nbvalues; $i++) { - $vals[$k] = $this->data[$j][$i + 1]; - $k++; + foreach ($this->data as $x) { // Loop on each x + for ($i = 0; $i < $nbseries; $i++) { // Loop on each serie + if (is_null($max)) { + $max = $x[$i + 1]; // $i+1 because the index 0 is the legend + } elseif ($max < $x[$i + 1]) { + $max = $x[$i + 1]; + } } } - rsort($vals); - return $vals[0]; + + return $max; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps /** - * Return min value of all data + * Return min value of all values of all series * * @return int Min value of all data */ @@ -636,20 +637,21 @@ class DolGraph return 0; } - $k = 0; - $vals = array(); + $min = null; - $nblines = count($this->data); - $nbvalues = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); + $nbseries = (empty($this->data[0]) ? 0 : count($this->data[0]) - 1); - for ($j = 0; $j < $nblines; $j++) { - for ($i = 0; $i < $nbvalues; $i++) { - $vals[$k] = $this->data[$j][$i + 1]; - $k++; + foreach ($this->data as $x) { // Loop on each x + for ($i = 0; $i < $nbseries; $i++) { // Loop on each serie + if (is_null($min)) { + $min = $x[$i + 1]; // $i+1 because the index 0 is the legend + } elseif ($min > $x[$i + 1]) { + $min = $x[$i + 1]; + } } } - sort($vals); - return $vals[0]; + + return $min; } // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps diff --git a/htdocs/core/class/dolreceiptprinter.class.php b/htdocs/core/class/dolreceiptprinter.class.php index c109bc65733..a3ddb3d7c7f 100644 --- a/htdocs/core/class/dolreceiptprinter.class.php +++ b/htdocs/core/class/dolreceiptprinter.class.php @@ -390,7 +390,7 @@ class dolReceiptPrinter extends Printer $error = 0; $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'printer_receipt'; $sql .= ' (name, fk_type, fk_profile, parameter, entity)'; - $sql .= ' VALUES ("'.$this->db->escape($name).'", '.$type.', '.$profile.', "'.$this->db->escape($parameter).'", '.$conf->entity.')'; + $sql .= ' VALUES ("'.$this->db->escape($name).'", '.((int) $type).', '.((int) $profile).', "'.$this->db->escape($parameter).'", '.$conf->entity.')'; $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -415,10 +415,10 @@ class dolReceiptPrinter extends Printer $error = 0; $sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt'; $sql .= ' SET name="'.$this->db->escape($name).'"'; - $sql .= ', fk_type='.$type; - $sql .= ', fk_profile='.$profile; + $sql .= ', fk_type='.((int) $type); + $sql .= ', fk_profile='.((int) $profile); $sql .= ', parameter="'.$this->db->escape($parameter).'"'; - $sql .= ' WHERE rowid='.$printerid; + $sql .= ' WHERE rowid='.((int) $printerid); $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -438,7 +438,7 @@ class dolReceiptPrinter extends Printer global $conf; $error = 0; $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'printer_receipt'; - $sql .= ' WHERE rowid='.$printerid; + $sql .= ' WHERE rowid='.((int) $printerid); $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -480,7 +480,7 @@ class dolReceiptPrinter extends Printer global $conf; $error = 0; $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'printer_receipt_template'; - $sql .= " WHERE rowid = ".((int) $this->db->escape($templateid)); + $sql .= " WHERE rowid = ".((int) $templateid); $sql .= " AND entity = ".$conf->entity; $resql = $this->db->query($sql); if (!$resql) { @@ -505,7 +505,7 @@ class dolReceiptPrinter extends Printer $sql = 'UPDATE '.MAIN_DB_PREFIX.'printer_receipt_template'; $sql .= ' SET name="'.$this->db->escape($name).'"'; $sql .= ', template="'.$this->db->escape($template).'"'; - $sql .= ' WHERE rowid='.$templateid; + $sql .= ' WHERE rowid='.((int) $templateid); $resql = $this->db->query($sql); if (!$resql) { $error++; @@ -524,6 +524,7 @@ class dolReceiptPrinter extends Printer public function sendTestToPrinter($printerid) { global $conf; + $error = 0; $img = EscposImage::load(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo_bw.png'); //$this->profile = CapabilityProfile::load("TM-T88IV"); @@ -543,7 +544,7 @@ class dolReceiptPrinter extends Printer // If is DummyPrintConnector send to log to debugging if ($this->printer->connector instanceof DummyPrintConnector) { - $data = $this->printer->connector-> getData(); + $data = $this->printer->connector->getData(); dol_syslog($data); } $this->printer->close(); @@ -679,9 +680,7 @@ class dolReceiptPrinter extends Printer foreach ($object->lines as $line) { $total_localtax1 += $line->total_localtax1; } - foreach ($vatarray as $vatkey => $vatvalue) { - $this->printer->text(str_pad(price($total_localtax1), 10, ' ', STR_PAD_LEFT)."\n"); - } + $this->printer->text(str_pad(price($total_localtax1), 10, ' ', STR_PAD_LEFT)."\n"); break; case 'DOL_PRINT_OBJECT_TAX2': //var_dump($object); @@ -689,9 +688,7 @@ class dolReceiptPrinter extends Printer foreach ($object->lines as $line) { $total_localtax2 += $line->total_localtax2; } - foreach ($vatarray as $vatkey => $vatvalue) { - $this->printer->text(str_pad(price($total_localtax2), 10, ' ', STR_PAD_LEFT)."\n"); - } + $this->printer->text(str_pad(price($total_localtax2), 10, ' ', STR_PAD_LEFT)."\n"); break; case 'DOL_PRINT_OBJECT_TOTAL': $title = $langs->trans('TotalHT'); @@ -899,7 +896,7 @@ class dolReceiptPrinter extends Printer public function initPrinter($printerid) { global $conf; - if ($conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") { + if (getDolGlobalString('TAKEPOS_PRINT_METHOD') == "takeposconnector") { $this->connector = new DummyPrintConnector(); $this->printer = new Printer($this->connector, $this->profile); return; @@ -934,8 +931,8 @@ class dolReceiptPrinter extends Printer $parameters = explode(':', $parameter); $this->connector = new NetworkPrintConnector($parameters[0], $parameters[1]); break; - case 4: - $this->connector = new WindowsPrintConnector($parameter); + case 4: // LPT1, smb://... + $this->connector = new WindowsPrintConnector(dol_sanitizePathName($parameter)); break; case 5: $this->connector = new CupsPrintConnector($parameter); diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 54d812aeafb..f6a5ba93d61 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -2006,30 +2006,32 @@ class ExtraFields $collapse_display = ((isset($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key]) || GETPOST('ignorecollapsesetup', 'int')) ? ($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key] ? true : false) : ($extrafield_collapse_display_value == 2 ? false : true)); $extrafields_collapse_num = $this->attributes[$object->table_element]['pos'][$key].(!empty($object->id)?'_'.$object->id:''); - $out .= ''."\n"; - $out .= ''."\n"; } - $out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n"; - $out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n"; - $out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(300, function(){'."\n"; - $out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n"; - $out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n"; - $out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n"; - $out .= ' } else {'."\n"; - $out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-minus-square").removeClass("fa-plus-square");'."\n"; - $out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n"; - $out .= ' }'."\n"; - $out .= ' });'."\n"; - $out .= ' });'."\n"; - $out .= '});'."\n"; - $out .= ''."\n"; } } } diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index cef41497381..45643e26e4c 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -193,6 +193,7 @@ class HookManager 'getFormatedSupplierRef', 'getIdProfUrl', 'getInputIdProf', + 'menuLeftMenuItems', 'moveUploadedFile', 'moreHtmlStatus', 'pdf_build_address', @@ -272,8 +273,10 @@ class HookManager $parameters['currentcontext'] = $context; // Hooks that must return int (hooks with type 'addreplace') if ($hooktype == 'addreplace') { - $resaction += $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) - if ($resaction < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { + $resactiontmp = $actionclassinstance->$method($parameters, $object, $action, $this); // $object and $action can be changed by method ($object->id during creation for example or $action to go back to other action for example) + $resaction += $resactiontmp; + + if ($resactiontmp < 0 || !empty($actionclassinstance->error) || (!empty($actionclassinstance->errors) && count($actionclassinstance->errors) > 0)) { $error++; $this->error = $actionclassinstance->error; $this->errors = array_merge($this->errors, (array) $actionclassinstance->errors); @@ -281,13 +284,22 @@ class HookManager } if (isset($actionclassinstance->results) && is_array($actionclassinstance->results)) { - $this->resArray = array_merge($this->resArray, $actionclassinstance->results); + if ($resactiontmp > 0) { + $this->resArray = $actionclassinstance->results; + } else { + $this->resArray = array_merge($this->resArray, $actionclassinstance->results); + } } if (!empty($actionclassinstance->resprints)) { - $this->resPrint .= $actionclassinstance->resprints; + if ($resactiontmp > 0) { + $this->resPrint = $actionclassinstance->resprints; + } else { + $this->resPrint .= $actionclassinstance->resprints; + } } } else { // Generic hooks that return a string or array (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...) + // TODO. this test should be done into the method of hook by returning nothing if (is_array($parameters) && !empty($parameters['special_code']) && $parameters['special_code'] > 3 && $parameters['special_code'] != $actionclassinstance->module_number) { continue; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 0b1504d229a..07abdb4b465 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -589,6 +589,7 @@ class Form if (!$htmltext) { return $text; } + $direction = (int) $direction; // For backward compatibility when $direction was set to '' instead of 0 $tag = 'td'; if ($notabs == 2) { @@ -957,7 +958,7 @@ class Form if ($row['code_iso']) { $labeltoshow .= ' ('.$row['code_iso'].')'; if (empty($hideflags)) { - $tmpflag = picto_from_langcode($row['code_iso'], 'class="saturatemedium paddingrightonly"'); + $tmpflag = picto_from_langcode($row['code_iso'], 'class="saturatemedium paddingrightonly"', 1); $labeltoshow = $tmpflag.' '.$labeltoshow; } } @@ -968,7 +969,7 @@ class Form $out .= ''; + $out .= ''."\n"; } } $out .= ''; @@ -1251,6 +1252,9 @@ class Form if (is_null($ajaxoptions)) { $ajaxoptions = array(); } + + require_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; + // No immediate load of all database $placeholder = ''; if ($selected && empty($selected_input_value)) { @@ -1263,16 +1267,17 @@ class Form // mode 1 $urloption = 'htmlname='.urlencode($htmlname).'&outjson=1&filter='.urlencode($filter).(empty($excludeids) ? '' : '&excludeids='.join(',', $excludeids)).($showtype ? '&showtype='.urlencode($showtype) : ''); $out .= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/societe/ajax/company.php', $urloption, $conf->global->COMPANY_USE_SEARCH_TO_SELECT, 0, $ajaxoptions); - $out .= ''; + + $out .= ''; if (empty($hidelabel)) { print $langs->trans("RefOrLabel").' : '; } elseif ($hidelabel > 1) { - $placeholder = ' placeholder="'.$langs->trans("RefOrLabel").'"'; + $placeholder = $langs->trans("RefOrLabel"); if ($hidelabel == 2) { $out .= img_picto($langs->trans("Search"), 'search'); } } - $out .= 'global->THIRDPARTY_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />'; + $out .= 'global->THIRDPARTY_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />'; if ($hidelabel == 3) { $out .= img_picto($langs->trans("Search"), 'search'); } @@ -1328,7 +1333,7 @@ class Form } // We search companies - $sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.client, s.fournisseur, s.code_client, s.code_fournisseur"; + $sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur"; if (!empty($conf->global->COMPANY_SHOW_ADDRESS_SELECTLIST)) { $sql .= ", s.address, s.zip, s.town"; $sql .= ", dictp.code as country_code"; @@ -1380,6 +1385,7 @@ class Form $sql .= " OR s.barcode LIKE '".$this->db->escape($prefix.$filterkey)."%'"; } $sql .= " OR s.code_client LIKE '".$this->db->escape($prefix.$filterkey)."%' OR s.code_fournisseur LIKE '".$this->db->escape($prefix.$filterkey)."%'"; + $sql .= " OR s.name_alias LIKE '".$this->db->escape($prefix.$filterkey)."%' OR s.tva_intra LIKE '".$this->db->escape($prefix.$filterkey)."%'"; $sql .= ")"; } $sql .= $this->db->order("nom", "ASC"); @@ -1947,15 +1953,12 @@ class Form } dol_syslog(get_class($this)."::select_dolusers", LOG_DEBUG); + $resql = $this->db->query($sql); if ($resql) { $num = $this->db->num_rows($resql); $i = 0; if ($num) { - // Enhance with select2 - include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; - $out .= ajax_combobox($htmlname); - // do not use maxwidthonsmartphone by default. Set it by caller so auto size to 100% will work when not defined $out .= ''; + + if ($num) { + // Enhance with select2 + include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; + $out .= ajax_combobox($htmlname); + } } else { dol_print_error($this->db); } @@ -2176,7 +2185,7 @@ class Form * * @param int $selected Preselected products * @param string $htmlname Name of HTML select field (must be unique in page). - * @param int $filtertype Filter on product type (''=nofilter, 0=product, 1=service) + * @param int|string $filtertype Filter on product type (''=nofilter, 0=product, 1=service) * @param int $limit Limit on number of returned lines * @param int $price_level Level of price to show * @param int $status Sell status -1=Return all products, 0=Products not on sell, 1=Products on sell @@ -2604,7 +2613,7 @@ class Form } } if ($showempty) { - $out .= ''; + $out .= ''; } $i = 0; @@ -3919,13 +3928,16 @@ class Form * @param int $maxlength Max length of label * @param int $active Active or not, -1 = all * @param string $morecss Add more CSS on select tag + * @param int $nooutput 1=Return string, do not send to output * @return void */ - public function select_types_paiements($selected = '', $htmlname = 'paiementtype', $filtertype = '', $format = 0, $empty = 1, $noadmininfo = 0, $maxlength = 0, $active = 1, $morecss = '') + public function select_types_paiements($selected = '', $htmlname = 'paiementtype', $filtertype = '', $format = 0, $empty = 1, $noadmininfo = 0, $maxlength = 0, $active = 1, $morecss = '', $nooutput = 0) { // phpcs:enable global $langs, $user, $conf; + $out = ''; + dol_syslog(__METHOD__." ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG); $filterarray = array(); @@ -3944,9 +3956,9 @@ class Form $selected = $conf->global->MAIN_DEFAULT_PAYMENT_TYPE_ID; } - print ''; if ($empty) { - print ''; + $out .= ''; } foreach ($this->cache_types_paiements as $id => $arraytypes) { // If not good status @@ -3965,25 +3977,25 @@ class Form } if ($format == 0) { - print ''; + $out .= $value ? $value : ' '; + $out .= ''; } - print ''; + $out .= ''; if ($user->admin && !$noadmininfo) { - print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); + $out .= info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); + } + $out .= ajax_combobox('select'.$htmlname); + + if (empty($nooutput)) { + print $out; + } else { + return $out; } - print ajax_combobox('select'.$htmlname); } @@ -4450,7 +4468,6 @@ class Form */ public function selectEstablishments($selected = '', $htmlname = 'entity', $status = 0, $filtre = '', $useempty = 0, $moreattrib = '') { - // phpcs:enable global $langs, $conf; $langs->load("admin"); @@ -4716,7 +4733,7 @@ class Form $more .= '
'."\n"; foreach ($formquestion as $key => $input) { if (is_array($input) && !empty($input)) { - $size = (!empty($input['size']) ? ' size="'.$input['size'].'"' : ''); + $size = (!empty($input['size']) ? ' size="'.$input['size'].'"' : ''); // deprecated. Use morecss instead. $moreattr = (!empty($input['moreattr']) ? ' '.$input['moreattr'] : ''); $morecss = (!empty($input['morecss']) ? ' '.$input['morecss'] : ''); @@ -6578,6 +6595,213 @@ class Form return; } + /** + * Return list of tickets in Ajax if Ajax activated or go to selectTicketsList + * + * @param int $selected Preselected tickets + * @param string $htmlname Name of HTML select field (must be unique in page). + * @param string $filtertype To add a filter + * @param int $limit Limit on number of returned lines + * @param int $status Ticket status + * @param string $selected_input_value Value of preselected input text (for use with ajax) + * @param int $hidelabel Hide label (0=no, 1=yes, 2=show search icon (before) and placeholder, 3 search icon after) + * @param array $ajaxoptions Options for ajax_autocompleter + * @param int $socid Thirdparty Id (to get also price dedicated to this customer) + * @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text. + * @param int $forcecombo Force to use combo box + * @param string $morecss Add more css on select + * @param array $selected_combinations Selected combinations. Format: array([attrid] => attrval, [...]) + * @param string $nooutput No print, return the output into a string + * @return void|string + */ + public function selectTickets($selected = '', $htmlname = 'ticketid', $filtertype = '', $limit = 0, $status = 1, $selected_input_value = '', $hidelabel = 0, $ajaxoptions = array(), $socid = 0, $showempty = '1', $forcecombo = 0, $morecss = '', $selected_combinations = null, $nooutput = 0) + { + global $langs, $conf; + + $out = ''; + + // check parameters + if (is_null($ajaxoptions)) $ajaxoptions = array(); + + if (!empty($conf->use_javascript_ajax) && !empty($conf->global->TICKET_USE_SEARCH_TO_SELECT)) { + $placeholder = ''; + + if ($selected && empty($selected_input_value)) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + $tickettmpselect = new Ticket($this->db); + $tickettmpselect->fetch($selected); + $selected_input_value = $tickettmpselect->ref; + unset($tickettmpselect); + } + + $out .= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/ticket/ajax/tickets.php', $urloption, $conf->global->PRODUIT_USE_SEARCH_TO_SELECT, 1, $ajaxoptions); + + if (empty($hidelabel)) $out .= $langs->trans("RefOrLabel").' : '; + elseif ($hidelabel > 1) { + $placeholder = ' placeholder="'.$langs->trans("RefOrLabel").'"'; + if ($hidelabel == 2) { + $out .= img_picto($langs->trans("Search"), 'search'); + } + } + $out .= 'global->PRODUCT_SEARCH_AUTOFOCUS) ? 'autofocus' : '').' />'; + if ($hidelabel == 3) { + $out .= img_picto($langs->trans("Search"), 'search'); + } + } else { + $out .= $this->selectTicketsList($selected, $htmlname, $filtertype, $limit, $status, 0, $socid, $showempty, $forcecombo, $morecss); + } + + if (empty($nooutput)) print $out; + else return $out; + } + + + /** + * Return list of tickets. + * Called by selectTickets. + * + * @param int $selected Preselected ticket + * @param string $htmlname Name of select html + * @param string $filtertype Filter on ticket type + * @param int $limit Limit on number of returned lines + * @param string $filterkey Filter on product + * @param int $status Ticket status + * @param int $outputmode 0=HTML select string, 1=Array + * @param string $showempty '' to not show empty line. Translation key to show an empty line. '1' show empty line with no text. + * @param int $forcecombo Force to use combo box + * @param string $morecss Add more css on select + * @return array Array of keys for json + */ + public function selectTicketsList($selected = '', $htmlname = 'ticketid', $filtertype = '', $limit = 20, $filterkey = '', $status = 1, $outputmode = 0, $showempty = '1', $forcecombo = 0, $morecss = '') + { + global $langs, $conf, $user, $db; + + $out = ''; + $outarray = array(); + + $selectFields = " p.rowid, p.ref, p.message"; + + $sql = "SELECT "; + $sql .= $selectFields; + $sql .= " FROM ".MAIN_DB_PREFIX."ticket as p"; + $sql .= ' WHERE p.entity IN ('.getEntity('ticket').')'; + + // Add criteria on ref/label + if ($filterkey != '') { + $sql .= ' AND ('; + $prefix = empty($conf->global->TICKET_DONOTSEARCH_ANYWHERE) ? '%' : ''; // Can use index if PRODUCT_DONOTSEARCH_ANYWHERE is on + // For natural search + $scrit = explode(' ', $filterkey); + $i = 0; + if (count($scrit) > 1) $sql .= "("; + foreach ($scrit as $crit) { + if ($i > 0) $sql .= " AND "; + $sql .= "(p.ref LIKE '".$this->db->escape($prefix.$crit)."%' OR p.label LIKE '".$this->db->escape($prefix.$crit)."%'"; + $sql .= ")"; + $i++; + } + if (count($scrit) > 1) $sql .= ")"; + $sql .= ')'; + } + + $sql .= $this->db->plimit($limit, 0); + + // Build output string + dol_syslog(get_class($this)."::selectTicketsList search tickets", LOG_DEBUG); + $result = $this->db->query($sql); + if ($result) { + require_once DOL_DOCUMENT_ROOT.'/ticket/class/ticket.class.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/ticket.lib.php'; + + $num = $this->db->num_rows($result); + + $events = null; + + if (!$forcecombo) { + include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; + $out .= ajax_combobox($htmlname, $events, $conf->global->TICKET_USE_SEARCH_TO_SELECT); + } + + $out .= ''; + + $this->db->free($result); + + if (empty($outputmode)) return $out; + return $outarray; + } else { + dol_print_error($db); + } + } + + /** + * constructTicketListOption. + * This define value for &$opt and &$optJson. + * + * @param resource $objp Result set of fetch + * @param string $opt Option (var used for returned value in string option format) + * @param string $optJson Option (var used for returned value in json format) + * @param string $selected Preselected value + * @param string $filterkey Filter key to highlight + * @return void + */ + protected function constructTicketListOption(&$objp, &$opt, &$optJson, $selected, $filterkey = '') + { + global $langs, $conf, $user, $db; + + $outkey = ''; + $outval = ''; + $outref = ''; + $outlabel = ''; + $outtype = ''; + + $label = $objp->label; + + $outkey = $objp->rowid; + $outref = $objp->ref; + $outlabel = $objp->label; + $outtype = $objp->fk_product_type; + + $opt = '\n"; + $optJson = array('key'=>$outkey, 'value'=>$outref, 'type'=>$outtypem); + } + /** * Generic method to select a component from a combo list. @@ -6657,11 +6881,8 @@ class Form $urloption = 'htmlname='.$htmlname.'&outjson=1&objectdesc='.$objectdesc.'&filter='.urlencode($objecttmp->filter); // Activate the auto complete using ajax call. $out .= ajax_autocompleter($preselectedvalue, $htmlname, $urlforajaxcall, $urloption, $conf->global->$confkeyforautocompletemode, 0, array()); - $out .= ''; - if ($placeholder) { - $placeholder = ' placeholder="'.$placeholder.'"'; - } - $out .= ''; + $out .= ''; + $out .= ''; } else { // Immediate load of table record. Note: filter is inside $objecttmp->filter $out .= $this->selectForFormsList($objecttmp, $htmlname, $preselectedvalue, $showempty, $searchkey, $placeholder, $morecss, $moreparams, $forcecombo, 0, $disabled); @@ -6764,13 +6985,15 @@ class Form // Search data $sql = "SELECT t.rowid, ".$fieldstoshow." FROM ".MAIN_DB_PREFIX.$objecttmp->table_element." as t"; - if (isset($objecttmp->ismultientitymanaged) && !is_numeric($objecttmp->ismultientitymanaged)) { - $tmparray = explode('@', $objecttmp->ismultientitymanaged); - $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.$tmparray[1].' as parenttable ON parenttable.rowid = t.'.$tmparray[0]; - } - if ($objecttmp->ismultientitymanaged == 'fk_soc@societe') { - if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + if (isset($objecttmp->ismultientitymanaged)) { + if (!is_numeric($objecttmp->ismultientitymanaged)) { + $tmparray = explode('@', $objecttmp->ismultientitymanaged); + $sql .= ' INNER JOIN '.MAIN_DB_PREFIX.$tmparray[1].' as parenttable ON parenttable.rowid = t.'.$tmparray[0]; + } + if ($objecttmp->ismultientitymanaged == 'fk_soc@societe') { + if (!$user->rights->societe->client->voir && !$user->socid) { + $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + } } } @@ -6781,27 +7004,29 @@ class Form $sql .= $hookmanager->resPrint; } else { $sql .= " WHERE 1=1"; - if (isset($objecttmp->ismultientitymanaged) && $objecttmp->ismultientitymanaged == 1) { - $sql .= " AND t.entity IN (".getEntity($objecttmp->table_element).")"; - } - if (isset($objecttmp->ismultientitymanaged) && !is_numeric($objecttmp->ismultientitymanaged)) { - $sql .= ' AND parenttable.entity = t.'.$tmparray[0]; - } - if ($objecttmp->ismultientitymanaged == 1 && !empty($user->socid)) { - if ($objecttmp->element == 'societe') { - $sql .= " AND t.rowid = ".$user->socid; - } else { - $sql .= " AND t.fk_soc = ".$user->socid; + if (isset($objecttmp->ismultientitymanaged)) { + if ($objecttmp->ismultientitymanaged == 1) { + $sql .= " AND t.entity IN (".getEntity($objecttmp->table_element).")"; + } + if (!is_numeric($objecttmp->ismultientitymanaged)) { + $sql .= ' AND parenttable.entity = t.'.$tmparray[0]; + } + if ($objecttmp->ismultientitymanaged == 1 && !empty($user->socid)) { + if ($objecttmp->element == 'societe') { + $sql .= " AND t.rowid = ".$user->socid; + } else { + $sql .= " AND t.fk_soc = ".$user->socid; + } + } + if ($objecttmp->ismultientitymanaged == 'fk_soc@societe') { + if (!$user->rights->societe->client->voir && !$user->socid) { + $sql .= " AND t.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; + } } } if ($searchkey != '') { $sql .= natural_search(explode(',', $fieldstoshow), $searchkey); } - if ($objecttmp->ismultientitymanaged == 'fk_soc@societe') { - if (!$user->rights->societe->client->voir && !$user->socid) { - $sql .= " AND t.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; - } - } if ($objecttmp->filter) { // Syntax example "(t.ref:like:'SO-%') and (t.date_creation:<:'20160101')" /*if (! DolibarrApi::_checkFilters($objecttmp->filter)) { @@ -7063,7 +7288,7 @@ class Form public static function selectArrayAjax($htmlname, $url, $id = '', $moreparam = '', $moreparamtourl = '', $disabled = 0, $minimumInputLength = 1, $morecss = '', $callurlonselect = 0, $placeholder = '', $acceptdelayedhtml = 0) { global $conf, $langs; - global $delayedhtmlcontent; + global $delayedhtmlcontent; // Will be used later outside of this function // TODO Use an internal dolibarr component instead of select2 if (empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) && !defined('REQUIRE_JQUERY_MULTISELECT')) { @@ -7072,68 +7297,71 @@ class Form $out = ''; - $tmpplugin = 'select2'; - $outdelayed = "\n".' - '; + }); + '; + } if ($acceptdelayedhtml) { $delayedhtmlcontent .= $outdelayed; @@ -7164,7 +7392,7 @@ class Form public static function selectArrayFilter($htmlname, $array, $id = '', $moreparam = '', $disableFiltering = 0, $disabled = 0, $minimumInputLength = 1, $morecss = '', $callurlonselect = 0, $placeholder = '', $acceptdelayedhtml = 0) { global $conf, $langs; - global $delayedhtmlcontent; + global $delayedhtmlcontent; // Will be used later outside of this function // TODO Use an internal dolibarr component instead of select2 if (empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) && !defined('REQUIRE_JQUERY_MULTISELECT')) { @@ -7183,74 +7411,77 @@ class Form $formattedarrayresult[] = $o; } - $tmpplugin = 'select2'; - $outdelayed = "\n".' - '; + '.($callurlonselect ? ' + /* Code to execute a GET when we select a value */ + $(".'.$htmlname.'").change(function() { + var selected = $(".'.$htmlname.'").val(); + console.log("We select "+selected) + + $(".'.$htmlname.'").val(""); /* reset visible combo value */ + $.each( saveRemoteData, function( key, value ) { + if (key == selected) + { + console.log("selectArrayFilter - Do a redirect to "+value.url) + location.assign(value.url); + } + }); + });' : '').' + + }); + '; + } if ($acceptdelayedhtml) { $delayedhtmlcontent .= $outdelayed; @@ -7293,7 +7524,7 @@ class Form } // Add code for jquery to use multiselect - if (!empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) { + if (!empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) { $out .= "\n".''; $out .= "\n".''; $out .= ''; $out .= '
'; diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php index daafa88333f..259e5a3a19a 100644 --- a/htdocs/core/class/html.formticket.class.php +++ b/htdocs/core/class/html.formticket.class.php @@ -272,6 +272,15 @@ class FormTicket print '
'.$langs->trans("Categories").''; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_TICKET, '', 'parent', 64, 0, 1); + print img_picto('', 'category').$form->multiselectarray('categories', $cate_arbo, GETPOST('categories', 'array'), '', 0, 'quatrevingtpercent widthcentpercentminusx', 0, 0); + print "
'; + print $langs->trans("AssignedTo"); + print ''; + print $form->select_dolusers(GETPOST('fk_user_assign', 'int'), 'fk_user_assign', 1); + print '
'.$langs->trans("Description").''; - $text = $langs->trans("Value"); + $text = $langs->trans($text); print $form->textwithpicto($text, $helptext, 1, 'help', '', 0, 2, 'idhelptext'); print ''.$actionstatic->LibStatut($histo[$key]['percent'], 3, 0, $histo[$key]['datestart']).''.$actionstatic->LibStatut($histo[$key]['percent'], 2, 0, $histo[$key]['datestart']).'
'."\n"; + + print "\n".'
'."\n"; + print '
'."\n"; print ''; print ''; @@ -1976,17 +1978,17 @@ function show_subsidiaries($conf, $langs, $db, $object) print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; print ''; @@ -1994,6 +1996,7 @@ function show_subsidiaries($conf, $langs, $db, $object) $i++; } print "\n
'.$langs->trans("Company").''.$langs->trans("Address").''.$langs->trans("Zip").'
'; + print ''; print $socstatic->getNomUrl(1); print ''.$obj->address.''.$obj->zip.''.$obj->town.''.$obj->code_client.''.dol_escape_htmltag($obj->address).''.$obj->zip.''.$obj->town.''.$obj->code_client.''; - print ''; + print ''; print img_edit(); print '
\n"; + print ''."\n"; } print "
\n"; diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 2d111e37ef8..5216ff554e4 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -114,8 +114,13 @@ function dol_print_cron_urls() print ''.$langs->trans("FileToLaunchCronJobs").':
'; - $file = '/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY.'').' '.$logintouse.' [cronjobid]'; - print '
\n"; + $pathtoscript = '/pathtoscript'; + if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) { + $pathtoscript = $conf->global->MAIN_DOL_SCRIPTS_ROOT; + } + + $file = $pathtoscript.'/scripts/cron/cron_run_jobs.php '.(empty($conf->global->CRON_KEY) ? 'securitykey' : ''.$conf->global->CRON_KEY.'').' '.$logintouse.' [cronjobid]'; + print '
\n"; print '
'; // Add note @@ -131,7 +136,7 @@ function dol_print_cron_urls() if ($linuxlike) { print $langs->trans("CronExplainHowToRunUnix"); print '
'; - print '
'; + print '
'; } else { print $langs->trans("CronExplainHowToRunWin"); } diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index fe21071901a..8fe9352457b 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -668,15 +668,16 @@ function getGMTEasterDatetime($year) * * @param int $timestampStart Timestamp start (UTC with hour, min, sec = 0) * @param int $timestampEnd Timestamp end (UTC with hour, min, sec = 0) - * @param string $country_code Country code - * @param int $lastday Last day is included, 0: no, 1:yes + * @param string $country_code Country code + * @param int $lastday Last day is included, 0: no, 1:yes * @param int $includesaturday Include saturday as non working day (-1=use setup, 0=no, 1=yes) * @param int $includesunday Include sunday as non working day (-1=use setup, 0=no, 1=yes) * @param int $includefriday Include friday as non working day (-1=use setup, 0=no, 1=yes) - * @return int|string Number of non working days or error message string if error + * @param int $includemonday Include monday as non working day (-1=use setup, 0=no, 1=yes) + * @return int|string Number of non working days or error message string if error * @see num_between_day(), num_open_day() */ -function num_public_holiday($timestampStart, $timestampEnd, $country_code = '', $lastday = 0, $includesaturday = -1, $includesunday = -1, $includefriday = -1) +function num_public_holiday($timestampStart, $timestampEnd, $country_code = '', $lastday = 0, $includesaturday = -1, $includesunday = -1, $includefriday = -1, $includemonday = -1) { global $db, $conf, $mysoc; @@ -690,6 +691,9 @@ function num_public_holiday($timestampStart, $timestampEnd, $country_code = '', if (empty($country_code)) { $country_code = $mysoc->country_code; } + if ($includemonday < 0) { + $includemonday = (isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY) ? $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_MONDAY : 0); + } if ($includefriday < 0) { $includefriday = (isset($conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY) ? $conf->global->MAIN_NON_WORKING_DAYS_INCLUDE_FRIDAY : 0); } diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 05d8c6c4ec5..766d7cdb763 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -1789,7 +1789,14 @@ function addFileIntoDatabaseIndex($dir, $file, $fullpathorig = '', $mode = 'uplo if (is_object($object) && $object->id > 0) { $ecmfile->src_object_id = $object->id; - $ecmfile->src_object_type = $object->table_element; + if (isset($object->table_element)) { + $ecmfile->src_object_type = $object->table_element; + } else { + dol_syslog('Error: object ' . get_class($object) . ' has no table_element attribute.'); + return -1; + } + if (isset($object->src_object_description)) $ecmfile->description = $object->src_object_description; + if (isset($object->src_object_keywords)) $ecmfile->keywords = $object->src_object_keywords; } if ($setsharekey) { @@ -2235,7 +2242,7 @@ function dol_most_recent_file($dir, $regexfilter = '', $excludefilter = array('( * Security check when accessing to a document (used by document.php, viewimage.php and webservices to get documents). * TODO Replace code that set $accesallowed by a call to restrictedArea() * - * @param string $modulepart Module of document ('module', 'module_user_temp', 'module_user' or 'module_temp') + * @param string $modulepart Module of document ('module', 'module_user_temp', 'module_user' or 'module_temp'). Exemple: 'medias', 'invoice', 'logs', 'tax-vat', ... * @param string $original_file Relative path with filename, relative to modulepart. * @param string $entity Restrict onto entity (0=no restriction) * @param User $fuser User object (forced) @@ -2263,10 +2270,13 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $entity = 0; } } - // Fix modulepart + // Fix modulepart for backward compatibility if ($modulepart == 'users') { $modulepart = 'user'; } + if ($modulepart == 'tva') { + $modulepart = 'tax-vat'; + } //print 'dol_check_secure_access_document modulepart='.$modulepart.' original_file='.$original_file.' entity='.$entity; dol_syslog('dol_check_secure_access_document modulepart='.$modulepart.' original_file='.$original_file.' entity='.$entity); @@ -2436,7 +2446,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity, $accessallowed = 1; } $original_file = (!empty($conf->product->multidir_temp[$entity]) ? $conf->product->multidir_temp[$entity] : $conf->service->multidir_temp[$entity]).'/'.$original_file; - } elseif (in_array($modulepart, array('tax', 'tax-vat')) && !empty($conf->tax->dir_output)) { + } elseif (in_array($modulepart, array('tax', 'tax-vat', 'tva')) && !empty($conf->tax->dir_output)) { // Wrapping for taxes if ($fuser->rights->tax->charges->{$lire}) { $accessallowed = 1; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index d3af2bce0cf..365fa4af6bf 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -775,22 +775,48 @@ function checkVal($out = '', $check = 'alphanohtml', $filter = null, $options = } break; case 'restricthtml': // Recommended for most html textarea + case 'restricthtmlallowunvalid': do { $oldstringtoclean = $out; + if (!empty($out) && !empty($conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML) && $check != 'restricthtmlallowunvalid') { + try { + $dom = new DOMDocument; + // Add a trick to solve pb with text without parent tag + // like '

Foo

bar

' that ends up with '

Foo

bar

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

abc

' + $out = '
'.$out.'
'; + + $dom->loadHTML($out, LIBXML_ERR_NONE|LIBXML_HTML_NOIMPLIED|LIBXML_HTML_NODEFDTD|LIBXML_NONET|LIBXML_NOWARNING|LIBXML_NOXMLDECL); + $out = trim($dom->saveHTML()); + + // Remove the trick added to solve pb with text without parent tag + $out = preg_replace('/^
/', '', $out); + $out = preg_replace('/<\/div>$/', '', $out); + } catch (Exception $e) { + //print $e->getMessage(); + return 'InvalidHTMLString'; + } + } + + // Ckeditor use the numeric entitic for apostrophe so we force it to text entity (all other special chars are correctly + // encoded using text entities). This is a fix for CKeditor (CKeditor still encode in HTML4 instead of HTML5). + $out = preg_replace('/'/i', ''', $out); + // We replace chars from a/A to z/Z encoded with numeric HTML entities with the real char so we won't loose the chars at the next step. // No need to use a loop here, this step is not to sanitize (this is done at next step, this is to try to save chars, even if they are // using a non coventionnel way to be encoded, to not have them sanitized just after) $out = preg_replace_callback('/&#(x?[0-9][0-9a-f]+;?)/i', 'realCharForNumericEntities', $out); - // Now we remove all remaining HTML entities staring with a number. We don't want such entities. + // Now we remove all remaining HTML entities starting with a number. We don't want such entities. $out = preg_replace('/&#x?[0-9]+/i', '', $out); // For example if we have javascript with an entities without the ; to hide the 'a' of 'javascript'. $out = dol_string_onlythesehtmltags($out, 0, 1, 1); // We should also exclude non expected attributes if (!empty($conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES)) { - $out = dol_string_onlythesehtmlattributes($out); + // Warning, the function may add a LF so we are forced to trim to compare with old $out without having always a difference and an infinit loop. + $out = trim(dol_string_onlythesehtmlattributes($out)); } } while ($oldstringtoclean != $out); break; @@ -1025,10 +1051,11 @@ function dol_size($size, $type = '') /** - * Clean a string to use it as a file name + * Clean a string to use it as a file name. + * Replace also '--' and ' -' strings, they are used for parameters separation. * * @param string $str String to clean - * @param string $newstr String to replace bad chars with + * @param string $newstr String to replace bad chars with. * @param int $unaccent 1=Remove also accent (default), 0 do not remove them * @return string String cleaned (a-zA-Z_) * @@ -1040,12 +1067,16 @@ function dol_sanitizeFileName($str, $newstr = '_', $unaccent = 1) // Char '>' '<' '|' '$' and ';' are special chars for shells. // Char '/' and '\' are file delimiters. // -- car can be used into filename to inject special paramaters like --use-compress-program to make command with file as parameter making remote execution of command - $filesystem_forbidden_chars = array('<', '>', '/', '\\', '?', '*', '|', '"', ':', '°', '$', ';', '--'); - return dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + $filesystem_forbidden_chars = array('<', '>', '/', '\\', '?', '*', '|', '"', ':', '°', '$', ';'); + $tmp = dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + $tmp = preg_replace('/\-\-+/', '_', $tmp); + $tmp = preg_replace('/\s+\-/', ' _', $tmp); + return $tmp; } /** - * Clean a string to use it as a path name + * Clean a string to use it as a path name. + * Replace also '--' and ' -' strings, they are used for parameters separation. * * @param string $str String to clean * @param string $newstr String to replace bad chars with @@ -1057,7 +1088,10 @@ function dol_sanitizeFileName($str, $newstr = '_', $unaccent = 1) function dol_sanitizePathName($str, $newstr = '_', $unaccent = 1) { $filesystem_forbidden_chars = array('<', '>', '?', '*', '|', '"', '°'); - return dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + $tmp = dol_string_nospecial($unaccent ? dol_string_unaccent($str) : $str, $newstr, $filesystem_forbidden_chars); + $tmp = preg_replace('/\-\-+/', '_', $tmp); + $tmp = preg_replace('/\s+\-/', ' _', $tmp); + return $tmp; } /** @@ -1153,21 +1187,26 @@ function dol_string_unaccent($str) * Clean a string from all punctuation characters to use it as a ref or login. * This is a more complete function than dol_sanitizeFileName. * - * @param string $str String to clean - * @param string $newstr String to replace forbidden chars with - * @param array $badcharstoreplace List of forbidden characters - * @return string Cleaned string + * @param string $str String to clean + * @param string $newstr String to replace forbidden chars with + * @param array|string $badcharstoreplace List of forbidden characters to replace + * @param array|string $badcharstoremove List of forbidden characters to remove + * @return string Cleaned string * * @see dol_sanitizeFilename(), dol_string_unaccent(), dol_string_nounprintableascii() */ -function dol_string_nospecial($str, $newstr = '_', $badcharstoreplace = '') +function dol_string_nospecial($str, $newstr = '_', $badcharstoreplace = '', $badcharstoremove = '') { $forbidden_chars_to_replace = array(" ", "'", "/", "\\", ":", "*", "?", "\"", "<", ">", "|", "[", "]", ",", ";", "=", '°'); // more complete than dol_sanitizeFileName $forbidden_chars_to_remove = array(); + //$forbidden_chars_to_remove=array("(",")"); + if (is_array($badcharstoreplace)) { $forbidden_chars_to_replace = $badcharstoreplace; } - //$forbidden_chars_to_remove=array("(",")"); + if (is_array($badcharstoremove)) { + $forbidden_chars_to_remove = $badcharstoremove; + } return str_replace($forbidden_chars_to_replace, $newstr, str_replace($forbidden_chars_to_remove, "", $str)); } @@ -2792,7 +2831,7 @@ function dol_print_socialnetworks($value, $cid, $socid, $type, $dictsocialnetwor * @param int $socid Id of third party if known * @param string $addlink ''=no link to create action, 'AC_TEL'=add link to clicktodial (if module enabled) and add link to create event (if conf->global->AGENDA_ADDACTIONFORPHONE set) * @param string $separ Separation between numbers for a better visibility example : xx.xx.xx.xx.xx - * @param string $withpicto Show picto + * @param string $withpicto Show picto ('fax', 'phone', 'mobile') * @param string $titlealt Text to show on alt * @param int $adddivfloat Add div float around phone. * @return string Formated phone number @@ -3015,11 +3054,18 @@ function dol_print_phone($phone, $countrycode = '', $cid = 0, $socid = 0, $addli '__PASS__'=>$clicktodial_password); $url = make_substitutions($url, $substitarray); $newphonesav = $newphone; - $newphone = 'global->CLICKTODIAL_FORCENEWTARGET)) { - $newphone .= ' target="_blank"'; + if (empty($conf->global->CLICKTODIAL_DO_NOT_USE_AJAX_CALL)) { + // Default and recommended: New method using ajax without submiting a page making a javascript history.go(-1) back + $newphone = ''; + } else { + // Old method + $newphone = 'global->CLICKTODIAL_FORCENEWTARGET)) { + $newphone .= ' target="_blank"'; + } + $newphone .= '>'.$newphonesav.''; } - $newphone .= '>'.$newphonesav.''; } //if (($cid || $socid) && ! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create) @@ -3521,8 +3567,8 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ 'github', 'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g', 'whatsapp', 'chevron-left', 'chevron-right', 'chevron-down', 'chevron-top', 'commercial', 'companies', 'generic', 'home', 'hrm', 'members', 'products', 'invoicing', - 'partnership', 'payment', 'pencil-ruler', 'preview', 'project', 'projectpub', 'projecttask', 'question', 'refresh', 'salary', 'shipment', - 'supplier_invoice', 'supplier_invoicea', 'supplier_invoicer', 'supplier_invoiced', + 'partnership', 'payment', 'pencil-ruler', 'preview', 'project', 'projectpub', 'projecttask', 'question', 'refresh', 'region', + 'salary', 'shipment', 'state', 'supplier_invoice', 'supplier_invoicea', 'supplier_invoicer', 'supplier_invoiced', 'technic', 'ticket', 'error', 'warning', 'recent', 'reception', 'recruitmentcandidature', 'recruitmentjobposition', 'resource', @@ -3571,8 +3617,8 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ 'partnership'=>'handshake', 'payment'=>'money-check-alt', 'phoning'=>'phone', 'phoning_mobile'=>'mobile-alt', 'phoning_fax'=>'fax', 'previous'=>'arrow-alt-circle-left', 'printer'=>'print', 'product'=>'cube', 'service'=>'concierge-bell', 'recent' => 'question', 'reception'=>'dolly', 'recruitmentjobposition'=>'id-card-alt', 'recruitmentcandidature'=>'id-badge', 'resize'=>'crop', 'supplier_order'=>'dol-order_supplier', 'supplier_proposal'=>'file-signature', - 'refresh'=>'redo', 'resource'=>'laptop-house', - 'security'=>'key', 'salary'=>'wallet', 'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'stripe'=>'stripe-s', + 'refresh'=>'redo', 'region'=>'map-marked', 'resource'=>'laptop-house', + 'state'=>'map-marked-alt', 'security'=>'key', 'salary'=>'wallet', 'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'stripe'=>'stripe-s', 'supplier'=>'building', 'supplier_invoice'=>'file-invoice-dollar', 'technic'=>'cogs', 'ticket'=>'ticket-alt', 'timespent'=>'clock', 'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach', 'title_agenda'=>'calendar-alt', @@ -3610,13 +3656,13 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ } if (in_array($pictowithouttext, array('dollyrevert', 'member', 'members', 'contract', 'group', 'resource', 'shipment'))) { - $morecss = 'em092'; + $morecss .= ' em092'; } if (in_array($pictowithouttext, array('conferenceorbooth', 'collab', 'eventorganization', 'holiday', 'info', 'project', 'workstation'))) { - $morecss = 'em088'; + $morecss .= ' em088'; } if (in_array($pictowithouttext, array('asset', 'intervention', 'payment', 'loan', 'partnership', 'stock', 'technic'))) { - $morecss = 'em080'; + $morecss .= ' em080'; } // Define $marginleftonlyshort @@ -3673,7 +3719,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ 'partnership'=>'#6c6aa8', 'playdisabled'=>'#ccc', 'printer'=>'#444', 'projectpub'=>'#986c6a', 'reception'=>'#a69944', 'resize'=>'#444', 'rss'=>'#cba', //'shipment'=>'#a69944', 'security'=>'#999', 'stats'=>'#444', 'switch_off'=>'#999', 'technic'=>'#999', 'timespent'=>'#555', - 'uncheck'=>'#800', 'uparrow'=>'#555', 'user-cog'=>'#999', 'country'=>'#aaa', 'globe-americas'=>'#aaa', + 'uncheck'=>'#800', 'uparrow'=>'#555', 'user-cog'=>'#999', 'country'=>'#aaa', 'globe-americas'=>'#aaa', 'region'=>'#aaa', 'state'=>'#aaa', 'website'=>'#304', 'workstation'=>'#a69944' ); if (isset($arrayconvpictotocolor[$pictowithouttext])) { @@ -3744,7 +3790,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $ return $fullpathpicto; } // tag title is used for tooltip on , tag alt can be used with very simple text on image for blind people - return ''.dol_escape_htmltag($alt).''; // Alt is used for accessibility, title for popup + return ''.dol_escape_htmltag($alt).''; // Alt is used for accessibility, title for popup } /** @@ -3804,10 +3850,11 @@ function img_weather($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0, $mo * @param string $picto Name of image file to show (If no extension provided, we use '.png'). Image must be stored into htdocs/theme/common directory. * @param string $moreatt Add more attribute on img tag * @param int $pictoisfullpath If 1, image path is a full path + * @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_object(), img_picto() */ -function img_picto_common($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0) +function img_picto_common($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0, $notitle = 0) { global $conf; @@ -3829,7 +3876,7 @@ function img_picto_common($titlealt, $picto, $moreatt = '', $pictoisfullpath = 0 } } - return img_picto($titlealt, $path, $moreatt, 1); + return img_picto($titlealt, $path, $moreatt, 1, 0, $notitle); } /** @@ -3956,7 +4003,7 @@ function img_edit($titlealt = 'default', $float = 0, $other = '') * @param string $other Add more attributes on img * @return string Return tag img */ -function img_view($titlealt = 'default', $float = 0, $other = '') +function img_view($titlealt = 'default', $float = 0, $other = 'class="valignmiddle"') { global $langs; @@ -5470,7 +5517,7 @@ function get_localtax($vatrate, $local, $thirdparty_buyer = "", $thirdparty_sell } else { $sql .= " AND t.recuperableonly = '".$db->escape($vatnpr)."'"; } - dol_syslog("get_localtax", LOG_DEBUG); + $resql = $db->query($sql); if ($resql) { @@ -6298,7 +6345,7 @@ function dol_string_onlythesehtmltags($stringtoclean, $cleanalsosomestyles = 1, $stringtoclean = preg_replace('/:|�+58|:/i', '', $stringtoclean); // refused string ':' encoded (no reason to have a : encoded like this) to disable 'javascript:...' $stringtoclean = preg_replace('/javascript\s*:/i', '', $stringtoclean); - $temp = strip_tags($stringtoclean, $allowed_tags_string); + $temp = strip_tags($stringtoclean, $allowed_tags_string); // Warning: This remove also undesired changing string obfuscated with that pass injection detection into harmfull string if ($cleanalsosomestyles) { // Clean for remaining html tags $temp = preg_replace('/position\s*:\s*(absolute|fixed)\s*!\s*important/i', '', $temp); // Note: If hacker try to introduce css comment into string to bypass this regex, the string must also be encoded by the dol_htmlentitiesbr during output so it become harmless @@ -6348,8 +6395,8 @@ function dol_string_onlythesehtmlattributes($stringtoclean, $allowed_attributes } $return = $dom->saveHTML(); - //$return = 'aaaa

bb

ssdd

'."\n

aaa

aa

bb

"; + $return = preg_replace('/^/', '', $return); $return = preg_replace('/<\/body><\/html>$/', '', $return); return $return; @@ -6789,6 +6836,8 @@ function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null, $substitutionarray = array_merge($substitutionarray, array( '__MYCOMPANY_NAME__' => $mysoc->name, '__MYCOMPANY_EMAIL__' => $mysoc->email, + '__MYCOMPANY_PHONE__' => $mysoc->phone, + '__MYCOMPANY_FAX__' => $mysoc->fax, '__MYCOMPANY_PROFID1__' => $mysoc->idprof1, '__MYCOMPANY_PROFID2__' => $mysoc->idprof2, '__MYCOMPANY_PROFID3__' => $mysoc->idprof3, @@ -6811,6 +6860,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null, if ($onlykey) { $substitutionarray['__ID__'] = '__ID__'; $substitutionarray['__REF__'] = '__REF__'; + $substitutionarray['__NEWREF__'] = '__NEWREF__'; $substitutionarray['__REF_CLIENT__'] = '__REF_CLIENT__'; $substitutionarray['__REF_SUPPLIER__'] = '__REF_SUPPLIER__'; $substitutionarray['__NOTE_PUBLIC__'] = '__NOTE_PUBLIC__'; @@ -6891,6 +6941,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null, } else { $substitutionarray['__ID__'] = $object->id; $substitutionarray['__REF__'] = $object->ref; + $substitutionarray['__NEWREF__'] = $object->newref; $substitutionarray['__REF_CLIENT__'] = (isset($object->ref_client) ? $object->ref_client : (isset($object->ref_customer) ? $object->ref_customer : null)); $substitutionarray['__REF_SUPPLIER__'] = (isset($object->ref_supplier) ? $object->ref_supplier : null); $substitutionarray['__NOTE_PUBLIC__'] = (isset($object->note_public) ? $object->note_public : null); @@ -7134,6 +7185,9 @@ function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null, if (is_object($object) && $object->element == 'supplier_proposal') { $substitutionarray['__URL_SUPPLIER_PROPOSAL__'] = DOL_MAIN_URL_ROOT."/supplier_proposal/card.php?id=".$object->id; } + if (is_object($object) && $object->element == 'shipping') { + $substitutionarray['__URL_SHIPMENT__'] = DOL_MAIN_URL_ROOT."/expedition/card.php?id=".$object->id; + } } if (is_object($object) && $object->element == 'action') { @@ -7435,7 +7489,7 @@ function print_date_range($date_start, $date_end, $format = '', $outputlangs = ' * @param int $date_end End date * @param string $format Output format * @param Translate $outputlangs Output language - * @param integer $withparenthesis 1=Add parenthesis, 0=non parenthesis + * @param integer $withparenthesis 1=Add parenthesis, 0=no parenthesis * @return string String */ function get_date_range($date_start, $date_end, $format = '', $outputlangs = '', $withparenthesis = 1) @@ -8078,16 +8132,17 @@ function dol_validElement($element) * * @param string $codelang Language code ('en_IN', 'fr_CA', ...) or ISO Country code on 2 characters in uppercase ('IN', 'FR') * @param string $moreatt Add more attribute on img tag (For example 'style="float: right"' or 'class="saturatemedium"') + * @param int $notitlealt No title alt * @return string HTML img string with flag. */ -function picto_from_langcode($codelang, $moreatt = '') +function picto_from_langcode($codelang, $moreatt = '', $notitlealt = 0) { if (empty($codelang)) { return ''; } if ($codelang == 'auto') { - return ''; + return ''; } $langtocountryflag = array( @@ -8113,7 +8168,7 @@ function picto_from_langcode($codelang, $moreatt = '') $flagImage = empty($tmparray[1]) ? $tmparray[0] : $tmparray[1]; } - return img_picto_common($codelang, 'flags/'.strtolower($flagImage).'.png', $moreatt); + return img_picto_common($codelang, 'flags/'.strtolower($flagImage).'.png', $moreatt, 0, $notitlealt); } /** @@ -8448,8 +8503,10 @@ function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, if (!empty($hookmanager)) { $parameters = array('object' => $object, 'mode' => $mode, 'head' => &$head); $reshook = $hookmanager->executeHooks('completeTabsHead', $parameters); - if ($reshook > 0) { + if ($reshook > 0) { // Hook ask to replace completely the array $head = $hookmanager->resArray; + } else { // Hook + $head = array_merge($head, $hookmanager->resArray); } $h = count($head); } @@ -9729,11 +9786,29 @@ function dolGetStatus($statusLabel = '', $statusLabelShort = '', $html = '', $st * @param string $url the url for link * @param string $id attribute id of button * @param int $userRight user action right - * @param array $params various params for future : recommended rather than adding more function arguments + * // phpcs:disable + * @param array $params = [ // Various params for future : recommended rather than adding more function arguments + * 'attr' => [ // to add or override button attributes + * 'xxxxx' => '', // your xxxxx attribute you want + * 'class' => '', // to add more css class to the button class attribute + * 'classOverride' => '' // to replace class attribute of the button + * ], + * 'confirm' => [ + * 'url' => 'http://', // Overide Url to go when user click on action btn, if empty default url is $url.?confirm=yes, for no js compatibility use $url for fallback confirm. + * 'title' => '', // Overide title of modal, if empty default title use "ConfirmBtnCommonTitle" lang key + * 'action-btn-label' => '', // Overide label of action button, if empty default label use "Confirm" lang key + * 'cancel-btn-label' => '', // Overide label of cancel button, if empty default label use "CloseDialog" lang key + * 'content' => '', // Overide text of content, if empty default content use "ConfirmBtnCommonContent" lang key + * 'modal' => true, // true|false to display dialog as a modal (with dark background) + * ], + * ] + * // phpcs:enable * @return string html button */ function dolGetButtonAction($label, $html = '', $actionType = 'default', $url = '', $id = '', $userRight = 1, $params = array()) { + global $hookmanager, $action, $object, $langs; + $class = 'butAction'; if ($actionType == 'danger' || $actionType == 'delete') { $class = 'butActionDelete'; @@ -9774,12 +9849,30 @@ function dolGetButtonAction($label, $html = '', $actionType = 'default', $url = } } + // Js Confirm button + if ($userRight && !empty($params['confirm'])) { + if (!is_array($params['confirm'])) { + $params['confirm'] = array( + 'url' => $url . (strpos($url, '?') > 0 ? '&' : '?') . 'confirm=yes' + ); + } + + // for js desabled compatibility set $url as call to confirm action and $params['confirm']['url'] to confirmed action + $attr['data-confirm-url'] = $params['confirm']['url']; + $attr['data-confirm-title'] = !empty($params['confirm']['title']) ? $params['confirm']['title'] : $langs->trans('ConfirmBtnCommonTitle', $label); + $attr['data-confirm-content'] = !empty($params['confirm']['content']) ? $params['confirm']['content'] : $langs->trans('ConfirmBtnCommonContent', $label); + $attr['data-confirm-content'] = preg_replace("/\r|\n/", "", $attr['data-confirm-content']); + $attr['data-confirm-action-btn-label'] = !empty($params['confirm']['action-btn-label']) ? $params['confirm']['action-btn-label'] : $langs->trans('Confirm'); + $attr['data-confirm-cancel-btn-label'] = !empty($params['confirm']['cancel-btn-label']) ? $params['confirm']['cancel-btn-label'] : $langs->trans('CloseDialog'); + $attr['data-confirm-modal'] = !empty($params['confirm']['modal']) ? $params['confirm']['modal'] : true; + + $attr['class'].= ' butActionConfirm'; + } + if (isset($attr['href']) && empty($attr['href'])) { unset($attr['href']); } - // TODO : add a hook - // escape all attribute $attr = array_map('dol_escape_htmltag', $attr); @@ -9792,7 +9885,29 @@ function dolGetButtonAction($label, $html = '', $actionType = 'default', $url = $tag = !empty($attr['href']) ? 'a' : 'span'; - return '<'.$tag.' '.$compiledAttributes.'>'.$html.''; + + $parameters = array( + 'TCompiledAttr' => $TCompiledAttr, + 'compiledAttributes' => $compiledAttributes, + 'attr' => $attr, + 'tag' => $tag, + 'label' => $label, + 'html' => $html, + 'actionType' => $actionType, + 'url' => $url, + 'id' => $id, + 'userRight' => $userRight, + 'params' => $params + ); + + $reshook = $hookmanager->executeHooks('dolGetButtonAction', $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)) { + return '<' . $tag . ' ' . $compiledAttributes . '>' . $html . ''; + } else { + return $hookmanager->resPrint; + } } /** @@ -10121,7 +10236,7 @@ function newToken() */ function currentToken() { - return $_SESSION['token']; + return isset($_SESSION['token']) ? $_SESSION['token'] : ''; } /** diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 6f5d2ccb891..d79f688391d 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1876,7 +1876,7 @@ function version_os($option = '') * Return PHP version * * @return string PHP version - * @see versionphparray() + * @see versionphparray(), versioncompare() */ function version_php() { @@ -1887,7 +1887,7 @@ function version_php() * Return Dolibarr version * * @return string Dolibarr version - * @see versiondolibarrarray() + * @see versiondolibarrarray(), versioncompare() */ function version_dolibarr() { @@ -2700,7 +2700,7 @@ function convertBackOfficeMediasLinksToPublicLinks($notetoshow) * Function to format a value into a defined format for French administration (no thousand separator & decimal separator force to ',' with two decimals) * Function used into accountancy FEC export * - * @param float $amount Amount to format + * @param float $amount Amount to format * @return string Chain with formatted upright * @see price2num() Format a numeric into a price for FEC files */ diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 4821bfde2b9..c2257cd20fe 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -1357,12 +1357,15 @@ function pdf_getlinedesc($object, $i, $outputlangs, $hideref = 0, $hidedesc = 0, $desc = str_replace('(DEPOSIT)', $outputlangs->trans('Deposit'), $desc); } - // Description short of product line - $libelleproduitservice = $label; - if (!empty($libelleproduitservice) && !empty($conf->global->PDF_BOLD_PRODUCT_LABEL)) { - $libelleproduitservice = ''.$libelleproduitservice.''; + if (empty($conf->global->PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES)) { + // Description short of product line + $libelleproduitservice = $label; + if (!empty($libelleproduitservice) && !empty($conf->global->PDF_BOLD_PRODUCT_LABEL)) { + $libelleproduitservice = ''.$libelleproduitservice.''; + } } + // Add ref of subproducts if (!empty($conf->global->SHOW_SUBPRODUCT_REF_IN_PDF)) { $prodser->get_sousproduits_arbo(); diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php index 598802ea574..d64069aa923 100644 --- a/htdocs/core/lib/security.lib.php +++ b/htdocs/core/lib/security.lib.php @@ -98,7 +98,7 @@ function dol_decode($chain, $key = '1') * If constant MAIN_SECURITY_SALT is defined, we use it as a salt (used only if hashing algorightm is something else than 'password_hash'). * * @param string $chain String to hash - * @param string $type Type of hash ('0':auto will use MAIN_SECURITY_HASH_ALGO else md5, '1':sha1, '2':sha1+md5, '3':md5, '4':md5 for OpenLdap with no salt, '5':sha256). Use '3' here, if hash is not needed for security purpose, for security need, prefer '0'. + * @param string $type Type of hash ('0':auto will use MAIN_SECURITY_HASH_ALGO else md5, '1':sha1, '2':sha1+md5, '3':md5, '4':md5 for OpenLdap with no salt, '5':sha256, '6':password_hash). Use '3' here, if hash is not needed for security purpose, for security need, prefer '0'. * @return string Hash of string * @see getRandomPassword() */ @@ -124,8 +124,10 @@ function dol_hash($chain, $type = '0') return md5($chain); } elseif ($type == '4' || $type == 'md5openldap') { return '{md5}'.base64_encode(mhash(MHASH_MD5, $chain)); // For OpenLdap with md5 (based on an unencrypted password in base) - } elseif ($type == '5') { + } elseif ($type == '5' || $type == 'sha256') { return hash('sha256', $chain); + } elseif ($type == '6' || $type == 'password_hash') { + return password_hash($chain, PASSWORD_DEFAULT); } elseif (!empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'sha1') { return sha1($chain); } elseif (!empty($conf->global->MAIN_SECURITY_HASH_ALGO) && $conf->global->MAIN_SECURITY_HASH_ALGO == 'sha1md5') { diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index 523b8ccf2cb..4408e2ccd52 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -476,8 +476,8 @@ function getRandomPassword($generic = false, $replaceambiguouschars = null, $len } $generated_password = str_shuffle($randomCode); - } else // Old platform, non cryptographic random - { + } else { + // Old platform, non cryptographic random $max = strlen($lowercase) - 1; for ($x = 0; $x < $nbofchar; $x++) { $tmp = mt_rand(0, $max); diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index cd9ae5ad297..29f208e5254 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -906,7 +906,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false) } // Use MAIN_OPTIMIZEFORTEXTBROWSER - if ($foruserprofile) { + if ($foruserprofile && !empty($fuser->conf->MAIN_OPTIMIZEFORTEXTBROWSER)) { //$default=yn($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER); $default = $langs->trans('No'); print '
'.$langs->trans("Mask").' ('.$langs->trans("ProductCodeModel").'):'.$form->textwithpicto('', $tooltip, 1, 1).'   
- +
'; $coldisplay++; if (($line->info_bits & 2) == 2 || !empty($disableedit)) { @@ -365,7 +373,7 @@ if ($this->statut == 0 && ($object_rights->creer) && $action != 'selectlines') { print ''; $coldisplay++; - if (($line->fk_prev_id == null) && empty($disableremove)) { //La suppression n'est autorisée que si il n'y a pas de ligne dans une précédente situation + if (!$situationinvoicelinewithparent && empty($disableremove)) { // For situation invoice, deletion is not possible if there is a parent company. print 'id.'">'; print img_delete(); print ''; diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php index 9e0a222725b..8964145b430 100644 --- a/htdocs/core/tpl/passwordforgotten.tpl.php +++ b/htdocs/core/tpl/passwordforgotten.tpl.php @@ -216,7 +216,7 @@ if (!empty($morelogincontent)) { -
'.$langs->trans("EventOrganizationICSLink").''; - print ''; + // Define $urlwithroot + $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; + + // Show message + $message = 'global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); + $message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').''; + print $message; print "
'; @@ -496,6 +504,41 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea $keyforbreak='pubregister'; include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php'; + $object->fetchObjectLinked(); + + + if (is_array($object->linkedObjects) && count($object->linkedObjects)>0 && array_key_exists("facture", $object->linkedObjects)) { + foreach ($object->linkedObjects["facture"] as $fac) { + /** + * @var $fac Facture + */ + if (empty($fac->paye)) { + $key = 'paymentlink_'.$fac->id; + print '
'; + $sourcetouse = 'boothlocation'; + $reftouse = $fac->id; + $redirection = $dolibarr_main_url_root.'/public/payment/newpayment.php?source='.$sourcetouse.'&ref='.$reftouse.'&booth='.$object->id; + if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) { + if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) { + $redirection .= '&securekey='.dol_hash($conf->global->PAYMENT_SECURITY_TOKEN . $sourcetouse . $reftouse, 2); // Use the source in the hash to avoid duplicates if the references are identical + } else { + $redirection .= '&securekey='.$conf->global->PAYMENT_SECURITY_TOKEN; + } + } + print ''; + print '
'.$langs->trans("EventOrganizationICSLink").''; - print ''; + // Define $urlwithroot + $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; + + // Show message + $message = 'global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); + $message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').''; + print $message; print "
'; diff --git a/htdocs/eventorganization/conferenceorbooth_document.php b/htdocs/eventorganization/conferenceorbooth_document.php index fc3673d618f..8b064c12b72 100644 --- a/htdocs/eventorganization/conferenceorbooth_document.php +++ b/htdocs/eventorganization/conferenceorbooth_document.php @@ -266,8 +266,15 @@ if (!empty($withproject)) { print ""; print ''.$langs->trans("EventOrganizationICSLink").''; - print ''; - //TODO fill with ics + // Define $urlwithroot + $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; + + // Show message + $message = 'global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); + $message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').''; + print $message; print ""; print ''; diff --git a/htdocs/eventorganization/conferenceorbooth_list.php b/htdocs/eventorganization/conferenceorbooth_list.php index d7f7cdb8bb1..9430d2c52ad 100644 --- a/htdocs/eventorganization/conferenceorbooth_list.php +++ b/htdocs/eventorganization/conferenceorbooth_list.php @@ -119,7 +119,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -173,7 +173,10 @@ if (GETPOST('cancel', 'alpha')) { $action = 'list'; $massaction = ''; } -if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { +if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' + && $massaction != 'presend_attendees' + && $massaction != 'confirm_presend' + && $massaction != 'confirm_presend_attendees') { $massaction = ''; } @@ -211,6 +214,7 @@ if (empty($reshook)) { $objectclass = 'ConferenceOrBooth'; $objectlabel = 'ConferenceOrBooth'; $uploaddir = $conf->eventorganization->dir_output; + include DOL_DOCUMENT_ROOT.'/eventorganization/core/actions_massactions_mail.inc.php'; include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -421,8 +425,6 @@ if ($projectid > 0) { $message = 'global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); $message .= "&project=".$projectid.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').''; - $message .= '
'; - $message .= '
'; print $message; print ""; @@ -478,8 +480,8 @@ foreach ($search as $key => $val) { continue; } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0)) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -489,10 +491,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; @@ -583,12 +585,13 @@ $arrayofmassactions = array( //'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"), //'generate_doc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("ReGeneratePDF"), //'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), - //'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), + 'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail").' - '.$langs->trans("ConferenceOrBooth"), + 'presend_attendees'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail").' - '.$langs->trans("Attendees"), ); if ($permissiontodelete) { $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); } -if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { +if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'presend_attendees', 'predelete'))) { $arrayofmassactions = array(); } $massactionbutton = $form->selectMassAction('', $arrayofmassactions); @@ -612,9 +615,11 @@ print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sort $topicmail = "SendConferenceOrBoothRef"; $modelmail = "conferenceorbooth"; $objecttmp = new ConferenceOrBooth($db); -$trackid = 'xxxx'.$object->id; +$trackid = 'conferenceorbooth_'.$object->id; +include DOL_DOCUMENT_ROOT.'/eventorganization/tpl/massactions_mail_pre.tpl.php'; include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + if ($search_all) { foreach ($fieldstosearchall as $key => $val) { $fieldstosearchall[$key] = $langs->trans($val); diff --git a/htdocs/eventorganization/conferenceorboothattendee_card.php b/htdocs/eventorganization/conferenceorboothattendee_card.php index 8a3767f0606..fe5ea292e8b 100644 --- a/htdocs/eventorganization/conferenceorboothattendee_card.php +++ b/htdocs/eventorganization/conferenceorboothattendee_card.php @@ -1,6 +1,5 @@ - * Copyright (C) ---Put here your own copyright and developer email--- * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -337,7 +336,15 @@ if (!empty($withproject)) { print ""; print ''.$langs->trans("EventOrganizationICSLink").''; - print ''; + // Define $urlwithroot + $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; + + // Show message + $message = 'global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); + $message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').''; + print $message; print ""; print ''; @@ -571,10 +578,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Show object lines $result = $object->getLinesArray(); - print '
+ print ' + '; diff --git a/htdocs/eventorganization/conferenceorboothattendee_list.php b/htdocs/eventorganization/conferenceorboothattendee_list.php index 97748640f17..72d66b7fb87 100644 --- a/htdocs/eventorganization/conferenceorboothattendee_list.php +++ b/htdocs/eventorganization/conferenceorboothattendee_list.php @@ -128,7 +128,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -253,8 +253,8 @@ foreach ($search as $key => $val) { continue; } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0)) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -264,10 +264,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; @@ -499,7 +499,15 @@ if ($confOrBooth->id > 0) { print ""; print ''.$langs->trans("EventOrganizationICSLink").''; - print ''; + // Define $urlwithroot + $urlwithouturlroot = preg_replace('/'.preg_quote(DOL_URL_ROOT, '/').'$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT; + + // Show message + $message = 'global->MAIN_AGENDA_XCAL_EXPORTKEY ?urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); + $message .= "&project=".$projectstatic->id.'&module='.urlencode('@eventorganization').'&status='.ConferenceOrBooth::STATUS_CONFIRMED.'">'.$langs->trans('DownloadICSLink').''; + print $message; print ""; print ''; diff --git a/htdocs/eventorganization/conferenceorboothattendee_note.php b/htdocs/eventorganization/conferenceorboothattendee_note.php index 46620112311..fd72b1588e7 100644 --- a/htdocs/eventorganization/conferenceorboothattendee_note.php +++ b/htdocs/eventorganization/conferenceorboothattendee_note.php @@ -115,8 +115,13 @@ $permissiontoadd = $user->rights->eventorganization->conferenceorboothattendee-> * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once - +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* * View diff --git a/htdocs/eventorganization/core/actions_massactions_mail.inc.php b/htdocs/eventorganization/core/actions_massactions_mail.inc.php new file mode 100644 index 00000000000..483a1e5bc84 --- /dev/null +++ b/htdocs/eventorganization/core/actions_massactions_mail.inc.php @@ -0,0 +1,315 @@ + + * Copyright (C) 2018-2021 Nicolas ZABOURI + * Copyright (C) 2018 Juanjo Menent + * Copyright (C) 2019 Ferran Marcet + * Copyright (C) 2019-2021 Frédéric France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see https://www.gnu.org/ + */ + +/** + * \file htdocs/core/actions_massactions.inc.php + * \brief Code for actions done with massaction button (send by email, merge pdf, delete, ...) + */ + + +// $massaction must be defined +// $objectclass and $objectlabel must be defined +// $parameters, $object, $action must be defined for the hook. + +// $permissiontoread, $permissiontoadd, $permissiontodelete, $permissiontoclose may be defined +// $uploaddir may be defined (example to $conf->projet->dir_output."/";) +// $toselect may be defined +// $diroutputmassaction may be defined + + +// Protection +if (empty($objectclass) || empty($uploaddir)) { + dol_print_error(null, 'include of actions_massactions.inc.php is done but var $objectclass or $uploaddir was not defined'); + exit; +} + +// For backward compatibility +if (!empty($permtoread) && empty($permissiontoread)) { + $permissiontoread = $permtoread; +} +if (!empty($permtocreate) && empty($permissiontoadd)) { + $permissiontoadd = $permtocreate; +} +if (!empty($permtodelete) && empty($permissiontodelete)) { + $permissiontodelete = $permtodelete; +} + + +// Mass actions. Controls on number of lines checked. +$maxformassaction = (empty($conf->global->MAIN_LIMIT_FOR_MASS_ACTIONS) ? 1000 : $conf->global->MAIN_LIMIT_FOR_MASS_ACTIONS); +if (!empty($massaction) && is_array($toselect) && count($toselect) < 1) { + $error++; + setEventMessages($langs->trans("NoRecordSelected"), null, "warnings"); +} +if (!$error && is_array($toselect) && count($toselect) > $maxformassaction) { + setEventMessages($langs->trans('TooManyRecordForMassAction', $maxformassaction), null, 'errors'); + $error++; +} + +if (!$error && $massaction == 'confirm_presend_attendees' && !GETPOST('sendmail')) { // If we do not choose button send (for example when we change template or limit), we must not send email, but keep on send email form + $massaction = 'presend_attendees'; +} +if (!$error && $massaction == 'confirm_presend_attendees') { + $resaction = ''; + $nbsent = 0; + $nbignored = 0; + $langs->load("mails"); + include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + + $listofobjectid = array(); + + $listofobjectref = array(); + $oneemailperrecipient = (GETPOST('oneemailperrecipient') == 'on' ? 1 : 0); + + if (!$error) { + require_once DOL_DOCUMENT_ROOT . '/eventorganization/class/conferenceorboothattendee.class.php'; + $attendee = new ConferenceOrBoothAttendee($db); + $listofselectedid = array(); + $listofselectedref = array(); + $objecttmp = new $objectclass($db); + + foreach ($toselect as $toselectid) { + $result = $objecttmp->fetch($toselectid); + if ($result > 0) { + $attendees = $attendee->fetchAll('', '', 0, 0, array('t.fk_actioncomm' => $objecttmp->id)); + if (is_array($attendees) && count($attendees) > 0) { + foreach ($attendees as $attmail) { + if (!empty($attmail->email)) { + $attmail->fetch_thirdparty(); + $listofselectedid[$attmail->email] = $attmail; + $listofselectedref[$attmail->email] = $objecttmp; + } + } + } + } + } + } + + // Check mandatory parameters + if (GETPOST('fromtype', 'alpha') === 'user' && empty($user->email)) { + $error++; + setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); + $massaction = 'presend_attendees'; + } + + $receiver = $_POST['receiver']; + if (!is_array($receiver)) { + if (empty($receiver) || $receiver == '-1') { + $receiver = array(); + } else { + $receiver = array($receiver); + } + } + if (!trim($_POST['sendto']) && count($receiver) == 0 && count($listofselectedid) == 1) { // if only one recipient, receiver is mandatory + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Recipient")), null, 'warnings'); + $massaction = 'presend_attendees'; + } + + if (!GETPOST('subject', 'restricthtml')) { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("MailTopic")), null, 'warnings'); + $massaction = 'presend_attendees'; + } + + if (!$error) { + $objecttmp->fetch_thirdparty(); + foreach ($listofselectedid as $email => $attendees) { + $sendto = ''; + $sendtocc = ''; + $sendtobcc = ''; + $sendtoid = array(); + + // Define $sendto + $sendto = $attendees->thirdparty->name . '<' . trim($attendees->email) . '>'; + + // Define $sendtocc + $receivercc = $_POST['receivercc']; + if (!is_array($receivercc)) { + if ($receivercc == '-1') { + $receivercc = array(); + } else { + $receivercc = array($receivercc); + } + } + $tmparray = array(); + if (trim($_POST['sendtocc'])) { + $tmparray[] = trim($_POST['sendtocc']); + } + $sendtocc = implode(',', $tmparray); + + + $langs->load("commercial"); + + $reg = array(); + $fromtype = GETPOST('fromtype'); + if ($fromtype === 'user') { + $from = $user->getFullName($langs) . ' <' . $user->email . '>'; + } elseif ($fromtype === 'company') { + $from = $conf->global->MAIN_INFO_SOCIETE_NOM . ' <' . $conf->global->MAIN_INFO_SOCIETE_MAIL . '>'; + } elseif (preg_match('/user_aliases_(\d+)/', $fromtype, $reg)) { + $tmp = explode(',', $user->email_aliases); + $from = trim($tmp[($reg[1] - 1)]); + } elseif (preg_match('/global_aliases_(\d+)/', $fromtype, $reg)) { + $tmp = explode(',', $conf->global->MAIN_INFO_SOCIETE_MAIL_ALIASES); + $from = trim($tmp[($reg[1] - 1)]); + } elseif (preg_match('/senderprofile_(\d+)_(\d+)/', $fromtype, $reg)) { + $sql = 'SELECT rowid, label, email FROM ' . MAIN_DB_PREFIX . 'c_email_senderprofile WHERE rowid = ' . (int) $reg[1]; + $resql = $db->query($sql); + $obj = $db->fetch_object($resql); + if ($obj) { + $from = $obj->label . ' <' . $obj->email . '>'; + } + } else { + $from = $_POST['fromname'] . ' <' . $_POST['frommail'] . '>'; + } + + $replyto = $from; + $subject = GETPOST('subject', 'restricthtml'); + $message = GETPOST('message', 'restricthtml'); + + $sendtobcc = GETPOST('sendtoccc'); + + // $objecttmp is a real object or an empty object if we choose to send one email per thirdparty instead of one per object + // Make substitution in email content + $substitutionarray = getCommonSubstitutionArray($langs, 0, null, $attendees); + + if (!empty($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY)) { + $urlwithouturlroot = preg_replace('/' . preg_quote(DOL_URL_ROOT, '/') . '$/i', '', trim($dolibarr_main_url_root)); + $urlwithroot = $urlwithouturlroot . DOL_URL_ROOT; + $url_link = $urlwithroot . '/public/agenda/agendaexport.php?format=ical' . ($conf->entity > 1 ? "&entity=" . $conf->entity : ""); + $url_link .= '&exportkey=' . ($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY ? urlencode($conf->global->MAIN_AGENDA_XCAL_EXPORTKEY) : '...'); + $url_link .= "&project=" . $listofselectedref[$email]->fk_project . '&module=' . urlencode('@eventorganization') . '&status=' . ConferenceOrBooth::STATUS_CONFIRMED; + $html_link = '' . $langs->trans('DownloadICSLink') . ''; + } + $substitutionarray['__EVENTORGANIZATION_ICS_LINK__'] = $html_link; + $substitutionarray['__EVENTORGANIZATION_URL_LINK__'] = $url_link; + $substitutionarray['__CHECK_READ__'] = ''; + + $parameters = array('mode' => 'formemail'); + + if (!empty($listofobjectref)) { + $parameters['listofobjectref'] = $listofobjectref; + } + + complete_substitutions_array($substitutionarray, $langs, $attendees, $parameters); + + $subjectreplaced = make_substitutions($subject, $substitutionarray); + $messagereplaced = make_substitutions($message, $substitutionarray); + + + if (empty($sendcontext)) { + $sendcontext = 'standard'; + } + + // Send mail (substitutionarray must be done just before this) + require_once DOL_DOCUMENT_ROOT . '/core/class/CMailFile.class.php'; + $mailfile = new CMailFile($subjectreplaced, $sendto, $from, $messagereplaced, array(), array(), array(), $sendtocc, $sendtobcc, $deliveryreceipt, -1, '', '', "attendees_".$attendees->id, '', $sendcontext); + if ($mailfile->error) { + $resaction .= '
' . $mailfile->error . '
'; + } else { + $result = $mailfile->sendfile(); + if ($result) { + $resaction .= $langs->trans('MailSuccessfulySent', $mailfile->getValidAddress($from, 2), $mailfile->getValidAddress($sendto, 2)) . '
'; // Must not contain " + $error = 0; + + dol_syslog("Try to insert email event into agenda for objid=" . $attendees->id . " => objectobj=" . get_class($attendees)); + + $actionmsg = $langs->transnoentities('MailSentBy') . ' ' . $from . ' ' . $langs->transnoentities('To') . ' ' . $sendto; + if ($message) { + if ($sendtocc) { + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc); + } + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subjectreplaced); + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":"); + $actionmsg = dol_concatdesc($actionmsg, $messagereplaced); + } + $actionmsg2 = ''; + + $objectobj2 = $listofselectedref[$email]; + // Initialisation donnees + $objectobj2->actionmsg = $actionmsg; // Long text + $objectobj2->actionmsg2 = $actionmsg2; // Short text + $objectobj2->fk_element = $objectobj2->id; + $objectobj2->elementtype = $objectobj2->element; + + $triggername = 'CONFERENCEORBOOTHATTENDEE_SENTBYMAIL'; + if (!empty($triggername)) { + // Call trigger + $result = $objectobj2->call_trigger($triggername, $user); + if ($result < 0) { + $error++; + } + // End call triggers + + if ($error) { + setEventMessages($db->lasterror(), $objectobj2->errors, 'errors'); + dol_syslog("Error in trigger " . $triggername . ' ' . $db->lasterror(), LOG_ERR); + } + } + + $nbsent++; // Nb of object sent + } else { + $langs->load("other"); + if ($mailfile->error) { + $resaction .= $langs->trans('ErrorFailedToSendMail', $from, $sendto); + $resaction .= '
' . $mailfile->error . '
'; + } elseif (!empty($conf->global->MAIN_DISABLE_ALL_MAILS)) { + $resaction .= '
No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS
'; + } else { + $resaction .= $langs->trans('ErrorFailedToSendMail', $from, $sendto) . '
(unhandled error)
'; + } + } + } + } + } + $resaction .= ($resaction ? '
' : $resaction); + $resaction .= '' . $langs->trans("ResultOfMailSending") . ':
' . "\n"; + $resaction .= $langs->trans("NbSelected") . ': ' . count($toselect) . "\n
"; + $resaction .= $langs->trans("NbIgnored") . ': ' . ($nbignored ? $nbignored : 0) . "\n
"; + $resaction .= $langs->trans("NbSent") . ': ' . ($nbsent ? $nbsent : 0) . "\n
"; + + if ($nbsent) { + $action = ''; // Do not show form post if there was at least one successfull sent + //setEventMessages($langs->trans("EMailSentToNRecipients", $nbsent.'/'.count($toselect)), null, 'mesgs'); + setEventMessages($langs->trans("EMailSentForNElements", $nbsent . '/' . count($toselect)), null, 'mesgs'); + setEventMessages($resaction, null, 'mesgs'); + } else { + //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file + setEventMessages($resaction, null, 'warnings'); + } + + $action = 'list'; + $massaction = ''; +} + + + +$parameters['toselect'] = $toselect; +$parameters['uploaddir'] = $uploaddir; +$parameters['massaction'] = $massaction; +$parameters['diroutputmassaction'] = isset($diroutputmassaction) ? $diroutputmassaction : null; + +$reshook = $hookmanager->executeHooks('doMassActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} diff --git a/htdocs/eventorganization/tpl/linkedobjectblock.tpl.php b/htdocs/eventorganization/tpl/linkedobjectblock.tpl.php new file mode 100644 index 00000000000..f2bb6f0c3ae --- /dev/null +++ b/htdocs/eventorganization/tpl/linkedobjectblock.tpl.php @@ -0,0 +1,61 @@ + + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2014 Marcos García + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +// Protection to avoid direct call of template +if (empty($conf) || !is_object($conf)) { + print "Error, template page can't be called as URL"; + exit; +} + +echo "\n"; + +global $user; + +$langs = $GLOBALS['langs']; +$linkedObjectBlock = $GLOBALS['linkedObjectBlock']; +$langs->load("eventorganization"); + +$total = 0; +foreach ($linkedObjectBlock as $key => $objectlink) { + echo ''; + echo '' . $langs->trans(get_class($objectlink)) . ''; + echo ''.$objectlink->getNomUrl(1).''; + echo ''; + if (get_class($objectlink)=='ConferenceOrBooth') { + print dol_trunc($objectlink->label, 20); + } + print ''; + echo ''; + if (get_class($objectlink)=='ConferenceOrBoothAttendee') { + print dol_print_date($objectlink->date_subscription); + } else { + print dol_print_date($objectlink->datep); + } + print ''; + echo ''; + if (get_class($objectlink)=='ConferenceOrBoothAttendee') { + print price($objectlink->amount); + } + print ''; + echo ''.$objectlink->getLibStatut(3).''; + echo ''.img_picto($langs->transnoentitiesnoconv("RemoveLink"), 'unlink').''; + echo ''; +} + +echo "\n"; diff --git a/htdocs/eventorganization/tpl/massactions_mail_pre.tpl.php b/htdocs/eventorganization/tpl/massactions_mail_pre.tpl.php new file mode 100644 index 00000000000..17c78babfea --- /dev/null +++ b/htdocs/eventorganization/tpl/massactions_mail_pre.tpl.php @@ -0,0 +1,130 @@ + + * Copyright (C) 2013-2014 Laurent Destailleur + * Copyright (C) 2015 Marcos García + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see https://www.gnu.org/ + */ + +// Following var must be set: +// $arrayofselected = array of id selected +// $object +// $objecttmp=new Propal($db); +// $topicmail="SendSupplierProposalRef"; +// $modelmail="supplier_proposal_send"; +// $trackid='ord'.$object->id; + +if ($massaction == 'presend_attendees') { + $langs->load("mails"); + require_once DOL_DOCUMENT_ROOT.'/eventorganization/class/conferenceorboothattendee.class.php'; + $attendee = new ConferenceOrBoothAttendee($db); + $listofselectedid = array(); + $listofselectedref = array(); + + if (!GETPOST('cancel', 'alpha')) { + foreach ($arrayofselected as $toselectid) { + $result = $objecttmp->fetch($toselectid); + if ($result > 0) { + $attendees = $attendee->fetchAll('', '', 0, 0, array('t.fk_actioncomm'=>$objecttmp->id)); + if (is_array($attendees) && count($attendees)>0) { + foreach ($attendees as $attmail) { + if (!empty($attmail->email)) { + $listofselectedid[$attmail->email] = $attmail->id; + $listofselectedref[$attmail->id][$toselectid] = $objecttmp->ref; + } + } + } + } + } + } + + print ''; + print ''; + + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + print dol_get_fiche_head(null, '', ''); + + // Cree l'objet formulaire mail + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + $formmail->withform = -1; + $formmail->fromtype = (GETPOST('fromtype') ? GETPOST('fromtype') : (!empty($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE) ? $conf->global->MAIN_MAIL_DEFAULT_FROMTYPE : 'user')); + + if ($formmail->fromtype === 'user') { + $formmail->fromid = $user->id; + } + $formmail->trackid = $trackid; + if (!empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 2)) { // If bit 2 is set + include DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $formmail->frommail = dolAddEmailTrackId($formmail->frommail, $trackid); + } + $formmail->withfrom = 1; + $liste = $langs->trans("AllRecipientSelected", count($listofselectedid)); + $formmail->withtoreadonly = 1; + + $formmail->withoptiononeemailperrecipient = ((count($listofselectedref) == 1 && count(reset($listofselectedref)) == 1) || empty($liste)) ? 0 : ((GETPOST('oneemailperrecipient') == 'on') ? 1 : -1); + + $formmail->withto = empty($liste) ? (GETPOST('sendto', 'alpha') ?GETPOST('sendto', 'alpha') : array()) : $liste; + $formmail->withtofree = empty($liste) ? 1 : 0; + $formmail->withtocc = 1; + $formmail->withtoccc = $conf->global->MAIN_EMAIL_USECCC; + $formmail->withtopic = $langs->transnoentities($topicmail, '__REF__', '__REF_CLIENT__'); + $formmail->withfile = 0; + // $formmail->withfile = 2; Not yet supported in mass action + $formmail->withmaindocfile = 0; // Add a checkbox "Attach also main document" + $formmail->withbody = 1; + $formmail->withdeliveryreceipt = 1; + $formmail->withcancel = 1; + + // Make substitution in email content + $substitutionarray = getCommonSubstitutionArray($langs, 0, null, $object); + + $substitutionarray['__EMAIL__'] = $sendto; + $substitutionarray['__CHECK_READ__'] = (is_object($object) && is_object($object->thirdparty)) ? '' : ''; + $substitutionarray['__PERSONALIZED__'] = ''; // deprecated + $substitutionarray['__CONTACTCIVNAME__'] = ''; + + $parameters = array( + 'mode' => 'formemail' + ); + complete_substitutions_array($substitutionarray, $langs, $object, $parameters); + + // Tableau des substitutions + $formmail->substit = $substitutionarray; + + // Tableau des parametres complementaires du post + $formmail->param['action'] = $action; + $formmail->param['models'] = $modelmail; + $formmail->param['models_id'] = empty(GETPOST('modelmailselected', 'int'))?$conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES:GETPOST('modelmailselected', 'int'); + $formmail->param['id'] = join(',', $arrayofselected); + // $formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; + if (!empty($conf->global->MAILING_LIMIT_SENDBYWEB) && count($listofselectedid) > $conf->global->MAILING_LIMIT_SENDBYWEB) { + $langs->load("errors"); + print img_warning().' '.$langs->trans('WarningNumberOfRecipientIsRestrictedInMassAction', $conf->global->MAILING_LIMIT_SENDBYWEB); + print ' - '.$langs->trans("GoBack").''; + $arrayofmassactions = array(); + } else { + print $formmail->get_form(); + } + + print dol_get_fiche_end(); +} +// Allow Pre-Mass-Action hook (eg for confirmation dialog) +$parameters = array( + 'toselect' => $toselect, + 'uploaddir' => isset($uploaddir) ? $uploaddir : null +); diff --git a/htdocs/expedition/class/api_shipments.class.php b/htdocs/expedition/class/api_shipments.class.php index 2a4b6765b4e..eaf66e59125 100644 --- a/htdocs/expedition/class/api_shipments.class.php +++ b/htdocs/expedition/class/api_shipments.class.php @@ -530,14 +530,9 @@ class Shipments extends DolibarrApi if ($result < 0) { throw new RestException(500, 'Error when validating Shipment: '.$this->shipment->error); } - $result = $this->shipment->fetch($id); - if (!$result) { - throw new RestException(404, 'Shipment not found'); - } - if (!DolibarrApi::_checkAccessToResource('expedition', $this->shipment->id)) { - throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); - } + // Reload shipment + $result = $this->shipment->fetch($id); $this->shipment->fetchObjectLinked(); return $this->_cleanObjectDatas($this->shipment); @@ -626,6 +621,47 @@ class Shipments extends DolibarrApi } */ + /** + * Close a shipment (Classify it as "Delivered") + * + * @param int $id Expedition ID + * @param int $notrigger Disabled triggers + * + * @url POST {id}/close + * + * @return int + */ + public function close($id, $notrigger = 0) + { + if (!DolibarrApiAccess::$user->rights->expedition->creer) { + throw new RestException(401); + } + + $result = $this->shipment->fetch($id); + if (!$result) { + throw new RestException(404, 'Shipment not found'); + } + + if (!DolibarrApi::_checkAccessToResource('expedition', $this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + $result = $this->shipment->setClosed(); + if ($result == 0) { + throw new RestException(304, 'Error nothing done. May be object is already closed'); + } + if ($result < 0) { + throw new RestException(500, 'Error when closing Order: '.$this->commande->error); + } + + // Reload shipment + $result = $this->shipment->fetch($id); + + $this->shipment->fetchObjectLinked(); + + return $this->_cleanObjectDatas($this->shipment); + } + // phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore /** * Clean sensible object datas diff --git a/htdocs/expedition/note.php b/htdocs/expedition/note.php index a9076162015..d9282481603 100644 --- a/htdocs/expedition/note.php +++ b/htdocs/expedition/note.php @@ -69,6 +69,8 @@ $permissionnote = $user->rights->expedition->creer; // Used by the include of ac if ($user->socid) { $socid = $user->socid; } + +$hookmanager->initHooks(array('expeditionnote')); $result = restrictedArea($user, 'expedition', $object->id, ''); @@ -76,7 +78,13 @@ $result = restrictedArea($user, 'expedition', $object->id, ''); * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 344c65832db..048209fbf7d 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1084,7 +1084,7 @@ if (empty($reshook)) { $fk_c_exp_tax_cat = GETPOST('fk_c_exp_tax_cat', 'int'); - $qty = GETPOST('qty', 'int'); + $qty = price2num(GETPOST('qty', 'alpha')); if (empty($qty)) { $qty = 1; } @@ -1101,21 +1101,21 @@ if (empty($reshook)) { $action = ''; } - // Si aucune date n'est rentrée + // If no date entered if (empty($date) || $date == "--") { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); + } elseif ($date < $object->date_debut || $date > ($object->date_fin + (24 * 3600 - 1))) { + // Warning if date out of range + $langs->load("errors"); + setEventMessages($langs->trans("WarningDateOfLineMustBeInExpenseReportRange"), null, 'warnings'); } - // Si aucun prix n'est rentré + + // If no price entered if ($value_unit == 0) { $error++; setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("PriceUTTC")), null, 'errors'); } - // Warning if date out of range - if ($date < $object->date_debut || $date > ($object->date_fin + (24 * 3600 - 1))) { - $langs->load("errors"); - setEventMessages($langs->trans("WarningDateOfLineMustBeInExpenseReportRange"), null, 'warnings'); - } if (!$error) { $type = 0; // TODO What if service ? We should take the type product/service from the type of expense report llx_c_type_fees @@ -1215,12 +1215,12 @@ if (empty($reshook)) { } } - $rowid = $_POST['rowid']; + $rowid = GETPOST('rowid', 'int'); $type_fees_id = GETPOST('fk_c_type_fees', 'int'); $fk_c_exp_tax_cat = GETPOST('fk_c_exp_tax_cat', 'int'); $projet_id = $fk_project; $comments = GETPOST('comments', 'restricthtml'); - $qty = GETPOST('qty', 'int'); + $qty = price2num(GETPOST('qty', 'alpha')); $vatrate = GETPOST('vatrate', 'alpha'); // if VAT is not used in Dolibarr, set VAT rate to 0 because VAT rate is necessary. @@ -2474,32 +2474,32 @@ if ($action == 'create') { print ''; } // Fin si c'est payé/validé - print ''; - print '
'; + print ''; + print ''; - print ''; + '; - print ''; + print ''; - print dol_get_fiche_end(); + print dol_get_fiche_end(); } } else { dol_print_error($db); @@ -2511,9 +2511,11 @@ if ($action == 'create') { exit(1); } + /* * Action bar */ + print '
'; if ($action != 'create' && $action != 'edit') { @@ -2558,7 +2560,7 @@ if ($action != 'create' && $action != 'edit') { print ''; // setdraft (le statut refusée est identique à brouillon) - //print ''.$langs->trans('BROUILLONNER').''; + //print ''.$langs->trans('ReOpen').''; // Enregistrer depuis le statut "Refusée" print ''; } diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index 9592f9548af..b3601c00deb 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -2119,7 +2119,7 @@ class ExpenseReport extends CommonObject $this->line->fk_ecm_files = $fk_ecm_files; - $this->line->id = $rowid; + $this->line->id = ((int) $rowid); // Select des infos sur le type fees $sql = "SELECT c.code as code_type_fees, c.label as libelle_type_fees"; @@ -2703,10 +2703,10 @@ class ExpenseReportLine $sql .= " '".$this->db->escape(empty($this->vat_src_code) ? '' : $this->vat_src_code)."',"; $sql .= " '".$this->db->escape($this->comments)."',"; $sql .= " ".((float) $this->qty).","; - $sql .= " ".((int) $this->value_unit).","; - $sql .= " ".price2num($this->total_ht).","; - $sql .= " ".price2num($this->total_tva).","; - $sql .= " ".price2num($this->total_ttc).","; + $sql .= " ".((float) $this->value_unit).","; + $sql .= " ".((float) price2num($this->total_ht)).","; + $sql .= " ".((float) price2num($this->total_tva)).","; + $sql .= " ".((float) price2num($this->total_ttc)).","; $sql .= " '".$this->db->idate($this->date)."',"; $sql .= " ".(empty($this->rule_warning_message) ? 'null' : "'".$this->db->escape($this->rule_warning_message)."'").","; $sql .= " ".((int) $this->fk_c_exp_tax_cat).","; @@ -2811,26 +2811,26 @@ class ExpenseReportLine // Update line in database $sql = "UPDATE ".MAIN_DB_PREFIX."expensereport_det SET"; $sql .= " comments='".$this->db->escape($this->comments)."'"; - $sql .= ",value_unit = ".((float) $this->value_unit); - $sql .= ",qty=".((float) $this->qty); - $sql .= ",date='".$this->db->idate($this->date)."'"; - $sql .= ",total_ht=".((float) price2num($this->total_ht, 'MT')).""; - $sql .= ",total_tva=".((float) price2num($this->total_tva, 'MT')).""; - $sql .= ",total_ttc=".((float) price2num($this->total_ttc, 'MT')).""; - $sql .= ",tva_tx=".((float) $this->vatrate); - $sql .= ",vat_src_code='".$this->db->escape($this->vat_src_code)."'"; - $sql .= ",rule_warning_message='".$this->db->escape($this->rule_warning_message)."'"; - $sql .= ",fk_c_exp_tax_cat=".$this->db->escape($this->fk_c_exp_tax_cat); - $sql .= ",fk_ecm_files=".($this->fk_ecm_files > 0 ? ((int) $this->fk_ecm_files) : 'null'); + $sql .= ", value_unit = ".((float) $this->value_unit); + $sql .= ", qty=".((float) $this->qty); + $sql .= ", date='".$this->db->idate($this->date)."'"; + $sql .= ", total_ht=".((float) price2num($this->total_ht, 'MT')).""; + $sql .= ", total_tva=".((float) price2num($this->total_tva, 'MT')).""; + $sql .= ", total_ttc=".((float) price2num($this->total_ttc, 'MT')).""; + $sql .= ", tva_tx=".((float) $this->vatrate); + $sql .= ", vat_src_code='".$this->db->escape($this->vat_src_code)."'"; + $sql .= ", rule_warning_message='".$this->db->escape($this->rule_warning_message)."'"; + $sql .= ", fk_c_exp_tax_cat=".$this->db->escape($this->fk_c_exp_tax_cat); + $sql .= ", fk_ecm_files=".($this->fk_ecm_files > 0 ? ((int) $this->fk_ecm_files) : 'null'); if ($this->fk_c_type_fees) { - $sql .= ",fk_c_type_fees = ".((int) $this->fk_c_type_fees); + $sql .= ", fk_c_type_fees = ".((int) $this->fk_c_type_fees); } else { - $sql .= ",fk_c_type_fees=null"; + $sql .= ", fk_c_type_fees=null"; } if ($this->fk_project > 0) { - $sql .= ",fk_projet=".((int) $this->fk_project); + $sql .= ", fk_projet=".((int) $this->fk_project); } else { - $sql .= ",fk_projet=null"; + $sql .= ", fk_projet=null"; } $sql .= " WHERE rowid = ".((int) ($this->rowid ? $this->rowid : $this->id)); diff --git a/htdocs/expensereport/class/paymentexpensereport.class.php b/htdocs/expensereport/class/paymentexpensereport.class.php index a453b810e6a..6e3e8d34137 100644 --- a/htdocs/expensereport/class/paymentexpensereport.class.php +++ b/htdocs/expensereport/class/paymentexpensereport.class.php @@ -169,7 +169,7 @@ class PaymentExpenseReport extends CommonObject $sql .= " VALUES ($this->fk_expensereport, '".$this->db->idate($now)."',"; $sql .= " '".$this->db->idate($this->datepaid)."',"; $sql .= " ".price2num($totalamount).","; - $sql .= " ".$this->fk_typepayment.", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".$user->id.","; + $sql .= " ".((int) $this->fk_typepayment).", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_public)."', ".((int) $user->id).","; $sql .= " 0)"; dol_syslog(get_class($this)."::create", LOG_DEBUG); diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 8198883e58f..c87cc08fb40 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2021 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro @@ -132,6 +132,30 @@ foreach ($listoftype as $code => $label) { $dataseries[] = array($label, (isset($somme[$code]) ? (int) $somme[$code] : 0)); } +// Sort array with most important first +$dataseries = dol_sort_array($dataseries, 1, 'desc'); + +// Merge all entrie after the $KEEPNFIRST one into one entry called "Other..." (to avoid to have too much entries in graphic). +$KEEPNFIRST = 7; // Keep first $KEEPNFIRST one + 1 with the remain +$i = 0; +if (count($dataseries) > ($KEEPNFIRST + 1)) { + foreach ($dataseries as $key => $val) { + if ($i < $KEEPNFIRST) { + $i++; + continue; + } + // Here $key = $KEEPNFIRST + $dataseries[$KEEPNFIRST][0] = $langs->trans("Others").'...'; + if ($key == $KEEPNFIRST) { + $i++; + continue; + } + $dataseries[$KEEPNFIRST][1] += $dataseries[$key][1]; + unset($dataseries[$key]); + $i++; + } +} + if ($conf->use_javascript_ajax) { print ''; @@ -221,10 +245,10 @@ if ($result) { $userstatic->photo = $obj->photo; print ''; - print ''.$expensereportstatic->getNomUrl(1).''; - print ''.$userstatic->getNomUrl(-1).''; - print ''.price($obj->total_ht).''; - print ''.price($obj->total_ttc).''; + print ''.$expensereportstatic->getNomUrl(1).''; + print ''.$userstatic->getNomUrl(-1).''; + print ''.price($obj->total_ht).''; + print ''.price($obj->total_ttc).''; print ''.dol_print_date($db->jdate($obj->dm), 'day').''; print ''; print $expensereportstatic->getLibStatut(3); diff --git a/htdocs/expensereport/note.php b/htdocs/expensereport/note.php index b0156c6a475..5649f2144e4 100644 --- a/htdocs/expensereport/note.php +++ b/htdocs/expensereport/note.php @@ -44,6 +44,8 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } +$hookmanager->initHooks(array('expensereportnote')); + $result = restrictedArea($user, 'expensereport', $id, 'expensereport'); @@ -68,12 +70,17 @@ if ($object->id > 0) { } } - /* * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php b/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php index 42be03263a8..9264400a71f 100644 --- a/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php +++ b/htdocs/expensereport/tpl/expensereport_linktofile.tpl.php @@ -72,7 +72,7 @@ if (empty($conf->global->EXPENSEREPORT_DISABLE_ATTACHMENT_ON_LINES)) { } // If the preview file is found if (file_exists($fileimage)) { - $thumbshown = ''; + $thumbshown = ''; } } } diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index e138c8ed6fe..d15f036b963 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -51,7 +51,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; // Load translation files required by the page -$langs->loadLangs(array('bills', 'companies', 'interventions')); +$langs->loadLangs(array('bills', 'companies', 'interventions', 'stocks')); $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); @@ -1079,7 +1079,7 @@ if ($action == 'create') { // Confirm back to open if ($action == 'reopen') { - $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('Reopen'), $langs->trans('ConfirmReopenIntervention', $object->ref), 'confirm_reopen', '', 0, 1); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReopenIntervention', $object->ref), 'confirm_reopen', '', 0, 1); } // Confirm deletion of line diff --git a/htdocs/fichinter/note.php b/htdocs/fichinter/note.php index fcc790bf8c2..01a8d82cf5a 100644 --- a/htdocs/fichinter/note.php +++ b/htdocs/fichinter/note.php @@ -42,6 +42,7 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } +$hookmanager->initHooks(array('fichinternote')); $result = restrictedArea($user, 'ficheinter', $id, 'fichinter'); $object = new Fichinter($db); @@ -53,7 +54,13 @@ $permissionnote = $user->rights->ficheinter->creer; // Used by the include of ac * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/fourn/ajax/getSupplierPrices.php b/htdocs/fourn/ajax/getSupplierPrices.php index e0cd9beff0c..889484cec44 100644 --- a/htdocs/fourn/ajax/getSupplierPrices.php +++ b/htdocs/fourn/ajax/getSupplierPrices.php @@ -43,7 +43,7 @@ $idprod = GETPOST('idprod', 'int'); $prices = array(); // Load translation files required by the page -$langs->loadLangs(array("stocks", "margins")); +$langs->loadLangs(array("stocks", "margins", "products")); /* diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index daa943ffee9..ff84e67122c 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -11,6 +11,7 @@ * Copyright (C) 2018 Nicolas ZABOURI * Copyright (C) 2018-2020 Frédéric France * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2021 Josep Lluís Amador * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -460,7 +461,7 @@ class CommandeFournisseur extends CommonOrder $sql .= " l.vat_src_code, l.tva_tx, l.remise_percent, l.subprice,"; $sql .= " l.localtax1_tx, l. localtax2_tx, l.localtax1_type, l. localtax2_type, l.total_localtax1, l.total_localtax2,"; $sql .= " l.total_ht, l.total_tva, l.total_ttc, l.special_code, l.fk_parent_line, l.rang,"; - $sql .= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.description as product_desc,"; + $sql .= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.description as product_desc, p.tobatch as product_tobatch, p.barcode as product_barcode,"; $sql .= " l.fk_unit,"; $sql .= " l.date_start, l.date_end,"; $sql .= ' l.fk_multicurrency, l.multicurrency_code, l.multicurrency_subprice, l.multicurrency_total_ht, l.multicurrency_total_tva, l.multicurrency_total_ttc'; @@ -470,7 +471,7 @@ class CommandeFournisseur extends CommonOrder $sql .= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product = p.rowid'; if (!empty($conf->global->PRODUCT_USE_SUPPLIER_PACKAGING)) { - $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON l.fk_product = pfp.fk_product and l.ref = pfp.ref_fourn"; + $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON l.fk_product = pfp.fk_product and l.ref = pfp.ref_fourn AND pfp.fk_soc = ".$this->socid; } $sql .= " WHERE l.fk_commande = ".$this->id; if ($only_product) { @@ -516,6 +517,8 @@ class CommandeFournisseur extends CommonOrder $line->libelle = $objp->product_label; // deprecated $line->product_label = $objp->product_label; $line->product_desc = $objp->product_desc; + $line->product_tobatch = $objp->product_tobatch; + $line->product_barcode = $objp->product_barcode; $line->ref = $objp->product_ref; // Ref of product $line->product_ref = $objp->product_ref; // Ref of product @@ -3017,13 +3020,13 @@ class CommandeFournisseur extends CommonOrder $response->warning_delay = $conf->commande->fournisseur->warning_delay / 60 / 60 / 24; $response->label = $langs->trans("SuppliersOrdersToProcess"); $response->labelShort = $langs->trans("Opened"); - $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?statut=1,2&mainmenu=commercial&leftmenu=orders_suppliers'; + $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?search_status=1,2&mainmenu=commercial&leftmenu=orders_suppliers'; $response->img = img_object('', "order"); if ($mode === 'awaiting') { $response->label = $langs->trans("SuppliersOrdersAwaitingReception"); $response->labelShort = $langs->trans("AwaitingReception"); - $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?statut=3,4&mainmenu=commercial&leftmenu=orders_suppliers'; + $response->url = DOL_URL_ROOT.'/fourn/commande/list.php?search_status=3,4&mainmenu=commercial&leftmenu=orders_suppliers'; } while ($obj = $this->db->fetch_object($resql)) { diff --git a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php index 5457a9ee376..cd1ff267fb7 100644 --- a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php +++ b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php @@ -220,13 +220,12 @@ class CommandeFournisseurDispatch extends CommonObject $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element); if (!$notrigger) { - // Uncomment this and change MYOBJECT to your own tag if you - // want this action calls a trigger. - - //// Call triggers - //$result=$this->call_trigger('MYOBJECT_CREATE',$user); - //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} - //// End call triggers + // Call triggers + $result=$this->call_trigger('LINERECEPTION_CREATE', $user); + if ($result < 0) { + $error++; + } + // End call triggers } } diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 3c6151ef349..049bcf89c8b 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -530,7 +530,8 @@ class FactureFournisseur extends CommonInvoice $this->lines[$i]->date_end, $this->lines[$i]->array_options, $this->lines[$i]->fk_unit, - $this->lines[$i]->multicurrency_subprice + $this->lines[$i]->multicurrency_subprice, + $this->lines[$i]->ref_supplier ); } else { $this->error = $this->db->lasterror(); @@ -568,7 +569,15 @@ class FactureFournisseur extends CommonInvoice $line->fk_product, 'HT', (!empty($line->info_bits) ? $line->info_bits : ''), - $line->product_type + $line->product_type, + $line->remise_percent, + 0, + $line->date_start, + $line->date_end, + $line->array_options, + $line->fk_unit, + $line->multicurrency_subprice, + $line->ref_supplier ); } else { $this->error = $this->db->lasterror(); @@ -3550,7 +3559,7 @@ class SupplierInvoiceLine extends CommonObjectLine $this->error = 'ErrorProductTypeMustBe0orMore'; return -1; } - if (!empty($this->fk_product)) { + if (!empty($this->fk_product) && $this->fk_product > 0) { // Check product exists $result = Product::isExistingObject('product', $this->fk_product); if ($result <= 0) { @@ -3583,7 +3592,7 @@ class SupplierInvoiceLine extends CommonObjectLine $sql .= " ".price2num($this->localtax2_tx).","; $sql .= " '".$this->db->escape($this->localtax1_type)."',"; $sql .= " '".$this->db->escape($this->localtax2_type)."',"; - $sql .= ' '.(!empty($this->fk_product) ? $this->fk_product : "null").','; + $sql .= ' '.((!empty($this->fk_product) && $this->fk_product > 0) ? $this->fk_product : "null").','; $sql .= " ".((int) $this->product_type).","; $sql .= " ".price2num($this->remise_percent).","; $sql .= ' '.(! empty($this->fk_remise_except) ? ((int) $this->fk_remise_except) : "null").','; diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 6e89abbf953..0affc7dcce4 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -983,7 +983,9 @@ if (empty($reshook)) { if ($action == 'commande') { $methodecommande = GETPOST('methodecommande', 'int'); - if ($methodecommande <= 0) { + if ($cancel) { + $action = ''; + } elseif ($methodecommande <= 0) { setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("OrderMode")), null, 'errors'); $action = 'makeorder'; } @@ -1059,36 +1061,43 @@ if (empty($reshook)) { // Set status of reception (complete, partial, ...) if ($action == 'livraison' && $usercanreceived) { - $db->begin(); + if ($cancel) { + $action = ''; + } else { + $db->begin(); - if (GETPOST("type") != '') { - $date_liv = dol_mktime(GETPOST('rehour'), GETPOST('remin'), GETPOST('resec'), GETPOST("remonth"), GETPOST("reday"), GETPOST("reyear")); + if (GETPOST("type") != '') { + $date_liv = dol_mktime(GETPOST('rehour'), GETPOST('remin'), GETPOST('resec'), GETPOST("remonth"), GETPOST("reday"), GETPOST("reyear")); - $result = $object->Livraison($user, $date_liv, GETPOST("type"), GETPOST("comment")); // GETPOST("type") is 'tot', 'par', 'nev', 'can' - if ($result > 0) { - $langs->load("deliveries"); - setEventMessages($langs->trans("DeliveryStateSaved"), null); - $action = ''; - } elseif ($result == -3) { - $error++; - setEventMessages($object->error, $object->errors, 'errors'); + $result = $object->Livraison($user, $date_liv, GETPOST("type"), GETPOST("comment")); // GETPOST("type") is 'tot', 'par', 'nev', 'can' + if ($result > 0) { + $langs->load("deliveries"); + setEventMessages($langs->trans("DeliveryStateSaved"), null); + $action = ''; + } elseif ($result == -3) { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } else { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } } else { $error++; - setEventMessages($object->error, $object->errors, 'errors'); + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Delivery")), null, 'errors'); } - } else { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("Delivery")), null, 'errors'); - } - if (!$error) { - $db->commit(); - } else { - $db->rollback(); + if (!$error) { + $db->commit(); + } else { + $db->rollback(); + } } } if ($action == 'confirm_cancel' && $confirm == 'yes' && $usercanorder) { + if (GETPOST('cancel_note')) { + $object->cancel_note = GETPOST('cancel_note'); + } $result = $object->cancel($user); if ($result > 0) { header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); @@ -1889,13 +1898,13 @@ if ($action == 'create') { $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=".$object->id, $langs->trans("ApproveThisOrder"), $text, "confirm_".$action, $formquestion, 1, 1, 240); } - // Confirmation de la desapprobation + // Confirmation of disapproval if ($action == 'refuse') { $formquestion = array( array( 'type' => 'text', 'name' => 'refuse_note', - 'label' => $langs->trans("MotifCP"), + 'label' => $langs->trans("Reason"), 'value' => '', 'morecss' => 'minwidth300' ) @@ -1903,9 +1912,18 @@ if ($action == 'create') { $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=$object->id", $langs->trans("DenyingThisOrder"), $langs->trans("ConfirmDenyingThisOrder", $object->ref), "confirm_refuse", $formquestion, 0, 1); } - // Confirmation de l'annulation + // Confirmation of cancellation if ($action == 'cancel') { - $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=$object->id", $langs->trans("Cancel"), $langs->trans("ConfirmCancelThisOrder", $object->ref), "confirm_cancel", '', 0, 1); + $formquestion = array( + array( + 'type' => 'text', + 'name' => 'cancel_note', + 'label' => $langs->trans("Reason"), + 'value' => '', + 'morecss' => 'minwidth300' + ) + ); + $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=$object->id", $langs->trans("Cancel"), $langs->trans("ConfirmCancelThisOrder", $object->ref), "confirm_cancel", $formquestion, 0, 1); } // Confirmation de l'envoi de la commande @@ -2303,10 +2321,11 @@ if ($action == 'create') { //$result = $object->getLinesArray(); - print '
+ print ' + '; @@ -2639,7 +2658,11 @@ if ($action == 'create') { print ''; print ''.$langs->trans("Comment").''; - print ''; + print ''; + print ''; + print '     '; + print ''; + print ''; print "\n"; print "
\n"; print "
"; diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 2c847b9a421..09588389cb1 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -721,12 +721,12 @@ if ($id > 0 || !empty($ref)) { print ''.$langs->trans("Description").''; if (!empty($conf->productbatch->enabled)) { print ''.$langs->trans("batch_number").''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.$langs->trans("EatByDate").''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.$langs->trans("SellByDate").''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.$langs->trans("EatByDate").''; + } } else { print ''; print ''; @@ -814,12 +814,12 @@ if ($id > 0 || !empty($ref)) { print $linktoprod; print ""; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } } else { print ''; print $linktoprod; @@ -827,12 +827,12 @@ if ($id > 0 || !empty($ref)) { print ''; print $langs->trans("ProductDoesNotUseBatchSerial"); print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } } } else { print ''; @@ -901,7 +901,7 @@ if ($id > 0 || !empty($ref)) { print ''; print ''; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; $dlcdatesuffix = dol_mktime(0, 0, 0, GETPOST('dlc'.$suffix.'month'), GETPOST('dlc'.$suffix.'day'), GETPOST('dlc'.$suffix.'year')); print $form->selectDate($dlcdatesuffix, 'dlc'.$suffix, '', '', 1, ''); @@ -917,8 +917,8 @@ if ($id > 0 || !empty($ref)) { } else { $type = 'dispatch'; $colspan = 7; - $colspan = (!empty($conf->global->PRODUCT_DISABLE_EATBY)) ? --$colspan : $colspan; $colspan = (!empty($conf->global->PRODUCT_DISABLE_SELLBY)) ? --$colspan : $colspan; + $colspan = (!empty($conf->global->PRODUCT_DISABLE_EATBY)) ? --$colspan : $colspan; print ''; print ''; // Qty to dispatch print ''; @@ -1140,12 +1140,12 @@ if ($id > 0 || !empty($ref)) { print ''.$langs->trans("DateDeliveryPlanned").''; if (!empty($conf->productbatch->enabled)) { print ''.$langs->trans("batch_number").''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.$langs->trans("EatByDate").''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.$langs->trans("SellByDate").''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.$langs->trans("EatByDate").''; + } } print ''.$langs->trans("QtyDispatched").''; print ''.$langs->trans("Warehouse").''; @@ -1199,16 +1199,20 @@ if ($id > 0 || !empty($ref)) { $lot = new Productlot($db); $lot->fetch(0, $objp->pid, $objp->batch); print ''.$lot->getNomUrl(1).''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.dol_print_date($lot->eatby, 'day').''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.dol_print_date($lot->sellby, 'day').''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.dol_print_date($lot->eatby, 'day').''; + } } else { print ''; - print ''; - print ''; + if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { + print ''; + } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } } } diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index bf8e53e8b82..d1946cc9b4c 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -1407,7 +1407,7 @@ if ($resql) { // Type ent if (!empty($arrayfields['typent.code']['checked'])) { print ''; - if (count($typenArray) == 0) { + if (empty($typenArray)) { $typenArray = $formcompany->typent_array(1); } print $typenArray[$obj->typent_code]; diff --git a/htdocs/fourn/commande/note.php b/htdocs/fourn/commande/note.php index d9b0904c7ef..b3e7d33e5d9 100644 --- a/htdocs/fourn/commande/note.php +++ b/htdocs/fourn/commande/note.php @@ -43,13 +43,13 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } + +$hookmanager->initHooks(array('ordersuppliercardnote')); $result = restrictedArea($user, 'fournisseur', $id, 'commande_fournisseur', 'commande'); $object = new CommandeFournisseur($db); $object->fetch($id, $ref); -$hookmanager->initHooks(array('ordersuppliercardnote')); - $permissionnote = ($user->rights->fournisseur->commande->creer || $user->rights->supplier_order->creer); // Used by the include of actions_setnotes.inc.php @@ -57,7 +57,13 @@ $permissionnote = ($user->rights->fournisseur->commande->creer || $user->rights- * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index a28b8c13331..b39041542eb 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -2739,14 +2739,17 @@ if ($action == 'create') { // Label print ''; - print ''.$form->editfieldkey("Label", 'label', $object->label, $object, ($usercancreate)).''; - print ''.$form->editfieldval("Label", 'label', $object->label, $object, ($usercancreate)).''; + print ''.$form->editfieldkey("Label", 'label', $object->label, $object, $usercancreate).''; + print ''.$form->editfieldval("Label", 'label', $object->label, $object, $usercancreate).''; print ''; $form_permission = ($object->statut < FactureFournisseur::STATUS_CLOSED) && $usercancreate && ($object->getSommePaiement() <= 0); + $form_permission2 = ($object->statut < FactureFournisseur::STATUS_CLOSED) && $usercancreate; // Date - print ''.$form->editfieldkey("DateInvoice", 'datef', $object->datep, $object, $form_permission, 'datepicker').''; + print ''; + print $form->editfieldkey("DateInvoice", 'datef', $object->datep, $object, $form_permission, 'datepicker'); + print ''; print $form->editfieldval("Date", 'datef', $object->datep, $object, $form_permission, 'datepicker'); print ''; @@ -2756,11 +2759,11 @@ if ($action == 'create') { print ''; } print '
'; print $langs->trans('PaymentConditions'); print ''; - if ($action != 'editconditions' && $usercancreate) { + if ($action != 'editconditions' && $form_permission) { print 'id.'">'.img_edit($langs->trans('SetConditions'), 1).'
'; - print ''; + print ''; if ($action == 'editconditions') { $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->cond_reglement_id, 'cond_reglement_id'); } else { @@ -2770,8 +2773,10 @@ if ($action == 'create') { print ''; // Due date - print ''.$form->editfieldkey("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission, 'datepicker').''; - print $form->editfieldval("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission, 'datepicker'); + print ''; + print $form->editfieldkey("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission2, 'datepicker'); + print ''; + print $form->editfieldval("DateMaxPayment", 'date_lim_reglement', $object->date_echeance, $object, $form_permission2, 'datepicker'); if ($action != 'editdate_lim_reglement' && $object->hasDelay()) { print img_warning($langs->trans('Late')); } @@ -2783,11 +2788,11 @@ if ($action == 'create') { print ''; - if ($action != 'editmode' && $usercancreate) { + if ($action != 'editmode' && $form_permission2) { print ''; } print '
'; print $langs->trans('PaymentMode'); print 'id.'">'.img_edit($langs->trans('SetMode'), 1).'
'; - print ''; + print ''; if ($action == 'editmode') { $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'mode_reglement_id', 'DBIT', 1, 1); } else { @@ -2807,7 +2812,7 @@ if ($action == 'create') { print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).''; } print ''; - print ''; + print ''; if ($action == 'editmulticurrencycode') { $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'multicurrency_code'); } else { @@ -2819,14 +2824,14 @@ if ($action == 'create') { if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) { print ''; print ''; - print ''; } print '
'; + print ''; if ($action != 'editmulticurrencyrate' && $object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) { print ''; } print '
'; print $form->editfieldkey('CurrencyRate', 'multicurrency_tx', '', $object, 0); print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).'
'; - print '
'; + print ''; if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') { if ($action == 'actualizemulticurrencyrate') { list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code); @@ -2854,7 +2859,7 @@ if ($action == 'create') { print 'id.'">'.img_edit($langs->trans('SetBankAccount'), 1).'
'; - print ''; + print ''; if ($action == 'editbankaccount') { $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_account, 'fk_account', 1); } else { @@ -2877,7 +2882,7 @@ if ($action == 'create') { } print ''; print ''; - print ''; + print ''; if ($action != 'editincoterm') { print $form->textwithpicto($object->display_incoterms(), $object->label_incoterms, 1); } else { @@ -2898,7 +2903,6 @@ if ($action == 'create') { } print ''; print ''; - print ''; if ($action == 'editmode') { $form->formSelectTransportMode($_SERVER['PHP_SELF'].'?id='.$object->id, $object->transport_mode_id, 'transport_mode_id', 1, 1); @@ -2913,8 +2917,8 @@ if ($action == 'create') { include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; print ''; - print '
'; + print '
'; print '
'; print '
'; @@ -2933,7 +2937,7 @@ if ($action == 'create') { print ''; // Multicurrency Amount TTC - print ''.$form->editfieldkey('MulticurrencyAmountTTC', 'multicurrency_total_ttc', '', $object, 0).''; + print ''.$form->editfieldkey('MulticurrencyAmountTTC', 'multicurrency_total_ttc', '', $object, 0).''; print ''.price($object->multicurrency_total_ttc, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)).''; print ''; } @@ -2977,9 +2981,8 @@ if ($action == 'create') { print ''; - /* - * List of payments - */ + + // List of payments $totalpaye = 0; @@ -3234,6 +3237,17 @@ if ($action == 'create') { print ''; print ''; print ''.price($resteapayeraffiche).''; + + // Remainder to pay Multicurrency + if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) { + print ''; + print ''; + print $langs->trans('MulticurrencyRemainderToPay'); + print ''; + print ''; + print ''.(!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency).' '.price(price2num($object->multicurrency_tx*$resteapayeraffiche, 'MT')).''; + } + print ' '; } else // Credit note { @@ -3292,10 +3306,11 @@ if ($action == 'create') { /* * Lines */ - print '
'; + print ''; print ''; print ''; print ''; + print ''; print ''; print ''; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 9d5343c47c4..5e4cc3fc05e 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -45,10 +45,6 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; -if (!$user->rights->fournisseur->facture->lire) { - accessforbidden(); -} - // Load translation files required by the page $langs->loadLangs(array('products', 'bills', 'companies', 'projects')); @@ -214,6 +210,16 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); +if ((empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($conf->supplier_invoice->enabled) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { + accessforbidden(); +} +if ((empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($user->rights->supplier_invoice->lire) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { + accessforbidden(); +} + + /* * Actions diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index 5bbf1fdcba6..c5ea5feac68 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -44,6 +44,9 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('invoicesuppliernote')); + $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture'); $object = new FactureFournisseur($db); @@ -56,7 +59,13 @@ $permissionnote = ($user->rights->fournisseur->facture->creer || $user->rights-> * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} // Set label if ($action == 'setlabel' && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer)) { diff --git a/htdocs/fourn/js/lib_dispatch.js.php b/htdocs/fourn/js/lib_dispatch.js.php index fd15894b4ec..01af2ee5d91 100644 --- a/htdocs/fourn/js/lib_dispatch.js.php +++ b/htdocs/fourn/js/lib_dispatch.js.php @@ -70,7 +70,9 @@ function addDispatchLine(index, type, mode) mode = mode || 'qtymissing' console.log("fourn/js/lib_dispatch.js.php Split line type="+type+" index="+index+" mode="+mode); - var $row = $("tr[name='"+type+'_0_'+index+"']").clone(true); // clone first batch line to jQuery object + var $row0 = $("tr[name='"+type+'_0_'+index+"']"); + var $dpopt = $row0.find('.hasDatepicker').first().datepicker('option', 'all'); // get current datepicker options to apply the same to the cloned datepickers + var $row = $row0.clone(true); // clone first batch line to jQuery object var nbrTrs = $("tr[name^='"+type+"_'][name$='_"+index+"']").length; // position of line for batch var qtyOrdered = parseFloat($("#qty_ordered_0_"+index).val()); // Qty ordered is same for all rows var qty = parseFloat($("#qty_"+(nbrTrs - 1)+"_"+index).val()); @@ -96,6 +98,18 @@ function addDispatchLine(index, type, mode) } else if (qtyDispatched < qtyOrdered) { //replace tr suffix nbr $row.html($row.html().replace(/_0_/g,"_"+nbrTrs+"_")); + + // jquery's deep clone is incompatible with date pickers (the clone shares data with the original) + // so we destroy and rebuild the new date pickers + setTimeout(() => { + $row.find('.hasDatepicker').each((i, dp) => { + $(dp).removeData() + .removeClass('hasDatepicker'); + $(dp).next('img.ui-datepicker-trigger').remove(); + $(dp).datepicker($dpopt); + }); + }, 0); + //create new select2 to avoid duplicate id of cloned one $row.find("select[name='"+'entrepot_'+nbrTrs+'_'+index+"']").select2(); // TODO find solution to copy selected option to new select diff --git a/htdocs/fourn/paiement/list.php b/htdocs/fourn/paiement/list.php index 80654e9a4ae..f02c872fb0e 100644 --- a/htdocs/fourn/paiement/list.php +++ b/htdocs/fourn/paiement/list.php @@ -118,10 +118,12 @@ if ($user->socid) { // require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; // $object = new PaiementFourn($db); // restrictedArea($user, $object->element); -if ((empty($conf->fournisseur->enabled) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || empty($conf->supplier_invoice->enabled)) { +if ((empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($conf->supplier_invoice->enabled) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { accessforbidden(); } -if (!$user->rights->fournisseur->facture->lire || !$user->rights->supplier_invoice->lire) { +if ((empty($user->rights->fournisseur->facture->lire) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) + || (empty($user->rights->supplier_invoice->lire) && !empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD))) { accessforbidden(); } diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index e7fc4014563..155bb564137 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -86,6 +86,9 @@ if (($id > 0) || $ref) { } } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('holidaycard', 'globalcard')); + $cancreate = 0; if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && !empty($user->rights->holiday->writeall_advance)) { diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index e1a9d9d905b..b272d7b45fb 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -227,7 +227,7 @@ class Holiday extends CommonObject if ($result >= 0) { $this->db->commit(); - return 1; + return 0; // for cronjob use (0 is OK, any other value is an error code) } else { $this->db->rollback(); return -1; @@ -1251,6 +1251,8 @@ class Holiday extends CommonObject public function LibStatut($status, $mode = 0, $startdate = '') { // phpcs:enable + global $langs; + if (empty($this->labelStatus) || empty($this->labelStatusShort)) { global $langs; //$langs->load("mymodule"); @@ -1266,9 +1268,11 @@ class Holiday extends CommonObject $this->labelStatusShort[self::STATUS_REFUSED] = $langs->trans('RefuseCP'); } + $params = array(); $statusType = 'status6'; - if (!empty($startdate) && $startdate > dol_now()) { + if (!empty($startdate) && $startdate >= dol_now()) { // If not yet passed, we use a green "in live" color $statusType = 'status4'; + $params = array('tooltip'=>$this->labelStatus[$status].' - '.$langs->trans("Forthcoming")); } if ($status == self::STATUS_DRAFT) { $statusType = 'status0'; @@ -1283,7 +1287,7 @@ class Holiday extends CommonObject $statusType = 'status5'; } - return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode); + return dolGetStatus($this->labelStatus[$status], $this->labelStatusShort[$status], '', $statusType, $mode, '', $params); } @@ -1292,11 +1296,11 @@ class Holiday extends CommonObject * * @param int $selected Id of preselected status * @param string $htmlname Name of HTML select field + * @param string $morecss More CSS on select component * @return string Show select of status */ - public function selectStatutCP($selected = '', $htmlname = 'select_statut') + public function selectStatutCP($selected = '', $htmlname = 'select_statut', $morecss = 'minwidth125') { - global $langs; // Liste des statuts @@ -1304,7 +1308,7 @@ class Holiday extends CommonObject $nb = count($name) + 1; // Select HTML - $out = ''."\n"; $out .= ''."\n"; // Boucle des statuts @@ -2261,7 +2265,7 @@ class Holiday extends CommonObject $response->warning_delay = $conf->holiday->approve->warning_delay / 60 / 60 / 24; $response->label = $langs->trans("HolidaysToApprove"); $response->labelShort = $langs->trans("ToApprove"); - $response->url = DOL_URL_ROOT.'/holiday/list.php?search_statut=2&mainmenu=hrm&leftmenu=holiday'; + $response->url = DOL_URL_ROOT.'/holiday/list.php?search_status=2&mainmenu=hrm&leftmenu=holiday'; $response->img = img_object('', "holiday"); while ($obj = $this->db->fetch_object($resql)) { diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php index c62185d5f2a..334f68da404 100644 --- a/htdocs/holiday/list.php +++ b/htdocs/holiday/list.php @@ -117,7 +117,7 @@ $search_month_end = GETPOST('search_month_end', 'int'); $search_year_end = GETPOST('search_year_end', 'int'); $search_employee = GETPOST('search_employee', 'int'); $search_valideur = GETPOST('search_valideur', 'int'); -$search_status = GETPOST('search_status', 'int'); +$search_status = GETPOSTISSET('search_status') ? GETPOST('search_status', 'int') : GETPOST('search_statut', 'int'); $search_type = GETPOST('search_type', 'int'); // Initialize technical objects @@ -213,6 +213,7 @@ if (empty($reshook)) { $objectlabel = 'Holiday'; $permissiontoread = $user->rights->holiday->read; $permissiontodelete = $user->rights->holiday->delete; + $permissiontoapprove = $user->rights->holiday->approve; $uploaddir = $conf->holiday->dir_output; include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -441,6 +442,9 @@ if ($resql) { if (!empty($user->rights->holiday->delete)) { $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); } + if (!empty($user->rights->holiday->approve)) { + $arrayofmassactions['preapproveleave'] = img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Approve"); + } if (in_array($massaction, array('presend', 'predelete'))) { $arrayofmassactions = array(); } @@ -636,7 +640,7 @@ if ($resql) { // Create date if (!empty($arrayfields['cp.date_create']['checked'])) { - print ''; + print ''; print ''; $formother->select_year($search_year_create, 'search_year_create', 1, $min_year, 0); print ''; @@ -644,7 +648,7 @@ if ($resql) { // Create date if (!empty($arrayfields['cp.tms']['checked'])) { - print ''; + print ''; print ''; $formother->select_year($search_year_update, 'search_year_update', 1, $min_year, 0); print ''; @@ -652,8 +656,8 @@ if ($resql) { // Status if (!empty($arrayfields['cp.statut']['checked'])) { - print ''; - $object->selectStatutCP($search_status, 'search_status'); + print ''; + $object->selectStatutCP($search_status, 'search_status', 'minwidth125'); print ''; } @@ -730,6 +734,7 @@ if ($resql) { $holidaystatic->id = $obj->rowid; $holidaystatic->ref = ($obj->ref ? $obj->ref : $obj->rowid); $holidaystatic->statut = $obj->status; + $holidaystatic->date_debut = $db->jdate($obj->date_debut); // User $userstatic->id = $obj->fk_user; @@ -780,7 +785,7 @@ if ($resql) { } } if (!empty($arrayfields['cp.fk_type']['checked'])) { - print ''; + print ''; $labeltypeleavetoshow = ($langs->trans($typeleaves[$obj->fk_type]['code']) != $typeleaves[$obj->fk_type]['code'] ? $langs->trans($typeleaves[$obj->fk_type]['code']) : $typeleaves[$obj->fk_type]['label']); print empty($typeleaves[$obj->fk_type]['label']) ? $langs->trans("TypeWasDisabledOrRemoved", $obj->fk_type) : $labeltypeleavetoshow; print ''; @@ -790,7 +795,7 @@ if ($resql) { } if (!empty($arrayfields['duration']['checked'])) { print ''; - $nbopenedday = num_open_day($db->jdate($obj->date_debut, 1), $db->jdate($obj->date_fin, 1), 0, 1, $obj->halfday); + $nbopenedday = num_open_day($db->jdate($obj->date_debut, 1), $db->jdate($obj->date_fin, 1), 0, 1, $obj->halfday); // user jdate(..., 1) because num_open_day need UTC dates print $nbopenedday.' '.$langs->trans('DurationDays'); print ''; if (!$i) { diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php index 23d0899cc18..8a294a47e2c 100644 --- a/htdocs/hrm/index.php +++ b/htdocs/hrm/index.php @@ -234,7 +234,7 @@ if (!empty($conf->holiday->enabled) && $user->rights->holiday->read) { print ''; print ''.$holidaystatic->getNomUrl(1).''; print ''.$userstatic->getNomUrl(-1, 'leave').''; - print ''.dol_escape_htmltag($typeleaves[$obj->fk_type]['label']).''; + print ''.dol_escape_htmltag($langs->trans($typeleaves[$obj->fk_type]['code'])).''; $starthalfday = ($obj->halfday == -1 || $obj->halfday == 2) ? 'afternoon' : 'morning'; $endhalfday = ($obj->halfday == 1 || $obj->halfday == 2) ? 'morning' : 'afternoon'; @@ -310,11 +310,11 @@ if (!empty($conf->expensereport->enabled) && $user->rights->expensereport->lire) $userstatic->photo = $obj->photo; print ''; - print ''.$expensereportstatic->getNomUrl(1).''; + print ''.$expensereportstatic->getNomUrl(1).''; print ''.$userstatic->getNomUrl(-1).''; - print ''.price($obj->total_ttc).''; + print ''.price($obj->total_ttc).''; print ''.dol_print_date($db->jdate($obj->dm), 'day').''; - print ''.$expensereportstatic->LibStatut($obj->status, 3).''; + print ''.$expensereportstatic->LibStatut($obj->status, 3).''; print ''; $i++; diff --git a/htdocs/imports/emptyexample.php b/htdocs/imports/emptyexample.php index a50a2fc9996..b919a3c4c3e 100644 --- a/htdocs/imports/emptyexample.php +++ b/htdocs/imports/emptyexample.php @@ -102,13 +102,13 @@ if ($attachment) { // List of targets fields -$headerlinefields = array(); -$contentlinevalues = array(); +$headerlinefields = array(); // Array of fields (label to show) +$contentlinevalues = array(); // Array of example values $i = 0; foreach ($fieldstarget as $code => $label) { $withoutstar = preg_replace('/\*/', '', $fieldstarget[$code]); $headerlinefields[] = $langs->transnoentities($withoutstar).($withoutstar != $fieldstarget[$code] ? '*' : '').' ('.$code.')'; - $contentlinevalues[] = $valuestarget[$code]; + $contentlinevalues[] = (isset($valuestarget[$code]) ? $valuestarget[$code] : ''); } //var_dump($headerlinefields); //var_dump($contentlinevalues); diff --git a/htdocs/includes/.htaccess b/htdocs/includes/.htaccess new file mode 100644 index 00000000000..c15ce44a5e1 --- /dev/null +++ b/htdocs/includes/.htaccess @@ -0,0 +1,16 @@ +# htaccess file to clock +# The virtual host must have AllowOverride FileInfo to have this file used. +# You can achieve the same effect by adding a definition to +# +# +#RewriteRule \.php$ - [F,L] +# + + +#RewriteRule \.php$ - [F,L] + +# If there is no directory with AllowOveride FileInfo, you will get error 500. But +# we got what we want, php file into external libraries can't be executed directly. + + SetHandler ! + diff --git a/htdocs/includes/odtphp/odf.php b/htdocs/includes/odtphp/odf.php index 91fec8d998e..a7416258a57 100644 --- a/htdocs/includes/odtphp/odf.php +++ b/htdocs/includes/odtphp/odf.php @@ -2,6 +2,9 @@ require 'Segment.php'; +/** + * Class of ODT Exception + */ class OdfException extends Exception { } @@ -65,12 +68,12 @@ class Odf } $md5uniqid = md5(uniqid()); - if ($this->config['PATH_TO_TMP']) $this->tmpdir = preg_replace('|[\/]$|','',$this->config['PATH_TO_TMP']); // Remove last \ or / + if ($this->config['PATH_TO_TMP']) $this->tmpdir = preg_replace('|[\/]$|', '', $this->config['PATH_TO_TMP']); // Remove last \ or / $this->tmpdir .= ($this->tmpdir?'/':'').$md5uniqid; $this->tmpfile = $this->tmpdir.'/'.$md5uniqid.'.odt'; // We keep .odt extension to allow OpenOffice usage during debug. // A working directory is required for some zip proxy like PclZipProxy - if (in_array($this->config['ZIP_PROXY'],array('PclZipProxy')) && ! is_dir($this->config['PATH_TO_TMP'])) { + if (in_array($this->config['ZIP_PROXY'], array('PclZipProxy')) && ! is_dir($this->config['PATH_TO_TMP'])) { throw new OdfException('Temporary directory '.$this->config['PATH_TO_TMP'].' must exists'); } @@ -81,8 +84,8 @@ class Odf // Load zip proxy $zipHandler = $this->config['ZIP_PROXY']; - if (!defined('PCLZIP_TEMPORARY_DIR')) define('PCLZIP_TEMPORARY_DIR',$this->tmpdir); - include_once('zip/'.$zipHandler.'.php'); + if (!defined('PCLZIP_TEMPORARY_DIR')) define('PCLZIP_TEMPORARY_DIR', $this->tmpdir); + include_once 'zip/'.$zipHandler.'.php'; if (! class_exists($this->config['ZIP_PROXY'])) { throw new OdfException($this->config['ZIP_PROXY'] . ' class not found - check your php settings'); } @@ -147,13 +150,13 @@ class Odf } /** - * Replaces html tags in odt tags and returns a compatible string - * @param string $key Name of the variable within the template + * Replaces html tags in odt tags and returns a compatible string + * * @param string $value Replacement value * @param bool $encode If true, special XML characters are encoded * @param string $charset Charset - * @return string - */ + * @return string + */ public function convertVarToOdf($value, $encode = true, $charset = 'ISO-8859') { $value = $encode ? htmlspecialchars($value) : $value; @@ -172,6 +175,9 @@ class Odf '' ); + $customStyles = array(); + $fontDeclarations = array(); + $convertedValue = $this->_replaceHtmlWithOdtTag($this->_getDataFromHtml($value), $customStyles, $fontDeclarations); foreach ($customStyles as $key => $val) { @@ -195,207 +201,207 @@ class Odf } } $this->contentXml = str_replace('', $fonts . '', $this->contentXml); - } - else $convertedValue = preg_replace('/(\r\n|\r|\n)/i', "", $value); + } else $convertedValue = preg_replace('/(\r\n|\r|\n)/i', "", $value); return $convertedValue; } /** - * Replaces html tags in with odt tags and returns an odt string - * @param array $tags An array with html tags generated by the getDataFromHtml() function - * @param array $customStyles An array of style defenitions that should be included inside the odt file - * @param array $fontDeclarations An array of font declarations that should be included inside the odt file - * @return string - */ - private function _replaceHtmlWithOdtTag($tags, &$customStyles, &$fontDeclarations) + * Replaces html tags in with odt tags and returns an odt string + * @param array $tags An array with html tags generated by the getDataFromHtml() function + * @param array $customStyles An array of style defenitions that should be included inside the odt file + * @param array $fontDeclarations An array of font declarations that should be included inside the odt file + * @return string + */ + private function _replaceHtmlWithOdtTag($tags, &$customStyles, &$fontDeclarations) { - if ($customStyles == null) $customStyles = array(); - if ($fontDeclarations == null) $fontDeclarations = array(); + if ($customStyles == null) $customStyles = array(); + if ($fontDeclarations == null) $fontDeclarations = array(); - $odtResult = ''; + $odtResult = ''; - foreach ((array) $tags as $tag) { - // Check if the current item is a tag or just plain text - if (isset($tag['text'])) { - $odtResult .= $tag['text']; - } elseif (isset($tag['name'])) { - switch ($tag['name']) { - case 'br': - $odtResult .= ''; - break; - case 'strong': - case 'b': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'i': - case 'em': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'u': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 's': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'sub': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'sup': - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - break; - case 'span': - if (isset($tag['attributes']['style'])) { - $odtStyles = ''; - foreach ($tag['attributes']['style'] as $styleName => $styleValue) { - switch ($styleName) { - case 'font-family': - $fontName = $styleValue; - if (strpos($fontName, ',') !== false) { - $fontName = explode(',', $fontName)[0]; - } - if (!in_array($fontName, $fontDeclarations)) { - array_push($fontDeclarations, $fontName); - } - $odtStyles .= ''; - break; - case 'font-size': - if (preg_match('/([0-9]+)\s?(px|pt)/', $styleValue, $matches)) { - $fontSize = intval($matches[1]); - if ($matches[2] == 'px') { - $fontSize = round($fontSize * 0.75); - } - $odtStyles .= ''; - } - break; - case 'color': - if (preg_match('/#[0-9A-Fa-f]{3}(?:[0-9A-Fa-f]{3})?/', $styleValue)) { - $odtStyles .= ''; - } - break; - } - } - if (strlen($odtStyles) > 0) { + foreach ((array) $tags as $tag) { + // Check if the current item is a tag or just plain text + if (isset($tag['text'])) { + $odtResult .= $tag['text']; + } elseif (isset($tag['name'])) { + switch ($tag['name']) { + case 'br': + $odtResult .= ''; + break; + case 'strong': + case 'b': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'i': + case 'em': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'u': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 's': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'sub': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'sup': + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + break; + case 'span': + if (isset($tag['attributes']['style'])) { + $odtStyles = ''; + foreach ($tag['attributes']['style'] as $styleName => $styleValue) { + switch ($styleName) { + case 'font-family': + $fontName = $styleValue; + if (strpos($fontName, ',') !== false) { + $fontName = explode(',', $fontName)[0]; + } + if (!in_array($fontName, $fontDeclarations)) { + array_push($fontDeclarations, $fontName); + } + $odtStyles .= ''; + break; + case 'font-size': + if (preg_match('/([0-9]+)\s?(px|pt)/', $styleValue, $matches)) { + $fontSize = intval($matches[1]); + if ($matches[2] == 'px') { + $fontSize = round($fontSize * 0.75); + } + $odtStyles .= ''; + } + break; + case 'color': + if (preg_match('/#[0-9A-Fa-f]{3}(?:[0-9A-Fa-f]{3})?/', $styleValue)) { + $odtStyles .= ''; + } + break; + } + } + if (strlen($odtStyles) > 0) { // Generate a unique id for the style (using microtime and random because some CPUs are really fast...) - $key = floatval(str_replace('.', '', microtime(true)))+rand(0, 10); - $customStyles[$key] = $odtStyles; - $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; - } - } - break; - default: - $odtResult .= $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations); - break; - } - } - } - return $odtResult; - } + $key = floatval(str_replace('.', '', microtime(true)))+rand(0, 10); + $customStyles[$key] = $odtStyles; + $odtResult .= '' . ($tag['children'] != null ? $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations) : $tag['innerText']) . ''; + } + } + break; + default: + $odtResult .= $this->_replaceHtmlWithOdtTag($tag['children'], $customStyles, $fontDeclarations); + break; + } + } + } + return $odtResult; + } - /** - * Checks if the given text is a html string - * @param string $text The text to check - * @return bool - */ - private function _isHtmlTag($text) + /** + * Checks if the given text is a html string + * @param string $text The text to check + * @return bool + */ + private function _isHtmlTag($text) { - return preg_match('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); - } + return preg_match('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); + } - /** - * Checks if the given text includes a html string - * @param string $text The text to check - * @return bool - */ - private function _hasHtmlTag($text) + /** + * Checks if the given text includes a html string + * @param string $text The text to check + * @return bool + */ + private function _hasHtmlTag($text) { - $result = preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); - return is_numeric($result) && $result > 0; - } + $result = preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $text); + return is_numeric($result) && $result > 0; + } - /** - * Returns an array of html elements - * @param string $html A string with html tags - * @return array - */ - private function _getDataFromHtml($html) + /** + * Returns an array of html elements + * @param string $html A string with html tags + * @return array + */ + private function _getDataFromHtml($html) { - $tags = array(); - $tempHtml = $html; + $tags = array(); + $tempHtml = $html; - while (strlen($tempHtml) > 0) { - // Check if the string includes a html tag - if (preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $tempHtml, $matches)) { - $tagOffset = strpos($tempHtml, $matches[0][0]); - // Check if the string starts with the html tag - if ($tagOffset > 0) { - // Push the text infront of the html tag to the result array - array_push($tags, array( - 'text' => substr($tempHtml, 0, $tagOffset) - )); - // Remove the text from the string - $tempHtml = substr($tempHtml, $tagOffset); - } - // Extract the attribute data from the html tag - preg_match_all('/([0-9A-Za-z]+(?:="[0-9A-Za-z\:\-\s\,\;\#]*")?)+/', $matches[2][0], $explodedAttributes); - $explodedAttributes = array_filter($explodedAttributes[0]); - $attributes = array(); - // Store each attribute with its name in the $attributes array - $explodedAttributesCount = count($explodedAttributes); - for ($i=0; $i<$explodedAttributesCount; $i++) { - $attribute = trim($explodedAttributes[$i]); - // Check if the attribute has a value (like style="") or has no value (like required) - if (strpos($attribute, '=') !== false) { - $splitAttribute = explode('=', $attribute); - $attrName = trim($splitAttribute[0]); - $attrValue = trim(str_replace('"', '', $splitAttribute[1])); - // check if the current attribute is a style attribute - if (strtolower($attrName) == 'style') { - $attributes[$attrName] = array(); - if (strpos($attrValue, ';') !== false) { - // Split the style properties and store them in an array - $explodedStyles = explode(';', $attrValue); - $explodedStylesCount = count($explodedStyles); - for ($n=0; $n<$explodedStylesCount; $n++) { - $splitStyle = explode(':', $explodedStyles[$n]); - $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); - } - } else { - $splitStyle = explode(':', $attrValue); - $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); - } - } else { - // Store the value directly in the $attributes array if this is not the style attribute - $attributes[$attrName] = $attrValue; - } - } else { - $attributes[trim($attribute)] = true; - } - } - // Push the html tag data to the result array - array_push($tags, array( - 'name' => $matches[1][0], - 'attributes' => $attributes, - 'innerText' => strip_tags($matches[3][0]), - 'children' => $this->_hasHtmlTag($matches[3][0]) ? $this->_getDataFromHtml($matches[3][0]) : null - )); - // Remove the processed html tag from the html string - $tempHtml = substr($tempHtml, strlen($matches[0][0])); - } else { - array_push($tags, array( - 'text' => $tempHtml - )); - $tempHtml = ''; - } - } - return $tags; - } + while (strlen($tempHtml) > 0) { + // Check if the string includes a html tag + if (preg_match_all('/<([A-Za-z]+)(?:\s([A-Za-z]+(?:\-[A-Za-z]+)?(?:=(?:".*?")|(?:[0-9]+))))*(?:(?:\s\/>)|(?:>(.*)<\/\1>))/', $tempHtml, $matches)) { + $tagOffset = strpos($tempHtml, $matches[0][0]); + // Check if the string starts with the html tag + if ($tagOffset > 0) { + // Push the text infront of the html tag to the result array + array_push($tags, array( + 'text' => substr($tempHtml, 0, $tagOffset) + )); + // Remove the text from the string + $tempHtml = substr($tempHtml, $tagOffset); + } + // Extract the attribute data from the html tag + preg_match_all('/([0-9A-Za-z]+(?:="[0-9A-Za-z\:\-\s\,\;\#]*")?)+/', $matches[2][0], $explodedAttributes); + $explodedAttributes = array_filter($explodedAttributes[0]); + $attributes = array(); + // Store each attribute with its name in the $attributes array + $explodedAttributesCount = count($explodedAttributes); + for ($i=0; $i<$explodedAttributesCount; $i++) { + $attribute = trim($explodedAttributes[$i]); + // Check if the attribute has a value (like style="") or has no value (like required) + if (strpos($attribute, '=') !== false) { + $splitAttribute = explode('=', $attribute); + $attrName = trim($splitAttribute[0]); + $attrValue = trim(str_replace('"', '', $splitAttribute[1])); + // check if the current attribute is a style attribute + if (strtolower($attrName) == 'style') { + $attributes[$attrName] = array(); + if (strpos($attrValue, ';') !== false) { + // Split the style properties and store them in an array + $explodedStyles = explode(';', $attrValue); + $explodedStylesCount = count($explodedStyles); + for ($n=0; $n<$explodedStylesCount; $n++) { + $splitStyle = explode(':', $explodedStyles[$n]); + $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); + } + } else { + $splitStyle = explode(':', $attrValue); + $attributes[$attrName][trim($splitStyle[0])] = trim($splitStyle[1]); + } + } else { + // Store the value directly in the $attributes array if this is not the style attribute + $attributes[$attrName] = $attrValue; + } + } else { + $attributes[trim($attribute)] = true; + } + } + // Push the html tag data to the result array + array_push($tags, array( + 'name' => $matches[1][0], + 'attributes' => $attributes, + 'innerText' => strip_tags($matches[3][0]), + 'children' => $this->_hasHtmlTag($matches[3][0]) ? $this->_getDataFromHtml($matches[3][0]) : null + )); + // Remove the processed html tag from the html string + $tempHtml = substr($tempHtml, strlen($matches[0][0])); + } else { + array_push($tags, array( + 'text' => $tempHtml + )); + $tempHtml = ''; + } + } + return $tags; + } /** * Function to convert a HTML string into an ODT string * * @param string $value String to convert + * @return string String converted */ public function htmlToUTFAndPreOdf($value) { @@ -404,16 +410,15 @@ class Odf // We convert html tags $ishtml=dol_textishtml($value); - if ($ishtml) - { - // If string is "MYPODUCT - Desc bold with é accent
\n
\nUn texto en español ?" - // Result after clean must be "MYPODUCT - Desc bold with é accent\n\nUn texto en español ?" + if ($ishtml) { + // If string is "MYPODUCT - Desc bold with é accent
\n
\nUn texto en español ?" + // Result after clean must be "MYPODUCT - Desc bold with é accent\n\nUn texto en español ?" // We want to ignore \n and we want all
to be \n - $value=preg_replace('/(\r\n|\r|\n)/i','',$value); - $value=preg_replace('/
/i',"\n",$value); - $value=preg_replace('/\/]*>/i',"\n",$value); - $value=preg_replace('/\/]*\/>/i',"\n",$value); + $value=preg_replace('/(\r\n|\r|\n)/i', '', $value); + $value=preg_replace('/
/i', "\n", $value); + $value=preg_replace('/\/]*>/i', "\n", $value); + $value=preg_replace('/\/]*\/>/i', "\n", $value); //$value=preg_replace('//','__lt__text:p text:style-name=__quot__bold__quot____gt__',$value); //$value=preg_replace('/<\/strong>/','__lt__/text:p__gt__',$value); @@ -429,6 +434,7 @@ class Odf * Function to convert a HTML string into an ODT string * * @param string $value String to convert + * @return string String converted */ public function preOdfToOdf($value) { @@ -448,15 +454,14 @@ class Odf */ public function phpEval() { - preg_match_all('/[\{\<]\?(php)?\s+(?P.+)\?[\}\>]/iU',$this->contentXml, $matches); // detecting all {?php code ?} or + preg_match_all('/[\{\<]\?(php)?\s+(?P.+)\?[\}\>]/iU', $this->contentXml, $matches); // detecting all {?php code ?} or $nbfound=count($matches['content']); - for ($i=0; $i < $nbfound; $i++) - { + for ($i=0; $i < $nbfound; $i++) { try { $ob_output = ''; // flush the output for each code. This var will be filled in by the eval($code) and output buffering : any print or echo or output will be redirected into this variable $code = $matches['content'][$i]; ob_start(); - eval ($code); + eval($code); $ob_output = ob_get_contents(); // send the content of the buffer into $ob_output $this->contentXml = str_replace($matches[0][$i], $ob_output, $this->contentXml); ob_end_clean(); @@ -503,12 +508,12 @@ IMG; */ private function _moveRowSegments() { - // Replace BEGINxxx into BEGIN xxx - $this->contentXml = preg_replace('/\[!--\sBEGIN]>(row.[\S]*)\s--\]/sm', '[!-- BEGIN \\1 --]', $this->contentXml); - // Replace ENDxxx into END xxx - $this->contentXml = preg_replace('/\[!--\sEND]>(row.[\S]*)\s--\]/sm', '[!-- END \\1 --]', $this->contentXml); + // Replace BEGINxxx into BEGIN xxx + $this->contentXml = preg_replace('/\[!--\sBEGIN]>(row.[\S]*)\s--\]/sm', '[!-- BEGIN \\1 --]', $this->contentXml); + // Replace ENDxxx into END xxx + $this->contentXml = preg_replace('/\[!--\sEND]>(row.[\S]*)\s--\]/sm', '[!-- END \\1 --]', $this->contentXml); - // Search all possible rows in the document + // Search all possible rows in the document $reg1 = "#]*>(.*)#smU"; preg_match_all($reg1, $this->contentXml, $matches); for ($i = 0, $size = count($matches[0]); $i < $size; $i++) { @@ -536,31 +541,28 @@ IMG; * @param string $type 'content', 'styles' or 'meta' * @return void */ - private function _parse($type='content') + private function _parse($type = 'content') { - // Search all tags fou into condition to complete $this->vars, so we will proceed all tests even if not defined - $reg='@\[!--\sIF\s([{}a-zA-Z0-9\.\,_]+)\s--\]@smU'; - preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); + // Search all tags found into condition to complete $this->vars, so we will proceed all tests even if not defined + $reg='@\[!--\sIF\s([{}a-zA-Z0-9\.\,_]+)\s--\]@smU'; + $matches = array(); + preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); - //var_dump($this->vars);exit; - foreach($matches as $match) // For each match, if there is no entry into this->vars, we add it - { - if (! empty($match[1]) && ! isset($this->vars[$match[1]])) - { - $this->vars[$match[1]] = ''; // Not defined, so we set it to '', we just need entry into this->vars for next loop + //var_dump($this->vars);exit; + foreach ($matches as $match) { // For each match, if there is no entry into this->vars, we add it + if (! empty($match[1]) && ! isset($this->vars[$match[1]])) { + $this->vars[$match[1]] = ''; // Not defined, so we set it to '', we just need entry into this->vars for next loop } - } - //var_dump($this->vars);exit; + } + //var_dump($this->vars);exit; // Conditionals substitution // Note: must be done before static substitution, else the variable will be replaced by its value and the conditional won't work anymore - foreach($this->vars as $key => $value) - { + foreach ($this->vars as $key => $value) { // If value is true (not 0 nor false nor null nor empty string) - if ($value) - { - //dol_syslog("Var ".$key." is defined, we remove the IF, ELSE and ENDIF "); - //$sav=$this->contentXml; + if ($value) { + //dol_syslog("Var ".$key." is defined, we remove the IF, ELSE and ENDIF "); + //$sav=$this->contentXml; // Remove the IF tag $this->contentXml = str_replace('[!-- IF '.$key.' --]', '', $this->contentXml); // Remove everything between the ELSE tag (if it exists) and the ENDIF tag @@ -568,27 +570,26 @@ IMG; $this->contentXml = preg_replace($reg, '', $this->contentXml); /*if ($sav != $this->contentXml) { - dol_syslog("We found a IF and it was processed"); - //var_dump($sav);exit; + dol_syslog("We found a IF and it was processed"); + //var_dump($sav);exit; }*/ - } - // Else the value is false, then two cases: no ELSE and we're done, or there is at least one place where there is an ELSE clause, then we replace it - else - { - //dol_syslog("Var ".$key." is not defined, we remove the IF, ELSE and ENDIF "); - //$sav=$this->contentXml; + } else { + // Else the value is false, then two cases: no ELSE and we're done, or there is at least one place where there is an ELSE clause, then we replace it + + //dol_syslog("Var ".$key." is not defined, we remove the IF, ELSE and ENDIF "); + //$sav=$this->contentXml; // Find all conditional blocks for this variable: from IF to ELSE and to ENDIF $reg = '@\[!--\sIF\s' . $key . '\s--\](.*)(\[!--\sELSE\s' . $key . '\s--\](.*))?\[!--\sENDIF\s' . $key . '\s--\]@smU'; // U modifier = all quantifiers are non-greedy preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); - foreach($matches as $match) { // For each match, if there is an ELSE clause, we replace the whole block by the value in the ELSE clause + foreach ($matches as $match) { // For each match, if there is an ELSE clause, we replace the whole block by the value in the ELSE clause if (!empty($match[3])) $this->contentXml = str_replace($match[0], $match[3], $this->contentXml); } // Cleanup the other conditional blocks (all the others where there were no ELSE clause, we can just remove them altogether) $this->contentXml = preg_replace($reg, '', $this->contentXml); /*if ($sav != $this->contentXml) { - dol_syslog("We found a IF and it was processed"); - //var_dump($sav);exit; + dol_syslog("We found a IF and it was processed"); + //var_dump($sav);exit; }*/ } } @@ -597,7 +598,6 @@ IMG; if ($type == 'content') $this->contentXml = str_replace(array_keys($this->vars), array_values($this->vars), $this->contentXml); if ($type == 'styles') $this->stylesXml = str_replace(array_keys($this->vars), array_values($this->vars), $this->stylesXml); if ($type == 'meta') $this->metaXml = str_replace(array_keys($this->vars), array_values($this->vars), $this->metaXml); - } /** @@ -737,21 +737,19 @@ IMG; */ public function setMetaData() { - if (empty($this->creator)) $this->creator=''; + if (empty($this->creator)) $this->creator=''; $this->metaXml = preg_replace('/.*<\/dc:date>/', ''.gmdate("Y-m-d\TH:i:s").'', $this->metaXml); $this->metaXml = preg_replace('/.*<\/dc:creator>/', ''.htmlspecialchars($this->creator).'', $this->metaXml); $this->metaXml = preg_replace('/.*<\/dc:title>/', ''.htmlspecialchars($this->title).'', $this->metaXml); $this->metaXml = preg_replace('/.*<\/dc:subject>/', ''.htmlspecialchars($this->subject).'', $this->metaXml); - if (count($this->userdefined)) - { - foreach($this->userdefined as $key => $val) - { - $this->metaXml = preg_replace('', '', $this->metaXml); - $this->metaXml = preg_replace('/.*<\/meta:user-defined>/', '', $this->metaXml); - $this->metaXml = str_replace('', ''.htmlspecialchars($val).'', $this->metaXml); - } + if (count($this->userdefined)) { + foreach ($this->userdefined as $key => $val) { + $this->metaXml = preg_replace('', '', $this->metaXml); + $this->metaXml = preg_replace('/.*<\/meta:user-defined>/', '', $this->metaXml); + $this->metaXml = str_replace('', ''.htmlspecialchars($val).'', $this->metaXml); + } } } @@ -785,8 +783,7 @@ IMG; throw new OdfException("headers already sent ($filename at $linenum)"); } - if( $name == "" ) - { + if ( $name == "" ) { $name = md5(uniqid()) . ".odt"; } @@ -804,11 +801,11 @@ IMG; * @throws OdfException * @return void */ - public function exportAsAttachedPDF($name="") + public function exportAsAttachedPDF($name = "") { global $conf; - if( $name == "" ) $name = "temp".md5(uniqid()); + if ( $name == "" ) $name = "temp".md5(uniqid()); dol_syslog(get_class($this).'::exportAsAttachedPDF $name='.$name, LOG_DEBUG); $this->saveToDisk($name); @@ -818,8 +815,7 @@ IMG; // Export to PDF using LibreOffice - if ($conf->global->MAIN_ODT_AS_PDF == 'libreoffice') - { + if ($conf->global->MAIN_ODT_AS_PDF == 'libreoffice') { dol_mkdir($conf->user->dir_temp); // We must be sure the directory exists and is writable // We delete and recreate a subdir because the soffice may have change pemrissions on it @@ -831,9 +827,7 @@ IMG; // using linux/mac libreoffice that must be in path // Note PHP Config "fastcgi.impersonate=0" must set to 0 - Default is 1 $command ='soffice --headless -env:UserInstallation=file:\''.$conf->user->dir_temp.'/odtaspdf\' --convert-to pdf --outdir '. escapeshellarg(dirname($name)). " ".escapeshellarg($name); - } - elseif (preg_match('/unoconv/', $conf->global->MAIN_ODT_AS_PDF)) - { + } elseif (preg_match('/unoconv/', $conf->global->MAIN_ODT_AS_PDF)) { // If issue with unoconv, see https://github.com/dagwieers/unoconv/issues/87 // MAIN_ODT_AS_PDF should be "sudo -u unoconv /usr/bin/unoconv" and userunoconv must have sudo to be root by adding file /etc/sudoers.d/unoconv with content www-data ALL=(unoconv) NOPASSWD: /usr/bin/unoconv . @@ -860,19 +854,14 @@ IMG; $command = $conf->global->MAIN_ODT_AS_PDF.' '.escapeshellcmd($name); //$command = '/usr/bin/unoconv -vvv '.escapeshellcmd($name); - } - else - { + } else { // deprecated old method using odt2pdf.sh (native, jodconverter, ...) $tmpname=preg_replace('/\.odt/i', '', $name); - if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) - { + if (!empty($conf->global->MAIN_DOL_SCRIPTS_ROOT)) { $command = $conf->global->MAIN_DOL_SCRIPTS_ROOT.'/scripts/odt2pdf/odt2pdf.sh '.escapeshellcmd($tmpname).' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF); - } - else - { - dol_syslog(get_class($this).'::exportAsAttachedPDF is used but the constant MAIN_DOL_SCRIPTS_ROOT with path to script directory was not defined.', LOG_WARNING); + } else { + dol_syslog(get_class($this).'::exportAsAttachedPDF is used but the constant MAIN_DOL_SCRIPTS_ROOT with path to script directory was not defined.', LOG_WARNING); $command = '../../scripts/odt2pdf/odt2pdf.sh '.escapeshellcmd($tmpname).' '.(is_numeric($conf->global->MAIN_ODT_AS_PDF)?'jodconverter':$conf->global->MAIN_ODT_AS_PDF); } } @@ -880,25 +869,26 @@ IMG; //$dirname=dirname($name); //$command = DOL_DOCUMENT_ROOT.'/includes/odtphp/odt2pdf.sh '.$name.' '.$dirname; - dol_syslog(get_class($this).'::exportAsAttachedPDF $execmethod='.$execmethod.' Run command='.$command,LOG_DEBUG); + dol_syslog(get_class($this).'::exportAsAttachedPDF $execmethod='.$execmethod.' Run command='.$command, LOG_DEBUG); + // TODO Use: + // $outputfile = DOL_DATA_ROOT.'/odt2pdf.log'; + // $result = $utils->executeCLI($command, $outputfile); and replace test on $execmethod. + // $retval will be $result['result'] + // $errorstring will be $result['output'] $retval=0; $output_arr=array(); - if ($execmethod == 1) - { + if ($execmethod == 1) { exec($command, $output_arr, $retval); } - if ($execmethod == 2) - { + if ($execmethod == 2) { $outputfile = DOL_DATA_ROOT.'/odt2pdf.log'; $ok=0; $handle = fopen($outputfile, 'w'); - if ($handle) - { - dol_syslog(get_class($this)."Run command ".$command,LOG_DEBUG); + if ($handle) { + dol_syslog(get_class($this)."Run command ".$command, LOG_DEBUG); fwrite($handle, $command."\n"); $handlein = popen($command, 'r'); - while (!feof($handlein)) - { + while (!feof($handlein)) { $read = fgets($handlein); fwrite($handle, $read); $output_arr[]=$read; @@ -909,8 +899,7 @@ IMG; if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK)); } - if ($retval == 0) - { + if ($retval == 0) { dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG); $filename=''; $linenum=0; @@ -927,8 +916,7 @@ IMG; } } - if (!empty($conf->global->MAIN_ODT_AS_PDF_DEL_SOURCE)) - { + if (!empty($conf->global->MAIN_ODT_AS_PDF_DEL_SOURCE)) { unlink($name); } } else { @@ -937,11 +925,10 @@ IMG; if ($retval == 126) { throw new OdfException('Permission execute convert script : ' . $command); - } - else { - $errorstring=''; - foreach($output_arr as $line) { - $errorstring.= $line."
"; + } else { + $errorstring=''; + foreach ($output_arr as $line) { + $errorstring.= $line."
"; } throw new OdfException('ODT to PDF convert fail (option MAIN_ODT_AS_PDF is '.$conf->global->MAIN_ODT_AS_PDF.', command was '.$command.', retval='.$retval.') : ' . $errorstring); } diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 35efe1f36b2..c138dc42fdb 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -26,6 +26,7 @@ * \ingroup install * \brief Test if file conf can be modified and if does not exists, test if install process can create it */ + include_once 'inc.php'; global $langs; @@ -74,7 +75,7 @@ if (!empty($useragent)) { $browserversion = $tmp['browserversion']; $browsername = $tmp['browsername']; if ($browsername == 'ie' && $browserversion < 7) { - print 'Error '.$langs->trans("WarningBrowserTooOld")."
\n"; + print 'Error '.$langs->trans("WarningBrowserTooOld")."
\n"; } } @@ -83,13 +84,13 @@ if (!empty($useragent)) { $arrayphpminversionerror = array(5, 5, 0); $arrayphpminversionwarning = array(5, 6, 0); if (versioncompare(versionphparray(), $arrayphpminversionerror) < 0) { // Minimum to use (error if lower) - print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror)); + print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror)); $checksok = 0; // 0=error, 1=warning } elseif (versioncompare(versionphparray(), $arrayphpminversionwarning) < 0) { // Minimum supported (warning if lower) - print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionwarning)); + print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionwarning)); $checksok = 0; // 0=error, 1=warning } else { - print 'Ok '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray()); + print 'Ok '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray()); } if (empty($force_install_nophpinfo)) { print ' ('.$langs->trans("MoreInformation").')'; @@ -99,58 +100,58 @@ print "
\n"; // Check PHP support for $_GET and $_POST if (!isset($_GET["testget"]) && !isset($_POST["testpost"])) { // We must keep $_GET and $_POST here - print 'Warning '.$langs->trans("PHPSupportPOSTGETKo"); - print ' ('.$langs->trans("Recheck").')'; + print 'Warning '.$langs->trans("PHPSupportPOSTGETKo"); + print ' ('.$langs->trans("Recheck").')'; print "
\n"; $checksok = 0; } else { - print 'Ok '.$langs->trans("PHPSupportPOSTGETOk")."
\n"; + print 'Ok '.$langs->trans("PHPSupportPOSTGETOk")."
\n"; } // Check if session_id is enabled if (!function_exists("session_id")) { - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportSessions")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportSessions")."
\n"; $checksok = 0; } else { - print 'Ok '.$langs->trans("PHPSupportSessions")."
\n"; + print 'Ok '.$langs->trans("PHPSupportSessions")."
\n"; } // Check if GD is supported (we need GD for image conversion) if (!function_exists("imagecreate")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportGD")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportGD")."
\n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "GD")."
\n"; + print 'Ok '.$langs->trans("PHPSupport", "GD")."
\n"; } // Check if Curl is supported if (!function_exists("curl_init")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCurl")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCurl")."
\n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "Curl")."
\n"; + print 'Ok '.$langs->trans("PHPSupport", "Curl")."
\n"; } // Check if PHP calendar extension is available if (!function_exists("easter_date")) { - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCalendar")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCalendar")."
\n"; } else { - print 'Ok '.$langs->trans("PHPSupport", "Calendar")."
\n"; + print 'Ok '.$langs->trans("PHPSupport", "Calendar")."
\n"; } // Check if UTF8 is supported if (!function_exists("utf8_encode")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportUTF8")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportUTF8")."
\n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "UTF8")."
\n"; + print 'Ok '.$langs->trans("PHPSupport", "UTF8")."
\n"; } @@ -158,19 +159,19 @@ if (!function_exists("utf8_encode")) { if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@localhost') { if (!function_exists("locale_get_primary_language") || !function_exists("locale_get_region")) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupportIntl")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportIntl")."
\n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "Intl")."
\n"; + print 'Ok '.$langs->trans("PHPSupport", "Intl")."
\n"; } } if (!class_exists('ZipArchive')) { $langs->load("errors"); - print 'Error '.$langs->trans("ErrorPHPDoesNotSupport", "ZIP")."
\n"; + print 'Error '.$langs->trans("ErrorPHPDoesNotSupport", "ZIP")."
\n"; // $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install) } else { - print 'Ok '.$langs->trans("PHPSupport", "ZIP")."
\n"; + print 'Ok '.$langs->trans("PHPSupport", "ZIP")."
\n"; } // Check memory @@ -192,9 +193,9 @@ if ($memmaxorig != '') { } } if ($memmax >= $memrequired || $memmax == -1) { - print 'Ok '.$langs->trans("PHPMemoryOK", $memmaxorig, $memrequiredorig)."
\n"; + print 'Ok '.$langs->trans("PHPMemoryOK", $memmaxorig, $memrequiredorig)."
\n"; } else { - print 'Warning '.$langs->trans("PHPMemoryTooLow", $memmaxorig, $memrequiredorig)."
\n"; + print 'Warning '.$langs->trans("PHPMemoryTooLow", $memmaxorig, $memrequiredorig)."
\n"; } } @@ -244,12 +245,12 @@ if (is_readable($conffile) && filesize($conffile) > 8) { // File is missing and cannot be created if (!file_exists($conffile)) { - print 'Error '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated", $conffiletoshow); - print "

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

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

"; + print '


'."\n"; - print $langs->trans("CorrectProblemAndReloadPage", $_SERVER['PHP_SELF'].'?testget=ok'); + print ''.$langs->trans("CorrectProblemAndReloadPage", $_SERVER['PHP_SELF'].'?testget=ok').''; $err++; } else { if (dol_is_dir($conffile)) { @@ -380,7 +381,7 @@ if (!file_exists($conffile)) { $choice .= '
'; //print $langs->trans("InstallChoiceRecommanded",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE); $choice .= '
'.$langs->trans("InstallChoiceSuggested").'
'; - // Ok '; + // Ok '; } $choice .= ''; @@ -411,26 +412,28 @@ if (!file_exists($conffile)) { if (GETPOST('allowupgrade')) { $allowupgrade = true; } - $migrationscript = array(array('from'=>'3.0.0', 'to'=>'3.1.0'), - array('from'=>'3.1.0', 'to'=>'3.2.0'), - array('from'=>'3.2.0', 'to'=>'3.3.0'), - array('from'=>'3.3.0', 'to'=>'3.4.0'), - array('from'=>'3.4.0', 'to'=>'3.5.0'), - array('from'=>'3.5.0', 'to'=>'3.6.0'), - array('from'=>'3.6.0', 'to'=>'3.7.0'), - array('from'=>'3.7.0', 'to'=>'3.8.0'), - array('from'=>'3.8.0', 'to'=>'3.9.0'), - array('from'=>'3.9.0', 'to'=>'4.0.0'), - array('from'=>'4.0.0', 'to'=>'5.0.0'), - array('from'=>'5.0.0', 'to'=>'6.0.0'), - array('from'=>'6.0.0', 'to'=>'7.0.0'), - array('from'=>'7.0.0', 'to'=>'8.0.0'), - array('from'=>'8.0.0', 'to'=>'9.0.0'), - array('from'=>'9.0.0', 'to'=>'10.0.0'), - array('from'=>'10.0.0', 'to'=>'11.0.0'), - array('from'=>'11.0.0', 'to'=>'12.0.0'), - array('from'=>'12.0.0', 'to'=>'13.0.0'), - array('from'=>'13.0.0', 'to'=>'14.0.0') + $migrationscript = array( + array('from'=>'3.0.0', 'to'=>'3.1.0'), + array('from'=>'3.1.0', 'to'=>'3.2.0'), + array('from'=>'3.2.0', 'to'=>'3.3.0'), + array('from'=>'3.3.0', 'to'=>'3.4.0'), + array('from'=>'3.4.0', 'to'=>'3.5.0'), + array('from'=>'3.5.0', 'to'=>'3.6.0'), + array('from'=>'3.6.0', 'to'=>'3.7.0'), + array('from'=>'3.7.0', 'to'=>'3.8.0'), + array('from'=>'3.8.0', 'to'=>'3.9.0'), + array('from'=>'3.9.0', 'to'=>'4.0.0'), + array('from'=>'4.0.0', 'to'=>'5.0.0'), + array('from'=>'5.0.0', 'to'=>'6.0.0'), + array('from'=>'6.0.0', 'to'=>'7.0.0'), + array('from'=>'7.0.0', 'to'=>'8.0.0'), + array('from'=>'8.0.0', 'to'=>'9.0.0'), + array('from'=>'9.0.0', 'to'=>'10.0.0'), + array('from'=>'10.0.0', 'to'=>'11.0.0'), + array('from'=>'11.0.0', 'to'=>'12.0.0'), + array('from'=>'12.0.0', 'to'=>'13.0.0'), + array('from'=>'13.0.0', 'to'=>'14.0.0'), + array('from'=>'14.0.0', 'to'=>'15.0.0'), ); $count = 0; diff --git a/htdocs/install/default.css b/htdocs/install/default.css index fe85649844d..88967664ad8 100644 --- a/htdocs/install/default.css +++ b/htdocs/install/default.css @@ -16,10 +16,22 @@ */ +.center { + text-align: center; +} + +.centpercent { + width: 100%; +} + .paddingright { padding-right: 4px; } +.valignmiddle { + vertical-align: middle; +} + .opacitymedium { opacity: 0.5; } @@ -28,6 +40,10 @@ display: inline-block; } +.small { + font-size: 0.9em; +} + body { font-size:14px; font-family: roboto,arial,tahoma,verdana,helvetica; @@ -36,14 +52,14 @@ body { } table.main-inside { - padding-left: 10px; - padding-right: 10px; + /*padding-left: 10px; + padding-right: 10px;*/ padding-bottom: 10px; margin-bottom: 10px; margin-top: 10px; color: #000000; border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; + /* border-bottom: 1px solid #ccc; */ line-height: 22px; } @@ -80,6 +96,10 @@ div.soustitre { text-align: right; } +.wordbreak { + word-break: break-word; +} + .minwidth100 { min-width: 100px; } .minwidth200 { min-width: 200px; } .minwidth300 { min-width: 300px; } @@ -411,3 +431,46 @@ a.button:hover { vertical-align: text-bottom; } +.text-security { + -webkit-text-security: disc; +} + + + +/* For support section */ + +.tablesupport { + padding: 6px; + width: 500px; +} + +table.login.tablesupport .title { + background: #eee !important; +} + +.blocksupport { + padding: 12px; + /* width: 90%; */ +} + +table.tablesupport { + min-height: 250px; + border: 1px solid #E0E0E0; + background: #FFF; +} + + +/* Force values for small screen 570 */ +@media only screen and (max-width: 570px) +{ + .blocksupport { + width: 90%; + } + + .tablesupport { + padding: 6px; + width: 100%; + } +} + +} diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php index 42c8d3459fe..42ea5e423af 100644 --- a/htdocs/install/fileconf.php +++ b/htdocs/install/fileconf.php @@ -476,13 +476,13 @@ if (!empty($force_install_noedit)) { - 0 && !empty($force_install_databaserootlogin)) { print ' disabled'; } ?> @@ -556,10 +556,10 @@ if (!empty($force_install_noedit)) { autocomplete="off" id="db_pass_root" name="db_pass_root" - class="needroot" + class="needroot text-security" value=" -- Copyright (C) 2005-2011 Regis Houssin -- Copyright (C) 2007 Patrick Raguin +-- Copyright (C) 2021 Udo Tamm +-- -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -21,6 +23,9 @@ -- -- +-- +-- Do not put a comment at the end of the line, this file is parsed during the +-- install and all '--' symbols are removed. -- -- Ne pas placer de commentaire en fin de ligne, ce fichier est parsé lors -- de l'install et tous les sigles '--' sont supprimés. @@ -31,25 +36,29 @@ -- delete from llx_c_actioncomm where id in (1,2,3,4,5,6,8,9,10,11,30,31,40,50); --- Code used from 3.3+ when type of event is used -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 1,'AC_TEL','system','Phone call',NULL, 1, 2); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 2,'AC_FAX','system','Send Fax',NULL, 1, 3); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 4,'AC_EMAIL','system','Send Email',NULL, 1, 4); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 5,'AC_RDV','system','Rendez-vous',NULL, 1, 1); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 6,'AC_EMAIL_IN','system','reception Email',NULL, 1, 4); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values (11,'AC_INT','system','Intervention on site',NULL, 1, 4); --- Code kept for backward compatibility < 3.3 ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 3,'AC_PROP','systemauto', 'Send commercial proposal by email','propal',0,10); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 8,'AC_COM','systemauto','Send customer order by email','order', 0,8); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 9,'AC_FAC','systemauto', 'Send customer invoice by email','invoice',0,6); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 10,'AC_SHIP','systemauto', 'Send shipping by email','shipping',0,11); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 30,'AC_SUP_ORD','systemauto','Send supplier order by email','order_supplier',0,9); ---insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 31,'AC_SUP_INV','systemauto','Send supplier invoice by email','invoice_supplier',0,7); --- Code used from 3.3+ when type of event is not used -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 40,'AC_OTH_AUTO','systemauto','Other (automatically inserted events)',NULL, 1, 20); -insert into llx_c_actioncomm (id, code, type, libelle, module, active, position) values ( 50,'AC_OTH','system','Other (manually inserted events)',NULL, 1, 5); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 60,'AC_EO_ONLINECONF','module','Online/Virtual conference','conference@eventorganization', 1, 60); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 61,'AC_EO_INDOORCONF','module','Indoor conference','conference@eventorganization', 1, 61); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 62,'AC_EO_ONLINEBOOTH','module','Online/Virtual booth','booth@eventorganization', 1, 62); -INSERT INTO llx_c_actioncomm (id, code, type, libelle, module, active, position) VALUES ( 63,'AC_EO_INDOORBOOTH','module','Indoor booth','booth@eventorganization', 1, 63); +-- Code used from 3.3+ when type of event is used +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 1, 'AC_TEL', 'Phone call', 'system', NULL, 1, 2); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 2, 'AC_FAX', 'Send Fax', 'system', NULL, 1, 3); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 4, 'AC_EMAIL', 'Send Email', 'system', NULL, 1, 4); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 5, 'AC_RDV', 'Rendez-vous', 'system', NULL, 1, 1); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 6, 'AC_EMAIL_IN', 'reception Email', 'system', NULL, 1, 4); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 11, 'AC_INT', 'Intervention on site', 'system', NULL, 1, 4); + +-- Code kept for backward compatibility < 3.3 +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 3, 'AC_PROP', 'Send commercial proposal by email', 'systemauto', 'propal', 0, 10); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 8, 'AC_COM', 'Send customer order by email', 'systemauto', 'order', 0, 8); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 9, 'AC_FAC', 'Send customer invoice by email', 'systemauto', 'invoice', 0, 6); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 10, 'AC_SHIP', 'Send shipping by email', 'systemauto', 'shipping', 0, 11); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 30, 'AC_SUP_ORD', 'Send supplier order by email', 'systemauto', 'order_supplier', 0, 9); +--insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 31, 'AC_SUP_INV', 'Send supplier invoice by email', 'systemauto', 'invoice_supplier', 0, 7); + +-- Code used from 3.3+ when type of event is not used + +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 40, 'AC_OTH_AUTO', 'Other (automatically inserted events)', 'systemauto', NULL, 1, 20); +insert into llx_c_actioncomm (id, code, libelle, type, module, active, position) values ( 50, 'AC_OTH', 'Other (manually inserted events)', 'systemauto', NULL, 1, 5); + +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 60, 'AC_EO_ONLINECONF', 'Online/Virtual conference', 'module', 'conference@eventorganization', 1, 60); +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 61, 'AC_EO_INDOORCONF', 'Indoor conference', 'module', 'conference@eventorganization', 1, 61); +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 62, 'AC_EO_ONLINEBOOTH', 'Online/Virtual booth', 'module', 'booth@eventorganization', 1, 62); +INSERT INTO llx_c_actioncomm (id, code, libelle, type, module, active, position) VALUES ( 63, 'AC_EO_INDOORBOOTH', 'Indoor booth', 'module', 'booth@eventorganization', 1, 63); diff --git a/htdocs/install/mysql/data/llx_c_currencies.sql b/htdocs/install/mysql/data/llx_c_currencies.sql index 478c263af4c..df887d68be7 100644 --- a/htdocs/install/mysql/data/llx_c_currencies.sql +++ b/htdocs/install/mysql/data/llx_c_currencies.sql @@ -7,6 +7,7 @@ -- Copyright (C) 2007 Patrick Raguin -- Copyright (C) 2011 Juanjo Menent -- Copyright (C) 2020 Udo Tamm +-- Copyright (C) 2021 Lenin Rivas -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -50,7 +51,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BDT' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BYR', '[112,46]', 1, 'Belarus Ruble'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BZD', '[66,90,36]', 1, 'Belize Dollar'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BMD', '[36]', 1, 'Bermuda Dollar'); -INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BOB', '[36,98]', 1, 'Bolivia Boliviano'); +INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BOB', '[66,115]', 1, 'Bolivia Boliviano'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BAM', '[75,77]', 1, 'Bosnia and Herzegovina Convertible Marka'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BWP', '[80]', 1, 'Botswana Pula'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BGN', '[1083,1074]', 1, 'Bulgaria Lev'); @@ -70,6 +71,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CZK' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DKK', '[107,114]', 1, 'Denmark Krone'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DOP', '[82,68,36]', 1, 'Dominican Republic Peso'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XCD', '[36]', 1, 'East Caribbean Dollar'); +INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ECS', '[83,47,46]', 1, 'Ecuador Sucre'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EGP', '[163]', 1, 'Egypt Pound'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SVC', '[36]', 1, 'El Salvador Colon'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EEK', '[107,114]', 1, 'Estonia Kroon'); @@ -126,7 +128,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'OMR' INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PKR', '[8360]', 1, 'Pakistan Rupee'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PAB', '[66,47,46]', 1, 'Panama Balboa'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PYG', '[71,115]', 1, 'Paraguay Guarani'); -INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PEN', '[83,47,46]', 1, 'Peru Nuevo Sol'); +INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PEN', '[83,47]', 1, 'Perú Sol'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PHP', '[8369]', 1, 'Philippines Peso'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PLN', '[122,322]', 1, 'Poland Zloty'); INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'QAR', '[65020]', 1, 'Qatar Riyal'); diff --git a/htdocs/install/mysql/data/llx_c_email_templates.sql b/htdocs/install/mysql/data/llx_c_email_templates.sql index acc09bad008..4005506e887 100644 --- a/htdocs/install/mysql/data/llx_c_email_templates.sql +++ b/htdocs/install/mysql/data/llx_c_email_templates.sql @@ -21,23 +21,29 @@ -- -- Bank Thirdparty -INSERT INTO llx_c_email_templates (entity, module, type_template, lang, private, fk_user, datec, label, position, enabled, active, topic, content, content_lines) VALUES (0,'banque','thirdparty','',0,null,null,'(YourSEPAMandate)',1,'$conf->societe->enabled && $conf->banque->enabled && $conf->prelevement->enabled',0,'__(YourSEPAMandate)__','__(Hello)__,

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

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

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

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

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

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

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

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

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

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

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

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

\n\n__(YourMembershipWasCanceled)__
\n

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

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

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

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

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

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

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

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

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

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

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

\n\n__(YourMembershipWasCanceled)__
\n

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

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

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

\n\n__(YourCandidatureAnswerMessage)__
__ONLINE_INTERVIEW_SCHEDULER_TEXT_AND_URL__\n

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

\n\n__(YourCandidatureAnswerMessage)__
__ONLINE_INTERVIEW_SCHEDULER_TEXT_AND_URL__\n

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

__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

__(Sincerely)__

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

__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

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

__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

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

__(ThisIsContentOfYourOrganizationEventConfRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothRequestWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventBoothSubscriptionWasReceived)__

__ONLINE_PAYMENT_TEXT_AND_URL__


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

__(ThisIsContentOfYourOrganizationEventEventSubscriptionWasReceived)__

__(Sincerely)__

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

__(ThisIsContentOfYourOrganizationEventBulkMailToAttendees)__

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

__(ThisIsContentOfYourOrganizationEventBulkMailToSpeakers)__

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

__(Hello)__,

\n__(YourPartnershipWillSoonBeCanceledContent)__

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

__(Hello)__,

\n__(YourPartnershipCanceledContent)__

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

__(Hello)__,

\n__(YourPartnershipRefusedContent)__

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

__(Hello)__,

\n__(YourPartnershipAcceptedContent)__

\n
\n\n
\n\n __(Sincerely)__
\n __[MAIN_INFO_SOCIETE_NOM]__
\n \n'); diff --git a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql index 1ebb8e380a7..29c2aad9bd4 100644 --- a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql +++ b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql @@ -367,7 +367,7 @@ ALTER TABLE llx_actioncomm_reminder ADD UNIQUE uk_actioncomm_reminder_unique (fk ALTER TABLE llx_actioncomm_reminder ADD INDEX idx_actioncomm_reminder_status (status); - +ALTER TABLE llx_inventorydet ADD COLUMN fk_warehouse integer DEFAULT 0; ALTER TABLE llx_inventorydet ADD UNIQUE uk_inventorydet(fk_inventory, fk_warehouse, fk_product, batch); ALTER TABLE llx_commandedet ADD COLUMN ref_ext varchar(255) AFTER label; diff --git a/htdocs/install/mysql/migration/13.0.0-14.0.0.sql b/htdocs/install/mysql/migration/13.0.0-14.0.0.sql index a01f589aa20..032504dfa61 100644 --- a/htdocs/install/mysql/migration/13.0.0-14.0.0.sql +++ b/htdocs/install/mysql/migration/13.0.0-14.0.0.sql @@ -428,6 +428,10 @@ create table llx_eventorganization_conferenceorboothattendee_extrafields ALTER TABLE llx_eventorganization_conferenceorboothattendee_extrafields ADD INDEX idx_conferenceorboothattendee_fk_object(fk_object); ALTER TABLE llx_c_ticket_category ADD COLUMN public integer DEFAULT 0; + +-- VPGSQL8.2 ALTER TABLE llx_c_ticket_category ALTER COLUMN pos TYPE INTEGER USING pos::INTEGER; +-- VPGSQL8.2 ALTER TABLE llx_c_ticket_category ALTER COLUMN pos SET NOT NULL; +-- VPGSQL8.2 ALTER TABLE llx_c_ticket_category ALTER COLUMN pos SET DEFAULT 0; ALTER TABLE llx_c_ticket_category MODIFY COLUMN pos integer DEFAULT 0 NOT NULL; @@ -565,3 +569,32 @@ create table llx_c_partnership_type )ENGINE=innodb; DELETE FROM llx_rights_def WHERE module = 'hrm' AND perms = 'employee'; + + +CREATE TABLE llx_ecm_directories_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +DROP TABLE llx_categorie_association; +DROP TABLE llx_cond_reglement; +DROP TABLE llx_zapier_hook_extrafields; + +create table llx_onlinesignature +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + object_type varchar(32) NOT NULL, + object_id integer NOT NULL, + datec datetime NOT NULL, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + name varchar(255) NOT NULL, + ip varchar(128), + pathoffile varchar(255) +)ENGINE=innodb; + +-- VMYSQL4.3 ALTER TABLE llx_partnership MODIFY COLUMN date_partnership_end date NULL; +-- VPGSQL8.2 ALTER TABLE llx_partnership ALTER COLUMN date_partnership_end DROP NOT NULL; diff --git a/htdocs/install/mysql/migration/14.0.0-15.0.0.sql b/htdocs/install/mysql/migration/14.0.0-15.0.0.sql new file mode 100644 index 00000000000..1d9dd28f9d7 --- /dev/null +++ b/htdocs/install/mysql/migration/14.0.0-15.0.0.sql @@ -0,0 +1,71 @@ +-- +-- Be carefull to requests order. +-- This file must be loaded by calling /install/index.php page +-- when current version is 14.0.0 or higher. +-- +-- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y +-- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y +-- To rename a table: ALTER TABLE llx_table RENAME TO llx_table_new; +-- To add a column: ALTER TABLE llx_table ADD COLUMN newcol varchar(60) NOT NULL DEFAULT '0' AFTER existingcol; +-- To rename a column: ALTER TABLE llx_table CHANGE COLUMN oldname newname varchar(60); +-- To drop a column: ALTER TABLE llx_table DROP COLUMN oldname; +-- To change type of field: ALTER TABLE llx_table MODIFY COLUMN name varchar(60); +-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name; +-- To create a unique index ALTER TABLE llx_table ADD UNIQUE INDEX uk_table_field (field); +-- To drop an index: -- VMYSQL4.1 DROP INDEX nomindex on llx_table +-- To drop an index: -- VPGSQL8.2 DROP INDEX nomindex +-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; +-- To make pk to be auto increment (postgres): +-- -- VPGSQL8.2 CREATE SEQUENCE llx_table_rowid_seq OWNED BY llx_table.rowid; +-- -- VPGSQL8.2 ALTER TABLE llx_table ADD PRIMARY KEY (rowid); +-- -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN rowid SET DEFAULT nextval('llx_table_rowid_seq'); +-- -- VPGSQL8.2 SELECT setval('llx_table_rowid_seq', MAX(rowid)) FROM llx_table; +-- To set a field as NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NULL; +-- To set a field as NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL; +-- To set a field as NOT NULL: -- VMYSQL4.3 ALTER TABLE llx_table MODIFY COLUMN name varchar(60) NOT NULL; +-- To set a field as NOT NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET NOT NULL; +-- To set a field as default NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL; +-- Note: fields with type BLOB/TEXT can't have default value. +-- To rebuild sequence for postgresql after insert by forcing id autoincrement fields: +-- -- VPGSQL8.2 SELECT dol_util_rebuild_sequences(); + + +-- Missing in v14 or lower + +-- VMYSQL4.3 ALTER TABLE llx_partnership MODIFY COLUMN date_partnership_end date NULL; +-- VPGSQL8.2 ALTER TABLE llx_partnership ALTER COLUMN date_partnership_end DROP NOT NULL; + + +-- v15 + +ALTER TABLE llx_emailcollector_emailcollectoraction MODIFY COLUMN actionparam TEXT; + +ALTER TABLE llx_knowledgemanagement_knowledgerecord ADD lang varchar(6); + +CREATE TABLE llx_categorie_ticket +( + fk_categorie integer NOT NULL, + fk_ticket integer NOT NULL, + import_key varchar(14) +) ENGINE=innodb; + +ALTER TABLE llx_categorie_ticket ADD PRIMARY KEY pk_categorie_ticket (fk_categorie, fk_ticket); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_ticket (fk_ticket); + +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_ticket_rowid FOREIGN KEY (fk_ticket) REFERENCES llx_ticket (rowid); +ALTER TABLE llx_product_fournisseur_price MODIFY COLUMN ref_fourn varchar(128); +ALTER TABLE llx_product_customer_price MODIFY COLUMN ref_customer varchar(128); + +-- -- add action trigger +INSERT INTO llx_c_action_trigger (code,label,description,elementtype,rang) VALUES ('ORDER_SUPPLIER_CANCEL','Supplier order request canceled','Executed when a supplier order is canceled','order_supplier',13); + +ALTER TABLE llx_product ADD COLUMN fk_default_bom integer DEFAULT NULL; + + +DELETE FROM llx_menu WHERE type = 'top' AND module = 'cashdesk' AND mainmenu = 'cashdesk'; + + +INSERT INTO llx_c_action_trigger (code, label, description, elementtype, rang) values ('MEMBER_EXCLUDE', 'Member excluded', 'Executed when a member is excluded', 'member', 27); + diff --git a/htdocs/install/mysql/tables/llx_actioncomm.sql b/htdocs/install/mysql/tables/llx_actioncomm.sql index 9012f6b3a66..2f3f7660698 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.sql @@ -55,7 +55,7 @@ create table llx_actioncomm durationp real, -- planed duration label varchar(255) NOT NULL, -- label/title of event or topic of email - note text, -- note of event or content of email + note text, -- private note of event or content of email calling_duration integer, -- when event is a phone call, duration of phone call diff --git a/htdocs/install/mysql/tables/llx_adherent.sql b/htdocs/install/mysql/tables/llx_adherent.sql index 787a2b15bd7..1d3a784dd74 100644 --- a/htdocs/install/mysql/tables/llx_adherent.sql +++ b/htdocs/install/mysql/tables/llx_adherent.sql @@ -48,6 +48,7 @@ create table llx_adherent state_id integer, country integer, email varchar(255), + url varchar(255) NULL, socialnetworks text DEFAULT NULL, -- json with socialnetworks skype varchar(255), -- deprecated diff --git a/htdocs/install/mysql/tables/llx_categorie_ticket.key.sql b/htdocs/install/mysql/tables/llx_categorie_ticket.key.sql new file mode 100644 index 00000000000..012b9a9eadc --- /dev/null +++ b/htdocs/install/mysql/tables/llx_categorie_ticket.key.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 EOXIA +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see https://www.gnu.org/licenses/. + +ALTER TABLE llx_categorie_ticket ADD PRIMARY KEY pk_categorie_ticket (fk_categorie, fk_ticket); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_ticket ADD INDEX idx_categorie_ticket_fk_ticket (fk_ticket); + +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_ticket ADD CONSTRAINT fk_categorie_ticket_ticket_rowid FOREIGN KEY (fk_ticket) REFERENCES llx_ticket (rowid); diff --git a/htdocs/install/mysql/tables/llx_categorie_ticket.sql b/htdocs/install/mysql/tables/llx_categorie_ticket.sql new file mode 100644 index 00000000000..16ab92522c6 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_categorie_ticket.sql @@ -0,0 +1,21 @@ +-- Copyright (C) 2021 EOXIA +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see https://www.gnu.org/licenses/. + +create table llx_categorie_ticket +( + fk_categorie integer NOT NULL, + fk_ticket integer NOT NULL, + import_key varchar(14) +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_ecm_directories_extrafileds.sql b/htdocs/install/mysql/tables/llx_ecm_directories_extrafields.sql similarity index 100% rename from htdocs/install/mysql/tables/llx_ecm_directories_extrafileds.sql rename to htdocs/install/mysql/tables/llx_ecm_directories_extrafields.sql diff --git a/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql b/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql index c45a3dcd1c4..deda90cbdcd 100644 --- a/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql +++ b/htdocs/install/mysql/tables/llx_emailcollector_emailcollectoraction.sql @@ -19,7 +19,7 @@ CREATE TABLE llx_emailcollector_emailcollectoraction( rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, fk_emailcollector INTEGER NOT NULL, type varchar(128) NOT NULL, - actionparam varchar(255) NULL, + actionparam text NULL, date_creation datetime NOT NULL, tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_user_creat integer NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_facture.sql b/htdocs/install/mysql/tables/llx_facture.sql index acb43444ad2..ecdc44915bb 100644 --- a/htdocs/install/mysql/tables/llx_facture.sql +++ b/htdocs/install/mysql/tables/llx_facture.sql @@ -86,7 +86,7 @@ create table llx_facture fk_incoterms integer, -- for incoterms location_incoterms varchar(255), -- for incoterms - fk_mode_transport integer, -- for intracomm report + fk_transport_mode integer, -- for intracomm report situation_cycle_ref smallint, -- situation cycle reference situation_counter smallint, -- situation counter diff --git a/htdocs/install/mysql/tables/llx_facture_fourn.sql b/htdocs/install/mysql/tables/llx_facture_fourn.sql index e5e78f87028..1b7401898ab 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn.sql @@ -74,7 +74,7 @@ create table llx_facture_fourn fk_incoterms integer, -- for incoterms location_incoterms varchar(255), -- for incoterms - fk_mode_transport integer, -- for intracomm report + fk_transport_mode integer, -- for intracomm report model_pdf varchar(255), last_main_doc varchar(255), -- relative filepath+filename of last main generated document diff --git a/htdocs/install/mysql/tables/llx_object_lang.sql b/htdocs/install/mysql/tables/llx_object_lang.sql index cc4352f3acc..01b70b208ff 100644 --- a/htdocs/install/mysql/tables/llx_object_lang.sql +++ b/htdocs/install/mysql/tables/llx_object_lang.sql @@ -25,7 +25,7 @@ create table llx_object_lang fk_object integer DEFAULT 0 NOT NULL, type_object varchar(32) NOT NULL, -- value found into $object->element: 'thirdparty', 'contact', '...' property varchar(32) NOT NULL, -- name of property - lang varchar(5) DEFAULT 0 NOT NULL, + lang varchar(5) DEFAULT '' NOT NULL, value text, import_key varchar(14) DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_onlinesignature.sql b/htdocs/install/mysql/tables/llx_onlinesignature.sql new file mode 100644 index 00000000000..0c81669c467 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_onlinesignature.sql @@ -0,0 +1,31 @@ +-- =================================================================== +-- Copyright (C) 2021 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- Table of with online signatures +-- =================================================================== + +create table llx_onlinesignature +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + object_type varchar(32) NOT NULL, + object_id integer NOT NULL, + datec datetime NOT NULL, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + name varchar(255) NOT NULL, + ip varchar(128), + pathoffile varchar(255) +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_partnership.key.sql b/htdocs/install/mysql/tables/llx_partnership.key.sql new file mode 100644 index 00000000000..7d09cdddda8 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_partnership.key.sql @@ -0,0 +1,21 @@ +-- =================================================================== +-- Copyright (C) 2012 Laurent Destailleur +-- Copyright (C) 2016 Regis Houssin +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +ALTER TABLE llx_partnership ADD INDEX idx_partnership_entity (entity); +ALTER TABLE llx_partnership ADD UNIQUE INDEX uk_partnership_ref (ref, entity); diff --git a/htdocs/install/mysql/tables/llx_partnership.sql b/htdocs/install/mysql/tables/llx_partnership.sql new file mode 100644 index 00000000000..6ab312f8875 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_partnership.sql @@ -0,0 +1,40 @@ +-- =================================================================== +-- Copyright (C) 2004 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +CREATE TABLE llx_partnership( + rowid integer AUTO_INCREMENT PRIMARY KEY NOT NULL, + ref varchar(128) DEFAULT '(PROV)' NOT NULL, + status smallint NOT NULL DEFAULT '0', + fk_soc integer, + fk_member integer, + date_partnership_start date NOT NULL, + date_partnership_end date NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id, 0 = all + reason_decline_or_cancel text NULL, + date_creation datetime NOT NULL, + fk_user_creat integer NOT NULL, + tms timestamp, + fk_user_modif integer, + note_private text, + note_public text, + last_main_doc varchar(255), + count_last_url_check_error integer DEFAULT '0', + last_check_backlink datetime NULL, + import_key varchar(14), + model_pdf varchar(255) +) ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_partnership_extrafields.key.sql b/htdocs/install/mysql/tables/llx_partnership_extrafields.key.sql new file mode 100644 index 00000000000..a6554ebacf6 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_partnership_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2019 Alexandre Spangaro +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + + +ALTER TABLE llx_partnership_extrafields ADD INDEX idx_partnership_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_partnership_extrafields.sql b/htdocs/install/mysql/tables/llx_partnership_extrafields.sql new file mode 100644 index 00000000000..ebb2eba8c6a --- /dev/null +++ b/htdocs/install/mysql/tables/llx_partnership_extrafields.sql @@ -0,0 +1,25 @@ +-- =================================================================== +-- Copyright (C) 2019 Alexandre Spangaro +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +create table llx_partnership_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + fk_object integer NOT NULL, -- salary payment id + import_key varchar(14) -- import key +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product.sql b/htdocs/install/mysql/tables/llx_product.sql index 4aad3393137..e89a7658e5a 100644 --- a/htdocs/install/mysql/tables/llx_product.sql +++ b/htdocs/install/mysql/tables/llx_product.sql @@ -103,5 +103,6 @@ create table llx_product desiredstock float DEFAULT 0, fk_unit integer DEFAULT NULL, price_autogen tinyint DEFAULT 0, - fk_project integer DEFAULT NULL -- Used when product was generated by a project or is specifif to a project + fk_default_bom integer DEFAULT NULL, + fk_project integer DEFAULT NULL -- Used when the product was generated by a project or is specific to a project )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product_customer_price.sql b/htdocs/install/mysql/tables/llx_product_customer_price.sql index f0d5edf9c2f..361a42a5b54 100644 --- a/htdocs/install/mysql/tables/llx_product_customer_price.sql +++ b/htdocs/install/mysql/tables/llx_product_customer_price.sql @@ -28,7 +28,7 @@ create table llx_product_customer_price tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_product integer NOT NULL, fk_soc integer NOT NULL, - ref_customer varchar(30), + ref_customer varchar(128), price double(24,8) DEFAULT 0, price_ttc double(24,8) DEFAULT 0, price_min double(24,8) DEFAULT 0, diff --git a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql index 4e1d75dd1dd..2a01df30e4b 100644 --- a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql +++ b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql @@ -27,7 +27,7 @@ create table llx_product_fournisseur_price tms timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, fk_product integer, fk_soc integer, - ref_fourn varchar(30), + ref_fourn varchar(128), desc_fourn text, fk_availability integer, price double(24,8) DEFAULT 0, -- price without tax for quantity diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php index a8bd9a4d3b6..63b8d66539b 100644 --- a/htdocs/install/step1.php +++ b/htdocs/install/step1.php @@ -531,39 +531,48 @@ if (!$error && $db->connected && $action == "set") { if ($db->connected) { $resultbis = 1; - // Create user - $result = $db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); - - // Create user bis - if ($databasefortest == 'mysql') { - if (!in_array($dolibarr_main_db_host, array('127.0.0.1', '::1', 'localhost', 'localhost.local'))) { - $resultbis = $db->DDLCreateUser('%', $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); - } - } - - if ($result > 0 && $resultbis > 0) { + if (empty($dolibarr_main_db_pass)) { + dolibarr_install_syslog("step1: failed to create user, password is empty", LOG_ERR); print ''; print $langs->trans("UserCreation").' : '; print $dolibarr_main_db_user; print ''; - print 'Ok'; + print ''.$langs->trans("Error").": A password for database user is mandatory."; } else { - if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS' - || $db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' - || $db->errno() == 'DB_ERROR_USER_ALREADY_EXISTS') { - dolibarr_install_syslog("step1: user already exists"); + // Create user + $result = $db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); + + // Create user bis + if ($databasefortest == 'mysql') { + if (!in_array($dolibarr_main_db_host, array('127.0.0.1', '::1', 'localhost', 'localhost.local'))) { + $resultbis = $db->DDLCreateUser('%', $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name); + } + } + + if ($result > 0 && $resultbis > 0) { print ''; print $langs->trans("UserCreation").' : '; print $dolibarr_main_db_user; print ''; - print ''.$langs->trans("LoginAlreadyExists").''; + print 'Ok'; } else { - dolibarr_install_syslog("step1: failed to create user", LOG_ERR); - print ''; - print $langs->trans("UserCreation").' : '; - print $dolibarr_main_db_user; - print ''; - print ''.$langs->trans("Error").': '.$db->errno().' '.$db->error().($db->error ? '. '.$db->error : '').""; + if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS' + || $db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' + || $db->errno() == 'DB_ERROR_USER_ALREADY_EXISTS') { + dolibarr_install_syslog("step1: user already exists"); + print ''; + print $langs->trans("UserCreation").' : '; + print $dolibarr_main_db_user; + print ''; + print ''.$langs->trans("LoginAlreadyExists").''; + } else { + dolibarr_install_syslog("step1: failed to create user", LOG_ERR); + print ''; + print $langs->trans("UserCreation").' : '; + print $dolibarr_main_db_user; + print ''; + print ''.$langs->trans("Error").': '.$db->errno().' '.$db->error().($db->error ? '. '.$db->error : '').""; + } } } diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index d0d1ae256b4..a11de7c447e 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -448,8 +448,17 @@ if (!GETPOST('action', 'aZ09') || preg_match('/upgrade/i', GETPOST('action', 'aZ migrate_contacts_socialnetworks(); migrate_thirdparties_socialnetworks(); } + + // Scripts for 14.0 + $afterversionarray = explode('.', '13.0.9'); + $beforeversionarray = explode('.', '14.0.9'); + if (versioncompare($versiontoarray, $afterversionarray) >= 0 && versioncompare($versiontoarray, $beforeversionarray) <= 0) { + migrate_export_import_profiles('export'); + migrate_export_import_profiles('import'); + } } + // Code executed only if migration is LAST ONE. Must always be done. if (versioncompare($versiontoarray, $versionranarray) >= 0 || versioncompare($versiontoarray, $versionranarray) <= -3) { // Reload modules (this must be always done and only into last targeted version, because code to reload module may need table structure of last version) @@ -3430,19 +3439,6 @@ function migrate_categorie_association($db, $langs, $conf) } if (!$error) { - // TODO DROP table in the next release - /* - $sqlDrop = "DROP TABLE ".MAIN_DB_PREFIX."categorie_association"; - if ($db->query($sqlDrop)) - { - $db->commit(); - } - else - { - $db->rollback(); - } - */ - $db->commit(); } else { $db->rollback(); @@ -4904,3 +4900,74 @@ function migrate_thirdparties_socialnetworks() print ''.$langs->trans('MigrationFieldsSocialNetworks', 'Thirdparties')."
\n"; print ''; } + + +/** + * Migrate export and import profiles to fix field name that was renamed + * + * @param string $mode 'export' or 'import' + * @return void + */ +function migrate_export_import_profiles($mode = 'export') +{ + global $db, $langs; + + $error = 0; + $resultstring = ''; + + $db->begin(); + + print ''; + $sql = 'SELECT rowid, field'; + if ($mode == 'export') { + $sql .= ', filter'; + } + $sql .= ' FROM '.MAIN_DB_PREFIX.$mode.'_model WHERE'; + $sql .= " type LIKE 'propale_%' OR type LIKE 'commande_%' OR type LIKE 'facture_%'"; + //print $sql; + $resql = $db->query($sql); + if ($resql) { + while ($obj = $db->fetch_object($resql)) { + $oldfield = $obj->field; + $newfield = str_replace(array(',f.facnumber', 'f.facnumber,', 'f.total,', 'f.tva,'), array(',f.ref', 'f.ref,', 'f.total_ht,', 'f.total_tva,'), $oldfield); + + if ($mode == 'export') { + $oldfilter = $obj->filter; + $newfilter = str_replace(array('f.facnumber=', 'f.total=', 'f.tva='), array('f.ref=', 'f.total_ht=', 'f.total_tva='), $oldfilter); + } else { + $oldfilter = ''; + $newfilter = ''; + } + + if ($oldfield != $newfield || $oldfilter != $newfilter) { + $sqlupd = 'UPDATE '.MAIN_DB_PREFIX.$mode."_model SET field = '".$db->escape($newfield)."'"; + if ($mode == 'export') { + $sqlupd .= ", filter = '".$db->escape($newfilter)."'"; + } + $sqlupd .= ' WHERE rowid='.$obj->rowid; + $resultstring .= ''.$sqlupd."\n"; + $resqlupd = $db->query($sqlupd); + if (!$resqlupd) { + dol_print_error($db); + $error++; + } + } + } + } else { + $error++; + } + if (!$error) { + $db->commit(); + } else { + dol_print_error($db); + $db->rollback(); + } + print ''.$langs->trans('MigrationImportOrExportProfiles', $mode)."
\n"; + print ''; + + if ($resultstring) { + print $resultstring; + } else { + print ''.$langs->trans("NothingToDo")."\n"; + } +} diff --git a/htdocs/knowledgemanagement/class/knowledgerecord.class.php b/htdocs/knowledgemanagement/class/knowledgerecord.class.php index 550ef976aba..dacdf57d3a8 100644 --- a/htdocs/knowledgemanagement/class/knowledgerecord.class.php +++ b/htdocs/knowledgemanagement/class/knowledgerecord.class.php @@ -114,7 +114,7 @@ class KnowledgeRecord extends CommonObject 'answer' => array('type'=>'html', 'label'=>'Solution', 'enabled'=>'1', 'position'=>50, 'notnull'=>0, 'visible'=>3, 'csslist'=>'tdoverflow300'), //'url' => array('type'=>'varchar(255)', 'label'=>'URL', 'enabled'=>'1', 'position'=>55, 'notnull'=>0, 'visible'=>-1, 'csslist'=>'tdoverflow200', 'help'=>'UrlForInfoPage'), 'fk_c_ticket_category' => array('type'=>'integer:CTicketCategory:ticket/class/cticketcategory.class.php', 'label'=>'GroupOfTicket', 'enabled'=>'$conf->ticket->enabled', 'position'=>512, 'notnull'=>0, 'visible'=>-1, 'help'=>'YouCanLinkArticleToATicketCategory'), - 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'visible'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Valid'),), + 'status' => array('type'=>'integer', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'visible'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated'),), ); public $rowid; public $ref; diff --git a/htdocs/knowledgemanagement/knowledgerecord_list.php b/htdocs/knowledgemanagement/knowledgerecord_list.php index 173ec749e2a..e04183baaf8 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_list.php +++ b/htdocs/knowledgemanagement/knowledgerecord_list.php @@ -115,7 +115,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -241,8 +241,8 @@ foreach ($search as $key => $val) { continue; } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0)) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -252,10 +252,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; diff --git a/htdocs/knowledgemanagement/knowledgerecord_note.php b/htdocs/knowledgemanagement/knowledgerecord_note.php index a6a9974a9c8..87d9eed9bdb 100644 --- a/htdocs/knowledgemanagement/knowledgerecord_note.php +++ b/htdocs/knowledgemanagement/knowledgerecord_note.php @@ -66,7 +66,13 @@ $permissiontoadd = $user->rights->knowledgemanagement->knowledgerecord->write; / * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/langs/am_ET/admin.lang b/htdocs/langs/am_ET/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/am_ET/admin.lang +++ b/htdocs/langs/am_ET/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/am_ET/banks.lang b/htdocs/langs/am_ET/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/am_ET/banks.lang +++ b/htdocs/langs/am_ET/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/am_ET/boxes.lang b/htdocs/langs/am_ET/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/am_ET/boxes.lang +++ b/htdocs/langs/am_ET/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/am_ET/cashdesk.lang b/htdocs/langs/am_ET/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/am_ET/cashdesk.lang +++ b/htdocs/langs/am_ET/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/am_ET/deliveries.lang b/htdocs/langs/am_ET/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/am_ET/deliveries.lang +++ b/htdocs/langs/am_ET/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/am_ET/errors.lang b/htdocs/langs/am_ET/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/am_ET/errors.lang +++ b/htdocs/langs/am_ET/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/am_ET/eventorganization.lang b/htdocs/langs/am_ET/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/am_ET/eventorganization.lang +++ b/htdocs/langs/am_ET/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/am_ET/exports.lang b/htdocs/langs/am_ET/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/am_ET/exports.lang +++ b/htdocs/langs/am_ET/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/am_ET/install.lang b/htdocs/langs/am_ET/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/am_ET/install.lang +++ b/htdocs/langs/am_ET/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/am_ET/interventions.lang b/htdocs/langs/am_ET/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/am_ET/interventions.lang +++ b/htdocs/langs/am_ET/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/am_ET/productbatch.lang b/htdocs/langs/am_ET/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/am_ET/productbatch.lang +++ b/htdocs/langs/am_ET/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/am_ET/products.lang b/htdocs/langs/am_ET/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/am_ET/products.lang +++ b/htdocs/langs/am_ET/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/am_ET/salaries.lang b/htdocs/langs/am_ET/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/am_ET/salaries.lang +++ b/htdocs/langs/am_ET/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/am_ET/ticket.lang b/htdocs/langs/am_ET/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/am_ET/ticket.lang +++ b/htdocs/langs/am_ET/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/am_ET/users.lang b/htdocs/langs/am_ET/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/am_ET/users.lang +++ b/htdocs/langs/am_ET/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/am_ET/website.lang b/htdocs/langs/am_ET/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/am_ET/website.lang +++ b/htdocs/langs/am_ET/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ar_EG/admin.lang b/htdocs/langs/ar_EG/admin.lang index f426e787f85..46608a162b0 100644 --- a/htdocs/langs/ar_EG/admin.lang +++ b/htdocs/langs/ar_EG/admin.lang @@ -49,3 +49,4 @@ Permission81=قراءة أوامر الشراء MailToSendInvoice=فواتير العميل MailToSendSupplierOrder=أوامر الشراء MailToSendSupplierInvoice=فواتير المورد +Recommended=موصى به diff --git a/htdocs/langs/ar_EG/products.lang b/htdocs/langs/ar_EG/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/ar_EG/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/ar_EG/ticket.lang b/htdocs/langs/ar_EG/ticket.lang index 41152eed334..9aadaa6918b 100644 --- a/htdocs/langs/ar_EG/ticket.lang +++ b/htdocs/langs/ar_EG/ticket.lang @@ -1,4 +1,3 @@ # Dolibarr language file - Source file is en_US - ticket Closed=مقفول TicketSettings=الإعدادات -TicketCategory=Group diff --git a/htdocs/langs/ar_IQ/admin.lang b/htdocs/langs/ar_IQ/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/ar_IQ/admin.lang +++ b/htdocs/langs/ar_IQ/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/ar_IQ/banks.lang b/htdocs/langs/ar_IQ/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/ar_IQ/banks.lang +++ b/htdocs/langs/ar_IQ/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ar_IQ/boxes.lang b/htdocs/langs/ar_IQ/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/ar_IQ/boxes.lang +++ b/htdocs/langs/ar_IQ/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/ar_IQ/cashdesk.lang b/htdocs/langs/ar_IQ/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/ar_IQ/cashdesk.lang +++ b/htdocs/langs/ar_IQ/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ar_IQ/deliveries.lang b/htdocs/langs/ar_IQ/deliveries.lang index fdfd6404a8a..cd8a36e6c70 100644 --- a/htdocs/langs/ar_IQ/deliveries.lang +++ b/htdocs/langs/ar_IQ/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Not Shippable ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ar_IQ/errors.lang b/htdocs/langs/ar_IQ/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/ar_IQ/errors.lang +++ b/htdocs/langs/ar_IQ/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ar_IQ/eventorganization.lang b/htdocs/langs/ar_IQ/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/ar_IQ/eventorganization.lang +++ b/htdocs/langs/ar_IQ/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ar_IQ/exports.lang b/htdocs/langs/ar_IQ/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/ar_IQ/exports.lang +++ b/htdocs/langs/ar_IQ/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ar_IQ/install.lang b/htdocs/langs/ar_IQ/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/ar_IQ/install.lang +++ b/htdocs/langs/ar_IQ/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ar_IQ/productbatch.lang b/htdocs/langs/ar_IQ/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/ar_IQ/productbatch.lang +++ b/htdocs/langs/ar_IQ/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/ar_IQ/products.lang b/htdocs/langs/ar_IQ/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/ar_IQ/products.lang +++ b/htdocs/langs/ar_IQ/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/ar_IQ/salaries.lang b/htdocs/langs/ar_IQ/salaries.lang index 6b4fdc94163..12905040b1a 100644 --- a/htdocs/langs/ar_IQ/salaries.lang +++ b/htdocs/langs/ar_IQ/salaries.lang @@ -17,8 +17,8 @@ TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ar_IQ/ticket.lang b/htdocs/langs/ar_IQ/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/ar_IQ/ticket.lang +++ b/htdocs/langs/ar_IQ/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/ar_IQ/users.lang b/htdocs/langs/ar_IQ/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/ar_IQ/users.lang +++ b/htdocs/langs/ar_IQ/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ar_IQ/website.lang b/htdocs/langs/ar_IQ/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/ar_IQ/website.lang +++ b/htdocs/langs/ar_IQ/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index 9db36b039d7..eb996d30b78 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -53,6 +53,7 @@ InternalUser=مستخدم داخلي ExternalUser=مستخدم خارجي InternalUsers=مستخدمين داخليين ExternalUsers=مستخدمين خارجيين +UserInterface=User interface GUISetup=العرض SetupArea=التثبيت UploadNewTemplate=تحميل قالب جديد @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=وظائف خدمة تصميم المواقع لا DownloadMoreSkins=مزيد من جلود بتحميل SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=ترجمة جزئية MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=انقر لإعداد وحدة الاتصال الهاتفي ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=مجرد استخدام الرابط "الهاتف:" على أرقام الهواتف -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=موصى بها +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/ar_SA/banks.lang b/htdocs/langs/ar_SA/banks.lang index d5e01691731..0d1b849661e 100644 --- a/htdocs/langs/ar_SA/banks.lang +++ b/htdocs/langs/ar_SA/banks.lang @@ -115,7 +115,7 @@ TransferTo=إلى TransferFromToDone=التحويل من %sإلى %sمن %s%s قد تم تسجيلة. CheckTransmitter=مرسل ValidateCheckReceipt=تأكيد صحة الشيك المستلم؟ -ConfirmValidateCheckReceipt=هل انت متأكد من رغبتك بإرسال إيصال هذا الشيك للتأكيد ؟ لا تغيير ممكن بعد الاكمال. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=حذف هذا الشيك ؟ ConfirmDeleteCheckReceipt=هل انت متأكد أنك تريد حذف هذا الشيك؟ BankChecks=الشيكات المصرفية diff --git a/htdocs/langs/ar_SA/boxes.lang b/htdocs/langs/ar_SA/boxes.lang index bb7d024ab37..bd8f4e9266b 100644 --- a/htdocs/langs/ar_SA/boxes.lang +++ b/htdocs/langs/ar_SA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=أوامر الموردين: آخر %s تع BoxTitleLastModifiedCustomerBills=فواتير العميل: آخر %s تعديل BoxTitleLastModifiedCustomerOrders=أوامر المبيعات: آخر %s تعديل BoxTitleLastModifiedPropals=أحدث %s العروض المعدلة -BoxTitleLatestModifiedJobPositions=أحدث %s وظائف المعدلة -BoxTitleLatestModifiedCandidatures=أحدث %s الترشيحات المعدلة +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=فواتير العملاء ForCustomersOrders=أوامر العملاء ForProposals=عروض diff --git a/htdocs/langs/ar_SA/cashdesk.lang b/htdocs/langs/ar_SA/cashdesk.lang index 0590fbb5aab..dcd981dcd3e 100644 --- a/htdocs/langs/ar_SA/cashdesk.lang +++ b/htdocs/langs/ar_SA/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index dbc501cf54e..d962819af12 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ar_SA/eventorganization.lang b/htdocs/langs/ar_SA/eventorganization.lang index 701d28ece6b..baecd63a8b0 100644 --- a/htdocs/langs/ar_SA/eventorganization.lang +++ b/htdocs/langs/ar_SA/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = نوع الحدث +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ar_SA/exports.lang b/htdocs/langs/ar_SA/exports.lang index 53ce1753324..41308469daa 100644 --- a/htdocs/langs/ar_SA/exports.lang +++ b/htdocs/langs/ar_SA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=نوع الخط (0= منت FileWithDataToImport=ملف استيراد البيانات FileToImport=مصدر لاستيراد ملف FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=مصدر تنسيق ملف diff --git a/htdocs/langs/ar_SA/install.lang b/htdocs/langs/ar_SA/install.lang index 3eadf6f4ba7..676b11d3a5d 100644 --- a/htdocs/langs/ar_SA/install.lang +++ b/htdocs/langs/ar_SA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=إعادة تحديث الوحدات %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ar_SA/interventions.lang b/htdocs/langs/ar_SA/interventions.lang index 06c3d23854e..29d2ccb839a 100644 --- a/htdocs/langs/ar_SA/interventions.lang +++ b/htdocs/langs/ar_SA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=تدخل مدة خط InterLineDesc=خط وصف التدخل RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=إعادة فتح +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/ar_SA/productbatch.lang b/htdocs/langs/ar_SA/productbatch.lang index 5e8039205d3..de1b46bd672 100644 --- a/htdocs/langs/ar_SA/productbatch.lang +++ b/htdocs/langs/ar_SA/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index 75ced2b4df0..2a5a6c2feff 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=إضافة السعر من قبل العملاء -ForceUpdateChildPriceSoc=تعيين نفس السعر على الشركات التابعة العملاء +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=سجل الأسعار العملاء السابقة MinimumPriceLimit=سعر الحد الأدنى لا يمكن أن يكون أقل ثم٪ الصورة MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=زيادة / نقصان الأسهم على التغ ComposedProduct=Child products MinSupplierPrice=الحد الأدنى من سعر الشراء MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=التكوين سعر ديناميكي DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/ar_SA/salaries.lang b/htdocs/langs/ar_SA/salaries.lang index 5a0fcdda6bd..87dfead9a33 100644 --- a/htdocs/langs/ar_SA/salaries.lang +++ b/htdocs/langs/ar_SA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=الراتب Salaries=الرواتب -NewSalaryPayment=دفع الرواتب جديد +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=دفع الرواتب SalariesPayments=مدفوعات الرواتب +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=مشاهدة دفع الرواتب THM=Average hourly rate TJM=Average daily rate CurrentSalary=الراتب الحالي THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ar_SA/ticket.lang b/htdocs/langs/ar_SA/ticket.lang index 0c32265c100..970f7bef887 100644 --- a/htdocs/langs/ar_SA/ticket.lang +++ b/htdocs/langs/ar_SA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=المشروع TicketTypeShortOTHER=الآخر @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=قرأ Assigned=Assigned InProgress=في تقدم -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=انتظار Closed=مغلق @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=مجموعة +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/ar_SA/users.lang b/htdocs/langs/ar_SA/users.lang index bf5dfb8c425..cf6f3cf8762 100644 --- a/htdocs/langs/ar_SA/users.lang +++ b/htdocs/langs/ar_SA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=ادخل لخلق NameToCreate=اسم طرف ثالث لخلق YourRole=الأدوار الخاص YourQuotaOfUsersIsReached=يتم التوصل إلى حصة الخاص بك من المستخدمين النشطين! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=يمكن فقط superadmin تقليله a superadmin HierarchicalResponsible=المشرف HierarchicView=الهرمي diff --git a/htdocs/langs/ar_SA/website.lang b/htdocs/langs/ar_SA/website.lang index 980b532e823..79ed8803b26 100644 --- a/htdocs/langs/ar_SA/website.lang +++ b/htdocs/langs/ar_SA/website.lang @@ -31,7 +31,7 @@ AddWebsite=إضافة موقع إلكتروني Webpage=الصفحة\\الحاوية AddPage=إضافة صفحة\\حاوية PageContainer=صفحة -PreviewOfSiteNotYetAvailable=إستعراض موقعك الإلكتروني %s غير متاح الان . عليك اولاً "إستيراد قالب موقع إلكتروني " او فقط "إضافة صفحة\\حاوية". +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=الصفحة المطلوبة بالمعرف %s لاتحتوي بعد على محتوى ، او ان ملف القالب الخاص بها قد تم حذفه. قم بتعديل محتويات الصفحة لحل ذلك SiteDeleted= الموقع "%s" تم حذهف PageContent=الصفحة\\الحاوية diff --git a/htdocs/langs/az_AZ/admin.lang b/htdocs/langs/az_AZ/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/az_AZ/admin.lang +++ b/htdocs/langs/az_AZ/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/az_AZ/banks.lang b/htdocs/langs/az_AZ/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/az_AZ/banks.lang +++ b/htdocs/langs/az_AZ/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/az_AZ/boxes.lang b/htdocs/langs/az_AZ/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/az_AZ/boxes.lang +++ b/htdocs/langs/az_AZ/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/az_AZ/cashdesk.lang b/htdocs/langs/az_AZ/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/az_AZ/cashdesk.lang +++ b/htdocs/langs/az_AZ/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/az_AZ/deliveries.lang b/htdocs/langs/az_AZ/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/az_AZ/deliveries.lang +++ b/htdocs/langs/az_AZ/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/az_AZ/errors.lang b/htdocs/langs/az_AZ/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/az_AZ/errors.lang +++ b/htdocs/langs/az_AZ/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/az_AZ/eventorganization.lang b/htdocs/langs/az_AZ/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/az_AZ/eventorganization.lang +++ b/htdocs/langs/az_AZ/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/az_AZ/exports.lang b/htdocs/langs/az_AZ/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/az_AZ/exports.lang +++ b/htdocs/langs/az_AZ/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/az_AZ/install.lang b/htdocs/langs/az_AZ/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/az_AZ/install.lang +++ b/htdocs/langs/az_AZ/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/az_AZ/interventions.lang b/htdocs/langs/az_AZ/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/az_AZ/interventions.lang +++ b/htdocs/langs/az_AZ/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/az_AZ/productbatch.lang b/htdocs/langs/az_AZ/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/az_AZ/productbatch.lang +++ b/htdocs/langs/az_AZ/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/az_AZ/products.lang b/htdocs/langs/az_AZ/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/az_AZ/products.lang +++ b/htdocs/langs/az_AZ/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/az_AZ/salaries.lang b/htdocs/langs/az_AZ/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/az_AZ/salaries.lang +++ b/htdocs/langs/az_AZ/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/az_AZ/ticket.lang b/htdocs/langs/az_AZ/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/az_AZ/ticket.lang +++ b/htdocs/langs/az_AZ/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/az_AZ/users.lang b/htdocs/langs/az_AZ/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/az_AZ/users.lang +++ b/htdocs/langs/az_AZ/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/az_AZ/website.lang b/htdocs/langs/az_AZ/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/az_AZ/website.lang +++ b/htdocs/langs/az_AZ/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index 94427c860b1..f1cdcc5ab95 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -53,6 +53,7 @@ InternalUser=Вътрешен потребител ExternalUser=Външен потребител InternalUsers=Вътрешни потребители ExternalUsers=Външни потребители +UserInterface=User interface GUISetup=Интерфейс SetupArea=Настройки UploadNewTemplate=Качване на нов(и) шаблон(и) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL функциите не са налични в DownloadMoreSkins=Изтегляне на повече теми SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Показване на идентификационни данни в полетата с адреси -ShowVATIntaInAddress=Скриване на вътрешнообщностния номер по ДДС в полетата с адреси +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Частичен превод MAIN_DISABLE_METEO=Деактивиране на метеорологичния изглед MeteoStdMod=Стандартен режим @@ -1778,7 +1779,7 @@ ClickToDialSetup=Настройка на модула за набиране (Cli ClickToDialUrlDesc=URL, който се извиква при кликване върху телефонен номер. В URL адреса може да използвате маркери
__PHONETO__, който ще бъде заменен с телефонния номер на лицето, на което ще се обаждате
__PHONEFROM__, който ще бъде заменен с телефонния номер на обаждащия се (вашият)
__LOGIN__, който ще бъде заменен с clicktodial потребителско име (дефиниран в картата на потребителя)
__PASS__, който ще бъде заменен с clicktodial парола (дефинирана в картата на потребителя). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Просто използвайте връзката "tel:" за телефонни номера -ClickToDialUseTelLinkDesc=Използвайте този метод, ако вашите потребители имат softphone или софтуерен интерфейс, инсталиран на същия компютър заедно с браузъра и се обаждат, когато кликнете върху връзка във вашия браузър, която започва "tel:". Ако имате нужда от пълно сървърно решение (няма нужда от локална софтуерна инсталация), трябва да изберете стойност "Не" и да попълните следващото поле. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Точка за продажба CashDeskSetup=Настройка на модул Точка за продажби @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Препоръчителна +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/bg_BG/banks.lang b/htdocs/langs/bg_BG/banks.lang index e6676b540bb..1aabf46415c 100644 --- a/htdocs/langs/bg_BG/banks.lang +++ b/htdocs/langs/bg_BG/banks.lang @@ -115,7 +115,7 @@ TransferTo=За TransferFromToDone=Прехвърлянето от %s към %s на %s %s беше записано. CheckTransmitter=Подател ValidateCheckReceipt=Валидиране на тази чекова разписка? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Изтриване на тази чекова разписка? ConfirmDeleteCheckReceipt=Сигурни ли сте, че искате да изтриете тази чекова разписка? BankChecks=Банкови чекове diff --git a/htdocs/langs/bg_BG/boxes.lang b/htdocs/langs/bg_BG/boxes.lang index 0d3c7068949..12ab7aaafa6 100644 --- a/htdocs/langs/bg_BG/boxes.lang +++ b/htdocs/langs/bg_BG/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Поръчки за покупка: %s по BoxTitleLastModifiedCustomerBills=Фактури за продажба: %s последно променени BoxTitleLastModifiedCustomerOrders=Поръчки за продажба: %s последно променени BoxTitleLastModifiedPropals=Търговски предложения: %s последно променени -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Фактури за продажба ForCustomersOrders=Поръчки на продажба ForProposals=Предложения diff --git a/htdocs/langs/bg_BG/cashdesk.lang b/htdocs/langs/bg_BG/cashdesk.lang index c5033d79e12..a838c1ce385 100644 --- a/htdocs/langs/bg_BG/cashdesk.lang +++ b/htdocs/langs/bg_BG/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/bg_BG/deliveries.lang b/htdocs/langs/bg_BG/deliveries.lang index b3ce159a9d2..f6ad8076ae9 100644 --- a/htdocs/langs/bg_BG/deliveries.lang +++ b/htdocs/langs/bg_BG/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Получател ErrorStockIsNotEnough=Няма достатъчна наличност Shippable=Годно за изпращане NonShippable=Негодно за изпращане +ShowShippableStatus=Show shippable status ShowReceiving=Показване на разписка за доставка NonExistentOrder=Несъществуваща поръчка +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index a081e492b2e..71d9682f0f2 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bg_BG/eventorganization.lang b/htdocs/langs/bg_BG/eventorganization.lang index 01691dec9e3..ccbae792a36 100644 --- a/htdocs/langs/bg_BG/eventorganization.lang +++ b/htdocs/langs/bg_BG/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Тип събитие +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/bg_BG/exports.lang b/htdocs/langs/bg_BG/exports.lang index f371671587f..8abaa3d6bf5 100644 --- a/htdocs/langs/bg_BG/exports.lang +++ b/htdocs/langs/bg_BG/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Тип ред (0 = продукт, 1 = услуга) FileWithDataToImport=Файл с данни за импортиране FileToImport=Входен файл за импортиране FileMustHaveOneOfFollowingFormat=Файлът за импортиране трябва да бъде в един от следните формати -DownloadEmptyExample=Изтегляне на шаблонния файл с информация за съдържанието на полето (* са задължителни полета) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Изберете формата на файла, който да използвате като формат за импортиране, като кликнете върху иконата на %s, за да го изберете... ChooseFileToImport=Прикачете файл, след това кликнете върху иконата %s, за да изберете файла като източник при импортиране... SourceFileFormat=Формат на входния файл diff --git a/htdocs/langs/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index d493acb7829..36b35d11a51 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Миграция на пътя до снимки на п MigrationFieldsSocialNetworks=Миграция на потребителски полета за социални мрежи (%s) MigrationReloadModule=Презареждане на модул %s MigrationResetBlockedLog=Нулиране на модула BlockedLog за алгоритъм v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Показване на недостъпни опции HideNotAvailableOptions=Скриване на недостъпни опции ErrorFoundDuringMigration=По време на процеса на миграция са докладвани грешки, така че следващата стъпка не е възможна. За да игнорирате грешките, може да кликнете тук , но приложението или някои функции може да не работят правилно, докато грешките не бъдат отстранени. diff --git a/htdocs/langs/bg_BG/interventions.lang b/htdocs/langs/bg_BG/interventions.lang index 83824a59f4e..beb459423df 100644 --- a/htdocs/langs/bg_BG/interventions.lang +++ b/htdocs/langs/bg_BG/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Продължителност на реда в интерве InterLineDesc=Описание на реда в интервенцията RepeatableIntervention=Шаблон на интервенция ToCreateAPredefinedIntervention=За да създадете предварително определена или повтаряща се интервенция, създайте интервенция и я превърнете в шаблон за интервенция. +Reopen=Повторно отваряне +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/bg_BG/productbatch.lang b/htdocs/langs/bg_BG/productbatch.lang index 1c2d8a20d4f..c20ff568d2f 100644 --- a/htdocs/langs/bg_BG/productbatch.lang +++ b/htdocs/langs/bg_BG/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Показване на движения за проду StockDetailPerBatch=Наличност по партида SerialNumberAlreadyInUse=Сериен номер %s е вече използван от друг продукт %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index 5b920f757db..dfca8e63815 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Различни цени за всеки клиент PriceCatalogue=Една продажна цена за продукт / услуга PricingRule=Правила за продажни цени AddCustomerPrice=Добавяне на цена за клиент -ForceUpdateChildPriceSoc=Определяне на една и съща цена за филиали на клиента +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=История на предишни цени за клиент MinimumPriceLimit=Минималната цена не може да бъде по-ниска от %s MinimumRecommendedPrice=Минималната препоръчителна цена е: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Увеличаване / намаляване на н ComposedProduct=Съставни продукти MinSupplierPrice=Минимална покупната цена MinCustomerPrice=Минимална продажна цена +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Динамична ценова конфигурация DynamicPriceDesc=Можете да дефинирате математически формули за изчисляване на клиентски или доставни цени. Тези формули могат да използват всички математически оператори, някои константи и променливи. Тук можете да определите променливите, които искате да използвате. Ако променливата се нуждае от автоматична актуализация, можете да дефинирате външен URL адрес, за да позволите на Dolibarr да актуализира стойността автоматично. AddVariable=Добавяне на променлива diff --git a/htdocs/langs/bg_BG/salaries.lang b/htdocs/langs/bg_BG/salaries.lang index 0aab1f9011c..bb767dae875 100644 --- a/htdocs/langs/bg_BG/salaries.lang +++ b/htdocs/langs/bg_BG/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Счетоводна сметка, използвана за служители на контрагенти SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Специализираната счетоводна сметка, дефинирана в картата на потребителя, ще се използва само за вторично счетоводно отчитане. Тя ще бъде използвана в регистъра на главната счетоводна книга и като стойност по подразбиране за вторично счетоводно отчитане, ако не е дефинирана специализирана потребителска счетоводна сметка за потребителя. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Счетоводна сметка по подразбиране за плащане на заплати +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Заплата Salaries=Заплати -NewSalaryPayment=Ново плащане на заплата +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Добавяне на плащане на заплата SalaryPayment=Плащане на заплата SalariesPayments=Плащания на заплати +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Показване на плащане на заплата THM=Средна почасова ставка TJM=Средна дневна ставка CurrentSalary=Текуща заплата THMDescription=Тази стойност може да се използва за изчисляване на разходите за времето, което е отделено по проект, ако модула проекти се използва. TJMDescription=Тази стойност понастоящем е информативна и не се използва за изчисления -LastSalaries=Плащания на заплати: %s последни -AllSalaries=Всички плащания на заплати +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Статистика на заплати -# Export SalariesAndPayments=Заплати и плащания +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bg_BG/ticket.lang b/htdocs/langs/bg_BG/ticket.lang index e7c6cfffe12..a9c3d96b21c 100644 --- a/htdocs/langs/bg_BG/ticket.lang +++ b/htdocs/langs/bg_BG/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Тикет - Решения TicketTypeShortCOM=Търговски въпрос TicketTypeShortHELP=Молба за асистенция -TicketTypeShortISSUE=Въпрос, грешка или проблем +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Заявка за подобрение TicketTypeShortPROJET=Проект TicketTypeShortOTHER=Друго @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Отговорен служител TypeContact_ticket_external_SUPPORTCLI=Контакт на контрагента проследяващ тикета TypeContact_ticket_external_CONTRIBUTOR=Сътрудник от страна на контрагента -OriginEmail=Имейл източник +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Изпращане на тикет съобщението по имейл # Status Read=Прочетен Assigned=Възложен InProgress=В изпълнение -NeedMoreInformation=В очакване на подробности +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Отговорен Waiting=В изчакване Closed=Приключен @@ -160,7 +162,7 @@ CreatedBy=Създаден от NewTicket=Нов тикет SubjectAnswerToTicket=Отговор на тикет TicketTypeRequest=Вид на тикета -TicketCategory=Група +TicketCategory=Ticket categorization SeeTicket=Преглед на тикет TicketMarkedAsRead=Тикетът е маркиран като прочетен TicketReadOn=Прочетен на @@ -211,6 +213,7 @@ TicketMessageHelp=Само този текст ще бъде запазен в TicketMessageSubstitutionReplacedByGenericValues=Заместващите променливи се заменят с общи стойности. TimeElapsedSince=Изминало време TicketTimeToRead=Изминало време преди прочитане +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Контакти TicketDocumentsLinked=Документи свързани с тикета ConfirmReOpenTicket=Потвърдете повторното отваряне на този тикет? diff --git a/htdocs/langs/bg_BG/users.lang b/htdocs/langs/bg_BG/users.lang index ae4e7e517ea..7a9ea0ab360 100644 --- a/htdocs/langs/bg_BG/users.lang +++ b/htdocs/langs/bg_BG/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Потребителско име NameToCreate=Име на контрагент за създаване YourRole=Вашите роли YourQuotaOfUsersIsReached=Вашата квота за активни потребители е достигната! -NbOfUsers=Брой потребители -NbOfPermissions=Брой права +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Само супер администратор може да понижи супер администратор HierarchicalResponsible=Ръководител HierarchicView=Йерархичен изглед diff --git a/htdocs/langs/bg_BG/website.lang b/htdocs/langs/bg_BG/website.lang index 2f341b2b6c9..63fc67e371d 100644 --- a/htdocs/langs/bg_BG/website.lang +++ b/htdocs/langs/bg_BG/website.lang @@ -31,7 +31,7 @@ AddWebsite=Добавяне на уебсайт Webpage=Уеб страница / контейнер AddPage=Добавяне на страница / контейнер PageContainer=Страница -PreviewOfSiteNotYetAvailable=Преглед на вашия уебсайт %s все още не е наличен. Първо трябва да 'Импортирате пълен шаблон за уебсайт' или просто да 'Добавите страница / контейнер'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Заявената страница с id %s все още няма съдържание или кеш файлът .tpl.php е бил премахнат. Редактирайте съдържанието на страницата, за да коригирате това. SiteDeleted=Уебсайта '%s' е изтрит PageContent=Страница / контейнер diff --git a/htdocs/langs/bn_BD/admin.lang b/htdocs/langs/bn_BD/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/bn_BD/admin.lang +++ b/htdocs/langs/bn_BD/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/bn_BD/banks.lang b/htdocs/langs/bn_BD/banks.lang index 3430961c71b..f7225e6f4f5 100644 --- a/htdocs/langs/bn_BD/banks.lang +++ b/htdocs/langs/bn_BD/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/bn_BD/boxes.lang b/htdocs/langs/bn_BD/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/bn_BD/boxes.lang +++ b/htdocs/langs/bn_BD/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/bn_BD/cashdesk.lang b/htdocs/langs/bn_BD/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/bn_BD/cashdesk.lang +++ b/htdocs/langs/bn_BD/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/bn_BD/deliveries.lang b/htdocs/langs/bn_BD/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/bn_BD/deliveries.lang +++ b/htdocs/langs/bn_BD/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bn_BD/errors.lang b/htdocs/langs/bn_BD/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/bn_BD/errors.lang +++ b/htdocs/langs/bn_BD/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bn_BD/eventorganization.lang b/htdocs/langs/bn_BD/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/bn_BD/eventorganization.lang +++ b/htdocs/langs/bn_BD/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/bn_BD/exports.lang b/htdocs/langs/bn_BD/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/bn_BD/exports.lang +++ b/htdocs/langs/bn_BD/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/bn_BD/install.lang b/htdocs/langs/bn_BD/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/bn_BD/install.lang +++ b/htdocs/langs/bn_BD/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/bn_BD/interventions.lang b/htdocs/langs/bn_BD/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/bn_BD/interventions.lang +++ b/htdocs/langs/bn_BD/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/bn_BD/productbatch.lang b/htdocs/langs/bn_BD/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/bn_BD/productbatch.lang +++ b/htdocs/langs/bn_BD/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/bn_BD/products.lang b/htdocs/langs/bn_BD/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/bn_BD/products.lang +++ b/htdocs/langs/bn_BD/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/bn_BD/salaries.lang b/htdocs/langs/bn_BD/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/bn_BD/salaries.lang +++ b/htdocs/langs/bn_BD/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bn_BD/ticket.lang b/htdocs/langs/bn_BD/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/bn_BD/ticket.lang +++ b/htdocs/langs/bn_BD/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/bn_BD/users.lang b/htdocs/langs/bn_BD/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/bn_BD/users.lang +++ b/htdocs/langs/bn_BD/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/bn_BD/website.lang b/htdocs/langs/bn_BD/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/bn_BD/website.lang +++ b/htdocs/langs/bn_BD/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/bn_IN/admin.lang b/htdocs/langs/bn_IN/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/bn_IN/admin.lang +++ b/htdocs/langs/bn_IN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/bn_IN/banks.lang b/htdocs/langs/bn_IN/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/bn_IN/banks.lang +++ b/htdocs/langs/bn_IN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/bn_IN/boxes.lang b/htdocs/langs/bn_IN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/bn_IN/boxes.lang +++ b/htdocs/langs/bn_IN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/bn_IN/cashdesk.lang b/htdocs/langs/bn_IN/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/bn_IN/cashdesk.lang +++ b/htdocs/langs/bn_IN/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/bn_IN/deliveries.lang b/htdocs/langs/bn_IN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/bn_IN/deliveries.lang +++ b/htdocs/langs/bn_IN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bn_IN/errors.lang b/htdocs/langs/bn_IN/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/bn_IN/errors.lang +++ b/htdocs/langs/bn_IN/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bn_IN/eventorganization.lang b/htdocs/langs/bn_IN/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/bn_IN/eventorganization.lang +++ b/htdocs/langs/bn_IN/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/bn_IN/exports.lang b/htdocs/langs/bn_IN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/bn_IN/exports.lang +++ b/htdocs/langs/bn_IN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/bn_IN/install.lang b/htdocs/langs/bn_IN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/bn_IN/install.lang +++ b/htdocs/langs/bn_IN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/bn_IN/interventions.lang b/htdocs/langs/bn_IN/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/bn_IN/interventions.lang +++ b/htdocs/langs/bn_IN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/bn_IN/productbatch.lang b/htdocs/langs/bn_IN/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/bn_IN/productbatch.lang +++ b/htdocs/langs/bn_IN/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/bn_IN/products.lang b/htdocs/langs/bn_IN/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/bn_IN/products.lang +++ b/htdocs/langs/bn_IN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/bn_IN/salaries.lang b/htdocs/langs/bn_IN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/bn_IN/salaries.lang +++ b/htdocs/langs/bn_IN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bn_IN/ticket.lang b/htdocs/langs/bn_IN/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/bn_IN/ticket.lang +++ b/htdocs/langs/bn_IN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/bn_IN/users.lang b/htdocs/langs/bn_IN/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/bn_IN/users.lang +++ b/htdocs/langs/bn_IN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/bn_IN/website.lang b/htdocs/langs/bn_IN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/bn_IN/website.lang +++ b/htdocs/langs/bn_IN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index ed5b59577b2..1a7ee492870 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interni korisnik ExternalUser=Vanjski korisnik InternalUsers=Interni korisnici ExternalUsers=Vanjski korisnici +UserInterface=User interface GUISetup=Prikaz SetupArea=Postavke UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Preporučeno +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/bs_BA/banks.lang b/htdocs/langs/bs_BA/banks.lang index 978d9be60ec..3a245ded3ed 100644 --- a/htdocs/langs/bs_BA/banks.lang +++ b/htdocs/langs/bs_BA/banks.lang @@ -115,7 +115,7 @@ TransferTo=Prema TransferFromToDone=Transfer sa %s na %s u iznosu od %s %s je zapisan. CheckTransmitter=Od ValidateCheckReceipt=Odobrite ovaj ispis čeka? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Obrišite ovaj izvod čeka? ConfirmDeleteCheckReceipt=Da li ste sigurni da želite obrisati ovaj izvod od čeka? BankChecks=Bankovni ček diff --git a/htdocs/langs/bs_BA/boxes.lang b/htdocs/langs/bs_BA/boxes.lang index a491680b1f7..f8f76e0afed 100644 --- a/htdocs/langs/bs_BA/boxes.lang +++ b/htdocs/langs/bs_BA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Posljednjih %s izmijenjenih ponuda -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Fakture kupaca ForCustomersOrders=Narudžbe kupaca ForProposals=Prijedlozi diff --git a/htdocs/langs/bs_BA/cashdesk.lang b/htdocs/langs/bs_BA/cashdesk.lang index 42ed6775627..b06c19dd478 100644 --- a/htdocs/langs/bs_BA/cashdesk.lang +++ b/htdocs/langs/bs_BA/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/bs_BA/deliveries.lang b/htdocs/langs/bs_BA/deliveries.lang index 1d1cc2fba9b..4ccb70f6a24 100644 --- a/htdocs/langs/bs_BA/deliveries.lang +++ b/htdocs/langs/bs_BA/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Primalac ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index 7c60c959313..608b3e3a4e6 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/bs_BA/eventorganization.lang b/htdocs/langs/bs_BA/eventorganization.lang index da6aff77b91..0c98795cac1 100644 --- a/htdocs/langs/bs_BA/eventorganization.lang +++ b/htdocs/langs/bs_BA/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Vrsta događaja +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/bs_BA/exports.lang b/htdocs/langs/bs_BA/exports.lang index 30e7e97e5a5..c030d48d370 100644 --- a/htdocs/langs/bs_BA/exports.lang +++ b/htdocs/langs/bs_BA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index e8f358a7aab..8a5391734e0 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/bs_BA/interventions.lang b/htdocs/langs/bs_BA/interventions.lang index fef8e77ea6b..e5117f053f0 100644 --- a/htdocs/langs/bs_BA/interventions.lang +++ b/htdocs/langs/bs_BA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/bs_BA/productbatch.lang b/htdocs/langs/bs_BA/productbatch.lang index ed69e7c1517..e283afa1e64 100644 --- a/htdocs/langs/bs_BA/productbatch.lang +++ b/htdocs/langs/bs_BA/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index 1da68418142..8c2e39f7547 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimalna kupovna cijena MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/bs_BA/salaries.lang b/htdocs/langs/bs_BA/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/bs_BA/salaries.lang +++ b/htdocs/langs/bs_BA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/bs_BA/ticket.lang b/htdocs/langs/bs_BA/ticket.lang index 156fe5a1c75..acc22788781 100644 --- a/htdocs/langs/bs_BA/ticket.lang +++ b/htdocs/langs/bs_BA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostalo @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Pročitaj Assigned=Assigned InProgress=U toku -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Čekanje Closed=Zatvoren @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupa +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/bs_BA/users.lang b/htdocs/langs/bs_BA/users.lang index 7b4cd013b64..f8e3310227f 100644 --- a/htdocs/langs/bs_BA/users.lang +++ b/htdocs/langs/bs_BA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Kreirati login NameToCreate=Naziv subjekta za kreiranje YourRole=Vaše uloge YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je postignuta! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin može unazaditi superadmina HierarchicalResponsible=Nadzornik HierarchicView=Hijerarhijski prikaz diff --git a/htdocs/langs/bs_BA/website.lang b/htdocs/langs/bs_BA/website.lang index 265e8e7584a..062783a4534 100644 --- a/htdocs/langs/bs_BA/website.lang +++ b/htdocs/langs/bs_BA/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Stranica -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index d69f11ae766..527d2c0450e 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -53,6 +53,7 @@ InternalUser=Usuari intern ExternalUser=Usuari extern InternalUsers=Usuaris interns ExternalUsers=Usuaris externs +UserInterface=User interface GUISetup=Entorn SetupArea=Configuració UploadNewTemplate=Carrega plantilles noves @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Funcions SSL no disponibles al vostre PHP DownloadMoreSkins=Més temes per a descarregar SimpleNumRefModelDesc=Retorna el número de referència en el format %syymm-nnnn on yy és l'any, mm és el mes i nnnn és un número d'increment automàtic seqüencial sense restablir SimpleNumRefNoDateModelDesc=Retorna el número de referència en el format %s-nnnn on nnnn és un número d’increment automàtic seqüencial sense restablir -ShowProfIdInAddress=Mostra l'identificador professional amb adreces -ShowVATIntaInAddress=Amaga el número d'IVA intracomunitari amb adreces +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Traducció parcial MAIN_DISABLE_METEO=Desactiva la visualització meteorològica MeteoStdMod=Mode estàndard @@ -1778,7 +1779,7 @@ ClickToDialSetup=Configuració del mòdul Click To Dial ClickToDialUrlDesc=Es crida l'URL quan es fa un clic a la imatge miniatura de telèfon. A l'URL, pots utilitzar les etiquetes
__PHONETO__ que serà reemplaçada pel número de telèfon de la persona a trucar
__PHONEFROM__ que serà reemplaçada pel número de telèfon de la persona que truca (el vostre)
__LOGIN__ que serà reemplaçada pel teu usuari d'inici de clicktodial (definit a la fitxa d'usuari)
__PASS__ que serà reemplaçada per la contrasenya de clicktodial (definida a la fitxa d'usuari). ClickToDialDesc=Aquest mòdul canvia els números de telèfon, en utilitzar un ordinador de sobretaula, a enllaços on es pot fer clic. Un clic trucarà al número. Es pot utilitzar per a iniciar la trucada quan s'utilitza un telèfon suau a l'escriptori o, per exemple, quan s'utilitza un sistema CTI basat en el protocol SIP. Nota: Quan feu servir un telèfon intel·ligent, sempre es pot fer clic als números de telèfon. ClickToDialUseTelLink=Utilitzar sols l'enllaç "tel:" als números de telèfon -ClickToDialUseTelLinkDesc=Utilitzeu aquest mètode si els vostres usuaris tenen un softphone o una interfície de programari instal·lada a la mateixa computadora que el navegador, i us demani quan feu clic a un enllaç al vostre navegador que comença per "tel:". Si necessiteu una solució completa de servidor (no cal instal·lar programari local), heu d'establir això a "No" i omplir el camp següent. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Punt de venda CashDeskSetup=Configuració del mòdul de Punt de venda @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Excepte si heu d'executar ordres de PHPFunctionsRequiredForCLI=Per al propòsit de l'intèrpret d'ordres (com fer còpies de seguretat programades o executar un programa anitivurs), heu de mantenir les funcions PHP NoWritableFilesFoundIntoRootDir=No s'ha trobat cap fitxer ni directori d'escriptura dels programes comuns al directori arrel (Bo) RecommendedValueIs=Recomanat: %s -NotRecommended=No recomanat +Recommended=Recomanada +NotRecommended=Not recommended ARestrictedPath=Un camí restringit CheckForModuleUpdate=Comproveu si hi ha actualitzacions de mòduls externs CheckForModuleUpdateHelp=Aquesta acció es connectarà als editors de mòduls externs per comprovar si hi ha disponible una nova versió. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Heu activat l'API WS obsoleta. Haure RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/ca_ES/banks.lang b/htdocs/langs/ca_ES/banks.lang index 4f92c6bf2b7..fb4fd80a002 100644 --- a/htdocs/langs/ca_ES/banks.lang +++ b/htdocs/langs/ca_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=Cap a TransferFromToDone=La transferència de %s cap a %s de %s %s s'ha creat. CheckTransmitter=Remitent ValidateCheckReceipt=Vols validar aquesta remesa de xec? -ConfirmValidateCheckReceipt=Esteu segur que voleu enviar aquest rebut de xec per validar-lo? No es poden fer canvis. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Vols suprimir aquesta remesa de xec? ConfirmDeleteCheckReceipt=Vols eliminar aquesta remesa de xec? BankChecks=Xec bancari diff --git a/htdocs/langs/ca_ES/boxes.lang b/htdocs/langs/ca_ES/boxes.lang index bda2c645372..2c696e3353a 100644 --- a/htdocs/langs/ca_ES/boxes.lang +++ b/htdocs/langs/ca_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Comandes a Proveïdor: últimes %s modifica BoxTitleLastModifiedCustomerBills=Factures del client: últimes %s modificades BoxTitleLastModifiedCustomerOrders=Comandes de venda: últimes %s modificades BoxTitleLastModifiedPropals=Últims %s pressupostos modificats -BoxTitleLatestModifiedJobPositions=Els darrers %s treballs modificats -BoxTitleLatestModifiedCandidatures=Darreres candidatures modificades %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Factures a clients ForCustomersOrders=Comandes de clients ForProposals=Pressupostos diff --git a/htdocs/langs/ca_ES/cashdesk.lang b/htdocs/langs/ca_ES/cashdesk.lang index f00c5018ac0..b3e90a478d1 100644 --- a/htdocs/langs/ca_ES/cashdesk.lang +++ b/htdocs/langs/ca_ES/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Permet un pagament retardat PrintPaymentMethodOnReceipts=Imprimeix el mètode de pagament en els tiquets/rebuts WeighingScale=Balança de pesatge ShowPriceHT = Mostra la columna amb el preu sense impostos (a la pantalla) -ShowPriceHTOnReceipt = Mostra la columna amb el preu sense impostos (al rebut) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ca_ES/deliveries.lang b/htdocs/langs/ca_ES/deliveries.lang index f1dd899fea4..b6d8fbf55f8 100644 --- a/htdocs/langs/ca_ES/deliveries.lang +++ b/htdocs/langs/ca_ES/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Destinatari ErrorStockIsNotEnough=No hi ha estoc suficient Shippable=Es pot enviar NonShippable=No es pot enviar +ShowShippableStatus=Mostra l'estat d'enviament ShowReceiving=Mostra el rebut d'entrega NonExistentOrder=Comanda inexistent +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index c93e096dd96..55600b5fe64 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=El propietari de l'usuari és oblig ErrorActionCommBadType=El tipus d'esdeveniment seleccionat (identificador: %n, codi: %s) no existeix al diccionari del tipus d'esdeveniment CheckVersionFail=Error de comprovació de versió ErrorWrongFileName=El nom del fitxer no pot contenir __COSA__ +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ca_ES/eventorganization.lang b/htdocs/langs/ca_ES/eventorganization.lang index 2a2511c5b65..a2e1c0b648f 100644 --- a/htdocs/langs/ca_ES/eventorganization.lang +++ b/htdocs/langs/ca_ES/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Clau segura de l'enllaç de registre públic a una conferència SERVICE_BOOTH_LOCATION = Servei que s'utilitza per a la fila de factures sobre una ubicació de l'estand SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Servei que s'utilitza per a la fila de factures sobre una subscripció d'assistent a una conferència +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Aquesta conferència comença el dia %s i finalitza el dia %s. ConferenceAttendeeFee = Tarifa de l'assistent a la conferència per a l'esdeveniment: "%s" que passa de %s a %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Tipus d'esdeveniment +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ca_ES/exports.lang b/htdocs/langs/ca_ES/exports.lang index f66769a30f7..f0ebbe4d451 100644 --- a/htdocs/langs/ca_ES/exports.lang +++ b/htdocs/langs/ca_ES/exports.lang @@ -33,7 +33,7 @@ FormatedImport=Assistent d'importació FormatedImportDesc1=Aquest mòdul us permet actualitzar les dades existents o afegir nous objectes a la base de dades d'un fitxer sense coneixements tècnics, utilitzant un assistent. FormatedImportDesc2=El primer pas és triar el tipus de dades que voleu importar, a continuació, el format del fitxer font, a continuació, els camps que voleu importar. FormatedExport=Assistent d'exportació -FormatedExportDesc1=Aquestes eines permeten l'exportació de dades personalitzades mitjançant un assistent, per ajudar-vos en el procés sense necessitat de coneixements tècnics. +FormatedExportDesc1=Aquestes eines permeten exportar dades personalitzades mitjançant un assistent per a ajudar-vos en el procés sense necessitat de coneixements tècnics. FormatedExportDesc2=El primer pas és triar un conjunt de dades predefinit, després els camps que voleu exportar i en quin ordre. FormatedExportDesc3=Quan se seleccionen les dades per a exportar, podeu triar el format del fitxer de sortida. Sheet=Fulla @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipus de línia (0=producte, 1=servei) FileWithDataToImport=Arxiu que conté les dades a importar FileToImport=Arxiu origen a importar FileMustHaveOneOfFollowingFormat=El fitxer a importar ha de tenir un dels següents formats -DownloadEmptyExample=Baixeu un fitxer de plantilla amb informació de contingut de camp (* són camps obligatoris) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Trieu el format del fitxer que voleu utilitzar com a format de fitxer d'importació fent clic a la icona %s per seleccionar-lo ... ChooseFileToImport=Pengeu un fitxer i feu clic a la icona %s per seleccionar el fitxer com a fitxer d'importació d'origen ... SourceFileFormat=Format de l'arxiu origen @@ -80,7 +81,7 @@ SelectAtLeastOneField=Bascular com a mínim un camp origen a la columna de camps SelectFormat=Seleccioneu aquest format de fitxer d'importació RunImportFile=Importa dades NowClickToRunTheImport=Comproveu els resultats de la simulació d'importació. Corregiu els errors i torneu a provar.
Quan la simulació no informa d'errors, pot procedir a importar les dades a la base de dades. -DataLoadedWithId=Les dades importades tindran un camp addicional a cada taula de base de dades amb aquest identificador d'importació: %s , per permetre que es pugui cercar en el cas d'investigar un problema relacionat amb aquesta importació. +DataLoadedWithId=Les dades importades tindran un camp addicional a cada taula de base de dades amb aquest identificador d'importació: %s , per a permetre que es pugui cercar en el cas d'investigar un problema relacionat amb aquesta importació. ErrorMissingMandatoryValue=Les dades obligatòries estan buides al fitxer de codi font %s . TooMuchErrors=Encara hi ha 0xaek83365837f %s altres línies d'origen amb errors, però la producció ha estat limitada. TooMuchWarnings=Encara hi ha %s altres línies d'origen amb advertències, però la producció ha estat limitada. diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index 485ed64c1c8..d640061d928 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -15,7 +15,7 @@ PHPSupport=Aquest PHP admet les funcions %s. PHPMemoryOK=La seva memòria màxima de sessió PHP està definida a %s. Això hauria de ser suficient. PHPMemoryTooLow=La seva memòria màxima de sessió PHP està definida a %s bytes. Això és molt poc. Es recomana modificar el paràmetre memory_limit del seu arxiu php.ini a almenys %s octets. Recheck=Faci clic aquí per realitzar un test més exhaustiu -ErrorPHPDoesNotSupportSessions=La vostra instal·lació de PHP no suporta sessions. Aquesta característica és necessària per permetre que Dolibarr funcioni. Comproveu la configuració de PHP i els permisos del directori de sessions. +ErrorPHPDoesNotSupportSessions=La vostra instal·lació de PHP no admet sessions. Aquesta funció és necessària per a permetre que Dolibarr funcioni. Comproveu la configuració de PHP i els permisos del directori de sessions. ErrorPHPDoesNotSupportGD=La vostra instal·lació de PHP no és compatible amb les funcions gràfiques de GD. No hi haurà gràfics disponibles. ErrorPHPDoesNotSupportCurl=La vostra instal·lació de PHP no admet Curl. ErrorPHPDoesNotSupportCalendar=La vostra instal·lació de PHP no admet extensions de calendari php. @@ -61,7 +61,7 @@ CreateUser=Crea un compte d'usuari o concedeix el permís del compte d'usuari a DatabaseSuperUserAccess=Base de dades - Accés super usuari CheckToCreateDatabase=Marqueu la casella si la base de dades encara no existeix i cal crear-la.
En aquest cas, també heu d'omplir el nom d'usuari i la contrasenya del compte de superusuari al final d'aquesta pàgina. CheckToCreateUser=Marqueu la casella si: el compte d'usuari de la base de dades
encara no existeix, per la qual cosa s'ha de crear o
si el compte d'usuari existeix, però la base de dades no existeix i els permisos s'han de concedir.
En aquest cas, heu d'introduir el compte d'usuari i la contrasenya i també el nom del compte superusuari i la contrasenya al final d'aquesta pàgina. Si aquesta casella no està activada, el propietari i la contrasenya de la base de dades ja han d'existir. -DatabaseRootLoginDescription=Nom del compte de superusuari (per crear noves bases de dades o usuaris nous), obligatori si la base de dades o el seu propietari ja no existeixen. +DatabaseRootLoginDescription=Nom del compte del superusuari (per a crear bases de dades noves o usuaris nous), obligatori si la base de dades o el seu propietari encara no existeixen. KeepEmptyIfNoPassword=Deixeu-lo buit si el superusuari no té contrasenya (NO es recomana) SaveConfigurationFile=S'estan desant els paràmetres a ServerConnection=Connexió al servidor @@ -82,10 +82,10 @@ SystemIsInstalled=La instal·lació s'ha finalitzat. SystemIsUpgraded=S'ha actualitzat Dolibarr correctament. YouNeedToPersonalizeSetup=Ara ha de configurar Dolibarr segons les seves necessitats (Elecció de l'aparença, de les funcionalitats, etc). Per això, feu clic en el següent link: AdminLoginCreatedSuccessfuly=El codi d'usuari administrador de Dolibar '%s' s'ha creat correctament. -GoToDolibarr=Ves a Dolibarr -GoToSetupArea=Ves a Dolibarr (àrea de configuració) +GoToDolibarr=Aneu a Dolibarr +GoToSetupArea=Aneu a Dolibarr (àrea de configuració) MigrationNotFinished=La versió de la base de dades no està completament actualitzada: torneu a executar el procés d'actualització. -GoToUpgradePage=Ves de nou a la pàgina d'actualització +GoToUpgradePage=Aneu de nou a la pàgina d'actualització WithNoSlashAtTheEnd=Sense el signe "/" al final DirectoryRecommendation=  IMPORTANT : Heu d'utilitzar un directori que es troba fora de les pàgines web (no utilitzeu un subdirector del paràmetre anterior). LoginAlreadyExists=Ja existeix @@ -136,10 +136,10 @@ MigrationFinished=S'ha acabat la migració LastStepDesc= Darrer pas : definiu aquí l'inici de sessió i la contrasenya que voleu utilitzar per connectar-se a Dolibarr. No perdis això, ja que és el compte mestre per administrar tots els altres / comptes d'usuari addicionals. ActivateModule=Activació del mòdul %s ShowEditTechnicalParameters=Premi aquí per veure/editar els paràmetres tècnics (mode expert) -WarningUpgrade=Advertència:\nHas realitzat una còpia de seguretat de la base de dades primer?\nAixò és molt recomanable. La pèrdua de dades (per exemple, errors en mysql versió 5.5.40 / 41/42/43) pot ser possible durant aquest procés, per la qual cosa és essencial fer un abocament complet de la vostra base de dades abans de començar qualsevol migració.\n\nFeu clic a Accepta per iniciar el procés de migració ... +WarningUpgrade=Advertència:\nPrimer heu executat una còpia de seguretat de la base de dades?\nAixò és molt recomanable. La pèrdua de dades (a causa, per exemple, d'errors a la versió 5.5.40/41/42/43 de mysql) pot ser possible durant aquest procés, de manera que és essencial fer un buidatge complet de la vostra base de dades abans d'iniciar qualsevol migració.\n\nFeu clic a D'acord per a iniciar el procés de migració... ErrorDatabaseVersionForbiddenForMigration=La versió de la vostra base de dades és %s. Té un error crític, que fa possible la pèrdua de dades si feu canvis estructurals a la base de dades, tals com requereix el procés de migració. Per la seva raó, la migració no es permetrà fins que no actualitzeu la base de dades a una versió actualitzada (llista de versions conegudes amb errors: %s) KeepDefaultValuesWamp=Heu utilitzat l'assistent de configuració Dolibarr de DoliWamp, de manera que els valors proposats aquí ja estan optimitzats. Canvieu-los només si saps el que estàs fent. -KeepDefaultValuesDeb=Heu utilitzat l'assistent de configuració Dolibarr des d'un paquet Linux (Ubuntu, Debian, Fedora ...), de manera que els valors proposats aquí ja estan optimitzats. Només s'ha d'introduir la contrasenya del propietari de la base de dades per crear. Canvieu altres paràmetres només si saps el que estàs fent. +KeepDefaultValuesDeb=Heu utilitzat l'assistent de configuració Dolibarr des d'un paquet Linux (Ubuntu, Debian, Fedora ...), de manera que els valors proposats aquí ja estan optimitzats. Només cal introduir la contrasenya del propietari de la base de dades a crear. Canvieu altres paràmetres només si sabeu què feu. KeepDefaultValuesMamp=Heu utilitzat l'assistent de configuració Dolibarr de DoliMamp, de manera que els valors proposats aquí ja estan optimitzats. Canvieu-los només si saps el que estàs fent. KeepDefaultValuesProxmox=Heu utilitzat l'assistent de configuració de Dolibarr des d'un dispositiu virtual Proxmox, de manera que els valors proposats aquí ja estan optimitzats. Canvieu-los només si saps el que estàs fent. UpgradeExternalModule=Execució del procés d'actualització dedicat de mòdul extern @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migració de rutes per les fotos dels usuaris MigrationFieldsSocialNetworks=Migració de camps de xarxes socials d'usuaris (%s) MigrationReloadModule=Recarrega el mòdul %s MigrationResetBlockedLog=Restablir el mòdul BlockedLog per l'algoritme v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostra les opcions no disponibles HideNotAvailableOptions=Amaga les opcions no disponibles ErrorFoundDuringMigration=S'han reportat error(s) durant el procés de migració, de manera que el següent pas no està disponible. Per ignorar els errors, podeu fer clic aquí , però l'aplicació o algunes funcions no funcionen correctament fins que es resolen els errors. diff --git a/htdocs/langs/ca_ES/interventions.lang b/htdocs/langs/ca_ES/interventions.lang index 242a537dcc8..53f60c17df9 100644 --- a/htdocs/langs/ca_ES/interventions.lang +++ b/htdocs/langs/ca_ES/interventions.lang @@ -50,7 +50,7 @@ UseDateWithoutHourOnFichinter=Oculta hores i minuts del camp de dates dels regis InterventionStatistics=Estadístiques de intervencions NbOfinterventions=Nombre de fitxers d’intervenció NumberOfInterventionsByMonth=Nombre de fitxes d'intervenció per mes (data de validació) -AmountOfInteventionNotIncludedByDefault=La quantitat d'intervenció no s'inclou de manera predeterminada en els beneficis (en la majoria dels casos, els fulls de temps s'utilitzen per comptar el temps dedicat). Per incloure'ls, afegiu la opció PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT amb el valor 1 a Configuració → Varis. +AmountOfInteventionNotIncludedByDefault=La quantitat d'intervenció no s'inclou de manera predeterminada en els beneficis (en la majoria dels casos, els fulls de temps s'utilitzen per a comptar el temps dedicat). Per incloure'ls, afegiu l'opció PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT amb el valor 1 a Inici-Configuració-Altres. InterId=Id. d'intervenció InterRef=Ref. d'intervenció InterDateCreation=Data de creació de la intervenció @@ -63,6 +63,6 @@ InterLineDate=Data de la línia de intervenció InterLineDuration=Durada de la línia de la intervenció InterLineDesc=Descripció de la línia de la intervenció RepeatableIntervention=Plantilla d’intervenció -ToCreateAPredefinedIntervention=Per crear una intervenció predefinida o recurrent, creeu una intervenció comuna i convertiu-la en plantilla d'intervenció +ToCreateAPredefinedIntervention=Per a crear una intervenció predefinida o recurrent, creeu una intervenció comuna i convertiu-la en plantilla d'intervenció Reopen=Reobrir ConfirmReopenIntervention=Esteu segur que voleu tornar a obrir la intervenció %s ? diff --git a/htdocs/langs/ca_ES/knowledgemanagement.lang b/htdocs/langs/ca_ES/knowledgemanagement.lang index 2cc3f34e892..12bd3627d66 100644 --- a/htdocs/langs/ca_ES/knowledgemanagement.lang +++ b/htdocs/langs/ca_ES/knowledgemanagement.lang @@ -37,19 +37,13 @@ About = Quant a KnowledgeManagementAbout = Sobre la gestió del coneixement KnowledgeManagementAboutPage = Gestió del coneixement sobre la pàgina -# -# Sample page -# KnowledgeManagementArea = Gestió del coneixement - - -# -# Menu -# MenuKnowledgeRecord = Base de coneixements -ListKnowledgeRecord = List of articles +ListKnowledgeRecord = Llista d'articles NewKnowledgeRecord = Nou article ValidateReply = Validar la solució KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Camps extra per a l'article +GroupOfTicket=Grup de tiquets +YouCanLinkArticleToATicketCategory=Podeu adjuntar un article a un grup de tiquets (per tant, l'article es suggerirà durant la qualificació dels nous tiquets) diff --git a/htdocs/langs/ca_ES/productbatch.lang b/htdocs/langs/ca_ES/productbatch.lang index 4ae913e4918..7677d827ca7 100644 --- a/htdocs/langs/ca_ES/productbatch.lang +++ b/htdocs/langs/ca_ES/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Mostra el registre de moviments de la parella producte/lo StockDetailPerBatch=Detall d’estoc per lot SerialNumberAlreadyInUse=El número de sèrie %s ja s’utilitza per al producte %s TooManyQtyForSerialNumber=Només podeu tenir un producte %s per al número de sèrie %s -BatchLotNumberingModules=Opcions per a la generació automàtica de productes per lots gestionats per lots -BatchSerialNumberingModules=Opcions per a la generació automàtica de productes per lots gestionats per números de sèrie ManageLotMask=Màscara personalitzada -CustomMasks=Afegeix una opció per definir la màscara a la targeta del producte -LotProductTooltip=Afegeix una opció a la targeta de producte per definir una màscara de número de lot dedicada -SNProductTooltip=Afegeix una opció a la targeta del producte per definir una màscara de número de sèrie dedicada +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Quantitat per afegir per a cada codi de barres / lot / sèrie escanejat LifeTime=Vida útil (en dies) EndOfLife=Final de la vida diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index f979f5c076a..8c795d2e6eb 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Preus diferents per cada client PriceCatalogue=Un preu de venda simple per producte/servei PricingRule=Regles per preus de venda AddCustomerPrice=Afegir preus per client -ForceUpdateChildPriceSoc=Indica el mateix preu a les filials dels clients +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Registre de preus de clients anteriors MinimumPriceLimit=El preu mínim no pot ser inferior a %s MinimumRecommendedPrice=El preu mínim recomanat és: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Incrementar/Disminueix estoc en canviar el seu pare ComposedProduct=Productes Fills MinSupplierPrice=Preu mínim de compra MinCustomerPrice=Preu mínim de venda +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Configuració de preu dinàmic DynamicPriceDesc=Podeu definir fórmules matemàtiques per a calcular els preus del client o del proveïdor. Aquestes fórmules poden utilitzar tots els operadors matemàtics, algunes constants i variables. Aquí podeu definir les variables que voleu utilitzar. Si la variable necessita una actualització automàtica, podeu definir l'URL extern per a permetre que Dolibarr actualitzi el valor automàticament. AddVariable=Afegeix variable diff --git a/htdocs/langs/ca_ES/salaries.lang b/htdocs/langs/ca_ES/salaries.lang index 9a3529562d5..3934d30651c 100644 --- a/htdocs/langs/ca_ES/salaries.lang +++ b/htdocs/langs/ca_ES/salaries.lang @@ -17,8 +17,8 @@ TJM=Tarifa mitjana diària CurrentSalary=Salari actual THMDescription=Aquest valor es pot utilitzar per a calcular el cost del temps consumit en un projecte introduït pels usuaris si s'utilitza el mòdul de projecte TJMDescription=Aquest valor només és informatiu i no s'utilitza en cap càlcul -LastSalaries=Últims %s pagaments de salari -AllSalaries=Tots els pagaments de salari +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Estadístiques de salaris -# Export SalariesAndPayments=Salaris i pagaments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ca_ES/ticket.lang b/htdocs/langs/ca_ES/ticket.lang index 5628db3f806..89936f1b6eb 100644 --- a/htdocs/langs/ca_ES/ticket.lang +++ b/htdocs/langs/ca_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Tiquet - Resolució TicketTypeShortCOM=Qüestió comercial TicketTypeShortHELP=Sol·licitud d'ajuda funcional -TicketTypeShortISSUE=Incidència, error o problema +TicketTypeShortISSUE=Incidència o error +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Sol·licitud de canvi o millora TicketTypeShortPROJET=Projecte TicketTypeShortOTHER=Altres @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuari assignat TypeContact_ticket_external_SUPPORTCLI=Contacte de clients / seguiment d'incidents TypeContact_ticket_external_CONTRIBUTOR=Col·laborador extern -OriginEmail=Origen de correu electrònic +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Envia el missatge del tiquet per correu electrònic # Status Read=Llegit Assigned=Assignat InProgress=En progrés -NeedMoreInformation=Esperant informació +NeedMoreInformation=Esperant els comentaris del informador +NeedMoreInformationShort=Esperant comentaris Answered=Respost Waiting=En espera Closed=Tancat @@ -160,7 +162,7 @@ CreatedBy=Creat per NewTicket=Tiquet nou SubjectAnswerToTicket=Resposta de tiquet TicketTypeRequest=Tipus de sol·licitud -TicketCategory=Grup +TicketCategory=Categorització del tiquet SeeTicket=Consultar tiquet TicketMarkedAsRead=Tiquet ha estat marcat com llegit TicketReadOn=Segueix llegint @@ -211,6 +213,7 @@ TicketMessageHelp=Només aquest text es guardarà a la llista de missatges de la TicketMessageSubstitutionReplacedByGenericValues=Les variables de substitució es reemplacen per valors genèrics. TimeElapsedSince=Temps transcorregut des de TicketTimeToRead=Temps transcorregut abans de llegir +TicketTimeElapsedBeforeSince=Temps transcorregut abans / després TicketContacts=Tiquet de contactes TicketDocumentsLinked=Documents vinculats al tiquet ConfirmReOpenTicket=Confirmeu la reobertura d'aquest tiquet? @@ -304,7 +307,7 @@ BoxLastModifiedTicket=Últims tiquets modificats BoxLastModifiedTicketDescription=Últimes entrades modificades %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=No hi ha tiquets modificats recentment -BoxTicketType=Distribution of open tickets by type +BoxTicketType=Distribució dels tiquets oberts per tipus BoxTicketSeverity=Nombre de bitllets oberts per gravetat BoxNoTicketSeverity=No s’ha obert cap entrada BoxTicketLastXDays=Nombre de bitllets nous per dies els darrers %s dies diff --git a/htdocs/langs/ca_ES/users.lang b/htdocs/langs/ca_ES/users.lang index a1cd4e26424..f1317373260 100644 --- a/htdocs/langs/ca_ES/users.lang +++ b/htdocs/langs/ca_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Nom d'usuari a crear NameToCreate=Nom del tercer a crear YourRole=Els seus rols YourQuotaOfUsersIsReached=Ha arribat a la seva quota d'usuaris actius! -NbOfUsers=Nombre d'usuaris -NbOfPermissions=Nombre de permisos +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Només un superadmin pot degradar un superadmin HierarchicalResponsible=Supervisor HierarchicView=Vista jeràrquica diff --git a/htdocs/langs/ca_ES/website.lang b/htdocs/langs/ca_ES/website.lang index 3a67863d70f..77423217fc5 100644 --- a/htdocs/langs/ca_ES/website.lang +++ b/htdocs/langs/ca_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Afegir lloc web Webpage=Pàgina/contenidor web AddPage=Afegeix pàgina/contenidor PageContainer=Pàgina -PreviewOfSiteNotYetAvailable=Vista prèvia del seu lloc web %s encara no està disponible. Primer ha de 'Importar plantilla web' o sols 'Afegir pàgina/contenidor'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=La pàgina sol·licitada amb l'identificador %s encara no té contingut, o el fitxer de memòria cau .tpl.php s'ha eliminat. Edita el contingut de la pàgina per solucionar-ho. SiteDeleted=Lloc web '%s' eliminat PageContent=Pàgina/Contenidor diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index 600c2134442..705459f3449 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interní uživatel ExternalUser=Externí uživatel InternalUsers=Interní uživatelé ExternalUsers=Externí uživatelé +UserInterface=User interface GUISetup=Zobrazení SetupArea=Nastavení UploadNewTemplate=Nahrát novou šablonu(y) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkce není k dispozici ve vašem PHP DownloadMoreSkins=Další skiny ke stažení SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Zobrazit profesionální id s adresami -ShowVATIntaInAddress=Skrýt číslo DPH uvnitř Společenství s adresami +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Částečný překlad MAIN_DISABLE_METEO=Zakázat meteorologický pohled MeteoStdMod=Standardní režim @@ -1778,7 +1779,7 @@ ClickToDialSetup=Klepněte na tlačítko Nastavení vytáčení modulu ClickToDialUrlDesc=Url volal po kliknutí na telefonní pikto. V URL, můžete použít tagy
__PHONETO__ který bude nahrazen s telefonním číslem osoby volat
__PHONEFROM__ , které budou nahrazeny telefonní číslo volajícího (vy)
__LOGIN__ , které budou nahrazeny clicktodial přihlášení (definováno na uživatelské kartě)
__PASS__ , který bude nahrazen heslem pro heslo (definováno na kartě uživatele). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Na telefonních číslech použijte pouze odkaz "tel:" -ClickToDialUseTelLinkDesc=Tuto metodu použijte, pokud mají uživatelé softwarové rozhraní nebo softwarové rozhraní nainstalované ve stejném počítači jako prohlížeč a volaly po kliknutí na odkaz v prohlížeči, který začíná na "tel:". Pokud potřebujete úplné řešení serveru (není potřeba lokální instalace softwaru), musíte jej nastavit na "Ne" a vyplnit další pole. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Prodejní místa CashDeskSetup=Nastavení modulu Prodejní místo @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Doporučené +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/cs_CZ/banks.lang b/htdocs/langs/cs_CZ/banks.lang index c252b7c5891..e4f8f823384 100644 --- a/htdocs/langs/cs_CZ/banks.lang +++ b/htdocs/langs/cs_CZ/banks.lang @@ -115,7 +115,7 @@ TransferTo=Na TransferFromToDone=Převod z %s na %s %s %s byl zaznamenán. CheckTransmitter=Odesílatel ValidateCheckReceipt=Ověřit potvrzení o kontrole? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Chcete smazat potvrzení o kontrole? ConfirmDeleteCheckReceipt=Opravdu chcete tuto potvrzení o potvrzení vymazat? BankChecks=Bankovní šeky diff --git a/htdocs/langs/cs_CZ/boxes.lang b/htdocs/langs/cs_CZ/boxes.lang index dda43454d4b..c5606e7012a 100644 --- a/htdocs/langs/cs_CZ/boxes.lang +++ b/htdocs/langs/cs_CZ/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Objednávky dodavatele: poslední %s změn BoxTitleLastModifiedCustomerBills=Zákaznické faktury: poslední změna %s BoxTitleLastModifiedCustomerOrders=Prodejní objednávky: poslední %s změny BoxTitleLastModifiedPropals=Poslední modifikované návrhy %s -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Zákaznické faktury ForCustomersOrders=Zákaznické objednávky ForProposals=Nabídky diff --git a/htdocs/langs/cs_CZ/cashdesk.lang b/htdocs/langs/cs_CZ/cashdesk.lang index 75c5d6e7806..9b1678106d2 100644 --- a/htdocs/langs/cs_CZ/cashdesk.lang +++ b/htdocs/langs/cs_CZ/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/cs_CZ/deliveries.lang b/htdocs/langs/cs_CZ/deliveries.lang index e38b668da7f..5941d685f1b 100644 --- a/htdocs/langs/cs_CZ/deliveries.lang +++ b/htdocs/langs/cs_CZ/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Příjemce ErrorStockIsNotEnough=Dostatečné množství není skladem Shippable=Doručitelné NonShippable=Nedoručitelné +ShowShippableStatus=Show shippable status ShowReceiving=Zobrazit potvrzení o doručení NonExistentOrder=Neexistující objednávka +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index ea6b6c3ebb9..315df28cd99 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/cs_CZ/eventorganization.lang b/htdocs/langs/cs_CZ/eventorganization.lang index e1e7aade295..6b4eacb533e 100644 --- a/htdocs/langs/cs_CZ/eventorganization.lang +++ b/htdocs/langs/cs_CZ/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Typ události +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/cs_CZ/exports.lang b/htdocs/langs/cs_CZ/exports.lang index 34c0d9b41d6..f185c884609 100644 --- a/htdocs/langs/cs_CZ/exports.lang +++ b/htdocs/langs/cs_CZ/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Použitý typ řádku (0 = produkt, 1 = služba) FileWithDataToImport=Soubor s daty pro import FileToImport=Zdrojový soubor k importu FileMustHaveOneOfFollowingFormat=Importovaný soubor musí mít jeden z následujících formátů -DownloadEmptyExample=Stáhnout soubor šablony s informacemi o obsahu pole (* jsou povinná pole) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Vyberte formát souboru, který chcete použít jako formát souboru importu klepnutím na ikonu %s pro jeho výběr ... ChooseFileToImport=Pro nahrání souboru klepněte na ikonku %s pro výběr souboru jako zdrojový soubor importu ... SourceFileFormat=Zdrojový soubor diff --git a/htdocs/langs/cs_CZ/install.lang b/htdocs/langs/cs_CZ/install.lang index 0c9f0d9bff9..598d086878f 100644 --- a/htdocs/langs/cs_CZ/install.lang +++ b/htdocs/langs/cs_CZ/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrace fotografických cest pro uživatele MigrationFieldsSocialNetworks=Migrace uživatelů v sociálních sítích (%s) MigrationReloadModule=Načíst modul %s MigrationResetBlockedLog=Resetovat modul BlockedLog pro algoritmus v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Zobrazit nedostupné volby HideNotAvailableOptions=Skrýt nedostupné možnosti ErrorFoundDuringMigration=Byly hlášeny chyb(a)y během procesu migrace, takže další krok není k dispozici. Chcete-li ignorovat chyby, můžete kliknout zde , ale aplikace nebo některé funkce nemusí pracovat správně, dokud nejsou chyby vyřešeny. diff --git a/htdocs/langs/cs_CZ/interventions.lang b/htdocs/langs/cs_CZ/interventions.lang index f9dc01287b0..44e1d44bfa5 100644 --- a/htdocs/langs/cs_CZ/interventions.lang +++ b/htdocs/langs/cs_CZ/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Linka trvání intervence InterLineDesc=Linka popis intervence RepeatableIntervention=Šablona intervence ToCreateAPredefinedIntervention=Chcete-li vytvořit předdefinovaný nebo opakující se zásah, vytvořte společný zásah a převeďte jej na intervenční šablonu +Reopen=Znovu otevřeno +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/cs_CZ/productbatch.lang b/htdocs/langs/cs_CZ/productbatch.lang index 4c8a725536a..845886c1365 100644 --- a/htdocs/langs/cs_CZ/productbatch.lang +++ b/htdocs/langs/cs_CZ/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Zobrazit log pohybů šarží produktu StockDetailPerBatch=Zásoby dané šarže SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/cs_CZ/products.lang b/htdocs/langs/cs_CZ/products.lang index 89184f2e345..4629fa9065d 100644 --- a/htdocs/langs/cs_CZ/products.lang +++ b/htdocs/langs/cs_CZ/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Různé ceny pro každého zákazníka PriceCatalogue=Unikátní cena pro produkt/službu PricingRule=Pravidla pro prodejní ceny AddCustomerPrice=Přidejte cenu pro zákazníka -ForceUpdateChildPriceSoc=Nastavit stejné ceny pro dceřiné společnosti zákazníka +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Protokol o cenách předchozího zákazníka MinimumPriceLimit=Minimální cena nesmí být nižší než %s MinimumRecommendedPrice=Minimální doporučená cena je: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Zvýšit/snížit zásoby na výchozí změny ComposedProduct=Subprodukt MinSupplierPrice=Minimální nákupní cena MinCustomerPrice=Minimální prodejní cena +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamická konfigurace cen DynamicPriceDesc=Můžete definovat matematické vzorce pro výpočet cen zákazníků nebo prodejců. Takové vzorce mohou používat všechny matematické operátory, některé konstanty a proměnné. Zde můžete definovat proměnné, které chcete použít. Pokud proměnná potřebuje automatickou aktualizaci, můžete definovat externí URL, aby Dolibarr umožnil automatickou aktualizaci hodnoty. AddVariable=Přidat proměnnou diff --git a/htdocs/langs/cs_CZ/salaries.lang b/htdocs/langs/cs_CZ/salaries.lang index 3e5a2453e89..1e6e5c2d90c 100644 --- a/htdocs/langs/cs_CZ/salaries.lang +++ b/htdocs/langs/cs_CZ/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Účtovací účet používaný pro třetí strany SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Účelový účet určený na uživatelské kartě bude použit pouze pro účetnictví společnosti Subledger. Ten bude použit pro hlavní knihu a jako výchozí hodnota účtování společnosti Subledger, pokud není určen uživatelský účtovací účet pro uživatele. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Účtovací účet je výchozí pro mzdové platby +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mzda Salaries=Mzdy -NewSalaryPayment=Nová platba mzdy +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Přidat platbu SalaryPayment=Platba mzdy SalariesPayments=Platby mezd +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Ukázat platbu mzdy THM=Průměrná hodinová sazba TJM=Průměrná denní sazba CurrentSalary=Současná mzda THMDescription=Tato hodnota může být použita pro výpočet nákladů na čas strávený na projektu zadaný uživateli, pokud je použit modul projektu TJMDescription=Tato hodnota je momentálně pouze informativní a nepoužívá se pro výpočet -LastSalaries=Posledních %s plateb -AllSalaries=Všechny mzdové platby +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Statistika platů -# Export SalariesAndPayments=Platy a platby +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/cs_CZ/ticket.lang b/htdocs/langs/cs_CZ/ticket.lang index 69f40d1c0ac..5469bfa567a 100644 --- a/htdocs/langs/cs_CZ/ticket.lang +++ b/htdocs/langs/cs_CZ/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Vstupenka - rozlišení TicketTypeShortCOM=Obchodní otázka TicketTypeShortHELP=Žádost o funkční pomoc -TicketTypeShortISSUE=Problém, chyba nebo problém +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Žádost o změnu nebo vylepšení TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Jiný @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Přiřazený uživatel TypeContact_ticket_external_SUPPORTCLI=Kontakt zákazníka / sledování incidentů TypeContact_ticket_external_CONTRIBUTOR=Externí přispěvatel -OriginEmail=Zdroj e-mailu +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Odeslat e-mailem zprávu o lince # Status Read=Číst Assigned=Přidělené InProgress=probíhá -NeedMoreInformation=Čekání na informace +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Odpovězeno Waiting=Čekání Closed=Zavřeno @@ -160,7 +162,7 @@ CreatedBy=Vytvořil NewTicket=Nová vstupenka SubjectAnswerToTicket=Odpověď na lístek TicketTypeRequest=Typ požadavku -TicketCategory=Skupina +TicketCategory=Ticket categorization SeeTicket=Viz lístek TicketMarkedAsRead=Lístek byl označen jako přečtený TicketReadOn=Číst dál @@ -211,6 +213,7 @@ TicketMessageHelp=Pouze tento text bude uložen do seznamu zpráv na kartě lís TicketMessageSubstitutionReplacedByGenericValues=Substituční proměnné jsou nahrazeny obecnými hodnotami. TimeElapsedSince=Čas uplynul od TicketTimeToRead=Čas uplynul před čtením +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kontaktní lístek TicketDocumentsLinked=Dokumenty spojené s lístkem ConfirmReOpenTicket=Potvrďte znovutevření tento lístek? diff --git a/htdocs/langs/cs_CZ/users.lang b/htdocs/langs/cs_CZ/users.lang index 0c355b7432e..0c8f9bcfb33 100644 --- a/htdocs/langs/cs_CZ/users.lang +++ b/htdocs/langs/cs_CZ/users.lang @@ -97,8 +97,8 @@ LoginToCreate=K vytvoření je potřeba se přihlásit NameToCreate=Název třetí strany k vytvoření YourRole=Vaše role YourQuotaOfUsersIsReached=Vaše kvóta aktivních uživatelů je dosažena! -NbOfUsers=Počet uživatelů -NbOfPermissions=Počet oprávnění +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Pouze superadmin může ponížit superadmina HierarchicalResponsible=Supervizor HierarchicView=Hierarchické zobrazení diff --git a/htdocs/langs/cs_CZ/website.lang b/htdocs/langs/cs_CZ/website.lang index fdd8e7b9a79..a5c50c6b52a 100644 --- a/htdocs/langs/cs_CZ/website.lang +++ b/htdocs/langs/cs_CZ/website.lang @@ -31,7 +31,7 @@ AddWebsite=Přidat webovou stránku Webpage=Webová stránka / kontejner AddPage=Přidat stránku / kontejner PageContainer=Strana -PreviewOfSiteNotYetAvailable=Náhled vašeho webu %s zatím není k dispozici. Nejprve musíte ' Importovat celou šablonu webových stránek ' nebo jen ' Přidat stránku / kontejner '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Požadovaná stránka s ID %s nemá dosud žádný obsah nebo byl odstraněn soubor cache .tpl.php. Upravte obsah stránky pro vyřešení tohoto problému. SiteDeleted=Webová stránka '%s' byla smazána PageContent=Stránka / Contenair diff --git a/htdocs/langs/da_DK/accountancy.lang b/htdocs/langs/da_DK/accountancy.lang index 374c373fffe..4153f9133a9 100644 --- a/htdocs/langs/da_DK/accountancy.lang +++ b/htdocs/langs/da_DK/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Lande ikke i EU CountriesInEECExceptMe=Lande i EU undtagen %s CountriesExceptMe=Alle lande undtagen %s AccountantFiles=Eksporter kildedokumenter -ExportAccountingSourceDocHelp=Med dette værktøj kan du eksportere de kildehændelser (liste og PDF-filer), der blev brugt til at generere din regnskab. For at eksportere dine tidsskrifter skal du bruge menuindgangen %s - %s. +ExportAccountingSourceDocHelp=Med dette værktøj kan du eksportere de kildehændelser (liste i CSV og PDF-filer), der blev brugt til at generere din regnskab. +ExportAccountingSourceDocHelp2=For at eksportere dine tidsskrifter skal du bruge menuindgangen %s - %s. VueByAccountAccounting=Vis efter regnskabskonto VueBySubAccountAccounting=Vis efter regnskabsmæssig underkonto diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index 060f9b2a504..aab902e6f74 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Intern bruger ExternalUser=Ekstern bruger InternalUsers=Interne brugere ExternalUsers=Eksterne brugere +UserInterface=User interface GUISetup=Udseende SetupArea=Indstillinger UploadNewTemplate=Upload nye skabelon(er) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL-funktioner ikke er tilgængelige i dit PHP DownloadMoreSkins=Find flere skind på Dolistore.com SimpleNumRefModelDesc=Returnerer referencenummeret i formatet %syymm-nnnn hvor yy er året, mm er måneden og nnnn er et sekventielt auto-stigende nummer uden nulstilling SimpleNumRefNoDateModelDesc=Returnerer referencenummeret i formatet %s-nnnn hvor nnnn er et sekventielt automatisk stigende nummer uden nulstilling -ShowProfIdInAddress=Vis professionelt id med adresser -ShowVATIntaInAddress=Skjul momsregistreringsnummer i Fællesskabet med adresser +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Delvis oversættelse MAIN_DISABLE_METEO=Deaktiver meteorologisk visning MeteoStdMod=Standard-tilstand aktiveret @@ -1778,7 +1779,7 @@ ClickToDialSetup=Opsætning af Klik-for-at-ringe-modulet ClickToDialUrlDesc=Url kaldes, når man klikke på telefon billed. I URL kan du bruge tags
__ PHONETO __ , der vil blive erstattet med telefonnummeret til den person, der skal ringe
__ PHONEFROM __ , der vil blive erstattet med telefonnummeret til opkaldet person (din)
__ LOGIN __ , der vil blive erstattet med clicktodial login (defineret på brugerkort)
__ PASS __ , der vil blive erstattet med clicktodial adgangskode (defineret på bruger kort). ClickToDialDesc=Dette modul ændrer telefonnumre, når du bruger en stationær computer, til klikbare links. Et klik ringer op til nummeret. Dette kan bruges til at starte telefonopkaldet, når du bruger en blød telefon på skrivebordet eller når du f.eks. Bruger et CTI-system baseret på SIP-protokol. Bemærk: Når du bruger en smartphone, er telefonnumre altid klikbare. ClickToDialUseTelLink=Brug kun et link "tel:" på telefonnumre -ClickToDialUseTelLinkDesc=Brug denne metode, hvis dine brugere har en softphone eller en software-grænseflade installeret på samme computer som browseren, og kaldes, når du klikker på et link i din browser, der starter med "tel:". Hvis du har brug for en fuld serverløsning (uden brug af lokal softwareinstallation), skal du indstille dette til "Nej" og udfylde næste felt. +ClickToDialUseTelLinkDesc=Brug denne metode, hvis dine brugere har en softphone eller et softwaregrænseflade, installeret på den samme computer som browseren og kaldes, når du klikker på et link, der starter med "tel:" i din browser. Hvis du har brug for et link, der starter med "sip:" eller en komplet serverløsning (intet behov for lokal softwareinstallation), skal du indstille dette til "Nej" og udfylde næste felt. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Opsætning af Point of Sales-modul @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Bortset fra hvis du har brug for at PHPFunctionsRequiredForCLI=Til shell-formål (som planlagt jobbackup eller kørsel af et anitivurs-program) skal du beholde PHP-funktioner NoWritableFilesFoundIntoRootDir=Ingen skrivbare filer eller mapper til de almindelige programmer blev fundet i din rodkatalog (God) RecommendedValueIs=Anbefalet: %s -NotRecommended=Ikke anbefalet +Recommended=Anbefalet +NotRecommended=Not recommended ARestrictedPath=En begrænset sti CheckForModuleUpdate=Se efter opdateringer til eksterne moduler CheckForModuleUpdateHelp=Denne handling opretter forbindelse til redaktører for eksterne moduler for at kontrollere, om en ny version er tilgængelig. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Du aktiverede forældet WS API. Du s RandomlySelectedIfSeveral=Valgt tilfældigt, hvis der er flere billeder tilgængelige DatabasePasswordObfuscated=Databaseadgangskode er tilsløret i conf-fil DatabasePasswordNotObfuscated=Databaseadgangskode er IKKE tilsløret i conf-fil +APIsAreNotEnabled=API-moduler er ikke aktiveret +YouShouldSetThisToOff=Du skal indstille dette til 0 eller fra diff --git a/htdocs/langs/da_DK/banks.lang b/htdocs/langs/da_DK/banks.lang index f40da8a80f3..66976d5916c 100644 --- a/htdocs/langs/da_DK/banks.lang +++ b/htdocs/langs/da_DK/banks.lang @@ -115,7 +115,7 @@ TransferTo=Til TransferFromToDone=En overførsel fra %s til %s af %s %s er blevet optaget. CheckTransmitter=Sender ValidateCheckReceipt=Bekræft denne kvitteringskvittering? -ConfirmValidateCheckReceipt=Er du sikker på, at du vil indsende denne checkkvittering til validering? Ingen ændringer er mulige, det er gjort. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Slet denne kvittering for kvittering? ConfirmDeleteCheckReceipt=Er du sikker på, at du vil slette denne kvittering for kvittering? BankChecks=Bankcheck diff --git a/htdocs/langs/da_DK/boxes.lang b/htdocs/langs/da_DK/boxes.lang index 7d3af76778e..f5948e8f72d 100644 --- a/htdocs/langs/da_DK/boxes.lang +++ b/htdocs/langs/da_DK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Leverandør Ordrer: senest %s ændret BoxTitleLastModifiedCustomerBills=Kundefakturaer: sidst %s ændret BoxTitleLastModifiedCustomerOrders=Salgsordrer: sidst %s ændret BoxTitleLastModifiedPropals=Seneste %s tilrettede tilbud -BoxTitleLatestModifiedJobPositions=Seneste %s ændrede job -BoxTitleLatestModifiedCandidatures=Seneste %s ændrede kandidaturer +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Kundernes fakturaer ForCustomersOrders=Customers orders ForProposals=Tilbud diff --git a/htdocs/langs/da_DK/cashdesk.lang b/htdocs/langs/da_DK/cashdesk.lang index d8b9c57f74d..11448c5488a 100644 --- a/htdocs/langs/da_DK/cashdesk.lang +++ b/htdocs/langs/da_DK/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Tillad forsinket betaling PrintPaymentMethodOnReceipts=Udskriv betalingsmetode på billetter | kvitteringer WeighingScale=Vægt skala ShowPriceHT = Vis kolonnen med prisen ekskl. Moms (på skærmen) -ShowPriceHTOnReceipt = Vis kolonnen med prisen ekskl. Moms (ved modtagelse) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/da_DK/deliveries.lang b/htdocs/langs/da_DK/deliveries.lang index d4ea903643c..f5bb5bc9ae1 100644 --- a/htdocs/langs/da_DK/deliveries.lang +++ b/htdocs/langs/da_DK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Modtager ErrorStockIsNotEnough=Der er ikke nok lager Shippable=Fragtvarer NonShippable=Kan ikke sendes +ShowShippableStatus=Vis status, der kan sendes ShowReceiving=Vis leverings kvittering NonExistentOrder=ikke-eksisterende ordre +StockQuantitiesAlreadyAllocatedOnPreviousLines = Lagermængder, der allerede er tildelt på tidligere linjer diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index e91ac6ea87f..b5b51ba5676 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Brugerens ejer kræves ErrorActionCommBadType=Den valgte hændelsestype (id: %n, kode: %s) findes ikke i begivenhedstypeordbogen CheckVersionFail=Versionskontrol mislykkedes ErrorWrongFileName=Filens navn kan ikke indeholde __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Ikke i ordbogen om betalingsbetingelser, bedes du ændre. diff --git a/htdocs/langs/da_DK/eventorganization.lang b/htdocs/langs/da_DK/eventorganization.lang index c3c40ad2289..0829cb87e9c 100644 --- a/htdocs/langs/da_DK/eventorganization.lang +++ b/htdocs/langs/da_DK/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS-link EVENTORGANIZATION_SECUREKEY = Sikker nøgle til linket til offentlig registrering til en konference SERVICE_BOOTH_LOCATION = Service, der bruges til fakturarække om en standplacering SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service, der bruges til fakturarække om et deltagerabonnement på en konference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Denne konference starter på %s og slutter på %s. ConferenceAttendeeFee = Konferencedeltagergebyr for begivenheden: '%s', der forekommer fra %s til %s. BoothLocationFee = Standplacering for begivenheden: '%s' der forekommer fra %s til %s EventType = Begivenhedstype +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/da_DK/exports.lang b/htdocs/langs/da_DK/exports.lang index 3b1b4072def..374aad967a5 100644 --- a/htdocs/langs/da_DK/exports.lang +++ b/htdocs/langs/da_DK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Strækningstype (0= produkt, 1= tjeneste) FileWithDataToImport=Fil med data til at importere FileToImport=Kildefilen til at importere FileMustHaveOneOfFollowingFormat=Fil, der skal importeres, skal have et af følgende formater -DownloadEmptyExample=Download skabelonfil med feltindholdsinformation (* er obligatoriske felter) +DownloadEmptyExample=Download skabelonfil med feltindholdsoplysninger +StarAreMandatory=* er obligatoriske felter ChooseFormatOfFileToImport=Vælg det filformat, der skal bruges som importfilformat, ved at klikke på ikonet %s for at vælge det ... ChooseFileToImport=Upload fil og klik derefter på ikonet %s for at vælge fil som kilde importfil ... SourceFileFormat=Kilde filformat diff --git a/htdocs/langs/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index 202e7f17fc7..3814996ecda 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration af foto stier til brugere MigrationFieldsSocialNetworks=Migration af brugerfelter sociale netværk (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Nulstil modul BlockedLog for v7 algoritme +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Vis utilgængelige muligheder HideNotAvailableOptions=Skjul utilgængelige muligheder ErrorFoundDuringMigration=Fejl (er) blev rapporteret under migrationsprocessen, så næste trin er ikke tilgængeligt. For at ignorere fejl kan du klikke her , men programmet eller nogle funktioner fungerer muligvis ikke korrekt, før fejlene er løst. diff --git a/htdocs/langs/da_DK/interventions.lang b/htdocs/langs/da_DK/interventions.lang index af56ebe197c..fbb71445739 100644 --- a/htdocs/langs/da_DK/interventions.lang +++ b/htdocs/langs/da_DK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Linje varighed indgreb InterLineDesc=Line beskrivelse af ingreb RepeatableIntervention=Skabelon for intervention ToCreateAPredefinedIntervention=For at oprette en foruddefineret eller tilbagevendende intervention skal du oprette en fælles intervention og konvertere den til interventionsskabelon +Reopen=Genåben +ConfirmReopenIntervention=Er du sikker på, at du vil åbne interventionen %s ? diff --git a/htdocs/langs/da_DK/knowledgemanagement.lang b/htdocs/langs/da_DK/knowledgemanagement.lang index fbd9de8b1ee..b3035583a95 100644 --- a/htdocs/langs/da_DK/knowledgemanagement.lang +++ b/htdocs/langs/da_DK/knowledgemanagement.lang @@ -37,15 +37,7 @@ About = Om KnowledgeManagementAbout = Om Knowledge Management KnowledgeManagementAboutPage = Videnstyring om side -# -# Sample page -# KnowledgeManagementArea = Videnshåndtering - - -# -# Menu -# MenuKnowledgeRecord = Videnbase ListKnowledgeRecord = Liste over artikler NewKnowledgeRecord = Ny artikel @@ -53,3 +45,5 @@ ValidateReply = Valider løsning KnowledgeRecords = Artikler KnowledgeRecord = Artikel KnowledgeRecordExtraFields = Ekstra felter til artikel +GroupOfTicket=Gruppe af billetter +YouCanLinkArticleToATicketCategory=Du kan linke en artikel til en billetgruppe (så artiklen vil blive foreslået under kvalificeringen af nye billetter) diff --git a/htdocs/langs/da_DK/languages.lang b/htdocs/langs/da_DK/languages.lang index bf7456b4cfd..1ca08b5f366 100644 --- a/htdocs/langs/da_DK/languages.lang +++ b/htdocs/langs/da_DK/languages.lang @@ -4,6 +4,7 @@ Language_ar_AR=Arabisk Language_ar_EG=Arabisk (Egypten) Language_ar_SA=Arabisk Language_ar_TN=Arabisk (Tunesien) +Language_ar_IQ=Arabisk (Irak) Language_az_AZ=Aserbajdsjansk Language_bn_BD=Bengali Language_bn_IN=Bengali (Indien) @@ -83,6 +84,7 @@ Language_ne_NP=nepalesisk Language_nl_BE=Hollandsk (Belgien) Language_nl_NL=Hollandske Language_pl_PL=Polsk +Language_pt_AO=Portugisisk (Angola) Language_pt_BR=Portugisisk (Brasilien) Language_pt_PT=Portugisisk Language_ro_MD=Rumænsk (Moldavien) diff --git a/htdocs/langs/da_DK/productbatch.lang b/htdocs/langs/da_DK/productbatch.lang index 2e7ce5d269b..247a697d078 100644 --- a/htdocs/langs/da_DK/productbatch.lang +++ b/htdocs/langs/da_DK/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Vis log af bevægelser for par produkt / partiSerie StockDetailPerBatch=Lager detaljer pr. Parti Serie SerialNumberAlreadyInUse=Serienummer %s bruges allerede til produkt %s TooManyQtyForSerialNumber=Du kan kun have et produkt %s til serienummer %s -BatchLotNumberingModules=Valgmuligheder til automatisk generering af batchprodukter, der administreres af partier -BatchSerialNumberingModules=Valgmuligheder til automatisk generering af batchprodukter styret af serienumre ManageLotMask=Brugerdefineret maske -CustomMasks=Tilføjer en mulighed for at definere maske på produktkortet -LotProductTooltip=Tilføjer en mulighed på produktkortet for at definere en dedikeret batchnummermaske -SNProductTooltip=Tilføjer en mulighed på produktkortet for at definere en dedikeret serienummermaske +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Mængde, der skal tilføjes for hver stregkode / parti / seriel scannet LifeTime=Levetid (i dage) EndOfLife=udløbet på dato diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index 0daacebcd03..d1400e80b09 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Forskellige priser for hver kunde PriceCatalogue=En enkelt salgspris pr. Produkt / service PricingRule=Regler for salgspriser AddCustomerPrice=Tilføj pris ved kunde -ForceUpdateChildPriceSoc=Indstil samme pris på kundernes datterselskaber +ForceUpdateChildPriceSoc=Angiv samme pris på kundens datterselskaber PriceByCustomerLog=Log af tidligere kundepriser MinimumPriceLimit=Minimumsprisen kan ikke være lavere end %s MinimumRecommendedPrice=Minimum anbefalet pris er: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Forøg / sænk lagerbeholdning ved forældreændring ComposedProduct=Børneprodukter MinSupplierPrice=Min købskurs MinCustomerPrice=Mindste salgspris +NoDynamicPrice=Ingen dynamisk pris DynamicPriceConfiguration=Dynamisk priskonfiguration DynamicPriceDesc=Du kan definere matematiske formler til beregning af kunde- eller leverandørpriser. Sådanne formler kan bruge alle matematiske operatorer, nogle konstanter og variabler. Du kan her definere de variabler, du vil bruge. Hvis variablen har brug for en automatisk opdatering, kan du definere den eksterne URL, så Dolibarr kan opdatere værdien automatisk. AddVariable=Tilføj variabel @@ -340,7 +341,7 @@ ProductSheet=Vareside ServiceSheet=Serviceblad PossibleValues=Mulige værdier GoOnMenuToCreateVairants=Gå på menu %s - %s for at forberede attributvarianter (som farver, størrelse, ...) -UseProductFournDesc=Tilføj en funktion til at definere beskrivelser af produkter, der er defineret af leverandørerne, ud over beskrivelser til kunder +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers 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 diff --git a/htdocs/langs/da_DK/salaries.lang b/htdocs/langs/da_DK/salaries.lang index e1a7521bd8b..a947dfee1a3 100644 --- a/htdocs/langs/da_DK/salaries.lang +++ b/htdocs/langs/da_DK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Regnskabskonto bruges til tredjepart SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Den dedikerede regnskabskonto, der er defineret på brugerkort, vil kun blive anvendt til underledere. Denne vil blive brugt til General Ledger og som standardværdi for Subledger regnskab, hvis dedikeret brugerregnskabskonto på bruger ikke er defineret. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Regnskabskonto som standard for lønudbetalinger +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Lad som standard tomt være indstillingen "Opret automatisk en samlet betaling", når du opretter en løn Salary=Løn Salaries=Løn -NewSalaryPayment=Ny lønbetaling +NewSalary=Ny løn +NewSalaryPayment=Nyt lønkort AddSalaryPayment=Tilføj lønbetaling SalaryPayment=Løn betaling SalariesPayments=Lønudbetalinger +SalariesPaymentsOf=Lønudbetalinger på %s ShowSalaryPayment=Vis lønbetaling THM=Gennemsnitlig timepris TJM=Gennemsnitlig dagspris CurrentSalary=Nuværende løn THMDescription=Denne værdi kan bruges til at beregne omkostningerne til den tid, der er forbrugt på et projekt, der er indtastet af brugere, hvis modulprojektet bruges TJMDescription=Denne værdi er i øjeblikket kun til information og bruges ikke til nogen beregning -LastSalaries=Seneste %s lønbetalinger -AllSalaries=Alle lønudbetalinger +LastSalaries=Seneste %s lønninger +AllSalaries=Alle lønninger SalariesStatistics=Lønstatistik -# Export SalariesAndPayments=Løn og betalinger +ConfirmDeleteSalaryPayment=Vil du slette denne lønudbetaling? diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index 5cfede398e2..05a8fbbf978 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -60,7 +60,7 @@ EnhancedValueOfWarehouses=Lager værdi UserWarehouseAutoCreate=Opret et brugerlager automatisk, når du opretter en bruger AllowAddLimitStockByWarehouse=Administrer også værdi for minimum og ønsket lager pr. Parring (produktlager) ud over værdien for minimum og ønsket lager pr. Produkt RuleForWarehouse=Regel for lagre -WarehouseAskWarehouseOnThirparty=Indstil et lager på tredjepart +WarehouseAskWarehouseOnThirparty=Indstil et lager på tredjeparter WarehouseAskWarehouseDuringPropal=Sæt et lager på kommercielle forslag WarehouseAskWarehouseDuringOrder=Indstil et lager med salgsordrer UserDefaultWarehouse=Indstil et lager til brugere @@ -167,8 +167,8 @@ MovementTransferStock=Lageroverførsel af produkt %s til et andet lager InventoryCodeShort=Inv./Mov. kode NoPendingReceptionOnSupplierOrder=Ingen afventende modtagelse på grund af åben indkøbsordre ThisSerialAlreadyExistWithDifferentDate=Dette parti / serienummer ( %s ) eksisterer allerede, men med forskellige eatby eller sellby dato (fundet %s men du skrev %s ) -OpenAll=Åbn for alle handlinger -OpenInternal=Åben kun for interne handlinger +OpenAnyMovement=Åben (alle bevægelser) +OpenInternal=Åben (kun intern bevægelse) UseDispatchStatus=Brug en forsendelsesstatus (godkend / afvis) til produktlinjer ved modtagelse af indkøbsordrer OptionMULTIPRICESIsOn=Mulighed for "flere priser pr. Segment" er på. Det betyder, at et produkt har flere salgspriser, så værdien til salg ikke kan beregnes ProductStockWarehouseCreated=Lagergrænse for alarm og ønsket optimal lager korrekt oprettet diff --git a/htdocs/langs/da_DK/ticket.lang b/htdocs/langs/da_DK/ticket.lang index d668d4dabb9..059ca7abeb4 100644 --- a/htdocs/langs/da_DK/ticket.lang +++ b/htdocs/langs/da_DK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Opgave - Afsluttet TicketTypeShortCOM=Kommercielt spørgsmål TicketTypeShortHELP=Anmodning om hjælp -TicketTypeShortISSUE=Problem, fejl eller problemer +TicketTypeShortISSUE=Problem eller fejl +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Skift eller anmodning om forbedring TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Andre @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Tildelt bruger TypeContact_ticket_external_SUPPORTCLI=Kundekontakt / hændelsesporing TypeContact_ticket_external_CONTRIBUTOR=Ekstern bidragyder -OriginEmail=Email kilde +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send opgaver besked via Email # Status Read=Læs Assigned=Tildelt InProgress=I gang -NeedMoreInformation=Venter på information +NeedMoreInformation=Venter på reporterfeedback +NeedMoreInformationShort=Venter på feedback Answered=Besvaret Waiting=Venter Closed=Lukket @@ -160,7 +162,7 @@ CreatedBy=Lavet af NewTicket=Ny opgave SubjectAnswerToTicket=Opgave svar TicketTypeRequest=Anmodningstype -TicketCategory=Gruppe +TicketCategory=Billetkategorisering SeeTicket=Se opgave TicketMarkedAsRead=Opgaven er blevet markeret som læst TicketReadOn=Læs videre @@ -211,6 +213,7 @@ TicketMessageHelp=Kun denne tekst gemmes i meddelelseslisten på billetkort. TicketMessageSubstitutionReplacedByGenericValues=Substitutionsvariabler erstattes af generiske værdier. TimeElapsedSince=Tid forløbet siden TicketTimeToRead=Tid forløbet før læst +TicketTimeElapsedBeforeSince=Forløbet tid før / siden TicketContacts=Kontakter billet TicketDocumentsLinked=Dokumenter knyttet til opgaven ConfirmReOpenTicket=Bekræft genåbne denne opgave? diff --git a/htdocs/langs/da_DK/website.lang b/htdocs/langs/da_DK/website.lang index 2d3cc4092de..0b117152cc5 100644 --- a/htdocs/langs/da_DK/website.lang +++ b/htdocs/langs/da_DK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Tilføj hjemmeside Webpage=Webside / container AddPage=Tilføj side / container PageContainer=Side -PreviewOfSiteNotYetAvailable=Forhåndsvisning af dit websted %s endnu ikke tilgængeligt. Du skal først Importer en fuld hjemmeside skabelon 'eller bare Tilføj en side / container '. +PreviewOfSiteNotYetAvailable=Eksempelvisningen af dit websted %s er endnu ikke tilgængelig. Du skal først ' Importere en komplet webstedsskabelon ' eller bare ' Tilføj en side / container '. RequestedPageHasNoContentYet=Den ønskede side med id %s har intet indhold endnu, eller cache-filen .tpl.php blev fjernet. Rediger indholdet på siden for at løse dette. SiteDeleted=Webstedet '%s' slettet PageContent=Side / Indhold diff --git a/htdocs/langs/de_AT/products.lang b/htdocs/langs/de_AT/products.lang index 2be4012b705..b1d6d08721c 100644 --- a/htdocs/langs/de_AT/products.lang +++ b/htdocs/langs/de_AT/products.lang @@ -30,5 +30,4 @@ ListProductByPopularity=Liste der Produkte/Services nach Beliebtheit ListServiceByPopularity=Liste der Services nach Beliebtheit Finished=Eigenerzeugung NewRefForClone=Artikel Nr. des neuen Produkts/Services -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PMPValue=Warenwert diff --git a/htdocs/langs/de_AT/ticket.lang b/htdocs/langs/de_AT/ticket.lang index cdbb16efe30..05da15d6036 100644 --- a/htdocs/langs/de_AT/ticket.lang +++ b/htdocs/langs/de_AT/ticket.lang @@ -1,7 +1,3 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information Waiting=Wartestellung Closed=geschlossen -TicketCategory=Group diff --git a/htdocs/langs/de_CH/accountancy.lang b/htdocs/langs/de_CH/accountancy.lang index 54d62648afc..1252de13360 100644 --- a/htdocs/langs/de_CH/accountancy.lang +++ b/htdocs/langs/de_CH/accountancy.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - accountancy Accountancy=Rechnungswesen -ACCOUNTING_EXPORT_SEPARATORCSV=Spaltentrennzeichen ACCOUNTING_EXPORT_DATE=Datumsformat für Exportdatei ACCOUNTING_EXPORT_PIECE=Exportiere die Anzahl Teile ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Exportiere mit Globalkonto @@ -13,8 +12,11 @@ ACCOUNTING_EXPORT_ENDLINE=Wähle das Steuerzeichen für den Wagenrücklauf (Carr ACCOUNTING_EXPORT_PREFIX_SPEC=Wähle dein Präfix für den Dateinamen DefaultForService=Standard für Leistungen DefaultForProduct=Standard für Produkte +ProductForThisThirdparty=Produkt für diesen Geschäftspartner +ServiceForThisThirdparty=Dienstleistung für diesen Geschäftspartner CantSuggest=Ich habe keinen Vorschlag AccountancySetupDoneFromAccountancyMenu=Die meisten Einstellungen der Buchhaltung setzt du im Menu %s +ConfigAccountingExpert=Einstellungen für das Modul Buchhaltung (Doppelte Buchhaltung) Journalization=Journalisierung JournalFinancial=Finanzjournal BackToChartofaccounts=Zeige Kontenrahmen @@ -34,7 +36,10 @@ CountriesInEEC=EWR - Staaten CountriesNotInEEC=Nicht EWR - Staaten CountriesInEECExceptMe=Länder im EWR ausser %s CountriesExceptMe=Alle Staaten, ausser %s -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. +AccountantFiles=Geschäftsvorgänge exportieren +ExportAccountingSourceDocHelp=Hier kannst du die zu deinen Buchungen gehörenden Geschäftsfälle als Liste exportieren. Du hast die Wahl zwischen den Dateiformaten CSV und PDF. +VueByAccountAccounting=Anzeigen nach Buchhaltungskonto +VueBySubAccountAccounting=Anzeigen nach Nebenbuchkonto MainAccountForCustomersNotDefined=Es ist kein kein Buchhaltungskonto für Kunden eingerichtet. MainAccountForSuppliersNotDefined=Es ist kein kein Buchhaltungskonto für Anbieter eingerichtet. MainAccountForUsersNotDefined=Es ist kein kein Buchhaltungskonto für Kontakte eingerichtet. @@ -46,6 +51,8 @@ AccountancyAreaDescActionOnce=Folgende Aufgaben erledigst du normalerweise einma AccountancyAreaDescActionOnceBis=Die folgenden Einstellungen helfen dir, die Aufzeichnungen einfacher an Buchhaltungskonten zuzuweisen. AccountancyAreaDescActionFreq=Die Folgenden arbeiten erfolgen - je nach Unternehmensgrösse - monatlich, wöchentlich oder gar täglich. AccountancyAreaDescJournalSetup=Schritt %s: Prüfe die vorhandenen Journale im Menu %s und ergänze Sie bei Bedarf mit eigenen. +AccountancyAreaDescChartModel=Schritt %s: Stelle sicher, dass ein Kontenplan angelegt ist oder erstelle einen via Menu %s. +AccountancyAreaDescChart=Schritt %s: Wähle und / oder ergänze deinen Kontenplan via Menu %s. AccountancyAreaDescVat=Schritt %s: Hinterlege die verschiedenen MWST Sätze im Menu%s. AccountancyAreaDescDefault=STEP %s: Hinterlege weitere Standard - Buchhaltungskonten im Menu %s. AccountancyAreaDescExpenseReport=Schritt %s: Hinterlege Buchhaltungskonten für alle Arten von Ausgaben in Spesenabrechnungen im Menu %s. @@ -61,12 +68,15 @@ AccountancyAreaDescBind=Schritt %s: Prüfe die Verknüpfungen von %s mit passend AccountancyAreaDescWriteRecords=Schritt %s: Lass alle Transaktionen ins Hauptbuch übertragen. Wechsle dazu in das Menu %s, und Klicke auf %s. AccountancyAreaDescAnalyze=Schritt %s: Erzeuge oder ergänze Transaktionen für Berichte und Exporte. AccountancyAreaDescClosePeriod=Schritt %s: Schliesse eine Geschäftsperiode ab, damit Sie nicht mehr abgeändert werden kann. +TheJournalCodeIsNotDefinedOnSomeBankAccount=Eine zwingende Einstellung ist noch nicht gemacht - nicht alle Bankkonten sind einem Journal zugeordnet. Selectchartofaccounts=Wähle deinen Kontenrahmen. ChangeAndLoad=Lade und ersetze Addanaccount=Buchhaltungskonto hinzüfügen SubledgerAccountLabel=Bezeichnung Nebenbuchkonto ShowAccountingAccount=Zeige Buchhaltungskonto ShowAccountingJournal=Zeige Buchhaltungssjournal +ShowAccountingAccountInLedger=Zeige dieses Buchhaltungskonto im Hauptbuch. +ShowAccountingAccountInJournals=Zeige dieses Buchhaltungskonto in den Journalen AccountAccountingSuggest=Vorgeschlagenes Buchhaltungskonto MenuVatAccounts=MWST - Konten MenuTaxAccounts=Steuerkonten @@ -84,6 +94,7 @@ ExpenseReportsVentilation=Verknüpfung für Spesenabrechnungen CreateMvts=Neue Transaktion UpdateMvts=Transaktion bearbeiten ValidTransaction=Transaktion freigeben +WriteBookKeeping=Verbuche diese Transaktionen AccountBalance=Saldo ObjectsRef=Referenz des Quellobjektes CAHTF=Einkaufsaufwand von Steuern @@ -93,6 +104,7 @@ InvoiceLinesDone=Verknüpfte Rechnungspositionen ExpenseReportLines=Spesenabrechnungspositionen zum Verknüpfen ExpenseReportLinesDone=Verknüpfte Spesenabrechnungen IntoAccount=Position mit Buchhaltungskonto verknüpfen +TotalForAccount=Total Buchhaltungskonto Ventilate=Verknüpfen LineId=Position Processing=Verarbeite... @@ -105,6 +117,7 @@ VentilatedinAccount=Erfolgreich mit dem Buchhaltungskonto verknüpft! NotVentilatedinAccount=Nicht mit einem Buchhaltungskonto verknüpft XLineSuccessfullyBinded=%s Produkte / Leistungen erfolgreich mit einem Buchhaltungskonto verknüpft. XLineFailedToBeBinded=%s Produkte / Leistungen konnten nicht mit einem Buchhaltungskonto verknüpft werden. +ACCOUNTING_LIMIT_LIST_VENTILATION=Maximale Anzahl Einträge in Listen und pro Seite (empfohlen: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Sortiere nach den neuesten zu verknüpfenden Positionen ACCOUNTING_LIST_SORT_VENTILATION_DONE=Sortiere nach den neuesten zu verknüpften Positionen ACCOUNTING_LENGTH_DESCRIPTION=Produkt- und Dienstleistungsbeschreibungen abkürzen (Wir empfehlen nach 50 Zeichen) @@ -114,6 +127,9 @@ ACCOUNTING_LENGTH_AACCOUNT=Anzahl Stellen der Partner - Kontonummern (die Konton ACCOUNTING_MANAGE_ZERO=Unterschiedliche Anzahl Stellen für Kontonummern erlauben (bei einigen Ländern nötig, zum Beispiel in der Schweiz). Wenn das aus ist, kann man unten die Stellen für Kontonummern fix vorgeben. BANK_DISABLE_DIRECT_INPUT=Direktbuchung der Transaktion auf dem Bankkonto unterbinden ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Entwurfsexport des Journales erlauben +ACCOUNTANCY_COMBO_FOR_AUX=Kombinierte Liste für Nebenbuchkonten aktivieren (das kann bei vielen Geschäftspartnern langsam gehen. Weiter kannst du so nicht nach Teilwerten suchen. +ACCOUNTING_DATE_START_BINDING=Eröffnungsdatum der Buchhaltung festlegen. Alle Vorgänge davor werden in der Buchhaltung nicht berücksichtigt. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Standard - Zeitraum auf den Journalisierungsseiten ACCOUNTING_MISCELLANEOUS_JOURNAL=Nebenjournal ACCOUNTING_SOCIAL_JOURNAL=Personaljournal ACCOUNTING_HAS_NEW_JOURNAL=Hat neuen Journaleintrag @@ -124,11 +140,16 @@ ACCOUNTING_ACCOUNT_TRANSFER_CASH=Transferkonto Banktransaktionen TransitionalAccount=Durchlaufkonto Bank ACCOUNTING_ACCOUNT_SUSPENSE=Sperrkonto ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Buchhaltungskonto für Abonnemente +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Standardkonto für Kunden - Anzahlungen ACCOUNTING_PRODUCT_BUY_ACCOUNT=Standard - Buchhaltungskonto für gekaufte Produkte\n(Wird verwendet, wenn kein Konto in der Produktdefinition hinterlegt ist) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Standardkonto für importierte Produkte aus der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Standardkonto für importierte Produkte ausserhalb der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Standard - Buchhaltungskonto für verkaufte Produkte\n(Wird verwendet, wenn kein Konto in der Produktdefinition hinterlegt ist) ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Standard - Buchhaltungskonto für Produktverkäufe in EWR - Staaten\n(Wird verwendet, wenn kein Konto in der Produktdefinition hinterlegt ist). ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Standardkonto für Verkäufe an nicht EWR - Staaten (sofern nicht anders im Produkt hinterlegt) ACCOUNTING_SERVICE_BUY_ACCOUNT=Standard - Buchhaltungskonto für gekaufte Leistungen\n(Wird verwendet, wenn kein Konto in der Leistungsdefinition hinterlegt ist) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Standardkonto für importierte Dienstleistungen aus der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Standardkonto für importierte Dienstleistungen ausserhalb der EU (wird benutzt, wenn kein Konto im Produkteblatt hinterlegt ist) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Standard - Buchhaltungskonto für verkaufte Leistungen\n(Wird verwendet, wenn kein Konto in der Leistungsdefinition hinterlegt ist) ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Standard - Buchhaltungskonto für verkaufte Leistungen in den EWR\n(Wird verwendet, wenn kein Konto in der Leistungsdefinition hinterlegt ist). ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Standardkonto für verkaufte Leistungen an nicht EWR - Staaten (sofern nicht anders im Produkt hinterlegt) diff --git a/htdocs/langs/de_CH/interventions.lang b/htdocs/langs/de_CH/interventions.lang index 4daf054e896..0d019fe62b8 100644 --- a/htdocs/langs/de_CH/interventions.lang +++ b/htdocs/langs/de_CH/interventions.lang @@ -60,3 +60,4 @@ InterLineId=ID der Einsatzposition InterLineDate=Datum der Einsatzposition InterLineDuration=Dauer der Einsatzposition InterLineDesc=Beschreibung der Einsatzposition +Reopen=entwerfen diff --git a/htdocs/langs/de_CH/salaries.lang b/htdocs/langs/de_CH/salaries.lang index bd6035c66c6..c749d0d0234 100644 --- a/htdocs/langs/de_CH/salaries.lang +++ b/htdocs/langs/de_CH/salaries.lang @@ -7,6 +7,5 @@ THM=Durchschnittlicher Stundenlohn TJM=Durchschnittlicher Tageslohn THMDescription=Wenn das Modul Projektmanagement aktiv ist, dient dieser Wert zum Berechnen der aktuellen Projektzeitkosten. TJMDescription=Dieser Wert ist im Moment rein informativ und fliesst in keinerlei Berechnungen ein. -LastSalaries=Die neuesten %s Lohnzahlungen SalariesStatistics=Lohnstatistik SalariesAndPayments=Löhne und Lohnzahlungen diff --git a/htdocs/langs/de_CH/ticket.lang b/htdocs/langs/de_CH/ticket.lang index 5cbcf19bea7..18ff7a30fab 100644 --- a/htdocs/langs/de_CH/ticket.lang +++ b/htdocs/langs/de_CH/ticket.lang @@ -1,8 +1,5 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem TypeContact_ticket_external_SUPPORTCLI=Kundenkontakt / Störfallverfolgung -OriginEmail=Email source InProgress=In Bearbeitung -NeedMoreInformation=Waiting for information TicketCloseOn=Schliessungsdatum TicketAddIntervention=Einsatz erstellen diff --git a/htdocs/langs/de_CH/users.lang b/htdocs/langs/de_CH/users.lang index 02a05cfdc2c..94bc17d43e8 100644 --- a/htdocs/langs/de_CH/users.lang +++ b/htdocs/langs/de_CH/users.lang @@ -31,7 +31,6 @@ ConfirmCreateContact=Willst du wirklich ein Benutzerkonto für diesen Kontakt er ConfirmCreateLogin=Willst du wirklich ein Benutzerkonto für dieses Mitglied erstellen? ConfirmCreateThirdParty=Willst du wirklich für dieses Mitglied einen Partner erzeugen? NameToCreate=Name des neuen Geschäftspartners -NbOfUsers=Anz. Benutzer UseTypeFieldToChange=Nutzen sie das Feld "Typ" zum ändern WeeklyHours=Geleistete Stunden pro Woche DisabledInMonoUserMode=Im Wartungsmodus deaktiviert diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index 77a3d519e21..6ae42df9c91 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interner Benutzer ExternalUser=Externer Benutzer InternalUsers=Interne Benutzer ExternalUsers=Externe Benutzer +UserInterface=User interface GUISetup=Benutzeroberfläche SetupArea=Einstellungen UploadNewTemplate=Neue Druckvorlage(n) hochladen @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Ihre PHP-Konfiguration unterstützt keine SSL-Versc DownloadMoreSkins=Weitere grafische Oberflächen herunterladen SimpleNumRefModelDesc=Gibt die Referenznummer im Format %syymm-nnnn zurück, wobei yy das Jahr, mm der Monat und nnnn eine fortlaufende automatisch inkrementierende Nummer ohne Zurücksetzen ist SimpleNumRefNoDateModelDesc=Gibt die Referenznummer im Format %s-nnnn zurück, wobei nnnn eine fortlaufende automatisch inkrementierende Nummer ohne Zurücksetzen ist -ShowProfIdInAddress=Erweiterte Kundendaten im Adressfeld anzeigen -ShowVATIntaInAddress=Umsatzsteuer-ID im Adressfeld ausblenden +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Teilweise Übersetzung MAIN_DISABLE_METEO=Wetteransicht deaktivieren MeteoStdMod=Standart Modus @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click-to-Dial Moduleinstellungen ClickToDialUrlDesc=URL, die bei einem Klick auf das Telefonsymbol aufgerufen werden soll. In dieser URL können die folgenden Tags verwendet werden:
__PHONETO__ Telefonnummer des Angerufenen
__PHONEFROM__ Telefonnummer des Anrufers (Ihre)
__LOGIN__ Ihren Benutzernamen für Click-to-Dial (siehe Benutzerdaten)
__PASS__ Ihr Click-to-Dial-Passwort (siehe Benutzerdaten). ClickToDialDesc=Dieses Modul formatiert Telefonnummern als direkt anklickbare Links auf Desktop-PCs. Ein Klick wählt die Nummer. Damit kann ein Telefonanruf direkt gestartet werden, wenn Softphones oder SIP-Telefone verwendet werden. Hinweis: Auf Smartphones sind Telefonnummern immer anklickbar. ClickToDialUseTelLink=Nur einen Link "Tel:" bei Telefonnummern verwenden -ClickToDialUseTelLinkDesc=Benutzen Sie diese Methode, wenn Ihre Benutzer ein Software-Telefon oder ein Interface für ein Telefon auf demselben Computer wie der Browser installiert haben. Dieses Telefon/Interface wird aufgerufen, wenn Sie auf einen Link klicken, der mit "tel:" beginnt. Wenn Sie eine vollständige Server-Lösung nutzen wollen (ohne lokale Software-Installation), wählen Sie hier "Nein" und füllen das nächste Feld. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Kasse CashDeskSetup=Kassenmoduleinstellungen @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=In Ihrem Stammverzeichnis wurden keine beschreibbaren Dateien oder Verzeichnisse der gängigen Programme gefunden (gut). RecommendedValueIs=Empfohlen: %s -NotRecommended=Nicht empfohlen +Recommended=Empfohlen +NotRecommended=Not recommended ARestrictedPath=Ein eingeschränkter Pfad CheckForModuleUpdate=Suchen Sie nach Updates für externe Module CheckForModuleUpdateHelp=Diese Aktion stellt eine Verbindung zu Editoren externer Module her, um zu überprüfen, ob eine neue Version verfügbar ist. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/de_DE/banks.lang b/htdocs/langs/de_DE/banks.lang index a50b175a723..33a989f0409 100644 --- a/htdocs/langs/de_DE/banks.lang +++ b/htdocs/langs/de_DE/banks.lang @@ -115,7 +115,7 @@ TransferTo=bis TransferFromToDone=Eine Überweisung von %s nach %s iHv %s %s wurde verbucht. CheckTransmitter=Absenderadresse ValidateCheckReceipt=Rechnungseingang gültig? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Wollen Sie diesen Rechnungseingang löschen? ConfirmDeleteCheckReceipt=Sind Sie sicher, dass Sie diesen Rechnungseingang löschen wollen? BankChecks=Bankschecks diff --git a/htdocs/langs/de_DE/boxes.lang b/htdocs/langs/de_DE/boxes.lang index 642ab786f41..090225768c2 100644 --- a/htdocs/langs/de_DE/boxes.lang +++ b/htdocs/langs/de_DE/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=zuletzt bearbeitete Lieferantenbestellungen BoxTitleLastModifiedCustomerBills=Zuletzt bearbeitete Kundenrechnungen (maximal %s) BoxTitleLastModifiedCustomerOrders=Zuletzt bearbeitete Kundenaufträge (maximal %s) BoxTitleLastModifiedPropals=Zuletzt bearbeitete Angebote (maximal %s) -BoxTitleLatestModifiedJobPositions=Neueste %s geänderte Jobs -BoxTitleLatestModifiedCandidatures=Neueste %s modifizierte Kandidaturen +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Kundenrechnungen ForCustomersOrders=Kundenaufträge ForProposals=Angebote diff --git a/htdocs/langs/de_DE/cashdesk.lang b/htdocs/langs/de_DE/cashdesk.lang index 0a9f317661b..cbb62861688 100644 --- a/htdocs/langs/de_DE/cashdesk.lang +++ b/htdocs/langs/de_DE/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Verzögerte Zahlung zulassen PrintPaymentMethodOnReceipts=Zahlungsmethode auf Tickets | Quittungen drucken WeighingScale=Waage ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/de_DE/deliveries.lang b/htdocs/langs/de_DE/deliveries.lang index c3c906b07e4..e2b3395ea88 100644 --- a/htdocs/langs/de_DE/deliveries.lang +++ b/htdocs/langs/de_DE/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Nicht versandfertig ShowShippableStatus=Versandstatus anzeigen ShowReceiving=Zustellbestätigung anzeigen NonExistentOrder=Auftrag existiert nicht +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index c3aebb6bf76..c48032ccb9c 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Der Besitzer des Benutzers ist erfo ErrorActionCommBadType=Der ausgewählte Ereignistyp (ID: %n, Code: %s) ist im Wörterbuch für den Ereignistyp nicht vorhanden CheckVersionFail=Versionsprüfung fehlgeschlagen ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/de_DE/eventorganization.lang b/htdocs/langs/de_DE/eventorganization.lang index f7f265a2e8b..1475e171e88 100644 --- a/htdocs/langs/de_DE/eventorganization.lang +++ b/htdocs/langs/de_DE/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Sicherer Schlüssel des öffentlichen Registrierungslinks zu einer Konferenz SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Ereignistyp +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/de_DE/exports.lang b/htdocs/langs/de_DE/exports.lang index 911f2646c68..4afed3a9e25 100644 --- a/htdocs/langs/de_DE/exports.lang +++ b/htdocs/langs/de_DE/exports.lang @@ -30,10 +30,10 @@ ExportCsvSeparator=CSV-Trennzeichen ImportCsvSeparator=CSV-Trennzeichen Step=Schritt FormatedImport=Import-Assistent -FormatedImportDesc1=Mit diesem Modul können Sie vorhandene Daten aktualisieren oder mithilfe eines Assistenten neue Objekte aus einer Datei in die Datenbank einfügen, ohne über technische Kenntnisse zu verfügen. +FormatedImportDesc1=Dieses Modul ermöglicht den Import personalisierter Daten mithilfe eines Assistenten.\nTechnische Kenntnisse sind hierbei nicht erforderlich. FormatedImportDesc2=Zunächst müssen Sie die Art der zu importierenden Daten, dann das Format der Quelldatei und dann die zu importierenden Felder auswählen. FormatedExport=Export-Assistent -FormatedExportDesc1=Diese Tools ermöglichen den Export personalisierter Daten mithilfe eines Assistenten, um Sie dabei zu unterstützen, ohne dass technische Kenntnisse erforderlich sind. +FormatedExportDesc1=Dieses Modul ermöglicht den Export personalisierter Daten mithilfe eines Assistenten.\nTechnische Kenntnisse sind hierbei nicht erforderlich. FormatedExportDesc2=Der erste Schritt besteht darin, einen vordefinierten Datensatz auszuwählen und dann anzugeben, welche Felder in welcher Reihenfolge exportiert werden sollen. FormatedExportDesc3=Wenn zu exportierende Daten ausgewählt sind, können Sie das Format der Ausgabedatei auswählen. Sheet=Blatt @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Art der Zeile (0=Produkt, 1=Leistung) FileWithDataToImport=Datei mit zu importierenden Daten FileToImport=Quelldatei für Import FileMustHaveOneOfFollowingFormat=Die zu importierende Datei muss eines der folgenden Formate haben -DownloadEmptyExample=Vorlagendatei mit Feldinhaltsinformationen herunterladen (* sind Pflichtfelder) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Wählen Sie das Dateiformat aus, das als Importdateiformat verwendet werden soll, indem Sie auf das Symbol %s klicken, um es auszuwählen ... ChooseFileToImport=Datei hochladen und dann auf das Symbol %s klicken, um die Datei als Quell-Importdatei auszuwählen ... SourceFileFormat=Quelldateiformat diff --git a/htdocs/langs/de_DE/install.lang b/htdocs/langs/de_DE/install.lang index 3c46aa0f189..4cdd7a6f0d5 100644 --- a/htdocs/langs/de_DE/install.lang +++ b/htdocs/langs/de_DE/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration der Foto-Verzeichnispfade für Benutzer MigrationFieldsSocialNetworks=Migration von Benutzerfeldern in sozialen Netzwerken (%s) MigrationReloadModule=Neu Laden von Modul %s MigrationResetBlockedLog=Modul BlockedLog für v7 Algorithmus zurücksetzen +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Nicht verfügbare Optionen anzeigen HideNotAvailableOptions=Nicht verfügbare Optionen ausblenden ErrorFoundDuringMigration=Während des Migrationsprozesses wurden Fehler gemeldet. Der nächste Schritt ist nicht verfügbar. Um Fehler zu ignorieren, können Sie hier klicken , aber die Anwendung oder einige Funktionen funktionieren möglicherweise nicht richtig, bis die Fehler behoben sind. diff --git a/htdocs/langs/de_DE/interventions.lang b/htdocs/langs/de_DE/interventions.lang index 0822f3dda20..b380841532e 100644 --- a/htdocs/langs/de_DE/interventions.lang +++ b/htdocs/langs/de_DE/interventions.lang @@ -6,7 +6,7 @@ NewIntervention=Neuer Serviceauftrag AddIntervention=Serviceauftrag erstellen ChangeIntoRepeatableIntervention=Wechseln Sie zu wiederholbaren Serviceauftrag ListOfInterventions=Liste der Serviceaufträge -ActionsOnFicheInter=Aktionen zum Serviceauftrag +ActionsOnFicheInter=Ereignisse zu diesem Serviceauftrag LastInterventions=%s neueste Serviceaufträge AllInterventions=Alle Serviceaufträge CreateDraftIntervention=Entwurf erstellen @@ -64,5 +64,5 @@ InterLineDuration=Serviceauftragsposition Dauer InterLineDesc=Serviceauftragsposition Beschreibung RepeatableIntervention=Vorlage der Intervention ToCreateAPredefinedIntervention=Für eine vordefinierte oder wiederkehrende Intervention erstellen Sie zunächst eine gemeinsame Intervention und konvertieren diese dann in eine Vorlage -Reopen=entwerfen +Reopen=wiedereröffnen ConfirmReopenIntervention=Möchten Sie den Serviceauftrag %s wieder öffnen? diff --git a/htdocs/langs/de_DE/productbatch.lang b/htdocs/langs/de_DE/productbatch.lang index 3e635883447..97ae8d794df 100644 --- a/htdocs/langs/de_DE/productbatch.lang +++ b/htdocs/langs/de_DE/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Bewegungen für diese Chargen-/Seriennummer anzeigen StockDetailPerBatch=Lagerdetail nach Chargen SerialNumberAlreadyInUse=Die Seriennummer %s wird bereits für das Produkt %s verwendet TooManyQtyForSerialNumber=Sie können nur ein Produkt %s für die Seriennummer %s haben -BatchLotNumberingModules=Optionen für die automatische Generierung von Chargenprodukten, die über Lose verwaltet werden -BatchSerialNumberingModules=Optionen für die automatische Generierung von Chargenprodukten, die über Seriennummern verwaltet werden ManageLotMask=Benutzerdefinierte Maske -CustomMasks=Fügt eine Option zum Definieren der Maske in der Produktkarte hinzu -LotProductTooltip=Fügt der Produktkarte eine Option zum Definieren einer dedizierten Chargennummernmaske hinzu -SNProductTooltip=Fügt der Produktkarte eine Option zum Definieren einer dedizierten Seriennummernmaske hinzu +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Menge, die für jeden gescannten Barcode / jedes Los / jede Serienummer hinzugefügt werden muss LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index 2d21211cc54..9901646fce5 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=unterschiedliche Preise für jeden Kunden PriceCatalogue=Ein einziger Preis pro Produkt/Leistung PricingRule=Regeln für die Verkaufspreise AddCustomerPrice=Preis je Kunde hinzufügen -ForceUpdateChildPriceSoc=Lege den gleichen Preis für Kunden-Tochtergesellschaften fest +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Protokoll der vorangegangenen Kundenpreise MinimumPriceLimit=Mindestpreis darf nicht kleiner als %s sein MinimumRecommendedPrice=minimal empfohlener Preis: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Erhöhen/Verringern des Lagerbestands bei verknüpfte ComposedProduct=Unterprodukte MinSupplierPrice=Minimaler Kaufpreis MinCustomerPrice=Minimaler Verkaufspreis +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamische Preis Konfiguration DynamicPriceDesc=Sie können mathematische Formeln definieren, um Kunden- oder Lieferantenpreise zu berechnen. Solche Formeln können alle mathematischen Operatoren, einige Konstanten und Variablen verwenden. Hier können Sie die Variablen definieren, die Sie verwenden möchten. Wenn die Variable automatisch aktualisiert werden muss, können Sie die externe URL definieren, damit Dolibarr den Wert automatisch aktualisiert. AddVariable=Variable hinzufügen diff --git a/htdocs/langs/de_DE/salaries.lang b/htdocs/langs/de_DE/salaries.lang index 412c815f3e1..6cf12b5cf41 100644 --- a/htdocs/langs/de_DE/salaries.lang +++ b/htdocs/langs/de_DE/salaries.lang @@ -17,8 +17,8 @@ TJM=Durchschnittlicher Tagessatz CurrentSalary=aktueller Lohn THMDescription=Dieser Wert kann verwendet werden, um die Kosten für die verwendete Zeit eines Anwender zu berechnen, wenn das Modul Projektverwaltung verwendet wird, TJMDescription=Dieser Wert ist aktuell nur zu Informationszwecken und wird nicht für eine Berechnung verwendet -LastSalaries=Letzte %s Lohnzahlungen -AllSalaries=Alle Gehaltszahlungen +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Statistik Gehälter -# Export SalariesAndPayments=Gehälter und Gehaltszahlungen +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/de_DE/ticket.lang b/htdocs/langs/de_DE/ticket.lang index 8743885fcf1..ca9ae4de706 100644 --- a/htdocs/langs/de_DE/ticket.lang +++ b/htdocs/langs/de_DE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket-Auflösung TicketTypeShortCOM=Anfrage an Verkauf TicketTypeShortHELP=Erbitte funktionale Hilfestellung -TicketTypeShortISSUE=Aspekt, Fehler oder Problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Änderungs- oder Erweiterungsanforderung TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Sonstige @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Zugewiesener Benutzer TypeContact_ticket_external_SUPPORTCLI=Kundenkontakt / Tracking TypeContact_ticket_external_CONTRIBUTOR=Externer Mitarbeiter -OriginEmail=E-Mail Absender +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Ticket Nachricht per E-Mail versenden # Status Read=Lesen Assigned=Zugewiesen InProgress=in Bearbeitung -NeedMoreInformation=Auf Information warten +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Beantwortet Waiting=Wartend Closed=Geschlossen @@ -160,7 +162,7 @@ CreatedBy=Erstellt durch NewTicket=Ticket erstellen SubjectAnswerToTicket=Ticketantwort TicketTypeRequest=Anfrageart -TicketCategory=Gruppe +TicketCategory=Ticket categorization SeeTicket=Ticket zeigen TicketMarkedAsRead=Ticket als gelesen markiert TicketReadOn=Gelesen um @@ -211,6 +213,7 @@ TicketMessageHelp=Nur dieser Text wird in der Mitteilungsliste auf der Ticketkar TicketMessageSubstitutionReplacedByGenericValues=Ersetzungsvariablen werden durch generische Werte ersetzt. TimeElapsedSince=Seit TicketTimeToRead=Zeit bis das Ticket gelesen wurde +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kontakte zum Ticket TicketDocumentsLinked=Dokumente zum Ticket ConfirmReOpenTicket=Dieses Ticket wirklich wieder öffnen? diff --git a/htdocs/langs/de_DE/users.lang b/htdocs/langs/de_DE/users.lang index 09aafd48c95..4c76a0511c8 100644 --- a/htdocs/langs/de_DE/users.lang +++ b/htdocs/langs/de_DE/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Zu erstellende Anmeldung NameToCreate=Name des neuen Partners YourRole=Ihre Rolle YourQuotaOfUsersIsReached=Ihr Kontingent aktiver Benutzer ist erreicht -NbOfUsers=Anzahl Benutzer -NbOfPermissions=Anzahl Berechtigungen +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Nur ein SuperAdmin kann einen SuperAdmin downgraden HierarchicalResponsible=Vorgesetzter HierarchicView=Hierarchische Ansicht diff --git a/htdocs/langs/de_DE/website.lang b/htdocs/langs/de_DE/website.lang index d0d0c79f4b2..815aa445fc6 100644 --- a/htdocs/langs/de_DE/website.lang +++ b/htdocs/langs/de_DE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Website hinzufügen Webpage=Webseite / Container AddPage=Seite / Container hinzufügen PageContainer=Seite -PreviewOfSiteNotYetAvailable=Vorschau ihrer Webseite %s noch nicht verfügbar. Zuerst muss eine 'Webseiten-Vorlage importiert' oder 'Seite / Container hinzugefügt' werden. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Die Seite mit id %s hat keinen Inhalt oder die Cachedatei .tpl.php wurde gelöscht. Editieren Sie den Inhalt der Seite um das Problem zu lösen. SiteDeleted=Website '%s' gelöscht PageContent=Seite / Container diff --git a/htdocs/langs/el_CY/products.lang b/htdocs/langs/el_CY/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/el_CY/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/el_CY/ticket.lang b/htdocs/langs/el_CY/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/el_CY/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index ce655c6f539..c2cdca932cc 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Εσωτερικός χρήστης ExternalUser=Εξωτερικός χρήστης InternalUsers=Εσωτερικοί χρήστες ExternalUsers=Εξωτερικοί χρήστες +UserInterface=User interface GUISetup=Εμφάνιση SetupArea=Ρύθμιση UploadNewTemplate=Μεταφόρτωση νέου(-ων) προτύπου(-ων) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Εμφάνιση επαγγελματικής ταυτότητας με διευθύνσεις -ShowVATIntaInAddress=Απόκρυψη ενδοκοινοτικού αριθμού ΦΠΑ με διευθύνσεις +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Ημιτελής μεταγλώττιση MAIN_DISABLE_METEO=Απενεργοποιήστε τη μετεωρολογική άποψη MeteoStdMod=Τυπική λειτουργία @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Η διεύθυνση URL ονομάζεται όταν γίνεται κλικ στο τηλέφωνο picto. Στη διεύθυνση URL, μπορείτε να χρησιμοποιήσετε ετικέτες
__PHONETO__ που θα αντικατασταθεί με τον αριθμό τηλεφώνου του ατόμου που καλεί
__PHONEFROM__ που θα αντικατασταθεί με τον αριθμό τηλεφώνου του καλούντος (του δικού σας)
__LOGIN__ που θα αντικατασταθεί με σύνδεση με κλικ (καθορισμένη στην κάρτα χρήστη)
__PASS__ που θα αντικατασταθεί με κωδικό πρόσβασης (που ορίζεται στην κάρτα χρήστη). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Χρησιμοποιήστε μόνο έναν σύνδεσμο "τηλ::" σε αριθμούς τηλεφώνου -ClickToDialUseTelLinkDesc=Χρησιμοποιήστε αυτή τη μέθοδο εάν οι χρήστες σας έχουν ένα λογισμικό softphone ή μια διασύνδεση λογισμικού που είναι εγκατεστημένος στον ίδιο υπολογιστή με το πρόγραμμα περιήγησης και καλούνται όταν κάνετε κλικ σε ένα σύνδεσμο στο πρόγραμμα περιήγησης που ξεκινάει με "tel:". Αν χρειάζεστε μια λύση πλήρους διακομιστή (δεν χρειάζεται τοπική εγκατάσταση λογισμικού), πρέπει να το ορίσετε σε "Όχι" και να συμπληρώσετε το επόμενο πεδίο. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Σημείο πώλησης CashDeskSetup=Λειτουργία μονάδας σημείου πώλησης @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Προτεινόμενη +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/el_GR/banks.lang b/htdocs/langs/el_GR/banks.lang index ba2203efda7..c86cc9b45a9 100644 --- a/htdocs/langs/el_GR/banks.lang +++ b/htdocs/langs/el_GR/banks.lang @@ -115,7 +115,7 @@ TransferTo=Προς TransferFromToDone=Η μεταφορά από %s στον %s του %s %s έχει καταγραφεί. CheckTransmitter=Αποστολέας ValidateCheckReceipt=Επικύρωση αυτής της απόδειξης παραλαβής επιταγής; -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Διαγραφή απόδειξης παραλαβής επιταγής; ConfirmDeleteCheckReceipt=Είστε σίγουροι πως θέλετε να διαγράψετε αυτή την απόδειξη παραλαβής επιταγής; BankChecks=Τραπεζικές Επιταγές diff --git a/htdocs/langs/el_GR/boxes.lang b/htdocs/langs/el_GR/boxes.lang index 500ad99dc8d..e9b326ddb64 100644 --- a/htdocs/langs/el_GR/boxes.lang +++ b/htdocs/langs/el_GR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Παραγγελίες προμηθευτή BoxTitleLastModifiedCustomerBills=Τιμολόγια πελατών: τροποποιήθηκε τελευταία %s BoxTitleLastModifiedCustomerOrders=Παραγγελίες πώλησης: τελευταία τροποποίηση %s BoxTitleLastModifiedPropals=Τελευταίες τροποποιημένες προτάσεις %s -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Τιμολόγια Πελάτη ForCustomersOrders=Παραγγελίες πελατών ForProposals=Προσφορές diff --git a/htdocs/langs/el_GR/cashdesk.lang b/htdocs/langs/el_GR/cashdesk.lang index 1e52c279281..489d7f18694 100644 --- a/htdocs/langs/el_GR/cashdesk.lang +++ b/htdocs/langs/el_GR/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/el_GR/deliveries.lang b/htdocs/langs/el_GR/deliveries.lang index cdb0fc9be46..5ec67327cf4 100644 --- a/htdocs/langs/el_GR/deliveries.lang +++ b/htdocs/langs/el_GR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Παραλήπτης ErrorStockIsNotEnough=Δεν υπάρχει αρκετό απόθεμα Shippable=Για Αποστολή NonShippable=Δεν αποστέλλονται +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Ανύπαρκτη σειρά +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 4829ed170db..9ccbe17002b 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/el_GR/eventorganization.lang b/htdocs/langs/el_GR/eventorganization.lang index f107314a831..29dc08af904 100644 --- a/htdocs/langs/el_GR/eventorganization.lang +++ b/htdocs/langs/el_GR/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Τύπος συμβάντος +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/el_GR/exports.lang b/htdocs/langs/el_GR/exports.lang index 28459f2238d..d61a2aa3779 100644 --- a/htdocs/langs/el_GR/exports.lang +++ b/htdocs/langs/el_GR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=Το αρχείο για εισαγωγή πρέπει να έχει μία από τις ακόλουθες μορφές -DownloadEmptyExample=Λήψη αρχείου προτύπου με πληροφορίες περιεχομένου πεδίου (* είναι υποχρεωτικά πεδία) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Επιλέξτε τη μορφή αρχείου που θα χρησιμοποιηθεί ως μορφή αρχείου εισαγωγής κάνοντας κλικ στο εικονίδιο %s για να το επιλέξετε ... ChooseFileToImport=Μεταφορτώστε το αρχείο και κάντε κλικ στο εικονίδιο %s για να επιλέξετε αρχείο ως αρχείο εισαγωγής πηγής ... SourceFileFormat=Source file format diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index c08d1890daa..d9799c7d351 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Μετανάστευση φωτογραφικών δια MigrationFieldsSocialNetworks=Μετεγκατάσταση χρηστών πεδίων κοινωνικών δικτύων (%s) MigrationReloadModule=Επαναφόρτωση ενθεμάτων %s MigrationResetBlockedLog=Επαναφορά της μονάδας BlockedLog για τον αλγόριθμο v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Εμφάνιση μη διαθέσιμων επιλογών HideNotAvailableOptions=Απόκρυψη μη διαθέσιμων επιλογών ErrorFoundDuringMigration=Παρουσιάστηκε σφάλμα κατά τη διάρκεια της διαδικασίας μετάβασης, επομένως το επόμενο βήμα δεν είναι διαθέσιμο. Για να αγνοήσετε τα σφάλματα, μπορείτε να κάνετε κλικ εδώ , αλλά η εφαρμογή ή ορισμένες λειτουργίες ενδέχεται να μην λειτουργούν σωστά μέχρι να επιλυθούν τα σφάλματα. diff --git a/htdocs/langs/el_GR/interventions.lang b/htdocs/langs/el_GR/interventions.lang index f0b5807ab17..a354f293fd4 100644 --- a/htdocs/langs/el_GR/interventions.lang +++ b/htdocs/langs/el_GR/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Περιοχή παρεμβάσεων DraftFichinter=Πρόχειρες παρεμβάσεις LastModifiedInterventions=Latest %s modified interventions FichinterToProcess=Interventions to process -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Σε συνέχεια επαφή με τον πελάτη -# Modele numérotation PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card PrintProductsOnFichinterDetails=παρεμβάσεις που προέρχονται από παραγγελίες UseServicesDurationOnFichinter=Use services duration for interventions generated from orders @@ -53,7 +51,6 @@ InterventionStatistics=Στατιστικά παρεμβάσεων NbOfinterventions=Αριθ. Καρτών παρέμβασης NumberOfInterventionsByMonth=Αριθμός καρτών παρέμβασης ανά μήνα (ημερομηνία επικύρωσης) AmountOfInteventionNotIncludedByDefault=Το ποσό της παρέμβασης δεν συμπεριλαμβάνεται εξ ορισμού στο κέρδος (στις περισσότερες περιπτώσεις, τα φύλλα εργασίας χρησιμοποιούνται για τον υπολογισμό του χρόνου που δαπανάται). Προσθέστε την επιλογή PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT σε 1 στο σπίτι-setup-άλλη για να τις συμπεριλάβετε. -##### Exports ##### InterId=Κωδ παρέμβασης InterRef=Αναφ παρέμβασης InterDateCreation=Ημερομηνία δημιουργίας παρέμβασης @@ -65,3 +62,7 @@ InterLineId=Κωδ γραμμής παρέμβασης InterLineDate=Ημερομηνία γραμμής παρέμβασης InterLineDuration=Διάρκεια γραμμής παρέμβασης InterLineDesc=Περιγραφή γραμμής παρέμβασης +RepeatableIntervention=Πρότυπο παρέμβασης +ToCreateAPredefinedIntervention=Για να δημιουργήσετε μια προκαθορισμένη ή επαναλαμβανόμενη παρέμβαση, δημιουργήστε μια κοινή παρέμβαση και μετατρέψτε την σε πρότυπο παρέμβασης +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/el_GR/productbatch.lang b/htdocs/langs/el_GR/productbatch.lang index b48a31dacba..476209b3162 100644 --- a/htdocs/langs/el_GR/productbatch.lang +++ b/htdocs/langs/el_GR/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Εμφάνιση αρχείου κινήσεων για StockDetailPerBatch=Ανάλυση αποθέματος ανά παρτίδα SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 9c45dbfb912..0d3ad72b956 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Διαφορετικές τιμές για κάθε πελάτη PriceCatalogue=Μια ενιαία τιμή πώλησης ανά προϊόν / υπηρεσία PricingRule=Κανόνες για τις τιμές πώλησης AddCustomerPrice=Προσθήκη τιμής ανά πελάτη -ForceUpdateChildPriceSoc=Ορισμός ίδιας τιμής για τις θυγατρικές του πελάτη +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Καταγραφή προηγούμενων τιμών πελατών MinimumPriceLimit=Η ελάχιστη τιμή δεν μπορεί να είναι χαμηλότερη από %s MinimumRecommendedPrice=Η ελάχιστη συνιστώμενη τιμή είναι: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Αύξηση/Μείωση αποθεμάτων στη ComposedProduct=Παιδικά προϊόντα MinSupplierPrice=Ελάχιστη τιμή αγοράς MinCustomerPrice=Ελάχιστη τιμή πώλησης +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Διαμόρφωση δυναμικών τιμών DynamicPriceDesc=Μπορείτε να ορίσετε μαθηματικούς τύπους για τον υπολογισμό των τιμών των πελατών ή των προμηθευτών. Τέτοιοι τύποι μπορούν να χρησιμοποιήσουν όλους τους μαθηματικούς χειριστές, κάποιες σταθερές και μεταβλητές. Μπορείτε να ορίσετε εδώ τις μεταβλητές που θέλετε να χρησιμοποιήσετε. Αν η μεταβλητή χρειάζεται αυτόματη ενημέρωση, μπορείτε να ορίσετε την εξωτερική διεύθυνση URL ώστε να επιτρέψει στο Dolibarr να ενημερώσει αυτόματα την τιμή. AddVariable=Προσθήκη μεταβλητής @@ -340,7 +341,7 @@ ProductSheet=Φύλλο προϊόντος ServiceSheet=Φύλλο εξυπηρέτησης PossibleValues=Πιθανές τιμές GoOnMenuToCreateVairants=Πηγαίνετε στο μενού %s - %s για να προετοιμάσετε παραλλαγές χαρακτηριστικών (όπως χρώματα, μέγεθος, ...) -UseProductFournDesc=Προσθέστε μια δυνατότητα για να ορίσετε τις περιγραφές των προϊόντων που ορίζονται από τους προμηθευτές εκτός από τις περιγραφές για τους πελάτες +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers ProductSupplierDescription=Περιγραφή του πωλητή για το προϊόν UseProductSupplierPackaging=Χρησιμοποιήστε τη συσκευασία στις τιμές προμηθευτή (επανυπολογίστε τις ποσότητες σύμφωνα με τη συσκευασία που καθορίζεται στην τιμή προμηθευτή κατά την προσθήκη / ενημέρωση της γραμμής στα έγγραφα προμηθευτών) PackagingForThisProduct=Συσκευασία diff --git a/htdocs/langs/el_GR/salaries.lang b/htdocs/langs/el_GR/salaries.lang index d9c0fcbfd87..793e68f2826 100644 --- a/htdocs/langs/el_GR/salaries.lang +++ b/htdocs/langs/el_GR/salaries.lang @@ -1,21 +1,24 @@ # Dolibarr language file - Source file is en_US - salaries -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Λογαριασμός λογιστικής που χρησιμοποιείται για τρίτους χρήστες +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Ο αποκλειστικός λογαριασμός λογιστικής που ορίζεται στην κάρτα χρήστη θα χρησιμοποιηθεί μόνο για τη λογιστική της Subledger. Αυτός θα χρησιμοποιηθεί για το γενικό βιβλίο και ως προεπιλεγμένη τιμή της λογιστικής Subledger εάν δεν έχει καθοριστεί ο λογαριασμός λογιστικής για τον χρήστη. +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Λογαριασμός λογαριασμού από προεπιλογή για πληρωμές μισθών +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mισθός Salaries=Μισθοί -NewSalaryPayment=Νέα μισθοδοσία -AddSalaryPayment=Add salary payment +NewSalary=New salary +NewSalaryPayment=New salary card +AddSalaryPayment=Προσθήκη πληρωμής μισθοδοσίας SalaryPayment=Μισθός SalariesPayments=Πληρωμές μισθών +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Εμφάνιση μισθοδοσίας -THM=Average hourly rate -TJM=Average daily rate +THM=Μέση ωριαία τιμή +TJM=Μέση ημερήσια τιμή CurrentSalary=Τρέχον μισθός -THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used -TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments -SalariesStatistics=Salary statistics -# Export -SalariesAndPayments=Salaries and payments +THMDescription=Αυτή η τιμή μπορεί να χρησιμοποιηθεί για τον υπολογισμό του κόστους του χρόνου που καταναλώνεται σε ένα έργο που εισήχθησαν από τους χρήστες, εάν χρησιμοποιείται το project module +TJMDescription=Αυτή η τιμή είναι προς ενημέρωση μόνο και δεν χρησιμοποιείται για υπολογισμό +LastSalaries=Latest %s salaries +AllSalaries=All salaries +SalariesStatistics=Στατιστικά στοιχεία μισθών +SalariesAndPayments=Μισθοί και πληρωμές +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/el_GR/ticket.lang b/htdocs/langs/el_GR/ticket.lang index ee794f77717..c9df30418ee 100644 --- a/htdocs/langs/el_GR/ticket.lang +++ b/htdocs/langs/el_GR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Εισιτήριο - Ανάλυση TicketTypeShortCOM=Εμπορική ερώτηση TicketTypeShortHELP=Αίτημα για λειτουργική βοήθεια -TicketTypeShortISSUE=Θέμα, σφάλμα ή πρόβλημα +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Αίτημα αλλαγής ή βελτίωσης TicketTypeShortPROJET=Έργο TicketTypeShortOTHER=Άλλο @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Εκχωρημένος χρήστης TypeContact_ticket_external_SUPPORTCLI=Παρακολούθηση επαφών πελατών / συμβάντων TypeContact_ticket_external_CONTRIBUTOR=Εξωτερικός συνεργάτης -OriginEmail=Πηγή ηλεκτρονικού ταχυδρομείου +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Στείλτε μήνυμα εισιτηρίου μέσω ηλεκτρονικού ταχυδρομείου # Status Read=Ανάγνωση Assigned=Ανατεθεί InProgress=Σε εξέλιξη -NeedMoreInformation=Αναμονή για πληροφορίες +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Απαντήθηκε Waiting=Αναμονή Closed=Έκλεισε @@ -160,7 +162,7 @@ CreatedBy=Δημιουργήθηκε από NewTicket=Νέο εισιτήριο SubjectAnswerToTicket=Απάντηση εισιτηρίου TicketTypeRequest=Τύπος αιτήματος -TicketCategory=Ομάδα +TicketCategory=Ticket categorization SeeTicket=Δείτε εισιτήριο TicketMarkedAsRead=Το εισιτήριο έχει επισημανθεί ως αναγνωσμένο TicketReadOn=Συνέχισε να διαβάζεις @@ -211,6 +213,7 @@ TicketMessageHelp=Μόνο αυτό το κείμενο θα αποθηκευτ TicketMessageSubstitutionReplacedByGenericValues=Οι μεταβλητές αντικατάστασης αντικαθίστανται από γενικές τιμές. TimeElapsedSince=Χρόνος που πέρασε από τότε TicketTimeToRead=Ο χρόνος που παρέμενε πριν διαβάσετε +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Επαφές εισιτήριο TicketDocumentsLinked=Έγγραφα που συνδέονται με το εισιτήριο ConfirmReOpenTicket=Επιβεβαιώστε ξανανοίξτε αυτό το εισιτήριο; diff --git a/htdocs/langs/el_GR/users.lang b/htdocs/langs/el_GR/users.lang index 2591f46a45a..fead1a510bb 100644 --- a/htdocs/langs/el_GR/users.lang +++ b/htdocs/langs/el_GR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=Αριθμός χρηστών -NbOfPermissions=Αριθμός αδειών +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Μόνο μια superadmin μπορεί να προβεί στην ανακατάταξη ενός superadmin HierarchicalResponsible=Επόπτης HierarchicView=Ιεραρχική προβολή diff --git a/htdocs/langs/el_GR/website.lang b/htdocs/langs/el_GR/website.lang index 616aedcc45e..ad1a84479f3 100644 --- a/htdocs/langs/el_GR/website.lang +++ b/htdocs/langs/el_GR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Προσθήκη ιστοτόπου Webpage=Ιστοσελίδα / δοχείο AddPage=Προσθήκη σελίδας / δοχείου PageContainer=Σελίδα -PreviewOfSiteNotYetAvailable=Δεν είναι ακόμα διαθέσιμη η προεπισκόπηση του ιστοτόπου σας %s . Πρέπει πρώτα να εισαγάγετε ένα πλήρες πρότυπο ιστότοπου ή απλά να προσθέσετε μια σελίδα / κοντέινερ . +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Η σελίδα που ζητήθηκε με id %s δεν έχει ακόμα περιεχόμενο, ή το αρχείο cache .tpl.php καταργήθηκε. Επεξεργαστείτε το περιεχόμενο της σελίδας για να το επιλύσετε. SiteDeleted=Ο ιστότοπος "%s" διαγράφηκε PageContent=Σελίδα / Contenair diff --git a/htdocs/langs/en_AU/products.lang b/htdocs/langs/en_AU/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/en_AU/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/en_AU/ticket.lang b/htdocs/langs/en_AU/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/en_AU/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/en_CA/products.lang b/htdocs/langs/en_CA/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/en_CA/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/en_CA/ticket.lang b/htdocs/langs/en_CA/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/en_CA/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/en_GB/products.lang b/htdocs/langs/en_GB/products.lang index 566871a575a..e707e316257 100644 --- a/htdocs/langs/en_GB/products.lang +++ b/htdocs/langs/en_GB/products.lang @@ -1,3 +1,2 @@ # Dolibarr language file - Source file is en_US - products PrintsheetForOneBarCode=Print several labels for one barcode -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/en_GB/ticket.lang b/htdocs/langs/en_GB/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/en_GB/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/en_IN/products.lang b/htdocs/langs/en_IN/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/en_IN/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/en_IN/ticket.lang b/htdocs/langs/en_IN/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/en_IN/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/en_SG/products.lang b/htdocs/langs/en_SG/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/en_SG/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/en_SG/ticket.lang b/htdocs/langs/en_SG/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/en_SG/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 27a6b3337a4..771f0a83e7b 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -246,9 +246,9 @@ DescThirdPartyReport=Consult here the list of third-party customers and vendors ListAccounts=List of the accounting accounts UnknownAccountForThirdparty=Unknown third-party account. We will use %s UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Subledger account not defined or third party or user unknown. We will use %s ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Subledger account not defined or third party or user unknown. Blocking error. UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error PaymentsNotLinkedToProduct=Payment not linked to any product / service OpeningBalance=Opening balance @@ -339,7 +339,7 @@ Modelcsv_normal=Classic export Modelcsv_CEGID=Export for CEGID Expert Comptabilité Modelcsv_COALA=Export for Sage Coala Modelcsv_bob50=Export for Sage BOB 50 -Modelcsv_ciel=Export for Sage Ciel Compta or Compta Evolution +Modelcsv_ciel=Export for Sage50, Ciel Compta or Compta Evo. (Format XIMPORT) Modelcsv_quadratus=Export for Quadratus QuadraCompta Modelcsv_ebp=Export for EBP Modelcsv_cogilog=Export for Cogilog diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index cc7e207ad4c..134cbdf8d9a 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -117,6 +118,7 @@ MultiCurrencySetup=Multi-currency setup MenuLimits=Limits and accuracy MenuIdParent=Parent menu ID DetailMenuIdParent=ID of parent menu (empty for a top menu) +ParentID=Parent ID DetailPosition=Sort number to define menu position AllMenus=All NotConfigured=Module/Application not configured @@ -209,6 +211,7 @@ FeatureAvailableOnlyOnStable=Feature only available on official stable versions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the trashcan to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. ModulesDesc=The modules/applications determine which features are available in the software. Some modules require permissions to be granted to users after activating the module. Click the on/off button %s of each module to enable or disable a module/application. +ModulesDesc2=Click the wheel button %s to configure the module/application. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesDeployDesc=If permissions on your file system allow it, you can use this tool to deploy an external module. The module will then be visible on the tab %s. ModulesMarketPlaces=Find external app/modules @@ -1190,6 +1193,9 @@ SetupDescription2=The following two sections are mandatory (the two first entrie SetupDescription3=%s -> %s

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

This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. SetupDescription5=Other Setup menu entries manage optional parameters. +SetupDescriptionLink=%s - %s +SetupDescription3b=Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4b=This software is a suite of many modules/applications. The modules related to your needs must be enabled and configured. Menu entries will appears with the activation of these modules. AuditedSecurityEvents=Security events that are audited NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s Audit=Security events @@ -1261,8 +1267,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1366,7 +1372,7 @@ AccountCodeManager=Options for automatic generation of customer/vendor accountin NotificationsDesc=Email notifications can be sent automatically for some Dolibarr events.
Recipients of notifications can be defined: NotificationsDescUser=* per user, one user at a time. NotificationsDescContact=* per third-party contacts (customers or vendors), one contact at a time. -NotificationsDescGlobal=* or by setting global email addresses in this setup page. +NotificationsDescGlobal=* or by setting global email addresses in the setup page of the module. ModelModules=Document Templates DocumentModelOdt=Generate documents from OpenDocument templates (.ODT / .ODS files from LibreOffice, OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1779,7 +1785,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need a link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill the next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -1989,6 +1995,12 @@ MAIN_PDF_MARGIN_TOP=Top margin on PDF MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line +MAIN_PDF_NO_SENDER_FRAME=Hide borders on sender address frame +MAIN_PDF_NO_RECIPENT_FRAME=Hide borders on recipent address frame +MAIN_PDF_HIDE_CUSTOMER_CODE=Hide customer code +MAIN_PDF_HIDE_SENDER_NAME=Hide sender/company name in address block +PROPOSAL_PDF_HIDE_PAYMENTTERM=Hide payments conditions +PROPOSAL_PDF_HIDE_PAYMENTMODE=Hide payment mode MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF NothingToSetup=There is no specific setup required for this module. SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups @@ -2089,7 +2101,7 @@ LargerThan=Larger than IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\s([^\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it.
For example, if you want to create a thirdparty with a name extracted a string 'Name: name to find' found into the body, use sender email as email, you can set the parameter field like this:
'email=HEADER:^From:(.*);name=EXTRACT:BODY:Name:\s([^\s]*);client=SET:2;'
EndPointFor=End point for %s : %s DeleteEmailCollector=Delete email collector ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? @@ -2128,13 +2140,15 @@ AskThisIDToYourBank=Contact your bank to get this ID AdvancedModeOnly=Permision available in Advanced permission mode only ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. MailToSendEventOrganization=Event Organization +MailToPartnership=Partnership AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form YouShouldDisablePHPFunctions=You should disable PHP functions IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2146,4 +2160,6 @@ RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file APIsAreNotEnabled=APIs modules are not enabled -YouShouldSetThisToOff=You should set this to 0 or off \ No newline at end of file +YouShouldSetThisToOff=You should set this to 0 or off +InstallAndUpgradeLockedBy=Install and upgrades are locked by the file %s +OldImplementation=Old implementation diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 0c660de8e22..a921aac9e48 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -590,4 +590,7 @@ FacParentLine=Invoice Line Parent SituationTotalRayToRest=Remainder to pay without taxe PDFSituationTitle=Situation n° %d SituationTotalProgress=Total progress %d %% -SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s \ No newline at end of file +SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s +RegisterPaymentAndClasiffiedPayed=Enter payment and classify 'Paid' +NoPaymentAvailable=No payment available for %s +RegisterPaymentAndClasiffiedPayedDone=Payment registered and classify 'Paid' done for invoice %s diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/en_US/cashdesk.lang b/htdocs/langs/en_US/cashdesk.lang index aba05d67fc8..80e6c564767 100644 --- a/htdocs/langs/en_US/cashdesk.lang +++ b/htdocs/langs/en_US/cashdesk.lang @@ -42,7 +42,7 @@ AddTable=Add table Place=Place TakeposConnectorNecesary='TakePOS Connector' required OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser SearchProduct=Search product Receipt=Receipt Header=Header @@ -127,4 +127,5 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) +CustomerDisplay=Customer display diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 3ed7441afa5..cb97af5c183 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -264,6 +264,7 @@ ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory ErrorAPercentIsRequired=Error, please fill in the percentage correctly ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice=Duration not defined on service. No way to calculate the hourly price. # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. diff --git a/htdocs/langs/en_US/eventorganization.lang b/htdocs/langs/en_US/eventorganization.lang index 335c257b224..a8953bf64a3 100644 --- a/htdocs/langs/en_US/eventorganization.lang +++ b/htdocs/langs/en_US/eventorganization.lang @@ -19,7 +19,7 @@ # ModuleEventOrganizationName = Event Organization EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +EventOrganizationDescriptionLong= Manage the organization of an events including conferences, speakers or attendees, with public submission and subscription page # # Menu # @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,11 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet +DateMustBeBeforeThan=%s must be before %s +DateMustBeAfterThan=%s must be after %s # # Vote page diff --git a/htdocs/langs/en_US/holiday.lang b/htdocs/langs/en_US/holiday.lang index 2393a02ee50..dfbd97cdbdc 100644 --- a/htdocs/langs/en_US/holiday.lang +++ b/htdocs/langs/en_US/holiday.lang @@ -132,3 +132,5 @@ FreeLegalTextOnHolidays=Free text on PDF WatermarkOnDraftHolidayCards=Watermarks on draft leave requests HolidaysToApprove=Holidays to approve NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidayBalanceMonthlyUpdate=Monthly update of holiday balance +XIsAUsualNonWorkingDay=%s is usualy a NON working day \ No newline at end of file diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang index ff5de8b1b3e..ef5df43e546 100644 --- a/htdocs/langs/en_US/interventions.lang +++ b/htdocs/langs/en_US/interventions.lang @@ -64,6 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template -Reopen=Reopen ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? GenerateInter=Generate intervention diff --git a/htdocs/langs/en_US/languages.lang b/htdocs/langs/en_US/languages.lang index 373fdf2eab5..e3b6bed94c8 100644 --- a/htdocs/langs/en_US/languages.lang +++ b/htdocs/langs/en_US/languages.lang @@ -2,6 +2,7 @@ Language_am_ET=Ethiopian Language_ar_AR=Arabic Language_ar_EG=Arabic (Egypt) +Language_ar_MA=Arabic (Moroco) Language_ar_SA=Arabic Language_ar_TN=Arabic (Tunisia) Language_ar_IQ=Arabic (Iraq) diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index 24c86cc885a..1c0dd638eeb 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -162,8 +162,8 @@ AdvTgtDeleteFilter=Delete filter AdvTgtSaveFilter=Save filter AdvTgtCreateFilter=Create filter AdvTgtOrCreateNewFilter=Name of new filter -NoContactWithCategoryFound=No contact/address with a category found -NoContactLinkedToThirdpartieWithCategoryFound=No contact/address with a category found +NoContactWithCategoryFound=No category found linked to some contacts/addresses +NoContactLinkedToThirdpartieWithCategoryFound=No category found linked to some thirdparties OutGoingEmailSetup=Outgoing emails InGoingEmailSetup=Incoming emails OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 863b94af564..569c709e169 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -1137,3 +1137,19 @@ CopiedToClipboard=Copied to clipboard InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. ConfirmCancel=Are you sure you want to cancel EmailMsgID=Email MsgID +SetToEnabled=Set to enabled +SetToDisabled=Set to disabled +ConfirmMassEnabling=mass enabling confirmation +ConfirmMassEnablingQuestion=Are you sure you want to enable the %s selected record(s)? +ConfirmMassDisabling=mass disabling confirmation +ConfirmMassDisablingQuestion=Are you sure you want to disable the %s selected record(s)? +RecordsEnabled=%s record(s) enabled +RecordsDisabled=%s record(s) disabled +RecordEnabled=Record enabled +RecordDisabled=Record disabled +Forthcoming=Forthcoming +Currently=Currently +ConfirmMassLeaveApprovalQuestion=Are you sure you want to approve the %s selected record(s)? +ConfirmMassLeaveApproval=Mass leave approval confirmation +RecordAproved=Record approved +RecordsApproved=%s Record(s) approved diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index bb35099ab82..ea280968ef4 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -291,3 +291,7 @@ PopuCom=Products/Services by popularity in Orders ProductStatistics=Products/Services Statistics NbOfQtyInOrders=Qty in orders SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... + +ConfirmBtnCommonContent = Are you sure you want to "%s" ? +ConfirmBtnCommonTitle = Confirm your action +CloseDialog = Close diff --git a/htdocs/langs/en_US/partnership.lang b/htdocs/langs/en_US/partnership.lang index 3a653e29967..f5b9ebcde24 100644 --- a/htdocs/langs/en_US/partnership.lang +++ b/htdocs/langs/en_US/partnership.lang @@ -77,6 +77,10 @@ YourPartnershipRefusedContent=We inform you that your partnership request has be YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. YourPartnershipCanceledContent=We inform you that your partnership has been canceled. +CountLastUrlCheckError=Number of errors for last URL check +LastCheckBacklink=Date of last URL check +ReasonDeclineOrCancel=Reason for declining or canceling + # # Status # diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index fecbe7450c2..ae199f4136b 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -341,7 +341,7 @@ ProductSheet=Product sheet ServiceSheet=Service sheet PossibleValues=Possible values GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) -UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers +UseProductFournDesc=Add a feature to define the product description defined by the vendors (for each vendor reference) in addition to the description for customers ProductSupplierDescription=Vendor description for the product UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) PackagingForThisProduct=Packaging @@ -399,3 +399,5 @@ ProductSupplierExtraFields=Additional Attributes (Supplier Prices) DeleteLinkedProduct=Delete the child product linked to the combination PMPValue=Weighted average price PMPValueShort=WAP +DefaultBOM=Default BOM +DefaultBOMDesc=The default BOM recommended to use to manufacture this product. This field can be set only if nature of product is '%s'. \ No newline at end of file diff --git a/htdocs/langs/en_US/salaries.lang b/htdocs/langs/en_US/salaries.lang index 6b4fdc94163..504f0fbcc16 100644 --- a/htdocs/langs/en_US/salaries.lang +++ b/htdocs/langs/en_US/salaries.lang @@ -17,8 +17,8 @@ TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? \ No newline at end of file diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index efa5257498c..4396139f1f9 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -255,4 +255,9 @@ MakeMovementsAndClose=Generate movements and close AutofillWithExpected=Fill real quantity with expected quantity ShowAllBatchByDefault=By default, show batch details on product "stock" tab CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration -FieldCannotBeNegative=Field "%s" cannot be negative \ No newline at end of file +FieldCannotBeNegative=Field "%s" cannot be negative +ErrorWrongBarcodemode=Unknown Barcode mode +ProductDoesNotExist=Product does not exist +ErrorSameBatchNumber=Same batch number found in inventory list +ProductBatchDoesNotExist=Product with batch/serial does not exist +ProductBarcodeDoesNotExist=Product with barcode does not exist diff --git a/htdocs/langs/en_US/ticket.lang b/htdocs/langs/en_US/ticket.lang index eea045bdc89..0b54b1d5fa8 100644 --- a/htdocs/langs/en_US/ticket.lang +++ b/htdocs/langs/en_US/ticket.lang @@ -55,7 +55,7 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email reporter +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status @@ -66,7 +66,7 @@ NeedMoreInformation=Waiting for reporter feedback NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting -Closed=Closed +SolvedClosed=Solved Deleted=Deleted # Dict @@ -186,9 +186,11 @@ TicketSeverity=Severity ShowTicket=See ticket RelatedTickets=Related tickets TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket +CloseTicket=Close|Solve ticket +AbandonTicket=Abandon ticket +CloseATicket=Close|Solve a ticket ConfirmCloseAticket=Confirm ticket closing +ConfirmAbandonTicket=Do you confirm the closing of the ticket to status 'Abandonned' ConfirmDeleteTicket=Please confirm ticket deleting TicketDeletedSuccess=Ticket deleted with success TicketMarkedAsClosed=Ticket marked as closed diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang index 1f53a5737ff..c9a6c792077 100644 --- a/htdocs/langs/en_US/trips.lang +++ b/htdocs/langs/en_US/trips.lang @@ -90,7 +90,6 @@ DATE_REFUS=Deny date DATE_SAVE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -BROUILLONNER=Reopen ExpenseReportRef=Ref. expense report ValidateAndSubmit=Validate and submit for approval ValidatedWaitingApproval=Validated (waiting for approval) diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang index a14db3882b0..841ee0f3daf 100644 --- a/htdocs/langs/en_US/users.lang +++ b/htdocs/langs/en_US/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang index 7d5b57f7da9..a3773a427a1 100644 --- a/htdocs/langs/en_US/withdrawals.lang +++ b/htdocs/langs/en_US/withdrawals.lang @@ -133,8 +133,7 @@ SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST ExecutionDate=Execution date CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer +ICS=Creditor Identifier - ICS END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction USTRD="Unstructured" SEPA XML tag ADDDAYS=Add days to Execution Date diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index 15fd8ef07c2..fafbc6e8d8a 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal as b descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source sales order as billed when customer invoice is set to paid (and if the amount of the invoice is the same as the total amount of the linked order) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classify linked source sales order as shipped when a shipment is validated (and if the quantity shipped by all shipments is the same as in the order to update) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classify linked source sales order as shipped when a shipment is closed (and if the quantity shipped by all shipments is the same as in the order to update) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) diff --git a/htdocs/langs/es_AR/admin.lang b/htdocs/langs/es_AR/admin.lang index 831d264dea4..628a46dcd9c 100644 --- a/htdocs/langs/es_AR/admin.lang +++ b/htdocs/langs/es_AR/admin.lang @@ -351,8 +351,6 @@ RunningUpdateProcessMayBeRequired=Parece que es necesario ejecutar el proceso de YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desde la línea de comandos después de iniciar sesión en un shell con el usuario %s o debe agregar la opción -W al final de la línea de comandos para proporcionar la contraseña de %s . YourPHPDoesNotHaveSSLSupport=Funciones SSL no disponibles en tu PHP DownloadMoreSkins=Más skins para descargar -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar número de IVA intracomunitario con direcciones MeteoStdMod=Modo estandar MeteoPercentageModEnabled=Modo porcentual habilitado MeteoUseMod=Haga clic para utilizar %s diff --git a/htdocs/langs/es_AR/interventions.lang b/htdocs/langs/es_AR/interventions.lang index 9a42329ecd2..d2a6549e94a 100644 --- a/htdocs/langs/es_AR/interventions.lang +++ b/htdocs/langs/es_AR/interventions.lang @@ -45,3 +45,4 @@ InterLineId=ID de línea de la intervención InterLineDate=Fecha de línea de la intervención InterLineDuration=Duración de la línea de la intervención InterLineDesc=Descripción de la línea de la intervención +Reopen=Reabierto diff --git a/htdocs/langs/es_AR/products.lang b/htdocs/langs/es_AR/products.lang index a0a6201897f..c06b4d9f528 100644 --- a/htdocs/langs/es_AR/products.lang +++ b/htdocs/langs/es_AR/products.lang @@ -72,4 +72,3 @@ PriceQtyMin=Precio para cantidad mín. PriceQtyMinCurrency=Precio (moneda) para esta cant. (sin descuento) PredefinedProductsToSell=Producto Predefinido SuppliersPrices=Precio de Proveedor -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_AR/salaries.lang b/htdocs/langs/es_AR/salaries.lang index 4b2e3729400..249c6815c03 100644 --- a/htdocs/langs/es_AR/salaries.lang +++ b/htdocs/langs/es_AR/salaries.lang @@ -4,7 +4,6 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta contable definida en la ficha SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta contable por defecto para pago de sueldos Salary=Sueldo Salaries=Sueldos -NewSalaryPayment=Nuevo pago de sueldo AddSalaryPayment=Agregar pago de sueldo SalaryPayment=Pago de sueldo SalariesPayments=Pagos de sueldos @@ -14,7 +13,5 @@ TJM=Valor promedio por día CurrentSalary=Sueldo actual THMDescription=Este valor podría ser usado para calcular el costo de tiempo insumido en un proyecto ingresado por los usuarios si se usa el Módulo de Proyectos TJMDescription=Este valor es sólo informativo y no será utilizado para cálculo alguno -LastSalaries=Ultimos %s pagos de sueldos -AllSalaries=Todos los pagos de sueldo SalariesStatistics=Estadísticas de sueldos SalariesAndPayments=Sueldos y pagos diff --git a/htdocs/langs/es_AR/ticket.lang b/htdocs/langs/es_AR/ticket.lang index 09070e70818..c608fa6569c 100644 --- a/htdocs/langs/es_AR/ticket.lang +++ b/htdocs/langs/es_AR/ticket.lang @@ -1,9 +1,6 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem TicketTypeShortPROJET=Projecto -OriginEmail=Email source Read=Leído -NeedMoreInformation=Waiting for information Waiting=Esperando Type=Tipo TicketSettings=Ajustes diff --git a/htdocs/langs/es_AR/users.lang b/htdocs/langs/es_AR/users.lang index a558a71df39..336ae22183a 100644 --- a/htdocs/langs/es_AR/users.lang +++ b/htdocs/langs/es_AR/users.lang @@ -63,8 +63,6 @@ LoginToCreate=Usuario a crear NameToCreate=Nombre del tercero para crear YourRole=Tus roles YourQuotaOfUsersIsReached=¡Se ha alcanzado su cuota de usuarios activos! -NbOfUsers=Cantidad de usuarios -NbOfPermissions=Cantidad de permisos DontDowngradeSuperAdmin=Solo un superadministrador puede degradar a un superadministrador UseTypeFieldToChange=Use el campo Tipo para cambiar OpenIDURL=URL de OpenID diff --git a/htdocs/langs/es_BO/products.lang b/htdocs/langs/es_BO/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_BO/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_BO/ticket.lang b/htdocs/langs/es_BO/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_BO/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_CL/admin.lang b/htdocs/langs/es_CL/admin.lang index 48489440e57..d62aad94c5a 100644 --- a/htdocs/langs/es_CL/admin.lang +++ b/htdocs/langs/es_CL/admin.lang @@ -846,8 +846,6 @@ ForcedToByAModule=Esta regla es forzada a %s por un módulo activado RunningUpdateProcessMayBeRequired=Parece que se requiere ejecutar el proceso de actualización (la versión del programa %s difiere de la versión de la base de datos %s) YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desde la línea de comando después de iniciar sesión en un shell con el usuario %s o debe agregar la opción -W al final de la línea de comandos para proporcionar una contraseña de %s. DownloadMoreSkins=Más pieles para descargar -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar número de IVA intracomunitario con direcciones MeteoStdMod=Modo estandar MeteoUseMod=Haz clic para usar %s TestLoginToAPI=Prueba de inicio de sesión a la API @@ -1204,7 +1202,6 @@ AGENDA_REMINDER_BROWSER_SOUND=Habilitar notificación de sonido AGENDA_SHOW_LINKED_OBJECT=Mostrar objeto vinculado en la vista de agenda ClickToDialUrlDesc=Se llama a Url cuando se hace clic en el picto de un teléfono. En la URL, puede usar etiquetas
__ PHONETO __ que se reemplazarán por el número de teléfono de la persona a quien llamar
__ PHONEFROM __ que se reemplazará por el número de teléfono de la llamada persona (suya)
__ LOGIN __ que se reemplazará con clicktodial de inicio de sesión (definido en la tarjeta de usuario)
__ PASS __ que se reemplazará con clicktodial contraseña (definida en usuario tarjeta). ClickToDialUseTelLink=Use solo un enlace "tel:" en los números de teléfono -ClickToDialUseTelLinkDesc=Use este método si sus usuarios tienen un softphone o una interfaz de software instalada en la misma computadora que el navegador y se le llama cuando hace clic en un enlace de su navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe configurar esto en "No" y completar el siguiente campo. CashDeskSetup=Configuración del módulo de punto de venta CashDeskThirdPartyForSell=Tercero genérico predeterminado para usar en ventas CashDeskBankAccountForSell=Cuenta predeterminada para usar para recibir pagos en efectivo @@ -1409,3 +1406,4 @@ RESTRICT_ON_IP=Permitir el acceso a alguna IP de host solamente (comodín no per MakeAnonymousPing=Realice un Ping anónimo '+1' al servidor de la base Dolibarr (hecho 1 vez solo después de la instalación) para permitir que la base cuente la cantidad de instalación de Dolibarr. FeatureNotAvailableWithReceptionModule=Función no disponible cuando la recepción del módulo está habilitada EmailTemplate=Plantila para email +Recommended=Recomendado diff --git a/htdocs/langs/es_CL/exports.lang b/htdocs/langs/es_CL/exports.lang index d30d032606e..a419b15a966 100644 --- a/htdocs/langs/es_CL/exports.lang +++ b/htdocs/langs/es_CL/exports.lang @@ -36,7 +36,6 @@ TypeOfLineServiceOrProduct=Tipo de línea (0 = producto, 1 = servicio) FileWithDataToImport=Archivo con datos para importar FileToImport=Archivo fuente para importar FileMustHaveOneOfFollowingFormat=El archivo a importar debe tener uno de los siguientes formatos. -DownloadEmptyExample=Descargar archivo de plantilla con información de contenido de campo (* son campos obligatorios) ChooseFormatOfFileToImport=Elija el formato de archivo que se usará como formato de archivo de importación haciendo clic en el icono %s para seleccionarlo ... SourceFileFormat=Formato de archivo fuente FieldsInSourceFile=Campos en el archivo fuente diff --git a/htdocs/langs/es_CL/main.lang b/htdocs/langs/es_CL/main.lang index f67ea6b4eee..80f355253ea 100644 --- a/htdocs/langs/es_CL/main.lang +++ b/htdocs/langs/es_CL/main.lang @@ -269,6 +269,7 @@ ResultKo=Fracaso Reporting=Informes Drafts=Borrador Opened=Abierto +OpenAll=Abrir todo) ClosedAll=Cerrado (todos) Size=tamaño Topic=Tema diff --git a/htdocs/langs/es_CL/products.lang b/htdocs/langs/es_CL/products.lang index 7795586ce04..5b07f63f3a5 100644 --- a/htdocs/langs/es_CL/products.lang +++ b/htdocs/langs/es_CL/products.lang @@ -127,7 +127,6 @@ PriceByCustomer=Diferentes precios para cada cliente PriceCatalogue=Un único precio de venta por producto / servicio PricingRule=Reglas para los precios de venta. AddCustomerPrice=Agregar precio por cliente -ForceUpdateChildPriceSoc=Establezca el mismo precio en las subsidiarias de los clientes PriceByCustomerLog=Registro de precios anteriores de los clientes MinimumPriceLimit=El precio mínimo no puede ser inferior a %s PriceExpressionSelected=Expresión de precio seleccionado @@ -167,7 +166,6 @@ SurfaceUnits=Unidad de superficie SizeUnits=Unidad de tamaño ConfirmDeleteProductBuyPrice=¿Estás seguro de que deseas eliminar este precio de compra? SubProduct=Sub producto -UseProductFournDesc=Agregue una función para definir las descripciones de los productos definidos por los proveedores además de las descripciones para los clientes. ProductSupplierDescription=Descripción del vendedor para el producto. ProductAttributeName=Atributo de variante %s ProductAttributeDeleteDialog=¿Estás seguro de que deseas eliminar este atributo? Todos los valores serán eliminados diff --git a/htdocs/langs/es_CL/salaries.lang b/htdocs/langs/es_CL/salaries.lang index 074abf0685a..e0d10e61542 100644 --- a/htdocs/langs/es_CL/salaries.lang +++ b/htdocs/langs/es_CL/salaries.lang @@ -2,7 +2,6 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Cuenta de contabilidad utilizada para terceros usuarios SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta de contabilidad dedicada definida en la tarjeta de usuario se usará solo para la contabilidad de Libro mayor auxiliar. Este se usará para el Libro mayor y como valor predeterminado de la contabilidad del Libro mayor auxiliar si no se define una cuenta de usuario dedicada en el usuario. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta de contabilidad por defecto para pagos de salarios -NewSalaryPayment=Nuevo pago de salario SalariesPayments=Sueldos pagos ShowSalaryPayment=Mostrar pago de sueldo THM=Promedio de tarifa por hora diff --git a/htdocs/langs/es_CL/ticket.lang b/htdocs/langs/es_CL/ticket.lang index c3b90781239..1a82967bc5b 100644 --- a/htdocs/langs/es_CL/ticket.lang +++ b/htdocs/langs/es_CL/ticket.lang @@ -4,7 +4,6 @@ Permission56005=Ver ticket de todos los terceros (no es efectivo para usuarios e TicketDictType=Ticket - Tipos TicketDictCategory=Ticket - Grupos TicketDictSeverity=Ticket - Severidades -TicketTypeShortISSUE=Incidencia, error o problema TicketTypeShortREQUEST=Cambio o requerimiento de mejora ErrorBadEmailAddress=Campo '%s' incorrecto MenuTicketMyAssign=Mis ticket @@ -12,10 +11,8 @@ MenuTicketMyAssignNonClosed=Mis Ticket abiertos MenuListNonClosed=Ticket abiertos TypeContact_ticket_internal_CONTRIBUTOR=Colaborador TypeContact_ticket_external_SUPPORTCLI=Contacto con el cliente / seguimiento de incidentes -OriginEmail=Fuente de correo electrónico Notify_TICKET_SENTBYMAIL=Enviar mensaje de Ticket por correo electrónico Read=Leer -NeedMoreInformation=Esperando informacion Waiting=Esperando Type=Tipo MailToSendTicketMessage=Para enviar un correo electrónico desde un mensaje de ticket @@ -60,7 +57,6 @@ CreateTicket=Crear boleto TicketsManagement=Gestión de Tickets NewTicket=Nuevo Ticket SubjectAnswerToTicket=Respuesta del Ticket -TicketCategory=Group SeeTicket=Ver Ticket TicketReadOn=Sigue leyendo TicketHistory=Historial de Tickets diff --git a/htdocs/langs/es_CL/users.lang b/htdocs/langs/es_CL/users.lang index fcdfa4649ab..49f2284ef2f 100644 --- a/htdocs/langs/es_CL/users.lang +++ b/htdocs/langs/es_CL/users.lang @@ -68,8 +68,6 @@ LoginToCreate=Inicia sesión para crear NameToCreate=Nombre de tercero a crear YourRole=Tus roles YourQuotaOfUsersIsReached=¡Su cuota de usuarios activos se alcanza! -NbOfUsers=No. de usuarios -NbOfPermissions=No. de permisos DontDowngradeSuperAdmin=Solo una superadmina puede degradar una superadmina HierarchicView=Vista Jerárquica UseTypeFieldToChange=Use el campo Tipo para cambiar diff --git a/htdocs/langs/es_CL/website.lang b/htdocs/langs/es_CL/website.lang index 24e649063d2..796e128aba2 100644 --- a/htdocs/langs/es_CL/website.lang +++ b/htdocs/langs/es_CL/website.lang @@ -16,7 +16,6 @@ EditMedias=Editar medios EditPageMeta=Edita prop pag/contenedor Webpage=Página web / contenedor AddPage=Añadir página / contenedor -PreviewOfSiteNotYetAvailable=Vista previa de su sitio web %s aún no está disponible. Primero debe ' Importar una plantilla de sitio web completa ' o simplemente ' Agregar una página / contenedor '. RequestedPageHasNoContentYet=La página solicitada con el id. %s aún no tiene contenido o el archivo de caché .tpl.php fue eliminado. Edita el contenido de la página para resolver esto. SiteDeleted=Sitio web '%s' eliminado PageContent=Página / Contenair diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang index edd6927deae..b61704a9436 100644 --- a/htdocs/langs/es_CO/admin.lang +++ b/htdocs/langs/es_CO/admin.lang @@ -954,8 +954,6 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desd YourPHPDoesNotHaveSSLSupport=Funciones SSL no disponibles en tu PHP DownloadMoreSkins=Más skins para descargar SimpleNumRefModelDesc=Devuelve el número de referencia en el formato %syymm-nnnn donde yy es el año, mm es el mes y nnnn es un número secuencial que se incrementa automáticamente sin reinicio. -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar el número de IVA intracomunitario con direcciones MeteoStdMod=Modo estandar MeteoPercentageModEnabled=Modo porcentual habilitado MeteoUseMod=Haga clic para utilizar %s @@ -1355,7 +1353,6 @@ ClickToDialSetup=Haga clic para configurar el módulo de marcado. ClickToDialUrlDesc=Url llamado cuando se hace un clic en el teléfono picto. En la URL, puede usar las etiquetas
__PHONETO__ que se reemplazarán con el número de teléfono de la persona a la que llamará
__PHONEFROM__ que se reemplazará con el número de teléfono de la llamada persona (la suya)
__LOGIN__ que será reemplazada por el inicio de sesión de clicktodial (definido en la tarjeta de usuario)
__PASS__ que será reemplazada por la contraseña de clicktodial (definida por el usuario tarjeta). ClickToDialDesc=Este módulo cambia los números de teléfono, cuando se usa una computadora de escritorio, en enlaces en los que se puede hacer clic. Un clic llamará al número. Esto se puede usar para iniciar la llamada telefónica cuando usa un softphone en su escritorio o cuando usa un sistema CTI basado en el protocolo SIP, por ejemplo. Nota: cuando se usa un teléfono inteligente, siempre se puede hacer clic en los números de teléfono. ClickToDialUseTelLink=Use solo un enlace "tel:" en los números de teléfono -ClickToDialUseTelLinkDesc=Use este método si sus usuarios tienen un softphone o una interfaz de software instalada en la misma computadora que el navegador y se le llama cuando hace clic en un enlace en su navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe configurar esto en "No" y completar el siguiente campo. CashDeskSetup=Configuración del módulo de punto de venta CashDeskThirdPartyForSell=Tercero genérico predeterminado para usar en ventas CashDeskBankAccountForSell=Cuenta predeterminada para usar para recibir pagos en efectivo @@ -1624,4 +1621,5 @@ ConfFileIsReadableOrWritableByAnyUsers=El archivo conf. puede ser leido y escrit MailToSendEventOrganization=Organización del evento YouShouldDisablePHPFunctions=Debería deshabilitar las funciones de PHP NoWritableFilesFoundIntoRootDir=No se encontraron archivos o directorios grabables de los programas comunes en su directorio raíz (Perfect!) +Recommended=Recomendado ARestrictedPath=Un camino restringido diff --git a/htdocs/langs/es_CO/banks.lang b/htdocs/langs/es_CO/banks.lang index 57fe931f374..3cbffbadf4e 100644 --- a/htdocs/langs/es_CO/banks.lang +++ b/htdocs/langs/es_CO/banks.lang @@ -79,7 +79,6 @@ TransferTo=A TransferFromToDone=La transferencia de %s a %s de %s %s ha sido grabada CheckTransmitter=Remitente ValidateCheckReceipt=¿Validar este recibo de cheque? -ConfirmValidateCheckReceipt=¿Está seguro de que desea enviar este recibo de cheque para su validación? Despues no es posible realizar cambios. DeleteCheckReceipt=¿Eliminar este recibo de cheque? ConfirmDeleteCheckReceipt=¿Está seguro de que desea eliminar este recibo de cheque? BankChecks=Cheques bancarios diff --git a/htdocs/langs/es_CO/main.lang b/htdocs/langs/es_CO/main.lang index 26b4e7b349c..0a9505ada84 100644 --- a/htdocs/langs/es_CO/main.lang +++ b/htdocs/langs/es_CO/main.lang @@ -155,6 +155,7 @@ NoOpenedElementToProcess=Ningún elemento abierto para procesar Categories=Etiquetas / categorías Category=Etiqueta / categoría ValidatedToProduce=Validado (Para producir) +OpenAll=Abrir (todo) ClosedAll=Cerrado (todo) Topic=Tema LateDesc=Un elemento se define como Retrasado según la configuración del sistema en el menú Inicio - Configuración - Alertas. diff --git a/htdocs/langs/es_CO/productbatch.lang b/htdocs/langs/es_CO/productbatch.lang index 6099d17f0a1..8efcc487e80 100644 --- a/htdocs/langs/es_CO/productbatch.lang +++ b/htdocs/langs/es_CO/productbatch.lang @@ -20,5 +20,3 @@ ShowCurrentStockOfLot=Mostrar valores actuales por pareja producto/lote ShowLogOfMovementIfLot=Mostrar registro de movimientos por pareja producto/lote StockDetailPerBatch=Valores detallados por lote SerialNumberAlreadyInUse=El número de serie %s ya se usa para el producto %s -BatchLotNumberingModules=Opciones para generación automática en masa de productos gestionados por lotes -BatchSerialNumberingModules=Opciones para generación automática en masa de productos gestionados por números de serie diff --git a/htdocs/langs/es_CO/products.lang b/htdocs/langs/es_CO/products.lang index e1656957afe..0947f215b3b 100644 --- a/htdocs/langs/es_CO/products.lang +++ b/htdocs/langs/es_CO/products.lang @@ -117,7 +117,6 @@ PriceByCustomer=Diferentes precios para cada cliente. PriceCatalogue=Un solo precio de venta por producto / servicio. PricingRule=Reglas para los precios de venta. AddCustomerPrice=Añadir precio por cliente -ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes. PriceByCustomerLog=Registro de precios de clientes anteriores MinimumPriceLimit=El precio mínimo no puede ser más bajo que %s PriceExpressionSelected=Expresión de precio seleccionado diff --git a/htdocs/langs/es_CO/salaries.lang b/htdocs/langs/es_CO/salaries.lang index 32462fd0221..515c3871e58 100644 --- a/htdocs/langs/es_CO/salaries.lang +++ b/htdocs/langs/es_CO/salaries.lang @@ -1,11 +1,9 @@ # Dolibarr language file - Source file is en_US - salaries SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Cuenta contable utilizada para usuarios de terceros SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta de contabilidad dedicada definida en la tarjeta de usuario se usará solo para la contabilidad del libro auxiliar. Este se usará para el Libro mayor y como valor predeterminado de la contabilidad del libro auxiliar si la cuenta de contabilidad del usuario dedicada no está definida. -NewSalaryPayment=Nueva tarjeta de salario +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Por defecto, deje vacía la opción "Crear automáticamente un pago total" al crear un salario. AddSalaryPayment=Agregar pago de salario THM=Tarifa por hora promedio TJM=Tarifa diaria promedio THMDescription=Este valor puede usarse para calcular el costo de tiempo consumido en un proyecto ingresado por los usuarios si se usa el módulo proyecto TJMDescription=Este valor es actualmente solo para información y no se usa para ningún cálculo. -LastSalaries=Últimos pagos de salario %s -AllSalaries=Todos los pagos de salario diff --git a/htdocs/langs/es_CO/ticket.lang b/htdocs/langs/es_CO/ticket.lang index 8d0457e7d49..e194d4fa18f 100644 --- a/htdocs/langs/es_CO/ticket.lang +++ b/htdocs/langs/es_CO/ticket.lang @@ -6,17 +6,14 @@ Permission56005=Ver tickets de todos los terceros (no efectivo para usuarios ext TicketDictType=Ticket - Tipos TicketDictCategory=Entrada - Groupes TicketDictSeverity=Ticket - Severidades -TicketTypeShortISSUE=Problema, error o problema MenuTicketMyAssign=Mis entradas MenuTicketMyAssignNonClosed=Mis entradas abiertas MenuListNonClosed=Entradas abiertas TypeContact_ticket_internal_CONTRIBUTOR=Contribuyente TypeContact_ticket_external_SUPPORTCLI=Contacto con el cliente / seguimiento de incidentes TypeContact_ticket_external_CONTRIBUTOR=Colaborador externo -OriginEmail=Fuente de correo electrónico Notify_TICKET_SENTBYMAIL=Enviar mensaje de ticket por correo electrónico Read=Leer -NeedMoreInformation=Esperando información Waiting=Esperando Type=Tipo MailToSendTicketMessage=Para enviar correo electrónico desde el mensaje del ticket diff --git a/htdocs/langs/es_DO/products.lang b/htdocs/langs/es_DO/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_DO/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_DO/ticket.lang b/htdocs/langs/es_DO/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_DO/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_EC/admin.lang b/htdocs/langs/es_EC/admin.lang index f54fc336cb0..d8e4e2dbe9c 100644 --- a/htdocs/langs/es_EC/admin.lang +++ b/htdocs/langs/es_EC/admin.lang @@ -874,8 +874,6 @@ RestoreMySQL=Importación de MySQL ForcedToByAModule= Esta regla se ha forzado a %s por un módulo activado RunningUpdateProcessMayBeRequired=Parece que es necesario ejecutar el proceso de actualización (la versión del programa %s difiere de la versión de la base de datos %s) YouMustRunCommandFromCommandLineAfterLoginToUser=Debe ejecutar este comando desde la línea de comandos después de iniciar sesión en un shell con el usuario %s o debe agregar la opción -Al final de la línea de comandos para proporcionar la contraseña %s. -ShowProfIdInAddress=Mostrar identificación profesional con direcciones -ShowVATIntaInAddress=Ocultar número de IVA intracomunitario con direcciones MeteoPercentageMod=Modo porcentual MeteoPercentageModEnabled=Modo de porcentaje habilitado MeteoUseMod=Haga clic para usar %s @@ -1250,7 +1248,6 @@ AGENDA_SHOW_LINKED_OBJECT=Mostrar objeto relacionado en la vista de la agenda ClickToDialSetup=Configuración del módulo - Haga clic para marcar ClickToDialUrlDesc=URL llamada cuando se hace clic en el icono de teléfono. En URL, puede usar las etiquetas
__PHONETO__ que se reemplazarán con el número de teléfono de la persona a quien llamar
__PHONEFROM__ que será reemplazado por el número de teléfono de la persona que llama (suyo)
__LOGIN__ que se reemplazará con el inicio de sesión de "hacer clic para marcar" (definido en la tarjeta de usuario)
__PASS __ < / b> que se reemplazará con la contraseña de "haga clic para marcar" (definida en el usuario tarjeta). ClickToDialUseTelLink=Utilizar sólo un enlace "tel:" en los números de teléfono -ClickToDialUseTelLinkDesc=Use este método si sus usuarios tienen un softphone o una interfaz de software instalada en la misma computadora que el navegador y se le llama cuando hace clic en un enlace de su navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe configurar esto en "No" y completar el siguiente campo. CashDeskSetup=Configuración del módulo de punto de venta CashDeskThirdPartyForSell=Tercero genérico predeterminado para usar en ventas CashDeskBankAccountForSell=Cuenta predeterminada para recibir pagos en efectivo @@ -1475,3 +1472,4 @@ FeatureNotAvailableWithReceptionModule=Función no disponible cuando la recepci EmailTemplate=Plantilla para correo electrónico EMailsWillHaveMessageID=Los correos electrónicos tendrán una etiqueta 'Referencias' que coincida con esta sintaxis JumpToBoxes=Vaya a Configuración -> Widgets +Recommended=Recomendado diff --git a/htdocs/langs/es_EC/exports.lang b/htdocs/langs/es_EC/exports.lang index b1f9927f4d1..87bb1574d61 100644 --- a/htdocs/langs/es_EC/exports.lang +++ b/htdocs/langs/es_EC/exports.lang @@ -36,7 +36,6 @@ TypeOfLineServiceOrProduct=Tipo de línea (0 = producto, 1 = servicio) FileWithDataToImport=Archivo con datos para importar FileToImport=Archivo de origen para importar FileMustHaveOneOfFollowingFormat=El archivo a importar debe tener uno de los siguientes formatos. -DownloadEmptyExample=Descargar archivo de plantilla con información de contenido de campo (* son campos obligatorios) ChooseFormatOfFileToImport=Elija el formato de archivo para usar como formato de archivo de importación haciendo clic en el icono %s para seleccionarlo ... SourceFileFormat=Formato del archivo fuente FieldsInSourceFile=Campos del archivo de origen diff --git a/htdocs/langs/es_EC/main.lang b/htdocs/langs/es_EC/main.lang index bf25355ae9c..66619747638 100644 --- a/htdocs/langs/es_EC/main.lang +++ b/htdocs/langs/es_EC/main.lang @@ -276,6 +276,7 @@ ResultKo=Fallo Reporting=Informes Validated=validado Opened=Abierto +OpenAll=Abrir (todo) ClosedAll=Cerrado (todos) Topic=Tema ByCompanies=Por cliente diff --git a/htdocs/langs/es_EC/products.lang b/htdocs/langs/es_EC/products.lang index 89db10fa719..9ab59f975ea 100644 --- a/htdocs/langs/es_EC/products.lang +++ b/htdocs/langs/es_EC/products.lang @@ -135,7 +135,6 @@ PriceByCustomer=Diferentes precios para cada cliente PriceCatalogue=Un precio de venta único por producto/servicio PricingRule=Reglas para los precios de venta. AddCustomerPrice=Añadir precio por cliente -ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de clientes PriceByCustomerLog=Registro de precios anteriores del cliente MinimumPriceLimit=El precio mínimo no puede ser inferior a %s PriceExpressionEditor=Editor de expresiones de precios @@ -176,7 +175,6 @@ HeightUnits=Unidad de altura SurfaceUnits=Unidad de superficie SizeUnits=Unidad de tamaño ConfirmDeleteProductBuyPrice=¿Seguro que quieres eliminar este precio de compra? -UseProductFournDesc=Agregue una función para definir las descripciones de los productos definidos por los proveedores, además de las descripciones para los clientes. ProductSupplierDescription=Descripción del vendedor del producto VariantAttributes=Atributos variantes ProductAttributes=Atributos variantes para los productos diff --git a/htdocs/langs/es_EC/salaries.lang b/htdocs/langs/es_EC/salaries.lang index 0f639c609c2..ac9132ea254 100644 --- a/htdocs/langs/es_EC/salaries.lang +++ b/htdocs/langs/es_EC/salaries.lang @@ -4,7 +4,6 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=La cuenta de contabilidad dedicada defi SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta de contabilidad por defecto para pagos de sueldos Salary=Sueldo Salaries=Sueldos -NewSalaryPayment=Nuevo pago de sueldo SalaryPayment=Pago de sueldo SalariesPayments=Pagos de sueldos ShowSalaryPayment=Mostrar pago de sueldo @@ -13,5 +12,3 @@ TJM=Tarifa diaria promedio CurrentSalary=Sueldo actual THMDescription=Este valor puede usarse para calcular el costo del tiempo consumido en un proyecto ingresado por los usuarios si se usa el proyecto del módulo TJMDescription=Actualmente, este valor es solo informativo y no se utiliza para ningún cálculo -LastSalaries=Últimos %s pagos de sueldos -AllSalaries=Todos los pagos de sueldos diff --git a/htdocs/langs/es_EC/ticket.lang b/htdocs/langs/es_EC/ticket.lang index de9e0c92141..4e80f1e8378 100644 --- a/htdocs/langs/es_EC/ticket.lang +++ b/htdocs/langs/es_EC/ticket.lang @@ -4,15 +4,12 @@ Permission56005=Vea los tickets de todos los cliente/proveedor (no es efectivo p TicketDictType=Tipos - Tickets TicketDictCategory=Ticket - Grupos TicketDictSeverity=Ticket - Prioridades -TicketTypeShortISSUE=Problema o Error ErrorBadEmailAddress=Campo '%s' incorrecto MenuListNonClosed=Tikests abiertos TypeContact_ticket_internal_CONTRIBUTOR=Contribuyente TypeContact_ticket_external_SUPPORTCLI=Contacto con el cliente / seguimiento de incidentes -OriginEmail=Origen del correo electrónico Notify_TICKET_SENTBYMAIL=Enviar mensaje del ticket por correo electrónico Read=Leer -NeedMoreInformation=Esperando información Waiting=Esperando Type=Tipo MailToSendTicketMessage=Para enviar un correo electrónico desde un ticket diff --git a/htdocs/langs/es_EC/users.lang b/htdocs/langs/es_EC/users.lang index 338829dfa75..91468ade27f 100644 --- a/htdocs/langs/es_EC/users.lang +++ b/htdocs/langs/es_EC/users.lang @@ -67,8 +67,6 @@ LoginToCreate=Ingresar para crear NameToCreate=Nombre del tercero para crear YourRole=Sus funciones YourQuotaOfUsersIsReached=¡Se alcanza su cuota de usuarios activos! -NbOfUsers=No. de usuarios -NbOfPermissions=No. de permisos DontDowngradeSuperAdmin=Sólo una superadmin puede degradar una superadmin UseTypeFieldToChange=Utilice el campo Tipo para cambiar OpenIDURL=URL de OpenID diff --git a/htdocs/langs/es_EC/website.lang b/htdocs/langs/es_EC/website.lang index 6aa45d5656f..957ff56551c 100644 --- a/htdocs/langs/es_EC/website.lang +++ b/htdocs/langs/es_EC/website.lang @@ -14,7 +14,6 @@ EditCss=Editar propiedades web EditMenu=Editar menú EditPageMeta=Editar propiedades Webpage=Página web/contenedor -PreviewOfSiteNotYetAvailable=Vista previa de su sitio web %s aún no disponible. Primero debe 'Importar una plantilla de sitio web completa' o simplemente 'Agregar una página / contenedor'. RequestedPageHasNoContentYet=La página solicitada con id %s todavía no tiene contenido o el archivo de caché .tpl.php fue eliminado. Editar el contenido de la página para resolver esto. PageContent=Página/Contenair PageDeleted=Página/Contenair '%s' del sitio web %s eliminado diff --git a/htdocs/langs/es_ES/accountancy.lang b/htdocs/langs/es_ES/accountancy.lang index 67422fcdc78..dfdb3fd42b7 100644 --- a/htdocs/langs/es_ES/accountancy.lang +++ b/htdocs/langs/es_ES/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Países no incluidos en la CEE CountriesInEECExceptMe=Países en la CEE excepto %s CountriesExceptMe=Todos los países excepto %s AccountantFiles=Exportar documentos de origen -ExportAccountingSourceDocHelp=Con esta herramienta, puede exportar los eventos de origen (lista y PDF) que se utilizaron para generar su contabilidad. Para exportar sus diarios, use la entrada de menú %s - %s. +ExportAccountingSourceDocHelp=Con esta herramienta, puede exportar los eventos de origen (lista en CSV y PDF) que se utilizaron para generar su contabilidad. +ExportAccountingSourceDocHelp2=Para exportar sus diarios, use la entrada de menú %s - %s. VueByAccountAccounting=Ver por cuenta contable VueBySubAccountAccounting=Ver por subcuenta contable @@ -328,9 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Deshabilitar la vinculación y transfere ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Desactive la vinculación y transferencia en contabilidad en informes de gastos (los informes de gastos no se tendrán en cuenta en la contabilidad) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) -ConfirmExportFile=Confirmation of the generation of the accounting export file ? +NotifiedExportDate=Fecha de exportación notificada (no será posible modificar las entradas) +NotifiedValidationDate=Validación de las entradas (no será posible modificar o eliminar las entradas) +ConfirmExportFile=¿Confirmación de la generación del archivo de exportación contable? ExportDraftJournal=Exportar libro borrador Modelcsv=Modelo de exportación Selectmodelcsv=Seleccione un modelo de exportación diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index 6071cf40a9c..dc8459672b8 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -53,6 +53,7 @@ InternalUser=Usuario interno ExternalUser=Usuario externo InternalUsers=Usuarios internos ExternalUsers=Usuarios externos +UserInterface=User interface GUISetup=Entorno SetupArea=Configuración UploadNewTemplate=Nueva(s) plantilla(s) actualizada(s) @@ -562,7 +563,7 @@ Module53Desc=Gestión de servicios Module54Name=Contratos/Suscripciones Module54Desc=Gestión de contratos (servicios o suscripciones recurrentes) Module55Name=Códigos de barras -Module55Desc=Barcode or QR code management +Module55Desc=Gestión de códigos de barras o códigos QR Module56Name=Pago por transferencia bancaria Module56Desc=Gestión de pagos a proveedores mediante órdenes de transferencia bancaria. Incluye la generación de archivos SEPA para países europeos. Module57Name=Pagos por domiciliación bancaria @@ -849,10 +850,10 @@ Permission402=Crear/modificar haberes Permission403=Validar haberes Permission404=Eliminar haberes Permission430=Usa barra de debug -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody +Permission511=Leer salarios y pagos (suyos y subordinados) +Permission512=Crear / modificar salarios y pagos +Permission514=Eliminar salarios y pagos +Permission517=Leer sueldos y pagos de todos Permission519=Exportar salarios Permission520=Consultar Créditos Permission522=Crear/modificar Créditos @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Funciones SSL no disponibles en su PHP DownloadMoreSkins=Más temas para descargar SimpleNumRefModelDesc=Devuelve el número de referencia en el formato %syymm-nnnn donde aa es el año, mm es el mes y nnnn es un número secuencial que se incrementa automáticamente sin reinicio. SimpleNumRefNoDateModelDesc=Devuelve el número de referencia en el formato %s-nnnn donde nnnn es un número secuencial que se incrementa automáticamente sin reinicio -ShowProfIdInAddress=Mostrar el identificador profesional en las direcciones -ShowVATIntaInAddress=Ocultar el identificador IVA Intracomunitario en las direcciones +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Traducción parcial MAIN_DISABLE_METEO=Deshabilitar la vista meteorológica MeteoStdMod=Modo estándar @@ -1778,7 +1779,7 @@ ClickToDialSetup=Configuración del módulo Click To Dial ClickToDialUrlDesc=Url llamada cuando se hace clic en el icono de teléfono. En la URL, puede usar los tags
__PHONETO__ que se reemplazará con el número de teléfono de la persona a llamar
__PHONEFROM__ que será reemplazado por el número de teléfono de la persona que llama (suyo)
__LOGIN__ que se reemplazará con el login clicktodial (definido en la tarjeta de usuario)
__PASS__ que será Sustituido por la contraseña clicktodial (definida en la ficha de usuario). ClickToDialDesc=Este módulo cambia los números de teléfono, cuando se usa una computadora de escritorio, en enlaces en los que se puede hacer clic. Un clic llamará al número. Esto se puede usar para iniciar una llamada telefónica cuando usa un softphone en su escritorio o cuando usa un sistema CTI basado en el protocolo SIP, por ejemplo. Nota: cuando se usa un teléfono inteligente, siempre se puede hacer clic en los números de teléfono. ClickToDialUseTelLink=Utilice el enlace "tel:" que aparece en los números de teléfono -ClickToDialUseTelLinkDesc=Utilice este método si los usuarios tienen un softphone o una interfaz de software instalado en mismo equipo que el navegador, y se llama al hacer clic en un enlace en el navegador que comienza con "tel:". Si necesita una solución de servidor completa (sin necesidad de instalación de software local), debe establecer este en "No" y rellenar siguiente campo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=TPV CashDeskSetup=Configuración del módulo Terminal Punto de Venta @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Excepto si necesita ejecutar comand PHPFunctionsRequiredForCLI=Para fines de shell (como una copia de seguridad programada de trabajos o ejecutar un programa anitivurs), debe mantener las funciones de PHP NoWritableFilesFoundIntoRootDir=No se encontraron archivos o directorios grabables de los programas comunes en su directorio raíz (Bueno) RecommendedValueIs=Recomendado: %s -NotRecommended=No recomendado +Recommended=Recomendada +NotRecommended=Not recommended ARestrictedPath=Una ruta restringida CheckForModuleUpdate=Compruebe si hay actualizaciones de módulos externos CheckForModuleUpdateHelp=Esta acción se conectará a los editores de módulos externos para comprobar si hay una nueva versión disponible. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Habilitó la API WS obsoleta. En su RandomlySelectedIfSeveral=Seleccionado aleatoriamente si hay varias imágenes disponibles DatabasePasswordObfuscated=La contraseña de la base de datos está oculta en el archivo conf DatabasePasswordNotObfuscated=La contraseña de la base de datos NO está oculta en el archivo conf +APIsAreNotEnabled=Los módulos de API no están habilitados +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/es_ES/banks.lang b/htdocs/langs/es_ES/banks.lang index 337f6d2063d..d9615d65255 100644 --- a/htdocs/langs/es_ES/banks.lang +++ b/htdocs/langs/es_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=Hacia TransferFromToDone=La transferencia de %s hacia %s de %s %s se ha creado. CheckTransmitter=Emisor ValidateCheckReceipt=¿Validar esta remesa? -ConfirmValidateCheckReceipt=¿Está seguro de que desea enviar este recibo de cheque para su validación? No es posible realizar cambios, está hecho. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=¿Eliminar esta remesa? ConfirmDeleteCheckReceipt=¿Está seguro de querer eliminar esta remesa? BankChecks=Cheques diff --git a/htdocs/langs/es_ES/boxes.lang b/htdocs/langs/es_ES/boxes.lang index fc3e239692d..4039b93773a 100644 --- a/htdocs/langs/es_ES/boxes.lang +++ b/htdocs/langs/es_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Últimos %s pedidos de clientes modificados BoxTitleLastModifiedCustomerBills=Últimas %s facturas a clientes modificadas BoxTitleLastModifiedCustomerOrders=Últimos %s pedidos de clientes modificados BoxTitleLastModifiedPropals=Últimos %s presupuestos modificados -BoxTitleLatestModifiedJobPositions=Últimos %s trabajos modificados -BoxTitleLatestModifiedCandidatures=Últimas %s candidaturas modificadas +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Facturas a clientes ForCustomersOrders=Pedidos de clientes ForProposals=Presupuestos diff --git a/htdocs/langs/es_ES/cashdesk.lang b/htdocs/langs/es_ES/cashdesk.lang index 25e2599ee74..1021bbdebb0 100644 --- a/htdocs/langs/es_ES/cashdesk.lang +++ b/htdocs/langs/es_ES/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Permitir pago aplazado PrintPaymentMethodOnReceipts=Imprimir método de pago en tickets|recibos WeighingScale=Balanza ShowPriceHT = Mostrar la columna con el precio sin impuestos (en pantalla) -ShowPriceHTOnReceipt = Mostrar la columna con el precio sin impuestos (al recibirlo) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/es_ES/deliveries.lang b/htdocs/langs/es_ES/deliveries.lang index f766e2d6734..e7778831157 100644 --- a/htdocs/langs/es_ES/deliveries.lang +++ b/htdocs/langs/es_ES/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=No enviable ShowShippableStatus=Mostrar estado del envío ShowReceiving=Mostrar nota de recepción NonExistentOrder=Pedido inexistente +StockQuantitiesAlreadyAllocatedOnPreviousLines = Cantidades de stock ya asignadas en líneas anteriores diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 3528cd3411d..1475f7b8dc9 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -11,7 +11,7 @@ ErrorBadValueForParamNotAString=Valor incorrecto para su parámetro. Generalment ErrorRefAlreadyExists=La referencia %s ya existe. ErrorLoginAlreadyExists=El login %s ya existe. ErrorGroupAlreadyExists=El grupo %s ya existe. -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=El correo electrónico %s ya existe. ErrorRecordNotFound=Registro no encontrado ErrorFailToCopyFile=Error al copiar el archivo '%s' en '%s'. ErrorFailToCopyDir=Error al copiar el directorio '%s' en '%s'. @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Se requiere el propietario del usua ErrorActionCommBadType=El tipo de evento seleccionado (id: %n, código: %s) no existe en el diccionario de tipo de evento CheckVersionFail=Error de verificación de versión ErrorWrongFileName=El nombre del archivo no puede contener __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/es_ES/eventorganization.lang b/htdocs/langs/es_ES/eventorganization.lang index ead090b21f5..d2e90e2a51b 100644 --- a/htdocs/langs/es_ES/eventorganization.lang +++ b/htdocs/langs/es_ES/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Descargar enlace ICS EVENTORGANIZATION_SECUREKEY = Secure Key del enlace de registro público a una conferencia SERVICE_BOOTH_LOCATION = Servicio utilizado para la fila de facturas sobre la ubicación de un stand SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Servicio utilizado para la fila de la factura sobre la suscripción de un asistente a una conferencia +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Esta conferencia comienza el %s y termina el %s. ConferenceAttendeeFee = Cuota de asistente a la conferencia para el evento: '%s' que ocurre desde %s a %s. BoothLocationFee = Ubicación del stand para el evento: '%s' que ocurre desde %s a %s EventType = Tipo de evento +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index 9a0e7decd49..9efcdbaae44 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipo de línea (0=producto, 1=servicio) FileWithDataToImport=Archivo que contiene los datos a importar FileToImport=Archivo origen a importar FileMustHaveOneOfFollowingFormat=El archivo de importación debe tener uno de los siguientes formatos -DownloadEmptyExample=Descargar una plantilla con la información de los contenidos de los campos (los marcados con * son obligatorios) +DownloadEmptyExample=Descargar archivo de plantilla con información de contenido de campo +StarAreMandatory=* son campos obligatorios ChooseFormatOfFileToImport=Elija el formato de archivo que desea importar haciendo en la imagen %s para seleccionarlo... ChooseFileToImport=Cargue el archivo y luego haga clic en el icono %s para seleccionar el archivo como archivo de importación de origen ... SourceFileFormat=Formato del archivo origen diff --git a/htdocs/langs/es_ES/install.lang b/htdocs/langs/es_ES/install.lang index db506fac1b6..d755ce26ba3 100644 --- a/htdocs/langs/es_ES/install.lang +++ b/htdocs/langs/es_ES/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migración de la ruta de las fotos para los usuarios MigrationFieldsSocialNetworks=Migración de campos de redes sociales de usuarios (%s) MigrationReloadModule=Recargar módulo %s MigrationResetBlockedLog=Restablecer el módulo BlockedLog para el algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostrar opciones no disponibles HideNotAvailableOptions=Ocultar opciones no disponibles ErrorFoundDuringMigration=Se ha producido un error durante el proceso de migración, por lo que el siguiente paso no está disponible. Para ignorar errores puede hacer clic aquí, pero la aplicación a algunas funcionalidades pueden no funcionar correctamente mientras no se arregle el problema. diff --git a/htdocs/langs/es_ES/knowledgemanagement.lang b/htdocs/langs/es_ES/knowledgemanagement.lang index 3c760eaac50..9a7f688b94b 100644 --- a/htdocs/langs/es_ES/knowledgemanagement.lang +++ b/htdocs/langs/es_ES/knowledgemanagement.lang @@ -37,15 +37,7 @@ About = Acerca de KnowledgeManagementAbout = Acerca de la Gestión del Conocimiento KnowledgeManagementAboutPage = Gestión del Conocimiento sobre la página -# -# Sample page -# KnowledgeManagementArea = Gestión del Conocimiento - - -# -# Menu -# MenuKnowledgeRecord = Base de Conocimientos ListKnowledgeRecord = Lista de articulos NewKnowledgeRecord = Articulo nuevo @@ -53,3 +45,5 @@ ValidateReply = Validar solución KnowledgeRecords = Artículos KnowledgeRecord = Artículo KnowledgeRecordExtraFields = Campos adicionales para el artículo +GroupOfTicket=Grupo de tickets +YouCanLinkArticleToATicketCategory=Puede vincular un artículo a un grupo de tickets (por lo que el artículo se sugerirá durante la calificación de nuevos tickets) diff --git a/htdocs/langs/es_ES/languages.lang b/htdocs/langs/es_ES/languages.lang index 1a3480bec23..88bd2e399a0 100644 --- a/htdocs/langs/es_ES/languages.lang +++ b/htdocs/langs/es_ES/languages.lang @@ -4,6 +4,7 @@ Language_ar_AR=Árabe Language_ar_EG=Árabe (Egipto) Language_ar_SA=Árabe Language_ar_TN=Árabe (Túnez) +Language_ar_IQ=Árabe (Irak) Language_az_AZ=Azerbaiyano Language_bn_BD=Bengalí Language_bn_IN=Bengalí (India) @@ -83,6 +84,7 @@ Language_ne_NP=Nepalí Language_nl_BE=Neerlandés (Bélgica) Language_nl_NL=Holandés Language_pl_PL=Polaco +Language_pt_AO=Portugués (Angola) Language_pt_BR=Portugués (Brasil) Language_pt_PT=Portugués Language_ro_MD=Rumano (Moldavia) diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index 151b6de8f7d..9fd6092f046 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -730,7 +730,7 @@ MenuMembers=Miembros MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Impuestos | Gastos especiales ThisLimitIsDefinedInSetup=Límite Dolibarr (Menú inicio-configuración-seguridad): %s Kb, PHP limit: %s Kb -ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +ThisLimitIsDefinedInSetupAt=Límite Dolibarr (Menú %s): %s Kb, Límite PHP (Param %s): %s Kb NoFileFound=No se cargaron documentos CurrentUserLanguage=Idioma actual CurrentTheme=Tema actual @@ -1136,4 +1136,4 @@ CategTypeNotFound=No se encontró ningún tipo de etiqueta para el tipo de regis CopiedToClipboard=Copiado al portapapeles InformationOnLinkToContract=Esta cantidad es solo el total de todas las líneas del contrato. No se toma en consideración ninguna noción de tiempo. ConfirmCancel=Estas seguro que quieres cancelar -EmailMsgID=Email MsgID +EmailMsgID=MsgID de correo electrónico diff --git a/htdocs/langs/es_ES/productbatch.lang b/htdocs/langs/es_ES/productbatch.lang index 0e2eb06ece1..550e18de2cb 100644 --- a/htdocs/langs/es_ES/productbatch.lang +++ b/htdocs/langs/es_ES/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Ver los movimientos de stock de este producto/lote StockDetailPerBatch=Detalle de stock por lote SerialNumberAlreadyInUse=El número de serie %s ya se utiliza para el producto %s TooManyQtyForSerialNumber=Solo puede tener un producto %s para el número de serie %s -BatchLotNumberingModules=Opciones para la generación automática de productos por lotes gestionados por lotes -BatchSerialNumberingModules=Opciones para la generación automática de productos por lotes gestionados por números de serie ManageLotMask=Máscara personalizada -CustomMasks=Agrega una opción para definir la máscara en la ficha del producto. -LotProductTooltip=Agrega una opción en la tarjeta del producto para definir una máscara de número de lote dedicada -SNProductTooltip=Agrega una opción en la tarjeta del producto para definir una máscara de número de serie dedicada +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Cantidad a agregar para cada código de barras / lote / serie escaneado LifeTime=Vida útil (en días) EndOfLife=Fin de vida diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang index 521840692ad..06c1af87189 100644 --- a/htdocs/langs/es_ES/products.lang +++ b/htdocs/langs/es_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Cambiar precios para cada cliente PriceCatalogue=Un precio único de venta por producto/servicio PricingRule=Reglas para precios de venta AddCustomerPrice=Añadir precio a cliente -ForceUpdateChildPriceSoc=Establecer el mismo precio en las filiales de los clientes +ForceUpdateChildPriceSoc=Establecer el mismo precio en las subsidiarias del cliente PriceByCustomerLog=Historial de precios a clientes MinimumPriceLimit=El precio mínimo no puede ser menor que %s MinimumRecommendedPrice=El precio mínimo recomendado es: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Incrementar/Decrementar stock al cambiar su padre ComposedProduct=Sub-producto MinSupplierPrice=Precio mínimo de compra MinCustomerPrice=Precio de venta mínimo +NoDynamicPrice=Sin precio dinámico DynamicPriceConfiguration=Configuración de precio dinámico DynamicPriceDesc=Puede establecer funciones matemáticas para calcular los precios de cliente o proveedor. Esta función puede utilizar todos los operadores matemáticos, algunas constantes y variables. Puede definir aquí las variables que desea utilizar y si la variable necesita una actualización automática, la URL externa que debe utilizarse para pedirle a Dolibarr que actualice automáticamente el valor. AddVariable=Añadir variable diff --git a/htdocs/langs/es_ES/salaries.lang b/htdocs/langs/es_ES/salaries.lang index 48215b71f6e..6c2643634c3 100644 --- a/htdocs/langs/es_ES/salaries.lang +++ b/htdocs/langs/es_ES/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Cuenta contable usada para los usuarios SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Se utilizará una cuenta contable dedicada definida en la ficha de usuario para el relleno del Libro Mayor, o como valor predeterminado de la contabilidad del Libro Mayor si no se define una cuenta contable en la ficha del usuario SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Cuenta contable por defecto para pagos de salarios +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=De forma predeterminada, deje vacía la opción "Crear automáticamente un pago total" al crear un Salario. Salary=Salario Salaries=Salarios -NewSalaryPayment=Nuevo pago +NewSalary=Nuevo salario +NewSalaryPayment=Nueva tarjeta de salario AddSalaryPayment=Añadir pago de salario SalaryPayment=Pago de salario SalariesPayments=Pagos de salarios +SalariesPaymentsOf=Pagos de sueldos de %s ShowSalaryPayment=Ver pago THM=Tasa media por hora TJM=Tasa media por día CurrentSalary=Salario actual THMDescription=Este valor puede ser usado para calcular los costos de tiempo consumidos en un proyecto indicados por los usuarios si se utiliza el módulo proyectos TJMDescription=Este valor actualmente es informativo y no se utiliza para realizar cualquier tipo de cálculo -LastSalaries=Últimos %s pagos salariales -AllSalaries=Todos los pagos salariales +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Estadísticas salariales -# Export SalariesAndPayments=Salarios y pagos +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang index 51c70a2409b..fa6354bcf4f 100644 --- a/htdocs/langs/es_ES/stocks.lang +++ b/htdocs/langs/es_ES/stocks.lang @@ -60,7 +60,7 @@ EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Crear automáticamente existencias/almacén propio del usuario en la creación del usuario AllowAddLimitStockByWarehouse=Administrar también el valor del stock mínimo y deseado de la cupla (producto-almacén) además del valor del stock mínimo y deseado por producto RuleForWarehouse=Regla para almacenes -WarehouseAskWarehouseOnThirparty=Establecer un almacén en un tercero +WarehouseAskWarehouseOnThirparty=Establecer un almacén en terceros WarehouseAskWarehouseDuringPropal=Establecer un almacén en presupuestos comerciales WarehouseAskWarehouseDuringOrder=Indicar un almacén en pedidos de clientes UserDefaultWarehouse=Indicar un almacén en usuarios @@ -167,8 +167,8 @@ MovementTransferStock=Transferencia de stock del producto %s a otro almacén InventoryCodeShort=Código Inv./Mov. NoPendingReceptionOnSupplierOrder=No existen recepciones pendientes ya que el pedido está abierto ThisSerialAlreadyExistWithDifferentDate=Este número de lote/serie (%s) ya existe, pero con una fecha de caducidad o venta diferente (encontrada %s pero ha introducido %s). -OpenAll=Abierto para todas las acciones -OpenInternal=Abierto para acciones internas +OpenAnyMovement=Abierto (todo movimiento) +OpenInternal=Abierto (solo movimiento interno) UseDispatchStatus=Utilice un estado (aprobar/rechazar) para las líneas de las recepciones de los pedidos a proveedor OptionMULTIPRICESIsOn=La opción "varios precios por segmento" está activada. Esto significa que un producto tiene varios precio de venta, por lo que el valor de venta no puede calcularse ProductStockWarehouseCreated=Límite stock para alertas y stock óptimo deseado creado correctamente diff --git a/htdocs/langs/es_ES/ticket.lang b/htdocs/langs/es_ES/ticket.lang index c022e7d79a9..5e4eb704085 100644 --- a/htdocs/langs/es_ES/ticket.lang +++ b/htdocs/langs/es_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolución TicketTypeShortCOM=Pregunta comercial TicketTypeShortHELP=Solicitud de ayuda funcional -TicketTypeShortISSUE=Asunto, error o problema +TicketTypeShortISSUE=Problema o error +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Solicitud de cambio o mejora TicketTypeShortPROJET=Proyecto TicketTypeShortOTHER=Otro @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuario asignado TypeContact_ticket_external_SUPPORTCLI=Contacto cliente / seguimiento de incidentes TypeContact_ticket_external_CONTRIBUTOR=Contribuidor externo -OriginEmail=Origen E-Mail +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Enviar mensaje de ticket por e-mail # Status Read=Leido Assigned=Asignado InProgress=En progreso -NeedMoreInformation=En espera de información +NeedMoreInformation=Esperando comentarios del remitente +NeedMoreInformationShort=Esperando comentarios Answered=Contestado Waiting=En espera Closed=Cerrado @@ -160,7 +162,7 @@ CreatedBy=Creado por NewTicket=Nuevo ticket SubjectAnswerToTicket=Respuesta TicketTypeRequest=Tipo de solicitud -TicketCategory=Grupo +TicketCategory=Categorización de tickets SeeTicket=Ver ticket TicketMarkedAsRead=El ticket ha sido marcado como leído TicketReadOn=Leído el @@ -211,6 +213,7 @@ TicketMessageHelp=Solo este texto se guardará en la lista de mensajes en la fic TicketMessageSubstitutionReplacedByGenericValues=Las variables de sustitución se reemplazan por valores genéricos. TimeElapsedSince=Tiempo transcurrido desde TicketTimeToRead=Tiempo transcurrido antes de leer el ticket +TicketTimeElapsedBeforeSince=Tiempo transcurrido antes / desde TicketContacts=Contactos del ticket TicketDocumentsLinked=Documentos relacionados con el ticket ConfirmReOpenTicket=¿Está seguro de querer reabrir este ticket? diff --git a/htdocs/langs/es_ES/users.lang b/htdocs/langs/es_ES/users.lang index f0727893f02..9294f70a515 100644 --- a/htdocs/langs/es_ES/users.lang +++ b/htdocs/langs/es_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login a crear NameToCreate=Nombre del tercero a crear YourRole=Sus roles YourQuotaOfUsersIsReached=¡Ha llegado a su cuota de usuarios activos! -NbOfUsers=Nº de usuarios -NbOfPermissions=Nº de permisos +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Sólo un superadmin puede degradar un superadmin HierarchicalResponsible=Supervisor HierarchicView=Vista jerárquica diff --git a/htdocs/langs/es_ES/website.lang b/htdocs/langs/es_ES/website.lang index b8d6f149b3f..6beb32ced39 100644 --- a/htdocs/langs/es_ES/website.lang +++ b/htdocs/langs/es_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Añadir sitio web Webpage=Página web/Contenedor AddPage=Añadir página/contenedor PageContainer=Página -PreviewOfSiteNotYetAvailable=La vista previa de su sitio web %s aún no está disponible. Primero debe 'Importar una plantilla de sitio web completa' o simplemente 'Agregar una página/contenedor'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=La página pedida con id %s todavía no tiene contenido, o cache file.tpl.php ha sido eliminado. Editar el contenido de la página para resolverlo. SiteDeleted=Sitio web '%s' eliminado PageContent=Página/Contenedor diff --git a/htdocs/langs/es_GT/products.lang b/htdocs/langs/es_GT/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_GT/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_GT/ticket.lang b/htdocs/langs/es_GT/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_GT/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_HN/products.lang b/htdocs/langs/es_HN/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_HN/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_HN/ticket.lang b/htdocs/langs/es_HN/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_HN/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_MX/products.lang b/htdocs/langs/es_MX/products.lang index 1759470aab4..8ade985e293 100644 --- a/htdocs/langs/es_MX/products.lang +++ b/htdocs/langs/es_MX/products.lang @@ -11,7 +11,6 @@ DeleteProduct=Eliminar un producto / servicio ExportDataset_produit_1=Productos ImportDataset_produit_1=productos BarCodePrintsheet=Imprimir código de barras -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries GlobalVariableUpdaterType0=Datos JSON GlobalVariableUpdaterHelp0=Analiza los datos JSON de la URL especificada, VALUE especifica la ubicación del valor relevante, GlobalVariableUpdaterHelpFormat0=Formato de la solicitud {"URL": "http://example.com/urlofjson", "VALUE": "array1, array2, targetvalue"} diff --git a/htdocs/langs/es_MX/ticket.lang b/htdocs/langs/es_MX/ticket.lang index f49d39d3a5b..59745fa1759 100644 --- a/htdocs/langs/es_MX/ticket.lang +++ b/htdocs/langs/es_MX/ticket.lang @@ -1,7 +1,4 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information Closed=Cerrada TicketSettings=Configuraciónes TicketMessageMailIntroText=Hola,
Se envió una nueva respuesta en un ticket con el que se comunicó. Aquí está el mensaje:
diff --git a/htdocs/langs/es_PA/products.lang b/htdocs/langs/es_PA/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_PA/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_PA/ticket.lang b/htdocs/langs/es_PA/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_PA/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_PE/products.lang b/htdocs/langs/es_PE/products.lang index 878b4c23757..e682fe300a6 100644 --- a/htdocs/langs/es_PE/products.lang +++ b/htdocs/langs/es_PE/products.lang @@ -5,4 +5,3 @@ ProductServiceCard=Ficha Productos/Servicios ProductOrService=Producto o Servicio ListOfStockMovements=Lista de movimientos de stock ExportDataset_produit_1=Productos -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_PE/ticket.lang b/htdocs/langs/es_PE/ticket.lang index 316ed01752a..1f39a627933 100644 --- a/htdocs/langs/es_PE/ticket.lang +++ b/htdocs/langs/es_PE/ticket.lang @@ -1,9 +1,5 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source Read=Leer -NeedMoreInformation=Waiting for information Type=Tipo TicketSettings=Configuración -TicketCategory=Group TicketNewEmailBodyInfosTrackUrl=Puedes ver la progresión del ticket haciendo click sobre el seguimiento del ticket. diff --git a/htdocs/langs/es_PY/products.lang b/htdocs/langs/es_PY/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_PY/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_PY/ticket.lang b/htdocs/langs/es_PY/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_PY/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_US/products.lang b/htdocs/langs/es_US/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_US/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_US/ticket.lang b/htdocs/langs/es_US/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_US/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_UY/products.lang b/htdocs/langs/es_UY/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/es_UY/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/es_UY/ticket.lang b/htdocs/langs/es_UY/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/es_UY/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/es_VE/products.lang b/htdocs/langs/es_VE/products.lang index 890163bca26..1b3375e9970 100644 --- a/htdocs/langs/es_VE/products.lang +++ b/htdocs/langs/es_VE/products.lang @@ -1,4 +1,8 @@ # Dolibarr language file - Source file is en_US - products +ProductDescription=Descripción del Producto +ProductVatMassChange=Actualización global del IVA +MassBarcodeInit=Inicialización masiva de código de barra +MassBarcodeInitDesc=Esta página se puede utilizar para inicializar un código de barras en objetos que no tienen un código de barras definido. Verifique antes de que se complete la configuración del código de barras del módulo. ProductsOnSaleOnly=Productos solo a para venta ProductsOnPurchaseOnly=Productos solo para compra ProductStatusNotOnBuyShort=Fuera compra diff --git a/htdocs/langs/es_VE/salaries.lang b/htdocs/langs/es_VE/salaries.lang deleted file mode 100644 index e08b06e4b39..00000000000 --- a/htdocs/langs/es_VE/salaries.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - salaries -THMDescription=Este valor puede ser utilizado para calcular el costo de tiempo consumido en un proyecto que ponen los usuarios si se utiliza el proyecto de módulo -TJMDescription=Este valor es actualmente como única información y no se utiliza para cualquier cálculo diff --git a/htdocs/langs/es_VE/ticket.lang b/htdocs/langs/es_VE/ticket.lang index bf1d98261e2..29893df37f8 100644 --- a/htdocs/langs/es_VE/ticket.lang +++ b/htdocs/langs/es_VE/ticket.lang @@ -1,7 +1,4 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem TicketTypeShortOTHER=Otra -OriginEmail=Email source -NeedMoreInformation=Waiting for information Closed=Cerrada Type=Tipo diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index 7601ac71601..c8c4421b14c 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -53,6 +53,7 @@ InternalUser=Sisemine kasutaja ExternalUser=Väline kasutaja InternalUsers=Sisemised kasutajad ExternalUsers=Välised kasutajad +UserInterface=User interface GUISetup=Kuva SetupArea=Seadistamine UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Antud PHP ei võimalda SSL funktsioone DownloadMoreSkins=Veel alla laetavaid kujundusi SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Osaline tõlge MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial mooduli seadistamine ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Soovitatav +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/et_EE/banks.lang b/htdocs/langs/et_EE/banks.lang index b3b113ab55c..81d8f592967 100644 --- a/htdocs/langs/et_EE/banks.lang +++ b/htdocs/langs/et_EE/banks.lang @@ -115,7 +115,7 @@ TransferTo=Kuhu TransferFromToDone=Kanne kontolt %s kontole %s väärtuses %s %s on registreeritud. CheckTransmitter=Saatja ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Pangatšekid diff --git a/htdocs/langs/et_EE/boxes.lang b/htdocs/langs/et_EE/boxes.lang index d86d56d95db..4e4b82aa999 100644 --- a/htdocs/langs/et_EE/boxes.lang +++ b/htdocs/langs/et_EE/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Müügiarved ForCustomersOrders=Müügiarved ForProposals=Pakkumised diff --git a/htdocs/langs/et_EE/cashdesk.lang b/htdocs/langs/et_EE/cashdesk.lang index 4138051e489..67ddee7d5ec 100644 --- a/htdocs/langs/et_EE/cashdesk.lang +++ b/htdocs/langs/et_EE/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/et_EE/deliveries.lang b/htdocs/langs/et_EE/deliveries.lang index c08d77986b4..69449b457ca 100644 --- a/htdocs/langs/et_EE/deliveries.lang +++ b/htdocs/langs/et_EE/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Vastuvõtja ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index 729c1768fc6..fd7764916c3 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/et_EE/eventorganization.lang b/htdocs/langs/et_EE/eventorganization.lang index 2aeb7c22d4d..a293099c81f 100644 --- a/htdocs/langs/et_EE/eventorganization.lang +++ b/htdocs/langs/et_EE/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Sündmuse tüüp +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/et_EE/exports.lang b/htdocs/langs/et_EE/exports.lang index ed1048c18f3..d3524c6c436 100644 --- a/htdocs/langs/et_EE/exports.lang +++ b/htdocs/langs/et_EE/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Rea liik (0=toode, 1=teenus) FileWithDataToImport=Imporditavate andmetega fai FileToImport=Imporditav lähtefai FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Lähtefaili formaat diff --git a/htdocs/langs/et_EE/install.lang b/htdocs/langs/et_EE/install.lang index f89a2c5d868..05bb80c548f 100644 --- a/htdocs/langs/et_EE/install.lang +++ b/htdocs/langs/et_EE/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/et_EE/interventions.lang b/htdocs/langs/et_EE/interventions.lang index 9f2db49e62c..c169cb3abb6 100644 --- a/htdocs/langs/et_EE/interventions.lang +++ b/htdocs/langs/et_EE/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/et_EE/productbatch.lang b/htdocs/langs/et_EE/productbatch.lang index fc918eb815e..6faf773f01c 100644 --- a/htdocs/langs/et_EE/productbatch.lang +++ b/htdocs/langs/et_EE/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/et_EE/products.lang b/htdocs/langs/et_EE/products.lang index 9e8e3e907ef..204a655a913 100644 --- a/htdocs/langs/et_EE/products.lang +++ b/htdocs/langs/et_EE/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimaalne ostuhind MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/et_EE/salaries.lang b/htdocs/langs/et_EE/salaries.lang index d3ee991fc6e..2b0d9e69b4d 100644 --- a/htdocs/langs/et_EE/salaries.lang +++ b/htdocs/langs/et_EE/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Palk Salaries=Palgad -NewSalaryPayment=Uus palga makse +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Palga makse SalariesPayments=Palkade maksed +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Näita palga makset THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/et_EE/ticket.lang b/htdocs/langs/et_EE/ticket.lang index d2750a58d9d..0c5db5afc31 100644 --- a/htdocs/langs/et_EE/ticket.lang +++ b/htdocs/langs/et_EE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Muu @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Loe Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Ootel Closed=Suletud @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Rühm +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/et_EE/users.lang b/htdocs/langs/et_EE/users.lang index 9898bac8b6d..16e4557ac3d 100644 --- a/htdocs/langs/et_EE/users.lang +++ b/htdocs/langs/et_EE/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Loodav kasutajanimi NameToCreate=Loodava kolmanda isiku nimi YourRole=Sinu rollid YourQuotaOfUsersIsReached=Sinu aktiivsete kasutajate kvoot on täis! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Ainult superadministraator saab ära võtta superadministraatori õigusi HierarchicalResponsible=Supervisor HierarchicView=Struktuuri vaade diff --git a/htdocs/langs/et_EE/website.lang b/htdocs/langs/et_EE/website.lang index ba5d90f597c..6c4c9ab817c 100644 --- a/htdocs/langs/et_EE/website.lang +++ b/htdocs/langs/et_EE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Lehekülg -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index 997c5d55f17..b6f5b58e0b6 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -53,6 +53,7 @@ InternalUser=Barneko erabiltzailea ExternalUser=Kanpoko erabiltzailea InternalUsers=Barneko erabiltzaileak ExternalUsers=Kanpoko erabiltzaileak +UserInterface=User interface GUISetup=Itxura SetupArea=Konfigurazioa UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Gomendatua +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/eu_ES/banks.lang b/htdocs/langs/eu_ES/banks.lang index 222600a6f21..0ba2263650a 100644 --- a/htdocs/langs/eu_ES/banks.lang +++ b/htdocs/langs/eu_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/eu_ES/boxes.lang b/htdocs/langs/eu_ES/boxes.lang index 1b6d9981dcb..140d3e05df1 100644 --- a/htdocs/langs/eu_ES/boxes.lang +++ b/htdocs/langs/eu_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposamenak diff --git a/htdocs/langs/eu_ES/cashdesk.lang b/htdocs/langs/eu_ES/cashdesk.lang index d44d0f51a27..02924b9aeb5 100644 --- a/htdocs/langs/eu_ES/cashdesk.lang +++ b/htdocs/langs/eu_ES/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/eu_ES/deliveries.lang b/htdocs/langs/eu_ES/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/eu_ES/deliveries.lang +++ b/htdocs/langs/eu_ES/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/eu_ES/eventorganization.lang b/htdocs/langs/eu_ES/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/eu_ES/eventorganization.lang +++ b/htdocs/langs/eu_ES/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/eu_ES/exports.lang b/htdocs/langs/eu_ES/exports.lang index bcb14df4934..15648132025 100644 --- a/htdocs/langs/eu_ES/exports.lang +++ b/htdocs/langs/eu_ES/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/eu_ES/interventions.lang b/htdocs/langs/eu_ES/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/eu_ES/interventions.lang +++ b/htdocs/langs/eu_ES/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/eu_ES/productbatch.lang b/htdocs/langs/eu_ES/productbatch.lang index 1c7a90fb6a0..9763bc18081 100644 --- a/htdocs/langs/eu_ES/productbatch.lang +++ b/htdocs/langs/eu_ES/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index 5b433015be3..9e79be7d962 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/eu_ES/salaries.lang b/htdocs/langs/eu_ES/salaries.lang index f73ea288346..76bd89a54f6 100644 --- a/htdocs/langs/eu_ES/salaries.lang +++ b/htdocs/langs/eu_ES/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Soldata Salaries=Soldatak -NewSalaryPayment=Soldata ordainketa berria +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Soldata ordainketa SalariesPayments=Soldaten ordainketak +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Soldataren ordainketa erakutsi THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/eu_ES/ticket.lang b/htdocs/langs/eu_ES/ticket.lang index 36e88ee96aa..2f412bce3e3 100644 --- a/htdocs/langs/eu_ES/ticket.lang +++ b/htdocs/langs/eu_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Besteak @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Taldea +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/eu_ES/users.lang b/htdocs/langs/eu_ES/users.lang index c9a8003ee87..c7b66cbf637 100644 --- a/htdocs/langs/eu_ES/users.lang +++ b/htdocs/langs/eu_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/eu_ES/website.lang b/htdocs/langs/eu_ES/website.lang index 5a23a52885b..301b65b4efa 100644 --- a/htdocs/langs/eu_ES/website.lang +++ b/htdocs/langs/eu_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index 8d77e7206b5..a7154469d98 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -53,6 +53,7 @@ InternalUser=کاربر داخلی ExternalUser=کاربر خارجی InternalUsers=کاربران داخلی ExternalUsers=کاربران خارجی +UserInterface=User interface GUISetup=نمایش SetupArea=برپاسازی UploadNewTemplate=بارگذاری قالب‌(های) جدید @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=توابع SSL در PHP شما موجود نیست DownloadMoreSkins=پوسته‌های بیشتر برای دریافت SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=نمایش شناسۀ حرفه‌ای و نشانی -ShowVATIntaInAddress=پنهان کردن شمارۀ م‌ب‌اا داخل‌جامعه‌ای-اروپا به‌همراه نشانی‌ها +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=ترجمه جزئی MAIN_DISABLE_METEO=غیرفعال‌کردن نمای هواشناسانه MeteoStdMod=حالت استاندارد @@ -1778,7 +1779,7 @@ ClickToDialSetup=برپاسازی واحد کلیک برای شماره‌گیر ClickToDialUrlDesc=یک نشانی‌اینترنتی در هنگام کلیک بر روی نماد تلفن فراخوان می‌شود. در نشانی‌اینترنتی شما می‌توانید از برچسب‌های
__PHONETO__ که با شمارۀ یک شخص برای تماس است تعویض خواهد شد،
__PHONEFROM__ که با شمارۀ شخص تماس گیرنده (شما) تعویض خواهد شد
__LOGIN__ که با شناسۀ ورود clicktodial (تعریف شده در کارت کاربر) تعویض خواهد شد،
__PASS__ که با گذرواژۀ clicktodial (تعریف شده در کارت کاربر) تعویض خواهد شد. ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=فقط یک عبارت "tel:" به پیوند شماره‌تلفن‌ها اضافه شود -ClickToDialUseTelLinkDesc=این گزینه را برای حالتی اضافه کنید که کاربران شما یک تلفن‌مجازی یا یک رابط نرم‌افزاری روی رایانۀ خود و یا مرورگر خود نصب دارند، این نرم‌افزارها در هنگامی فراخوان خواهند شد که پیوندی با پیشوند "tel:" کلیک شود. در صورتی که شما به یک سرور تمام عیار احتیاج دارید (که نیازی به نصب نرم افزار محلی ندارد)، شما باید گزینۀ "خیر" را انتخاب کرده و بخش بعدی را پر کنید. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=صندوق CashDeskSetup=برپاسازی واحد صندوق @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=توصیه شده +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/fa_IR/banks.lang b/htdocs/langs/fa_IR/banks.lang index 29ea11ddce1..90530ed6f4d 100644 --- a/htdocs/langs/fa_IR/banks.lang +++ b/htdocs/langs/fa_IR/banks.lang @@ -115,7 +115,7 @@ TransferTo=به TransferFromToDone=یک انتقال از %s به %s مربوط به %s%s ثبت شد. CheckTransmitter=فرستنده ValidateCheckReceipt=اعتباردهی به این رسید چک؟ -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=حذف این رسید چک ConfirmDeleteCheckReceipt=آیا مطمئنید می‌خواهید این رسیدچک را حذف کنید؟ BankChecks=چک‌های بانکی diff --git a/htdocs/langs/fa_IR/boxes.lang b/htdocs/langs/fa_IR/boxes.lang index 96776de5b0b..9d14606e660 100644 --- a/htdocs/langs/fa_IR/boxes.lang +++ b/htdocs/langs/fa_IR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=سفارشات به فروشنده: آخر BoxTitleLastModifiedCustomerBills=صورت‌حساب‌های مشتری: آخرین %s تغییریافته BoxTitleLastModifiedCustomerOrders=سفارشات فروش: آخرین %s تغییریافته BoxTitleLastModifiedPropals=آخرین %s پیشنهاد تغییریافته -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=صورت‌حساب‌های مشتریان ForCustomersOrders=سفارشات مشتریان ForProposals=پیشنهادات diff --git a/htdocs/langs/fa_IR/cashdesk.lang b/htdocs/langs/fa_IR/cashdesk.lang index c512095ac7e..dd9bdac7a46 100644 --- a/htdocs/langs/fa_IR/cashdesk.lang +++ b/htdocs/langs/fa_IR/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/fa_IR/deliveries.lang b/htdocs/langs/fa_IR/deliveries.lang index 9874e159bd4..212ff06390f 100644 --- a/htdocs/langs/fa_IR/deliveries.lang +++ b/htdocs/langs/fa_IR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=دریافت کننده ErrorStockIsNotEnough=این سهام به اندازه کافی وجود ندارد Shippable=حمل و نقلی NonShippable=حمل و نقلی نیست +ShowShippableStatus=Show shippable status ShowReceiving=نمایش رسید تحویل NonExistentOrder=سفارش ناقص +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index 2267961f825..744448668ab 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/fa_IR/eventorganization.lang b/htdocs/langs/fa_IR/eventorganization.lang index 56db47c070e..7f259e7eb7c 100644 --- a/htdocs/langs/fa_IR/eventorganization.lang +++ b/htdocs/langs/fa_IR/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = نوع روی‌دا +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/fa_IR/exports.lang b/htdocs/langs/fa_IR/exports.lang index c514c0638f1..d7f97893e3d 100644 --- a/htdocs/langs/fa_IR/exports.lang +++ b/htdocs/langs/fa_IR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=نوع سطر (0 = محصول، 1 = خدمات) FileWithDataToImport=فایل حاوی داده برای وارد کردن FileToImport=فایل منبع برای واردکردن FileMustHaveOneOfFollowingFormat=فایلی که وارد می‌شود باید یکی از انواع زیر باشد -DownloadEmptyExample=دریافت فایل قالب با اطلاعات محتوای بخش‌ها ( * بخش‌های الزامی است) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=انتخاب نوع فایل برای استفاده به‌عنوان فایل واردات با کلیک بر روی نمادک %s برای انتخاب آن ... ChooseFileToImport=فایل را بالاگذاری کرده و سپس روی نشانک %s کلیک کرده تا به‌عنوان فایل منبع واردات استفاده شود. SourceFileFormat=نوع فایل منبع diff --git a/htdocs/langs/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index 88f93c2c2b8..442890c4649 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=انتقال مسیرهای تصاویر مربوط به MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=بارگذاری دوبارۀ واحد %s MigrationResetBlockedLog=بازنشانی واحد BlockedLog  برای الگوریتم نسخۀ 7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=نمایش گزینه‌های خارج‌ازدسترس HideNotAvailableOptions=پنهان کردن گزینه‌های خارج از دسترس ErrorFoundDuringMigration=خطا(ها)ئی که در طول انجام انتقال گزارش می‌شوند و منجر به این می‌شوند گام بعدی فعال نباشد. برای نادیده گرفتن خطاها شما باید اینجا کلیک کنید، اما ممکن است برنامه یا برخی قابلیت‌ها تا زمانی که خطاها رفع نشود، کار نکند. diff --git a/htdocs/langs/fa_IR/interventions.lang b/htdocs/langs/fa_IR/interventions.lang index 546e61e10b5..37f539fb6eb 100644 --- a/htdocs/langs/fa_IR/interventions.lang +++ b/htdocs/langs/fa_IR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=طول‌مدت سطر پادرمیانی InterLineDesc=توضیحات سطر پادرمیانی RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/fa_IR/productbatch.lang b/htdocs/langs/fa_IR/productbatch.lang index 8b91d0b6960..bd0b4efd04d 100644 --- a/htdocs/langs/fa_IR/productbatch.lang +++ b/htdocs/langs/fa_IR/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=نمایش گزارش‌کار جابجائی‌های م StockDetailPerBatch=جزئیات موجودی هر سری‌ساخت SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index a199ff418ed..be681f79ce0 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=قیمت متفاوت برای هر مشتری PriceCatalogue=یک قیمت واحد برای هر محصول/خدمات PricingRule=مقررات قیمت‌های فروش AddCustomerPrice=افزودن قیمت برحسب مشتری -ForceUpdateChildPriceSoc=تنظیم قیمت تعیین شده برای مشتری برای زیرمجموعه‌های آن +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=ثبت‌گزارش همۀ قیمت‌های قبلی مربوط به مشتری MinimumPriceLimit=حداقل قیمت نمی‌تواند کمتر از %s باشد MinimumRecommendedPrice=حداقل قیمت پیشنهادی برابر است با: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=کم/زیاد کردن موجودی در هنگام ComposedProduct=محصولات فرزند MinSupplierPrice=حداقل قیمت خرید MinCustomerPrice=حداقل قیمت فروش +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=پیکربندی قیمت پویا DynamicPriceDesc=شما می‌توانید فرمول ریاضی برای محاسبۀ قیمت‌های مشتری یا فروشنده تعریف کنید. چنین فرمول‌هائی امکان استفاده از عمل‌گرهای ریاضی را بعلاوۀ تعداد مقدارثابت و متغیر دارند. شما می‌توانید در اینجا متغیرهائی که برای استفاده نیاز دارید تعریف کنید. در صورتی که متغیر نیازمند به‌روز‌رسانی خودکار باشد، شما باید نشانی خارجی متعلق به آن را برای به‌روز‌رسانی خودکار مقدار آن به Dolibarr بدهید AddVariable=افزودن متغیر diff --git a/htdocs/langs/fa_IR/salaries.lang b/htdocs/langs/fa_IR/salaries.lang index 30a8abd15d1..800337b1103 100644 --- a/htdocs/langs/fa_IR/salaries.lang +++ b/htdocs/langs/fa_IR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=حقوق Salaries=حقوق -NewSalaryPayment=پرداخت حقوق و دستمزد جدید +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=پرداخت حقوق و دستمزد SalariesPayments=حقوق پرداخت +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=نمایش پرداخت حقوق و دستمزد THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/fa_IR/ticket.lang b/htdocs/langs/fa_IR/ticket.lang index 3fbcff25590..08f79aa9074 100644 --- a/htdocs/langs/fa_IR/ticket.lang +++ b/htdocs/langs/fa_IR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=سوال تجاری TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=طرح TicketTypeShortOTHER=سایر @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=کاربر نسبت داده شده TypeContact_ticket_external_SUPPORTCLI=طرف‌تماس‌مشتری / ره‌گیری حادثه TypeContact_ticket_external_CONTRIBUTOR=مشارکت‌کنندۀ بیرونی -OriginEmail=منبع رایانامه +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=ارسال پیام برگه با رایانامه # Status Read=خوانده‌شده Assigned=نسبت‌داده شده InProgress=در حال انجام -NeedMoreInformation=در انتظار اطلاعات +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=پاسخ داده شده Waiting=در انتظار Closed=بسته @@ -160,7 +162,7 @@ CreatedBy=ساخته‌شده توسط NewTicket=برگۀ جدید SubjectAnswerToTicket=پاسخ برگه TicketTypeRequest=نوع درخواست -TicketCategory=گروه +TicketCategory=Ticket categorization SeeTicket=نمایش برگه TicketMarkedAsRead=برگه به صورت خوانده شده علامت‌گذاری شد TicketReadOn=خواندن @@ -211,6 +213,7 @@ TicketMessageHelp=تنها این نوشته در فهرست پیام در کا TicketMessageSubstitutionReplacedByGenericValues=متغیرهای جایگزین با مقادیر عمومی جایگزین خواهند شد TimeElapsedSince=زمان سپری شده از TicketTimeToRead=زمان سپری شد قبل از خوانده‌شدن +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=برگۀ طرف‌های تماس TicketDocumentsLinked=مستندات پیوند شده با برگۀ‌تماس ConfirmReOpenTicket=تائید بازگشائی این برگه؟ diff --git a/htdocs/langs/fa_IR/users.lang b/htdocs/langs/fa_IR/users.lang index 3c3e52aaea5..cabc87573d0 100644 --- a/htdocs/langs/fa_IR/users.lang +++ b/htdocs/langs/fa_IR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=شناسۀ‌کاربری برای ایجاد NameToCreate=نام شخص‌سوم برای ایجاد YourRole=roleهای شما YourQuotaOfUsersIsReached=سهمیه شما از کاربران فعال پر شده است! -NbOfUsers=تعداد کاربران -NbOfPermissions=تعداد مجوزها +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=فقط یک مدیرکل می‌تواند یک مدیرکل‌دیگر را کاهش‌رتبه بدهد HierarchicalResponsible=سرپرست HierarchicView=نمای درختی diff --git a/htdocs/langs/fa_IR/website.lang b/htdocs/langs/fa_IR/website.lang index 373034849ee..8f29c0be3c2 100644 --- a/htdocs/langs/fa_IR/website.lang +++ b/htdocs/langs/fa_IR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=صفحه -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index 00058ce7a2c..ddd31505c47 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -53,6 +53,7 @@ InternalUser=Sisäinen käyttäjä ExternalUser=Ulkoinen käyttäjä InternalUsers=Sisäiset käyttäjät ExternalUsers=Ulkopuoliset käyttäjät +UserInterface=User interface GUISetup=Näyttö SetupArea=Asetukset UploadNewTemplate=Päivitä uusi pohja(t) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL toimintoja ei saatavilla PHP DownloadMoreSkins=Lisää nahat ladata SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Osittainen käännös MAIN_DISABLE_METEO=Poista meteorologinen näkymä käytöstä MeteoStdMod=Standardi tila @@ -1778,7 +1779,7 @@ ClickToDialSetup='Click To Dial'-moduulin asetukset ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Käytä vain linkkiä "tel:" puhelinnumeroihin -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Kassapääte CashDeskSetup='Kassapääte' - moduulin asetukset @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Suositeltava +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/fi_FI/banks.lang b/htdocs/langs/fi_FI/banks.lang index 79be56e9bb7..469aa752443 100644 --- a/htdocs/langs/fi_FI/banks.lang +++ b/htdocs/langs/fi_FI/banks.lang @@ -115,7 +115,7 @@ TransferTo=mihin TransferFromToDone=A siirtää %s %s %s% s on tallennettu. CheckTransmitter=Lähettäjä ValidateCheckReceipt=Vahvista tämä sekkikuitti? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Poista tämä shekkikuitti? ConfirmDeleteCheckReceipt=Haluatko varmasti poistaa tämän sekkikuitin? BankChecks=Pankkisekit diff --git a/htdocs/langs/fi_FI/boxes.lang b/htdocs/langs/fi_FI/boxes.lang index a42893fc247..f8b52d40e4a 100644 --- a/htdocs/langs/fi_FI/boxes.lang +++ b/htdocs/langs/fi_FI/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Viimeisimmät %s muokatut tarjoukset -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Asiakkaiden laskut ForCustomersOrders=Asiakkaiden tilaukset ForProposals=Ehdotukset diff --git a/htdocs/langs/fi_FI/cashdesk.lang b/htdocs/langs/fi_FI/cashdesk.lang index 1fdcb14821d..47f70123ff5 100644 --- a/htdocs/langs/fi_FI/cashdesk.lang +++ b/htdocs/langs/fi_FI/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/fi_FI/deliveries.lang b/htdocs/langs/fi_FI/deliveries.lang index abae1108dc9..57f53382a71 100644 --- a/htdocs/langs/fi_FI/deliveries.lang +++ b/htdocs/langs/fi_FI/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Vastaanottaja ErrorStockIsNotEnough=Varaston saldo ei riitä Shippable=Toimitettavissa NonShippable=Ei toimitettavissa +ShowShippableStatus=Show shippable status ShowReceiving=Näytä lähetyslista NonExistentOrder=Tilausta ei ole järjestelmässä +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index 4766611b848..4cf1c05a6d5 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/fi_FI/eventorganization.lang b/htdocs/langs/fi_FI/eventorganization.lang index 5ced2914415..b9c36060776 100644 --- a/htdocs/langs/fi_FI/eventorganization.lang +++ b/htdocs/langs/fi_FI/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/fi_FI/exports.lang b/htdocs/langs/fi_FI/exports.lang index 446bb468010..c97b7b37722 100644 --- a/htdocs/langs/fi_FI/exports.lang +++ b/htdocs/langs/fi_FI/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0= tuotteen, 1= palvelu) FileWithDataToImport=Tiedoston tiedot tuoda FileToImport=Lähdetiedostoa tuoda FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Lähde tiedostomuoto diff --git a/htdocs/langs/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index bc79f570b30..3429db56d18 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Lataa uudelleen moduuli %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/fi_FI/interventions.lang b/htdocs/langs/fi_FI/interventions.lang index d01ef905476..9206afe7673 100644 --- a/htdocs/langs/fi_FI/interventions.lang +++ b/htdocs/langs/fi_FI/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Uudelleenavaa +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/fi_FI/productbatch.lang b/htdocs/langs/fi_FI/productbatch.lang index bad118ad377..ae9933f11e7 100644 --- a/htdocs/langs/fi_FI/productbatch.lang +++ b/htdocs/langs/fi_FI/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Näytä siirto lokit pari tuotetta / erää kohti StockDetailPerBatch=Varastotiedot erää kohden SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index 9ba1ec01f7b..e0ec5a0a2e3 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Lisää hinta asiakaskohtaisesti -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Logi viimeisimmistä asiakashinnoista MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimi ostohinta MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/fi_FI/salaries.lang b/htdocs/langs/fi_FI/salaries.lang index b587227ee0a..7024aa1f0d1 100644 --- a/htdocs/langs/fi_FI/salaries.lang +++ b/htdocs/langs/fi_FI/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Käytetty kirjanpitotili käyttäjän sidosryhmille SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Oletus kirjanpitotili palkkamaksuille +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Palkka Salaries=Palkat -NewSalaryPayment=Uusi palkanmaksu +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Palkanmaksu SalariesPayments=Palkkojen maksut +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Näytä palkanmaksu THM=Keskimääräinen tuntipalkka TJM=Keskimääräinen päiväpalkka CurrentSalary=Nykyinen palkka THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Viimeisimmät %s palkkamaksut -AllSalaries=Kaikki Palkkamaksut +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/fi_FI/ticket.lang b/htdocs/langs/fi_FI/ticket.lang index ec492accd64..3c186fb364e 100644 --- a/htdocs/langs/fi_FI/ticket.lang +++ b/htdocs/langs/fi_FI/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Kaupallinen kysymys TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Hanke TicketTypeShortOTHER=Muu @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Luettu Assigned=Assigned InProgress=Käsittelyssä -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Odotus Closed=Suljettu @@ -160,7 +162,7 @@ CreatedBy=Luonut NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Ryhmä +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Jatka lukemista @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Lippuun liitetyt dokumentit ConfirmReOpenTicket=Vahvista tämän lipun avaaminen uudelleen? diff --git a/htdocs/langs/fi_FI/users.lang b/htdocs/langs/fi_FI/users.lang index 45c8c06dfb0..d6f454d7357 100644 --- a/htdocs/langs/fi_FI/users.lang +++ b/htdocs/langs/fi_FI/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Kirjaudu luoda NameToCreate=Nimi kolmannen osapuolen luoda YourRole=Omat roolit YourQuotaOfUsersIsReached=Tilakiintiösi aktiivisia käyttäjiä on saavutettu! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Vain superadmin voi downgrade superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/fi_FI/website.lang b/htdocs/langs/fi_FI/website.lang index 49d16596839..79681c98cce 100644 --- a/htdocs/langs/fi_FI/website.lang +++ b/htdocs/langs/fi_FI/website.lang @@ -31,7 +31,7 @@ AddWebsite=Lisää sivusto Webpage=Web page/container AddPage=Add page/container PageContainer=Sivu -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/fr_BE/admin.lang b/htdocs/langs/fr_BE/admin.lang index 5d24a311ccd..de19e1379f8 100644 --- a/htdocs/langs/fr_BE/admin.lang +++ b/htdocs/langs/fr_BE/admin.lang @@ -19,3 +19,4 @@ Module30Name=Factures Target=Objectif OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
objproperty1=SET:the value to set
objproperty2=SET:a value with replacement of __objproperty1__
objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

Use a ; char as separator to extract or set several properties. EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. +Recommended=Recommandée diff --git a/htdocs/langs/fr_BE/products.lang b/htdocs/langs/fr_BE/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/fr_BE/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/fr_BE/ticket.lang b/htdocs/langs/fr_BE/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/fr_BE/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/fr_CA/products.lang b/htdocs/langs/fr_CA/products.lang index 947742b3356..6e3f9b4042e 100644 --- a/htdocs/langs/fr_CA/products.lang +++ b/htdocs/langs/fr_CA/products.lang @@ -120,7 +120,6 @@ ResetBarcodeForAllRecords=Définissez la valeur du code-barres pour tous les enr PriceByCustomer=Différents prix pour chaque client PriceCatalogue=Un prix de vente unique par produit / service AddCustomerPrice=Ajouter un prix par client -ForceUpdateChildPriceSoc=Définir le même prix sur les filiales clientes PriceByCustomerLog=Enregistrement des prix clients précédents MinimumPriceLimit=Le prix minimum ne peut pas être inférieur à %s PriceExpressionSelected=Expression de prix choisie diff --git a/htdocs/langs/fr_CA/salaries.lang b/htdocs/langs/fr_CA/salaries.lang index 8b380dd75f2..f7868851069 100644 --- a/htdocs/langs/fr_CA/salaries.lang +++ b/htdocs/langs/fr_CA/salaries.lang @@ -1,10 +1,7 @@ # Dolibarr language file - Source file is en_US - salaries Salary=Salaires -NewSalaryPayment=Nouveau paiement de salaire SalaryPayment=Paiement Salaire SalariesPayments=Paiements salaires ShowSalaryPayment=Afficher paiement de salaires THM=Taux horaire moyen TJM=Taux journalier moyen -THMDescription=Cette valeur peut être utilisée pour calculer le coût du temps consommé sur un projet entré par les utilisateurs si le projet de module est utilisé -TJMDescription=Cette valeur est actuellement à titre d'information seulement et ne sert pas à tout calcul diff --git a/htdocs/langs/fr_CA/ticket.lang b/htdocs/langs/fr_CA/ticket.lang index a5d2eccc9f0..5e7204f3438 100644 --- a/htdocs/langs/fr_CA/ticket.lang +++ b/htdocs/langs/fr_CA/ticket.lang @@ -1,7 +1,4 @@ # Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem TypeContact_ticket_internal_CONTRIBUTOR=Donateur -OriginEmail=Email source -NeedMoreInformation=Waiting for information Closed=Fermée TicketMailExchanges=Messages courriels diff --git a/htdocs/langs/fr_CH/products.lang b/htdocs/langs/fr_CH/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/fr_CH/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/fr_CH/ticket.lang b/htdocs/langs/fr_CH/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/fr_CH/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/fr_CI/products.lang b/htdocs/langs/fr_CI/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/fr_CI/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/fr_CI/ticket.lang b/htdocs/langs/fr_CI/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/fr_CI/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/fr_CM/products.lang b/htdocs/langs/fr_CM/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/fr_CM/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/fr_CM/ticket.lang b/htdocs/langs/fr_CM/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/fr_CM/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index 36210463025..62f66554214 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Pays hors CEE CountriesInEECExceptMe=Pays de la CEE sauf %s CountriesExceptMe=Tous les pays sauf %s AccountantFiles=Exporter les documents sources -ExportAccountingSourceDocHelp=Avec cet outil, vous pouvez exporter les événements sources (liste et PDF) qui ont été utilisés pour générer votre comptabilité. Pour exporter vos journaux, utilisez l'entrée de menu %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=Pour exporter vos journaux, utilisez l'entrée de menu %s - %s. VueByAccountAccounting=Vue par comptes comptables VueBySubAccountAccounting=Affichage par compte auxiliaire @@ -328,9 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Désactiver la liaison et le transfert e ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Désactiver la liaison et le transfert en comptabilité des notes de frais (les notes de frais ne seront pas prises en compte en comptabilité). ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) -ConfirmExportFile=Confirmation of the generation of the accounting export file ? +NotifiedExportDate=Date d'exportation notifiée (la modification des enregistrements ne sera pas possible) +NotifiedValidationDate=Validation des enregistrements (la modification ou la suppression des enregistrements ne sera pas possible) +ConfirmExportFile=Confirmation de la génération du fichier d'export comptable ? ExportDraftJournal=Exporter le journal brouillon Modelcsv=Modèle d'export Selectmodelcsv=Sélectionner un modèle d'export diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 57a50388a4f..b7a10c62ba2 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utilisateur interne ExternalUser=Utilisateur externe InternalUsers=Utilisateurs internes ExternalUsers=Utilisateurs externes +UserInterface=User interface GUISetup=Affichage SetupArea=Configuration UploadNewTemplate=Téléverser un / des nouveau(x) modèle(s) @@ -221,7 +222,7 @@ NotCompatible=Ce module n'est pas compatible avec votre version %s de Dolibarr ( CompatibleAfterUpdate=Ce module nécessite une mise à jour de Dolibarr %s (Version min. %s - Version max. %s). SeeInMarkerPlace=Voir dans la boutique SeeSetupOfModule=Voir la configuration du module %s -SetOptionTo=Set option %s to %s +SetOptionTo=Définir l'option %s à %s Updated=Mise à jour effectuée AchatTelechargement=Acheter/télécharger GoModuleSetupArea=Pour déployer/installer un nouveau module, rendez vous dans la zone de configuration des modules : %s @@ -562,7 +563,7 @@ Module53Desc=Gestion des services Module54Name=Contrats/Abonnements Module54Desc=Gestion des contrats (services ou abonnements récurrents) Module55Name=Codes-barres -Module55Desc=Barcode or QR code management +Module55Desc=Code-barre ou QR Code Module56Name=Paiement par virement bancaire Module56Desc=Gestion des paiements de fournisseurs par virement bancaire. Est incluse la génération des fichiers SEPA pour les pays européens. Module57Name=Règlement par Prélèvement @@ -849,10 +850,10 @@ Permission402=Créer/modifier les avoirs Permission403=Valider les avoirs Permission404=Supprimer les avoirs Permission430=Utilisez la barre de débogage -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody +Permission511=Lire les salaires et leur paiement (les vôtres et ceux de vos subordonnées) +Permission512=Créer/modifier les salaires et leur paiement +Permission514=Supprimer les salaires et leur paiement +Permission517=Lire les salaires et leur paiement de tout le monde Permission519=Exporter les salaires Permission520=Consulter les emprunts Permission522=Créer/Modifier les emprunts @@ -1191,7 +1192,7 @@ SetupDescription4= %s -> %s

Ce logiciel est un ensembl SetupDescription5=Les autres entrées de configuration gèrent des paramètres facultatifs. AuditedSecurityEvents=Événements de sécurité audités NoSecurityEventsAreAduited=Aucun événement de sécurité n'est audité. Vous pouvez les activer à partir du menu %s -Audit=Security events +Audit=Événements de sécurité InfoDolibarr=Infos Dolibarr InfoBrowser=Infos navigateur InfoOS=Infos OS @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Fonctions SSL non présentes dans votre PHP DownloadMoreSkins=Plus de thèmes à télécharger SimpleNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0. SimpleNumRefNoDateModelDesc=Renvoie le numéro de référence au format %s-nnnn où nnnn est un nombre séquentiel autoincrémenté sans réinitialisation -ShowProfIdInAddress=Afficher l'identifiant professionnel dans les adresses sur les documents -ShowVATIntaInAddress=Cacher le numéro de TVA Intracommunautaire dans les adresses sur les documents. +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Traduction partielle MAIN_DISABLE_METEO=Désactiver la vue météo MeteoStdMod=Mode standard @@ -1323,9 +1324,9 @@ ConditionIsCurrently=La condition est actuellement %s YouUseBestDriver=Vous utilisez le driver %s qui est le driver recommandé actuellement. YouDoNotUseBestDriver=Vous utilisez le pilote %s mais le pilote %s est recommandé. NbOfObjectIsLowerThanNoPb=Vous avez seulement %s %s dans la base de données. Cela ne nécessite aucune optimisation particulière. -ComboListOptim=Combo list loading optimization +ComboListOptim=Optimisation du chargement des listes déroulantes SearchOptim=Optimisation des recherches -YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. +YouHaveXObjectUseComboOptim=Vous avez %s %s dans la base de données. Vous pouvez accéder à la configuration du module pour activer le chargement de la liste déroulante par une touche du clavier. YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. YouHaveXObjectUseSearchOptimDesc=This limits the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response. YouHaveXObjectAndSearchOptimOn=You have %s %s in the database and constant %s is set to %s in Home-Setup-Other. @@ -1778,7 +1779,7 @@ ClickToDialSetup=Configuration du module Click To Dial ClickToDialUrlDesc=URL appelée quand un clic sur l'icône téléphone est fait. Dans l'URL, vous pouvez utiliser les tags
__PHONETO__ qui sera remplacée par le numéro de téléphone de la personne à appeler
__PHONEFROM__ qui sera remplacée par le numéro de l'appelant (vous)
__LOGIN__ qui sera remplacée par l'identifiant d'accès de l'utilisateur à l'application d'appel (à définir sur la fiche utilisateur) et
__PASS__ qui sera remplacée par le mot de passe d'accès de l'utilisateur à l'application d'appel (également à définir sur la fiche utilisateur). ClickToDialDesc=Ce module permet de rendre les numéros de téléphone cliquables lorsque vous utilisez l'application sur un ordinateur de bureau. Un clic sur cette icône composera le numéro de téléphone. Cela peut être utilisé pour commencer une conversation avec un soft phone sur votre bureau ou lorsque vous utilisez un système basé sur le protocole SIP par exemple. Note: Sur un smartphone, les numéros de téléphones sont toujours clicables. ClickToDialUseTelLink=Utiliser un lien "tel:" sur les numéros de téléphone -ClickToDialUseTelLinkDesc=Utilisez cette méthode si vos utilisateurs ont un softphone ou une interface de logiciel installé sur un même ordinateur que le navigateur, et a appelé lorsque vous cliquez sur un lien dans votre navigateur qui commencent par "tel:". Si vous avez besoin d'une solution de serveur complet (pas besoin d'installation locale du logiciel), vous devez définir ceci à "Non" et remplir le champ suivant. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point de Vente CashDeskSetup=Configuration du module Point de vente/caisse enregistreuse @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Sauf si vous avez besoin de lancer PHPFunctionsRequiredForCLI=Pour un interfaçage (comme des tâches de sauvegarde planifiée ou pour lancer un programme antivirus), vous devez garder les fonctions PHP NoWritableFilesFoundIntoRootDir=Aucun fichier ou répertoire des programmes courants n’a été trouvé en écriture dans votre répertoire racine (Bon) RecommendedValueIs=Recommandé : %s -NotRecommended=Non recommandé +Recommended=Recommandé +NotRecommended=Not recommended ARestrictedPath=Un chemin restreint CheckForModuleUpdate=Vérifier les mises à jour des modules externes CheckForModuleUpdateHelp=Cette action se connecte aux éditeurs des modules externes pour vérifier si une nouvelle version est disponible. @@ -2142,5 +2144,7 @@ NoExternalModuleWithUpdate=Aucune mise à jour trouvée pour les modules externe SwaggerDescriptionFile=Fichier de description de l’API Swagger (à utiliser avec redoc par exemple) YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Vous avez activé l'API WS qui est désapprouvée. Vous devriez utiliser l'API REST à la place. RandomlySelectedIfSeveral=Randomly selected if several pictures are available -DatabasePasswordObfuscated=Database password is obfuscated in conf file -DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +DatabasePasswordObfuscated=Le mot de passe de la base de données est masqué dans le fichier de configuration +DatabasePasswordNotObfuscated=Le mot de passe de la base de données n'est PAS masqué dans le fichier de configuration +APIsAreNotEnabled=Les modules API ne sont pas activés +YouShouldSetThisToOff=Vous devriez mettre ceci à 0 ou off diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index 9bb0dc6223e..ab93348faaf 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -109,13 +109,13 @@ SocialContributionPayment=Paiement de charge fiscale/sociale BankTransfer=Virement bancaire BankTransfers=Virements bancaire MenuBankInternalTransfer=Virement interne -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Utilisez le virement interne pour effectuer un transfert d'un compte à un autre, l'application écrira deux enregistrements : un débit sur le compte source et un crédit sur le compte cible. Le même montant, le même libellé et la même date seront utilisés pour cette transaction. TransferFrom=De TransferTo=Vers TransferFromToDone=Le virement depuis %s vers %s de %s %s a été créé. CheckTransmitter=Émetteur ValidateCheckReceipt=Valider ce bordereau de remise de chèques ? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Supprimer ce bordereau de remise ? ConfirmDeleteCheckReceipt=Êtes-vous sûr de vouloir supprimer ce bordereau ? BankChecks=Chèques @@ -142,7 +142,7 @@ AllAccounts=Tous les comptes bancaires et caisses BackToAccount=Retour au compte ShowAllAccounts=Afficher pour tous les comptes FutureTransaction=Transaction future. Pas moyen de rapprocher. -SelectChequeTransactionAndGenerate=Select/filter the checks which are to be included in the check deposit receipt. Then, click on "Create". +SelectChequeTransactionAndGenerate=Sélectionner/filtrer les chèques à inclure dans le bordereau de remise de chèque et cliquer sur "Créer". InputReceiptNumber=Choisissez le relevé bancaire liés au rapprochement. Utilisez une valeur numérique triable: AAAAMM ou AAAAMMJJ EventualyAddCategory=Eventuellement, saisissez une catégorie dans laquelle classer les écritures ToConciliate=A rapprocher ? diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 4cbe88c93fb..1a825e09792 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -259,7 +259,7 @@ DateMaxPayment=Date limite règlement DateInvoice=Date facturation DatePointOfTax=Date elligibilitée taxe NoInvoice=Aucune facture -NoOpenInvoice=No open invoice +NoOpenInvoice=Pas de facture ouverte ClassifyBill=Classer la facture SupplierBillsToPay=Factures fournisseurs impayées CustomerBillsUnpaid=Factures clients impayées diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang index c3f43e4bab1..9589b94d080 100644 --- a/htdocs/langs/fr_FR/boxes.lang +++ b/htdocs/langs/fr_FR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Les %s dernières commandes fournisseurs mo BoxTitleLastModifiedCustomerBills=Les %s dernières factures clients modifiées BoxTitleLastModifiedCustomerOrders=Les %s dernières commandes clients modifiées BoxTitleLastModifiedPropals=Les %s dernières propositions commerciales modifiées -BoxTitleLatestModifiedJobPositions=Les %s dernières offres d'emploi modifiées -BoxTitleLatestModifiedCandidatures=Les %s dernières candidatures modifiées +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Factures clients ForCustomersOrders=Commandes clients ForProposals=Propositions commerciales diff --git a/htdocs/langs/fr_FR/cashdesk.lang b/htdocs/langs/fr_FR/cashdesk.lang index 050ae29cd53..b8e0b6198eb 100644 --- a/htdocs/langs/fr_FR/cashdesk.lang +++ b/htdocs/langs/fr_FR/cashdesk.lang @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=La facture est déjà validée NoLinesToBill=Aucune ligne à facturer CustomReceipt=Reçu personnalisé ReceiptName=Nom du reçu -ProductSupplements=Manage supplements of products +ProductSupplements=Gérer les suppléments de produits SupplementCategory=Catégorie des suppléments ColorTheme=Couleur du thème Colorful=Coloré @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
La balise {TN} est utilisée pour ajout TakeposGroupSameProduct=Regrouper les mêmes lignes de produits StartAParallelSale=Lancer une nouvelle vente en parallèle SaleStartedAt=Ventes démarrées à %s -ControlCashOpening=Open the "Control cash" popup when opening the POS +ControlCashOpening=Ouvre la fenêtre "Contôle de caisse" lors de l'ouverture du TPV CloseCashFence=Clôturer la caisse CashReport=Rapport de caisse MainPrinterToUse=Imprimante principale à utiliser @@ -127,4 +127,4 @@ AllowDelayedPayment=Autoriser le paiement différé PrintPaymentMethodOnReceipts=Imprimer le mode de paiement sur les tickets | reçus WeighingScale=échelle de poids ShowPriceHT = Afficher la colonne du prix HT (à l'écran) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/fr_FR/categories.lang b/htdocs/langs/fr_FR/categories.lang index 4b806e1edbd..20bfb122c75 100644 --- a/htdocs/langs/fr_FR/categories.lang +++ b/htdocs/langs/fr_FR/categories.lang @@ -17,6 +17,7 @@ ContactsCategoriesArea=Espace tags/catégories de contacts AccountsCategoriesArea=Espace des tags/categories de comptes bancaires ProjectsCategoriesArea=Espace des tags/catégories des projets UsersCategoriesArea=Espace des tags/catégories des utilisateurs +TicketsCategoriesArea=Espace tags/catégories des tickets SubCats=Sous-catégories CatList=Liste des tags/catégories CatListAll=Liste de toutes les catégories (de tous types) @@ -90,6 +91,7 @@ CategorieRecursivHelp=Si l'option est activé, quand un produit est ajouté dans AddProductServiceIntoCategory=Ajouter le produit/service suivant AddCustomerIntoCategory=Assigner cette catégorie au client AddSupplierIntoCategory=Assigner cette catégorie au fournisseur +AddTicketIntoCategory=Assigner cette catégorie au ticket ShowCategory=Afficher tag/catégorie ByDefaultInList=Par défaut dans la liste ChooseCategory=Choisissez une catégorie diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 6ee3e204b0a..4628673fd9e 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -286,9 +286,9 @@ ReportPurchaseTurnover=Chiffre d'affaires d'achat facturé ReportPurchaseTurnoverCollected=Chiffre d'affaires d'achat encaissé IncludeVarpaysInResults = Inclure les paiements divers dans les rapports IncludeLoansInResults = Inclure les prêts dans les rapports -InvoiceLate30Days = Factures impayés à échéance dépassé de plus de 30 jours -InvoiceLate15Days = Factures impayés à échéance dépassé de plus de 15 jours +InvoiceLate30Days = Factures en retard > 30 jours +InvoiceLate15Days = Factures en retard > 15 jours InvoiceLateMinus15Days = Factures en retard -InvoiceNotLate = Règlements à recevoir dans moins de 15 jours -InvoiceNotLate15Days = Règlements à recevoir dans 15 jours -InvoiceNotLate30Days = Règlements à recevoir dans les 30 jours +InvoiceNotLate = A recevoir < 15 jours +InvoiceNotLate15Days = A recevoir dans 15 jours +InvoiceNotLate30Days = A recevoir dans 30 jours diff --git a/htdocs/langs/fr_FR/deliveries.lang b/htdocs/langs/fr_FR/deliveries.lang index 6af98a54d4f..0837b157a9a 100644 --- a/htdocs/langs/fr_FR/deliveries.lang +++ b/htdocs/langs/fr_FR/deliveries.lang @@ -30,4 +30,4 @@ NonShippable=Non expédiable ShowShippableStatus=Afficher le statut Expédiable ShowReceiving=Afficher le bon de réception NonExistentOrder=Commande inexistante -StockQuantitiesAlreadyAllocatedOnPreviousLines = Qtés de stock déja attribuées sur une ou des lignes précédentes +StockQuantitiesAlreadyAllocatedOnPreviousLines = Quantités de stock déjà allouées sur les lignes précédentes diff --git a/htdocs/langs/fr_FR/ecm.lang b/htdocs/langs/fr_FR/ecm.lang index 23ac6fd869b..605cc97625d 100644 --- a/htdocs/langs/fr_FR/ecm.lang +++ b/htdocs/langs/fr_FR/ecm.lang @@ -42,6 +42,6 @@ ExtraFieldsEcmFiles=Attributs supplémentaires des fichiers de la GED ExtraFieldsEcmDirectories=Attributs supplémentaires des dossiers de la GED ECMSetup=Configuration du module de gestion de documents (GED) GenerateImgWebp=Dupliquer toutes les images avec une autre version au format .webp -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... +ConfirmGenerateImgWebp=Si vous confirmez, vous générerez une image au format .webp pour toutes les images actuellement dans ce dossier (les sous-dossiers ne sont pas inclus)... ConfirmImgWebpCreation=Confirmer la duplication de toutes les images SucessConvertImgWebp=Images dupliquées avec succès diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index f437a3d3a41..f1153e44ae5 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -11,7 +11,7 @@ ErrorBadValueForParamNotAString=Mauvaise valeur de paramètre. Ceci arrive lors ErrorRefAlreadyExists=Le référence %s existe déjà. ErrorLoginAlreadyExists=L'identifiant %s existe déjà. ErrorGroupAlreadyExists=Le groupe %s existe déjà. -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=L'e-mail %s existe déjà. ErrorRecordNotFound=Enregistrement non trouvé. ErrorFailToCopyFile=Echec de la copie du fichier '%s' en '%s'. ErrorFailToCopyDir=Echec de copie du répertoire '%s' vers '%s'. @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Le propriétaire de l'utilisateur e ErrorActionCommBadType=Le type d'événement sélectionné (id: %n, code: %s) n'existe pas dans le dictionnaire des types d'événement CheckVersionFail=Échec de la vérification de version ErrorWrongFileName=Le nom du fichier ne peut pas contenir __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Pas dans le dictionnaire des conditions de paiement, veuillez modifier. diff --git a/htdocs/langs/fr_FR/eventorganization.lang b/htdocs/langs/fr_FR/eventorganization.lang index fe4a556bcde..ef7de0fd710 100644 --- a/htdocs/langs/fr_FR/eventorganization.lang +++ b/htdocs/langs/fr_FR/eventorganization.lang @@ -40,8 +40,8 @@ EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Modèle de courriel à envoyer aprè EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Modèle de courriel à envoyer après avoir reçu une suggestion d'un stand. EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Modèle de courriel à envoyer après paiement d'une inscription à un stand. EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Modèle de courriel à envoyer après paiement d'une inscription à un événement. -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Modèle de courriel pour action de masse aux participants -EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Modèle de courriel pour action de masse aux intervenants +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Modèle de courriel pour action de masse aux intervenants +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Modèle de courriel pour action de masse aux participants EVENTORGANIZATION_FILTERATTENDEES_CAT = Filtrer la liste de sélection des tiers dans la fiche/le formulaire de création des participants avec/selon la catégorie EVENTORGANIZATION_FILTERATTENDEES_TYPE = Filtrer la liste de sélection des tiers dans la fiche/le formulaire de création des participants avec le type de client @@ -82,10 +82,11 @@ PriceOfBoothHelp=Prix d’inscription pour un stand EventOrganizationICSLink=Lien ICS des événements ConferenceOrBoothInformation=Renseignements sur la conférence ou le stand Attendees = Participants -DownloadICSLink = Download ICS link +DownloadICSLink = Télécharger le lien ICS EVENTORGANIZATION_SECUREKEY = Clé sécurisée pour le lien d’inscription public à une conférence -SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location +SERVICE_BOOTH_LOCATION = Service utilisé pour la ligne de facture concernant l'emplacement d'un stand SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -98,39 +99,42 @@ EvntOrgCancelled = Annulé # # Public page # -SuggestForm = Suggestion page -RegisterPage = Page for conferences or booth -EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project -EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project +SuggestForm = Page de suggestions +RegisterPage = Page pour conférences ou stands +EvntOrgRegistrationHelpMessage = Ici, vous pouvez voter pour un événement, ou suggérer une nouvelle conférence ou un nouveau stand pour le projet +EvntOrgRegistrationConfHelpMessage = Ici, vous pouvez suggérer une nouvelle conférence pour le projet EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project -ListOfSuggestedConferences = List of suggested conferences -ListOfSuggestedBooths = List of suggested booths -SuggestConference = Suggest a new conference -SuggestBooth = Suggest a booth -ViewAndVote = View and vote for suggested events +ListOfSuggestedConferences = Liste des conférences suggérées +ListOfSuggestedBooths = Liste des stands suggérés +SuggestConference = Proposer une nouvelle conférence +SuggestBooth = Proposer un stand +ViewAndVote = Voir et voter pour les événements suggérés PublicAttendeeSubscriptionPage = Lien d’inscription public à une conférence MissingOrBadSecureKey = La clé de sécurité est invalide ou manquante -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' -EvntOrgDuration = This conference starts on %s and ends on %s. -ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. -BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s +EvntOrgWelcomeMessage = Ce formulaire vous permet de vous inscrire en tant que nouveau participant à la conférence : '%s' +EvntOrgDuration = Cette conférence commence le %s et se termine le %s. +ConferenceAttendeeFee = Frais de participation à la conférence pour l'événement : '%s' se produisant du %s au %s. +BoothLocationFee = Frais de participation à l'événement : '%s' se produisant du %s au %s. EventType = Type événement +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page # -EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. -EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. -EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. +EvntOrgRegistrationWelcomeMessage = Bienvenue sur la page de suggestion de conférence ou de stand. +EvntOrgRegistrationConfWelcomeMessage = Bienvenue sur la page de suggestions de conférences. +EvntOrgRegistrationBoothWelcomeMessage = Bienvenue sur la page de suggestion de stand. EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project -VoteOk = Your vote has been accepted. -AlreadyVoted = You have already voted for this event. -VoteError = An error has occurred during the vote, please try again. +VoteOk = Votre vote a été accepté. +AlreadyVoted = Vous avez déjà voté pour cet événement. +VoteError = Une erreur s'est produite lors du vote, veuillez réessayer. # # SubscriptionOk page # -SubscriptionOk = Your subscription to this conference has been validated +SubscriptionOk = Votre inscription à cette conférence a été validée # # Subscription validation mail # @@ -139,5 +143,5 @@ ConfAttendeeSubscriptionConfirmation = Confirmation de votre inscription à une # Payment page # Attendee = Participant -PaymentConferenceAttendee = Conference attendee payment -PaymentBoothLocation = Booth location payment +PaymentConferenceAttendee = Paiement de participation à la conférence +PaymentBoothLocation = Paiement de l'emplacement du stand diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index c3c426daf4e..5bed116241b 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type de ligne (0=produit, 1=service) FileWithDataToImport=Fichier contenant les données à importer FileToImport=Fichier source à importer FileMustHaveOneOfFollowingFormat=Le fichier à importer doit avoir un des formats suivants -DownloadEmptyExample=Télécharger fichier vierge exemple (* sont les champs obligatoires) +DownloadEmptyExample=Télécharger fichier vierge exemple +StarAreMandatory=* sont des champs obligatoires ChooseFormatOfFileToImport=Choisissez le format de fichier à importer en cliquant sur le pictogramme %s pour le sélectionner… ChooseFileToImport=Ajoutez le fichier à importer puis cliquez sur le pictogramme %s pour le sélectionner comme fichier source d'import… SourceFileFormat=Format du fichier source diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index f696c06c241..ae42f4c552a 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration des chemins de photos pour les utilisateurs MigrationFieldsSocialNetworks=Migration des champs de réseaux sociaux utilisateurs (%s) MigrationReloadModule=Rechargement du module %s MigrationResetBlockedLog=Réinitialiser le module BlockedLog pour l'algorithme v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Afficher les choix non disponibles HideNotAvailableOptions=Cacher les choix non disponibles ErrorFoundDuringMigration=Une erreur est survenu lors du processus de migration, aussi l'étape suivante ne peut pas être réalisée. Pour ignorer les erreurs, vous pouvez cliquer ici, mais l'application ou certaines fonctionnalités risquent de présenter des dysfonctionnements jusqu'à la résolution de la ou des erreurs diff --git a/htdocs/langs/fr_FR/interventions.lang b/htdocs/langs/fr_FR/interventions.lang index 50c24662069..c19c6e0ca3c 100644 --- a/htdocs/langs/fr_FR/interventions.lang +++ b/htdocs/langs/fr_FR/interventions.lang @@ -65,3 +65,5 @@ InterLineDesc=Description ligne intervention RepeatableIntervention=Modèle d'intervention ToCreateAPredefinedIntervention=Pour créer une intervention prédéfinie ou récurrente, créez une intervention standard et convertissez-la en modèle d'intervention GenerateInter=Générer une fiche d'intervention +Reopen=Réouvrir +ConfirmReopenIntervention=Êtes-vous sur de vouloir ré-ouvrir l'intervention %s ? diff --git a/htdocs/langs/fr_FR/knowledgemanagement.lang b/htdocs/langs/fr_FR/knowledgemanagement.lang index 5caceba1b2f..cd987dcae16 100644 --- a/htdocs/langs/fr_FR/knowledgemanagement.lang +++ b/htdocs/langs/fr_FR/knowledgemanagement.lang @@ -20,12 +20,12 @@ # Module label 'ModuleKnowledgeManagementName' ModuleKnowledgeManagementName = Gestion d'une base de connaissance # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Gérer une base de connaissance ou d'assistance (KM) # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup +KnowledgeManagementSetup = Configuration du système de gestion des connaissances Settings = Paramètres KnowledgeManagementSetupPage = Paramétrages du module de base de connaissance @@ -37,15 +37,7 @@ About = À propos KnowledgeManagementAbout = A propos de la base de connaissances KnowledgeManagementAboutPage = A propos de la base de connaissances -# -# Sample page -# KnowledgeManagementArea = Base de connaissances - - -# -# Menu -# MenuKnowledgeRecord = Base de connaissance ListKnowledgeRecord = Liste des articles NewKnowledgeRecord = Nouvel article @@ -53,3 +45,5 @@ ValidateReply = Valider la réponse KnowledgeRecords = Articles KnowledgeRecord = Article KnowledgeRecordExtraFields = Atribut supplémentaires (articles) +GroupOfTicket=Groupe de tickets +YouCanLinkArticleToATicketCategory=You can link an article to a ticket group (so the article will be suggested during qualification of new tickets) diff --git a/htdocs/langs/fr_FR/languages.lang b/htdocs/langs/fr_FR/languages.lang index a9629a2fd96..ec2bc8e261b 100644 --- a/htdocs/langs/fr_FR/languages.lang +++ b/htdocs/langs/fr_FR/languages.lang @@ -3,7 +3,8 @@ Language_am_ET=Ethiopien Language_ar_AR=Arabe Language_ar_EG=Arabe (Egypte) Language_ar_SA=Arabe -Language_ar_TN=Arabic (Tunisia) +Language_ar_TN=Arabe (Tunisie) +Language_ar_IQ=Arabe (Irak) Language_az_AZ=Azerbaïdjanais Language_bn_BD=Bengalais Language_bn_IN=Bengali (Inde) @@ -83,6 +84,7 @@ Language_ne_NP=Népalais Language_nl_BE=Néerlandais (Belgique) Language_nl_NL=Néerlandais Language_pl_PL=Polonais +Language_pt_AO=Portugais (Angola) Language_pt_BR=Portugais (Brésil) Language_pt_PT=Portugais Language_ro_MD=Roumain (Moldavie) diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index a7ce6dc769c..9aecafe3f34 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -730,7 +730,7 @@ MenuMembers=Adhérents MenuAgendaGoogle=Agenda Google MenuTaxesAndSpecialExpenses=Charges | Dépenses spéciales ThisLimitIsDefinedInSetup=Limite Dolibarr (Menu accueil-configuration-sécurité): %s Ko, Limite PHP: %s Ko -ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +ThisLimitIsDefinedInSetupAt=Limite Dolibarr (Menu %s) : %s Ko, limite PHP (Param %s) : %s Ko NoFileFound=Pas de documents téléversés CurrentUserLanguage=Langue utilisateur actuelle CurrentTheme=Thème courant @@ -1136,4 +1136,18 @@ CategTypeNotFound=Aucun type de tag trouvé pour ce type d'enregistrements CopiedToClipboard=Copié dans le presse-papier InformationOnLinkToContract=Ce montant n’est que le total de toutes les lignes du contrat. Aucune notion de temps n’est prise en considération. ConfirmCancel=Êtes-vous sûr de vous annuler -EmailMsgID=Email MsgID +EmailMsgID=E-mail MsgID +SetToEnabled=Activer +SetToDisabled=Désactiver +ConfirmMassEnabling=Confirmation d'activation en masse +ConfirmMassEnablingQuestion=Êtes-vous sur de vouloir activer les %s enregistrement(s) sélectionné(s) ? +ConfirmMassDisabling=Confirmation de desactivation en masse +ConfirmMassDisablingQuestion=Êtes-vous sur de vouloir desactiver les %s enregistrement(s) sélectionné(s) ? +RecordsEnabled=%s enregistrement(s) activé(s) +RecordsDisabled=%s enregistrement(s) désactivé(s) +RecordEnabled=Enregistrement activé +RecordDisabled=Enregistrement désactivé +ConfirmMassLeaveApprovalQuestion=Êtes-vous sur de vouloir approuver les %s enregistrement(s) sélectionné(s) ? +ConfirmMassLeaveApproval=Confirmation d'approbation de congé en masse +RecordAproved=Enregistrement approuvé +RecordsApproved=%s enregistrement(s) approuvé(s) diff --git a/htdocs/langs/fr_FR/modulebuilder.lang b/htdocs/langs/fr_FR/modulebuilder.lang index 9b9e93bebe7..d2b4a28902a 100644 --- a/htdocs/langs/fr_FR/modulebuilder.lang +++ b/htdocs/langs/fr_FR/modulebuilder.lang @@ -143,4 +143,4 @@ AsciiToHtmlConverter=Convertisseur Ascii en HTML AsciiToPdfConverter=Convertisseur Ascii en PDF TableNotEmptyDropCanceled=La table n’est pas vide. La suppression a été annulée. ModuleBuilderNotAllowed=Le module builder est activé mais son accès n'est pas autorisé pour votre utilisateur -ImportExportProfiles=Import and export profiles +ImportExportProfiles=Importer et exporter des profils diff --git a/htdocs/langs/fr_FR/mrp.lang b/htdocs/langs/fr_FR/mrp.lang index 00f0fc18b99..e0a2e73365e 100644 --- a/htdocs/langs/fr_FR/mrp.lang +++ b/htdocs/langs/fr_FR/mrp.lang @@ -63,7 +63,7 @@ ConsumeAndProduceAll=Consommer et Produire tout Manufactured=Fabriqué TheProductXIsAlreadyTheProductToProduce=Le produit à ajouter est déjà le produit à produire. ForAQuantityOf=Pour une quantité à produire de %s -ForAQuantityToConsumeOf=For a quantity to disassemble of %s +ForAQuantityToConsumeOf=Pour une quantité à désassembler de %s ConfirmValidateMo=Voulez-vous vraiment valider cet ordre de fabrication? ConfirmProductionDesc=En cliquant sur '%s', vous validerez la consommation et / ou la production pour les quantités définies. Cela mettra également à jour le stock et enregistrera les mouvements de stock. ProductionForRef=Production de %s diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index 05af1498cb6..50cd8959fb3 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -264,7 +264,7 @@ ContactCreatedByEmailCollector=Contact/adresse créé par le collecteur de courr ProjectCreatedByEmailCollector=Projet créé par le collecteur de courrier électronique à partir du courrier électronique MSGID %s TicketCreatedByEmailCollector=Ticket créé par le collecteur de courrier électronique à partir du courrier électronique MSGID %s OpeningHoursFormatDesc=Utilisez un - pour séparer les heures d'ouverture et de fermeture.
Utilisez un espace pour entrer différentes plages.
Exemple: 8-12 14-18 -SuffixSessionName=Suffix for session name +SuffixSessionName=Suffixe pour le nom de la session ##### Export ##### ExportsArea=Espace exports @@ -291,3 +291,7 @@ PopuCom=Produits/services par popularité dans les commandes ProductStatistics=Statistiques sur les produits / services NbOfQtyInOrders=Qté en commandes SelectTheTypeOfObjectToAnalyze=Sélectionner un objet pour en voir les statistiques + +ConfirmBtnCommonContent = Êtes-vous sûr de vouloir : "%s" ? +ConfirmBtnCommonTitle = Confirmez votre action +CloseDialog = Fermer diff --git a/htdocs/langs/fr_FR/partnership.lang b/htdocs/langs/fr_FR/partnership.lang index cb51eece63a..7949339a150 100644 --- a/htdocs/langs/fr_FR/partnership.lang +++ b/htdocs/langs/fr_FR/partnership.lang @@ -20,9 +20,9 @@ ModulePartnershipName=Gestion des partenariats PartnershipDescription=Module de gestion des partenariats PartnershipDescriptionLong= Module de gestion des partenariats -AddPartnership=Add partnership -CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions -PartnershipCheckBacklink=Partnership: Check referring backlink +AddPartnership=Ajouter un partenariat +CancelPartnershipForExpiredMembers=Partenariat : annuler le partenariat des adhérents dont les cotisations ont expirés +PartnershipCheckBacklink=Partenariat : Vérifiez le backlink référent # # Menu @@ -37,10 +37,10 @@ PartnershipSetup=Page de configuration du module Partenariat PartnershipAbout=À propos de Partenariat PartnershipAboutPage=Page d'informations du module Partenariat partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' -PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_IS_MANAGED_FOR=Partenariat géré pour PARTNERSHIP_BACKLINKS_TO_CHECK=Liens de retour à vérifier PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired -ReferingWebsiteCheck=Check of website referring +ReferingWebsiteCheck=Vérification du site référent ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. # @@ -54,10 +54,10 @@ DatePartnershipEnd=Date de fin ReasonDecline=Raison du refus ReasonDeclineOrCancel=Raison du refus PartnershipAlreadyExist=Partenariat déjà existant -ManagePartnership=Manage partnership +ManagePartnership=Gestion de partenariat BacklinkNotFoundOnPartnerWebsite=Lien de retour non trouvé sur le site web partenaire ConfirmClosePartnershipAsk=Êtes-vous sûr de vouloir annuler ce partenariat ? -PartnershipType=Partnership type +PartnershipType=Type de partenariat # # Template Mail diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index ac0ec602eac..193ecb503e1 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Afficher l'historique des mouvements de couple produit / StockDetailPerBatch=Stock détaillé par lot SerialNumberAlreadyInUse=Le numéro de série %s est déjà utilisé pour le produit %s TooManyQtyForSerialNumber=Vous ne pouvez avoir qu'un seul produit %s pour le numéro de série %s -BatchLotNumberingModules=Options pour la génération automatique de produits en lots gérés par lots -BatchSerialNumberingModules=Options pour la génération automatique de produits en lots gérés par numéros de série ManageLotMask=Masque personnalisé -CustomMasks=Ajoute une option pour définir le masque dans la fiche produit -LotProductTooltip=Ajoute une option dans la fiche produit pour définir un masque de numéro de lot dédié -SNProductTooltip=Ajoute une option dans la fiche produit pour définir un masque de numéro de série dédié +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Quantité à ajouter pour chaque code à barres/lot/série scanné LifeTime=Durée de vie (en jours) EndOfLife=Fin d'utilisation diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index d7390c38ba8..dc308c95af2 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Prix différents pour chaque client PriceCatalogue=Un seul prix de vente par produit/service PricingRule=Règles pour les prix clients AddCustomerPrice=Ajouter prix par client -ForceUpdateChildPriceSoc=Définir le même prix sur les filiales des clients +ForceUpdateChildPriceSoc=Fixer le même prix sur les filiales du client PriceByCustomerLog=Historique des prix clients précédents MinimumPriceLimit=Le prix ​​minimum ne peut pas être inférieure à %s MinimumRecommendedPrice=Prix minimum recommandé : %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Augmenter/Réduire le stock sur changement du stock d ComposedProduct=Produits fils MinSupplierPrice=Prix d'achat minimum MinCustomerPrice=Prix de vente minimum +NoDynamicPrice=Pas de prix dynamique DynamicPriceConfiguration=Configuration du prix dynamique DynamicPriceDesc=L'activation de ce module ajoute au fiches des produits une fonction d'enregistrement de formules de calcul des prix sur les prix de vente et d'achat. Ces formules supportent tous les opérateurs mathématiques, quelques constantes et variables. Définissez ici les variables que que vous voulez pouvoir utiliser, et si la variable nécessite d'être actualisée, l'URL externe ou Dolibarr ira chercher la nouvelle valeur AddVariable=Ajouter une Variable diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index d574362118a..5cfde7555c6 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -272,7 +272,7 @@ NewInvoice=Nouvelle facture NewInter=Nouvelle intervention OneLinePerTask=Une ligne par tâche OneLinePerPeriod=Une ligne par période -OneLinePerTimeSpentLine=One line for each time spent declaration +OneLinePerTimeSpentLine=Une ligne pour chaque déclaration de temps passé RefTaskParent=Réf. Tâche parent ProfitIsCalculatedWith=Le bénéfice est calculé sur la base de AddPersonToTask=Ajouter également aux tâches diff --git a/htdocs/langs/fr_FR/salaries.lang b/htdocs/langs/fr_FR/salaries.lang index 848ec9b039d..cdabb1c9f35 100644 --- a/htdocs/langs/fr_FR/salaries.lang +++ b/htdocs/langs/fr_FR/salaries.lang @@ -17,8 +17,8 @@ TJM=Tarif journalier moyen CurrentSalary=Salaire actuel THMDescription=Cette valeur peut être utilisé pour calculer le coût horaire consommé dans un projet suivi par utilisateurs si le module projet est utilisé TJMDescription=Cette valeur est actuellement seulement une information et n'est utilisé pour aucun calcul -LastSalaries=Les %s derniers règlements de salaires -AllSalaries=Tous les règlements de salaires +LastSalaries=Les %s derniers salaires +AllSalaries=Tous les salaires SalariesStatistics=Statistiques -# Export SalariesAndPayments=Salaires et paiements +ConfirmDeleteSalaryPayment=Voulez-vous supprimer ce paiement de salaire ? diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index 9db98593448..f0fe7235a77 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -56,13 +56,11 @@ UnitPurchaseValue=Prix d'achat unitaire StockTooLow=Stock insuffisant StockLowerThanLimit=Stock inférieur au stock d'alerte (%s) EnhancedValue=Valorisation -PMPValue=Valorisation (PMP) -PMPValueShort=PMP EnhancedValueOfWarehouses=Valorisation des stocks UserWarehouseAutoCreate=Créer automatiquement un stock/entrepôt propre à l'utilisateur lors de sa création AllowAddLimitStockByWarehouse=Gérez également les valeurs des stocks minimums et souhaités par paire (produit-entrepôt) en plus des valeurs de minimums et souhaités par produit RuleForWarehouse=Règle pour les entrepôts -WarehouseAskWarehouseOnThirparty=Définir un entrepôt sur un tiers +WarehouseAskWarehouseOnThirparty=Définir un entrepôt sur les tiers WarehouseAskWarehouseDuringPropal=Définir un entrepôt sur les propositions commerciales WarehouseAskWarehouseDuringOrder=Définir un entrepôt sur les commandes UserDefaultWarehouse=Définir un entrepôt sur les utilisateurs @@ -91,7 +89,7 @@ NoPredefinedProductToDispatch=Pas de produits prédéfinis dans cet objet. Aucun DispatchVerb=Ventiler StockLimitShort=Limite pour alerte StockLimit=Limite stock pour alerte -StockLimitDesc=(vide) n'affichera aucune icone d'alerte.
0 peut être saisi pour afficher une alerte en cas de stock nul. +StockLimitDesc=(empty) means no warning.
0 can be used to trigger a warning as soon as the stock is empty. PhysicalStock=Stock physique RealStock=Stock réel RealStockDesc=Le stock physique ou réel est le stock présent dans les entrepôts. @@ -170,7 +168,7 @@ InventoryCodeShort=Code Inv./Mouv. NoPendingReceptionOnSupplierOrder=Pas de réception en attente consécutive à des commandes fournisseurs ThisSerialAlreadyExistWithDifferentDate=Ce lot/numéro de série (%s) existe déjà mais avec des dates de consommation ou péremption différente (trouvé %s mais vous avez entré %s). OpenAnyMovement=Ouvert (tous les mouvements) -OpenInternal=Ouvert (limité aux mouvements internes) +OpenInternal=Open (only internal movement) UseDispatchStatus=Utiliser un statut de contrôle (approuvé / refusé) pour les lignes de produits lors de la réception de la commande OptionMULTIPRICESIsOn=L'option "plusieurs prix par tranches" est activée. Cela signifie qu'un produit à plusieurs prix de vente donc sa valeur de vente ne peut être calculée. ProductStockWarehouseCreated=Alerte de limite de stock et de stock désiré ajoutée @@ -251,9 +249,10 @@ SelectAStockMovementFileToImport=sélectionnez un fichier de mouvement de stock InfoTemplateImport=Le fichier téléchargé doit avoir ce format (* champs obligatoires):
Entrepôt source* | Entrepôt cible* | Produit* | Quantité* | Numéro de lot/série
Le caractère de séparation CSV doit être "%s" LabelOfInventoryMovemement=Inventaire %s ReOpen=Réouvrir -ConfirmFinish=Confirmez-vous la clôture de l’inventaire? Ceci générera tous les mouvements de stock pour mettre à jour votre stock. +ConfirmFinish=Confirmez-vous la clôture de l'inventaire ? Cela générera tous les mouvements de stock pour mettre à jour votre stock à la quantité réelle que vous avez entrée dans l'inventaire. ObjectNotFound=%s introuvable MakeMovementsAndClose=Générer les mouvements et fermer AutofillWithExpected=Remplir la quantité réelle avec la quantité prévue -ShowAllBatchByDefault=Dérouler par défaut le détail des lots dans l'onglet "stock" -CollapseBatchDetailHelp=Vous pouvez définir l'affichage par défaut du détail des lots dans la configuration du module stocks +ShowAllBatchByDefault=Par défaut, afficher les détails des lots sur l'onglet "stock" du produit +CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration +FieldCannotBeNegative=Le champ "%s" ne peut pas être négatif diff --git a/htdocs/langs/fr_FR/ticket.lang b/htdocs/langs/fr_FR/ticket.lang index 11e68479e5c..38db6632f00 100644 --- a/htdocs/langs/fr_FR/ticket.lang +++ b/htdocs/langs/fr_FR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Résolution TicketTypeShortCOM=Question commerciale TicketTypeShortHELP=Demande d'aide fonctionnelle -TicketTypeShortISSUE=Problème ou bogue +TicketTypeShortISSUE=Question ou bug +TicketTypeShortPROBLEM=Problème TicketTypeShortREQUEST=Demande de changement ou d'amélioration TicketTypeShortPROJET=Projet TicketTypeShortOTHER=Autre @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Utilisateur assigné TypeContact_ticket_external_SUPPORTCLI=Contact client / suivi des tickets TypeContact_ticket_external_CONTRIBUTOR=Contributeur externe -OriginEmail=E-mail source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Envoi d'un message du ticket par e-mail # Status Read=Lu Assigned=Assigné InProgress=En cours -NeedMoreInformation=Attente retour client +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=En attente de retour Answered=Répondu Waiting=En attente Closed=Fermé @@ -160,7 +162,7 @@ CreatedBy=Créé par NewTicket=Nouveau ticket SubjectAnswerToTicket=Réponse ticket TicketTypeRequest=Type de demande -TicketCategory=Groupe +TicketCategory=Catégorisation du ticket SeeTicket=Voir le ticket TicketMarkedAsRead=Le ticket a été marqué comme lu TicketReadOn=Lu @@ -211,6 +213,7 @@ TicketMessageHelp=Seul ce texte sera sauvegardé dans la liste des messages sur TicketMessageSubstitutionReplacedByGenericValues=Les variables de substitution sont remplacées par des valeurs génériques. TimeElapsedSince=Temps écoulé depuis TicketTimeToRead=Temps écoulé avant la lecture +TicketTimeElapsedBeforeSince=Temps écoulé avant / depuis TicketContacts=Contacts ticket TicketDocumentsLinked=Documents liés ConfirmReOpenTicket=Voulez-vous ré-ouvrir ce ticket ? @@ -304,7 +307,7 @@ BoxLastModifiedTicket=Derniers tickets modifiés BoxLastModifiedTicketDescription=Les %s derniers tickets modifiés BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Pas de tickets modifiés récemment -BoxTicketType=Distribution of open tickets by type +BoxTicketType=Répartition des tickets ouverts par type BoxTicketSeverity=Nombre de tickets ouverts par sévérité BoxNoTicketSeverity=Aucun ticket ouvert BoxTicketLastXDays=Nombre de nouveaux tickets par jour ces %s derniers jours diff --git a/htdocs/langs/fr_FR/users.lang b/htdocs/langs/fr_FR/users.lang index 942a1d9fe87..baa7463f999 100644 --- a/htdocs/langs/fr_FR/users.lang +++ b/htdocs/langs/fr_FR/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Mot de passe modifié en: %s SubjectNewPassword=Votre mot de passe pour %s GroupRights=Permissions groupe UserRights=Permissions utilisateur -Credentials=Qualifications +Credentials=Identifiants UserGUISetup=Interface utilisateur DisableUser=Désactiver DisableAUser=Désactiver un utilisateur diff --git a/htdocs/langs/fr_FR/website.lang b/htdocs/langs/fr_FR/website.lang index 6f19dab9109..1d8b29b97e8 100644 --- a/htdocs/langs/fr_FR/website.lang +++ b/htdocs/langs/fr_FR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Ajouter site web Webpage=Page/container Web AddPage=Ajouter une page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=La prévisualisation de votre site web %s n'est pas disponible actuellement. Vous devez d'abord 'Importer un modèle de site web complet' ou juste 'Ajouter une page/container. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=La page demandée avec l'id=%s ne présente encore aucun contenu ou le fichier cache .tpl.php a été supprimé. Ajoutez du contenu à la page pour résoudre cela. SiteDeleted=Site Web '%s' supprimé PageContent=Page/Container diff --git a/htdocs/langs/fr_FR/workflow.lang b/htdocs/langs/fr_FR/workflow.lang index 2af480afa83..13fbbace793 100644 --- a/htdocs/langs/fr_FR/workflow.lang +++ b/htdocs/langs/fr_FR/workflow.lang @@ -13,6 +13,7 @@ descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classer la/les proposition(s) commer descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classer la/les commande(s) client(s) source(s) facturée(s) à la validation de la facture client (et si le montant de la facture est le même que le montant total des commandes liées) descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classer la/les commande(s) client(s) source(s) à Facturée quand une facture client est passée à Payé (et si le montant de la facture est identique à la somme des commandes sources) descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Classer la commande source à expédiée à la validation d'une expédition (et si les quantités expédiées dans le bon d'expédition sont les même que dans la commande mise à jour) +descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING_CLOSED=Classer la commande source à expédiée à la cloture d'une expédition (et si les quantités expédiées dans le bon d'expédition sont les même que dans la commande mise à jour) # Autoclassify purchase order descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classer la ou les proposition(s) commerciale(s) fournisseur sources facturées quand une facture fournisseur est validée (et si le montant de la facture est le même que le total des propositions sources liées) descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classer la ou les commande(s) fournisseur(s) de source(s) à facturée(s) lorsque la facture fournisseur est validée (et si le montant de la facture est le même que le montant total des commandes liées) diff --git a/htdocs/langs/fr_GA/products.lang b/htdocs/langs/fr_GA/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/fr_GA/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/fr_GA/ticket.lang b/htdocs/langs/fr_GA/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/fr_GA/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/gl_ES/admin.lang b/htdocs/langs/gl_ES/admin.lang index 12fec2a786f..15a325dcd28 100644 --- a/htdocs/langs/gl_ES/admin.lang +++ b/htdocs/langs/gl_ES/admin.lang @@ -53,6 +53,7 @@ InternalUser=Usuario interno ExternalUser=Usuario externo InternalUsers=Usuarios internos ExternalUsers=Usuarios externos +UserInterface=User interface GUISetup=Entorno SetupArea=Configuración UploadNewTemplate=Novo(s) padrón(s) actualizado(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Funcións SSL non dispoñibles no seu PHP DownloadMoreSkins=Mais temas para descargar SimpleNumRefModelDesc=Devolve o número de referencia no formato %s yymm-nnnn onde yy é o ano, mm é o mes e nnnn é un número secuencial de incremento automático sen restablecer SimpleNumRefNoDateModelDesc=Devolve o número de referencia no formato %s-nnnn onde nnnn é un número con incremento automático secuencial sen restablecemento -ShowProfIdInAddress=Amosa o identificador profisional nos enderezos dos documentos -ShowVATIntaInAddress=Ocultar o CIF intracomunitario nos enderezos dos documentos +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Tradución parcial MAIN_DISABLE_METEO=Deshabilitar a vista meteorolóxica MeteoStdMod=Modo estándar @@ -1778,7 +1779,7 @@ ClickToDialSetup=Prema para marcar a configuración do módulo ClickToDialUrlDesc=Url chamada cando se fai un clic na imaxe do teléfono. En URL, pode usar etiquetas
__PHONETO__ que se substituirán polo número de teléfono da persoa á que chamar
__PHONEFROM__ que se substituirá polo número de teléfono persoa (túa)
__LOGIN__ que se substituirá por inicio de sesión clicktodial (definido na tarxeta de usuario)
__PASS__ que se substituirá por contrasinal clicktodial (definido na tarxeta de usuario). ClickToDialDesc=Este módulo cambia os números de teléfono cando se usa un ordenador de escritorio por ligazóns onde se pode facer clic. Un clic chamará ao número. Isto pódese empregar para iniciar a chamada cando se usa un teléfono por software no seu escritorio ou cando se usa un sistema CTI baseado no protocolo SIP por exemplo. Nota: Cando se usa un teléfono intelixente, sempre se pode facer clic nos números de teléfono. ClickToDialUseTelLink=Use só unha ligazón "tel:" nos números de teléfono -ClickToDialUseTelLinkDesc=Utilice este método se os seus usuarios teñen instalado no mesmo ordenador que o do navegador un software de teléfono ou unha interface telefónica, chamando cando fan clic nunha ligazón do seu navegador que comeza con "tel:". Se precisa unha solución de servidor completa (sen necesidade de instalación de software local), debe establecer isto en "Non" e encher o seguinte campo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Terminales Punto de Venda CashDeskSetup=Configuración do módulo Punto de venda @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Agás se precisa executar comandos PHPFunctionsRequiredForCLI=Para o obxectico do shell (como a copia de seguridade programada do traballo ou a execución dun programa anitivurs), debe manter as funcións PHP NoWritableFilesFoundIntoRootDir=Non se atoparon ficheiros ou directorios con permisos de escritura dos programas comúns no directorio raíz (Bo) RecommendedValueIs=Recomendado %s -NotRecommended=Non recomendado +Recommended=Recomendada +NotRecommended=Not recommended ARestrictedPath=Un path restrinxido CheckForModuleUpdate=Comprobar actualizacións para os módulos externos CheckForModuleUpdateHelp=Esta acción conectara cos editores de módulos externos para comprobar se hai unha nova versión dispoñible. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Activada a API WS obsoleta. No seu l RandomlySelectedIfSeveral=Selección aleatoria se hai varias imaxes dispoñibles DatabasePasswordObfuscated=O contrasinal da base de datos está oculto no ficheiro conf DatabasePasswordNotObfuscated=O contrasinal da base de datos NON está oculto no ficheiro conf +APIsAreNotEnabled=Os módulos API non están activos +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/gl_ES/banks.lang b/htdocs/langs/gl_ES/banks.lang index f4dfdd68a3b..1cf5a9ac58d 100644 --- a/htdocs/langs/gl_ES/banks.lang +++ b/htdocs/langs/gl_ES/banks.lang @@ -115,7 +115,7 @@ TransferTo=A TransferFromToDone=A transferencia de %s hacia %s de %s %s foi rexistrada. CheckTransmitter=Orixe ValidateCheckReceipt=¿Validar este talón recibido? -ConfirmValidateCheckReceipt=Está certo de querer enviar este xustificante de talón para validalo? Non e posible cambialo despois +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=¿Eliminar esta remesa? ConfirmDeleteCheckReceipt=¿Está certo de querer eliminar esta remesa? BankChecks=Talóns bancarios diff --git a/htdocs/langs/gl_ES/boxes.lang b/htdocs/langs/gl_ES/boxes.lang index 341c78a4a22..dae7540ab47 100644 --- a/htdocs/langs/gl_ES/boxes.lang +++ b/htdocs/langs/gl_ES/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Pedimentos Provedor: últimos %s modificado BoxTitleLastModifiedCustomerBills=Facturas Clientes: últimas %s modificadas BoxTitleLastModifiedCustomerOrders=Pedimentos Clientes: últimos %s pedimentos modificados BoxTitleLastModifiedPropals=Últimos %s orzamentos modificados -BoxTitleLatestModifiedJobPositions=Últimos %s traballos modificados -BoxTitleLatestModifiedCandidatures=Últimas %s candidaturas modificadas +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Facturas a clientes ForCustomersOrders=Pedimentos de clientes ForProposals=Orzamentos diff --git a/htdocs/langs/gl_ES/cashdesk.lang b/htdocs/langs/gl_ES/cashdesk.lang index d752f71f1e6..2b5328219cb 100644 --- a/htdocs/langs/gl_ES/cashdesk.lang +++ b/htdocs/langs/gl_ES/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Permitir o pago en débeda PrintPaymentMethodOnReceipts=Imprimir método de pago en tickets/recibos WeighingScale=Pesaxe ShowPriceHT = Amosar a columna co prezo sen impostos (na pantalla) -ShowPriceHTOnReceipt = Amosar a columna co prezo sen impostos (no recibo) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/gl_ES/deliveries.lang b/htdocs/langs/gl_ES/deliveries.lang index 49996ef672a..60e8ca17833 100644 --- a/htdocs/langs/gl_ES/deliveries.lang +++ b/htdocs/langs/gl_ES/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Non enviable ShowShippableStatus=Amosar estado de envío ShowReceiving=Mostrar nota de recepción NonExistentOrder=Pedimento inexistente +StockQuantitiesAlreadyAllocatedOnPreviousLines = Cantidades de stock xa asignadas en liñas anteriores diff --git a/htdocs/langs/gl_ES/errors.lang b/htdocs/langs/gl_ES/errors.lang index a3436542779..a2567c0672e 100644 --- a/htdocs/langs/gl_ES/errors.lang +++ b/htdocs/langs/gl_ES/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=É preciso o supervisor do usuario ErrorActionCommBadType=O tipo de evento seleccionado (id: %n, código: %s) non existe no diccionario Tipo de Evento CheckVersionFail=Fallou a comprobación da versión ErrorWrongFileName=O nome do ficheiro non pode conte __SOMETHING__ nel +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/gl_ES/eventorganization.lang b/htdocs/langs/gl_ES/eventorganization.lang index bd8526c2db6..356afda5e24 100644 --- a/htdocs/langs/gl_ES/eventorganization.lang +++ b/htdocs/langs/gl_ES/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Descargar ligazón ICS EVENTORGANIZATION_SECUREKEY = Clave segura da ligazón de rexistro público a unha conferencia SERVICE_BOOTH_LOCATION = Servizo empregado para a fila de facturas sobre a situación do stand SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Servizo usado para a fila de facturas sobre unha subscrición de asistente a unha conferencia +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Esta conferencia comeza en %s e remata en %s. ConferenceAttendeeFee = Importe de asistente á conferencia para o evento:' %s ' acontece de %s a %s BoothLocationFee = Localización do stand para o evento: "%s" que acontece do %s ao %s EventType = Tipo de evento +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/gl_ES/exports.lang b/htdocs/langs/gl_ES/exports.lang index aeb080ad0b7..49bed28e022 100644 --- a/htdocs/langs/gl_ES/exports.lang +++ b/htdocs/langs/gl_ES/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipo de liña (0=producto, 1=servizo) FileWithDataToImport=Ficheiro cos datos a importar FileToImport=Ficheiro orixe a importar FileMustHaveOneOfFollowingFormat=O ficheiro de importación debe conter un dos seguintes formatos -DownloadEmptyExample=Descargar ficheiro de exemplo baleiro +DownloadEmptyExample=Descargue un ficheiro de modelo con información de contido do campo +StarAreMandatory=* son campos obrigatorios ChooseFormatOfFileToImport=Escolla o formato de ficheiro que desexa importar e prema na imaxe %s para seleccionalo... ChooseFileToImport=Escolla o ficheiro de importación e faga clic na imaxe %s para seleccionalo como ficheiro orixe de importación... SourceFileFormat=Formato do ficheiro orixe diff --git a/htdocs/langs/gl_ES/install.lang b/htdocs/langs/gl_ES/install.lang index 6c5340991c7..762d483828b 100644 --- a/htdocs/langs/gl_ES/install.lang +++ b/htdocs/langs/gl_ES/install.lang @@ -149,8 +149,8 @@ NothingToDo=Nothing to do ######### # upgrade MigrationFixData=Corrección de datos desnormalizados -MigrationOrder=Migración de datos para os pedimentos a cliente -MigrationSupplierOrder=Migración de datos para os pedimentos de provedor +MigrationOrder=Migración de datos para os pedimentos de cliente +MigrationSupplierOrder=Migración de datos para os pedimentos a provedor MigrationProposal=Migración de datos para propostas comerciais MigrationInvoice=Migración de datos para as facturas do cliente MigrationContract=Migración de datos para contratos @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migración de enderezos de fotos para usuarios MigrationFieldsSocialNetworks=Migración de redes sociais dos campos dos usuarios (%s) MigrationReloadModule=Recargar o módulo %s MigrationResetBlockedLog=Restablecer o módulo BlockedLog para o algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Amosar as opcións non dispoñibles HideNotAvailableOptions=Ocultar opcións non dispoñibles ErrorFoundDuringMigration=Informáronse erros durante o proceso de migración polo que o seguinte paso non está dispoñible. Para ignorar os erros, pode facer clic aquí , pero é posible que a aplicación ou algunhas funcións non funcionen correctamente ata que non se resolvan os erros. diff --git a/htdocs/langs/gl_ES/productbatch.lang b/htdocs/langs/gl_ES/productbatch.lang index d52d0e031e6..03495c2d642 100644 --- a/htdocs/langs/gl_ES/productbatch.lang +++ b/htdocs/langs/gl_ES/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Consultar os movemeentos de stock deste produto/lote StockDetailPerBatch=Detalle de stock por lote SerialNumberAlreadyInUse=O número de serie %s xa é usado para o produto %s TooManyQtyForSerialNumber=Só pode ter un produto %s para o número de serie %s -BatchLotNumberingModules=Opcións para a xeración automática de lotes de produtos xestionados por lotes -BatchSerialNumberingModules=Opcións para a xeración automática de lotes de produtos xestionados por números de serie ManageLotMask=Máscara personalizada -CustomMasks=Engada unha opción para definir a máscara na tarxeta do produto -LotProductTooltip=Engada unha opción na tarxeta do produto para definir unha máscara de número de lote dedicada -SNProductTooltip=Engada unha opción na tarxeta do produto para definir unha máscara de número de serie dedicada +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Cant. a engadir por cada código de barras/lote/serie escaneado LifeTime=Duración da vida útil (en días) EndOfLife=Fin da vida útil diff --git a/htdocs/langs/gl_ES/products.lang b/htdocs/langs/gl_ES/products.lang index ddd97ea5344..ca75d74bb38 100644 --- a/htdocs/langs/gl_ES/products.lang +++ b/htdocs/langs/gl_ES/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Diferentes prezos para cada cliente PriceCatalogue=Un prezo único de venda por produto/servizo PricingRule=Regras para prezos de venda AddCustomerPrice=Configurar prezo po cliente -ForceUpdateChildPriceSoc=Establecer o mesmo prezo nas filiais dos clientes +ForceUpdateChildPriceSoc=Establece o mesmo prezo nas filiais do cliente PriceByCustomerLog=Historial de prezos previos a clientes MinimumPriceLimit=O prezo mínimo non pode ser menor que %s MinimumRecommendedPrice=O prezo mínimo recomendado é: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Incrementar/Diminuir stock ao mudar o pai ComposedProduct=Subproduto MinSupplierPrice=Prezo mínimo de compra MinCustomerPrice=Prezo mínimo de venda +NoDynamicPrice=Sen prezo dinámico DynamicPriceConfiguration=Configuración de prezo dinámico DynamicPriceDesc=Pode definir fórmulas matemáticas para calcular os prezos do cliente ou do provedor. Tales fórmulas poden empregar todos os operadores matemáticos, algunhas constantes e variables. Pode definir aquí as variables que desexa empregar. Se a variable precisa unha actualización automática, pode definir a URL externa para permitir a Dolibarr actualizar o valor automaticamente. AddVariable=Engadir variable diff --git a/htdocs/langs/gl_ES/salaries.lang b/htdocs/langs/gl_ES/salaries.lang index 577ba84d964..6567eb6151d 100644 --- a/htdocs/langs/gl_ES/salaries.lang +++ b/htdocs/langs/gl_ES/salaries.lang @@ -17,8 +17,8 @@ TJM=Taxa media por día CurrentSalary=Salario actual THMDescription=Este valor pode ser utilizado para calcular os custos de tempo consumido nun proxecto indicados polos usuarios se utiliza o módulo proxectos TJMDescription=Este valor actualmente é informativo e non é utilizado para realizar calquera tipo de cálculo -LastSalaries=Últimos %s pagamentos salariais -AllSalaries=Todos os pagamentos salariais +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Estatísticas salariais -# Export SalariesAndPayments=Salarios e pagamentos +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/gl_ES/ticket.lang b/htdocs/langs/gl_ES/ticket.lang index 2f456f65b86..81c2c548f1b 100644 --- a/htdocs/langs/gl_ES/ticket.lang +++ b/htdocs/langs/gl_ES/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Resolución dos tickets TicketTypeShortCOM=Pregunta comercial TicketTypeShortHELP=Solicitar axuda sobre funcións -TicketTypeShortISSUE=Erro, bug ou problema +TicketTypeShortISSUE=Problema ou erro +TicketTypeShortPROBLEM=Problema TicketTypeShortREQUEST=Solicitude de cambio ou mellora TicketTypeShortPROJET=Proxecto TicketTypeShortOTHER=Outro @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuario asignado TypeContact_ticket_external_SUPPORTCLI=Contacto seguemento cliente/incidente TypeContact_ticket_external_CONTRIBUTOR=Contribuidor externo -OriginEmail=Orixe E-Mail +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Enviar mensaxe de ticket por e-mail # Status Read=Lido Assigned=Asignado InProgress=En progreso -NeedMoreInformation=Agardando información +NeedMoreInformation=Agardando os comentarios do redactor +NeedMoreInformationShort=Agardando os comentarios Answered=Contestado Waiting=Agardando Closed=Pechado @@ -160,7 +162,7 @@ CreatedBy=Creado por NewTicket=Novo ticket SubjectAnswerToTicket=Resposta TicketTypeRequest=Tipo de solicitude -TicketCategory=Grúpo +TicketCategory=Categorización de tickets SeeTicket=Ver ticket TicketMarkedAsRead=O ticket foi marcado como lido TicketReadOn=Lido o @@ -211,6 +213,7 @@ TicketMessageHelp=Só este texto será gardado na listaxe de mensaxes na ficha d TicketMessageSubstitutionReplacedByGenericValues=As variables de substitución son reemplazadas por valores xenéricos. TimeElapsedSince=Tempo transcurrido dende TicketTimeToRead=Tempo transcurrido antes de ler o ticket +TicketTimeElapsedBeforeSince=Tempo transcorrido antes / despois TicketContacts=Contactos do ticket TicketDocumentsLinked=Documentos ligados ao ticket ConfirmReOpenTicket=¿Está certo de querer reabrir este ticket? diff --git a/htdocs/langs/gl_ES/users.lang b/htdocs/langs/gl_ES/users.lang index e36d65af255..b101e4a9df4 100644 --- a/htdocs/langs/gl_ES/users.lang +++ b/htdocs/langs/gl_ES/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login a crear NameToCreate=Nome do terceiro a crear YourRole=Os seus roles YourQuotaOfUsersIsReached=¡Máximo de cota de usuarios activos! -NbOfUsers=Nº de usuarios -NbOfPermissions=Nº de permisos +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Sólo un superadmin pode degradar un superadmin HierarchicalResponsible=Supervisor HierarchicView=Vista xerárquica diff --git a/htdocs/langs/gl_ES/website.lang b/htdocs/langs/gl_ES/website.lang index e88f134bdd8..4f5044de2f3 100644 --- a/htdocs/langs/gl_ES/website.lang +++ b/htdocs/langs/gl_ES/website.lang @@ -31,7 +31,7 @@ AddWebsite=Engadir sitio web Webpage=Páxina web/contedor AddPage=Engadir páxina/contedor PageContainer=Páxina -PreviewOfSiteNotYetAvailable=A vista previa do seu sitio web %s aínda non está dispoñible. Primeiro debe " Importar un modelo de sitio web completo " ou simplemente " Engadir unha páxina/contedor ". +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=A páxina solicitada co id %s aínda non ten contido ou a caché file.tpl.php foi eliminada. Edite o contido da páxina para solucionar isto. SiteDeleted=Eliminouse o sitio web '%s' PageContent=Páxina/Contedor diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index c14a7d92f8a..effdc93b52d 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -53,6 +53,7 @@ InternalUser=פנימית המשתמש ExternalUser=משתמש חיצוני InternalUsers=משתמשים פנימיים ExternalUsers=משתמשים חיצוניים +UserInterface=User interface GUISetup=להציג SetupArea=הגדרת UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=פונקציות שאינן זמינות ב-SSL-PHP DownloadMoreSkins=עוד סקינים להורדה SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=תרגום חלקי MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=לחץ כדי לחייג ההתקנה מודול ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=מומלץ +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/he_IL/banks.lang b/htdocs/langs/he_IL/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/he_IL/banks.lang +++ b/htdocs/langs/he_IL/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/he_IL/boxes.lang b/htdocs/langs/he_IL/boxes.lang index 2b95bd27634..8d1a73464bb 100644 --- a/htdocs/langs/he_IL/boxes.lang +++ b/htdocs/langs/he_IL/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=הצעות diff --git a/htdocs/langs/he_IL/cashdesk.lang b/htdocs/langs/he_IL/cashdesk.lang index 72b2d4d5e6a..e4463601da5 100644 --- a/htdocs/langs/he_IL/cashdesk.lang +++ b/htdocs/langs/he_IL/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/he_IL/deliveries.lang b/htdocs/langs/he_IL/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/he_IL/deliveries.lang +++ b/htdocs/langs/he_IL/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/he_IL/eventorganization.lang b/htdocs/langs/he_IL/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/he_IL/eventorganization.lang +++ b/htdocs/langs/he_IL/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/he_IL/exports.lang b/htdocs/langs/he_IL/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/he_IL/exports.lang +++ b/htdocs/langs/he_IL/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index 9c06c5e26ed..804488856d4 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/he_IL/interventions.lang b/htdocs/langs/he_IL/interventions.lang index f09d69912e1..73e80027902 100644 --- a/htdocs/langs/he_IL/interventions.lang +++ b/htdocs/langs/he_IL/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/he_IL/productbatch.lang b/htdocs/langs/he_IL/productbatch.lang index d4e69c4df42..da47bb3690d 100644 --- a/htdocs/langs/he_IL/productbatch.lang +++ b/htdocs/langs/he_IL/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index 10dcff359e1..860c7aa775a 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/he_IL/salaries.lang b/htdocs/langs/he_IL/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/he_IL/salaries.lang +++ b/htdocs/langs/he_IL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/he_IL/ticket.lang b/htdocs/langs/he_IL/ticket.lang index e9178cf173e..27ac33e1490 100644 --- a/htdocs/langs/he_IL/ticket.lang +++ b/htdocs/langs/he_IL/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=אחר @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/he_IL/users.lang b/htdocs/langs/he_IL/users.lang index 9507cb1b919..5fea8efa207 100644 --- a/htdocs/langs/he_IL/users.lang +++ b/htdocs/langs/he_IL/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/he_IL/website.lang b/htdocs/langs/he_IL/website.lang index 62a37b65b60..3d4c70f99e7 100644 --- a/htdocs/langs/he_IL/website.lang +++ b/htdocs/langs/he_IL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/hi_IN/admin.lang b/htdocs/langs/hi_IN/admin.lang index 6fe157bc675..210a577f939 100644 --- a/htdocs/langs/hi_IN/admin.lang +++ b/htdocs/langs/hi_IN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=संस्तुत +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/hi_IN/banks.lang b/htdocs/langs/hi_IN/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/hi_IN/banks.lang +++ b/htdocs/langs/hi_IN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/hi_IN/boxes.lang b/htdocs/langs/hi_IN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/hi_IN/boxes.lang +++ b/htdocs/langs/hi_IN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/hi_IN/cashdesk.lang b/htdocs/langs/hi_IN/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/hi_IN/cashdesk.lang +++ b/htdocs/langs/hi_IN/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/hi_IN/deliveries.lang b/htdocs/langs/hi_IN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/hi_IN/deliveries.lang +++ b/htdocs/langs/hi_IN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/hi_IN/errors.lang b/htdocs/langs/hi_IN/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/hi_IN/errors.lang +++ b/htdocs/langs/hi_IN/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/hi_IN/eventorganization.lang b/htdocs/langs/hi_IN/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/hi_IN/eventorganization.lang +++ b/htdocs/langs/hi_IN/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/hi_IN/exports.lang b/htdocs/langs/hi_IN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/hi_IN/exports.lang +++ b/htdocs/langs/hi_IN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/hi_IN/install.lang b/htdocs/langs/hi_IN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/hi_IN/install.lang +++ b/htdocs/langs/hi_IN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/hi_IN/interventions.lang b/htdocs/langs/hi_IN/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/hi_IN/interventions.lang +++ b/htdocs/langs/hi_IN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/hi_IN/productbatch.lang b/htdocs/langs/hi_IN/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/hi_IN/productbatch.lang +++ b/htdocs/langs/hi_IN/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/hi_IN/products.lang b/htdocs/langs/hi_IN/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/hi_IN/products.lang +++ b/htdocs/langs/hi_IN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/hi_IN/salaries.lang b/htdocs/langs/hi_IN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/hi_IN/salaries.lang +++ b/htdocs/langs/hi_IN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/hi_IN/ticket.lang b/htdocs/langs/hi_IN/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/hi_IN/ticket.lang +++ b/htdocs/langs/hi_IN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/hi_IN/users.lang b/htdocs/langs/hi_IN/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/hi_IN/users.lang +++ b/htdocs/langs/hi_IN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/hi_IN/website.lang b/htdocs/langs/hi_IN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/hi_IN/website.lang +++ b/htdocs/langs/hi_IN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index c1373c79e36..936bd0d90fe 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interni korisnik ExternalUser=Vanjski korisnik InternalUsers=Interni korisnici ExternalUsers=Vanjski korisnici +UserInterface=User interface GUISetup=Prikaz SetupArea=Postavke UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcije nisu dostupne u vašem PHP DownloadMoreSkins=Više skinova za skinuti SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Parcijalni prijevod MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Podešavanje modula ClickToDial ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Koristi samo "tel:" kod telefona -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Preporučeno +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/hr_HR/banks.lang b/htdocs/langs/hr_HR/banks.lang index 385eba1a7d7..908d31d1bb9 100644 --- a/htdocs/langs/hr_HR/banks.lang +++ b/htdocs/langs/hr_HR/banks.lang @@ -115,7 +115,7 @@ TransferTo=Za TransferFromToDone=Prijenos sa %s na %s od %s %s je pohranjen. CheckTransmitter=Pošiljatelj ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bankovni čekovi diff --git a/htdocs/langs/hr_HR/boxes.lang b/htdocs/langs/hr_HR/boxes.lang index 9f1f6135994..2ea4998e4d0 100644 --- a/htdocs/langs/hr_HR/boxes.lang +++ b/htdocs/langs/hr_HR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Narudžbenice: zadnje %s izmjene BoxTitleLastModifiedPropals=Zadnje %s izmijenjene ponude -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Izlazni računi ForCustomersOrders=Narudžbe kupaca ForProposals=Prijedlozi diff --git a/htdocs/langs/hr_HR/cashdesk.lang b/htdocs/langs/hr_HR/cashdesk.lang index 2fe6518b7f1..89775856378 100644 --- a/htdocs/langs/hr_HR/cashdesk.lang +++ b/htdocs/langs/hr_HR/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/hr_HR/deliveries.lang b/htdocs/langs/hr_HR/deliveries.lang index b74558fbdd7..56123a13cd5 100644 --- a/htdocs/langs/hr_HR/deliveries.lang +++ b/htdocs/langs/hr_HR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Primatelj ErrorStockIsNotEnough=Nema dovoljno robe na skladištu Shippable=Isporuka moguća NonShippable=Isporuka nije moguća +ShowShippableStatus=Show shippable status ShowReceiving=Prikaži dostavnu primku NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index 7694f6884b7..a7c2118c171 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/hr_HR/eventorganization.lang b/htdocs/langs/hr_HR/eventorganization.lang index 505fe0faa62..c356c508877 100644 --- a/htdocs/langs/hr_HR/eventorganization.lang +++ b/htdocs/langs/hr_HR/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Vrsta događaja +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/hr_HR/exports.lang b/htdocs/langs/hr_HR/exports.lang index f214e7f85dd..c9238c0cdcf 100644 --- a/htdocs/langs/hr_HR/exports.lang +++ b/htdocs/langs/hr_HR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index 78c882aec80..6378b154691 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/hr_HR/productbatch.lang b/htdocs/langs/hr_HR/productbatch.lang index 99758559299..c71f7b3be5d 100644 --- a/htdocs/langs/hr_HR/productbatch.lang +++ b/htdocs/langs/hr_HR/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Prikaži dnevnik kretanja za par proizvod/serija StockDetailPerBatch=Detalji zaliha po serijama SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index 51a3b6a6888..d18bd384c25 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Različite cijene za svakog kupca PriceCatalogue=Jedinstvena prodajna cijena po proizvodu/usluzi PricingRule=Rules for selling prices AddCustomerPrice=Dodaj cijenu po kupcu -ForceUpdateChildPriceSoc=Postavi istu cijenu za sve poslovnice kupca +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Zabilježi prijašnje cijene kupca MinimumPriceLimit=Minimalna cijena ne može biti niža od %s. MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Povečaj/smanji zalihu po promjeni matičnog proizvod ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamična konfiguracija cijene DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Dodaj varijablu diff --git a/htdocs/langs/hr_HR/salaries.lang b/htdocs/langs/hr_HR/salaries.lang index f80c2d8ace4..95eaa6fa9d7 100644 --- a/htdocs/langs/hr_HR/salaries.lang +++ b/htdocs/langs/hr_HR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Plaća Salaries=Plaće -NewSalaryPayment=Nova isplata plaće +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Isplata plaće SalariesPayments=Isplate plaća +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Prikaži isplatu plaće THM=Prosječna satnica TJM=Prosječna dnevnica CurrentSalary=Trenutna plaća THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/hr_HR/ticket.lang b/htdocs/langs/hr_HR/ticket.lang index 5d4b66f493b..334210d37ae 100644 --- a/htdocs/langs/hr_HR/ticket.lang +++ b/htdocs/langs/hr_HR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostalo @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=U postupku -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Čeka Closed=Zatvoreno @@ -160,7 +162,7 @@ CreatedBy=Izradio NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupa +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/hr_HR/users.lang b/htdocs/langs/hr_HR/users.lang index e3922741024..d0f806c6b6a 100644 --- a/htdocs/langs/hr_HR/users.lang +++ b/htdocs/langs/hr_HR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Prijavite se za stvaranje NameToCreate=Naziv komitenta za kreiranje YourRole=Vaše uloge YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je dostignuta ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin može unazaditi superadmina HierarchicalResponsible=Nadglednik HierarchicView=Hijerarhijski prikaz diff --git a/htdocs/langs/hr_HR/website.lang b/htdocs/langs/hr_HR/website.lang index 9be434c3c81..29831210fb6 100644 --- a/htdocs/langs/hr_HR/website.lang +++ b/htdocs/langs/hr_HR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Strana -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index 59e645d548c..6ce2f4839ca 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -53,6 +53,7 @@ InternalUser=Belső felhasználó ExternalUser=Külső felhasználó InternalUsers=Belső felhasználók ExternalUsers=Külső felhasználók +UserInterface=User interface GUISetup=Kijelző SetupArea=Beállítás UploadNewTemplate=Új sablon(ok) feltöltése @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkció nem áll rendelkezésre a PHP DownloadMoreSkins=További bőrök letöltése SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Részleges fordítás MAIN_DISABLE_METEO=A meteorológiai nézet letiltása MeteoStdMod=Normál mód @@ -1778,7 +1779,7 @@ ClickToDialSetup=Kattintson a Tárcsázás modul beállítása ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Ajánlott +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/hu_HU/banks.lang b/htdocs/langs/hu_HU/banks.lang index b9ec7356a11..091018a0e25 100644 --- a/htdocs/langs/hu_HU/banks.lang +++ b/htdocs/langs/hu_HU/banks.lang @@ -115,7 +115,7 @@ TransferTo=Címzett TransferFromToDone=A transzfer %s a %s a %s %s lett felvéve. CheckTransmitter=Küldő ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Banki csekkek diff --git a/htdocs/langs/hu_HU/boxes.lang b/htdocs/langs/hu_HU/boxes.lang index 3a23f75e080..e4494db996f 100644 --- a/htdocs/langs/hu_HU/boxes.lang +++ b/htdocs/langs/hu_HU/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Ügyfél számlák ForCustomersOrders=Ügyfél megrendelések ForProposals=Javaslatok diff --git a/htdocs/langs/hu_HU/cashdesk.lang b/htdocs/langs/hu_HU/cashdesk.lang index 3f593a27d4d..43c44a2dd95 100644 --- a/htdocs/langs/hu_HU/cashdesk.lang +++ b/htdocs/langs/hu_HU/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/hu_HU/deliveries.lang b/htdocs/langs/hu_HU/deliveries.lang index f7656297b0f..c907a121477 100644 --- a/htdocs/langs/hu_HU/deliveries.lang +++ b/htdocs/langs/hu_HU/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Címzett ErrorStockIsNotEnough=Nincs elég raktáron Shippable=Szállítható NonShippable=Nem szállítható +ShowShippableStatus=Show shippable status ShowReceiving=Mutassa az átvételi elismervényt NonExistentOrder=Nem létező megrendelés +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index d06fc6e5773..172d52e6908 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/hu_HU/eventorganization.lang b/htdocs/langs/hu_HU/eventorganization.lang index 4840d6b0819..05c7d92875c 100644 --- a/htdocs/langs/hu_HU/eventorganization.lang +++ b/htdocs/langs/hu_HU/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/hu_HU/exports.lang b/htdocs/langs/hu_HU/exports.lang index 207e255a0f7..c8945321c10 100644 --- a/htdocs/langs/hu_HU/exports.lang +++ b/htdocs/langs/hu_HU/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Vonal típusa (0 = a termék, 1 = szolgáltatás) FileWithDataToImport=File adatokat importálni FileToImport=Forrás fájlt importálni FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Forrás fájlformátum diff --git a/htdocs/langs/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index f576818e1d1..0c9cef51237 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Képek útvonalainak áttelepítése a felhasználók sz MigrationFieldsSocialNetworks=A felhasználói fiókok migrációja a közösségi hálózatokon (%s) MigrationReloadModule=Modul újratöltése %s MigrationResetBlockedLog=Alaphelyzetbe állítja a BlockedLog modult a v7 algoritmushoz +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Nem elérhető lehetőségek megjelenítése HideNotAvailableOptions=Nem elérhető lehetőségek elrejtése ErrorFoundDuringMigration=Hibá(k) fordulhattak elő a migrálási folyamat során, így a következő lépés nem érhető el. A hibák figyelmen kívül hagyásához kattintson ide, de lehet, hogy az alkalmazás vagy egyes szolgáltatások nem működnek addig helyesen, amíg a hibákat ki nem javítja (valaki). diff --git a/htdocs/langs/hu_HU/interventions.lang b/htdocs/langs/hu_HU/interventions.lang index 40f2ec4977c..7e84765eb37 100644 --- a/htdocs/langs/hu_HU/interventions.lang +++ b/htdocs/langs/hu_HU/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/hu_HU/productbatch.lang b/htdocs/langs/hu_HU/productbatch.lang index 59f47f89a79..848386e6c50 100644 --- a/htdocs/langs/hu_HU/productbatch.lang +++ b/htdocs/langs/hu_HU/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index ee12f3ea4a5..26b5bdf7f2c 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Egyedi ár minden vevő számára PriceCatalogue=Egyetlen eladási ár termékenként/szolgáltatásonként PricingRule=Az eladási árak szabályai AddCustomerPrice=Ár hozzáadása ügyfelek szerint -ForceUpdateChildPriceSoc=Állítsa be ugyanazt az árat az ügyfél leányvállalatokra +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=A korábbi vevői árak naplója MinimumPriceLimit=A minimális ár nem lehet kisebb mint %s MinimumRecommendedPrice=Ajánlott minimális ár: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Növelje/csökkentse a készletet a szülő termék v ComposedProduct=Gyermek termékek MinSupplierPrice=Minimális vételár MinCustomerPrice=Minimális eladási ár +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamikus árkonfiguráció DynamicPriceDesc=Megadhat matematikai képleteket a vevői vagy a szállítói árak kiszámításához. Az ilyen képletek felhasználhatják az összes matematikai operátort, néhány állandót és változót. Itt meghatározhatja azokat a változókat, amelyeket használni kíván. Ha a változónak automatikus frissítésre van szüksége, megadhatja a külső URL-t, hogy a Dolibarr automatikusan frissítse az értéket. AddVariable=Változó hozzáadása diff --git a/htdocs/langs/hu_HU/salaries.lang b/htdocs/langs/hu_HU/salaries.lang index 3ab2c9f6d4d..fffafe44485 100644 --- a/htdocs/langs/hu_HU/salaries.lang +++ b/htdocs/langs/hu_HU/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Bérek -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/hu_HU/ticket.lang b/htdocs/langs/hu_HU/ticket.lang index 940875e54b8..72748adb113 100644 --- a/htdocs/langs/hu_HU/ticket.lang +++ b/htdocs/langs/hu_HU/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Egyéb @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Olvas Assigned=Assigned InProgress=Folyamatban -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Várakozás Closed=Lezárt @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Csoport +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/hu_HU/users.lang b/htdocs/langs/hu_HU/users.lang index 1c115aac06a..f10f7b62924 100644 --- a/htdocs/langs/hu_HU/users.lang +++ b/htdocs/langs/hu_HU/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Létrehozandó bejelentkezés NameToCreate=Létrehozandó harmadik fél neve YourRole=Szerepkörei YourQuotaOfUsersIsReached=Aktív felhasználói kvóta elérve! -NbOfUsers=Felhasználók száma -NbOfPermissions=Engedélyek száma +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Csak egy superadmin lehet downgrade 1 superadmin HierarchicalResponsible=Felettes HierarchicView=Hierachia nézet diff --git a/htdocs/langs/hu_HU/website.lang b/htdocs/langs/hu_HU/website.lang index 0d0b576b87e..4f3fc5bc963 100644 --- a/htdocs/langs/hu_HU/website.lang +++ b/htdocs/langs/hu_HU/website.lang @@ -31,7 +31,7 @@ AddWebsite=Webhely hozzáadása Webpage=Weblap / tároló AddPage=Oldal / tároló hozzáadása PageContainer=Oldal -PreviewOfSiteNotYetAvailable=A weboldal előnézete %s még nem érhető el. Először ' Teljes weboldal-sablont kell importálnia ' vagy csak ' Oldal / tároló hozzáadása ' elemet . +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Az %s azonosítóval kért oldalnak még nincs tartalma, vagy a .tpl.php gyorsítótár fájlt eltávolították. Szerkessze az oldal tartalmát ennek megoldásához. SiteDeleted='%s' webhely törölve PageContent=Oldal / Konténer diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index b653844ce89..0d8796aa98b 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -53,6 +53,7 @@ InternalUser=Pengguna internal ExternalUser=Pengguna eksternal InternalUsers=Pengguna internal ExternalUsers=Pengguna eksternal +UserInterface=User interface GUISetup=Tampakan Display SetupArea=Pengaturan UploadNewTemplate=Unggah templat baru(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Fungsi SSL tidak tersedia di PHP Anda DownloadMoreSkins=Lebih banyak skin untuk diunduh SimpleNumRefModelDesc=Mengembalikan nomor referensi dalam format %syymm-nnnn di mana yy adalah tahun, mm adalah bulan dan nnnn adalah nomor auto-incrementing berurutan tanpa reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Tampilkan id profesional dengan alamat -ShowVATIntaInAddress=Sembunyikan nomor PPN intra-Komunitas dengan alamat +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Terjemahan sebagian MAIN_DISABLE_METEO=Nonaktifkan tampilan meteorologi MeteoStdMod=Mode standar @@ -1778,7 +1779,7 @@ ClickToDialSetup=Klik Untuk Memanggil pengaturan modul ClickToDialUrlDesc=Url dipanggil ketika klik pada telepon picto dilakukan. Di URL, Anda dapat menggunakan tag
__PHONETO__yang akan diganti dengan nomor telepon orang untuk memanggil
__PHONEFROM__yang akan diganti dengan nomor telepon memanggil orang (Anda)
__LOGIN__yang akan diganti dengan clicktodial login (didefinisikan pada kartu pengguna)
__PASS__yang akan diganti dengan password clicktodial (didefinisikan pada kartu pengguna). ClickToDialDesc=Modul ini mengubah nomor telepon, saat menggunakan komputer desktop, menjadi tautan yang dapat diklik. Satu klik akan memanggil nomor tersebut. Ini dapat digunakan untuk memulai panggilan telepon saat menggunakan telepon lunak di desktop Anda atau saat menggunakan sistem CTI berdasarkan protokol SIP misalnya. Catatan: Saat menggunakan ponsel cerdas, nomor telepon selalu dapat diklik. ClickToDialUseTelLink=Gunakan hanya tautan "tel:" pada nomor telepon -ClickToDialUseTelLinkDesc=Gunakan metode ini jika pengguna Anda memiliki softphone atau antarmuka perangkat lunak yang diinstal pada komputer yang sama dengan browser, dan dipanggil ketika Anda mengklik tautan di browser Anda yang dimulai dengan "tel:". Jika Anda memerlukan solusi server lengkap (tidak perlu instalasi perangkat lunak lokal), Anda harus mengatur ini ke "Tidak" dan isi kolom selanjutnya. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Titik penjualan POS CashDeskSetup=Pengaturan modul Point of Sales @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Direkomendasikan +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/id_ID/banks.lang b/htdocs/langs/id_ID/banks.lang index 84e3aecbc0f..07792b4e882 100644 --- a/htdocs/langs/id_ID/banks.lang +++ b/htdocs/langs/id_ID/banks.lang @@ -115,7 +115,7 @@ TransferTo=Kepada TransferFromToDone=Transfer dari %s ke %s dari %s %s telah dicatat. CheckTransmitter=Sender ValidateCheckReceipt=Validasi tanda terima cek ini? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Hapus tanda terima cek ini? ConfirmDeleteCheckReceipt=Anda yakin ingin menghapus tanda terima cek ini? BankChecks=Cek bank diff --git a/htdocs/langs/id_ID/boxes.lang b/htdocs/langs/id_ID/boxes.lang index 849a43fd146..7205c7341c0 100644 --- a/htdocs/langs/id_ID/boxes.lang +++ b/htdocs/langs/id_ID/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Pesanan Vendor: %s terakhir dimodifikasi BoxTitleLastModifiedCustomerBills=Faktur Pelanggan: %s terakhir dimodifikasi BoxTitleLastModifiedCustomerOrders=Pesanan Penjualan: %s terakhir dimodifikasi BoxTitleLastModifiedPropals=Proposal dimodifikasi %s terbaru -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Tagihan pelanggan ForCustomersOrders=Pesanan pelanggan ForProposals=Proposal diff --git a/htdocs/langs/id_ID/cashdesk.lang b/htdocs/langs/id_ID/cashdesk.lang index 02c10810ce5..42060d0374c 100644 --- a/htdocs/langs/id_ID/cashdesk.lang +++ b/htdocs/langs/id_ID/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/id_ID/deliveries.lang b/htdocs/langs/id_ID/deliveries.lang index e04f7ef16e6..ef3921e9540 100644 --- a/htdocs/langs/id_ID/deliveries.lang +++ b/htdocs/langs/id_ID/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Penerima ErrorStockIsNotEnough=Tidak ada stok yang cukup Shippable=Dapat dikirim NonShippable=Tidak Dapat Dikirim +ShowShippableStatus=Show shippable status ShowReceiving=Tampilkan tanda terima pengiriman NonExistentOrder=Pesanan tidak ada +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index 8777126de3c..4e3f5eb1569 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/id_ID/eventorganization.lang b/htdocs/langs/id_ID/eventorganization.lang index c335ed8a7ff..03090c1a352 100644 --- a/htdocs/langs/id_ID/eventorganization.lang +++ b/htdocs/langs/id_ID/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Jenis agenda +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/id_ID/exports.lang b/htdocs/langs/id_ID/exports.lang index 39cc5685c18..85901957857 100644 --- a/htdocs/langs/id_ID/exports.lang +++ b/htdocs/langs/id_ID/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Jenis garis (0 = produk, 1 = layanan) FileWithDataToImport=File dengan data untuk diimpor FileToImport=Sumber file untuk diimpor FileMustHaveOneOfFollowingFormat=File yang akan diimpor harus memiliki salah satu format berikut -DownloadEmptyExample=Unduh file template dengan informasi konten bidang (* adalah bidang wajib) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Pilih format file untuk digunakan sebagai format file impor dengan mengklik ikon %s untuk memilihnya ... ChooseFileToImport=Unggah file kemudian klik ikon %s untuk memilih file sebagai file impor sumber ... SourceFileFormat=Format file sumber diff --git a/htdocs/langs/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index ec85aa3eaf9..dd5406e81e4 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrasi jalur foto untuk pengguna MigrationFieldsSocialNetworks=Migrasi pengguna memasukkan jejaring sosial (%s) MigrationReloadModule=Muat ulang modul %s MigrationResetBlockedLog=Atur ulang modul BlockedLog untuk algoritma v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Tampilkan opsi yang tidak tersedia HideNotAvailableOptions=Sembunyikan opsi yang tidak tersedia ErrorFoundDuringMigration=Kesalahan dilaporkan selama proses migrasi sehingga langkah selanjutnya tidak tersedia. Untuk mengabaikan kesalahan, Anda dapat klik di sini , tetapi aplikasi atau beberapa fitur mungkin tidak berfungsi dengan benar sampai kesalahan diselesaikan. diff --git a/htdocs/langs/id_ID/interventions.lang b/htdocs/langs/id_ID/interventions.lang index a6094a79f2e..69ce7ee3ad0 100644 --- a/htdocs/langs/id_ID/interventions.lang +++ b/htdocs/langs/id_ID/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Intervensi durasi garis InterLineDesc=Intervensi deskripsi garis RepeatableIntervention=Template intervensi ToCreateAPredefinedIntervention=Untuk membuat intervensi yang telah ditetapkan atau berulang, buat intervensi umum dan ubah menjadi template intervensi +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/id_ID/productbatch.lang b/htdocs/langs/id_ID/productbatch.lang index a9c155c25ec..2940f77b782 100644 --- a/htdocs/langs/id_ID/productbatch.lang +++ b/htdocs/langs/id_ID/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Tampilkan log pergerakan untuk produk / lot pasangan StockDetailPerBatch=Detail stok per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index fd9f3020017..4a4304c8636 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Harga berbeda untuk setiap pelanggan PriceCatalogue=Harga jual tunggal per produk / layanan PricingRule=Aturan untuk harga jual AddCustomerPrice=Tambahkan harga oleh pelanggan -ForceUpdateChildPriceSoc=Tetapkan harga yang sama pada anak perusahaan pelanggan +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log harga pelanggan sebelumnya MinimumPriceLimit=Harga minimum tidak bisa lebih rendah dari %s MinimumRecommendedPrice=Harga minimum yang disarankan adalah: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Tambah / Kurangi stok karena perubahan induk ComposedProduct=Produk anak-anak MinSupplierPrice=Harga beli minimal MinCustomerPrice=Harga jual minimum +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Konfigurasi harga dinamis DynamicPriceDesc=Anda dapat menentukan rumus matematika untuk menghitung harga Pelanggan atau Vendor. Rumus tersebut dapat menggunakan semua operator matematika, beberapa konstanta dan variabel. Anda dapat mendefinisikan di sini variabel yang ingin Anda gunakan. Jika variabel memerlukan pembaruan otomatis, Anda dapat menentukan URL eksternal untuk memungkinkan Dolibarr memperbarui nilai secara otomatis. AddVariable=Tambahkan Variabel @@ -340,7 +341,7 @@ ProductSheet=Lembar produk ServiceSheet=Lembar layanan PossibleValues=Nilai yang mungkin GoOnMenuToCreateVairants=Buka menu %s - %s untuk menyiapkan varian atribut (seperti warna, ukuran, ...) -UseProductFournDesc=Tambahkan fitur untuk mendefinisikan deskripsi produk yang ditentukan oleh vendor di samping deskripsi untuk pelanggan +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers ProductSupplierDescription=Deskripsi vendor untuk produk UseProductSupplierPackaging=Gunakan kemasan pada harga pemasok (jumlah ulang sesuai dengan kemasan yang ditetapkan pada harga pemasok saat menambahkan / memperbarui baris dalam dokumen pemasok) PackagingForThisProduct=Pengemasan diff --git a/htdocs/langs/id_ID/salaries.lang b/htdocs/langs/id_ID/salaries.lang index 6e28aadb81e..cf4350c8e30 100644 --- a/htdocs/langs/id_ID/salaries.lang +++ b/htdocs/langs/id_ID/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Akun akuntansi digunakan untuk pihak ketiga pengguna SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Akun akuntansi khusus yang ditentukan pada kartu pengguna akan digunakan hanya untuk akuntansi Subledger. Yang ini akan digunakan untuk Buku Besar Umum dan sebagai nilai default dari akuntansi Subledger jika akun akuntansi pengguna khusus pada pengguna tidak didefinisikan. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Akun akuntansi secara default untuk pembayaran upah +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Gaji Salaries=Gaji -NewSalaryPayment=Pembayaran Gaji Baru +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Tambahkan pembayaran gaji SalaryPayment=Pembayaran Gaji SalariesPayments=Pembayaran Gaji +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Menampilkan Pembayaran Gaji THM=Tarif rata-rata per jam TJM=Tarif harian rata-rata CurrentSalary=Gaji saat ini THMDescription=Nilai ini dapat digunakan untuk menghitung biaya waktu yang dihabiskan pada proyek yang dimasukkan oleh pengguna jika proyek modul digunakan TJMDescription=Nilai ini saat ini hanya untuk informasi dan tidak digunakan untuk perhitungan apa pun -LastSalaries=Pembayaran gaji %s terbaru -AllSalaries=Semua pembayaran gaji +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Statistik gaji -# Export SalariesAndPayments=Gaji dan pembayaran +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/id_ID/ticket.lang b/htdocs/langs/id_ID/ticket.lang index 5418ab6d174..4c5a19bc707 100644 --- a/htdocs/langs/id_ID/ticket.lang +++ b/htdocs/langs/id_ID/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Tiket - Resolusi TicketTypeShortCOM=Pertanyaan komersial TicketTypeShortHELP=Permintaan bantuan fungsional -TicketTypeShortISSUE=Masalah, bug, atau masalah +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Ubah atau tingkatkan permintaan TicketTypeShortPROJET=Proyek TicketTypeShortOTHER=Lainnya @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Pengguna yang ditugaskan TypeContact_ticket_external_SUPPORTCLI=Kontak pelanggan/pelacakan kejadian TypeContact_ticket_external_CONTRIBUTOR=Kontributor eksternal -OriginEmail=Sumber email +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Kirim pesan tiket melalui email # Status Read=Baca Assigned=Ditugaskan InProgress=Sedang berlangsung -NeedMoreInformation=Menunggu informasi +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Dijawab Waiting=Menunggu Closed=Ditutup @@ -160,7 +162,7 @@ CreatedBy=Dibuat oleh NewTicket=Tiket Baru SubjectAnswerToTicket=Jawaban tiket TicketTypeRequest=Jenis permintaan -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=Lihat tiket TicketMarkedAsRead=Tiket telah ditandai sebagai sudah dibaca TicketReadOn=Baca terus @@ -211,6 +213,7 @@ TicketMessageHelp=Hanya teks ini yang akan disimpan dalam daftar pesan di kartu TicketMessageSubstitutionReplacedByGenericValues=Variabel substitusi digantikan oleh nilai generik. TimeElapsedSince=Waktu berlalu sejak itu TicketTimeToRead=Waktu berlalu sebelum membaca +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Tiket kontak TicketDocumentsLinked=Dokumen terkait dengan tiket ConfirmReOpenTicket=Konfirmasikan kembali tiket ini? diff --git a/htdocs/langs/id_ID/users.lang b/htdocs/langs/id_ID/users.lang index fe2487f1754..d6badd4a416 100644 --- a/htdocs/langs/id_ID/users.lang +++ b/htdocs/langs/id_ID/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login untuk membuat NameToCreate=Nama pihak ketiga yang akan dibuat YourRole=Peran Anda YourQuotaOfUsersIsReached=Kuota pengguna aktif Anda tercapai! -NbOfUsers=Jumlah pengguna -NbOfPermissions=Jumlah izin +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Hanya superadmin yang dapat menurunkan versi superadmin HierarchicalResponsible=Pengawas HierarchicView=Pandangan hierarkis diff --git a/htdocs/langs/id_ID/website.lang b/htdocs/langs/id_ID/website.lang index dc29ed1ccc1..f2bd4154b4e 100644 --- a/htdocs/langs/id_ID/website.lang +++ b/htdocs/langs/id_ID/website.lang @@ -31,7 +31,7 @@ AddWebsite=Tambahkan situs web Webpage=Halaman web / wadah AddPage=Tambahkan halaman / wadah PageContainer=Page -PreviewOfSiteNotYetAvailable=Pratinjau situs web Anda%s belum tersedia. Anda harus terlebih dahulu ' Impor template situs web lengkap ' atau hanya ' Tambahkan halaman / wadah '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Halaman yang diminta dengan id %s belum memiliki konten, atau file cache .tpl.php telah dihapus. Edit konten halaman untuk menyelesaikan ini. SiteDeleted=Situs web '%s' dihapus PageContent=Halaman / Contenair diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index f6a0c3aa85e..2ba8adabcd1 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -53,6 +53,7 @@ InternalUser=Innri notandi ExternalUser=Ytri notandi InternalUsers=Innri notendur ExternalUsers=Ytri notendur +UserInterface=User interface GUISetup=Skoða SetupArea=Skipulag UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL virka ekki í boði í PHP þinn DownloadMoreSkins=Fleiri skinn til að sækja SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Algjör þýðing MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Smelltu til að hringja mát skipulag ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Mælt +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/is_IS/banks.lang b/htdocs/langs/is_IS/banks.lang index 90e03269443..c522a6e7362 100644 --- a/htdocs/langs/is_IS/banks.lang +++ b/htdocs/langs/is_IS/banks.lang @@ -115,7 +115,7 @@ TransferTo=Til að TransferFromToDone=A flytja úr %s í %s af %s % s hefur verið skráð. CheckTransmitter=Sendandi ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank eftirlit diff --git a/htdocs/langs/is_IS/boxes.lang b/htdocs/langs/is_IS/boxes.lang index 6b4abf9314a..c1f5071d2a4 100644 --- a/htdocs/langs/is_IS/boxes.lang +++ b/htdocs/langs/is_IS/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=reikninga viðskiptavinar ForCustomersOrders=Customers orders ForProposals=Tillögur diff --git a/htdocs/langs/is_IS/cashdesk.lang b/htdocs/langs/is_IS/cashdesk.lang index be94117f8ba..a6bd6d77fbc 100644 --- a/htdocs/langs/is_IS/cashdesk.lang +++ b/htdocs/langs/is_IS/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/is_IS/deliveries.lang b/htdocs/langs/is_IS/deliveries.lang index 74a29497802..3d037b8919e 100644 --- a/htdocs/langs/is_IS/deliveries.lang +++ b/htdocs/langs/is_IS/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Viðtakandi ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index 5884cd5c268..92c1651421f 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/is_IS/eventorganization.lang b/htdocs/langs/is_IS/eventorganization.lang index fc7781e4aff..eb551ffb55f 100644 --- a/htdocs/langs/is_IS/eventorganization.lang +++ b/htdocs/langs/is_IS/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/is_IS/exports.lang b/htdocs/langs/is_IS/exports.lang index a9f6a31bddf..05defcccffc 100644 --- a/htdocs/langs/is_IS/exports.lang +++ b/htdocs/langs/is_IS/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tegund línu (0 = vara, 1 = þjónustu) FileWithDataToImport=Skrá með upplýsingum til að flytja inn FileToImport=Frumskrár að flytja inn FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Heimild skráarsnið diff --git a/htdocs/langs/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index 3913cf7e458..01616ccad0f 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/is_IS/interventions.lang b/htdocs/langs/is_IS/interventions.lang index 97a9f4d2785..f69b56e4b43 100644 --- a/htdocs/langs/is_IS/interventions.lang +++ b/htdocs/langs/is_IS/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/is_IS/productbatch.lang b/htdocs/langs/is_IS/productbatch.lang index bdb2fbe77c1..0feef294394 100644 --- a/htdocs/langs/is_IS/productbatch.lang +++ b/htdocs/langs/is_IS/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index 92e7d485513..d1a84068eca 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Lágmark Kaupverð MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/is_IS/salaries.lang b/htdocs/langs/is_IS/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/is_IS/salaries.lang +++ b/htdocs/langs/is_IS/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/is_IS/ticket.lang b/htdocs/langs/is_IS/ticket.lang index 7c7369d1b16..9fa8d12155d 100644 --- a/htdocs/langs/is_IS/ticket.lang +++ b/htdocs/langs/is_IS/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Önnur @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Lesa Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Bíð Closed=Loka @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/is_IS/users.lang b/htdocs/langs/is_IS/users.lang index ae276fcf4a9..dba252ee3ed 100644 --- a/htdocs/langs/is_IS/users.lang +++ b/htdocs/langs/is_IS/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Innskráning til að búa til NameToCreate=Nafn þriðja aðila til að stofna YourRole=hlutverk þín YourQuotaOfUsersIsReached=kvóta þinn af virkum notendum er náð! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Aðeins superadmin getur lækkunar a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/is_IS/website.lang b/htdocs/langs/is_IS/website.lang index a1dbad88c58..5d8ab14e630 100644 --- a/htdocs/langs/is_IS/website.lang +++ b/htdocs/langs/is_IS/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/it_CH/products.lang b/htdocs/langs/it_CH/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/it_CH/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/it_CH/ticket.lang b/htdocs/langs/it_CH/ticket.lang deleted file mode 100644 index 7245956e6bd..00000000000 --- a/htdocs/langs/it_CH/ticket.lang +++ /dev/null @@ -1,4 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index 736eafddfa3..512da68ab00 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utente interno ExternalUser=Utente esterno InternalUsers=Utenti interni ExternalUsers=Utenti esterni +UserInterface=User interface GUISetup=Aspetto grafico e lingua SetupArea=Impostazioni UploadNewTemplate=Carica nuovi modelli @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Il PHP del server non supporta SSL DownloadMoreSkins=Scarica altre skin SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Nei documenti mostra identità professionale completa di: -ShowVATIntaInAddress=Nascondi il numero di partita IVA intracomunitaria negli indirizzi +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Traduzione incompleta MAIN_DISABLE_METEO=Disabilita visualizzazione meteo MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Impostazioni modulo ClickToDial (telefonate con un clic) ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=Questo modulo modifica i numeri di telefono, quando si utilizza un computer desktop, in collegamenti selezionabili. Un clic chiamerà il numero. Questo può essere usato per iniziare la telefonata quando si utilizza un softphone sul desktop o, ad esempio, quando si utilizza un sistema CTI basato sul protocollo SIP. Nota: quando si utilizza uno smartphone, i numeri di telefono sono sempre selezionabili. ClickToDialUseTelLink=Peri numeri di telefono basta usare un link di tipo "tel:" -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Raccomandata +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/it_IT/banks.lang b/htdocs/langs/it_IT/banks.lang index 5be72019d50..3b817e5cae8 100644 --- a/htdocs/langs/it_IT/banks.lang +++ b/htdocs/langs/it_IT/banks.lang @@ -115,7 +115,7 @@ TransferTo=A TransferFromToDone=È stato registrato un trasferimento da %s a %s di %s %s. CheckTransmitter=Mittente ValidateCheckReceipt=Convalidare questa ricevuta ? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Eliminare questa ricevuta? ConfirmDeleteCheckReceipt=Vuoi davvero eliminare questa ricevuta? BankChecks=Assegni bancari diff --git a/htdocs/langs/it_IT/boxes.lang b/htdocs/langs/it_IT/boxes.lang index 7ebe2e30d74..61bf843e5d0 100644 --- a/htdocs/langs/it_IT/boxes.lang +++ b/htdocs/langs/it_IT/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Ordini fornitore: ultimi %s modificati BoxTitleLastModifiedCustomerBills=Fatture attive: ultime %s modificate BoxTitleLastModifiedCustomerOrders=Ordini: ultimi %s modificati BoxTitleLastModifiedPropals=Ultime %s proposte modificate -BoxTitleLatestModifiedJobPositions=Ultimi %s jobs modificati -BoxTitleLatestModifiedCandidatures=Ultime candidature modificate %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Fatture attive ForCustomersOrders=Ordini cliente ForProposals=Proposte diff --git a/htdocs/langs/it_IT/cashdesk.lang b/htdocs/langs/it_IT/cashdesk.lang index b1b6ea1b553..f5c74234f31 100644 --- a/htdocs/langs/it_IT/cashdesk.lang +++ b/htdocs/langs/it_IT/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/it_IT/deliveries.lang b/htdocs/langs/it_IT/deliveries.lang index a24bb962dac..723f46c4c0f 100644 --- a/htdocs/langs/it_IT/deliveries.lang +++ b/htdocs/langs/it_IT/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Non disponibile per spedizione ShowShippableStatus=Mostra lo stato di spedizione ShowReceiving=Mostra ricevuta di consegna NonExistentOrder=Ordine inesistente +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index c4c42e08a23..9c24d7c3146 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -289,7 +289,7 @@ WarningYourLoginWasModifiedPleaseLogin=La tua login è stata modificata. Per rag WarningAnEntryAlreadyExistForTransKey=Esiste già una voce tradotta per la chiave di traduzione per questa lingua WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists WarningDateOfLineMustBeInExpenseReportRange=Attenzione, la data della riga non è compresa nel periodo della nota spese\n -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. +WarningProjectDraft=Il progetto è ancora in stato bozza. Non dimenticare di convalidarlo per utilizzare i compiti. WarningProjectClosed=Il progetto è chiuso. È necessario prima aprirlo nuovamente. WarningSomeBankTransactionByChequeWereRemovedAfter=Alcune transazioni bancarie sono state rimosse dopo che è stata generata la ricevuta che le includeva. Quindi il numero di assegni e il totale dello scontrino possono differire dal numero e dal totale nell'elenco. WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/it_IT/eventorganization.lang b/htdocs/langs/it_IT/eventorganization.lang index d6729e7b123..483c9796968 100644 --- a/htdocs/langs/it_IT/eventorganization.lang +++ b/htdocs/langs/it_IT/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Tipo di evento +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/it_IT/exports.lang b/htdocs/langs/it_IT/exports.lang index 5b616c68eaf..5a5e6dd1820 100644 --- a/htdocs/langs/it_IT/exports.lang +++ b/htdocs/langs/it_IT/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Linea tipo (0 = prodotto, servizio = 1) FileWithDataToImport=File con i dati da importare FileToImport=File da importare FileMustHaveOneOfFollowingFormat=File da importare deve avere uno dei seguenti formati -DownloadEmptyExample=Download esempio di fonte file vuoto +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Scegliete il formato di file da utilizzare per l'importazione cliccando sull'icona %s ChooseFileToImport=Scegli il file da importare e poi clicca sull'icona %s SourceFileFormat=Fonte formato di file diff --git a/htdocs/langs/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index eafe366a91e..2ef78f40953 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migrazione dei social network dei campi utenti (%s) MigrationReloadModule=Ricarica modulo %s MigrationResetBlockedLog=Reset del modulo BlockedLog per l'algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostra opzioni non disponibili HideNotAvailableOptions=Nascondi opzioni non disponibili ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/it_IT/productbatch.lang b/htdocs/langs/it_IT/productbatch.lang index 48814147203..5b3ede1c57c 100644 --- a/htdocs/langs/it_IT/productbatch.lang +++ b/htdocs/langs/it_IT/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Mostra il log dei movimenti per la coppia prodotto/lotto StockDetailPerBatch=Dettagli magazzino per lotto SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index 0e535ab901c..d812c247433 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Prezzi diversi in base al cliente PriceCatalogue=Prezzo singolo di vendita per prodotto/servizio PricingRule=Reogle dei prezzi di vendita AddCustomerPrice=Aggiungere prezzo dal cliente -ForceUpdateChildPriceSoc=Imposta lo stesso prezzo per i clienti sussidiari +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log di precedenti prezzi clienti MinimumPriceLimit=Prezzo minimo non può essere inferiore a % s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Aumenta e Diminuisci le scorte alla modifica del prod ComposedProduct=Sottoprodotto MinSupplierPrice=Prezzo d'acquisto minimo MinCustomerPrice=Prezzo minimo di vendita +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Configurazione dinamica dei prezzi DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Aggiungi variabile diff --git a/htdocs/langs/it_IT/salaries.lang b/htdocs/langs/it_IT/salaries.lang index 3edffce5b0d..7fa6558b6fd 100644 --- a/htdocs/langs/it_IT/salaries.lang +++ b/htdocs/langs/it_IT/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Piano dei conti usato per utenti di soggetti terzi SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Codice contabile predefinito per i pagamenti degli stipendi +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Stipendio Salaries=Stipendi -NewSalaryPayment=Nuovo pagamento stipendio +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Aggiungi pagamento stipendio SalaryPayment=Pagamento stipendio SalariesPayments=Pagamento stipendi +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Mostra i pagamenti stipendio THM=€/h TJM=€/g CurrentSalary=Stipendio attuale THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Ultimo %s pagamento dello stipendio -AllSalaries=Tutti i pagamenti degli stipendi +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export -SalariesAndPayments=Salaries and payments +SalariesAndPayments=Stipendi e pagamenti +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/it_IT/ticket.lang b/htdocs/langs/it_IT/ticket.lang index 04c0c42bdc7..60dbbbc7101 100644 --- a/htdocs/langs/it_IT/ticket.lang +++ b/htdocs/langs/it_IT/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Risoluzione TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Richiesta di aiuto funzionale -TicketTypeShortISSUE=Issue, bug o problemi +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Richiesta di modifica o miglioramento TicketTypeShortPROJET=Progetto TicketTypeShortOTHER=Altro @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assegnato a TypeContact_ticket_external_SUPPORTCLI=Contatto cliente / tracciamento incidente TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Da leggere Assigned=Assegnato InProgress=Avviato -NeedMoreInformation=In attesa di informazioni +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=In attesa Closed=Chiuso @@ -160,7 +162,7 @@ CreatedBy=Creato da NewTicket=Nuovo Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Gruppo +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documenti collegati al ticket ConfirmReOpenTicket=Confermi la riapertura di questo ticket? diff --git a/htdocs/langs/it_IT/users.lang b/htdocs/langs/it_IT/users.lang index 4bf6fa34a41..903682d8a17 100644 --- a/htdocs/langs/it_IT/users.lang +++ b/htdocs/langs/it_IT/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Accedi per creare NameToCreate=Nome del soggetto terzo da creare YourRole=Il tuo ruolo YourQuotaOfUsersIsReached=Hai raggiunto la tua quota di utenti attivi! -NbOfUsers=Numero di utenti -NbOfPermissions=Numero di autorizzazioni +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Solo un superadmin può declassare un superadmin HierarchicalResponsible=Supervisore HierarchicView=Vista gerarchica diff --git a/htdocs/langs/it_IT/website.lang b/htdocs/langs/it_IT/website.lang index ac41f055411..edf226d0df8 100644 --- a/htdocs/langs/it_IT/website.lang +++ b/htdocs/langs/it_IT/website.lang @@ -31,7 +31,7 @@ AddWebsite=Aggiungi sito web Webpage=Web page/container AddPage=Aggiungi pagina/contenitore PageContainer=Pagina -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ja_JP/accountancy.lang b/htdocs/langs/ja_JP/accountancy.lang index f398117d37c..bf9dc355840 100644 --- a/htdocs/langs/ja_JP/accountancy.lang +++ b/htdocs/langs/ja_JP/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=EECにない国 CountriesInEECExceptMe=%sを除くEECの国 CountriesExceptMe=%sを除くすべての国 AccountantFiles=ソースドキュメントのエクスポート -ExportAccountingSourceDocHelp=このツールを使用すると、会計処理の生成に使用されたソースイベント(リストとPDF)をエクスポートできる。仕訳をエクスポートするには、メニューエントリ%s-%sを使用する。 +ExportAccountingSourceDocHelp=このツールを使用すると、会計の生成に使用されたソースイベント(CSVおよびPDFのリスト)をエクスポートできる。 +ExportAccountingSourceDocHelp2=ジャーナルをエクスポートするには、メニューエントリ%s --%sを使用。 VueByAccountAccounting=会計科目順に表示 VueBySubAccountAccounting=アカウンティングサブアカウントで表示 diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index a21a12947f7..00fc4a5ecc1 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -53,6 +53,7 @@ InternalUser=内部ユーザ ExternalUser=外部ユーザ InternalUsers=内部ユーザ ExternalUsers=外部ユーザ +UserInterface=User interface GUISetup=表示 SetupArea=設定 UploadNewTemplate=新規テンプレート(s)をアップロード @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=あなたのPHPでのSSLの機能は使用できな DownloadMoreSkins=ダウンロードするには多くのスキン SimpleNumRefModelDesc=参照番号を%syymm-nnnnの形式で返す。ここで、yyは年、mmは月、nnnnはリセットなしの順次自動インクリメント番号。 SimpleNumRefNoDateModelDesc=参照番号を%s-nnnnの形式で返する。nnnnはリセットなしの順次自動インクリメント番号 。 -ShowProfIdInAddress=住所とともにプロのIDを表示する -ShowVATIntaInAddress=コミュニティ内のVAT番号を住所で非表示にする +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=部分的な翻訳 MAIN_DISABLE_METEO=気象ビューを無効にする MeteoStdMod=標準モード @@ -1778,7 +1779,7 @@ ClickToDialSetup=モジュールの設定をダイヤルする】をクリック ClickToDialUrlDesc=電話のpictoをクリックすると、URLが呼び出される。 URLには、使用することができるタグ
__PHONETO__ その
__PHONEFROM__ clicktodialに置き換えられる人 ( あなた ) を呼び出すの電話番号
__LOGIN__ に置き換えられるそれを呼び出すために人の電話番号に置き換えられるログイン ( ユーザカードで定義 )
__PASS__ これはクリックダイヤルパスワード ( ユーザカードで定義 ) に置き換えられる。 ClickToDialDesc=このモジュールは、デスクトップコンピュータを使用している場合、電話番号をクリック可能なリンクに変更する。クリックするとその番号に電話がかかる。これは、デスクトップでソフトフォンを使用している場合や、SIPプロトコルに基づくCTIシステムを使用している場合などに、通話を開始するために使用できる。注:スマートフォンを使用する場合、電話番号は常にクリック可能。 ClickToDialUseTelLink=電話番号にリンク「tel:」を使用する -ClickToDialUseTelLinkDesc=ユーザがブラウザと同じコンピュータにソフトフォンまたはソフトウェアインターフェイスをインストールしていて、ブラウザで「tel:」で始まるリンクをクリックすると呼び出される場合は、この方法を使用する。完全なサーバーソリューションが必要な場合 ( ローカルソフトウェアをインストールする必要がない場合 ) 、これを「いいえ」に設定して、次のフィールドに入力する必要がある。 +ClickToDialUseTelLinkDesc=ユーザがソフトフォンまたはソフトウェアインターフェイスを使用していて、ブラウザと同じコンピュータにインストールされており、ブラウザで「tel:」で始まるリンクをクリックすると呼び出される場合は、この方法を使用する。 「sip:」で始まるリンクまたは完全なサーバーソリューション(ローカルソフトウェアのインストールは不要)が必要な場合は、これを「いいえ」に設定して、次のフィールドに入力する必要がある。 ##### Point Of Sale (CashDesk) ##### CashDesk=POS CashDeskSetup=POSモジュールの設定 @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=カスタムコードでシステ PHPFunctionsRequiredForCLI=シェルの目的(スケジュールされたジョブのバックアップやanitivursプログラムの実行など)では、PHP関数を保持する必要がある NoWritableFilesFoundIntoRootDir=共通プログラムの書き込み可能なファイルまたはディレクトリがルートディレクトリに見つからない(良好) RecommendedValueIs=推奨:%s -NotRecommended=推奨されない +Recommended=推奨される +NotRecommended=Not recommended ARestrictedPath=制限されたパス CheckForModuleUpdate=外部モジュールの更新を確認する CheckForModuleUpdateHelp=このアクションは、外部モジュールのエディターに接続して、新しいバージョンが利用可能かどうかを確認する。 @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=非推奨のWS APIが有効化され RandomlySelectedIfSeveral=画像が複数ある場合はランダムに選択 DatabasePasswordObfuscated=データベースのパスワードは conf ファイルで難読化されている DatabasePasswordNotObfuscated=データベースのパスワードは conf ファイルで難読化されていない +APIsAreNotEnabled=APIモジュールが有効になっていない +YouShouldSetThisToOff=これを0またはオフに設定する必要がある diff --git a/htdocs/langs/ja_JP/banks.lang b/htdocs/langs/ja_JP/banks.lang index 4595a3b774f..cc505e44633 100644 --- a/htdocs/langs/ja_JP/banks.lang +++ b/htdocs/langs/ja_JP/banks.lang @@ -115,7 +115,7 @@ TransferTo=期末 TransferFromToDone=%s %s %sからの%sへの転送が記録されている。 CheckTransmitter=差出人 ValidateCheckReceipt=この小切手領収書を検証するか? -ConfirmValidateCheckReceipt=本当に、この検証用確認領収書を発行したいか?実行後の変更は不可。 +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=この小切手領収書を削除か? ConfirmDeleteCheckReceipt=この小切手領収書を削除してもよいか? BankChecks=銀行小切手 diff --git a/htdocs/langs/ja_JP/boxes.lang b/htdocs/langs/ja_JP/boxes.lang index 769ad20c9a9..9abfe10bc10 100644 --- a/htdocs/langs/ja_JP/boxes.lang +++ b/htdocs/langs/ja_JP/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=仕入先の注文:最後に変更され BoxTitleLastModifiedCustomerBills=最近変更された請求書:%s件 BoxTitleLastModifiedCustomerOrders=最近変更された受注:%s件 BoxTitleLastModifiedPropals=最新の%s変更された提案 -BoxTitleLatestModifiedJobPositions=最新の%s変更されたジョブ -BoxTitleLatestModifiedCandidatures=最新の%s修正候補 +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=顧客の請求書 ForCustomersOrders=顧客の注文 ForProposals=提案 diff --git a/htdocs/langs/ja_JP/cashdesk.lang b/htdocs/langs/ja_JP/cashdesk.lang index fcdf89fe787..7130c0be246 100644 --- a/htdocs/langs/ja_JP/cashdesk.lang +++ b/htdocs/langs/ja_JP/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=支払いの遅延を許可する PrintPaymentMethodOnReceipts=チケットに支払い方法を印刷する|領収書 WeighingScale=体重計 ShowPriceHT = 税抜き価格の列を表示する(画面上) -ShowPriceHTOnReceipt = 税抜き価格(領収書)の列を表示する +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ja_JP/deliveries.lang b/htdocs/langs/ja_JP/deliveries.lang index fd9cbcae01d..950d219d9cb 100644 --- a/htdocs/langs/ja_JP/deliveries.lang +++ b/htdocs/langs/ja_JP/deliveries.lang @@ -9,7 +9,7 @@ DeliveryStateSaved=保存された配送状態 SetDeliveryDate=出荷の日付を設定する ValidateDeliveryReceipt=配送の領収書を検証する ValidateDeliveryReceiptConfirm=この配送領収書を検証してもよいか? -DeleteDeliveryReceipt=配送済みメッセージを削除する +DeleteDeliveryReceipt=配送済メッセージを削除する DeleteDeliveryReceiptConfirm=領収書%s を削除してもよいか? DeliveryMethod=配送方法 TrackingNumber=追跡番号 @@ -27,5 +27,7 @@ Recipient=受領者 ErrorStockIsNotEnough=在庫が不足 Shippable=発送可能 NonShippable=発送不可 +ShowShippableStatus=出荷可能なステータスを表示する ShowReceiving=配送領収書を表示する NonExistentOrder=存在しない注文 +StockQuantitiesAlreadyAllocatedOnPreviousLines = 前の行にすでに割り当てられている在庫数量 diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index d68c7aeac32..294d8111084 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=ユーザの所有者が必要 ErrorActionCommBadType=選択したイベント種別 (id: %n, code: %s) がイベント種別辞書に存在しない CheckVersionFail=バージョンチェックに失敗する ErrorWrongFileName=ファイル名に__SOMETHING__を含めることはできない +ErrorNotInDictionaryPaymentConditions=支払条件辞書にないので、変更すること。 diff --git a/htdocs/langs/ja_JP/eventorganization.lang b/htdocs/langs/ja_JP/eventorganization.lang index 1f46c7eac4d..c445d75ae62 100644 --- a/htdocs/langs/ja_JP/eventorganization.lang +++ b/htdocs/langs/ja_JP/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = ICS リンクをダウンロード EVENTORGANIZATION_SECUREKEY = 会議への公開登録リンクのセキュアキー SERVICE_BOOTH_LOCATION = ブースの場所に関する請求書の行に使用されるサービス SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = 会議への参加者のサブスクリプションに関する請求書の行に使用されるサービス +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = この会議は%sで始まり、%sで終わる。 ConferenceAttendeeFee = イベント:「 '%s' 開催は%sから%sまで」への会議参加料金。 BoothLocationFee = イベントのブース位置: '%s' で %s から %s まで EventType = イベント種別 +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ja_JP/exports.lang b/htdocs/langs/ja_JP/exports.lang index 326ea5ad052..ae3f4eaff99 100644 --- a/htdocs/langs/ja_JP/exports.lang +++ b/htdocs/langs/ja_JP/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=回線の種類(0 =製品、1 =サービス) FileWithDataToImport=インポートするデータを持つファイル FileToImport=インポートするソースファイル FileMustHaveOneOfFollowingFormat=インポートするファイルは、次のいずれかの形式である必要がある -DownloadEmptyExample=フィールドコンテンツ情報を含むテンプレートファイルをダウンロードする(*は必須フィールド ) +DownloadEmptyExample=フィールドコンテンツ情報を含むテンプレートファイルをダウンロードする +StarAreMandatory=*は必須フィールド ChooseFormatOfFileToImport=%sアイコンをクリックして選択し、インポートファイル形式として使用するファイル形式を選択する... ChooseFileToImport=ファイルをアップロードし、%sアイコンをクリックして、ソースインポートファイルとしてファイルを選択する。 SourceFileFormat=ソースファイルの形式 diff --git a/htdocs/langs/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index 99f3b9e23c4..0f99648515f 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=ユーザの写真パスの移行 MigrationFieldsSocialNetworks=ユーザフィールドソーシャルネットワークの移行(%s) MigrationReloadModule=モジュール %s を再読み込み MigrationResetBlockedLog=v7アルゴリズムのモジュールBlockedLogをリセット +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=利用できないオプションを表示する HideNotAvailableOptions=利用できないオプションを非表示にする ErrorFoundDuringMigration=移行プロセス中にエラーが報告されたため、次のステップは利用できない。エラーを無視するには、ここをクリックできるが、エラーが解決されるまで、アプリケーションまたは一部の機能が正しく動作しない場合がある。 diff --git a/htdocs/langs/ja_JP/interventions.lang b/htdocs/langs/ja_JP/interventions.lang index 07cf1cb44c7..bf33aa48b1f 100644 --- a/htdocs/langs/ja_JP/interventions.lang +++ b/htdocs/langs/ja_JP/interventions.lang @@ -33,7 +33,7 @@ SendInterventionByMail=電子メールで出張を送信 InterventionCreatedInDolibarr=出張%sが作成された InterventionValidatedInDolibarr=出張%sは、検証 InterventionModifiedInDolibarr=出張%sが変更された -InterventionClassifiedBilledInDolibarr=請求済みとして設定された出張%s +InterventionClassifiedBilledInDolibarr=請求済として設定された出張%s InterventionClassifiedUnbilledInDolibarr=出張%sが未請求として設定 InterventionSentByEMail=電子メールで送信された出張%s InterventionDeletedInDolibarr=出張%sが削除された diff --git a/htdocs/langs/ja_JP/knowledgemanagement.lang b/htdocs/langs/ja_JP/knowledgemanagement.lang index cb54cb27245..db45e5e7daa 100644 --- a/htdocs/langs/ja_JP/knowledgemanagement.lang +++ b/htdocs/langs/ja_JP/knowledgemanagement.lang @@ -37,15 +37,7 @@ About = 約 KnowledgeManagementAbout = 知識管理について KnowledgeManagementAboutPage = 知識管理に関するページ -# -# Sample page -# KnowledgeManagementArea = 知識管理 - - -# -# Menu -# MenuKnowledgeRecord = 知識ベース ListKnowledgeRecord = 記事一覧 NewKnowledgeRecord = 新しい記事 @@ -53,3 +45,5 @@ ValidateReply = ソリューションを検証する KnowledgeRecords = 記事 KnowledgeRecord = 記事 KnowledgeRecordExtraFields = 記事のエクストラフィールド +GroupOfTicket=チケットのグループ +YouCanLinkArticleToATicketCategory=記事をチケットグループにリンクできる(新規チケット認定時に記事が提案されるようになる) diff --git a/htdocs/langs/ja_JP/languages.lang b/htdocs/langs/ja_JP/languages.lang index 65ea4f02be5..06b8e61f2c4 100644 --- a/htdocs/langs/ja_JP/languages.lang +++ b/htdocs/langs/ja_JP/languages.lang @@ -4,6 +4,7 @@ Language_ar_AR=アラビア語 Language_ar_EG=アラビア語(エジプト) Language_ar_SA=アラビア語 Language_ar_TN=アラビア語 (チュニジア) +Language_ar_IQ=アラビア語(イラク) Language_az_AZ=アゼルバイジャン語 Language_bn_BD=ベンガル語 Language_bn_IN=ベンガル語(インド) @@ -83,6 +84,7 @@ Language_ne_NP=ネパール語 Language_nl_BE=オランダ語 (ベルギー) Language_nl_NL=オランダ語 Language_pl_PL=ポーランド語 +Language_pt_AO=ポルトガル語(アンゴラ) Language_pt_BR=ポルトガル語 (ブラジル) Language_pt_PT=ポルトガル語 Language_ro_MD=ルーマニア語 (モルダビア) diff --git a/htdocs/langs/ja_JP/productbatch.lang b/htdocs/langs/ja_JP/productbatch.lang index feceac71405..6cd92093a30 100644 --- a/htdocs/langs/ja_JP/productbatch.lang +++ b/htdocs/langs/ja_JP/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=組合せ 製品/ロットの移動ログを表示 StockDetailPerBatch=ロットごとの在庫詳細 SerialNumberAlreadyInUse=シリアル番号%sはすでに製品%sに使用されている TooManyQtyForSerialNumber=シリアル番号%sに対して使用できる製品%sは1つだけ。 -BatchLotNumberingModules=ロット管理のバッチ製品の自動生成のオプション -BatchSerialNumberingModules=シリアル番号で管理されるバッチ製品の自動生成のオプション ManageLotMask=カスタムマスク -CustomMasks=製品カードにマスクを定義するオプションを追加する -LotProductTooltip=製品カードにオプションを追加して、専用のバッチ番号マスクを定義する -SNProductTooltip=製品カードに専用のシリアル番号マスクを定義するオプションを追加する +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=スキャンされたバーコード/ロット/シリアルごとに追加する数量 LifeTime=寿命(日数) EndOfLife=製品寿命 diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index 86f4f8816f2..486cd6736c5 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=顧客ごとに異なる価格 PriceCatalogue=製品/サービスごとの単一の販売価格 PricingRule=販売価格のルール AddCustomerPrice=顧客ごとに価格を追加 -ForceUpdateChildPriceSoc=顧客子会社に同じ価格を設定する +ForceUpdateChildPriceSoc=顧客の子会社に同じ価格を設定する PriceByCustomerLog=以前の顧客価格のログ MinimumPriceLimit=最低価格は%sより低くすることはできない MinimumRecommendedPrice=最小推奨価格は次のとおり:%s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=親の変更時に在庫を増減する ComposedProduct=子供向け製品 MinSupplierPrice=最小購入価格 MinCustomerPrice=最低販売価格 +NoDynamicPrice=動的価格でない DynamicPriceConfiguration=動的な価格構成 DynamicPriceDesc=数式を定義して、顧客または仕入先の価格を計算できる。このような数式では、すべての数学演算子、一部の定数および変数を使用できる。ここで、使用する変数を定義できる。変数に自動更新が必要な場合は、外部URLを定義して、Dolibarrが値を自動的に更新できるようにすることができる。 AddVariable=変数を追加 diff --git a/htdocs/langs/ja_JP/salaries.lang b/htdocs/langs/ja_JP/salaries.lang index 0ae2ac35e9f..1dde2055628 100644 --- a/htdocs/langs/ja_JP/salaries.lang +++ b/htdocs/langs/ja_JP/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=ユーザの取引先に使用される会計科目 SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=ユーザカードで定義された専用の会計科目は、補助元帳の会計にのみ使用される。これは総勘定元帳に使用され、ユーザの専用ユーザ会計勘定が定義されていない場合は補助元帳会計のデフォルト値として使用される。 SALARIES_ACCOUNTING_ACCOUNT_CHARGE=賃金支払いのデフォルトの会計科目 +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=デフォルトでは、給与を作成するときに ”支払合計を自動的に作成" オプションを空のままにする Salary=給料 Salaries=給与 -NewSalaryPayment=新規給与の支払い +NewSalary=新規給与 +NewSalaryPayment=新規給与カード AddSalaryPayment=給与支払いを追加する SalaryPayment=給与の支払い SalariesPayments=給与の支払い +SalariesPaymentsOf=%sの給与支払 ShowSalaryPayment=給与の支払いを表示する THM=平均時給 TJM=1日あたりの平均料金 CurrentSalary=現在の給与 THMDescription=この値は、プロジェクトモジュールが使用されている場合に、ユーザが入力したプロジェクトで消費された時間のコストを計算するために使用できる。 TJMDescription=この値は現在情報提供のみを目的としており、計算には使用されない。 -LastSalaries=最新の%s給与支払い -AllSalaries=すべての給与支払い +LastSalaries=最新%s給与 +AllSalaries=全給与 SalariesStatistics=給与統計 -# Export SalariesAndPayments=給与と支払い +ConfirmDeleteSalaryPayment=この給与支払いを削除するか? diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index 96bb184fe6f..7c6c6baa8c2 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -60,7 +60,7 @@ EnhancedValueOfWarehouses=倉庫の値 UserWarehouseAutoCreate=ユーザーの作成時にユーザー倉庫を自動的に作成する AllowAddLimitStockByWarehouse=製品ごとの最小在庫と希望在庫の値に加えて、ペアリングごとの最小在庫と希望在庫の値(製品倉庫)も管理する。 RuleForWarehouse=倉庫のルール -WarehouseAskWarehouseOnThirparty=取引先に倉庫を設定する +WarehouseAskWarehouseOnThirparty=取引先に倉庫を設置する WarehouseAskWarehouseDuringPropal=商業提案に倉庫を設定する WarehouseAskWarehouseDuringOrder=販売注文に倉庫を設定する UserDefaultWarehouse=ユーザーに倉庫を設定する @@ -167,8 +167,8 @@ MovementTransferStock=製品%sの別の倉庫への在庫移転 InventoryCodeShort=Inv./Mov。コード NoPendingReceptionOnSupplierOrder=注文書が開いているため、保留中の受付はない ThisSerialAlreadyExistWithDifferentDate=ロット/シリアル 番号 (%s) は異なる賞味期限または販売期限で ( %s が見つかったが、入力したのは %s). -OpenAll=すべてのアクションに対して開く -OpenInternal=内部アクションのためにのみ開く +OpenAnyMovement=開く(全移動) +OpenInternal=オープン(内部移動のみ) UseDispatchStatus=発注書受付の製品ラインにディスパッチステータス(承認/拒否)を使用する OptionMULTIPRICESIsOn=オプション「セグメントごとのいくつかの価格」がオンになっている。これは、製品に複数の販売価格があるため、販売価値を計算できないことを意味する ProductStockWarehouseCreated=アラートの在庫制限と希望する最適在庫が正しく作成された diff --git a/htdocs/langs/ja_JP/ticket.lang b/htdocs/langs/ja_JP/ticket.lang index ac4a6290b3f..568fab41669 100644 --- a/htdocs/langs/ja_JP/ticket.lang +++ b/htdocs/langs/ja_JP/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=チケット-解決策 TicketTypeShortCOM=商業的な質問 TicketTypeShortHELP=機能的なヘルプのリクエスト -TicketTypeShortISSUE=問題、バグまたは問題 +TicketTypeShortISSUE=問題またはバグ +TicketTypeShortPROBLEM=問題 TicketTypeShortREQUEST=変更または拡張リクエスト TicketTypeShortPROJET=プロジェクト TicketTypeShortOTHER=その他 @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=割り当てられたユーザー TypeContact_ticket_external_SUPPORTCLI=顧客連絡/インシデント追跡 TypeContact_ticket_external_CONTRIBUTOR=外部寄稿者 -OriginEmail=メールソース +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=メールでチケットメッセージを送信する # Status Read=読む Assigned=割り当て済 InProgress=進行中 -NeedMoreInformation=情報を待っている +NeedMoreInformation=記者のフィードバック待機中 +NeedMoreInformationShort=フィードバック待機中 Answered=答えた Waiting=待っている Closed=閉じた @@ -160,7 +162,7 @@ CreatedBy=によって作成された NewTicket=新規チケット SubjectAnswerToTicket=チケットの回答 TicketTypeRequest=リクエストの種類 -TicketCategory=グループ +TicketCategory=チケット分類 SeeTicket=チケットを見る TicketMarkedAsRead=チケットは既読としてマークされている TicketReadOn=読む @@ -211,6 +213,7 @@ TicketMessageHelp=このテキストのみがチケットカードのメッセ TicketMessageSubstitutionReplacedByGenericValues=置換変数は一般的な値に置き換えられます。 TimeElapsedSince=からの経過時間 TicketTimeToRead=読み取るまでの経過時間 +TicketTimeElapsedBeforeSince=前後の経過時間 TicketContacts=連絡先チケット TicketDocumentsLinked=チケットにリンクされているドキュメント ConfirmReOpenTicket=このチケットを再度開くことを確認するか? diff --git a/htdocs/langs/ja_JP/users.lang b/htdocs/langs/ja_JP/users.lang index a6c0870ebff..41f2ff6d36e 100644 --- a/htdocs/langs/ja_JP/users.lang +++ b/htdocs/langs/ja_JP/users.lang @@ -98,7 +98,7 @@ NameToCreate=作成するには、取引先の名前 YourRole=あなたの役割 YourQuotaOfUsersIsReached=アクティブなユーザのあなたのクォータに達している! NbOfUsers=ユーザ数 -NbOfPermissions=権限の数 +NbOfPermissions=許可数 DontDowngradeSuperAdmin=唯一superadminはダウングレードは、superAdminできる HierarchicalResponsible=スーパーバイザー HierarchicView=階層ビュー diff --git a/htdocs/langs/ja_JP/website.lang b/htdocs/langs/ja_JP/website.lang index 046ddf3315c..184bf4f6dbb 100644 --- a/htdocs/langs/ja_JP/website.lang +++ b/htdocs/langs/ja_JP/website.lang @@ -31,7 +31,7 @@ AddWebsite=ウェブサイトを追加 Webpage=Webページ/コンテナ AddPage=ページ/コンテナを追加 PageContainer=ページ -PreviewOfSiteNotYetAvailable=あなたのウェブサイトのプレビュー%sはまだ利用できません。最初に「完全なWebサイトテンプレート」をインポートするか、「ページ/コンテナ」を追加する必要がある。 +PreviewOfSiteNotYetAvailable=あなたのウェブサイト%sのプレビューはまだ利用不可。最初に「完全なウェブサイトテンプレート」をインポートするか、単に「ページ/コンテナ」を追加する必要がある。 RequestedPageHasNoContentYet=ID %sの要求されたページにまだコンテンツがないか、キャッシュファイル.tpl.phpが削除された。これを解決するには、ページのコンテンツを編集すること。 SiteDeleted=Webサイト '%s'が削除された PageContent=ページ/コンテネア diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/ka_GE/admin.lang +++ b/htdocs/langs/ka_GE/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/ka_GE/banks.lang b/htdocs/langs/ka_GE/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/ka_GE/banks.lang +++ b/htdocs/langs/ka_GE/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ka_GE/boxes.lang b/htdocs/langs/ka_GE/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/ka_GE/boxes.lang +++ b/htdocs/langs/ka_GE/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/ka_GE/cashdesk.lang b/htdocs/langs/ka_GE/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/ka_GE/cashdesk.lang +++ b/htdocs/langs/ka_GE/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ka_GE/deliveries.lang b/htdocs/langs/ka_GE/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/ka_GE/deliveries.lang +++ b/htdocs/langs/ka_GE/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/ka_GE/errors.lang +++ b/htdocs/langs/ka_GE/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ka_GE/eventorganization.lang b/htdocs/langs/ka_GE/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/ka_GE/eventorganization.lang +++ b/htdocs/langs/ka_GE/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ka_GE/exports.lang b/htdocs/langs/ka_GE/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/ka_GE/exports.lang +++ b/htdocs/langs/ka_GE/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/ka_GE/install.lang +++ b/htdocs/langs/ka_GE/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ka_GE/interventions.lang b/htdocs/langs/ka_GE/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/ka_GE/interventions.lang +++ b/htdocs/langs/ka_GE/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/ka_GE/productbatch.lang b/htdocs/langs/ka_GE/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/ka_GE/productbatch.lang +++ b/htdocs/langs/ka_GE/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/ka_GE/products.lang b/htdocs/langs/ka_GE/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/ka_GE/products.lang +++ b/htdocs/langs/ka_GE/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/ka_GE/salaries.lang b/htdocs/langs/ka_GE/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/ka_GE/salaries.lang +++ b/htdocs/langs/ka_GE/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ka_GE/ticket.lang b/htdocs/langs/ka_GE/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/ka_GE/ticket.lang +++ b/htdocs/langs/ka_GE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/ka_GE/users.lang b/htdocs/langs/ka_GE/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/ka_GE/users.lang +++ b/htdocs/langs/ka_GE/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ka_GE/website.lang b/htdocs/langs/ka_GE/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/ka_GE/website.lang +++ b/htdocs/langs/ka_GE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/km_KH/admin.lang b/htdocs/langs/km_KH/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/km_KH/admin.lang +++ b/htdocs/langs/km_KH/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/km_KH/banks.lang b/htdocs/langs/km_KH/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/km_KH/banks.lang +++ b/htdocs/langs/km_KH/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/km_KH/boxes.lang b/htdocs/langs/km_KH/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/km_KH/boxes.lang +++ b/htdocs/langs/km_KH/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/km_KH/cashdesk.lang b/htdocs/langs/km_KH/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/km_KH/cashdesk.lang +++ b/htdocs/langs/km_KH/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/km_KH/deliveries.lang b/htdocs/langs/km_KH/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/km_KH/deliveries.lang +++ b/htdocs/langs/km_KH/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/km_KH/errors.lang b/htdocs/langs/km_KH/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/km_KH/errors.lang +++ b/htdocs/langs/km_KH/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/km_KH/eventorganization.lang b/htdocs/langs/km_KH/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/km_KH/eventorganization.lang +++ b/htdocs/langs/km_KH/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/km_KH/exports.lang b/htdocs/langs/km_KH/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/km_KH/exports.lang +++ b/htdocs/langs/km_KH/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/km_KH/install.lang b/htdocs/langs/km_KH/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/km_KH/install.lang +++ b/htdocs/langs/km_KH/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/km_KH/interventions.lang b/htdocs/langs/km_KH/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/km_KH/interventions.lang +++ b/htdocs/langs/km_KH/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/km_KH/productbatch.lang b/htdocs/langs/km_KH/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/km_KH/productbatch.lang +++ b/htdocs/langs/km_KH/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/km_KH/products.lang b/htdocs/langs/km_KH/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/km_KH/products.lang +++ b/htdocs/langs/km_KH/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/km_KH/salaries.lang b/htdocs/langs/km_KH/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/km_KH/salaries.lang +++ b/htdocs/langs/km_KH/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/km_KH/ticket.lang b/htdocs/langs/km_KH/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/km_KH/ticket.lang +++ b/htdocs/langs/km_KH/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/km_KH/users.lang b/htdocs/langs/km_KH/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/km_KH/users.lang +++ b/htdocs/langs/km_KH/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/km_KH/website.lang b/htdocs/langs/km_KH/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/km_KH/website.lang +++ b/htdocs/langs/km_KH/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/kn_IN/admin.lang b/htdocs/langs/kn_IN/admin.lang index 69b889487af..362c233625b 100644 --- a/htdocs/langs/kn_IN/admin.lang +++ b/htdocs/langs/kn_IN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/kn_IN/banks.lang b/htdocs/langs/kn_IN/banks.lang index 26a8b041e45..2e211c58a17 100644 --- a/htdocs/langs/kn_IN/banks.lang +++ b/htdocs/langs/kn_IN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/kn_IN/boxes.lang b/htdocs/langs/kn_IN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/kn_IN/boxes.lang +++ b/htdocs/langs/kn_IN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/kn_IN/cashdesk.lang b/htdocs/langs/kn_IN/cashdesk.lang index db38f5c8915..a443847482d 100644 --- a/htdocs/langs/kn_IN/cashdesk.lang +++ b/htdocs/langs/kn_IN/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/kn_IN/deliveries.lang b/htdocs/langs/kn_IN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/kn_IN/deliveries.lang +++ b/htdocs/langs/kn_IN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/kn_IN/errors.lang b/htdocs/langs/kn_IN/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/kn_IN/errors.lang +++ b/htdocs/langs/kn_IN/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/kn_IN/eventorganization.lang b/htdocs/langs/kn_IN/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/kn_IN/eventorganization.lang +++ b/htdocs/langs/kn_IN/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/kn_IN/exports.lang b/htdocs/langs/kn_IN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/kn_IN/exports.lang +++ b/htdocs/langs/kn_IN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/kn_IN/install.lang b/htdocs/langs/kn_IN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/kn_IN/install.lang +++ b/htdocs/langs/kn_IN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/kn_IN/interventions.lang b/htdocs/langs/kn_IN/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/kn_IN/interventions.lang +++ b/htdocs/langs/kn_IN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/kn_IN/productbatch.lang b/htdocs/langs/kn_IN/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/kn_IN/productbatch.lang +++ b/htdocs/langs/kn_IN/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/kn_IN/products.lang b/htdocs/langs/kn_IN/products.lang index 325549987df..068d777df47 100644 --- a/htdocs/langs/kn_IN/products.lang +++ b/htdocs/langs/kn_IN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/kn_IN/salaries.lang b/htdocs/langs/kn_IN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/kn_IN/salaries.lang +++ b/htdocs/langs/kn_IN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/kn_IN/ticket.lang b/htdocs/langs/kn_IN/ticket.lang index 15d79d284fc..ec51eff2cf9 100644 --- a/htdocs/langs/kn_IN/ticket.lang +++ b/htdocs/langs/kn_IN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=ಇತರ @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=ಮುಚ್ಚಲಾಗಿದೆ @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/kn_IN/users.lang b/htdocs/langs/kn_IN/users.lang index effac97d337..8bedecb9218 100644 --- a/htdocs/langs/kn_IN/users.lang +++ b/htdocs/langs/kn_IN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/kn_IN/website.lang b/htdocs/langs/kn_IN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/kn_IN/website.lang +++ b/htdocs/langs/kn_IN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index be3e5096bf1..828491ab252 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=외부사용자 InternalUsers=내부사용자\n ExternalUsers=외부사용자 +UserInterface=User interface GUISetup=화면 SetupArea=설정 UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=권장 +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/ko_KR/banks.lang b/htdocs/langs/ko_KR/banks.lang index 76102f7a731..d10df617541 100644 --- a/htdocs/langs/ko_KR/banks.lang +++ b/htdocs/langs/ko_KR/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ko_KR/boxes.lang b/htdocs/langs/ko_KR/boxes.lang index a65fcc0e16b..1f786818946 100644 --- a/htdocs/langs/ko_KR/boxes.lang +++ b/htdocs/langs/ko_KR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=고객 송장 ForCustomersOrders=고객 주문 ForProposals=제안 diff --git a/htdocs/langs/ko_KR/cashdesk.lang b/htdocs/langs/ko_KR/cashdesk.lang index 4ba4c81a4d8..9e556a30cc0 100644 --- a/htdocs/langs/ko_KR/cashdesk.lang +++ b/htdocs/langs/ko_KR/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ko_KR/deliveries.lang b/htdocs/langs/ko_KR/deliveries.lang index 19a2ebe4d02..b3a63cc4e78 100644 --- a/htdocs/langs/ko_KR/deliveries.lang +++ b/htdocs/langs/ko_KR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ko_KR/eventorganization.lang b/htdocs/langs/ko_KR/eventorganization.lang index 7f96bbd2542..0fb7b6a26c8 100644 --- a/htdocs/langs/ko_KR/eventorganization.lang +++ b/htdocs/langs/ko_KR/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ko_KR/exports.lang b/htdocs/langs/ko_KR/exports.lang index fda64411c9f..445f09b42a4 100644 --- a/htdocs/langs/ko_KR/exports.lang +++ b/htdocs/langs/ko_KR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index b528753cdc6..37c88031d49 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ko_KR/interventions.lang b/htdocs/langs/ko_KR/interventions.lang index 3be481c3ddf..a41680b9002 100644 --- a/htdocs/langs/ko_KR/interventions.lang +++ b/htdocs/langs/ko_KR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/ko_KR/productbatch.lang b/htdocs/langs/ko_KR/productbatch.lang index 1164079f0b3..94f4785c348 100644 --- a/htdocs/langs/ko_KR/productbatch.lang +++ b/htdocs/langs/ko_KR/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=묶음제품 또는 일련번호별제품 이동기록 StockDetailPerBatch=일련번호별 재고내역 SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index cfe0f78e7b9..cd41dface7e 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/ko_KR/salaries.lang b/htdocs/langs/ko_KR/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/ko_KR/salaries.lang +++ b/htdocs/langs/ko_KR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ko_KR/ticket.lang b/htdocs/langs/ko_KR/ticket.lang index c528ed9805f..02637bdb122 100644 --- a/htdocs/langs/ko_KR/ticket.lang +++ b/htdocs/langs/ko_KR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=기타 @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=닫혔음 @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/ko_KR/users.lang b/htdocs/langs/ko_KR/users.lang index 34e93843c41..14ca6524035 100644 --- a/htdocs/langs/ko_KR/users.lang +++ b/htdocs/langs/ko_KR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ko_KR/website.lang b/htdocs/langs/ko_KR/website.lang index c5fbd107065..0045ce25f8f 100644 --- a/htdocs/langs/ko_KR/website.lang +++ b/htdocs/langs/ko_KR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/lo_LA/admin.lang b/htdocs/langs/lo_LA/admin.lang index 2e8805572bd..ec67ebe2221 100644 --- a/htdocs/langs/lo_LA/admin.lang +++ b/htdocs/langs/lo_LA/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/lo_LA/banks.lang b/htdocs/langs/lo_LA/banks.lang index 3884496ab64..83763cb7e8d 100644 --- a/htdocs/langs/lo_LA/banks.lang +++ b/htdocs/langs/lo_LA/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/lo_LA/boxes.lang b/htdocs/langs/lo_LA/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/lo_LA/boxes.lang +++ b/htdocs/langs/lo_LA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/lo_LA/cashdesk.lang b/htdocs/langs/lo_LA/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/lo_LA/cashdesk.lang +++ b/htdocs/langs/lo_LA/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/lo_LA/deliveries.lang b/htdocs/langs/lo_LA/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/lo_LA/deliveries.lang +++ b/htdocs/langs/lo_LA/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/lo_LA/errors.lang b/htdocs/langs/lo_LA/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/lo_LA/errors.lang +++ b/htdocs/langs/lo_LA/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/lo_LA/eventorganization.lang b/htdocs/langs/lo_LA/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/lo_LA/eventorganization.lang +++ b/htdocs/langs/lo_LA/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/lo_LA/exports.lang b/htdocs/langs/lo_LA/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/lo_LA/exports.lang +++ b/htdocs/langs/lo_LA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/lo_LA/install.lang b/htdocs/langs/lo_LA/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/lo_LA/install.lang +++ b/htdocs/langs/lo_LA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/lo_LA/interventions.lang b/htdocs/langs/lo_LA/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/lo_LA/interventions.lang +++ b/htdocs/langs/lo_LA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/lo_LA/productbatch.lang b/htdocs/langs/lo_LA/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/lo_LA/productbatch.lang +++ b/htdocs/langs/lo_LA/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/lo_LA/products.lang b/htdocs/langs/lo_LA/products.lang index a0a7ee2e634..98aa7f88569 100644 --- a/htdocs/langs/lo_LA/products.lang +++ b/htdocs/langs/lo_LA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/lo_LA/salaries.lang b/htdocs/langs/lo_LA/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/lo_LA/salaries.lang +++ b/htdocs/langs/lo_LA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/lo_LA/ticket.lang b/htdocs/langs/lo_LA/ticket.lang index 75d3ce1feca..6e7c0e19ebd 100644 --- a/htdocs/langs/lo_LA/ticket.lang +++ b/htdocs/langs/lo_LA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/lo_LA/users.lang b/htdocs/langs/lo_LA/users.lang index dd400e54715..7be0f7488c5 100644 --- a/htdocs/langs/lo_LA/users.lang +++ b/htdocs/langs/lo_LA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/lo_LA/website.lang b/htdocs/langs/lo_LA/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/lo_LA/website.lang +++ b/htdocs/langs/lo_LA/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 8c4ded88ed4..03342e97273 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -53,6 +53,7 @@ InternalUser=Vidinis naudotojas ExternalUser=Išorinis naudotojas InternalUsers=Vidiniai naudotojai ExternalUsers=Išoriniai naudotojai +UserInterface=User interface GUISetup=Atvaizdavimas SetupArea=Nustatymai UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcijos negalimos Jūsų PHP DownloadMoreSkins=Parsisiųsti daugiau grafinių vaizdų (skins) SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Dalinis vertimas MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial modulio nuostatos ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Rekomenduojamas +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/lt_LT/banks.lang b/htdocs/langs/lt_LT/banks.lang index a48924c160f..4f2d3b13a4d 100644 --- a/htdocs/langs/lt_LT/banks.lang +++ b/htdocs/langs/lt_LT/banks.lang @@ -115,7 +115,7 @@ TransferTo=Į TransferFromToDone=Pervedimas %s%s į %s užregistruotas. CheckTransmitter=Siuntėjas ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Banko čekiai diff --git a/htdocs/langs/lt_LT/boxes.lang b/htdocs/langs/lt_LT/boxes.lang index eba996dc6ec..b56b86ef602 100644 --- a/htdocs/langs/lt_LT/boxes.lang +++ b/htdocs/langs/lt_LT/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Klientų sąskaitos-faktūros ForCustomersOrders=Klientų užsakymai ForProposals=Pasiūlymai diff --git a/htdocs/langs/lt_LT/cashdesk.lang b/htdocs/langs/lt_LT/cashdesk.lang index 51a5af0bc8f..215fd06bcb8 100644 --- a/htdocs/langs/lt_LT/cashdesk.lang +++ b/htdocs/langs/lt_LT/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/lt_LT/deliveries.lang b/htdocs/langs/lt_LT/deliveries.lang index ea5c1f3265a..0c394aef77d 100644 --- a/htdocs/langs/lt_LT/deliveries.lang +++ b/htdocs/langs/lt_LT/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Gavėjas ErrorStockIsNotEnough=Nėra pakankamai atsargų Shippable=Pristatomas NonShippable=Nepristatomas +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index be103056350..320cda8cd58 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/lt_LT/eventorganization.lang b/htdocs/langs/lt_LT/eventorganization.lang index 5e4c78c71a0..725226759da 100644 --- a/htdocs/langs/lt_LT/eventorganization.lang +++ b/htdocs/langs/lt_LT/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Įvykio tipas +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/lt_LT/exports.lang b/htdocs/langs/lt_LT/exports.lang index b42cd43974d..6e8e3929002 100644 --- a/htdocs/langs/lt_LT/exports.lang +++ b/htdocs/langs/lt_LT/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Eilutės tipas (0 = produktas, 1 = paslaugos) FileWithDataToImport=Failas su duomenimis importui FileToImport=Šaltinio failas importui FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Šaltinio failo formatas diff --git a/htdocs/langs/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index fd22666afd2..ce06a09c488 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Perkrauti modulį %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/lt_LT/interventions.lang b/htdocs/langs/lt_LT/interventions.lang index 12016151c84..4624de1d09f 100644 --- a/htdocs/langs/lt_LT/interventions.lang +++ b/htdocs/langs/lt_LT/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Atidaryti iš naujo +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/lt_LT/productbatch.lang b/htdocs/langs/lt_LT/productbatch.lang index 52d1433c357..732ece731e1 100644 --- a/htdocs/langs/lt_LT/productbatch.lang +++ b/htdocs/langs/lt_LT/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index 6554c34fc25..a1dcba5f9dc 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Nustatykite tą pačią kainą ir kliento dukterinėms įmonėms +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimali pirkimo kaina MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/lt_LT/salaries.lang b/htdocs/langs/lt_LT/salaries.lang index 3d689e4bc7c..c217f2f6b0b 100644 --- a/htdocs/langs/lt_LT/salaries.lang +++ b/htdocs/langs/lt_LT/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Atlyginimas Salaries=Atlyginimai -NewSalaryPayment=Naujas atlyginimo mokėjimas +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Atlyginimo mokėjimas SalariesPayments=Atlyginimų mokėjimai +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Rodyti atlyginimo mokėjimą THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/lt_LT/ticket.lang b/htdocs/langs/lt_LT/ticket.lang index f1913615bad..5b9ac853c48 100644 --- a/htdocs/langs/lt_LT/ticket.lang +++ b/htdocs/langs/lt_LT/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projektas TicketTypeShortOTHER=Kiti @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Skaityti Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Laukiama Closed=Uždaryta @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupė +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/lt_LT/users.lang b/htdocs/langs/lt_LT/users.lang index 3365d6e7c05..00b696fd3a2 100644 --- a/htdocs/langs/lt_LT/users.lang +++ b/htdocs/langs/lt_LT/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Prisijunkite, kad galėtumet sukurti NameToCreate=Pavadinimas kuriamai trečiąjai šaliai YourRole=Jūsų vaidmenys YourQuotaOfUsersIsReached=Jūsų aktyvių vartotojų kvota išnaudota ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Tik superadministratorius gali sumažinti kito superadministratoriaus teises HierarchicalResponsible=Prižiūrėtojas HierarchicView=Hierarchinis vaizdas diff --git a/htdocs/langs/lt_LT/website.lang b/htdocs/langs/lt_LT/website.lang index 6b8c389ace1..0e627d937b9 100644 --- a/htdocs/langs/lt_LT/website.lang +++ b/htdocs/langs/lt_LT/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Puslapis -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/lv_LV/accountancy.lang b/htdocs/langs/lv_LV/accountancy.lang index e0eeea0b8a2..ce348d56481 100644 --- a/htdocs/langs/lv_LV/accountancy.lang +++ b/htdocs/langs/lv_LV/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Valstis, kas nav EEK valstīs CountriesInEECExceptMe=Valstis EEK, izņemot %s CountriesExceptMe=Visas valstis, izņemot %s AccountantFiles=Eksportēt pirmdokumentus -ExportAccountingSourceDocHelp=Izmantojot šo rīku, varat eksportēt avota notikumus (sarakstu un PDF failus), kas tika izmantoti grāmatvedības ģenerēšanai. Lai eksportētu žurnālus, izmantojiet izvēlnes ierakstu %s - %s. +ExportAccountingSourceDocHelp=Izmantojot šo rīku, varat eksportēt avota notikumus (sarakstu CSV un PDF formātā), kas tika izmantoti grāmatvedības ģenerēšanai. +ExportAccountingSourceDocHelp2=Lai eksportētu žurnālus, izmantojiet izvēlnes ierakstu %s - %s. VueByAccountAccounting=Skatīt pēc grāmatvedības konta VueBySubAccountAccounting=Skatīt pēc grāmatvedības apakškonta @@ -131,7 +132,7 @@ InvoiceLinesDone=Iesaistīto rēķinu līnijas ExpenseReportLines=Izdevumu atskaites līnijas, kas saistītas ExpenseReportLinesDone=Saistītās izdevumu pārskatu līnijas IntoAccount=Bind line ar grāmatvedības kontu -TotalForAccount=Total accounting account +TotalForAccount=Kopējais grāmatvedības konts Ventilate=Saistīt @@ -158,7 +159,7 @@ ACCOUNTING_LENGTH_AACCOUNT=Trešo pušu grāmatvedības kontu garums (ja iestat ACCOUNTING_MANAGE_ZERO=Atļaujiet pārvaldīt atšķirīgu skaitu nulles grāmatvedības konta beigās. Nepieciešamas dažas valstis (piemēram, Šveice). Ja iestatījums ir izslēgts (noklusējums), varat iestatīt šādus divus parametrus, lai pieprasītu lietojumprogrammai pievienot virtuālās nulles. BANK_DISABLE_DIRECT_INPUT=Atspējot tiešu darījumu reģistrāciju bankas kontā ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Iespējot eksporta projektu žurnālā -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) +ACCOUNTANCY_COMBO_FOR_AUX=Iespējot kombinēto sarakstu meitas kontam (tas var būt lēns, ja jums ir daudz trešo pušu, pārtraukt iespēju meklēt daļu vērtības) ACCOUNTING_DATE_START_BINDING=Definējiet datumu, lai sāktu iesiešanu un pārskaitīšanu grāmatvedībā. Zem šī datuma darījumi netiks pārnesti uz grāmatvedību. ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Pārsūtot grāmatvedību, pēc noklusējuma atlasiet periodu @@ -202,14 +203,14 @@ Docref=Atsauce LabelAccount=Konta nosaukums LabelOperation=Etiķetes darbība Sens=Virziens -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
For an accounting account of a supplier, use Debit to record a payment you made +AccountingDirectionHelp=Klienta grāmatvedības kontā izmantojiet kredītu, lai reģistrētu saņemto maksājumu
Piegādātāja grāmatvedības kontā izmantojiet Debets, lai reģistrētu veikto maksājumu LetteringCode=Burtu kods Lettering=Burti Codejournal=Žurnāls JournalLabel=Žurnāla etiķete NumPiece=Gabala numurs TransactionNumShort=Num. darījums -AccountingCategory=Custom group +AccountingCategory=Pielāgota grupa GroupByAccountAccounting=Grupēt pēc galvenās grāmatas konta GroupBySubAccountAccounting=Grupēt pēc apakšzinēja konta AccountingAccountGroupsDesc=Šeit jūs varat definēt dažas grāmatvedības kontu grupas. Tie tiks izmantoti personificētiem grāmatvedības pārskatiem. @@ -297,7 +298,7 @@ NoNewRecordSaved=Neviens ieraksts žurnālistikai nav ListOfProductsWithoutAccountingAccount=Produktu saraksts, uz kuriem nav saistīta kāds grāmatvedības konts ChangeBinding=Mainiet saites Accounted=Uzskaitīts virsgrāmatā -NotYetAccounted=Not yet accounted in the ledger +NotYetAccounted=Vēl nav uzskaitīti virsgrāmatā ShowTutorial=Rādīt apmācību NotReconciled=Nesaskaņots WarningRecordWithoutSubledgerAreExcluded=Brīdinājums: visas darbības, kurās nav definēts apakškārtas konts, tiek filtrētas un izslēgtas no šī skata @@ -328,9 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Atspējot saistīšanu un pārsūtīšan ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Atspējojiet grāmatvedībā iesiešanu un pārskaitīšanu izdevumu pārskatos (grāmatvedībā netiks ņemti vērā izdevumu pārskati) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) -ConfirmExportFile=Confirmation of the generation of the accounting export file ? +NotifiedExportDate=Paziņots eksporta datums (ierakstus nevarēs modificēt) +NotifiedValidationDate=Ierakstu validācija (modificēt vai dzēst ierakstus nebūs iespējams) +ConfirmExportFile=Apstiprinājums par grāmatvedības eksporta faila ģenerēšanu? ExportDraftJournal=Eksporta žurnāla projekts Modelcsv=Eksporta modulis Selectmodelcsv=Atlasiet eksporta modeli @@ -405,29 +406,29 @@ UseMenuToSetBindindManualy=Līnijas, kas vēl nav saistītas, izmantojiet izvēl ## Import ImportAccountingEntries=Grāmatvedības ieraksti -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) +ImportAccountingEntriesFECFormat=Grāmatvedības ieraksti - FEC formāts +FECFormatJournalCode=Kodu žurnāls (JournalCode) +FECFormatJournalLabel=Iezīmju žurnāls (JournalLib) +FECFormatEntryNum=Gabala numurs (EcritureNum) +FECFormatEntryDate=Gabala datums (EcritureDate) +FECFormatGeneralAccountNumber=Vispārējais konta numurs (CompteNum) +FECFormatGeneralAccountLabel=Vispārīga konta iezīme (CompteLib) +FECFormatSubledgerAccountNumber=Zemesgrāmatas konta numurs (CompAuxNum) +FECFormatSubledgerAccountLabel=Zemesgrāmatas konta numurs (CompAuxLib) FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) +FECFormatPieceDate=Gabala datuma izveide (PieceDate) +FECFormatLabelOperation=Etiķetes darbība (EcritureLib) +FECFormatDebit=Debets (debets) +FECFormatCredit=Kredīts (kredīts) +FECFormatReconcilableCode=Saskaņojams kods (EcritureLet) +FECFormatReconcilableDate=Samierināms datums (DateLet) +FECFormatValidateDate=Gabala datums ir validēts (ValidDate) +FECFormatMulticurrencyAmount=Daudzvalūtu summa (Montantdevise) +FECFormatMulticurrencyCode=Daudzvalūtu kods (Idevise) DateExport=Eksporta datums WarningReportNotReliable=Brīdinājums. Šis pārskats nav balstīts uz grāmatvedi, tādēļ tajā nav darījumu, kas Manuāli ir manuāli modificēts. Ja žurnāls ir atjaunināts, grāmatvedības skats ir precīzāks. ExpenseReportJournal=Izdevumu atskaites žurnāls InventoryJournal=Inventāra žurnāls -NAccounts=%s accounts +NAccounts=%s konti diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 05a605ecedf..df61d51ac4e 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -37,7 +37,7 @@ UnlockNewSessions=Noņemt savienojuma bloķēšanu YourSession=Jūsu sesija Sessions=Lietotāju sesijas WebUserGroup=Web servera lietotājs/grupa -PermissionsOnFiles=Permissions on files +PermissionsOnFiles=Atļaujas failiem PermissionsOnFilesInWebRoot=Atļaujas failiem tīmekļa saknes direktorijā PermissionsOnFile=Atļaujas failā %s NoSessionFound=Šķiet, ka jūsu PHP konfigurācija neļauj iekļaut aktīvās sesijas. Direktorija, kuru izmanto sesiju saglabāšanai (%s), var būt aizsargāta (piemēram, ar OS atļaujām vai PHP direktīvu open_basedir). @@ -53,6 +53,7 @@ InternalUser=Iekšējais lietotājs ExternalUser=Ārējais lietotājs InternalUsers=Iekšējie lietotāji ExternalUsers=Ārējie lietotāji +UserInterface=User interface GUISetup=Attēlojums SetupArea=Iestatījumi UploadNewTemplate=Augšupielādēt jaunu veidni (-es) @@ -63,8 +64,8 @@ IfModuleEnabled=Piezīme: jā, ir efektīva tikai tad, ja modulis %s ir i RemoveLock=Ja ir, noņemiet/pārdēvējiet failu %s, lai varētu izmantot atjaunināšanas/instalēšanas rīku. RestoreLock=Atjaunojiet failu %s tikai ar lasīšanas atļauju, lai atspējotu jebkādu turpmāku atjaunināšanas/instalēšanas rīka izmantošanu. SecuritySetup=Drošības iestatījumi -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=PHP iestatīšana +OSSetup=OS iestatīšana SecurityFilesDesc=Šeit definējiet ar drošību saistītās iespējas failu augšupielādei. ErrorModuleRequirePHPVersion=Kļūda, šim modulim ir nepieciešama PHP versija %s vai augstāka ErrorModuleRequireDolibarrVersion=Kļūda, šim modulim nepieciešama Dolibarr versija %s vai augstāka @@ -157,7 +158,7 @@ SystemToolsAreaDesc=Šī sadaļa nodrošina administrēšanas funkcijas. Izmanto Purge=Tīrīt PurgeAreaDesc=Šī lapa ļauj izdzēst visus Dolibarr ģenerētos vai glabātos failus (pagaidu faili vai visi faili %s direktorijā). Šīs funkcijas izmantošana parasti nav nepieciešama. Tas tiek nodrošināts kā risinājums lietotājiem, kuru Dolibarr uztur pakalpojumu sniedzējs, kas nepiedāvā atļaujas, lai dzēstu tīmekļa servera ģenerētos failus. PurgeDeleteLogFile=Dzēsiet žurnāla failus, tostarp %s, kas definēti Syslog modulim (nav datu pazaudēšanas riska). -PurgeDeleteTemporaryFiles=Delete all log and temporary files (no risk of losing data). Parameter can be 'tempfilesold', 'logfiles' or both 'tempfilesold+logfiles'. Note: Deletion of temporary files is done only if the temp directory was created more than 24 hours ago. +PurgeDeleteTemporaryFiles=Izdzēsiet visus žurnāla un pagaidu failus (nav datu zaudēšanas riska). Parametrs var būt “tempfilesold”, “logfiles” vai abi “tempfilesold + logfiles”. Piezīme. Pagaidu failu dzēšana tiek veikta tikai tad, ja temp direktorija tika izveidota vairāk nekā pirms 24 stundām. PurgeDeleteTemporaryFilesShort=Dzēst žurnālu un pagaidu failus PurgeDeleteAllFilesInDocumentsDir=Dzēsiet visus failus direktorijā: %s .
Tas izdzēsīs visus radītos dokumentus, kas saistīti ar elementiem (trešajām personām, rēķiniem utt.), ECM modulī augšupielādētiem failiem, datu bāzes rezerves izgāztuvēm un pagaidu failus. PurgeRunNow=Tīrīt tagad @@ -221,7 +222,7 @@ NotCompatible=Šis modulis, šķiet, nav savietojams ar jūsu Dolibarr %s (Min % CompatibleAfterUpdate=Šis modulis prasa atjaunināt Dolibarr %s (Min %s - Maks %s). SeeInMarkerPlace=Skatiet Marketplace SeeSetupOfModule=See setup of module %s -SetOptionTo=Set option %s to %s +SetOptionTo=Iestatiet opciju %s uz %s Updated=Atjaunots AchatTelechargement=Pirkt / lejupielādēt GoModuleSetupArea=Lai izvietotu / instalētu jaunu moduli, dodieties uz moduļa iestatīšanas apgabalu: %s . @@ -235,7 +236,7 @@ BoxesAvailable=Pieejamie logrīki BoxesActivated=Logrīki aktivizēti ActivateOn=Aktivizēt ActiveOn=Aktivizēts -ActivatableOn=Activatable on +ActivatableOn=Aktivizējams SourceFile=Avota fails AvailableOnlyIfJavascriptAndAjaxNotDisabled=Pieejams tikai tad, ja JavaScript nav atslēgts Required=Nepieciešams @@ -351,10 +352,10 @@ LastActivationAuthor=Jaunākais aktivizētāja autors LastActivationIP=Jaunākā aktivizācijas IP adrese UpdateServerOffline=Atjaunināšanas serveris bezsaistē WithCounter=Pārvaldīt skaitītāju -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags can be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as the previous one but an offset corresponding to the number to the right of the + sign is applied starting on the first %s.
{000000@x} same as the previous one but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then the sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated to the customer. This counter dedicated to customer is reset at same time as the global counter.
{tttt} The code of third party type on n characters (see menu Home - Setup - Dictionary - Types of third parties). If you add this tag, the counter will be different for each type of third party.
+GenericMaskCodes=Jūs varat ievadīt jebkuru numerācijas masku. Šajā maskā var izmantot šādus tagus:
{000000} atbilst skaitlim, kas tiks palielināts katrā %s. Ievadiet tik daudz nulles, cik vēlamais skaitītāja garums. Skaitītāju aizpildīs ar nulli no kreisās puses, lai tajā būtu tikpat daudz nulles kā maskā.
{000000 + 000} tāds pats kā iepriekšējais, bet nobīde, kas atbilst skaitlim pa labi no zīmes +, tiek piemērota, sākot ar pirmo %s.
{000000 @ x} tāds pats kā iepriekšējais, bet skaitītājs tiek atiestatīts uz nulli, kad ir sasniegts mēnesis x (x no 1 līdz 12, vai 0, lai izmantotu jūsu konfigurācijā definētos fiskālā gada sākuma mēnešus, vai no 99 līdz katru mēnesi atiestatīt uz nulli). Ja tiek izmantota šī opcija un x ir 2 vai lielāks, ir nepieciešama arī secība {yy} {mm} vai {gggg} {mm}.
{dd} diena (no 01 līdz 31).
{mm} mēnesis (no 01 līdz 12).
{yy} , {yyyy} vai {y} a09a4b
+GenericMaskCodes2= {cccc} klienta kods uz n rakstzīmēm
{cccc000} a09a4b739f17fz Šis klientam veltītais skaitītājs tiek atiestatīts vienlaikus ar globālo skaitītāju.
{tttt} Trešās puses tipa kods uz n rakstzīmēm (skatiet izvēlni Sākums - Iestatīšana - Vārdnīca - Trešo personu veidi). Ja pievienosit šo tagu, katram trešās puses tipam skaitītājs būs atšķirīgs.
GenericMaskCodes3=Visas citas rakstzīmes masku paliks neskartas.
Atstarpes nav atļautas.
-GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
Spaces are not allowed.
In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
+GenericMaskCodes3EAN=Visas pārējās maskas rakstzīmes paliks neskartas (izņemot * vai? EAN13 13. pozīcijā).
Atstarpes nav atļautas.
EAN13, pēdējam rakstzīmei pēc pēdējā} 13. pozīcijā jābūt * vai? . To aizstās aprēķinātā atslēga.
GenericMaskCodes4a=Piemērs 99. %s no trešās personas TheCompany, ar datumu 2007-01-31:
GenericMaskCodes4b=Piemērs trešā persona veidota 2007-03-01:
GenericMaskCodes4c=Piemērs produkts veidots 2007-03-01:
@@ -399,7 +400,7 @@ SecurityToken=Atslēga uz drošu saiti NoSmsEngine=Nav pieejams neviens SMS sūtītāja pārvaldnieks. SMS sūtītāja pārvaldnieks nav instalēts ar noklusējuma izplatīšanu, jo tie ir atkarīgi no ārēja piegādātāja, bet jūs varat atrast kādu no %s PDF=PDF PDFDesc=Globālās iespējas PDF ģenerēšanai -PDFOtherDesc=PDF Option specific to some modules +PDFOtherDesc=PDF opcija, kas raksturīga dažiem moduļiem PDFAddressForging=Noteikumi par adreses sadaļu HideAnyVATInformationOnPDF=Slēpt visu informāciju, kas saistīta ar pārdošanas nodokli / PVN PDFRulesForSalesTax=Pārdošanas nodokļa / PVN noteikumi @@ -450,8 +451,8 @@ ExtrafieldParamHelpPassword=Atstājot šo lauku tukšu, tas nozīmē, ka šī v ExtrafieldParamHelpselect=Vērtību sarakstam jābūt rindām ar formāta atslēgu, vērtība (kur atslēga nevar būt '0')

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-
%s ModeWarning=Iespēja reālā režīmā nav noteikts, mēs pārtraucam pēc šīs simulācijas ErrorCompanyHasDuplicateDefaultBAN=Uzņēmumam ar ID %s ir vairāk nekā viens noklusējuma bankas konts. Nevar uzzināt, kuru izmantot. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorICSmissing=Bankas kontā %s trūkst ICS +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Tiešā debeta rīkojuma kopējā summa atšķiras no rindu summas diff --git a/htdocs/langs/lv_LV/zapier.lang b/htdocs/langs/lv_LV/zapier.lang index c524a9afb6f..48a4287c4ee 100644 --- a/htdocs/langs/lv_LV/zapier.lang +++ b/htdocs/langs/lv_LV/zapier.lang @@ -17,5 +17,5 @@ ModuleZapierForDolibarrName = Zapier priekš Dolibarr ModuleZapierForDolibarrDesc = Par zapier Dolibarr moduli ZapierForDolibarrSetup=Zapier iestatīšana Dolibarr ZapierDescription=Saskarne ar Zapier -ZapierAbout=About the module Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ZapierAbout=Par moduli Zapier +ZapierSetupPage=Lai izmantotu Zapier, Dolibarr pusē nav nepieciešama iestatīšana. Tomēr, lai varētu izmantot Zapier ar Dolibarr, jums ir jāizveido un jāpublicē pakete zapier. Skatiet šīs wiki lapas dokumentāciju . diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index 29a97f8c307..bc4bcd92c5b 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Препорачано +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/mk_MK/banks.lang b/htdocs/langs/mk_MK/banks.lang index 6fafa0aeeb0..958aba13a6c 100644 --- a/htdocs/langs/mk_MK/banks.lang +++ b/htdocs/langs/mk_MK/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/mk_MK/boxes.lang b/htdocs/langs/mk_MK/boxes.lang index e409bf6180a..a07e2f22528 100644 --- a/htdocs/langs/mk_MK/boxes.lang +++ b/htdocs/langs/mk_MK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Нарачки на добавувачи: BoxTitleLastModifiedCustomerBills=Фактури на клиенти: најнови %s измени BoxTitleLastModifiedCustomerOrders=Нарачки за продажба: најнови %s изменети BoxTitleLastModifiedPropals=Најнови %sизменети понуди -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Фактури на клиенти ForCustomersOrders=Нарачки на клиенти ForProposals=Понуди diff --git a/htdocs/langs/mk_MK/cashdesk.lang b/htdocs/langs/mk_MK/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/mk_MK/cashdesk.lang +++ b/htdocs/langs/mk_MK/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/mk_MK/deliveries.lang b/htdocs/langs/mk_MK/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/mk_MK/deliveries.lang +++ b/htdocs/langs/mk_MK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/mk_MK/eventorganization.lang b/htdocs/langs/mk_MK/eventorganization.lang index d730e862879..cff9f3dbd41 100644 --- a/htdocs/langs/mk_MK/eventorganization.lang +++ b/htdocs/langs/mk_MK/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/mk_MK/exports.lang b/htdocs/langs/mk_MK/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/mk_MK/exports.lang +++ b/htdocs/langs/mk_MK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index 3cd58c00c22..03a34b0fbca 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/mk_MK/interventions.lang b/htdocs/langs/mk_MK/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/mk_MK/interventions.lang +++ b/htdocs/langs/mk_MK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/mk_MK/productbatch.lang b/htdocs/langs/mk_MK/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/mk_MK/productbatch.lang +++ b/htdocs/langs/mk_MK/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index 9836dd67f46..8c30e7fe98c 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/mk_MK/salaries.lang b/htdocs/langs/mk_MK/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/mk_MK/salaries.lang +++ b/htdocs/langs/mk_MK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/mk_MK/ticket.lang b/htdocs/langs/mk_MK/ticket.lang index e440e748388..318e3eeaa00 100644 --- a/htdocs/langs/mk_MK/ticket.lang +++ b/htdocs/langs/mk_MK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Затворено @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/mk_MK/users.lang b/htdocs/langs/mk_MK/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/mk_MK/users.lang +++ b/htdocs/langs/mk_MK/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/mk_MK/website.lang b/htdocs/langs/mk_MK/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/mk_MK/website.lang +++ b/htdocs/langs/mk_MK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/mn_MN/admin.lang b/htdocs/langs/mn_MN/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/mn_MN/admin.lang +++ b/htdocs/langs/mn_MN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/mn_MN/banks.lang b/htdocs/langs/mn_MN/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/mn_MN/banks.lang +++ b/htdocs/langs/mn_MN/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/mn_MN/boxes.lang b/htdocs/langs/mn_MN/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/mn_MN/boxes.lang +++ b/htdocs/langs/mn_MN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/mn_MN/cashdesk.lang b/htdocs/langs/mn_MN/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/mn_MN/cashdesk.lang +++ b/htdocs/langs/mn_MN/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/mn_MN/deliveries.lang b/htdocs/langs/mn_MN/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/mn_MN/deliveries.lang +++ b/htdocs/langs/mn_MN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/mn_MN/errors.lang b/htdocs/langs/mn_MN/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/mn_MN/errors.lang +++ b/htdocs/langs/mn_MN/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/mn_MN/eventorganization.lang b/htdocs/langs/mn_MN/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/mn_MN/eventorganization.lang +++ b/htdocs/langs/mn_MN/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/mn_MN/exports.lang b/htdocs/langs/mn_MN/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/mn_MN/exports.lang +++ b/htdocs/langs/mn_MN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/mn_MN/install.lang b/htdocs/langs/mn_MN/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/mn_MN/install.lang +++ b/htdocs/langs/mn_MN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/mn_MN/interventions.lang b/htdocs/langs/mn_MN/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/mn_MN/interventions.lang +++ b/htdocs/langs/mn_MN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/mn_MN/productbatch.lang b/htdocs/langs/mn_MN/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/mn_MN/productbatch.lang +++ b/htdocs/langs/mn_MN/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/mn_MN/products.lang b/htdocs/langs/mn_MN/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/mn_MN/products.lang +++ b/htdocs/langs/mn_MN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/mn_MN/salaries.lang b/htdocs/langs/mn_MN/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/mn_MN/salaries.lang +++ b/htdocs/langs/mn_MN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/mn_MN/ticket.lang b/htdocs/langs/mn_MN/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/mn_MN/ticket.lang +++ b/htdocs/langs/mn_MN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/mn_MN/users.lang b/htdocs/langs/mn_MN/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/mn_MN/users.lang +++ b/htdocs/langs/mn_MN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/mn_MN/website.lang b/htdocs/langs/mn_MN/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/mn_MN/website.lang +++ b/htdocs/langs/mn_MN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index e8e50b9211d..1a58115e455 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -53,6 +53,7 @@ InternalUser=Intern bruker ExternalUser=Ekstern bruker InternalUsers=Interne brukere ExternalUsers=Eksterne brukere +UserInterface=User interface GUISetup=Visning SetupArea=Oppsett UploadNewTemplate=Last opp ny mal(er) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funksjoner ikke tilgjengelige i din PHP DownloadMoreSkins=Flere skins å laste ned SimpleNumRefModelDesc=Returnerer referansenummeret i formatet %syymm-nnnn der yy er året, mm er måneden og nnnn er et sekvensielt automatisk økende nummer uten nullstilling SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Vis Profesjonell ID med adresser -ShowVATIntaInAddress=Skjul intra-Community MVA-numre med adresse +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Delvis oversettelse MAIN_DISABLE_METEO=Deaktiver meteorologisk visning MeteoStdMod=Standardmodus @@ -1778,7 +1779,7 @@ ClickToDialSetup='Click To Dial' modul ClickToDialUrlDesc=Url som kalles når man klikker på telefonpiktogrammet. I URL kan du bruke koder
__ PHONETO __ som blir erstattet med telefonnummeret til personen som skal ringes
__ PHONEFROM __ som blir erstattet med telefonnummeret til den som ringer(din)
__ LOGIN __ som vil bli erstattet med clicktodial login (definert på brukerkort)
__ PASS __ som vil bli erstattet med clicktodial passord (definert på brukerkort). ClickToDialDesc=Denne modulen endrer telefonnumre, når du bruker en datamaskin, til klikkbare lenker. Et klikk vil ringe nummeret. Dette kan brukes til å starte telefonsamtalen når du har en telefon på skrivebordet eller når du for eksempel bruker et CTI-system basert på SIP-protokoll. Merk: Når du bruker en smarttelefon, er telefonnumre alltid klikkbare. ClickToDialUseTelLink=Bruk kun en lenke "tlf:" for telefonnumre -ClickToDialUseTelLinkDesc=Bruk denne metoden hvis brukerne har en softphone eller et programvaregrensesnitt installert på samme datamaskin som nettleseren, og kalles når du klikker på en link i nettleseren din som starter med "tel:". Hvis du trenger en full server-løsning (uten behov for lokal installasjon av programvare), må du sette denne på "Nei" og fylle neste felt. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Utsalgssted CashDeskSetup=Oppsett av modulen Salgssted @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=Ingen skrivbare filer eller kataloger for de vanlige programmene ble funnet i rotkatalogen din (Bra) RecommendedValueIs=Anbefalt: %s -NotRecommended=Not recommanded +Recommended=Anbefalt +NotRecommended=Not recommended ARestrictedPath=En begrenset sti CheckForModuleUpdate=Se etter oppdateringer for eksterne moduler CheckForModuleUpdateHelp=Denne handlingen kobles til editorer for eksterne moduler for å sjekke om en ny versjon er tilgjengelig. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/nb_NO/banks.lang b/htdocs/langs/nb_NO/banks.lang index 029b2ec2c07..418ae40856b 100644 --- a/htdocs/langs/nb_NO/banks.lang +++ b/htdocs/langs/nb_NO/banks.lang @@ -115,7 +115,7 @@ TransferTo=Til TransferFromToDone=En overføring fra %s til %s%s %s er registrert. CheckTransmitter=Avsender ValidateCheckReceipt=Valider sjekkvittering? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Slett denne sjekkvitteringen? ConfirmDeleteCheckReceipt=Er du sikker på at du vil slette denne sjekkvitteringen? BankChecks=Banksjekker diff --git a/htdocs/langs/nb_NO/boxes.lang b/htdocs/langs/nb_NO/boxes.lang index 603a4696a2a..7e5fcadac57 100644 --- a/htdocs/langs/nb_NO/boxes.lang +++ b/htdocs/langs/nb_NO/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Leverandørordre: siste %s endret BoxTitleLastModifiedCustomerBills=Kundefakturaer: siste %s endret BoxTitleLastModifiedCustomerOrders=Salgsordre: siste %s endret BoxTitleLastModifiedPropals=Siste %s endrede tilbud -BoxTitleLatestModifiedJobPositions=Siste %s endrede jobber -BoxTitleLatestModifiedCandidatures=Siste %s endrede kandidaturer +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Kundefakturaer ForCustomersOrders=Kundeordrer ForProposals=Tilbud diff --git a/htdocs/langs/nb_NO/cashdesk.lang b/htdocs/langs/nb_NO/cashdesk.lang index 1abc49531f6..93ba2e673cc 100644 --- a/htdocs/langs/nb_NO/cashdesk.lang +++ b/htdocs/langs/nb_NO/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Tillat forsinket betaling PrintPaymentMethodOnReceipts=Skriv ut betalingsmåte på billetter/kvitteringer WeighingScale=Vektskala ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/nb_NO/deliveries.lang b/htdocs/langs/nb_NO/deliveries.lang index 97f8ad9cdac..31485f7bafa 100644 --- a/htdocs/langs/nb_NO/deliveries.lang +++ b/htdocs/langs/nb_NO/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Kan ikke sendes ShowShippableStatus=Vis status sendingsklar ShowReceiving=Vis leveringskvittering NonExistentOrder=Ikkeeksisterende ordre +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 6e4e212865c..042cf8687de 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Brukerens eier kreves ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Versjonskontroll mislyktes ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/nb_NO/eventorganization.lang b/htdocs/langs/nb_NO/eventorganization.lang index dd108fff257..b0fa38fb7f7 100644 --- a/htdocs/langs/nb_NO/eventorganization.lang +++ b/htdocs/langs/nb_NO/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Hendelsestype +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/nb_NO/exports.lang b/htdocs/langs/nb_NO/exports.lang index e4e5740d9ee..666dc723afa 100644 --- a/htdocs/langs/nb_NO/exports.lang +++ b/htdocs/langs/nb_NO/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Linjetype (0=vare, 1=tjeneste) FileWithDataToImport=Fil med data som skal importeres FileToImport=Kildefilen du vil importere FileMustHaveOneOfFollowingFormat=Fil som skal importeres må ha ett av følgende formater -DownloadEmptyExample=Last ned malfil med feltinnholdsinformasjon (* er obligatoriske felt) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Velg filformatet som skal brukes som importfilformat ved å klikke på %s-ikonet for å velge det ... ChooseFileToImport=Last opp fil og klikk deretter på %s ikonet for å velge fil som kilde-importfil ... SourceFileFormat=Kildefil-format diff --git a/htdocs/langs/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index d47d9658a94..ac378cd1115 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrering av foto-stier for brukere MigrationFieldsSocialNetworks=Migrering av felt med brukeres sosiale nettverk (%s) MigrationReloadModule=Last inn modulen %s på nytt MigrationResetBlockedLog=Tilbakestill modul BlockedLog for v7 algoritme +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Vis utilgjengelige alternativer HideNotAvailableOptions=Skjul utilgjengelige alternativer ErrorFoundDuringMigration=Feil ble rapportert under migreringsprosessen, slik at neste trinn ikke er tilgjengelig. For å ignorere feil kan du klikke her , men programmet eller noen funksjoner fungerer kanskje ikke riktig før feilene er løst. diff --git a/htdocs/langs/nb_NO/interventions.lang b/htdocs/langs/nb_NO/interventions.lang index 58aea37b932..a4a259f3f85 100644 --- a/htdocs/langs/nb_NO/interventions.lang +++ b/htdocs/langs/nb_NO/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Område for intervensjoner DraftFichinter=Intervensjonskladder LastModifiedInterventions=Siste %s endrede intervensjoner FichinterToProcess=Intervensjoner å prosessere -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Ansvarlig for kundeoppfølging -# Modele numérotation PrintProductsOnFichinter=Skriv også ut linjer med type "produkt" (ikke bare tjenester) på intervensjonskort PrintProductsOnFichinterDetails=intervensjoner generert fra ordre UseServicesDurationOnFichinter=Bruk tjenestevarighet for intervensjoner som genereres fra bestillinger @@ -53,7 +51,6 @@ InterventionStatistics=Statistikk over intervensjoner NbOfinterventions=Antall intervensjonskort NumberOfInterventionsByMonth=Antall intervensjonskort etter måned (dato for validering) AmountOfInteventionNotIncludedByDefault=Beløp fra intervensjoner er ikke inkludert som standard i overskudd (i de fleste tilfeller er tidsplaner brukt til å regne tid brukt). Legg til alternativ PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT til 1 i hjem-oppsett-andre for å inkludere dem. -##### Exports ##### InterId=Intervensjons-ID InterRef=Intervensjonsref. InterDateCreation=Dato for opprettelse av intervensjon @@ -65,3 +62,7 @@ InterLineId=Intervensjon Linje-ID InterLineDate=Intervensjonsdato-linje InterLineDuration=Intervensjonsvarighet-linje InterLineDesc=Intervensjonsbeskrivelse-linje +RepeatableIntervention=Intervensjon-mal +ToCreateAPredefinedIntervention=Hvis du vil lage et forhåndsdefinert eller tilbakevendende intervensjon, oppretter du en vanlig intervensjon og konverterer den til intervensjonsmal +Reopen=Gjenåpne +ConfirmReopenIntervention=Er du sikker på at du vil gjenåpne intervensjonen %s ? diff --git a/htdocs/langs/nb_NO/productbatch.lang b/htdocs/langs/nb_NO/productbatch.lang index 9647a6779ef..df65b288a00 100644 --- a/htdocs/langs/nb_NO/productbatch.lang +++ b/htdocs/langs/nb_NO/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Vis logg over bevegelser for vare/lot StockDetailPerBatch=Varedetaljer pr. lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index e024907be49..d42402c3ca4 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Ulike priser for hver kunde PriceCatalogue=En enkelt salgspris for hver vare/tjeneste PricingRule=Regler for utsalgspriser AddCustomerPrice=Legg til pris for kunde -ForceUpdateChildPriceSoc=Sett samme pris for kundens datterselskaper +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Logg over tidligere kundepriser MinimumPriceLimit=Minstepris kan ikke være lavere enn %s MinimumRecommendedPrice=Minimum anbefalt pris er: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Øk/minsk beholdning ved overordnet endring ComposedProduct=Sub-varer MinSupplierPrice=Laveste innkjøpspris MinCustomerPrice=Minste salgspris +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamisk pris-konfigurering DynamicPriceDesc=Du kan definere matematiske formler for å beregne kunde- eller leverandørpriser. Slike formler kan bruke alle matematiske operatører, noen konstanter og variabler. Du kan definere variablene du vil bruke. Hvis variabelen trenger en automatisk oppdatering, kan du definere den eksterne nettadressen for å tillate Dolibarr å oppdatere verdien automatisk. AddVariable=Legg til variabel diff --git a/htdocs/langs/nb_NO/salaries.lang b/htdocs/langs/nb_NO/salaries.lang index 7563b5dfa81..aac94b25cf6 100644 --- a/htdocs/langs/nb_NO/salaries.lang +++ b/htdocs/langs/nb_NO/salaries.lang @@ -17,8 +17,8 @@ TJM=Gjennomsnittlig dagspris CurrentSalary=Nåværende lønn THMDescription=Denne verdien kan brukes til å kalkulere tidsforbruket på et prosjekt hvis prosjekt-modulen er i bruk TJMDescription=Dene verdien er foreløpig brukt til informasjon, og er ikke brukt i noen kalkulasjoner -LastSalaries=Siste %s lønnsutbetalinger -AllSalaries=Alle lønnsutbetalinger +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Lønnsstatistikk -# Export SalariesAndPayments=Lønn og utbetalinger +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/nb_NO/ticket.lang b/htdocs/langs/nb_NO/ticket.lang index 109831e3f93..1141b9b3bd0 100644 --- a/htdocs/langs/nb_NO/ticket.lang +++ b/htdocs/langs/nb_NO/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Billett - Løsning TicketTypeShortCOM=Prisforespørsel TicketTypeShortHELP=Be om funksjonell hjelp -TicketTypeShortISSUE=Problem eller feil +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Endring- eller forbedringsforespørsel TicketTypeShortPROJET=Prosjekt TicketTypeShortOTHER=Annet @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Tilordnet bruker TypeContact_ticket_external_SUPPORTCLI=Kundekontakt / hendelsessporing TypeContact_ticket_external_CONTRIBUTOR=Ekstern bidragsyter -OriginEmail=Epostkilde +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send billettmelding via e-post # Status Read=Les Assigned=Tildelt InProgress=Pågår -NeedMoreInformation=Venter på informasjon +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Besvarte Waiting=Venter Closed=Lukket @@ -160,7 +162,7 @@ CreatedBy=Laget av NewTicket=Ny supportseddel SubjectAnswerToTicket=Supportseddel-svar TicketTypeRequest=Forespørselstype -TicketCategory=Gruppe +TicketCategory=Ticket categorization SeeTicket=Se supportseddel TicketMarkedAsRead=Supportseddel merket som lest TicketReadOn=Les videre @@ -211,6 +213,7 @@ TicketMessageHelp=Kun denne teksten blir lagret i meldingslisten på supportsedd TicketMessageSubstitutionReplacedByGenericValues=Substitusjonsvariabler erstattes av generiske verdier. TimeElapsedSince=Tid forløpt siden TicketTimeToRead=Tid forløpt før lesing +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kontakter supportseddel TicketDocumentsLinked=Dokumenter knyttet til supportseddel ConfirmReOpenTicket=Bekreft gjenåpning av denne supportseddelen? diff --git a/htdocs/langs/nb_NO/users.lang b/htdocs/langs/nb_NO/users.lang index 8ecf4d171cc..228e1b15c28 100644 --- a/htdocs/langs/nb_NO/users.lang +++ b/htdocs/langs/nb_NO/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Brukernavn å opprette NameToCreate=Navn på tredjepart til å lage YourRole=Dine roller YourQuotaOfUsersIsReached=Din kvote på aktive brukere er nådd! -NbOfUsers=Antall brukere -NbOfPermissions=Antall tillatelser +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Bare en superadmin kan nedgradere en superadmin HierarchicalResponsible=Veileder HierarchicView=Hierarkisk visning diff --git a/htdocs/langs/nb_NO/website.lang b/htdocs/langs/nb_NO/website.lang index ab69847b14d..4003a18b648 100644 --- a/htdocs/langs/nb_NO/website.lang +++ b/htdocs/langs/nb_NO/website.lang @@ -31,7 +31,7 @@ AddWebsite=Legg til nettside Webpage=Nettsted/container AddPage=Legg til side/container PageContainer=Side -PreviewOfSiteNotYetAvailable=Forhåndsvisning av nettstedet ditt %s ennå ikke tilgjengelig. Du må først ' Importer en full nettsidemal ' eller bare ' Legg til en side/container '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Forespurt side med id %s har ikke noe innhold enda, eller cachefilen .tpl.php ble fjernet. Rediger innhold på siden for å løse dette. SiteDeleted=Nettstedet '%s' slettet PageContent=Side/Container diff --git a/htdocs/langs/ne_NP/admin.lang b/htdocs/langs/ne_NP/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/ne_NP/admin.lang +++ b/htdocs/langs/ne_NP/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/ne_NP/banks.lang b/htdocs/langs/ne_NP/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/ne_NP/banks.lang +++ b/htdocs/langs/ne_NP/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/ne_NP/boxes.lang b/htdocs/langs/ne_NP/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/ne_NP/boxes.lang +++ b/htdocs/langs/ne_NP/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/ne_NP/cashdesk.lang b/htdocs/langs/ne_NP/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/ne_NP/cashdesk.lang +++ b/htdocs/langs/ne_NP/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ne_NP/deliveries.lang b/htdocs/langs/ne_NP/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/ne_NP/deliveries.lang +++ b/htdocs/langs/ne_NP/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/ne_NP/errors.lang b/htdocs/langs/ne_NP/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/ne_NP/errors.lang +++ b/htdocs/langs/ne_NP/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/ne_NP/eventorganization.lang b/htdocs/langs/ne_NP/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/ne_NP/eventorganization.lang +++ b/htdocs/langs/ne_NP/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ne_NP/exports.lang b/htdocs/langs/ne_NP/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/ne_NP/exports.lang +++ b/htdocs/langs/ne_NP/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/ne_NP/install.lang b/htdocs/langs/ne_NP/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/ne_NP/install.lang +++ b/htdocs/langs/ne_NP/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/ne_NP/interventions.lang b/htdocs/langs/ne_NP/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/ne_NP/interventions.lang +++ b/htdocs/langs/ne_NP/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/ne_NP/productbatch.lang b/htdocs/langs/ne_NP/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/ne_NP/productbatch.lang +++ b/htdocs/langs/ne_NP/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/ne_NP/products.lang b/htdocs/langs/ne_NP/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/ne_NP/products.lang +++ b/htdocs/langs/ne_NP/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/ne_NP/salaries.lang b/htdocs/langs/ne_NP/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/ne_NP/salaries.lang +++ b/htdocs/langs/ne_NP/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/ne_NP/ticket.lang b/htdocs/langs/ne_NP/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/ne_NP/ticket.lang +++ b/htdocs/langs/ne_NP/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/ne_NP/users.lang b/htdocs/langs/ne_NP/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/ne_NP/users.lang +++ b/htdocs/langs/ne_NP/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/ne_NP/website.lang b/htdocs/langs/ne_NP/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/ne_NP/website.lang +++ b/htdocs/langs/ne_NP/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/nl_BE/interventions.lang b/htdocs/langs/nl_BE/interventions.lang index e1ec9e29b85..5a614f96b76 100644 --- a/htdocs/langs/nl_BE/interventions.lang +++ b/htdocs/langs/nl_BE/interventions.lang @@ -1,8 +1,16 @@ # Dolibarr language file - Source file is en_US - interventions +InterventionCard=Interventiedetails +AddIntervention=Nieuwe interventie +InterventionContact=Interventiecontactpersoon +ValidateIntervention=Inteverntie valideren +DocumentModelStandard=Standaard modeldocument voor interventies +InterventionCardsAndInterventionLines=Inteventiebladen en -regels +SendInterventionRef=Indiening van de interventie %s InterventionSentByEMail=Interventie %s per e-mail verzonden InterventionsArea=Interventieruimte DraftFichinter=Concept interventie LastModifiedInterventions=Laatste %s gemodificeerde interventies +TypeContact_fichinter_external_CUSTOMER=Nabehandeling afnemerscontact InterventionStatistics=Statistieken van de interventies InterId=Interventie id InterDateCreation=Datum aanmaak interventie diff --git a/htdocs/langs/nl_BE/salaries.lang b/htdocs/langs/nl_BE/salaries.lang index 722cad7b40d..ed5f4c7cb01 100644 --- a/htdocs/langs/nl_BE/salaries.lang +++ b/htdocs/langs/nl_BE/salaries.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - salaries +SalariesPayments=Salarissen betalingen THM=Gemiddelde uurprijs TJM=Gemiddelde dagprijs diff --git a/htdocs/langs/nl_BE/ticket.lang b/htdocs/langs/nl_BE/ticket.lang index f1e3f473db3..25cd0e0dc63 100644 --- a/htdocs/langs/nl_BE/ticket.lang +++ b/htdocs/langs/nl_BE/ticket.lang @@ -5,7 +5,6 @@ Permission56003=Tickets verwijderen Permission56005=Bekijk tickets van alle externe partijen (niet effectief voor externe gebruikers, altijd beperkt tot de derde partij waarvan ze afhankelijk zijn) TicketDictCategory=Ticket - Groepen TicketDictSeverity=Ticket - Gradaties -TicketTypeShortISSUE=Probleem, bug of probleem TicketTypeShortREQUEST=Verander- of verbeteringsverzoek TicketTypeShortOTHER=Ander ErrorBadEmailAddress=Veld '%s' onjuist diff --git a/htdocs/langs/nl_BE/users.lang b/htdocs/langs/nl_BE/users.lang index 161657b3cc9..cee6a39dbbc 100644 --- a/htdocs/langs/nl_BE/users.lang +++ b/htdocs/langs/nl_BE/users.lang @@ -14,7 +14,6 @@ CreateDolibarrThirdParty=Maak Derden CreateInternalUserDesc=Met dit formulier kunt u een interne gebruiker in uw bedrijf / organisatie maken. Om een externe gebruiker (klant, leverancier enz.) Aan te maken, gebruikt u de knop 'Maak Dolibarr Gebruiker aan' van de contactkaart van die partij. ConfirmCreateContact=Weet u zeker dat u een Dolibarr account wilt maken voor deze contactpersoon? ConfirmCreateThirdParty=Weet u zeker dat u een 'derde' wilt maken voor dit lid? -NbOfPermissions=Aantal toestemmingen UserAccountancyCode=Gebruikers boekhoudingscode UserLogoff=Gebruiker logout DateEmploymentEnd=Einddatum tewerkstelling diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index 6175d311b9f..121da907a00 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interne gebruiker ExternalUser=Externe gebruiker InternalUsers=Interne gebruikers ExternalUsers=Externe gebruikers +UserInterface=User interface GUISetup=Weergave SetupArea=Instellingen UploadNewTemplate=Nieuwe template(s) uploaden @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functies niet beschikbaar in uw PHP installatie DownloadMoreSkins=Meer uiterlijkthema's om te downloaden SimpleNumRefModelDesc=Retourneert het referentienummer in de notatie %syymm-nnnn waarbij yy het jaar is, mm de maand en nnnn een opeenvolgend automatisch oplopend getal is zonder reset SimpleNumRefNoDateModelDesc=Retourneert het referentienummer in de notatie %s-nnnn waarbij nnnn een opeenvolgend automatisch oplopend getal is zonder reset -ShowProfIdInAddress=Toon professionele id met adressen -ShowVATIntaInAddress=Verberg intracommunautair btw-nummer met adressen +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Onvolledige vertaling MAIN_DISABLE_METEO=Schakel meteorologische weergave uit MeteoStdMod=Standaard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup='Click-To-Dial' moduleinstellingen ClickToDialUrlDesc=URL gebeld wanneer een klik op het telefoonpictogram is voltooid. In URL kunt u tags gebruiken
__PHONETO__ die wordt vervangen door het telefoonnummer van de persoon die moet worden gebeld
__PHONEFROM__ die wordt vervangen door het telefoonnummer van de bellende persoon (die van u)
__LOGIN__ die wordt vervangen door clicktodial login (gedefinieerd op gebruikerskaart)
__PASS__ die wordt vervangen door clicktodial wachtwoord (gedefinieerd op gebruikerskaart). ClickToDialDesc=Deze module verandert telefoonnummers bij gebruik van een desktopcomputer in klikbare links. Bij een klik zal het nummer gebeld worden. Dit kan worden gebruikt om het telefoongesprek te starten wanneer u een softphone op uw bureaublad gebruikt of wanneer u bijvoorbeeld een CTI-systeem op basis van het SIP-protocol gebruikt. Let op: Bij het gebruik van een smartphone zijn telefoonnummers altijd klikbaar. ClickToDialUseTelLink=Gebruik alleen de link "tel:" bij telefoonnummers -ClickToDialUseTelLinkDesc=Gebruik deze methode als uw gebruikers een softphone of een software-interface op dezelfde computer als de browser hebben geïnstalleerd en deze oproepen wanneer u op een link in uw browser klikt die begint met "tel:". Als u een volledige serveroplossing nodig hebt (geen lokale software-installatie vereist), moet u dit instellen op "Nee" en het volgende veld invullen. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Verkooppunt CashDeskSetup=Instelling verkooppuntmodule @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Behalve als u systeemopdrachten in PHPFunctionsRequiredForCLI=Voor shell-doeleinden (zoals geplande back-up van taken of het uitvoeren van een anitivurs-programma), moet u PHP-functies behouden NoWritableFilesFoundIntoRootDir=Er zijn geen beschrijfbare bestanden of mappen van de gebruikelijke programma's gevonden in uw hoofdmap (Goed) RecommendedValueIs=Aanbevolen: %s -NotRecommended=Niet aanbevolen +Recommended=Aanbevolen +NotRecommended=Not recommended ARestrictedPath=Een beperkt pad CheckForModuleUpdate=Controleren op updates van externe modules CheckForModuleUpdateHelp=Deze actie maakt verbinding met editors van externe modules om te controleren of er een nieuwe versie beschikbaar is. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=U hebt de verouderde WS API ingescha RandomlySelectedIfSeveral=Willekeurig geselecteerd als er meerdere foto's beschikbaar zijn DatabasePasswordObfuscated=Databasewachtwoord is versleuteld in conf-bestand DatabasePasswordNotObfuscated=Databasewachtwoord is NIET versleuteld in conf-bestand +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang index 494554bbf82..bad59082531 100644 --- a/htdocs/langs/nl_NL/banks.lang +++ b/htdocs/langs/nl_NL/banks.lang @@ -115,7 +115,7 @@ TransferTo=T/m TransferFromToDone=Een overboeking van %s naar %s van %s is geregistreerd. CheckTransmitter=Verzender ValidateCheckReceipt=Betaling met cheque goedkeuren? -ConfirmValidateCheckReceipt=Weet u zeker dat u deze cheque ter validatie wilt indienen? Er zijn geen wijzigingen mogelijk, het is klaar. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Deze cheque ontvangst verwijderen? ConfirmDeleteCheckReceipt=Weet u zeker dat u deze betaling via cheque wilt verwijderen? BankChecks=Bankcheque diff --git a/htdocs/langs/nl_NL/boxes.lang b/htdocs/langs/nl_NL/boxes.lang index 47006dfac87..8cb5b51883b 100644 --- a/htdocs/langs/nl_NL/boxes.lang +++ b/htdocs/langs/nl_NL/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Orders van leveranciers: laatste %s gewijzi BoxTitleLastModifiedCustomerBills=Klantfacturen: laatste %s gewijzigd BoxTitleLastModifiedCustomerOrders=Klantorders: laatste %s gewijzigd BoxTitleLastModifiedPropals=Laatste %s aangepaste offertes -BoxTitleLatestModifiedJobPositions=Laatste %s gewijzigde taken -BoxTitleLatestModifiedCandidatures=Laatste %s gewijzigde kandidaturen +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Afnemersfacturen ForCustomersOrders=Klantenbestellingen ForProposals=Zakelijke voorstellen / Offertes diff --git a/htdocs/langs/nl_NL/cashdesk.lang b/htdocs/langs/nl_NL/cashdesk.lang index d7351d8d538..2e94594cf6a 100644 --- a/htdocs/langs/nl_NL/cashdesk.lang +++ b/htdocs/langs/nl_NL/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Laat uitgestelde betaling toe PrintPaymentMethodOnReceipts=Betaalmethode afdrukken op tickets | bonnen WeighingScale=Weegschaal ShowPriceHT = Toon de kolom met de prijs exclusief btw (op het scherm) -ShowPriceHTOnReceipt = Toon de kolom met de prijs exclusief btw (bij ontvangst) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/nl_NL/deliveries.lang b/htdocs/langs/nl_NL/deliveries.lang index 329c2b74ad0..99c87f7f7af 100644 --- a/htdocs/langs/nl_NL/deliveries.lang +++ b/htdocs/langs/nl_NL/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Niet verzendbaar ShowShippableStatus=Toon verzendstatus ShowReceiving=Toon afleverbon NonExistentOrder=Niet bestaande order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index 9ad71f8483c..feeb243f0c1 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Eigenaar van gebruiker is vereist ErrorActionCommBadType=Het geselecteerde gebeurtenistype (id: %n, code: %s) bestaat niet in het woordenboek voor gebeurtenistypes CheckVersionFail=Versiecontrole mislukt ErrorWrongFileName=De naam van het bestand mag niet __SOMETHING__ bevatten +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/nl_NL/eventorganization.lang b/htdocs/langs/nl_NL/eventorganization.lang index c5879ac5147..1b3efd8a048 100644 --- a/htdocs/langs/nl_NL/eventorganization.lang +++ b/htdocs/langs/nl_NL/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = ICS-link downloaden EVENTORGANIZATION_SECUREKEY = Beveiligde sleutel van de openbare registratielink naar een conferentie SERVICE_BOOTH_LOCATION = Service gebruikt voor de factuurregel over een standlocatie SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service die wordt gebruikt voor de factuurrij over een deelnemersabonnement op een conferentie +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Deze conferentie begint op %s en eindigt op %s. ConferenceAttendeeFee = Conferentiebezoekerstarief voor het evenement: '%s' variërend van %s tot %s. BoothLocationFee = Standplaats voor het evenement : '%s' van %s tot %s EventType = Taak type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/nl_NL/exports.lang b/htdocs/langs/nl_NL/exports.lang index 5ea7b305541..65e9a9ed814 100644 --- a/htdocs/langs/nl_NL/exports.lang +++ b/htdocs/langs/nl_NL/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type van de regel (0=product, 1=dienst) FileWithDataToImport=Bestand met te importeren gegevens FileToImport=Te importeren bronbestand FileMustHaveOneOfFollowingFormat=Het te importeren bestand moet een van de volgende indelingen hebben -DownloadEmptyExample=Sjabloonbestand downloaden met veldinhoudsinformatie (* zijn verplichte velden) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Kies de bestandsindeling die u als importbestandsindeling wilt gebruiken door op het pictogram %s te klikken om deze te selecteren ... ChooseFileToImport=Upload het bestand en klik vervolgens op het pictogram %s om het bestand te selecteren als bronimportbestand ... SourceFileFormat=Bestandsformaat van het bronbestand diff --git a/htdocs/langs/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index a14f8833530..f3b7c547189 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migratie van fotopaden voor gebruikers MigrationFieldsSocialNetworks=Migratie van gebruikersvelden sociale netwerken (%s) MigrationReloadModule=Herlaad module %s MigrationResetBlockedLog=Reset BlockedLog module voor v7 algoritme +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Toon niet beschikbare opties HideNotAvailableOptions=Niet-beschikbare opties verbergen ErrorFoundDuringMigration=Er zijn fouten gemeld tijdens het migratieproces, dus de volgende stap is niet beschikbaar. Om fouten te negeren, kunt u hier klikken , maar de toepassing of sommige functies werken mogelijk niet correct totdat de fouten zijn opgelost. diff --git a/htdocs/langs/nl_NL/productbatch.lang b/htdocs/langs/nl_NL/productbatch.lang index 102ba7bda6a..c8930700393 100644 --- a/htdocs/langs/nl_NL/productbatch.lang +++ b/htdocs/langs/nl_NL/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Toon bewegingslogboek voor product/lot paar StockDetailPerBatch=Voorraad details per lot SerialNumberAlreadyInUse=Serienummer %s wordt al gebruikt voor product %s TooManyQtyForSerialNumber=U kunt slechts één product %s hebben voor serienummer %s -BatchLotNumberingModules=Opties voor het automatisch genereren van batchproducten beheerd door partijen -BatchSerialNumberingModules=Opties voor het automatisch genereren van batchproducten beheerd door serienummers ManageLotMask=Aangepast masker -CustomMasks=Voegt een optie toe om masker te definiëren in de productkaart -LotProductTooltip=Voegt een optie toe aan de productkaart om een speciaal batchnummermasker te definiëren -SNProductTooltip=Voegt een optie toe aan de productkaart om een speciaal serienummermasker te definiëren +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Aantal toe te voegen voor elke gescande barcode/lot/serie LifeTime=Levensduur (in dagen) EndOfLife=Einde van het leven diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index 6fa53cf624a..b1fd7b414f1 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Verschillende prijzen voor elke klant PriceCatalogue=Enkele verkoopprijs per product/dienst PricingRule=Regels voor verkoopprijzen AddCustomerPrice=Koppel verkoopprijs aan klant -ForceUpdateChildPriceSoc=Stel dezelfde prijs in dochterondernemingen klant +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Prijshistorie klant MinimumPriceLimit=Minimumprijs kan niet onder %s MinimumRecommendedPrice=Aanbevolen minimumprijs is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Verhogen/verlagen voorraad bij de ouder verandering ComposedProduct=Producten voor kinderen MinSupplierPrice=Minimum aankoopprijs MinCustomerPrice=Minimum verkoopprijs +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamische prijs configuratie DynamicPriceDesc=U kunt wiskundige formules definiëren om klant- of leveranciersprijzen te berekenen. Dergelijke formules kunnen alle wiskundige operatoren, sommige constanten en variabelen gebruiken. U kunt hier de variabelen definiëren die u wilt gebruiken. Als de variabele een automatische update nodig heeft, kunt u de externe URL definiëren zodat Dolibarr de waarde automatisch kan bijwerken. AddVariable=Variabele toevoegen @@ -340,7 +341,7 @@ ProductSheet=Productblad ServiceSheet=Service blad PossibleValues=Mogelijke waarden GoOnMenuToCreateVairants=Ga naar menu %s-%s om attributenvarianten voor te bereiden (zoals kleuren, grootte, ...) -UseProductFournDesc=Voeg een functie toe om de beschrijvingen van producten te definiëren die door de leveranciers zijn gedefinieerd, naast beschrijvingen voor klanten +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers ProductSupplierDescription=Leveranciersbeschrijving voor het product UseProductSupplierPackaging=Gebruik verpakkingen op leveranciersprijzen (herbereken hoeveelheden volgens verpakking ingesteld op leveranciersprijs bij toevoegen / bijwerken van regel in leveranciersdocumenten) PackagingForThisProduct=Verpakking diff --git a/htdocs/langs/nl_NL/salaries.lang b/htdocs/langs/nl_NL/salaries.lang index 830cbac4c19..961622858d5 100644 --- a/htdocs/langs/nl_NL/salaries.lang +++ b/htdocs/langs/nl_NL/salaries.lang @@ -17,8 +17,8 @@ TJM=Gemiddeld dagtarief CurrentSalary=Huidig salaris THMDescription=Deze waarde kan worden gebruikt om de kosten te berekenen van de tijd die wordt besteed aan een project dat door gebruikers is ingevoerd als de module Project wordt gebruikt TJMDescription=Deze waarde is momenteel alleen ter informatie en wordt niet gebruikt voor enige berekening -LastSalaries=Laatste %s salarisbetalingen -AllSalaries=Alle salarisbetalingen +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salaris statistieken -# Export SalariesAndPayments=Salarissen en betalingen +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/nl_NL/ticket.lang b/htdocs/langs/nl_NL/ticket.lang index 255921e1700..182a8f47ae1 100644 --- a/htdocs/langs/nl_NL/ticket.lang +++ b/htdocs/langs/nl_NL/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - resolutie TicketTypeShortCOM=Commerciële vraag TicketTypeShortHELP=Verzoek om functionele hulp -TicketTypeShortISSUE=Probleem of bug +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Verander- of verbeteringsverzoek TicketTypeShortPROJET=Project TicketTypeShortOTHER=Overig @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Toegewezen gebruiker TypeContact_ticket_external_SUPPORTCLI=Klanten contact / opvolging TypeContact_ticket_external_CONTRIBUTOR=Externe bijdrage -OriginEmail=E-mail bron +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Verzend ticketbericht per e-mail # Status Read=Gelezen Assigned=Toegekend InProgress=Reeds bezig -NeedMoreInformation=Wachten op informatie +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Beantwoord Waiting=Wachtend Closed=Gesloten @@ -160,7 +162,7 @@ CreatedBy=Aangemaakt door NewTicket=Nieuw Ticket SubjectAnswerToTicket=Ticket antwoord TicketTypeRequest=Aanvraag type -TicketCategory=Groep +TicketCategory=Ticket categorization SeeTicket=Bekijk ticket TicketMarkedAsRead=Ticket is gemarkeerd als gelezen TicketReadOn=Lees verder @@ -211,6 +213,7 @@ TicketMessageHelp=Alleen deze tekst zal worden bewaard in de berichtenlijst op d TicketMessageSubstitutionReplacedByGenericValues=Vervangingsvariabelen worden vervangen door generieke waarden. TimeElapsedSince=Verstreken tijd sinds TicketTimeToRead=Tijd verstreken voordat gelezen +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contact ticket TicketDocumentsLinked=Documenten gekoppeld aan ticket ConfirmReOpenTicket=Ticket heropenen? diff --git a/htdocs/langs/nl_NL/users.lang b/htdocs/langs/nl_NL/users.lang index 9329e0735fb..98bfc63d5b7 100644 --- a/htdocs/langs/nl_NL/users.lang +++ b/htdocs/langs/nl_NL/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Te creëren gebruikersnaam NameToCreate=Naam van derden maken YourRole=Uw rollen YourQuotaOfUsersIsReached=Uw quotum van actieve gebruikers is bereikt! -NbOfUsers=Aantal gebruikers -NbOfPermissions=Aantal rechten +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Alleen een superadmin kan downgrade een superadmin HierarchicalResponsible=Opzichter HierarchicView=Hiërarchisch schema diff --git a/htdocs/langs/nl_NL/website.lang b/htdocs/langs/nl_NL/website.lang index 226ccb1818b..bd195b5960d 100644 --- a/htdocs/langs/nl_NL/website.lang +++ b/htdocs/langs/nl_NL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Website toevoegen Webpage=Webpagina/container AddPage=Voeg pagina/container toe PageContainer=Pagina -PreviewOfSiteNotYetAvailable=Voorbeeld van uw website %s is nog niet beschikbaar. U moet eerst 'Een volledige websitesjabloon importeren' of alleen 'Een pagina / container toevoegen'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Gevraagde pagina met id %s heeft nog geen inhoud of cachebestand .tpl.php is verwijderd. Bewerk de inhoud van de pagina om dit op te lossen. SiteDeleted=Website '%s' verwijderd PageContent=Pagina/Container diff --git a/htdocs/langs/pl_PL/accountancy.lang b/htdocs/langs/pl_PL/accountancy.lang index 3e69399d034..cf17a9fff7b 100644 --- a/htdocs/langs/pl_PL/accountancy.lang +++ b/htdocs/langs/pl_PL/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Kraje spoza UE CountriesInEECExceptMe=Kraje UE oprócz %s CountriesExceptMe=Wszystkie kraje oprócz %s AccountantFiles=Eksportuj dokumenty źródłowe -ExportAccountingSourceDocHelp=Za pomocą tego narzędzia możesz wyeksportować zdarzenia źródłowe (listy i pliki PDF), które zostały użyte do wygenerowania Twojej księgowości. Aby wyeksportować swoje dzienniki, użyj pozycji menu %s - %s. +ExportAccountingSourceDocHelp=Za pomocą tego narzędzia możesz wyeksportować zdarzenia źródłowe (listę w formacie CSV i PDF), które zostały użyte do wygenerowania Twojej księgowości. +ExportAccountingSourceDocHelp2=Aby wyeksportować swoje dzienniki, użyj pozycji menu %s - %s. VueByAccountAccounting=Wyświetl według konta księgowego VueBySubAccountAccounting=Wyświetl według subkonta księgowego @@ -328,9 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Wyłącz powiązanie i przeniesienie w k ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Wyłącz powiązanie i przeniesienie w księgowości na zestawieniach wydatków (zestawienia wydatków nie będą brane pod uwagę w księgowości) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) -ConfirmExportFile=Confirmation of the generation of the accounting export file ? +NotifiedExportDate=Zgłoszona data eksportu (modyfikacja wpisów nie będzie możliwa) +NotifiedValidationDate=Walidacja wpisów (modyfikacja lub usunięcie wpisów nie będzie możliwe) +ConfirmExportFile=Potwierdzenie wygenerowania pliku eksportu księgowości ? ExportDraftJournal=Export dziennika projektu Modelcsv=Model eksportu Selectmodelcsv=Wybierz model eksportu diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index 21261a39914..bc85e18b2b9 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -53,6 +53,7 @@ InternalUser=Wewnętrzny użytkownik ExternalUser=Zewnętrzny użytkownik InternalUsers=Wewnętrzni użytkownicy ExternalUsers=Zewnetrzni użytkownicy +UserInterface=User interface GUISetup=Wyświetlanie SetupArea=Konfiguracja UploadNewTemplate=Załaduj nowy szablon(y) @@ -221,7 +222,7 @@ NotCompatible=ten moduł nie jest kompatybilny z twoją wersją Dolibarr %s (Min CompatibleAfterUpdate=Ten moduł wymaga aktualizacji Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Zobacz w miejscu zakupów SeeSetupOfModule=Zobacz konfigurację modułu %s -SetOptionTo=Set option %s to %s +SetOptionTo=Ustaw opcję %s na %s Updated=Zaktualizowane AchatTelechargement=Kup / Pobierz GoModuleSetupArea=Aby wdrożyć/zainstalować nowy moduł, przejdź do obszaru konfiguracji modułów: %s. @@ -562,7 +563,7 @@ Module53Desc=Zarządzanie usługami Module54Name=Kontrakty/Subskrypcje Module54Desc=Zarządzanie umowami (usługi lub cykliczne subskrypcje) Module55Name=Kody kreskowe -Module55Desc=Barcode or QR code management +Module55Desc=Zarządzanie kodami kreskowymi lub kodami QR Module56Name=Płatność przelewem Module56Desc=Zarządzanie płatnościami dostawców za pomocą poleceń przelewu. Obejmuje generowanie pliku SEPA dla krajów europejskich. Module57Name=Płatności poleceniem zapłaty @@ -849,10 +850,10 @@ Permission402=Tworzenie / modyfikacja zniżek Permission403=Walidacja zniżek Permission404=Usuwanie zniżek Permission430=Użyj paska debugowania -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody +Permission511=Przeczytaj pensje i płatności (swoje i podwładni) +Permission512=Twórz/modyfikuj pensje i płatności +Permission514=Usuń pensje i płatności +Permission517=Przeczytaj wszystkim pensje i płatności Permission519=Wynagrodzenia eksport Permission520=Czytaj Kredyty Permission522=Tworzenie / modyfikacja kredytów @@ -1191,7 +1192,7 @@ SetupDescription4= %s -> %s

To oprogramowanie jest SetupDescription5=Pozycje w menu Inne Ustawienia zarządzają parametrami opcjonalnymi. AuditedSecurityEvents=Zdarzenia dotyczące bezpieczeństwa poddawane inspekcji NoSecurityEventsAreAduited=Żadne zdarzenia dotyczące bezpieczeństwa nie są poddawane inspekcji. Możesz je włączyć z menu %s -Audit=Security events +Audit=Wydarzenia związane z bezpieczeństwem InfoDolibarr=O Dolibarr InfoBrowser=O przeglądarce InfoOS=O systemie @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=funkcji SSL nie są dostępne w PHP DownloadMoreSkins=Więcej skórek do pobrania SimpleNumRefModelDesc=Zwraca numer referencyjny w formacie %syymm-nnnn, gdzie rr to rok, mm to miesiąc, a nnnn to sekwencyjna liczba automatycznie zwiększająca się bez resetowania SimpleNumRefNoDateModelDesc=Zwraca numer referencyjny w formacie %s-nnnn, gdzie nnnn jest sekwencyjną liczbą, automatycznie zwiększającą się bez resetowania -ShowProfIdInAddress=Pokaż identyfikator zawodowy z adresami -ShowVATIntaInAddress=Ukryj wewnątrzwspólnotowy numer VAT wraz z adresami +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Częściowe tłumaczenie MAIN_DISABLE_METEO=Wyłącz widok meteorologiczny MeteoStdMod=Tryb standardowy @@ -1778,7 +1779,7 @@ ClickToDialSetup=Kliknij, aby Dial konfiguracji modułu ClickToDialUrlDesc=Adres URL wywoływany po wykonaniu kliknięcia na picto telefonu. W adresie URL, można użyć znaczników
__PHONETO__ który zostanie zastąpiony numerem telefonu osoby zadzwonić
__PHONEFROM__ który zostanie zastąpiony numerem telefonu dzwoniąc osobę (swoje)
__LOGIN__ które zostaną zastąpione clicktodial login (zdefiniowany na karcie użytkownika)
__PASS__ , który zostanie zastąpiony hasłem clicktodial (zdefiniowanym na karcie użytkownika). ClickToDialDesc=Ten moduł zamienia numery telefonów, gdy używasz komputera stacjonarnego, w klikalne linki. Kliknięcie wywoła numer. Można to wykorzystać do nawiązania połączenia telefonicznego podczas korzystania z telefonu programowego na pulpicie lub podczas korzystania na przykład z systemu CTI opartego na protokole SIP. Uwaga: podczas korzystania ze smartfona numery telefonów są zawsze klikalne. ClickToDialUseTelLink=Używaj tylko łącza "tel:" na numery telefonów -ClickToDialUseTelLinkDesc=Użyj tej metody, jeśli Twoi użytkownicy mają telefon programowy lub interfejs oprogramowania zainstalowany na tym samym komputerze co przeglądarka i wywoływany po kliknięciu łącza w przeglądarce zaczynającego się od „tel:”. Jeśli potrzebujesz pełnego rozwiązania serwerowego (nie ma potrzeby lokalnej instalacji oprogramowania), musisz ustawić to na „Nie” i wypełnić następne pole. +ClickToDialUseTelLinkDesc=Użyj tej metody, jeśli Twoi użytkownicy mają telefon programowy lub interfejs oprogramowania zainstalowany na tym samym komputerze co przeglądarka i wywoływany po kliknięciu łącza zaczynającego się od „tel:” w przeglądarce. Jeśli potrzebujesz linku zaczynającego się od "sip:" lub pełnego rozwiązania serwerowego (nie ma potrzeby instalowania lokalnego oprogramowania), musisz ustawić to na "Nie" i wypełnić następne pole. ##### Point Of Sale (CashDesk) ##### CashDesk=Punkt sprzedaży CashDeskSetup=Konfiguracja modułu Point of Sales @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Z wyjątkiem sytuacji, gdy musisz u PHPFunctionsRequiredForCLI=Do celów powłoki (takich jak zaplanowane tworzenie kopii zapasowych zadań lub uruchamianie programu anitivurs), musisz zachować funkcje PHP NoWritableFilesFoundIntoRootDir=W katalogu głównym nie znaleziono zapisywalnych plików ani katalogów dla powszechnych programów (Dobrze) RecommendedValueIs=Zalecane: %s -NotRecommended=Niezalecane +Recommended=Zalecana +NotRecommended=Not recommended ARestrictedPath=Ograniczona ścieżka CheckForModuleUpdate=Sprawdź aktualizacje modułów zewnętrznych CheckForModuleUpdateHelp=Ta akcja połączy się z edytorami zewnętrznych modułów, by sprawdzić dostępność ich nowych wersji. @@ -2142,5 +2144,7 @@ NoExternalModuleWithUpdate=Nie znaleziono aktualizacji dla modułów zewnętrzny SwaggerDescriptionFile=Plik opisu Swagger API (na przykład, do użytku z redoc) YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Włączono przestarzały interfejs API WS. Zamiast tego powinieneś użyć REST API. RandomlySelectedIfSeveral=Wybierane losowo, jeśli dostępnych jest kilka zdjęć -DatabasePasswordObfuscated=Database password is obfuscated in conf file -DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +DatabasePasswordObfuscated=Hasło do bazy danych jest zaciemnione w pliku konfiguracyjnym +DatabasePasswordNotObfuscated=Hasło do bazy danych NIE jest zaciemnione w pliku konfiguracyjnym +APIsAreNotEnabled=Moduły API nie są włączone +YouShouldSetThisToOff=Powinieneś ustawić to na 0 lub wyłączone diff --git a/htdocs/langs/pl_PL/banks.lang b/htdocs/langs/pl_PL/banks.lang index ce486c13d06..49e819d9a6f 100644 --- a/htdocs/langs/pl_PL/banks.lang +++ b/htdocs/langs/pl_PL/banks.lang @@ -115,7 +115,7 @@ TransferTo=Do TransferFromToDone=Transfer z %s do %s %s %s został zapisany. CheckTransmitter=Nadawca ValidateCheckReceipt=Potwierdzić potwierdzenie tego czeku? -ConfirmValidateCheckReceipt=Czy na pewno chcesz przesłać to pokwitowanie czeku do weryfikacji? Jeśli to zrobisz, żadne zmiany nie będą możliwe. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Usunąć to pokwitowanie czeku? ConfirmDeleteCheckReceipt=Czy na pewno chcesz usunąć to pokwitowanie czeku? BankChecks=Czeki bankowe diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index e3def345984..c7915bc6a13 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -259,7 +259,7 @@ DateMaxPayment=Termin płatności: DateInvoice=Daty wystawienia faktury DatePointOfTax=Punkt podatkowy NoInvoice=Nr faktury -NoOpenInvoice=No open invoice +NoOpenInvoice=Brak otwartej faktury ClassifyBill=Klasyfikacja faktury SupplierBillsToPay=Niezapłacone faktury od dostawcy CustomerBillsUnpaid=Niezapłacone faktury klienta diff --git a/htdocs/langs/pl_PL/boxes.lang b/htdocs/langs/pl_PL/boxes.lang index c262324e417..7c69c75fa06 100644 --- a/htdocs/langs/pl_PL/boxes.lang +++ b/htdocs/langs/pl_PL/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Zamówienia dostawców: ostatnio zmodyfikow BoxTitleLastModifiedCustomerBills=Faktury klienta: ostatnio zmodyfikowano %s BoxTitleLastModifiedCustomerOrders=Zamówienia sprzedaży: ostatnio zmodyfikowano %s BoxTitleLastModifiedPropals=Ostatnie %s zmodyfikowane oferty -BoxTitleLatestModifiedJobPositions=Najnowsze zmodyfikowane oferty pracy %s -BoxTitleLatestModifiedCandidatures=Najnowsze zmodyfikowane kandydatury %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Faktury Klientów ForCustomersOrders=Zamówienia klientów ForProposals=Oferty diff --git a/htdocs/langs/pl_PL/cashdesk.lang b/htdocs/langs/pl_PL/cashdesk.lang index b5b04e9fb5b..a4f42429e38 100644 --- a/htdocs/langs/pl_PL/cashdesk.lang +++ b/htdocs/langs/pl_PL/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Zezwalaj na opóźnioną płatność PrintPaymentMethodOnReceipts=Wydrukuj metodę płatności na biletach | paragonach WeighingScale=Skalę ważenia ShowPriceHT = Wyświetl kolumnę z ceną bez podatku (na ekranie) -ShowPriceHTOnReceipt = Wyświetl kolumnę z ceną bez podatku (na paragonie) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/pl_PL/deliveries.lang b/htdocs/langs/pl_PL/deliveries.lang index 336a696e731..a4bd16123c3 100644 --- a/htdocs/langs/pl_PL/deliveries.lang +++ b/htdocs/langs/pl_PL/deliveries.lang @@ -2,7 +2,7 @@ Delivery=Dostawa DeliveryRef=Numer referencyjny dostawy DeliveryCard=Karta przyjęcia -DeliveryOrder=Delivery receipt +DeliveryOrder=Kwit dostawy DeliveryDate=Data dostawy CreateDeliveryOrder=Generuj przyjęcie dostawy DeliveryStateSaved=Stan dostawy zapisany @@ -18,14 +18,16 @@ StatusDeliveryCanceled=Anulowano StatusDeliveryDraft=Projekt StatusDeliveryValidated=Przyjęto # merou PDF model -NameAndSignature=Name and Signature: +NameAndSignature=Imię i nazwisko oraz podpis: ToAndDate=To___________________________________ na ____ / _____ / __________ GoodStatusDeclaration=Otrzymano towary w dobrym stanie, -Deliverer=Deliverer: +Deliverer=Dostawca: Sender=Nadawca Recipient=Odbiorca ErrorStockIsNotEnough=Brak wystarczającego zapasu w magazynie Shippable=Możliwa wysyłka NonShippable=Nie do wysyłki +ShowShippableStatus=Pokaż status do wysyłki ShowReceiving=Pokaż przyjęte dostawy -NonExistentOrder=Nonexistent order +NonExistentOrder=Nieistniejący porządek +StockQuantitiesAlreadyAllocatedOnPreviousLines = Ilości magazynowe już przydzielone na poprzednich liniach diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index c6ff3448b97..4c32a1fe15e 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -11,7 +11,7 @@ ErrorBadValueForParamNotAString=Zła wartość parametru. Zazwyczaj dołącza si ErrorRefAlreadyExists=Odniesienie %s już istnieje. ErrorLoginAlreadyExists=Zaloguj %s już istnieje. ErrorGroupAlreadyExists=Grupa %s już istnieje. -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=E-mail %s już istnieje. ErrorRecordNotFound=Rekord nie został znaleziony. ErrorFailToCopyFile=Nie udało się skopiować pliku '%s' do '%s'. ErrorFailToCopyDir=Nie udało się skopiować katalogu „ %s ” do „ %s ”. @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Właściciel użytkownika jest wyma ErrorActionCommBadType=Wybrany typ zdarzenia (id: %n, kod: %s) nie istnieje w słowniku typów zdarzeń CheckVersionFail=Sprawdzanie wersji nie powiodło się ErrorWrongFileName=Nazwa pliku nie może zawierać __COŚ__ +ErrorNotInDictionaryPaymentConditions=Nie w Słowniku terminów płatności, zmień. diff --git a/htdocs/langs/pl_PL/eventorganization.lang b/htdocs/langs/pl_PL/eventorganization.lang index ec130e69dfa..e79061069d1 100644 --- a/htdocs/langs/pl_PL/eventorganization.lang +++ b/htdocs/langs/pl_PL/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Pobierz link do ICS EVENTORGANIZATION_SECUREKEY = Klucz bezpieczeństwa dla publicznego łącza do rejestracji na konferencję SERVICE_BOOTH_LOCATION = Usługa używana do wiersza faktury o lokalizacji stoiska SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Usługa używana w wierszu faktury za subskrypcję uczestnika na konferencję +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Ta konferencja zaczyna się %s i kończy się %s. ConferenceAttendeeFee = Opłata uczestnika konferencji za wydarzenie: '%s' występujące od %s do %s. BoothLocationFee = Lokalizacja stoiska dla wydarzenia: „%s” występujące od %s do %s EventType = Typ wydarzenia +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/pl_PL/exports.lang b/htdocs/langs/pl_PL/exports.lang index 4a291b908d4..10f8a70cba4 100644 --- a/htdocs/langs/pl_PL/exports.lang +++ b/htdocs/langs/pl_PL/exports.lang @@ -1,61 +1,62 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Eksporty ImportArea=Import -NewExport=New Export -NewImport=New Import +NewExport=Nowy eksport +NewImport=Nowy import ExportableDatas=Eksportowalny zbiór danych ImportableDatas=Importowalny zbiór danych SelectExportDataSet=Wybierz zbiór danych, który chcesz wyeksportować... SelectImportDataSet=Wybierz zbiór danych, który chcesz zaimportować... -SelectExportFields=Choose the fields you want to export, or select a predefined export profile -SelectImportFields=Choose the source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: +SelectExportFields=Wybierz pola, które chcesz wyeksportować, lub wybierz predefiniowany profil eksportu +SelectImportFields=Wybierz pola pliku źródłowego, które chcesz zaimportować, i ich pole docelowe w bazie danych, przesuwając je w górę iw dół za pomocą kotwicy %s lub wybierz wstępnie zdefiniowany profil importu: NotImportedFields=Obszary plik przywożonych źródła nie -SaveExportModel=Save your selections as an export profile/template (for reuse). -SaveImportModel=Save this import profile (for reuse) ... +SaveExportModel=Zapisz swoje wybory jako profil / szablon eksportu (do ponownego wykorzystania). +SaveImportModel=Zapisz ten profil importu (do ponownego wykorzystania) ... ExportModelName=Nazwa profilu eksportowego -ExportModelSaved=Export profile saved as %s. +ExportModelSaved=Profil eksportu zapisany jako %s . ExportableFields=Wywóz pola ExportedFields=Eksportowane pola ImportModelName=Importuj nazwę profilu -ImportModelSaved=Import profile saved as %s. +ImportModelSaved=Importuj profil zapisany jako %s . DatasetToExport=Zbiór danych do eksportu DatasetToImport=Dataset importować ChooseFieldsOrdersAndTitle=Wybierz kolejność pól... FieldsTitle=Obszary tytuł FieldTitle=pole tytuł -NowClickToGenerateToBuildExportFile=Now, select the file format in the combo box and click on "Generate" to build the export file... -AvailableFormats=Available Formats +NowClickToGenerateToBuildExportFile=Teraz wybierz format pliku w polu kombi i kliknij „Generuj”, aby zbudować plik eksportu ... +AvailableFormats=Dostępne formaty LibraryShort=Biblioteka -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator +ExportCsvSeparator=Separator znaków CSV +ImportCsvSeparator=Separator znaków CSV Step=Krok -FormatedImport=Import Assistant -FormatedImportDesc1=This module allows you to update existing data or add new objects into the database from a file without technical knowledge, using an assistant. -FormatedImportDesc2=First step is to choose the kind of data you want to import, then the format of the source file, then the fields you want to import. -FormatedExport=Export Assistant -FormatedExportDesc1=These tools allow the export of personalized data using an assistant, to help you in the process without requiring technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then which fields you want to export, and in which order. -FormatedExportDesc3=When data to export are selected, you can choose the format of the output file. +FormatedImport=Asystent importu +FormatedImportDesc1=Moduł ten umożliwia aktualizację istniejących danych lub dodawanie nowych obiektów do bazy danych z pliku bez wiedzy technicznej, przy pomocy asystenta. +FormatedImportDesc2=Pierwszym krokiem jest wybór rodzaju danych, które chcesz zaimportować, następnie format pliku źródłowego, a następnie pola, które chcesz zaimportować. +FormatedExport=Asystent Eksportu +FormatedExportDesc1=Narzędzia te pozwalają na eksport spersonalizowanych danych za pomocą asystenta, aby pomóc Ci w procesie bez konieczności posiadania wiedzy technicznej. +FormatedExportDesc2=Pierwszym krokiem jest wybranie predefiniowanego zbioru danych, a następnie pól, które chcesz wyeksportować, oraz w jakiej kolejności. +FormatedExportDesc3=Po wybraniu danych do wyeksportowania można wybrać format pliku wyjściowego. Sheet=Arkusz NoImportableData=Nr przywozowe danych (bez modułu z definicji pozwalają na import danych) FileSuccessfullyBuilt=Wygenerowano plik -SQLUsedForExport=SQL Request used to extract data +SQLUsedForExport=Żądanie SQL używane do wyodrębniania danych LineId=Identyfikator linii LineLabel=Etykieta linii LineDescription=Opis pozycji LineUnitPrice=Cena jednostkowa pozycji LineVATRate=Stawka VAT pozycji LineQty=Ilość dla pozycji -LineTotalHT=Amount excl. tax for line +LineTotalHT=Kwota bez podatek za linię LineTotalTTC=Kwota z podatkiem dla pozycji LineTotalVAT=Kwota podatku VAT dla pozycji TypeOfLineServiceOrProduct=Rodzaj pozycji (0=produkt, 1=usługa) FileWithDataToImport=Plik z danymi do importu FileToImport=Plik źródłowy do zaimportowania -FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) -ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... +FileMustHaveOneOfFollowingFormat=Plik do zaimportowania musi mieć jeden z następujących formatów +DownloadEmptyExample=Pobierz plik szablonu z informacjami o zawartości pola +StarAreMandatory=* są polami obowiązkowymi +ChooseFormatOfFileToImport=Wybierz format pliku, który ma być używany jako format pliku importu, klikając ikonę %s, aby go wybrać ... +ChooseFileToImport=Prześlij plik, a następnie kliknij ikonę %s, aby wybrać plik jako źródłowy plik importu ... SourceFileFormat=Format pliku źródłowego FieldsInSourceFile=Pola w pliku źródłowym FieldsInTargetDatabase=Pola docelowe w bazie danych Dolibarr (wytłuszczenie = obowiązkowe) @@ -70,57 +71,57 @@ FieldsTarget=Pola docelowe FieldTarget=Pole docelowe FieldSource=Pole źródłowe NbOfSourceLines=Liczba linii w pliku źródłowym -NowClickToTestTheImport=Check that the file format (field and string delimiters) of your file matches the options shown and that you have omitted the header line, or these will be flagged as errors in the following simulation.
Click on the "%s" button to run a check of the file structure/contents and simulate the import process.
No data will be changed in your database. -RunSimulateImportFile=Run Import Simulation +NowClickToTestTheImport=Sprawdź, czy format pliku (ograniczniki pól i ciągów znaków) w Twoim pliku jest zgodny z przedstawionymi opcjami i czy pominięto wiersz nagłówka, w przeciwnym razie zostaną one oflagowane jako błędy w następnej symulacji.
Kliknij przycisk „ %s ”, aby sprawdzić strukturę / zawartość pliku i zasymulować proces importu.
Żadne dane w Twojej bazie danych nie zostaną zmienione . +RunSimulateImportFile=Uruchom symulację importu FieldNeedSource=To pole wymaga danych z pliku źródłowego SomeMandatoryFieldHaveNoSource=Niektóre z pól obowiązkowych nie ma źródła danych z pliku InformationOnSourceFile=Informacje o pliku źródłowego InformationOnTargetTables=Informacji na temat docelowego pola SelectAtLeastOneField=Switch co najmniej jednego źródła pola w kolumnie pól do wywozu SelectFormat=Wybierz ten format pliku importu -RunImportFile=Import Data -NowClickToRunTheImport=Check the results of the import simulation. Correct any errors and re-test.
When the simulation reports no errors you may proceed to import the data into the database. -DataLoadedWithId=The imported data will have an additional field in each database table with this import id: %s, to allow it to be searchable in the case of investigating a problem related to this import. -ErrorMissingMandatoryValue=Mandatory data is empty in the source file for field %s. -TooMuchErrors=There are still %s other source lines with errors but output has been limited. -TooMuchWarnings=There are still %s other source lines with warnings but output has been limited. +RunImportFile=Zaimportować dane +NowClickToRunTheImport=Sprawdź wyniki symulacji importu. Popraw wszystkie błędy i przeprowadź ponownie test.
Gdy symulacja nie wykaże żadnych błędów, możesz przystąpić do importu danych do bazy danych. +DataLoadedWithId=Zaimportowane dane będą miały dodatkowe pole w każdej tabeli bazy danych o tym identyfikatorze importu: %s , aby umożliwić ich przeszukiwanie w przypadku badania problemu związanego z tym importem. +ErrorMissingMandatoryValue=Obowiązkowe dane są puste w pliku źródłowym dla pola %s . +TooMuchErrors=Nadal istnieją %s innych wierszy źródłowych z błędami, ale dane wyjściowe są ograniczone. +TooMuchWarnings=Nadal istnieją %s inne wiersze źródłowe z ostrzeżeniami, ale dane wyjściowe są ograniczone. EmptyLine=Pusty wiersz (zostanie odrzucona) -CorrectErrorBeforeRunningImport=You must correct all errors before running the definitive import. +CorrectErrorBeforeRunningImport=Musisz poprawić wszystkie błędy przed uruchomieniem ostatecznego importu. FileWasImported=Plik został przywieziony z %s numerycznych. -YouCanUseImportIdToFindRecord=You can find all the imported records in your database by filtering on field import_key='%s'. +YouCanUseImportIdToFindRecord=Możesz znaleźć wszystkie zaimportowane rekordy w swojej bazie danych, filtrując według pola import_key = '%s' . NbOfLinesOK=Liczba linii bez błędów i żadnych ostrzeżeń: %s. NbOfLinesImported=Liczba linii zaimportowany: %s. DataComeFromNoWhere=Wartości, aby dodać pochodzi z nigdzie w pliku źródłowym. DataComeFromFileFieldNb=Wartość do dodania pochodzi z pola numer %s w pliku źródłowym. -DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find the id of the parent object to use (so the object %s that has the ref. from source file must exist in the database). -DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find the id of the parent object to use (so the code from source file must exist in the dictionary %s). Note that if you know the id, you can also use it in the source file instead of the code. Import should work in both cases. +DataComeFromIdFoundFromRef=Wartość pochodząca z pola o numerze %s pliku źródłowego zostanie użyta do znalezienia identyfikatora obiektu nadrzędnego do użycia (więc obiekt %s a09a4b739f17f8 musi istnieć w pliku źródłowym. +DataComeFromIdFoundFromCodeId=Kod pochodzący z pola o numerze %s pliku źródłowego zostanie użyty do znalezienia identyfikatora obiektu nadrzędnego do użycia (więc kod z pliku źródłowego musi istnieć w słowniku %s39f17f). Zauważ, że jeśli znasz identyfikator, możesz go również użyć w pliku źródłowym zamiast w kodzie. Import powinien działać w obu przypadkach. DataIsInsertedInto=Dane pochodzące z pliku źródłowego zostaną wstawione w następujące pola: -DataIDSourceIsInsertedInto=The id of parent object was found using the data in the source file, will be inserted into the following field: +DataIDSourceIsInsertedInto=Identyfikator obiektu nadrzędnego został znaleziony przy użyciu danych w pliku źródłowym, zostanie wstawiony w następujące pole: DataCodeIDSourceIsInsertedInto=Id linii macierzystej znaleźć z kodem, zostaną włączone do następnego pola: SourceRequired=Wartość danych jest obowiązkowe SourceExample=Przykład możliwych wartości danych ExampleAnyRefFoundIntoElement=Wszelkie ref dla %s elementów ExampleAnyCodeOrIdFoundIntoDictionary=Każdy kod (lub identyfikator) znajduje się w słowniku% s -CSVFormatDesc=Comma Separated Value file format (.csv).
This is a text file format where fields are separated by a separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. -Excel95FormatDesc=Excel file format (.xls)
This is the native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
This is the native Excel 2007 format (SpreadsheetML). +CSVFormatDesc= Wartość oddzielona przecinkami Format pliku (.csv).
Jest to format pliku tekstowego, w którym pola są oddzielone separatorem [%s]. Jeśli separator znajduje się w treści pola, pole jest zaokrąglane okrągłym znakiem [%s]. Znak ucieczki do rundy ucieczki to [%s]. +Excel95FormatDesc= Format pliku programu Excel (.xls)
Jest to natywny format programu Excel 95 (BIFF5). +Excel2007FormatDesc= Format pliku programu Excel (.xlsx)
Jest to natywny format programu Excel 2007 (SpreadsheetML). TsvFormatDesc=Tab separacji format Wartość (.tsv)
Jest to format pliku tekstowego, gdzie pola są oddzielone tabulator [TAB]. -ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate record (with this field added, all lines will own their own id and will differ). -CsvOptions=CSV format options -Separator=Field Separator -Enclosure=String Delimiter +ExportFieldAutomaticallyAdded=Pole %s zostało dodane automatycznie. Pozwoli to uniknąć sytuacji, w których podobne wiersze będą traktowane jako zduplikowany rekord (po dodaniu tego pola wszystkie wiersze będą miały własny identyfikator i będą się różnić). +CsvOptions=Opcje formatu CSV +Separator=Separator pól +Enclosure=Separator ciągów SpecialCode=Specjalny kod ExportStringFilter=%% Umożliwia zastąpienie jednego lub więcej znaków w tekście -ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filters by one year/month/day
YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filters over a range of years/months/days
> YYYY, > YYYYMM, > YYYYMMDD: filters on all following years/months/days
< YYYY, < YYYYMM, < YYYYMMDD: filters on all previous years/months/days -ExportNumericFilter=NNNNN filters by one value
NNNNN+NNNNN filters over a range of values
< NNNNN filters by lower values
> NNNNN filters by higher values +ExportDateFilter=RRRR, RRRRMM, RRRRMMDD: filtry według jednego roku / miesiąca / dnia
RRRR + RRRR, RRRRMM + RRRRMM, RRRRMMDD + RRRRMMDD: filtry w zakresie lat / miesięcy / dni / dni: RRRR / m / dni kolejne lata / miesiące / dni
NNNNN + NNNNN filtruje w zakresie wartości

> NNNNN filtruje według wyższych wartości ImportFromLine=Import rozpocznij od linii numer EndAtLineNb=Zakończ na linii numer -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). -SetThisValueTo2ToExcludeFirstLine=For example, set this value to 3 to exclude the 2 first lines.
If the header lines are NOT omitted, this will result in multiple errors in the Import Simulation. -KeepEmptyToGoToEndOfFile=Keep this field empty to process all lines to the end of the file. -SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import -UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) -NoUpdateAttempt=No update attempt was performed, only insert +ImportFromToLine=Zakres graniczny (od - do). Na przykład. pominąć linię (y) nagłówka. +SetThisValueTo2ToExcludeFirstLine=Na przykład ustaw tę wartość na 3, aby wykluczyć 2 pierwsze wiersze.
Jeśli wiersze nagłówka NIE zostaną pominięte, spowoduje to wiele błędów w symulacji importu. +KeepEmptyToGoToEndOfFile=Pozostaw to pole puste, aby przetworzyć wszystkie wiersze do końca pliku. +SelectPrimaryColumnsForUpdateAttempt=Wybierz kolumny, które będą używane jako klucz podstawowy do importu UPDATE +UpdateNotYetSupportedForThisImport=Aktualizacja nie jest obsługiwana dla tego typu importu (tylko wstaw) +NoUpdateAttempt=Nie podjęto próby aktualizacji, tylko włóż ImportDataset_user_1=Użytkownicy (pracownicy lub nie) i ustawienia ComputedField=Obliczone pole ## filters @@ -129,8 +130,8 @@ FilteredFields=Filtrowane pola FilteredFieldsValues=Wartość dla filtra FormatControlRule=Zasada kontroli formatu ## imports updates -KeysToUseForUpdates=Key (column) to use for updating existing data +KeysToUseForUpdates=Klucz (kolumna) do użycia dla aktualizacji istniejących danych NbInsert=ilość wprowadzonych linii: %s NbUpdate=Ilość zaktualizowanych linii: %s -MultipleRecordFoundWithTheseFilters=Multiple records have been found with these filters: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number +MultipleRecordFoundWithTheseFilters=Znaleziono wiele rekordów z tymi filtrami: %s +StocksWithBatch=Stany i lokalizacja (magazyn) produktów z numerem partii / serii diff --git a/htdocs/langs/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 985c7543b7e..9be56a92a49 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -2,39 +2,39 @@ InstallEasy=Postępuj według instrukcji krok po kroku. MiscellaneousChecks=Sprawdzenie wymagań ConfFileExists=Plik konfiguracyjny %s istnieje. -ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created! +ConfFileDoesNotExistsAndCouldNotBeCreated=Plik konfiguracyjny %s nie istnieje i nie można go utworzyć! ConfFileCouldBeCreated=Plik konfiguracyjny %s został lub mógł zostać utworzony. -ConfFileIsNotWritable=Configuration file %s is not writable. Check permissions. For first install, your web server must be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). +ConfFileIsNotWritable=Plik konfiguracyjny %s nie jest zapisywalny. Sprawdź uprawnienia. Podczas pierwszej instalacji serwer WWW musi mieć możliwość zapisu do tego pliku podczas procesu konfiguracji (na przykład „chmod 666” w systemie operacyjnym Unix). ConfFileIsWritable=Plik konfiguracyjny %s ma uprawnienia do zapisu. -ConfFileMustBeAFileNotADir=Configuration file %s must be a file, not a directory. -ConfFileReload=Reloading parameters from configuration file. +ConfFileMustBeAFileNotADir=Plik konfiguracyjny %s musi być plikiem, a nie katalogiem. +ConfFileReload=Ponowne ładowanie parametrów z pliku konfiguracyjnego. PHPSupportPOSTGETOk=PHP obsługuje zmienne POST i GET. -PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check the parameter variables_order in php.ini. +PHPSupportPOSTGETKo=Możliwe, że Twoja konfiguracja PHP nie obsługuje zmiennych POST i / lub GET. Sprawdź parametr variable_order w php.ini. PHPSupportSessions=PHP obsługuje sesje. -PHPSupport=This PHP supports %s functions. +PHPSupport=To PHP obsługuje funkcje %s. PHPMemoryOK=Maksymalna ilość pamięci sesji PHP ustawiona jest na %s. Powinno wystarczyć. -PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This is too low. Change your php.ini to set memory_limit parameter to at least %s bytes. -Recheck=Click here for a more detailed test -ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to allow Dolibarr to work. Check your PHP setup and permissions of the sessions directory. -ErrorPHPDoesNotSupportGD=Your PHP installation does not support GD graphical functions. No graphs will be available. +PHPMemoryTooLow=Twoja maksymalna pamięć sesji PHP jest ustawiona na %s bajtów. To jest za niskie. Zmień parametr php.ini , aby ustawić memory_limit na co najmniej %s a09a4b739 bajtów. +Recheck=Kliknij tutaj, aby uzyskać bardziej szczegółowy test +ErrorPHPDoesNotSupportSessions=Twoja instalacja PHP nie obsługuje sesji. Ta funkcja jest wymagana, aby umożliwić działanie Dolibarr. Sprawdź ustawienia PHP i uprawnienia do katalogu sesji. +ErrorPHPDoesNotSupportGD=Twoja instalacja PHP nie obsługuje funkcji graficznych GD. Żadne wykresy nie będą dostępne. ErrorPHPDoesNotSupportCurl=Twoja instalacja PHP nie wspiera Curl. -ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. -ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr cannot work correctly. Resolve this before installing Dolibarr. -ErrorPHPDoesNotSupportIntl=Your PHP installation does not support Intl functions. -ErrorPHPDoesNotSupportxDebug=Your PHP installation does not support extend debug functions. -ErrorPHPDoesNotSupport=Your PHP installation does not support %s functions. +ErrorPHPDoesNotSupportCalendar=Twoja instalacja PHP nie obsługuje rozszerzeń kalendarza php. +ErrorPHPDoesNotSupportUTF8=Twoja instalacja PHP nie obsługuje funkcji UTF8. Dolibarr nie działa poprawnie. Rozwiąż ten problem przed zainstalowaniem Dolibarr. +ErrorPHPDoesNotSupportIntl=Twoja instalacja PHP nie obsługuje funkcji Intl. +ErrorPHPDoesNotSupportxDebug=Twoja instalacja PHP nie obsługuje rozszerzonych funkcji debugowania. +ErrorPHPDoesNotSupport=Twoja instalacja PHP nie obsługuje funkcji %s. ErrorDirDoesNotExists=Katalog %s nie istnieje. -ErrorGoBackAndCorrectParameters=Go back and check/correct the parameters. +ErrorGoBackAndCorrectParameters=Wróć i sprawdź / popraw parametry. ErrorWrongValueForParameter=Możliwe, że wprowadzono nieprawidłową wartość dla parametru '%s'. ErrorFailedToCreateDatabase=Utworzenie bazy danych '%s' nie powiodło się. ErrorFailedToConnectToDatabase=Połączenie z bazą danych '%s' nie powiodło się. ErrorDatabaseVersionTooLow=Wersja (%s) bazy danych jest zbyt stara. Wymagana jest wersja %s lub wyższa. ErrorPHPVersionTooLow=Wersja PHP zbyt stara. Wymagana wersja to przynajmniej %s. -ErrorConnectedButDatabaseNotFound=Connection to server successful but database '%s' not found. +ErrorConnectedButDatabaseNotFound=Połączenie z serwerem powiodło się, ale nie znaleziono bazy danych „%s”. ErrorDatabaseAlreadyExists=Baza danych '%s' już istnieje. -IfDatabaseNotExistsGoBackAndUncheckCreate=If the database does not exist, go back and check option "Create database". +IfDatabaseNotExistsGoBackAndUncheckCreate=Jeśli baza danych nie istnieje, wróć i zaznacz opcję „Utwórz bazę danych”. IfDatabaseExistsGoBackAndCheckCreate=Jeśli baza danych istnieje, w poprzednim kroku odznacz opcję "Utwórz bazę danych". -WarningBrowserTooOld=Version of browser is too old. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommended. +WarningBrowserTooOld=Wersja przeglądarki jest zbyt stara. Zdecydowanie zalecamy uaktualnienie przeglądarki do najnowszej wersji Firefox, Chrome lub Opera. PHPVersion=Wersja PHP License=Użyta licencja ConfigurationFile=Plik konfiguracyjny @@ -47,23 +47,23 @@ DolibarrDatabase=Baza danych Dolibarr'a DatabaseType=Rodzaj bazy danych DriverType=Rodzaj sterownika Server=Serwer -ServerAddressDescription=Name or ip address for the database server. Usually 'localhost' when the database server is hosted on the same server as the web server. +ServerAddressDescription=Nazwa lub adres IP serwera bazy danych. Zwykle „localhost”, gdy serwer bazy danych znajduje się na tym samym serwerze co serwer WWW. ServerPortDescription=Port serwera baz danych. Zostaw puste jeśli nie znasz. DatabaseServer=Serwer baz danych DatabaseName=Nazwa bazy danych -DatabasePrefix=Database table prefix -DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. -AdminLogin=User account for the Dolibarr database owner. -PasswordAgain=Retype password confirmation +DatabasePrefix=Prefiks tabeli bazy danych +DatabasePrefixDescription=Prefiks tabeli bazy danych. Jeśli pusty, domyślnie llx_. +AdminLogin=Konto użytkownika właściciela bazy danych Dolibarr. +PasswordAgain=Potwierdź hasło ponownie AdminPassword=Hasło do bazy danych CreateDatabase=Utwórz bazę danych -CreateUser=Create user account or grant user account permission on the Dolibarr database +CreateUser=Utwórz konto użytkownika lub przyznaj uprawnienia kontu użytkownika w bazie danych Dolibarr DatabaseSuperUserAccess=Baza danych z dostępem na prawach superużytkownika -CheckToCreateDatabase=Check the box if the database does not exist yet and so must be created.
In this case, you must also fill in the user name and password for the superuser account at the bottom of this page. -CheckToCreateUser=Check the box if:
the database user account does not yet exist and so must be created, or
if the user account exists but the database does not exist and permissions must be granted.
In this case, you must enter the user account and password and also the superuser account name and password at the bottom of this page. If this box is unchecked, database owner and password must already exist. -DatabaseRootLoginDescription=Superuser account name (to create new databases or new users), mandatory if the database or its owner does not already exist. -KeepEmptyIfNoPassword=Leave empty if superuser has no password (NOT recommended) -SaveConfigurationFile=Saving parameters to +CheckToCreateDatabase=Zaznacz to pole, jeśli baza danych jeszcze nie istnieje i dlatego musi zostać utworzona.
W takim przypadku musisz również podać nazwę użytkownika i hasło do konta superużytkownika na dole tej strony. +CheckToCreateUser=Zaznacz to pole, jeśli:
konto użytkownika bazy danych jeszcze nie istnieje i dlatego musi zostać utworzone, lub
, jeśli konto użytkownika istnieje, ale baza danych nie istnieje i należy nadać uprawnienia.
W takim przypadku należy wprowadzić konto użytkownika i hasło oraz również nazwę konta administratora i hasło na dole tej strony. Jeśli to pole nie jest zaznaczone, właściciel bazy danych i hasło muszą już istnieć. +DatabaseRootLoginDescription=Nazwa konta superużytkownika (do tworzenia nowych baz danych lub nowych użytkowników), obowiązkowa, jeśli baza danych lub jej właściciel jeszcze nie istnieje. +KeepEmptyIfNoPassword=Pozostaw puste, jeśli superużytkownik nie ma hasła (NIE zalecane) +SaveConfigurationFile=Zapisywanie parametrów do ServerConnection=Połączenie z serwerem DatabaseCreation=Utworzenie bazy danych CreateDatabaseObjects=Tworzenie obiektów w bazie danych @@ -74,9 +74,9 @@ CreateOtherKeysForTable=Tworzenie kluczy obcych oraz indeksów dla tabeli %s OtherKeysCreation=Tworzenie kluczy obcych oraz indeksów FunctionsCreation=Tworzenie funkcji AdminAccountCreation=Tworzenie użytkownika -PleaseTypePassword=Please type a password, empty passwords are not allowed! -PleaseTypeALogin=Please type a login! -PasswordsMismatch=Passwords differs, please try again! +PleaseTypePassword=Wpisz hasło, puste hasła są niedozwolone! +PleaseTypeALogin=Wpisz login! +PasswordsMismatch=Hasła się różnią, spróbuj ponownie! SetupEnd=Koniec ustawień SystemIsInstalled=Instalacja zakończona. SystemIsUpgraded=Dolibarr został zaktualizowany pomyślnie. @@ -84,65 +84,65 @@ YouNeedToPersonalizeSetup=Teraz należy ustawić Dolibarra tak by spełniał Two AdminLoginCreatedSuccessfuly=Login administratora Dolibarr '%s' utworzony pomyślnie. GoToDolibarr=Idź do Dolibarr'a GoToSetupArea=Przejdź do ustawień Dolibarra -MigrationNotFinished=The database version is not completely up to date: run the upgrade process again. +MigrationNotFinished=Wersja bazy danych nie jest w pełni aktualna: ponownie uruchom proces aktualizacji. GoToUpgradePage=Wejdź na stronę aktualizacji ponownie WithNoSlashAtTheEnd=Bez znaku ukośnika "/" na końcu -DirectoryRecommendation=IMPORTANT: You must use a directory that is outside of the web pages (so do not use a subdirectory of previous parameter). +DirectoryRecommendation= WAŻNE : Musisz użyć katalogu, który znajduje się poza stronami internetowymi (więc nie używaj podkatalogu poprzedniego parametru). LoginAlreadyExists=Już istnieje DolibarrAdminLogin=Użytkownik administracyjny Dolibarra -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back if you want to create another one. +AdminLoginAlreadyExists=Konto administratora Dolibarr „ %s ” już istnieje. Wróć, jeśli chcesz utworzyć kolejny. FailedToCreateAdminLogin=Utworzenie konta administratora Dolibarr nie powiodło się. -WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should add a file called install.lock into the Dolibarr document directory in order to prevent the accidental/malicious use of the install tools again. -FunctionNotAvailableInThisPHP=Not available in this PHP +WarningRemoveInstallDir=Ostrzeżenie, ze względów bezpieczeństwa, po zakończeniu instalacji lub aktualizacji należy dodać plik o nazwie install.lock do katalogu dokumentów Dolibarr, aby zapobiec przypadkowemu / złośliwemu użyciu narzędzi instalacyjnych. +FunctionNotAvailableInThisPHP=Niedostępne w tym PHP ChoosedMigrateScript=Wybierz skrypt migracyjny DataMigration=Migracja bazy danych (dane) DatabaseMigration=Migracja bazy danych (struktura i niektóre dane) ProcessMigrateScript=Przetwarzanie skryptów ChooseYourSetupMode=Wybierz tryb instalacji i potwierdź przyciskiem "Start"... FreshInstall=Nowa instalacja -FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install. If you want to upgrade your version, choose "Upgrade" mode. +FreshInstallDesc=Użyj tego trybu, jeśli jest to Twoja pierwsza instalacja. Jeśli nie, ten tryb może naprawić niekompletną poprzednią instalację. Jeśli chcesz zaktualizować swoją wersję, wybierz tryb „Uaktualnij”. Upgrade=Aktualizacja UpgradeDesc=Użyj tego trybu jeśli podmieniono stare pliki Dolibarra plikami z nowszej wersji. Ten tryb uaktualni bazę danych i poprzednie dane. Start=Start InstallNotAllowed=Ustawienie niedostępne przez uprawnienia conf.php YouMustCreateWithPermission=Musisz utworzyć plik %s i ustawić mu prawa zapisu dla serwera WWW podczas procesu instalacyjnego. -CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload the page. +CorrectProblemAndReloadPage=Rozwiąż problem i naciśnij klawisz F5, aby ponownie załadować stronę. AlreadyDone=Migracja już przeprowadzona. DatabaseVersion=Wersja bazy danych ServerVersion=Wersja serwera baz danych YouMustCreateItAndAllowServerToWrite=Musisz utworzyć ten katalog i zezwolić serwerowi WWW na zapis w nim. DBSortingCollation=Sposób sortowania znaków -YouAskDatabaseCreationSoDolibarrNeedToConnect=You selected create database %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -YouAskLoginCreationSoDolibarrNeedToConnect=You selected create database user %s, but for this, Dolibarr needs to connect to server %s with super user %s permissions. -BecauseConnectionFailedParametersMayBeWrong=The database connection failed: the host or super user parameters must be wrong. +YouAskDatabaseCreationSoDolibarrNeedToConnect=Wybrałeś tworzenie bazy danych %s , ale w tym celu Dolibarr musi połączyć się z serwerem %s z superprawami użytkownika %suprawnieniami. +YouAskLoginCreationSoDolibarrNeedToConnect=Wybrałeś opcję tworzenia użytkownika bazy danych %s , ale w tym celu Dolibarr musi połączyć się z serwerem %s z uprawnieniami użytkownika %suprawnieniami. +BecauseConnectionFailedParametersMayBeWrong=Połączenie z bazą danych nie powiodło się: parametry hosta lub superużytkownika muszą być nieprawidłowe. OrphelinsPaymentsDetectedByMethod=Osierocona płatność wykryta przez metodę %s RemoveItManuallyAndPressF5ToContinue=Usuń go ręcznie i odśwież stronę (domyślnie F5) by kontynuować. FieldRenamed=Nazwa pola zmieniona -IfLoginDoesNotExistsCheckCreateUser=If the user does not exist yet, you must check option "Create user" -ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or the PHP client version may be too old compared to the database version. +IfLoginDoesNotExistsCheckCreateUser=Jeśli użytkownik jeszcze nie istnieje, należy zaznaczyć opcję „Utwórz użytkownika” +ErrorConnection=Serwer " %s ", nazwa bazy danych " %s ", login" %s lub hasło do bazy danych może być nieprawidłowe lub wersja klienta PHP może być zbyt stara w porównaniu z wersją bazy danych. InstallChoiceRecommanded=Zalecany wybór: zainstalować wersję %s od aktualnej wersji %s InstallChoiceSuggested=Wybór sugerowany przez instalator. -MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions. The install wizard will come back to suggest a further migration once this one is complete. -CheckThatDatabasenameIsCorrect=Check that the database name "%s" is correct. +MigrateIsDoneStepByStep=Wersja docelowa (%s) ma lukę w kilku wersjach. Kreator instalacji powróci, aby zasugerować dalszą migrację po jej zakończeniu. +CheckThatDatabasenameIsCorrect=Sprawdź, czy nazwa bazy danych „ %s ” jest poprawna. IfAlreadyExistsCheckOption=Jeśli ta nazwa jest poprawna i baza danych jeszcze nie istnieje, sprawdz opcję "utwórz bazę danych" OpenBaseDir=PHP parametr otwarcia katalogu bazy danych -YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide the login/password of superuser (bottom of form). -YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide the login/password of superuser (bottom of form). -NextStepMightLastALongTime=The current step may take several minutes. Please wait until the next screen is shown completely before continuing. -MigrationCustomerOrderShipping=Migrate shipping for sales orders storage +YouAskToCreateDatabaseSoRootRequired=Zaznaczono pole „Utwórz bazę danych”. W tym celu musisz podać login / hasło superużytkownika (na dole formularza). +YouAskToCreateDatabaseUserSoRootRequired=Zaznaczono pole „Utwórz właściciela bazy danych”. W tym celu musisz podać login / hasło superużytkownika (na dole formularza). +NextStepMightLastALongTime=Bieżący krok może zająć kilka minut. Przed kontynuowaniem poczekaj, aż następny ekran zostanie wyświetlony w całości. +MigrationCustomerOrderShipping=Przenieś wysyłkę w celu przechowywania zamówień sprzedaży MigrationShippingDelivery=Aktualizacja stanu do wysyłki MigrationShippingDelivery2=Aktualizacja stanu do wysyłki 2 MigrationFinished=Migracja zakończona -LastStepDesc=Last step: Define here the login and password you wish to use to connect to Dolibarr. Do not lose this as it is the master account to administer all other/additional user accounts. +LastStepDesc= Ostatni krok : Określ tutaj login i hasło, których chcesz używać do łączenia się z Dolibarr. Nie trać tego, ponieważ jest to konto główne do administrowania wszystkimi innymi / dodatkowymi kontami użytkowników. ActivateModule=Aktywuj moduł %s ShowEditTechnicalParameters=Kliknij tutaj, aby pokazać / edytować zaawansowane parametry (tryb ekspert) -WarningUpgrade=Warning:\nDid you run a database backup first?\nThis is highly recommended. Loss of data (due to for example bugs in mysql version 5.5.40/41/42/43) may be possible during this process, so it is essential to take a complete dump of your database before starting any migration.\n\nClick OK to start migration process... -ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug, making data loss possible if you make structural changes in your database, such as is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a layer (patched) version (list of known buggy versions: %s) -KeepDefaultValuesWamp=You used the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you are doing. -KeepDefaultValuesDeb=You used the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so the values proposed here are already optimized. Only the password of the database owner to create must be entered. Change other parameters only if you know what you are doing. -KeepDefaultValuesMamp=You used the Dolibarr setup wizard from DoliMamp, so the values proposed here are already optimized. Change them only if you know what you are doing. -KeepDefaultValuesProxmox=You used the Dolibarr setup wizard from a Proxmox virtual appliance, so the values proposed here are already optimized. Change them only if you know what you are doing. -UpgradeExternalModule=Run dedicated upgrade process of external module +WarningUpgrade=Ostrzeżenie:\nCzy najpierw wykonałeś kopię zapasową bazy danych?\nJest to wysoce zalecane. Utrata danych (np. Z powodu błędów w mysql w wersji 5.5.40 / 41/42/43) może być możliwa podczas tego procesu, dlatego przed rozpoczęciem migracji konieczne jest wykonanie pełnego zrzutu bazy danych.\n\nKliknij OK, aby rozpocząć proces migracji ... +ErrorDatabaseVersionForbiddenForMigration=Twoja wersja bazy danych to %s. Zawiera krytyczny błąd, który umożliwia utratę danych w przypadku wprowadzenia zmian strukturalnych w bazie danych, takich jak wymagane przez proces migracji. Z tego powodu migracja nie będzie dozwolona, dopóki nie zaktualizujesz bazy danych do wersji warstwowej (poprawionej) (lista znanych błędnych wersji: %s) +KeepDefaultValuesWamp=Użyłeś kreatora instalacji Dolibarr firmy DoliWamp, więc proponowane tutaj wartości są już zoptymalizowane. Zmień je tylko wtedy, gdy wiesz, co robisz. +KeepDefaultValuesDeb=Użyłeś kreatora instalacji Dolibarr z pakietu Linux (Ubuntu, Debian, Fedora ...), więc proponowane tutaj wartości są już zoptymalizowane. Należy wprowadzić tylko hasło właściciela bazy danych, który ma zostać utworzony. Zmień inne parametry tylko wtedy, gdy wiesz, co robisz. +KeepDefaultValuesMamp=Użyłeś kreatora instalacji Dolibarr firmy DoliMamp, więc proponowane tutaj wartości są już zoptymalizowane. Zmień je tylko wtedy, gdy wiesz, co robisz. +KeepDefaultValuesProxmox=Użyłeś kreatora instalacji Dolibarr z urządzenia wirtualnego Proxmox, więc proponowane tutaj wartości są już zoptymalizowane. Zmień je tylko wtedy, gdy wiesz, co robisz. +UpgradeExternalModule=Uruchom dedykowany proces aktualizacji modułu zewnętrznego SetAtLeastOneOptionAsUrlParameter=Ustaw przynajmniej jedną opcję jako parametr w adresie URL. Na przykład: '...repair.php?standard=confirmed' NothingToDelete=Nic do wyczyszczenia/usunięcia NothingToDo=Nic do zrobienia @@ -166,9 +166,9 @@ MigrationContractsUpdate=Korekta danych kontraktowych MigrationContractsNumberToUpdate=%s kontraktów do zaktualizowania MigrationContractsLineCreation=Utwórz linię kontraktową dla kontraktu %s MigrationContractsNothingToUpdate=Nic więcej do zrobienia -MigrationContractsFieldDontExist=Field fk_facture does not exist anymore. Nothing to do. +MigrationContractsFieldDontExist=Pole fk_facture już nie istnieje. Nic do roboty. MigrationContractsEmptyDatesUpdate=Korekta pustych dat kontraktów -MigrationContractsEmptyDatesUpdateSuccess=Contract empty date correction done successfully +MigrationContractsEmptyDatesUpdateSuccess=Korekta daty pustej umowy została wykonana pomyślnie MigrationContractsEmptyDatesNothingToUpdate=Brak pustych dat kontraktów do korekty MigrationContractsEmptyCreationDatesNothingToUpdate=Brak dat utworzenia kontraktów do korekty MigrationContractsInvalidDatesUpdate=Nieprawidłowa wartość przy korekcie daty kontraktu @@ -190,28 +190,29 @@ MigrationDeliveryDetail=Aktualizacja dostawy MigrationStockDetail=Aktualizacja wartości zapasów produktów MigrationMenusDetail=Aktualizacja dynamicznego meni tabeli MigrationDeliveryAddress=Aktualizacja adresu dostarczenia przesyłki -MigrationProjectTaskActors=Data migration for table llx_projet_task_actors +MigrationProjectTaskActors=Migracja danych dla tabeli llx_projet_task_actors MigrationProjectUserResp=Migracja danych pola fk_user_resp z llx_projet do llx_element_contact MigrationProjectTaskTime=Pokonany czas uaktualnienia w sekundach MigrationActioncommElement=Aktualizacja danych na temat działań -MigrationPaymentMode=Data migration for payment type +MigrationPaymentMode=Migracja danych dla rodzaju płatności MigrationCategorieAssociation=Migracja kategorii -MigrationEvents=Migration of events to add event owner into assignment table -MigrationEventsContact=Migration of events to add event contact into assignment table +MigrationEvents=Migracja wydarzeń w celu dodania właściciela wydarzenia do tabeli przydziałów +MigrationEventsContact=Migracja wydarzeń w celu dodania kontaktu związanego z wydarzeniem do tabeli przydziałów MigrationRemiseEntity=Zaktualizuj wartość pola podmiotu llx_societe_remise MigrationRemiseExceptEntity=Zaktualizuj wartość pola podmiotu llx_societe_remise_except -MigrationUserRightsEntity=Update entity field value of llx_user_rights -MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights -MigrationUserPhotoPath=Migration of photo paths for users -MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) +MigrationUserRightsEntity=Zaktualizuj wartość pola encji llx_user_rights +MigrationUserGroupRightsEntity=Zaktualizuj wartość pola encji llx_usergroup_rights +MigrationUserPhotoPath=Migracja ścieżek do zdjęć dla użytkowników +MigrationFieldsSocialNetworks=Migracja pól użytkowników sieci społecznościowe (%s) MigrationReloadModule=Odśwież moduł %s MigrationResetBlockedLog=Zresetuj moduł BlockedLog dla algorytmu v7 -ShowNotAvailableOptions=Show unavailable options -HideNotAvailableOptions=Hide unavailable options -ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. -YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
-YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
-ClickHereToGoToApp=Click here to go to your application -ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. -Loaded=Loaded -FunctionTest=Function test +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) +ShowNotAvailableOptions=Pokaż niedostępne opcje +HideNotAvailableOptions=Ukryj niedostępne opcje +ErrorFoundDuringMigration=Błędy zostały zgłoszone podczas procesu migracji, więc następny krok nie jest dostępny. Aby zignorować błędy, możesz kliknąć tutaj , ale aplikacja lub niektóre funkcje mogą nie działać poprawnie, dopóki błędy nie zostaną rozwiązane. +YouTryInstallDisabledByDirLock=Aplikacja próbowała przeprowadzić samodzielną aktualizację, ale strony instalacji / aktualizacji zostały wyłączone ze względów bezpieczeństwa (nazwa katalogu została zmieniona z przyrostkiem .lock).
+YouTryInstallDisabledByFileLock=Aplikacja próbowała przeprowadzić samodzielną aktualizację, ale strony instalacji / aktualizacji zostały wyłączone ze względów bezpieczeństwa (ze względu na istnienie pliku blokady install.lock w katalogu dokumentów dolibarr).
+ClickHereToGoToApp=Kliknij tutaj, aby przejść do swojej aplikacji +ClickOnLinkOrRemoveManualy=Jeśli trwa aktualizacja, poczekaj. Jeśli nie, kliknij poniższe łącze. Jeśli zawsze widzisz tę samą stronę, musisz usunąć / zmienić nazwę pliku install.lock w katalogu dokumentów. +Loaded=Załadowany +FunctionTest=Test działania diff --git a/htdocs/langs/pl_PL/interventions.lang b/htdocs/langs/pl_PL/interventions.lang index 130ddc8c964..b810b395223 100644 --- a/htdocs/langs/pl_PL/interventions.lang +++ b/htdocs/langs/pl_PL/interventions.lang @@ -4,7 +4,7 @@ Interventions=Interwencje InterventionCard=Karta interwencji NewIntervention=Nowa interwencja AddIntervention=Tworzenie interwencji -ChangeIntoRepeatableIntervention=Change to repeatable intervention +ChangeIntoRepeatableIntervention=Zmień na powtarzalną interwencję ListOfInterventions=Wykaz interwencji ActionsOnFicheInter=Działania w zakresie interwencji LastInterventions=Ostatnie %s interwencje @@ -20,8 +20,8 @@ ConfirmValidateIntervention=Jesteś pewien, że chcesz potwierdzić tę interwen ConfirmModifyIntervention=Jesteś pewien, że chcesz zmodyfikować tę interwencję? ConfirmDeleteInterventionLine=Jesteś pewien, że chcesz usunąć tę linię interwencji? ConfirmCloneIntervention=Jesteś pewien, że chcesz zduplikować tę interwencję? -NameAndSignatureOfInternalContact=Name and signature of intervening: -NameAndSignatureOfExternalContact=Name and signature of customer: +NameAndSignatureOfInternalContact=Nazwisko i podpis interwenienta: +NameAndSignatureOfExternalContact=Imię i nazwisko oraz podpis klienta: DocumentModelStandard=Standardowy model dokumentu dla interwencji InterventionCardsAndInterventionLines=Interwencje i kierunki interwencji InterventionClassifyBilled=Sklasyfikować "Rozlicz" @@ -29,13 +29,13 @@ InterventionClassifyUnBilled=Sklasyfikować "Unbilled" InterventionClassifyDone=Sklasyfikuj "Gotowe" StatusInterInvoiced=Zapowiadane SendInterventionRef=Złożenie interwencyjnego% s -SendInterventionByMail=Send intervention by email +SendInterventionByMail=Wyślij interwencję e-mailem InterventionCreatedInDolibarr=Interwencja %s stworzona InterventionValidatedInDolibarr=Interwencja %s zatwierdzona InterventionModifiedInDolibarr=Interwencja %s zmodyfikowana InterventionClassifiedBilledInDolibarr=% Interwencyjnej s zestaw jako rozliczane InterventionClassifiedUnbilledInDolibarr=% Interwencyjnej s zestaw jako weryfikowane -InterventionSentByEMail=Intervention %s sent by email +InterventionSentByEMail=Interwencja %s wysłana pocztą elektroniczną InterventionDeletedInDolibarr=Interwencja %s usunięta InterventionsArea=Obszar interwencji DraftFichinter=Szkic interwencji @@ -57,10 +57,12 @@ InterDateCreation=Data stworzenia interwencji InterDuration=Czas trwania interwencji InterStatus=Status interwencji InterNote=Nota interwencji -InterLine=Line of intervention +InterLine=Linia interwencji InterLineId=Linia ID interwencji InterLineDate=Linia daty interwencji InterLineDuration=Linia czasu trwania interwencji InterLineDesc=Lini aopisu interwencji -RepeatableIntervention=Template of intervention -ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +RepeatableIntervention=Szablon interwencji +ToCreateAPredefinedIntervention=Aby utworzyć predefiniowaną lub powtarzającą się interwencję, utwórz wspólną interwencję i przekształć ją w szablon interwencji +Reopen=Otworzyć na nowo +ConfirmReopenIntervention=Czy na pewno chcesz ponownie otworzyć interwencję %s ? diff --git a/htdocs/langs/pl_PL/knowledgemanagement.lang b/htdocs/langs/pl_PL/knowledgemanagement.lang index 0809ae52139..ab699718169 100644 --- a/htdocs/langs/pl_PL/knowledgemanagement.lang +++ b/htdocs/langs/pl_PL/knowledgemanagement.lang @@ -37,15 +37,7 @@ About = O KnowledgeManagementAbout = O Zarządzaniu wiedzą KnowledgeManagementAboutPage = Strona informacyjna Zarządzania wiedzą -# -# Sample page -# KnowledgeManagementArea = Zarządzanie wiedzą - - -# -# Menu -# MenuKnowledgeRecord = Baza wiedzy ListKnowledgeRecord = Lista artykułów NewKnowledgeRecord = Nowy artykuł @@ -53,3 +45,5 @@ ValidateReply = Sprawdź poprawność rozwiązania KnowledgeRecords = Artykuły KnowledgeRecord = Artykuł KnowledgeRecordExtraFields = Extrapola dla artykułu +GroupOfTicket=Grupa biletów +YouCanLinkArticleToATicketCategory=Możesz powiązać artykuł z grupą biletów (aby artykuł był sugerowany podczas kwalifikacji nowych biletów) diff --git a/htdocs/langs/pl_PL/languages.lang b/htdocs/langs/pl_PL/languages.lang index 9ec8f75f555..52958a6c343 100644 --- a/htdocs/langs/pl_PL/languages.lang +++ b/htdocs/langs/pl_PL/languages.lang @@ -3,7 +3,8 @@ Language_am_ET=Etiopski Language_ar_AR=Arabski Language_ar_EG=Arabski (Egipt) Language_ar_SA=Arabski -Language_ar_TN=Arabic (Tunisia) +Language_ar_TN=arabski (Tunezja) +Language_ar_IQ=arabski (Irak) Language_az_AZ=Azerbejdżański Language_bn_BD=Bengalski Language_bn_IN=Bengalski (Indie) @@ -83,6 +84,7 @@ Language_ne_NP=Nepalski Language_nl_BE=Holenderski (Belgia) Language_nl_NL=Holenderski Language_pl_PL=Polski +Language_pt_AO=portugalski (Angola) Language_pt_BR=Portugalski (Brazylia) Language_pt_PT=Portugalski Language_ro_MD=rumuński (Mołdawia) diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index 9c20cd523b8..d3adaedc21f 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -730,7 +730,7 @@ MenuMembers=Członkowie MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Podatki | Wydatki specjalne ThisLimitIsDefinedInSetup=Limit Dollibara (Menu główne-setup-bezpieczeństwo): %s KB, PHP, limit: %s KB -ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +ThisLimitIsDefinedInSetupAt=Limit Dolibarra (Menu %s): %s Kb, limit PHP (Param %s): %s Kb NoFileFound=Brak wgranych dokumentów CurrentUserLanguage=Język bieżący CurrentTheme=Aktualny temat @@ -1136,4 +1136,4 @@ CategTypeNotFound=Nie znaleziono typu tagu dla typu rekordów CopiedToClipboard=Skopiowane do schowka InformationOnLinkToContract=Kwota ta to tylko suma wszystkich pozycji zamówienia. Nie bierze się pod uwagę żadnego pojęcia czasu. ConfirmCancel=Czy na pewno chcesz zrezygnować -EmailMsgID=Email MsgID +EmailMsgID=E-mail MsgID diff --git a/htdocs/langs/pl_PL/partnership.lang b/htdocs/langs/pl_PL/partnership.lang index 7bcca8845b5..278612c4f96 100644 --- a/htdocs/langs/pl_PL/partnership.lang +++ b/htdocs/langs/pl_PL/partnership.lang @@ -20,9 +20,9 @@ ModulePartnershipName=Zarządzanie partnerstwem PartnershipDescription=Moduł Zarządzania partnerstwem PartnershipDescriptionLong= Moduł Zarządzania partnerstwem -AddPartnership=Add partnership -CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions -PartnershipCheckBacklink=Partnership: Check referring backlink +AddPartnership=Dodaj partnerstwo +CancelPartnershipForExpiredMembers=Partnerstwo: Anuluj partnerstwo członków z wygasłymi subskrypcjami +PartnershipCheckBacklink=Partnerstwo: Sprawdź odsyłający link zwrotny # # Menu @@ -57,7 +57,7 @@ PartnershipAlreadyExist=Partnerstwo już istnieje ManagePartnership=Zarządzaj partnerstwem BacklinkNotFoundOnPartnerWebsite=Nie znaleziono linku zwrotnego w witrynie partnera ConfirmClosePartnershipAsk=Czy na pewno chcesz anulować to partnerstwo? -PartnershipType=Partnership type +PartnershipType=Rodzaj partnerstwa # # Template Mail diff --git a/htdocs/langs/pl_PL/productbatch.lang b/htdocs/langs/pl_PL/productbatch.lang index f48ad28814f..2f15cd9dfe1 100644 --- a/htdocs/langs/pl_PL/productbatch.lang +++ b/htdocs/langs/pl_PL/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Pokaż historię przesunięć dla pary produkt/lot StockDetailPerBatch=Szczegóły zapasu po locie SerialNumberAlreadyInUse=Numer seryjny %s jest już używany dla produktu %s TooManyQtyForSerialNumber=Możesz mieć tylko jeden produkt %s dla numeru seryjnego %s -BatchLotNumberingModules=Opcje automatycznego generowania produktów wsadowych zarządzanych partiami -BatchSerialNumberingModules=Opcje automatycznego generowania produktów wsadowych zarządzanych według numerów seryjnych ManageLotMask=Maska niestandardowa -CustomMasks=Dodaje opcję definiowania maski na karcie produktu -LotProductTooltip=Dodaje opcję na karcie produktu, aby zdefiniować dedykowaną maskę numeru partii -SNProductTooltip=Dodaje opcję na karcie produktu, aby zdefiniować dedykowaną maskę numeru seryjnego +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Ilość do dodania dla każdego zeskanowanego kodu kreskowego/partii/numeru seryjnego LifeTime=Żywotność (w dniach) EndOfLife=Koniec życia diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index a21dc1817f3..ed647809525 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Różne ceny dla każdego klienta PriceCatalogue=Pojedyncza cena sprzedaży za produkt / usługę PricingRule=Zasady dotyczące cen sprzedaży AddCustomerPrice=Dodaj cenę dla klienta -ForceUpdateChildPriceSoc=Ustaw sama cena na zależnych klientów +ForceUpdateChildPriceSoc=Ustaw tę samą cenę w spółkach zależnych klienta PriceByCustomerLog=Stwórz log z wcześniejszymi cenami dla klienta MinimumPriceLimit=Cena minimalna nie może być niższa niż %s MinimumRecommendedPrice=Minimalna zalecana cena to: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Wzrost / spadek akcji na zmiany dominującej ComposedProduct=Produkty dla dzieci MinSupplierPrice=Minimalna cena zakupu MinCustomerPrice=Minimalna cena sprzedaży +NoDynamicPrice=Brak ceny dynamicznej DynamicPriceConfiguration=Konfiguracja dynamicznych cen DynamicPriceDesc=Możesz zdefiniować formuły matematyczne do obliczania cen klientów lub dostawców. Takie formuły mogą wykorzystywać wszystkie operatory matematyczne, niektóre stałe i zmienne. Możesz tutaj zdefiniować zmienne, których chcesz użyć. Jeśli zmienna wymaga automatycznej aktualizacji, możesz zdefiniować zewnętrzny adres URL, aby umożliwić firmie Dolibarr automatyczną aktualizację wartości. AddVariable=Dodaj zmienną @@ -340,7 +341,7 @@ ProductSheet=Arkusz produktu ServiceSheet=Arkusz usługi PossibleValues=Możliwa wartość GoOnMenuToCreateVairants=Przejdź do menu %s - %s, aby przygotować warianty atrybutów (takie jak kolory, rozmiar, ...) -UseProductFournDesc=Dodaj funkcję definiowania opisów produktów zdefiniowanych przez dostawców oprócz opisów dla klientów +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers ProductSupplierDescription=Opis dostawcy produktu UseProductSupplierPackaging=Użyj opakowania w cenach dostawcy (przelicz ilości zgodnie z opakowaniem ustawionym na cenie dostawcy podczas dodawania / aktualizowania linii w dokumentach dostawcy) PackagingForThisProduct=Opakowanie diff --git a/htdocs/langs/pl_PL/salaries.lang b/htdocs/langs/pl_PL/salaries.lang index 977baae0642..fe9b8e54360 100644 --- a/htdocs/langs/pl_PL/salaries.lang +++ b/htdocs/langs/pl_PL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Konto rachunkowe użyte dla użytkownika kontrahentów SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Dedykowane konto księgowe zdefiniowane na karcie użytkownika będzie używane wyłącznie do księgowania Subledger. Ten zostanie użyty w General Ledger i jako wartość domyślna księgowania Subledger, jeśli dedykowane konto rachunkowe użytkownika dla użytkownika nie zostanie zdefiniowane. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Domyślne konto rachunkowe dla płatności wynagrodzenia +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Domyślnie pozostaw pustą opcję „Automatycznie utwórz całkowitą płatność” podczas tworzenia wynagrodzenia Salary=Wypłata Salaries=Wypłaty -NewSalaryPayment=Nowa wypłata +NewSalary=Nowa pensja +NewSalaryPayment=Nowa karta wynagrodzeń AddSalaryPayment=Dodaj płatność wynagrodzenia SalaryPayment=Wypłata wynagrodzenia SalariesPayments=Wypłaty wynagordzeń +SalariesPaymentsOf=Wypłaty wynagrodzeń w wysokości %s ShowSalaryPayment=Pokaż wypłaty wynagrodzeń THM=Średnia stawka godzinowa TJM=Średnia stawka dzienna CurrentSalary=Aktualne wynagrodzenie -THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used -TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Ostatnie %s płatności wynagrodzeń -AllSalaries=Wszystkie płatności wynagrodzeń +THMDescription=Wartość ta może służyć do obliczenia kosztu czasu poświęconego na projekt wprowadzony przez użytkowników, jeśli używany jest projekt modułu +TJMDescription=Ta wartość ma obecnie charakter wyłącznie informacyjny i nie jest używana do żadnych obliczeń +LastSalaries=Najnowsze pensje %s +AllSalaries=Wszystkie pensje SalariesStatistics=Statystyki wynagrodzeń -# Export -SalariesAndPayments=Salaries and payments +SalariesAndPayments=Wynagrodzenia i płatności +ConfirmDeleteSalaryPayment=Czy chcesz usunąć tę wypłatę wynagrodzenia? diff --git a/htdocs/langs/pl_PL/stocks.lang b/htdocs/langs/pl_PL/stocks.lang index 421f5c72709..456538eef13 100644 --- a/htdocs/langs/pl_PL/stocks.lang +++ b/htdocs/langs/pl_PL/stocks.lang @@ -60,7 +60,7 @@ EnhancedValueOfWarehouses=Magazyny wartości UserWarehouseAutoCreate=Utwórz użytkownika dla magazynu kiedy tworzysz użytkownika AllowAddLimitStockByWarehouse=Zarządzaj również wartością minimalnego i pożądanego zapasu na parę (magazyn produktów) oprócz wartości minimalnego i pożądanego zapasu na produkt RuleForWarehouse=Reguła dla magazynów -WarehouseAskWarehouseOnThirparty=Ustaw magazyn na kontrahenta +WarehouseAskWarehouseOnThirparty=Ustaw magazyn na osoby trzecie WarehouseAskWarehouseDuringPropal=Ustaw magazyn na ofertach handlowych WarehouseAskWarehouseDuringOrder=Ustaw magazyn dla zamówień sprzedaży UserDefaultWarehouse=Ustaw magazyn dla użytkowników @@ -167,8 +167,8 @@ MovementTransferStock=Transferuj zapas artykułu %s do innego magazynu InventoryCodeShort=Kod Fv/ Przesunięcia NoPendingReceptionOnSupplierOrder=Brak oczekującego odbioru z powodu otwartego zamówienia ThisSerialAlreadyExistWithDifferentDate=Ten lot/numer seryjny (%s) już istnieje ale z inna data do wykorzystania lub sprzedania (znaleziono %s a wszedłeś w %s) -OpenAll=Otwórz dla wszystkich działań -OpenInternal=Otwórz tylko dla wewnętrznych działań +OpenAnyMovement=Otwarte (cały ruch) +OpenInternal=Otwarty (tylko ruch wewnętrzny) UseDispatchStatus=Użyj statusu wysyłki (Zatwierdź / Odrzuć) dla linii produktów podczas przyjmowania zamówienia OptionMULTIPRICESIsOn=Włączona jest opcja „kilka cen za segment”. Oznacza to, że produkt ma kilka cen sprzedaży, więc nie można obliczyć wartości sprzedaży ProductStockWarehouseCreated=Limit zapasu dla ostrzeżenia i pożądany optymalny zapas prawidłowo utworzony diff --git a/htdocs/langs/pl_PL/ticket.lang b/htdocs/langs/pl_PL/ticket.lang index e8f995f6274..814d95ab825 100644 --- a/htdocs/langs/pl_PL/ticket.lang +++ b/htdocs/langs/pl_PL/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Bilet - rozwiązanie TicketTypeShortCOM=Pytanie handlowe TicketTypeShortHELP=Prośba o pomoc funkcjonalną -TicketTypeShortISSUE=Problem, błąd lub problem +TicketTypeShortISSUE=Problem lub błąd +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Prośba o zmianę lub ulepszenie TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Inne @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Przypisany użytkownik TypeContact_ticket_external_SUPPORTCLI=Kontakt z klientem / śledzenie incydentów TypeContact_ticket_external_CONTRIBUTOR=Współpracownik zewnętrzny -OriginEmail=Źródło wiadomości e-mail +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Wyślij wiadomość e-mail z biletem # Status Read=Czytać Assigned=Przydzielony InProgress=W trakcie -NeedMoreInformation=Czekam na informacje +NeedMoreInformation=Czekam na opinię reportera +NeedMoreInformationShort=Czekam na informację zwrotną Answered=Odpowiedział Waiting=Czekanie Closed=Zamknięte @@ -160,7 +162,7 @@ CreatedBy=Stworzone przez NewTicket=Nowy bilet SubjectAnswerToTicket=Odpowiedź na bilet TicketTypeRequest=Rodzaj żądania -TicketCategory=Grupa +TicketCategory=Kategoryzacja biletów SeeTicket=Zobacz bilet TicketMarkedAsRead=Bilet został oznaczony jako przeczytany TicketReadOn=Czytaj @@ -211,6 +213,7 @@ TicketMessageHelp=Tylko ten tekst zostanie zapisany na liście wiadomości na ka TicketMessageSubstitutionReplacedByGenericValues=Zmienne podstawienia są zastępowane wartościami ogólnymi. TimeElapsedSince=Czas, który upłynął od TicketTimeToRead=Upłynął czas przed przeczytaniem +TicketTimeElapsedBeforeSince=Czas, jaki upłynął przed / od TicketContacts=Bilet kontaktów TicketDocumentsLinked=Dokumenty powiązane z biletem ConfirmReOpenTicket=Potwierdzić ponowne otwarcie tego biletu? @@ -304,7 +307,7 @@ BoxLastModifiedTicket=Najnowsze zmodyfikowane bilety BoxLastModifiedTicketDescription=Najnowsze zmodyfikowane bilety %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Brak ostatnio zmodyfikowanych biletów -BoxTicketType=Distribution of open tickets by type +BoxTicketType=Dystrybucja biletów otwartych według rodzaju BoxTicketSeverity=Liczba otwartych zgłoszeń według ważności BoxNoTicketSeverity=Nie otwarto żadnych biletów BoxTicketLastXDays=Liczba nowych biletów według dni w ostatnich dniach %s diff --git a/htdocs/langs/pl_PL/users.lang b/htdocs/langs/pl_PL/users.lang index 5b90f788d94..1b279bb0802 100644 --- a/htdocs/langs/pl_PL/users.lang +++ b/htdocs/langs/pl_PL/users.lang @@ -97,7 +97,7 @@ LoginToCreate=Login do utworzenia NameToCreate=Nazwa kontrahenta do utworzenia YourRole=Twoje role YourQuotaOfUsersIsReached=Limitu aktywnych użytkowników został osiągnięty! -NbOfUsers=Ilość użytkowników +NbOfUsers=Liczba użytkowników NbOfPermissions=Liczba uprawnień DontDowngradeSuperAdmin=Tylko superadmin niższej wersji superadmin HierarchicalResponsible=Kierownik diff --git a/htdocs/langs/pl_PL/website.lang b/htdocs/langs/pl_PL/website.lang index 8d0cceb3e47..e2741fb1e0b 100644 --- a/htdocs/langs/pl_PL/website.lang +++ b/htdocs/langs/pl_PL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Dodaj witrynę Webpage=Strona/pojemnik AddPage=Dodaj stronę PageContainer=Strona -PreviewOfSiteNotYetAvailable=Podgląd Twej witryny %s nie jest jeszcze dostępny. Użyj wpierw 'Załaduj szablon witryny' lub 'Dodaj stronę/pojemnik'. +PreviewOfSiteNotYetAvailable=Podgląd Twojej witryny %s nie jest jeszcze dostępny. Musisz najpierw ' Zaimportuj pełny szablon witryny ' lub po prostu ' Dodaj stronę/kontener '. RequestedPageHasNoContentYet=Żądana strona o identyfikatorze %s nie ma jeszcze treści lub plik pamięci podręcznej .tpl.php został usunięty. Edytuj zawartość strony, aby to rozwiązać. SiteDeleted=Witryna '%s' usunięta PageContent=Strona/pojemnik diff --git a/htdocs/langs/pt_AO/products.lang b/htdocs/langs/pt_AO/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/pt_AO/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/pt_AO/ticket.lang b/htdocs/langs/pt_AO/ticket.lang deleted file mode 100644 index 92d813e1638..00000000000 --- a/htdocs/langs/pt_AO/ticket.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -OriginEmail=Email source -TicketCategory=Group diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 27285bad626..36914011a28 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -954,8 +954,6 @@ YouMustRunCommandFromCommandLineAfterLoginToUser=Você deve rodar esse comando n YourPHPDoesNotHaveSSLSupport=Função SSL functions não está disponível no seu PHP DownloadMoreSkins=Mais skins para baixar SimpleNumRefModelDesc=Retorna o número de referência no formato %s yymm-nnnn onde yy é o ano, mm é o mês e nnnn é um número de incremento automático sequencial sem redefinição -ShowProfIdInAddress=Mostrar ID profissional com endereços -ShowVATIntaInAddress=Ocultar o número de IVA intracomunitário com endereços MeteoStdModEnabled=Modo padrão habilitado MeteoPercentageMod=Modo porcentagem MeteoPercentageModEnabled=Modo de porcentagem habilitado @@ -1574,6 +1572,7 @@ AGENDA_EVENT_DEFAULT_STATUS=Status de evento padrão ao criar um evento a partir YouShouldDisablePHPFunctions=Você deve desabilitar funções PHP NoWritableFilesFoundIntoRootDir=Nenhum arquivo gravável ou diretório de programas comuns foi encontrado em seu diretório raiz (bom) RecommendedValueIs=Recomendado: %s +Recommended=Versão Recomendada ARestrictedPath=Caminho restrito CheckForModuleUpdate=Verificar se há atualizações para módulos externos CheckForModuleUpdateHelp=Esta ação se conectará a editores de módulos externos para verificar se uma nova versão está disponível. diff --git a/htdocs/langs/pt_BR/boxes.lang b/htdocs/langs/pt_BR/boxes.lang index 754400bc9cb..c885132ee70 100644 --- a/htdocs/langs/pt_BR/boxes.lang +++ b/htdocs/langs/pt_BR/boxes.lang @@ -67,8 +67,6 @@ BoxTitleLatestModifiedSupplierOrders=Ordens do Vendedor: último %s modificado BoxTitleLastModifiedCustomerBills=Faturas do cliente: último %s modificado BoxTitleLastModifiedCustomerOrders=Pedidos de Vendas: último %s modificado BoxTitleLastModifiedPropals=Últimas %s propostas modificadas -BoxTitleLatestModifiedJobPositions=Últimos %s trabalhos alterados -BoxTitleLatestModifiedCandidatures=Últimas %s candidaturas alteradas ForCustomersInvoices=Faturas de clientes ForCustomersOrders=Pedidos de clientes LastXMonthRolling=Ultima %s mensal diff --git a/htdocs/langs/pt_BR/deliveries.lang b/htdocs/langs/pt_BR/deliveries.lang index 7c5fec6ed99..ad1c983b4a0 100644 --- a/htdocs/langs/pt_BR/deliveries.lang +++ b/htdocs/langs/pt_BR/deliveries.lang @@ -19,5 +19,6 @@ Sender=Remetente ErrorStockIsNotEnough=Não existe estoque suficiente Shippable=Disponivel para envio NonShippable=Não disponivel para envio +ShowShippableStatus=Mostrar status entregável ShowReceiving=Mostrar recibo de entrega NonExistentOrder=Pedido inexistente diff --git a/htdocs/langs/pt_BR/exports.lang b/htdocs/langs/pt_BR/exports.lang index 4475adb3a39..2e11c55f5aa 100644 --- a/htdocs/langs/pt_BR/exports.lang +++ b/htdocs/langs/pt_BR/exports.lang @@ -68,3 +68,4 @@ ComputedField=Campo computado SelectFilterFields=Se você deseja filtrar alguns valores, apenas os valores de entrada aqui. FilteredFieldsValues=Valor para o filtro MultipleRecordFoundWithTheseFilters=Múltiplos registros foram encontrados com esses filtros: %s +StocksWithBatch=Estoques e localização (armazém) de produtos com lote / número de série diff --git a/htdocs/langs/pt_BR/interventions.lang b/htdocs/langs/pt_BR/interventions.lang index 278d3168e9e..b9ec79fa37e 100644 --- a/htdocs/langs/pt_BR/interventions.lang +++ b/htdocs/langs/pt_BR/interventions.lang @@ -43,7 +43,11 @@ InterRef=Intervenção ref. InterDateCreation=Intervenção data de criação InterDuration=Duração intervenção InterStatus=Status de intervenção +InterLine=Linha de intervenção InterLineId=Linha id de intervenção InterLineDate=Linha da data de intervenção InterLineDuration=Linha de duração de intervenção InterLineDesc=Linha de descrição de intervenção +RepeatableIntervention=Modelo de intervenção +ToCreateAPredefinedIntervention=Para criar uma intervenção predefinida ou recorrente, crie uma intervenção comum e converta-a em modelo de intervenção +ConfirmReopenIntervention=Deseja abrir novamente a intervenção %s ? diff --git a/htdocs/langs/pt_BR/productbatch.lang b/htdocs/langs/pt_BR/productbatch.lang index 45766536b7e..de94cb1f0cf 100644 --- a/htdocs/langs/pt_BR/productbatch.lang +++ b/htdocs/langs/pt_BR/productbatch.lang @@ -22,10 +22,5 @@ ShowCurrentStockOfLot=Exibir o estoque atual para o produto/lote ShowLogOfMovementIfLot=Exibir o registro de movimentações para o produto/lote SerialNumberAlreadyInUse=O número de série %s já é usado para o produto %s TooManyQtyForSerialNumber=Você só pode ter um produto %s para o número de série %s -BatchLotNumberingModules=Opções para geração automática de produtos em lote gerenciados por lotes -BatchSerialNumberingModules=Opções para geração automática de produtos em lote gerenciados por números de série ManageLotMask=Máscara personalizada -CustomMasks=Adiciona uma opção para definir máscara no cartão do produto -LotProductTooltip=Adiciona opção ao cartão do produto para definir uma máscara de número de lote dedicado -SNProductTooltip=Adiciona opção ao cartão do produto para definir uma máscara de número de série dedicada QtyToAddAfterBarcodeScan=Quantidade a adicionar para cada código de barras / lote / série digitalizada diff --git a/htdocs/langs/pt_BR/products.lang b/htdocs/langs/pt_BR/products.lang index ae31027f0ab..a4293c94ace 100644 --- a/htdocs/langs/pt_BR/products.lang +++ b/htdocs/langs/pt_BR/products.lang @@ -133,7 +133,6 @@ ResetBarcodeForAllRecords=Definir o valor do código de barras para todos os reg PriceByCustomer=Preços diferenteas para cada cliente PriceCatalogue=Um único preço de venda por produto/serviço AddCustomerPrice=Adicionar preço por cliente -ForceUpdateChildPriceSoc=Situado mesmo preço em outros pedidos dos clientes PriceByCustomerLog=Registros de preços de cliente anteriores MinimumPriceLimit=Preço mínimo não pode ser inferior, em seguida %s MinimumRecommendedPrice=Preço minimo recomendado é : %s diff --git a/htdocs/langs/pt_BR/salaries.lang b/htdocs/langs/pt_BR/salaries.lang index 28c7dfdb337..0ac1be4f306 100644 --- a/htdocs/langs/pt_BR/salaries.lang +++ b/htdocs/langs/pt_BR/salaries.lang @@ -2,14 +2,16 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Conta contábil usada para terceiros usuários SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=A conta contábil dedicada definida no cartão de usuário será usada somente para a contabilidade da Subconta. Este será usado para Contabilidade Geral e como valor padrão da contabilidade do Contador, se a conta contábil do usuário dedicada no usuário não estiver definida. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Conta da Contabilidade padrão para pagamentos de salário +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Por padrão, deixe em branco a opção "Criar automaticamente um pagamento total" ao criar um Salário +NewSalary=Novo salário NewSalaryPayment=Novo cartão de salário AddSalaryPayment=Adicionar pagamento de salário SalaryPayment=Pagamento de salário SalariesPayments=Pagamentos de salários +SalariesPaymentsOf=Pagamentos de salários de %s THM=Taxa média horária TJM=Taxa média diária THMDescription=Este valor pode ser usado para calcular o custo de tempo consumido em um projeto entrado pelos usuários se o módulo projeto for usado TJMDescription=Este valor é usado apenas como informação e não será usado em nenhum cálculo -LastSalaries=Últimos pagamentos de salário %s SalariesStatistics=Estatísticas salariais SalariesAndPayments=Salários e pagamentos diff --git a/htdocs/langs/pt_BR/ticket.lang b/htdocs/langs/pt_BR/ticket.lang index b88555bee7f..6c7827f0c15 100644 --- a/htdocs/langs/pt_BR/ticket.lang +++ b/htdocs/langs/pt_BR/ticket.lang @@ -8,7 +8,6 @@ TicketDictCategory=Tickets - Grupos TicketDictSeverity=Tickets - Gravidades TicketDictResolution=Ticket - Resolução TicketTypeShortHELP=Pedido de ajuda funcional -TicketTypeShortISSUE=Questão, bug ou problema TicketTypeShortREQUEST=Solicitação de alteração ou aprimoramento TicketTypeShortOTHER=Outros TicketSeverityShortLOW=Baixa @@ -18,7 +17,6 @@ MenuTicketMyAssignNonClosed=Meus tickets abertos MenuListNonClosed=Tickets abertos TypeContact_ticket_external_CONTRIBUTOR=Contribuidor externo Notify_TICKET_SENTBYMAIL=Envio do ticket por e-mail -NeedMoreInformation=Aguardando informação Waiting=Aguardando Severity=Gravidade MailToSendTicketMessage=Para enviar e-mail da mensagem do ticket diff --git a/htdocs/langs/pt_BR/users.lang b/htdocs/langs/pt_BR/users.lang index 2c5afbce683..bdf5802dfe9 100644 --- a/htdocs/langs/pt_BR/users.lang +++ b/htdocs/langs/pt_BR/users.lang @@ -80,8 +80,6 @@ LoginToCreate=Login a Criar NameToCreate=Nome do Fornecedor a Criar YourRole=Suas funções YourQuotaOfUsersIsReached=Sua cota de usuarios ativos atingida ! -NbOfUsers=N°. de usuários -NbOfPermissions=N°. de permissões DontDowngradeSuperAdmin=Somente um Super Administrador pode rebaixar um Super Administrador HierarchicView=Visão hierárquica UseTypeFieldToChange=Use campo Tipo para mudar diff --git a/htdocs/langs/pt_BR/website.lang b/htdocs/langs/pt_BR/website.lang index b7439263c5b..a5781ea5a75 100644 --- a/htdocs/langs/pt_BR/website.lang +++ b/htdocs/langs/pt_BR/website.lang @@ -18,7 +18,6 @@ MediaFiles=Biblioteca de mídias AddWebsite=Adicionar site Webpage=Página WEB / container AddPage=Adicionar página / recipiente -PreviewOfSiteNotYetAvailable=Pré-visualização do seu site %s ainda não estão disponíveis. Você deve primeiro Importar um modelo de site completo ou apenas Adicionar uma página / contêiner RequestedPageHasNoContentYet=A página solicitada com id %s ainda não possui conteúdo ou o arquivo de cache .tpl.php foi removido. Edite o conteúdo da página para resolver isso. PageContent=Página / Contenair PageDeleted=Página / Contenair '%s' do site %s excluído diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index bf2343c7c7c..f72525c7626 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utilizador interno ExternalUser=Utilizador externo InternalUsers=Utilizadores internos ExternalUsers=Utilizadores externos +UserInterface=User interface GUISetup=Aparência SetupArea=Configuração UploadNewTemplate=Carregar novo(s) modelo(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Funções SSL não estão disponíveis no seu PHP DownloadMoreSkins=Mais temas para descarregar SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Mostrar id profissional com endereços -ShowVATIntaInAddress=Ocultar número de IVA intracomunitário com endereços +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Tradução parcial MAIN_DISABLE_METEO=Desativar vista meteorológica MeteoStdMod=Modo padrão @@ -1778,7 +1779,7 @@ ClickToDialSetup=Configuração do módulo "Click To Dial" ClickToDialUrlDesc=Uma chamada é efetuada quando o icon é clicado. No URL pode usar as tags:
__PHONETO__ que será substituída pelo número do destinatário
__PHONEFROM__ que será substituída pelo número do remetente
__LOGIN__ que será substituída pelo nome de utilizador da sua conta ClickToDial (definido no seu cartão de utilizador)
__PASS__ que será substituída pela palavra-passe da sua conta ClickToDial (definida no seu cartão de utilizador). ClickToDialDesc=Este módulo altera os números de telefone, ao usar um computador desktop, em links clicáveis. Um clique ligará para o número. Isso pode ser usado para iniciar a chamada telefônica ao usar um softphone em sua área de trabalho ou ao usar um sistema CTI baseado no protocolo SIP, por exemplo. Nota: Ao usar um smartphone, os números de telefone são sempre clicáveis. ClickToDialUseTelLink=Usar apenas um link "tel:" em números de telefone -ClickToDialUseTelLinkDesc=Use esse método se os usuários tiverem um softphone ou uma interface de software instalada no mesmo computador que o navegador e chamados quando você clicar em um link em seu navegador que comece com "tel:". Se você precisar de uma solução de servidor completa (sem necessidade de instalação de software local), deverá definir isso como "Não" e preencher o próximo campo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Ponto de venda CashDeskSetup=Configuração do módulo de ponto de vendas @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recomendada +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/pt_PT/banks.lang b/htdocs/langs/pt_PT/banks.lang index 85603fd0468..1d0e8eb31e6 100644 --- a/htdocs/langs/pt_PT/banks.lang +++ b/htdocs/langs/pt_PT/banks.lang @@ -115,7 +115,7 @@ TransferTo=Para TransferFromToDone=A transferência de %s para %s de %s %s foi criado. CheckTransmitter=Remetente ValidateCheckReceipt=Validar este recibo do cheque? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Eliminar este recibo do cheque? ConfirmDeleteCheckReceipt=Tem a certeza que deseja eliminar este recibo do cheque? BankChecks=Cheques diff --git a/htdocs/langs/pt_PT/boxes.lang b/htdocs/langs/pt_PT/boxes.lang index ee2cd22129a..853020046bd 100644 --- a/htdocs/langs/pt_PT/boxes.lang +++ b/htdocs/langs/pt_PT/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Últimos %s orçamentos modificados -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Faturas a clientes ForCustomersOrders=Encomendas de clientes ForProposals=Orçamentos diff --git a/htdocs/langs/pt_PT/cashdesk.lang b/htdocs/langs/pt_PT/cashdesk.lang index a059b6468ae..eadcfcae193 100644 --- a/htdocs/langs/pt_PT/cashdesk.lang +++ b/htdocs/langs/pt_PT/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/pt_PT/deliveries.lang b/htdocs/langs/pt_PT/deliveries.lang index 35cad55eb41..c8777e9fdf1 100644 --- a/htdocs/langs/pt_PT/deliveries.lang +++ b/htdocs/langs/pt_PT/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Destinatário ErrorStockIsNotEnough=Não existe stock suficiente Shippable= Transportável NonShippable=Não Transportável +ShowShippableStatus=Show shippable status ShowReceiving=Mostrar recibo da entrega NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index 7d316d41ca5..0f42a4312d1 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/pt_PT/eventorganization.lang b/htdocs/langs/pt_PT/eventorganization.lang index eb73e2c1707..0ddb14901dd 100644 --- a/htdocs/langs/pt_PT/eventorganization.lang +++ b/htdocs/langs/pt_PT/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Tipo de evento +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/pt_PT/exports.lang b/htdocs/langs/pt_PT/exports.lang index 083e48f5527..49f2eee70c0 100644 --- a/htdocs/langs/pt_PT/exports.lang +++ b/htdocs/langs/pt_PT/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tipo de linha (0= produto, serviço de 1=) FileWithDataToImport=Arquivo com os dados de importação FileToImport=Fonte ficheiro a importar FileMustHaveOneOfFollowingFormat=O arquivo a ser importado deve ter um dos seguintes formatos -DownloadEmptyExample=Faça o download do arquivo de modelo com informações sobre o conteúdo do campo (* são campos obrigatórios) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Escolha o formato de arquivo para usar como formato de arquivo de importação clicando no ícone %s para selecioná-lo ... ChooseFileToImport=Carregar arquivo, em seguida, clique no ícone %s para selecionar o arquivo como arquivo de importação de origem ... SourceFileFormat=Formato de arquivo de origem diff --git a/htdocs/langs/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index af06712e5be..5d2e091ca1b 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Recarregar módulo %s MigrationResetBlockedLog=Restabelecer o módulo BlockedLog para o algoritmo v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mostrar opções indisponíveis HideNotAvailableOptions=Ocultar opções indisponíveis ErrorFoundDuringMigration=Erro (s) foram relatados durante o processo de migração, portanto, a próxima etapa não está disponível. Para ignorar erros, você pode clicar aqui , mas o aplicativo ou alguns recursos podem não funcionar corretamente até que os erros sejam resolvidos. diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 95ae942396c..18e05d7c5c8 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -934,13 +934,13 @@ EMailTemplates=Modelos de e-mail FileNotShared=Ficheiro não partilhado para o público exterior. Project=Projeto Projects=Projetos -LeadOrProject=Pista | Projecto -LeadsOrProjects=Pistas | Projectos +LeadOrProject=Oportunidade | Projecto +LeadsOrProjects=Oportunidades | Projectos Lead=Pista Leads=Pistas -ListOpenLeads=Listar pistas em aberto +ListOpenLeads=Listar Oportunidade(s) aberta(s) ListOpenProjects=Listar projectos em aberto -NewLeadOrProject=Nova pista ou projecto +NewLeadOrProject=Nova(o) Oportunidade ou projecto Rights=Permissões LineNb=Linha número IncotermLabel=Incoterms diff --git a/htdocs/langs/pt_PT/productbatch.lang b/htdocs/langs/pt_PT/productbatch.lang index 508a22b0668..660b82a8081 100644 --- a/htdocs/langs/pt_PT/productbatch.lang +++ b/htdocs/langs/pt_PT/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Mostrar registo de movimentos para cada par produto/lote StockDetailPerBatch=Detalhes do estoque por lote SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index 0d6f2756144..46c01b483b5 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Preços diferentes para cada cliente PriceCatalogue=Um único preço de venda por produto / serviço PricingRule=Regras para preços de venda AddCustomerPrice=Adicionar preço por produto -ForceUpdateChildPriceSoc=Definir o mesmo preço em subsidiárias de clientes +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log dos preços anteriores do cliente MinimumPriceLimit=O preço mínimo não pode ser menor que %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Aumentar / Diminuir o estoque na mudança pai ComposedProduct=Child products MinSupplierPrice=Preço de compra mínimo MinCustomerPrice=Preço mínimo de venda +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Configuração dinâmica de preços DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Adicionar Variável diff --git a/htdocs/langs/pt_PT/salaries.lang b/htdocs/langs/pt_PT/salaries.lang index 317b98ad927..a3830a5441d 100644 --- a/htdocs/langs/pt_PT/salaries.lang +++ b/htdocs/langs/pt_PT/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Conta contabilística utilizada para utilizadores de terceiros SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Conta contabilística usada por defeito para pagamentos de salários +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salário Salaries=Salários -NewSalaryPayment=Novo Pagamento de Salário +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Pagamento de Salário SalariesPayments=Pagamentos de Salários +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Mostrar pagamento de salário THM=Taxa horária média TJM=Taxa diária média CurrentSalary=Salário atual THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Últimos %s pagamentos salariais -AllSalaries=Todos os pagamentos salariais +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/pt_PT/ticket.lang b/htdocs/langs/pt_PT/ticket.lang index 841f949a4e8..d76ea1eaf46 100644 --- a/htdocs/langs/pt_PT/ticket.lang +++ b/htdocs/langs/pt_PT/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Questão comercial TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projeto TicketTypeShortOTHER=Outro @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Usuário atribuído TypeContact_ticket_external_SUPPORTCLI=Contato com o cliente / acompanhamento de incidentes TypeContact_ticket_external_CONTRIBUTOR=Colaborador externo -OriginEmail=Fonte de e-mail +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Ler Assigned=Atribuído InProgress=Em progresso -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Respondidas Waiting=Em espera Closed=Fechado @@ -160,7 +162,7 @@ CreatedBy=Criado por NewTicket=Novo ticket SubjectAnswerToTicket=Bilhete de resposta TicketTypeRequest=Tipo de solicitação -TicketCategory=Grupo +TicketCategory=Ticket categorization SeeTicket=Ver ticket TicketMarkedAsRead=O ticket foi marcado como lido TicketReadOn=Lido a @@ -211,6 +213,7 @@ TicketMessageHelp=Apenas este texto será salvo na lista de mensagens no cartão TicketMessageSubstitutionReplacedByGenericValues=As variáveis ​​de substituição são substituídas por valores genéricos. TimeElapsedSince=Tempo decorrido desde TicketTimeToRead=Tempo decorrido antes de ler +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Ticket dos contactos TicketDocumentsLinked=Documentos ligados ao ticket ConfirmReOpenTicket=Confirmar reabertura deste ticket? diff --git a/htdocs/langs/pt_PT/users.lang b/htdocs/langs/pt_PT/users.lang index 89ff0bb9258..e3e157a101c 100644 --- a/htdocs/langs/pt_PT/users.lang +++ b/htdocs/langs/pt_PT/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Iniciar a sessão para criar NameToCreate=Nome do Terceiro a Criar YourRole=As suas funções YourQuotaOfUsersIsReached=A sua quota de utilizadores ativos foi atingida! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Apenas um superadmin pode desclassificar um superadmin HierarchicalResponsible=Supervisor HierarchicView=Visualização Hierárquica diff --git a/htdocs/langs/pt_PT/website.lang b/htdocs/langs/pt_PT/website.lang index 9666ec3700a..8b21f3f8ce4 100644 --- a/htdocs/langs/pt_PT/website.lang +++ b/htdocs/langs/pt_PT/website.lang @@ -31,7 +31,7 @@ AddWebsite=Adicionar site da Web Webpage=Página/recipiente da Web AddPage=Adicionar página/recipiente PageContainer=Página -PreviewOfSiteNotYetAvailable=Pré-visualização do seu site %s ainda não disponível. Você deve primeiro ' Importar um modelo de site completo ' ou apenas ' Adicionar uma página / contêiner '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Página solicitada com o ID %s ainda não tem conteúdo, ou o arquivo de cache .tpl.php foi removido. Edite o conteúdo da página para resolver isso. SiteDeleted=Web site '%s' excluído PageContent=Página / Recipiente diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index a04fad974ea..d559fac6ed8 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -53,6 +53,7 @@ InternalUser=Utilizator intern ExternalUser=Utilizator extern InternalUsers=Utilizatori interni ExternalUsers=Utilizatori externi +UserInterface=Interfaţă utilizator GUISetup=Afişare SetupArea=Setări UploadNewTemplate=Încărcați șabloan(e) noi @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Funcţiile SSL funcţii nu sunt disponibile în PHP DownloadMoreSkins=Mai multe teme de descărcat SimpleNumRefModelDesc=Returnează numărul de referință în formatul %s yymm-nnnn unde yy este anul, mm este luna și nnnn este un număr secvențial cu incrementare automată fără resetare SimpleNumRefNoDateModelDesc=Returnează numărul de referință în formatul %s-nnnn unde nnnn este un număr de incrementare automată secvențial fără resetare -ShowProfIdInAddress=Afișare id profesional cu adrese -ShowVATIntaInAddress=Ascunde cota de TVA intracomunitar cu adrese +ShowProfIdInAddress=Afişează Id-ul profesional cu adresele +ShowVATIntaInAddress=Ascunde codul de TVA intracomunitar TranslationUncomplete=Traducere parţială MAIN_DISABLE_METEO=Dezactivare vizualizarea meteorologică MeteoStdMod=Mod standard @@ -1778,7 +1779,7 @@ ClickToDialSetup=Configurare modul Click To Dial ClickToDialUrlDesc=URL-ul se apelează când se face clic pe pictograma telefon. În URL, poţi utiliza etichete
__PHONETO__ care vor fi înlocuite cu numărul de telefon al persoanei de apelat
__PHONEFROM__ care va fi înlocuit cu numărul de telefon al apelantului (al tău)
__LOGIN__ , care va fi înlocuit cu numele de autentificare clicktodial (definită pe fişa utilizator)
__PASS__ care va fi înlocuit cu parola clicktodial (definită pe fişa utilizator). ClickToDialDesc=Acest modul schimbă numerele de telefon, atunci când utilizați un computer desktop, în linkuri cu clic. Un clic va apela numărul. Acest lucru poate fi folosit pentru a porni apelul telefonic atunci când utilizați un telefon smart sau când utilizați un sistem CTI bazat pe protocolul SIP, de exemplu. Notă: Când utilizați un smartphone, numerele de telefon sunt întotdeauna făcute clic. ClickToDialUseTelLink=Utilizează doar link "tel:" pe numerele de telefon -ClickToDialUseTelLinkDesc=Utilizați această metodă dacă utilizatorii dvs. au un smartphone sau o interfață software instalată pe același computer ca browserul și poţi apela când faci clic pe un link din browser care începe cu "tel:". Dacă aveți nevoie de o soluție completă de server (fără instalarea software locală), trebuie să setați această opțiune la "Nu" și să completați câmpul următor. +ClickToDialUseTelLinkDesc=Utilizează această metodă dacă utilizatorii au un smartphone sau o interfață software, instalată pe același computer cu browserul și se poate apela când faceți clic pe un link care începe cu "tel:" direct din browser. Dacă aveți nevoie de un link care începe cu "sip:" sau o soluție completă de server (nu este nevoie de instalarea software-ului local), trebuie să setați la „"Nu" și să completați câmpul următor. ##### Point Of Sale (CashDesk) ##### CashDesk=POS CashDeskSetup=Configurare modul POS @@ -2133,6 +2134,7 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Cu excepția cazului în care trebu PHPFunctionsRequiredForCLI=Pentru shell (cum ar fi jobul programat de backup sau rularea unui program antivirus), trebuie să păstrați funcțiile PHP  NoWritableFilesFoundIntoRootDir=Nu au fost găsite în directorul rădăcină fișiere sau directoare scriptibile ale programelor comune (OK)  RecommendedValueIs=Recomandat: %s +Recommended=Recomandat NotRecommended=Nerecomandat ARestrictedPath=O cale restricţionată CheckForModuleUpdate=Verificare actualizări module externe @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Ai activat WS API care este învechi RandomlySelectedIfSeveral=Selectat aleatoriu dacă sunt disponibile mai multe imagini DatabasePasswordObfuscated=Parola bazei de date este eclipsată în fişierul conf DatabasePasswordNotObfuscated=Parola bazei de date NU este eclipsată în fişierul conf +APIsAreNotEnabled=Modulele API nu sunt activate +YouShouldSetThisToOff=Ar trebui să setezi la 0 sau dezactivat diff --git a/htdocs/langs/ro_RO/banks.lang b/htdocs/langs/ro_RO/banks.lang index c2c4abffe0c..f5f697dc0d3 100644 --- a/htdocs/langs/ro_RO/banks.lang +++ b/htdocs/langs/ro_RO/banks.lang @@ -115,7 +115,7 @@ TransferTo=La TransferFromToDone=Un transfer de la %s la %s de%s %s a fost înregistrat. CheckTransmitter=Expeditor ValidateCheckReceipt=Validați această chitanță cec? -ConfirmValidateCheckReceipt=Sigur vrei să trimiteți spre validare această filă cec? Nu sunt posibile modificări ulterioare. +ConfirmValidateCheckReceipt=Sigur vrei să trimiți această filă cec pentru validare? Nu vor fi posibile modificări după validare. DeleteCheckReceipt=Ștergeți această chitanță cec? ConfirmDeleteCheckReceipt=Sigur stergeți această chitanță cec? BankChecks=Cecuri bancare diff --git a/htdocs/langs/ro_RO/boxes.lang b/htdocs/langs/ro_RO/boxes.lang index b487e847d65..c88b68e89db 100644 --- a/htdocs/langs/ro_RO/boxes.lang +++ b/htdocs/langs/ro_RO/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Comenzi furnizor: ultimele %s modificate BoxTitleLastModifiedCustomerBills=Facturi clienți: ultimele %s modificate BoxTitleLastModifiedCustomerOrders=Comenzi de vânzări: ultimele %s modificate BoxTitleLastModifiedPropals=Ultimele %s oferte modificate -BoxTitleLatestModifiedJobPositions=Ultimile %s joburi modificate -BoxTitleLatestModifiedCandidatures=Ultimile %s candidaturi job modificate +BoxTitleLatestModifiedJobPositions=Ultimele %s joburi modificate +BoxTitleLatestModifiedCandidatures=Ultimele %s aplicări la joburi modificate ForCustomersInvoices=Facturi clienţi ForCustomersOrders=Comenzi clienți ForProposals=Oferte diff --git a/htdocs/langs/ro_RO/cashdesk.lang b/htdocs/langs/ro_RO/cashdesk.lang index 917fa1d9320..5449d7aeb44 100644 --- a/htdocs/langs/ro_RO/cashdesk.lang +++ b/htdocs/langs/ro_RO/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment= Permite plata cu întârziere PrintPaymentMethodOnReceipts=Tipăriți metoda de plată pe bonuri|chitanțe WeighingScale=Cântar ShowPriceHT = Afișare coloană preț fără taxe (pe ecran) -ShowPriceHTOnReceipt = Afișare coloană preț fără taxe (pe bon) +ShowPriceHTOnReceipt = Afișare coloană cu prețul fără taxe (pe chitanță/bon)  diff --git a/htdocs/langs/ro_RO/deliveries.lang b/htdocs/langs/ro_RO/deliveries.lang index 53e4e7d825b..7537953cb21 100644 --- a/htdocs/langs/ro_RO/deliveries.lang +++ b/htdocs/langs/ro_RO/deliveries.lang @@ -1,31 +1,33 @@ # Dolibarr language file - Source file is en_US - deliveries Delivery=Livrare DeliveryRef=Ref Livrare -DeliveryCard=Chitanta card +DeliveryCard=Notă de livrare DeliveryOrder=Bon de livrare -DeliveryDate=Data de livrare -CreateDeliveryOrder=Generați chitanța de livrare -DeliveryStateSaved=Stare livrare salvata +DeliveryDate=Dată de livrare +CreateDeliveryOrder=Generați nota de livrare +DeliveryStateSaved=Stare livrare salvată SetDeliveryDate=Setaţi data de expediere -ValidateDeliveryReceipt=Validare recepţie livrare -ValidateDeliveryReceiptConfirm=Sigur doriți să validați această chitanță de livrare? -DeleteDeliveryReceipt=Ştergeţi recepţie livrare -DeleteDeliveryReceiptConfirm=Sigur doriți să ștergeți chitanța de livrare %s ? -DeliveryMethod=Metoda de livrare -TrackingNumber=Număr de urmărire -DeliveryNotValidated=Livrare nevalidată -StatusDeliveryCanceled=Anulata -StatusDeliveryDraft=Draft +ValidateDeliveryReceipt=Validare notă de livrare +ValidateDeliveryReceiptConfirm=Sigur doriți să validați această notă de livrare? +DeleteDeliveryReceipt=Ştergere notă de livrare +DeleteDeliveryReceiptConfirm=Sigur doriți să ștergeți nota de livrare %s? +DeliveryMethod=Metodă de livrare +TrackingNumber=Număr de urmărire AWB +DeliveryNotValidated=Livrare nevalidată +StatusDeliveryCanceled=Anulată +StatusDeliveryDraft=Schiţă StatusDeliveryValidated=Primit # merou PDF model NameAndSignature=Numele și semnătura: -ToAndDate=To___________________________________ pe ____ / _____ / __________ -GoodStatusDeclaration=Au primit bunurile în bună stare de mai sus, -Deliverer=Expeditor: +ToAndDate=Către___________________________________ pe data de ____ / _____ / __________ +GoodStatusDeclaration=Au primit bunurile de mai sus, în stare bună, +Deliverer=Livrator: Sender=Expeditor -Recipient=Recipient +Recipient=Destinatar ErrorStockIsNotEnough=Nu există stoc suficient Shippable=Livrabil NonShippable=Nelivrabil +ShowShippableStatus=Afișare status de expediere ShowReceiving= Afișare notă de recepție -NonExistentOrder=Ordin inexistent +NonExistentOrder=Comandă inexistentă +StockQuantitiesAlreadyAllocatedOnPreviousLines = Cantități de stoc deja alocate pe liniile anterioare diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index ad6f11fd140..705f1d3ad97 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Utilizatorul deţinător este oblig ErrorActionCommBadType=Tipul evenimentului selectat (id: %n, cod: %s) nu există în dicţionarul Tipuri evenimente CheckVersionFail=Verificarea versiunii a eşuat ErrorWrongFileName=Numele fișierului nu poate să conțină _SOMETHING_ în el +ErrorNotInDictionaryPaymentConditions=Nu se află în dicționarul Condiții de plată, vă rugăm să modificați. diff --git a/htdocs/langs/ro_RO/eventorganization.lang b/htdocs/langs/ro_RO/eventorganization.lang index d8703b49e48..5ec65a8c195 100644 --- a/htdocs/langs/ro_RO/eventorganization.lang +++ b/htdocs/langs/ro_RO/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Link descărcare ICS EVENTORGANIZATION_SECUREKEY = Cheie securizată link public de înregistrare la o conferință SERVICE_BOOTH_LOCATION = Serviciu utilizat pentru linia de facturare privind locaţia standului SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Serviciu utilizat pentru linia de facturare pentru o taxă de participare la o conferință +NbVotes=Număr de voturi # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Această conferinţă începe pe %s şi se termină pe %s. ConferenceAttendeeFee = Taxă de participare la conferință pentru evenimentul: '%s' care are loc de pe %s până la %s. BoothLocationFee = Locaţie stand pentru evenimentul: '%s' care se desfăşoară între %s şi %s EventType = Tip eveniment +LabelOfBooth=Etichetă stand +LabelOfconference=Etichetă conferinţă +ConferenceIsNotConfirmed=Înscrierea nu este disponibilă, conferinţa nu este confirmată încă # # Vote page diff --git a/htdocs/langs/ro_RO/exports.lang b/htdocs/langs/ro_RO/exports.lang index 08f9a64d27e..28c2266d9f6 100644 --- a/htdocs/langs/ro_RO/exports.lang +++ b/htdocs/langs/ro_RO/exports.lang @@ -1,136 +1,137 @@ # Dolibarr language file - Source file is en_US - exports ExportsArea=Exporturi ImportArea=Import -NewExport=Exportul nou -NewImport=Importul nou -ExportableDatas=Exportabil de date -ImportableDatas=Importable de date -SelectExportDataSet=Alegeţi de date pe care doriţi să le export ... -SelectImportDataSet=Alegeţi de date pe care doriţi să o import ... +NewExport=Export nou +NewImport=Import nou +ExportableDatas=Set de date exportabil +ImportableDatas=Set de date importabil +SelectExportDataSet=Alege setul de date pe care doreşti să-l exporţi... +SelectImportDataSet=Alege setul de date pe care doreşti să-l imporţi... SelectExportFields=Alegeți câmpurile pe care doriți să le exportați sau selectați un profil de export predefinit -SelectImportFields=Alegeți câmpurile sursă de fișier pe care doriți să le importați și câmpul țintă în baza de date deplasându-le în sus și în jos cu ancora %s sau selectând un profil predefinit de import: -NotImportedFields=Câmpurile fişierului sursă nu importate +SelectImportFields=Alege câmpurile din fișierul sursă pe care doreşti să le imporți și câmpurile țintă din baza de date deplasându-te în sus și în jos cu ancora %s sau selectând un profil predefinit de import: +NotImportedFields=Câmpurile fişierului sursă nu au fost importate SaveExportModel=Salvați selecțiile ca profil de export/șablon (pentru reutilizare). SaveImportModel=Salvați acest profil de import (pentru reutilizare) ... -ExportModelName=Export profil nume -ExportModelSaved=Exportați profilul salvat ca %s . +ExportModelName=Nume profil export date +ExportModelSaved=Exportați profilul salvat ca %s. ExportableFields=Câmpuri exportabile ExportedFields=Câmpuri exportate -ImportModelName=Import profil nume -ImportModelSaved=Profilul de import a fost salvat ca %s . -DatasetToExport=De date la export -DatasetToImport=De date pentru a importa -ChooseFieldsOrdersAndTitle=Alegeţi câmpurile pentru ... -FieldsTitle=Câmpuri titlu -FieldTitle=Domeniul titlu +ImportModelName=Nume profil import date +ImportModelSaved=Profilul de import a fost salvat ca %s. +DatasetToExport=Set de date de exportat +DatasetToImport=Import fişier în set de date +ChooseFieldsOrdersAndTitle=Alegeţi ordinea câmpurilor... +FieldsTitle=Câmpuri titlu +FieldTitle=Titlu câmp NowClickToGenerateToBuildExportFile=Acum, selectați formatul de fișier în caseta combo și faceți clic pe "Generare" pentru a construi fișierul de export ... AvailableFormats=Formate disponibile -LibraryShort=Biblioteca +LibraryShort=Bibliotecă ExportCsvSeparator=Separator caractere CSV ImportCsvSeparator=Separator caractere CSV -Step=Pasul +Step=Pas FormatedImport=Asistent import FormatedImportDesc1=Acest modul vă permite să actualizați datele existente sau să adăugați obiecte noi în baza de date dintr-un fișier fără cunoștințe tehnice, utilizând un asistent. -FormatedImportDesc2=Primul pas este să alegeți tipul de date pe care doriți să îl importați, apoi formatul fișierului sursă, apoi câmpurile pe care doriți să le importați. +FormatedImportDesc2=Primul pas este să alegi tipul de date pe care doreşti să-l imporți, apoi formatul fișierului sursă, apoi câmpurile pe care vrei să le imporți. FormatedExport=Asistent export -FormatedExportDesc1=Aceste instrumente permit exportul de date personalizate folosind un asistent, pentru a vă ajuta în acest proces fără a necesita cunoștințe tehnice. +FormatedExportDesc1=Aceste instrumente permit exportul de date personalizate folosind un asistent, pentru a te ajuta în acest proces fără a necesita cunoștințe tehnice. FormatedExportDesc2=Primul pas este să alegeți un set de date predefinit, apoi câmpurile pe care doriți să le exportați și în ce ordine. FormatedExportDesc3=Când sunt selectate datele de export, puteți alege formatul fișierului de ieșire. Sheet=Foaie -NoImportableData=Nu importable de date (nu cu modul de definiţii, pentru a permite importul de date) +NoImportableData=Date neimportabile (niciun modul cu definiţii care să permită importul) FileSuccessfullyBuilt=Fișierul generat SQLUsedForExport=Interogare SQL utilizată pentru extragerea datelor -LineId=Id-ul de linie -LineLabel=Eticheta linie -LineDescription=Descriere de linie -LineUnitPrice=Preţul unitar de linie -LineVATRate=TVA de linie -LineQty=Cantitate de linie -LineTotalHT=Cantitate excl. taxa pentru linie -LineTotalTTC=Suma cu taxa de linie -LineTotalVAT=Suma TVA pentru linia +LineId=Id linie +LineLabel=Etichetă linie +LineDescription=Descriere linie +LineUnitPrice=Preţul unitar pentru linie +LineVATRate=Cota TVA pentru linie +LineQty=Cantitate pentru linie +LineTotalHT=Valoarea fără taxe pentru linie +LineTotalTTC=Valoarea cu taxe pentru linie +LineTotalVAT=Valoare TVA pentru linie TypeOfLineServiceOrProduct=Tip de linie (0= produs, 1= serviciu) FileWithDataToImport=Fişiere cu date de import FileToImport=Fişierul sursă de import FileMustHaveOneOfFollowingFormat=Fișierul de import trebuie să aibă unul din următoarele formate -DownloadEmptyExample=Descărcați fișierul șablon cu informații despre conținutul câmpului (* sunt câmpuri obligatorii) -ChooseFormatOfFileToImport=Alegeți formatul de fișier pentru a fi utilizat ca format de fișier de import făcând clic pe pictograma %s pentru a o selecta ... -ChooseFileToImport=Încărcați fișierul, apoi dați clic pe pictograma %s pentru a selecta fișierul ca fișier de import al sursei ... -SourceFileFormat=Sursa Format fişier -FieldsInSourceFile=Câmpuri in fişierul sursă -FieldsInTargetDatabase=Câmpuri-țintă în baza de date Dolibarr (bold = obligatoriu) +DownloadEmptyExample=Descărcare fișier șablon cu informații despre conținutul câmpului +StarAreMandatory=* sunt câmpuri obligatorii +ChooseFormatOfFileToImport=Alegeți formatul de fișier care va fi utilizat ca format de fișier de import făcând clic pe pictograma %s pentru selecţie... +ChooseFileToImport=Încărcați fișierul, apoi dați clic pe pictograma %s pentru a selecta fișierul ca sursă de import... +SourceFileFormat=Format fişier sursă +FieldsInSourceFile=Câmpuri în fişierul sursă +FieldsInTargetDatabase=Câmpuri-țintă în baza de date a sistemului (bold = obligatoriu) Field=Câmp NoFields=Niciun câmp -MoveField=Mutare coloana %s domeniul număr +MoveField=Mută câmpul coloană cu numărul %s ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Salvaţi acest profil de import -ErrorImportDuplicateProfil=Nu am putut salva acest profil de import cu acest nume. Un profil existent deja cu acest nume. +SaveImportProfile=Salvează acest profil de import +ErrorImportDuplicateProfil=Nu am putut salva profilul de import cu acest nume. Un profil există deja cu acest nume. TablesTarget=Tabelele vizate FieldsTarget=Câmpuri vizate FieldTarget=Câmp vizat -FieldSource=Sursa de câmp +FieldSource=Câmp sursă NbOfSourceLines=Numărul de linii în fişierul sursă -NowClickToTestTheImport=Verificați dacă formatul fișierului (câmpurile și delimitatorii de șir) al fișierului dvs. corespunde opțiunilor afișate și că ați omis linia antetului sau acestea vor fi semnalate ca erori în următoarea simulare.
Faceți clic pe butonul " %s " pentru a rula o verificare a structurii / conținutului fișierelor și a simula procesul de importare.
Nu se vor schimba date în baza dumneavoastră de date . +NowClickToTestTheImport=Verifică dacă formatul fișierului (câmpurile și delimitatorii de șir) din fișierul tău corespunde opțiunilor afișate și că ai omis linia antetului; acestea vor fi semnalate ca erori în următoarea simulare.
Faceți clic pe butonul " %s " pentru a rula o verificare a structurii/conținutului fișierelor și a simula procesul de importare.
Nu se vor modifica informaţii din baza de date . RunSimulateImportFile=Rulați simularea de import FieldNeedSource=Acest câmp cere date din fişierul sursă -SomeMandatoryFieldHaveNoSource=Unele câmpuri obligatorii nu au nicio sursă de date de la dosar -InformationOnSourceFile=Informaţii privind fişier sursă +SomeMandatoryFieldHaveNoSource=Unele câmpuri obligatorii nu au nicio sursă de date din fişier +InformationOnSourceFile=Informaţii privind fişierul sursă InformationOnTargetTables=Informaţii privind câmpurile ţintă SelectAtLeastOneField=Comută cel puțin un câmp sursă în coloana de câmpuri de exportat -SelectFormat=Alegeţi acest fişier format de import -RunImportFile=Importați date -NowClickToRunTheImport=Verificați rezultatele simulării de import. Corectați orice eroare și retestați.
Când simularea nu raportează erori, puteți continua să importați datele în baza de date. +SelectFormat=Alege acest format de fişier de import +RunImportFile=Import date +NowClickToRunTheImport=Verifică rezultatele simulării de import. Corectează orice eroare și re-testează.
Când simularea nu mai raportează erori, poţi importa datele în baza de date. DataLoadedWithId=Datele importate vor avea un câmp suplimentar în fiecare tabelă de bază de date cu acest id de import: %s , pentru a permite ca acesta să poată fi căutat în cazul investigării unei probleme legate de acest import. -ErrorMissingMandatoryValue=Datele obligatorii sunt goale în fișierul sursă pentru câmpul %s . -TooMuchErrors=Există încă %s alte linii sursă cu erori, dar ieșirea a fost limitată. -TooMuchWarnings=Există încă %s alte linii sursă cu avertismente, dar ieșirea a fost limitată. -EmptyLine=linie goală (vor fi aruncate) -CorrectErrorBeforeRunningImport=Trebuie să trebuie să corectaţi toate erorile înainte ca să ruleze importul definitiv. -FileWasImported=Dosarul a fost importat cu %s număr. -YouCanUseImportIdToFindRecord=Puteți găsi toate înregistrările importate în baza dvs. de date prin filtrarea pe câmpul import_key = '%s' . -NbOfLinesOK=Numărul de linii fără erori şi fără avertismente: %s. -NbOfLinesImported=Numărul de linii cu succes importate: %s. -DataComeFromNoWhere=Valoare pentru a introduce vine de nicăieri în fişierul sursă. -DataComeFromFileFieldNb=Valoare pentru a introduce %s vine de la numărul de câmp în fişierul sursă. -DataComeFromIdFoundFromRef=Valoarea care vine de la numărul câmpului %s din fișierul sursă va fi utilizată pentru a găsi id-ul obiectului parental de folosit (astfel încât obiectul %s care are ref. din fișierul sursă trebuie să existe în baza de date). -DataComeFromIdFoundFromCodeId=Codul care vine de la numărul de câmp %s din fișierul sursă va fi folosit pentru a găsi id-ul obiectului parental de folosit (astfel încât codul din fișierul sursă trebuie să existe în dicționar %s ). Rețineți că, dacă cunoașteți idul, îl puteți utiliza și în fișierul sursă în locul codului. Importul ar trebui să funcționeze în ambele cazuri. -DataIsInsertedInto=Datele provin din fişierul sursă va fi inserat în câmpul de următoarele: -DataIDSourceIsInsertedInto=ID-ul obiectului părinte a fost găsit utilizând datele din fișierul sursă, va fi introdus în câmpul următor: -DataCodeIDSourceIsInsertedInto=ID-ul de linie de la mamă găsit codul, va fi introdus în câmpul următorul text: -SourceRequired=valoarea datelor este obligatorie -SourceExample=Exemplu de valoare posibilă de date -ExampleAnyRefFoundIntoElement=Orice Ref gasit pentru %s element +ErrorMissingMandatoryValue=Date obligatorii sunt necompletate în fișierul sursă pentru câmpul %s. +TooMuchErrors=Există încă %s alte linii sursă cu erori, dar afişarea a fost limitată. +TooMuchWarnings=Există încă %s alte linii sursă cu avertismente, dar afişarea a fost limitată. +EmptyLine=Linie goală (va fi ignorată) +CorrectErrorBeforeRunningImport=Trebuie să corectezi toate erorile înainte de a rula importul definitiv. +FileWasImported=Fişierul a fost importat cu numărul %s. +YouCanUseImportIdToFindRecord=Găsiţi toate înregistrările importate în baza de date filtrând pe câmpul import_key = '%s'. +NbOfLinesOK=Număr de linii fără erori şi fără avertismente: %s. +NbOfLinesImported=Număr de linii importate cu succes: %s. +DataComeFromNoWhere=Valoarea de inserare necunoscută în fişierul sursă. +DataComeFromFileFieldNb=Valoarea de introdus vine din câmpul cu numărul %s din fişierul sursă. +DataComeFromIdFoundFromRef=Valoarea care provine din câmpul cu numărul %s din fișierul sursă va fi utilizată pentru a găsi id-ul obiectului părinte care se va folosi (astfel încât obiectul %s care are referinţa din fișierul sursă trebuie să existe în baza de date). +DataComeFromIdFoundFromCodeId=Codul care provine din câmpul cu numărul %s din fișierul sursă va fi folosit pentru a găsi id-ul obiectului părinte utilizat (deci codul din fișierul sursă trebuie să existe în dicționarul %s). Reține că, dacă cunoști id-ul, îl poți utiliza și în fișierul sursă în locul codului. Importul ar trebui să funcționeze în ambele cazuri. +DataIsInsertedInto=Datele care provin din fişierul sursă vor fi inserate în următorul câmp: +DataIDSourceIsInsertedInto=ID-ul obiectului părinte a fost găsit utilizând datele din fișierul sursă, va fi introdus în următorul câmp: +DataCodeIDSourceIsInsertedInto=ID-ul liniei părinte găsit în cod, va fi introdus în următorul câmp: +SourceRequired=Valoarea de tip dată este obligatorie +SourceExample=Exemplu de valoare posibilă +ExampleAnyRefFoundIntoElement=Orice referinţă gasită pentru elementul %s ExampleAnyCodeOrIdFoundIntoDictionary=Orice cod (sau id) găsit în dicţionarul %s -CSVFormatDesc= Valoarea separată prin virgulă formatul de fișier (.csv).
Acesta este un format de fișier text în care câmpurile sunt separate printr-un separator [%s]. Dacă separatorul se găsește într-un conținut de câmp, câmpul este rotunjit de caracterul rotund [%s]. Caracterul ESC pentru a scăpa de caracterul rotund este [%s]. -Excel95FormatDesc= Excel format (.xls)
Acesta este formatul nativ Excel 95 (BIFF5). -Excel2007FormatDesc= Excel format fișier (.xlsx)
Acesta este formatul nativ Excel 2007 (SpreadsheetML). -TsvFormatDesc= Tab Separat Valoare format de fișier (.tsv)
Acesta este un format de fișier text în care câmpurile sunt separate printr-un tabulator [tab]. -ExportFieldAutomaticallyAdded=Câmpul %s a fost adăugat automat. Va evita să aveți linii similare pentru a fi tratate ca înregistrări duplicate (cu acest câmp adăugat, toate liniile vor avea propriul id și vor diferi). -CsvOptions=Optiuni de format CSV +CSVFormatDesc=Formatul de fişier (.csv) Valoare separată prin virgulă .
Acesta este un format de fișier text în care câmpurile sunt separate printr-un separator [%s]. Dacă separatorul se găsește într-un câmp de conţinut, câmpul este trunchiat de caracterul [%s]. Caracterul de evadare este [%s]. +Excel95FormatDesc=Formatul de fişier Excel (.xls)
Acesta este formatul nativ Excel 95 (BIFF5). +Excel2007FormatDesc=Formatul de fişier Excel (.xlsx)
Acesta este formatul nativ Excel 2007 (SpreadsheetML). +TsvFormatDesc=Formatul de fişier (.tsv) Valori separate prin Tab
Acesta este un format de fișier text în care câmpurile sunt separate printr-un tabulator [tab]. +ExportFieldAutomaticallyAdded=Câmpul %s a fost adăugat automat. Se va evita introducerea de linii similare considerate ca înregistrări duplicate (cu acest câmp adăugat, toate liniile vor avea propriul id și vor diferi). +CsvOptions=Opţiuni format CSV Separator=Separator de câmp Enclosure=Delimitator de şir SpecialCode=Cod special -ExportStringFilter=%% permite înlocuirea unuia sau mai multor caractere in text -ExportDateFilter=AAAA, AAAALL, AAAALLZZ: filtre pe un an / lună / zi
AAAA + AAAA, AAAALL + AAAALL, AAAALLZZ + AAAALLZZ: filtre pe o perioadă de ani / luni / zile
> AAAA, > AAAALL, > AAAALLZZ: filtre pentru toți anii / lunile / zilele urmatori
NNNNN + NNNNN filtrează peste un interval de valori
Filtre NNNNN prin valori mai mici
> Filtre NNNNN prin valori mai mari -ImportFromLine=Importul pornind de la linia numărul +ExportStringFilter=%% permite înlocuirea unuia sau mai multor caractere în text +ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filtre după an/lună/zi
YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD: filtre pe o perioadă de ani/luni/zile
> YYYY, > YYYYMM, > YYYYMMDD: filtre pentru toţi anii/lunile/zilele următoare
< YYYY, < YYYYMM, < YYYYMMDD: filtre pentru toți anii/lunile/zilele anterioare +ExportNumericFilter=NNNNN filtrează după o valoare
NNNNN + NNNNN filtrează după un interval de valori
< NNNNN filtrează după valori mai mici
> NNNNN după valori mai mari +ImportFromLine=Importă începând cu linia numărul EndAtLineNb=Sfârșit la linia numărul ImportFromToLine=Interval limită (De la - Până la). Ex. pentru a omite linia(ile) de cap de tabel. -SetThisValueTo2ToExcludeFirstLine=De exemplu, setați această valoare la 3 pentru a exclude primele 2 linii.
Dacă liniile de antet NU sunt omise, aceasta va duce la mai multe erori în simularea importului. +SetThisValueTo2ToExcludeFirstLine=De exemplu, setează această valoare la 3 pentru a exclude primele 2 linii.
Dacă liniile de antet NU sunt omise, aceasta va duce la mai multe erori în simularea importului. KeepEmptyToGoToEndOfFile=Păstrați acest câmp gol pentru a procesa toate liniile până la sfârșitul fișierului. -SelectPrimaryColumnsForUpdateAttempt=Selectați coloana (coloanele) de utilizat ca cheie primară pentru o importare UPDATE -UpdateNotYetSupportedForThisImport=Actualizarea nu este acceptată pentru acest tip de import (inserați numai) -NoUpdateAttempt=Nu a fost efectuată nicio încercare de actualizare, se introduce numai +SelectPrimaryColumnsForUpdateAttempt=Selectează coloana(coloanele) de utilizat ca cheie primară pentru un import cu actualizare UPDATE +UpdateNotYetSupportedForThisImport=Actualizarea nu este acceptată pentru acest tip de import (doar inserare) +NoUpdateAttempt=Nu a fost efectuată nicio încercare de actualizare, doar se inserează ImportDataset_user_1=Utilizatori (angajați sau nu) și proprietăți -ComputedField=Câmpul calculat +ComputedField=Câmp calculat ## filters SelectFilterFields=Dacă doriți să filtrați pe anumite valori, doar introduceţi valorile aici. FilteredFields=Câmpuri filtrate FilteredFieldsValues=Valoare pentru filtru FormatControlRule=Regula de control a formatelor ## imports updates -KeysToUseForUpdates=Tastă (coloană) de utilizat pentru actualizarea datelor -NbInsert=Numărul liniilor inserate: %s -NbUpdate=Numărul liniilor actualizate: %s +KeysToUseForUpdates=Cheie (coloană) de utilizat pentru actualizarea datelor existente +NbInsert=Număr linii inserate: %s +NbUpdate=Număr linii actualizate: %s MultipleRecordFoundWithTheseFilters=Au fost găsite mai multe înregistrări cu ajutorul acestor filtre: %s StocksWithBatch=Stocuri și locație (depozit) a produselor cu număr de lot/serie diff --git a/htdocs/langs/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index 9393f0ff547..88073532227 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -1,217 +1,218 @@ # Dolibarr language file - Source file is en_US - install InstallEasy=Doar urmaţi instrucţiunile pas cu pas. -MiscellaneousChecks=Verificare Cerinţe preliminare -ConfFileExists=%s fişierul de configurare există. -ConfFileDoesNotExistsAndCouldNotBeCreated=Fișierul de configurare %s nu există și nu a putut fi creat! -ConfFileCouldBeCreated=Fişier de configurare %s ar putea fi creat. -ConfFileIsNotWritable=Fișierul de configurare %s nu poate fi scris. Verificați permisiunile. Pentru prima instalare, serverul dvs. web trebuie să poată scrie în acest fișier în timpul procesului de configurare ("chmod 666", de exemplu, pe un sistem de operare Unix). -ConfFileIsWritable=%s fişier de configurare este de scriere. -ConfFileMustBeAFileNotADir=Fișierul de configurare %s trebuie să fie un fișier, nu un director. +MiscellaneousChecks=Verificare cerinţe preliminare +ConfFileExists=Fişierul de configurare %s există. +ConfFileDoesNotExistsAndCouldNotBeCreated=Fișierul de configurare %s nu există și nu a putut fi creat! +ConfFileCouldBeCreated=Fişierul de configurare %s ar putea fi creat. +ConfFileIsNotWritable=Fișierul de configurare %s nu poate fi scris. Verificați permisiunile. Pentru prima instalare, serverul tău web trebuie să poată scrie în acest fișier în timpul procesului de configurare ("chmod 666", de exemplu, pe un sistem de operare Unix). +ConfFileIsWritable=Fişierul de configurare %s se poate scrie. +ConfFileMustBeAFileNotADir=Fișierul de configurare %s trebuie să fie un fișier, nu un director. ConfFileReload=Reîncărcarea parametrilor din fișierul de configurare. -PHPSupportPOSTGETOk=Acest PHP suportă variabile POST si GET. -PHPSupportPOSTGETKo=Este posibil ca configurarea dvs. PHP să nu accepte variabilele POST și/sau GET. Verificați parametrul variables_order în php.ini. +PHPSupportPOSTGETOk=Acest PHP suportă variabile POST şi GET. +PHPSupportPOSTGETKo=Este posibil ca configurarea PHP să nu accepte variabilele POST și/sau GET. Verificați parametrul variables_order în php.ini. PHPSupportSessions=Acest PHP susţine sesiuni. PHPSupport=Această versiune de PHP suportă funcţii %s. -PHPMemoryOK=PHP max memorie sesiune este setată la %s. Acest lucru ar trebui să fie suficient. -PHPMemoryTooLow=Memoria sesiunii PHP max este setată la %s octeți. Această valoare este prea mică. Schimbați-vă php.ini pentru a seta parametrul memory_limit la cel puțin %s octeți. +PHPMemoryOK=Memoria max de sesiune din PHP este setată la %s. Acest lucru ar trebui să fie suficient. +PHPMemoryTooLow=Memoria maximă a sesiunii PHP este setată la %s octeți. Această valoare este prea mică. Schimbați în php.ini pentru a seta parametrul memory_limit la cel puțin %s octeți. Recheck=Faceți clic aici pentru un test mai detaliat -ErrorPHPDoesNotSupportSessions=Instalarea dvs. de PHP nu acceptă sesiuni. Această caracteristică este necesară pentru a permite Dolibarr să funcționeze. Verificați configurarea PHP și permisiunile directorului sesiunilor. -ErrorPHPDoesNotSupportGD=Instalarea dvs. PHP nu suportă funcții grafice GD. Nu vor fi disponibile grafice. -ErrorPHPDoesNotSupportCurl=Instalarea dvs. PHP nu suportă Curl. +ErrorPHPDoesNotSupportSessions=Instalarea ta PHP nu acceptă sesiuni. Această caracteristică este necesară pentru a permite sistemului să funcționeze. Verificați configurarea PHP și permisiunile directorului sesiunilor. +ErrorPHPDoesNotSupportGD=Instalarea PHP nu suportă funcții grafice GD. Nu vor fi disponibile grafice. +ErrorPHPDoesNotSupportCurl=Instalarea ta PHP nu suportă Curl. ErrorPHPDoesNotSupportCalendar=Versiunea ta de PHP nu suportă extensii calendar. -ErrorPHPDoesNotSupportUTF8=Instalarea dvs. de PHP nu suportă funcții UTF8. Dolibarr nu poate funcționa corect. Rezolvați acest lucru înainte de a instala Dolibarr. +ErrorPHPDoesNotSupportUTF8=Instalarea ta PHP nu suportă funcții UTF8. Sistemul nu poate funcționa corect. Rezolvați acest lucru înainte de a instala. ErrorPHPDoesNotSupportIntl=Versiunea ta de PHP nu suportă funcţii Intl. ErrorPHPDoesNotSupportxDebug=Versiunea ta de PHP nu suportă funcţii de depanare extinse. ErrorPHPDoesNotSupport=Versiunea ta de PHP nu suportă funcţii %s. -ErrorDirDoesNotExists=Directorul %s nu există. +ErrorDirDoesNotExists=Directorul %s nu există. ErrorGoBackAndCorrectParameters=Întoarceți-vă și verificați/corectați parametrii. -ErrorWrongValueForParameter=Este posibil să fi tastat greşit o valoare pentru parametrul "%s". +ErrorWrongValueForParameter=Este posibil să fi tastat greşit o valoare pentru parametrul '%s'. ErrorFailedToCreateDatabase=Eşec la crearea bazei de date '%s'. ErrorFailedToConnectToDatabase=Eşec la conectarea la baza de date '%s'. -ErrorDatabaseVersionTooLow=Versiunea bazei de date (%s) prea veche. Versiunea %s este necesară. -ErrorPHPVersionTooLow=PHP versiune prea veche. %s versiune este necesar. -ErrorConnectedButDatabaseNotFound=Conectarea la server a reușit, dar baza de date "%s" nu a fost găsită. +ErrorDatabaseVersionTooLow=Versiunea bazei de date (%s) este prea veche. Versiunea %s sau mai mare este necesară. +ErrorPHPVersionTooLow=Versiune PHP prea veche. Versiunea %s este necesară. +ErrorConnectedButDatabaseNotFound=Conectarea la server a reușit, dar baza de date '%s' nu a fost găsită. ErrorDatabaseAlreadyExists=Baza de date '%s' există deja. IfDatabaseNotExistsGoBackAndUncheckCreate=Dacă baza de date nu există, reveniți și bifați opțiunea "Creare bază de date". -IfDatabaseExistsGoBackAndCheckCreate=Dacă baza de date există deja, du-te înapoi şi debifaţi "Crearea bazei de date" opţiune. +IfDatabaseExistsGoBackAndCheckCreate=Dacă baza de date există deja, du-te înapoi şi debifează opţiunea "Creare bază de date". WarningBrowserTooOld=Versiunea browserului este prea veche. Este recomandat să vă actualizați browserul la o versiune recentă de Firefox, Chrome sau Opera. PHPVersion=Versiunea PHP License=Utilizarea de licenţă ConfigurationFile=Fişier de configurare -WebPagesDirectory=Director în cazul în care paginile web sunt stocate -DocumentsDirectory=Director pentru a stoca documentele încărcate şi a generat +WebPagesDirectory=Directorul în care paginile web sunt stocate +DocumentsDirectory=Director de stocare documente încărcate şi documente generate URLRoot=URL Rădăcină -ForceHttps=Forţarea conexiuni securizate (HTTPS) +ForceHttps=Forţează conexiuni securizate (HTTPS) CheckToForceHttps=Bifaţi această opţiune pentru a forţa conexiuni securizate (HTTPS).
Acest lucru presupune faptul că serverul de web este configurat cu un certificat SSL. -DolibarrDatabase=Baza de date Dolibarr -DatabaseType=Tip Baza de date +DolibarrDatabase=Baza de date +DatabaseType=Tip bază de date DriverType=Tip driver Server=Server ServerAddressDescription=Nume sau adresă IP pentru serverul de bază de date. De obicei, "localhost" când serverul bazei de date este găzduit pe același server ca serverul web. -ServerPortDescription=Port-ul serverului de baze de date. Păstraţi gol, dacă necunoscut. -DatabaseServer=Server baze de date +ServerPortDescription=Port-ul serverului de baze de date. Păstraţi gol, dacă este necunoscut. +DatabaseServer=Server baze de date DatabaseName=Nume bază de date -DatabasePrefix=Prefixul tabelului de bibliotecă -DatabasePrefixDescription=Prefixul tabelului de bibliotecă. Dacă este gol, implicit este llx_. -AdminLogin=Cont utilizator pentru proprietarul bazei de date Dolibarr. +DatabasePrefix=Prefixul tabel bază de date +DatabasePrefixDescription=Prefixul tabelului din baza de date. Dacă este gol, implicit este llx_. +AdminLogin=Cont utilizator pentru proprietarul bazei de date a sistemului. PasswordAgain=Rescrieți confirmarea parolei -AdminPassword=Parola pentru proprietarul bazei de date Dolibarr. -CreateDatabase=Crearea bazei de date -CreateUser=Creați un cont de utilizator sau acordați permisiunea unui cont de utilizator în baza de date Dolibarr -DatabaseSuperUserAccess=Serverul de baze de date - superuser de acces -CheckToCreateDatabase=Bifați caseta dacă baza de date nu există încă și trebuie să fie creată.
În acest caz, trebuie să completați și numele de utilizator și parola pentru contul superuser din partea de jos a acestei pagini. -CheckToCreateUser=Bifați caseta dacă:
contul de utilizator al bazei de date nu există încă și astfel trebuie să fie creat sau
dacă există un cont de utilizator, dar baza de date nu există și permisiunile trebuie să fie acordate.
În acest caz, trebuie să introduceți contul de utilizator și parola și și numele și parola contului de superuser în partea de jos a acestei pagini. Dacă această casetă nu este bifată, proprietarul bazei de date și parola trebuie să existe deja. -DatabaseRootLoginDescription=Nume de cont Superuser (pentru a crea noi baze de date sau noi utilizatori), obligatorie dacă baza de date sau proprietarul acesteia nu există deja. +AdminPassword=Parola pentru proprietarul bazei de date a sistemului. +CreateDatabase=Creare bază de date +CreateUser=Creați un cont de utilizator sau acordați permisiunea unui cont de utilizator în baza de date a sistemului +DatabaseSuperUserAccess=Server baze de date - Acces Superuser +CheckToCreateDatabase=Bifează caseta dacă baza de date nu există încă și trebuie să fie creată.
În acest caz, trebuie să completați și numele de utilizator și parola pentru contul superuser din partea de jos a acestei pagini. +CheckToCreateUser=Bifați dacă:
contul de utilizator al bazei de date nu există încă și astfel trebuie să fie creat sau
dacă există un cont de utilizator, dar baza de date nu există și permisiunile trebuie să fie acordate.
În acest caz, trebuie să introduceți contul de utilizator și parola și și numele și parola contului de superuser în partea de jos a acestei pagini. Dacă această casetă nu este bifată, proprietarul bazei de date și parola trebuie să existe deja. +DatabaseRootLoginDescription=Nume de cont Superuser (pentru a crea noi baze de date sau noi utilizatori), obligatoriu dacă baza de date sau proprietarul acesteia nu există deja. KeepEmptyIfNoPassword=Lăsați gol dacă superuserul nu are parolă (NU se recomandă) SaveConfigurationFile=Salvează parametri la ServerConnection=Conexiune server -DatabaseCreation=Baza de date crearea de -CreateDatabaseObjects=Baza de date crearea de obiecte -ReferenceDataLoading=Date de referinta de încărcare -TablesAndPrimaryKeysCreation=Mese si primar cheile de creare +DatabaseCreation=Creare bază de date +CreateDatabaseObjects=Creare obiecte bază de date +ReferenceDataLoading=Datele de referinţă se încarcă +TablesAndPrimaryKeysCreation=Creare tabele şi chei primare CreateTableAndPrimaryKey=Creare tabel %s -CreateOtherKeysForTable=Crearea cheile străine şi indicii pentru %s de masă -OtherKeysCreation=Cheile străine şi crearea de indici -FunctionsCreation=Creare Funcţii -AdminAccountCreation=Administrator crearea de autentificare +CreateOtherKeysForTable=Creare chei străine şi indecşi pentru tabelul %s +OtherKeysCreation=Creare chei străine şi indecşi +FunctionsCreation=Creare funcţii +AdminAccountCreation=Creare autentificare Administrator PleaseTypePassword=Introduceți o parolă, parolele goale nu sunt permise! PleaseTypeALogin=Introduceți un nume de utilizator! PasswordsMismatch=Parolele diferă, încercați din nou! -SetupEnd=Sfârşitul de configurare -SystemIsInstalled=Această instalare este completă. -SystemIsUpgraded=Dolibarr a fost actualizat cu succes. -YouNeedToPersonalizeSetup=Trebuie să vă configuraţi Dolibarr pentru a se potrivi nevoilor dumneavoastră (aspect, caracteristici, ...). Pentru a face acest lucru, va rugam sa urmati link-ul de mai jos: -AdminLoginCreatedSuccessfuly=Cont Dolibarr administrator ' %s ' creat cu succes. -GoToDolibarr=Du-te la Dolibarr -GoToSetupArea=Du-te la Dolibarr (zona de configurare) +SetupEnd=Configurare finalizată +SystemIsInstalled=Această instalare este finalizată. +SystemIsUpgraded=Sistemul a fost actualizat cu succes. +YouNeedToPersonalizeSetup=Trebuie să vă configuraţi sistemul pentru a se potrivi nevoilor dumneavoastră (aspect, caracteristici, ...). Pentru a face acest lucru, urmaţi link-ul de mai jos: +AdminLoginCreatedSuccessfuly=Cont administrator sistem '%s' creat cu succes. +GoToDolibarr=Du-te la sistem +GoToSetupArea=Du-te în sistem (zona de configurare) MigrationNotFinished=Versiunea bazei de date nu este complet actualizată: executați din nou procesul de actualizare. -GoToUpgradePage=Du-te la pagina din nou upgrade -WithNoSlashAtTheEnd=Fără a slash "/" de la sfârşitul +GoToUpgradePage=Mergi la pagina de upgrade din nou +WithNoSlashAtTheEnd=Fără slash "/" la sfârşit DirectoryRecommendation=IMPORTANT:Trebuie să utilizați un director care se află în afara paginilor web (deci nu folosiți un subdirector al parametrului anterior). LoginAlreadyExists=Există deja -DolibarrAdminLogin=Dolibarr admin autentificare -AdminLoginAlreadyExists=Contul de administrator Dolibarr " %s " există deja. Întoarce-te dacă vrei să creezi altul. -FailedToCreateAdminLogin=Nu ați reușit să creați contul de administrator Dolibarr. -WarningRemoveInstallDir=Avertisment, din motive de securitate, odată ce instalarea sau actualizarea este completă, trebuie să adăugați un fișier numit install.lock în directorul de documente Dolibarr pentru a preveni utilizarea accidentală / rău intenționată a instrumentelor de instalare din nou . +DolibarrAdminLogin=Sistem admin autentificare +AdminLoginAlreadyExists=Contul de administrator sistem '%s' există deja. Întoarce-te dacă vrei să creezi altul. +FailedToCreateAdminLogin=Eşec la crearea contului de administrator sistem. +WarningRemoveInstallDir=Avertisment, din motive de securitate, odată ce instalarea sau actualizarea este completă, trebuie să adăugați un fișier numit install.lock în directorul de documente sistem pentru a preveni utilizarea accidentală/rău intenționată a instrumentelor de instalare din nou . FunctionNotAvailableInThisPHP=Nu este disponibil în acest PHP ChoosedMigrateScript=Alegeţi script-ul de migraţie DataMigration=Migrarea bazei de date (date) -DatabaseMigration=Migrarea bazei de date (structura + unele date) -ProcessMigrateScript=Script de prelucrare -ChooseYourSetupMode=Alegeţi modul de configurare şi faceţi clic pe "Start" ... +DatabaseMigration=Migrarea bazei de date (structură + unele date) +ProcessMigrateScript=Scriptul procesează +ChooseYourSetupMode=Alegeţi modul de configurare şi faceţi clic pe "Start"... FreshInstall=Instalare proaspătă -FreshInstallDesc=Utilizați acest mod dacă aceasta este prima instalare. Dacă nu, acest mod poate repara o instalare anterioară incompletă. Dacă doriți să actualizați versiunea dvs., alegeți modul "Actualizare". -Upgrade=Uaktualnij -UpgradeDesc=Utilizaţi acest mod, dacă aţi înlocuit fişierele vechi Dolibarr cu fişiere dintr-o versiune mai nouă. Acest lucru se va actualiza baza de date şi de date. +FreshInstallDesc=Utilizați acest mod dacă aceasta este prima instalare. Dacă nu, acest mod poate repara o instalare anterioară incompletă. Dacă doreşti să actualizezi versiunea ta, alege modul "Actualizare". +Upgrade=Actualizare +UpgradeDesc=Utilizaţi acest mod, dacă aţi înlocuit fişierele vechi Dolibarr cu fişiere dintr-o versiune mai nouă. Acest lucru va actualiza baza de date şi datele. Start=Începe -InstallNotAllowed=Setup nu este permis de permisiuni conf.php -YouMustCreateWithPermission=Trebuie să creaţi %s de fişiere şi setaţi permisiuni de scriere pe el pentru serverul de web în timpul procesului de instalare. +InstallNotAllowed=Configurarea nu este permisă de permisiunile din conf.php +YouMustCreateWithPermission=Trebuie să creaţi %s de fişiere şi setaţi permisiuni de scriere pe ele în timpul procesului de instalare. CorrectProblemAndReloadPage=Remediați problema și apăsați F5 pentru a reîncărca pagina. AlreadyDone=Migrat deja DatabaseVersion=Versiunea bazei de date -ServerVersion=Baza de date server de versiune -YouMustCreateItAndAllowServerToWrite=Trebuie să creaţi acest director şi pentru a permite serverului de web pentru a scrie în ea. -DBSortingCollation=Caracter de sortare pentru -YouAskDatabaseCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date %s , dar pentru aceasta, Dolibarr trebuie să se conecteze la serverul %s cu permisiunile %s super-utilizatorului. -YouAskLoginCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date utilizator %s , dar pentru aceasta, Dolibarr trebuie să se conecteze la server %s cu permisiunile %s super-utilizatorului. -BecauseConnectionFailedParametersMayBeWrong=Conectarea la baza de date a eșuat: parametrii gazdă sau ai super-utilizatorului trebuie să fie greșiți. -OrphelinsPaymentsDetectedByMethod=Plata orfani detectat de %s metoda +ServerVersion=Versiune bază de date server +YouMustCreateItAndAllowServerToWrite=Trebuie să creaţi acest director şi să permite serverului web să scrie în el. +DBSortingCollation=Ordine sortare caractere +YouAskDatabaseCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date %s , dar pentru aceasta, sistemul trebuie să se conecteze la serverul %s cu permisiunile %s de superutilizator. +YouAskLoginCreationSoDolibarrNeedToConnect=Ați selectat crearea bazei de date utilizator %s, dar pentru aceasta, sistemul trebuie să se conecteze la server%s cu permisiunile %s de super-utilizator. +BecauseConnectionFailedParametersMayBeWrong=Conectarea la baza de date a eșuat: parametrii gazdă sau ai super-utilizatorului ar putea să fie greșiți. +OrphelinsPaymentsDetectedByMethod=Plăţi orfane au fost detectate de metoda %s RemoveItManuallyAndPressF5ToContinue=Scoateţi-l manual şi apăsaţi F5 pentru a continua. FieldRenamed=Câmp redenumit IfLoginDoesNotExistsCheckCreateUser=Dacă utilizatorul nu există încă, trebuie să bifați opțiunea "Creare utilizator" -ErrorConnection=Server " %s ", numele de bază de date " %s ", conectați " %s " sau parola bazei de date poate fi greșită sau versiunea client PHP poate fi prea veche în comparație cu versiunea bazei de date. -InstallChoiceRecommanded=Alegerea recomandate pentru a instala versiunea din %s %s versiunea sistemului de operare actuale -InstallChoiceSuggested=Instalaţi alegere sugerat de instalator. +ErrorConnection=Server "%s", nume bază de date "%s ", cont autentificare "%s" sau parola poate fi greșită sau versiunea client PHP poate fi prea veche în comparație cu versiunea bazei de date. +InstallChoiceRecommanded=Alegerea recomandată este pentru a instala versiunea %spentru versiunea curentă %s +InstallChoiceSuggested=Instalează versiunea recomandată de installer. MigrateIsDoneStepByStep=Versiunea vizată (%s) are un decalaj de mai multe versiuni. Expertul de instalare va reveni pentru a sugera o migrare ulterioară odată ce aceasta este completă. -CheckThatDatabasenameIsCorrect=Verificați dacă numele de bază de date " %s " este corect. -IfAlreadyExistsCheckOption=În cazul în care acest nume este corectă şi că baza de date nu există încă, trebuie să verificaţi opţiunea "Creare bază de date". -OpenBaseDir= Parametru openbasedir PHP -YouAskToCreateDatabaseSoRootRequired=Ați bifat caseta "Creare bază de date". Pentru aceasta, trebuie să furnizați login-ul/parola super-utilizatorului (partea de jos a formularului). -YouAskToCreateDatabaseUserSoRootRequired=Ați bifat caseta "Crearea proprietarului bazei de date". Pentru aceasta, trebuie să furnizați login-ul / parola super-utilizatorului (partea de jos a formularului). +CheckThatDatabasenameIsCorrect=Verificăi dacă numele de bază de date "%s" este corect. +IfAlreadyExistsCheckOption=În cazul în care acest nume este corectă şi baza de date nu există încă, trebuie să bifaţi opţiunea "Creare bază de date". +OpenBaseDir= Parametru PHP openbasedir +YouAskToCreateDatabaseSoRootRequired=Ați bifat caseta "Creare bază de date". Pentru aceasta, trebuie să furnizați nume utilizator/parola super-utilizatorului (partea de jos a formularului). +YouAskToCreateDatabaseUserSoRootRequired=Ați bifat caseta "Creare proprietar bază de date". Pentru aceasta, trebuie să furnizați login/ parola super-utilizator (partea de jos a formularului). NextStepMightLastALongTime=Pasul curent poate dura câteva minute. Așteptați până când următorul ecran este afișat complet înainte de a continua. -MigrationCustomerOrderShipping=Migrați transportul maritim pentru stocarea comenzilor de vânzări -MigrationShippingDelivery=Upgrade de depozitare de transport maritim -MigrationShippingDelivery2=Upgrade de depozitare de transport 2 -MigrationFinished=Migraţia terminată -LastStepDesc= Ultimul pas : Definiți aici datele de autentificare și parola pe care doriți să le utilizați pentru a vă conecta la Dolibarr. Nu pierdeți acest lucru deoarece este contul principal pentru a administra toate celelalte / conturi de utilizator suplimentare. -ActivateModule=Activaţi modul %s -ShowEditTechnicalParameters=Click aici pentru a vedea / edita parametrii avansaţi (mod expert) -WarningUpgrade=Avertizare:\nAți executat mai întâi o copie de siguranță a bazei de date?\nAcest lucru este foarte recomandat. Pierderea de date (datorată, de exemplu, erorilor din versiunea mysql 5.5.40 / 41/42/43) poate fi posibilă în timpul acestui proces, deci este esențial să faceți o descărcare completă a bazei de date înainte de a începe orice migrare.\n\nFaceți clic pe OK pentru a începe procesul de migrare ... -ErrorDatabaseVersionForbiddenForMigration=Versiunea bazei de date este %s. Are o eroare critică, ceea ce face posibilă pierderea datelor dacă efectuați modificări structurale în baza de date, cum este cazul procesului de migrare. Din acest motiv, migrarea nu va fi permisă până când nu actualizați baza de date la o versiune cu strat (patched) (lista versiunilor buggy cunoscute: %s) +MigrationCustomerOrderShipping=Migrare livrări din comenzile de vânzare stocate +MigrationShippingDelivery=Actualizare depozit de livrare +MigrationShippingDelivery2=Actualizare depozit de livrare 2 +MigrationFinished=Migrarea a fost finalizată +LastStepDesc=Ultimul pas: Definiți aici datele de autentificare și parola pe care doriți să le utilizați pentru a vă conecta la sistem. Nu pierdeți aceste credenţiale deoarece este contul principal pentru a administra toate celelalte conturi de utilizator suplimentare. +ActivateModule=Activare modul %s +ShowEditTechnicalParameters=Click aici pentru a vedea/edita parametrii avansaţi (mod expert) +WarningUpgrade=Atenţie:\nAți executat mai întâi o copie de siguranță a bazei de date?\nAcest lucru este foarte recomandat. Pierderea de date (datorată, de exemplu, erorilor din versiunea mysql 5.5.40 / 41/42/43) poate fi posibilă în timpul acestui proces, deci este esențial să faceți un backup complet al bazei de date înainte de a începe orice migrare.\n\nClic pe OK pentru a începe procesul de migrare... +ErrorDatabaseVersionForbiddenForMigration=Versiunea bazei de date este %s. Are o eroare critică, ceea ce face posibilă pierderea datelor dacă efectuați modificări structurale în baza de date, cum este cazul procesului de migrare. Din acest motiv, migrarea nu va fi permisă până când nu actualizați baza de date la o versiune cu strat (patched) (lista versiunilor defectuoase cunoscute: %s) KeepDefaultValuesWamp=Ați folosit expertul de configurare Dolibarr de la DoliWamp, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. KeepDefaultValuesDeb=Ați folosit expertul de configurare Dolibarr dintr-un pachet Linux (Ubuntu, Debian, Fedora ...), deci valorile propuse aici sunt deja optimizate. Este necesar să introduceți numai parola proprietarului bazei de date. Modificați alți parametri numai dacă știți ce faceți. KeepDefaultValuesMamp=Ați folosit expertul de configurare Dolibarr de la DoliMamp, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. -KeepDefaultValuesProxmox=Ați folosit expertul de configurare Dolibarr de la un dispozitiv virtual Proxmox, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. +KeepDefaultValuesProxmox=Ați folosit expertul de configurare Dolibarr pentru o maşină virtuală Proxmox, deci valorile propuse aici sunt deja optimizate. Modificați-le numai dacă știți ce faceți. UpgradeExternalModule=Rulați procesul de actualizare specializat al modulului extern -SetAtLeastOneOptionAsUrlParameter=Setați cel puțin o opțiune ca parametru în adresa URL. De exemplu: "... repair.php? Standard = confirmat" +SetAtLeastOneOptionAsUrlParameter=Setează cel puțin o opțiune ca parametru în adresa URL. De exemplu: "...repair.php?standard=confirmed" NothingToDelete=Nimic de curățat/șters NothingToDo=Nimic de făcut ######### # upgrade -MigrationFixData=Fix pentru date denormalized -MigrationOrder=Migrare a datelor pentru comenzile clienţilor -MigrationSupplierOrder=Migrarea datelor pentru comenzile vânzătorului +MigrationFixData=Reparare date denormalizate +MigrationOrder=Migrarea datelor pentru comenzile clienţilor +MigrationSupplierOrder=Migrarea datelor pentru comenzile furnizor MigrationProposal=Migrare de date pentru oferte comerciale -MigrationInvoice=Migrare de date pentru facturile clienţilor +MigrationInvoice=Migrarea datelor pentru facturi clienţi MigrationContract=Migrarea datelor pentru contracte -MigrationSuccessfullUpdate=Upgrade de succes +MigrationSuccessfullUpdate=Actualizare cu succes MigrationUpdateFailed=Procesul de actualizare a eşuat -MigrationRelationshipTables=Migrare a datelor pentru tabelele relaţie (%s) +MigrationRelationshipTables=Migrarea datelor pentru tabelele de relaţie (%s) MigrationPaymentsUpdate=Corecţie dată de plată -MigrationPaymentsNumberToUpdate=De plată %s (e) pentru a actualiza -MigrationProcessPaymentUpdate=Actualizaţi plată (e) %s -MigrationPaymentsNothingToUpdate=Nu există mai multe lucruri de făcut -MigrationPaymentsNothingUpdatable=Nu mai multe plăţi, care pot fi corectate -MigrationContractsUpdate=Contract de date de corecţie -MigrationContractsNumberToUpdate=Contract de %s (e) pentru a actualiza -MigrationContractsLineCreation=Creeze o linie contract pentru %s ref contract -MigrationContractsNothingToUpdate=Nu există mai multe lucruri de făcut -MigrationContractsFieldDontExist=Domeniul fk_facture nu mai există. Nimic de făcut. -MigrationContractsEmptyDatesUpdate=Corecţie contract de gol data -MigrationContractsEmptyDatesUpdateSuccess=Golirea datei goale a contractului a fost efectuată cu succes -MigrationContractsEmptyDatesNothingToUpdate=Nici data contractului gol pentru a corecta -MigrationContractsEmptyCreationDatesNothingToUpdate=Nici o creaţie data contractului pentru a corecta -MigrationContractsInvalidDatesUpdate=Bad data valoarea contractului de corecţie -MigrationContractsInvalidDateFix=%s incorect contractului (data contractului = %s, Incepand cu data de serviciu min = %s) -MigrationContractsInvalidDatesNumber=Contracte de %s modificate -MigrationContractsInvalidDatesNothingToUpdate=Nici o data cu valoarea rău pentru a corecta -MigrationContractsIncoherentCreationDateUpdate=Bad contract de crearea de valoare data de corecţie -MigrationContractsIncoherentCreationDateUpdateSuccess=Realizarea corecției datei de creare a contractelor cu valoarea greşită a reușit -MigrationContractsIncoherentCreationDateNothingToUpdate=Nici o valoare rău pentru data de creare contractului pentru a corecta -MigrationReopeningContracts=Contract de deschis închis de eroare -MigrationReopenThisContract=Redeschide contract %s -MigrationReopenedContractsNumber=%s Contracte modificate -MigrationReopeningContractsNothingToUpdate=Nici un contract închis pentru a deschide -MigrationBankTransfertsUpdate=Actualizați legăturile dintre înregistrarea bancară și un transfer bancar -MigrationBankTransfertsNothingToUpdate=Toate link-uri sunt de până la zi -MigrationShipmentOrderMatching=Trimiteri la data primirii de actualizare -MigrationDeliveryOrderMatching=Livrare la primirea de actualizare +MigrationPaymentsNumberToUpdate=%s plată(ţi) de actualizat +MigrationProcessPaymentUpdate=Actualizare plată(ţi) %s +MigrationPaymentsNothingToUpdate=Nu mai există nimic de făcut +MigrationPaymentsNothingUpdatable=Nu mai sunt plăţi care pot fi corectate +MigrationContractsUpdate=Corecţie date contract +MigrationContractsNumberToUpdate= %s contract(e) de actualizat +MigrationContractsLineCreation=Crează o linie de contract pentru contractul cu ref %s +MigrationContractsNothingToUpdate=Nu mai există nimic de făcut +MigrationContractsFieldDontExist=Câmpul fk_facture nu mai există. Nimic de făcut. +MigrationContractsEmptyDatesUpdate=Corecţie dată necompletată contract +MigrationContractsEmptyDatesUpdateSuccess=Corectarea contractului cu dată necompletată a fost efectuată cu succes +MigrationContractsEmptyDatesNothingToUpdate=Niciun contract cu dată necompletată de corectat +MigrationContractsEmptyCreationDatesNothingToUpdate=Nicio dată de creare a contractului de corectat +MigrationContractsInvalidDatesUpdate=Valoarea eronată a contractului de corecţie +MigrationContractsInvalidDateFix=Corecţie contract %s (data contractului = %s, data de începere a prestării serviciului min = %s) +MigrationContractsInvalidDatesNumber=%s contracte modificate +MigrationContractsInvalidDatesNothingToUpdate=Nicio dată cu valoare eronată de corectat +MigrationContractsIncoherentCreationDateUpdate=Valoare eronată la corecţia datei contractului +MigrationContractsIncoherentCreationDateUpdateSuccess=Corecţia datei de creare eronate a contractelor a fost efectuată cu succes +MigrationContractsIncoherentCreationDateNothingToUpdate=Nicio valoare eronată pentru corecţia datei de creare a contractului +MigrationReopeningContracts=Contract deschis dar închis din greşeală +MigrationReopenThisContract=Redeschide contractul %s +MigrationReopenedContractsNumber=%s contracte modificate +MigrationReopeningContractsNothingToUpdate=Niciun contract închis pentru deschidere +MigrationBankTransfertsUpdate=Actualizare legături dintre înregistrarea bancară și un transfer bancar +MigrationBankTransfertsNothingToUpdate=Toate legăturile sunt actualizate +MigrationShipmentOrderMatching=Actualizare note livrări +MigrationDeliveryOrderMatching=Actualizare notă de recepţie MigrationDeliveryDetail=Actualizare Livrare -MigrationStockDetail=Actualizarea valoarea stocului de produse -MigrationMenusDetail=Actualizaţi tabelele de meniuri dinamice -MigrationDeliveryAddress=Actualizaţi adresa de livrare în transporturi +MigrationStockDetail=Actualizare valoare stoc produse +MigrationMenusDetail=Actualizare tabele meniuri dinamice +MigrationDeliveryAddress=Actualizare adresă în livrări MigrationProjectTaskActors=Migrarea datelor pentru tabelul llx_projet_task_actors -MigrationProjectUserResp=Migrarea datelor domeniul fk_user_resp de llx_projet la llx_element_contact -MigrationProjectTaskTime=Actualizare de timp petrecut în secunde +MigrationProjectUserResp=Migrarea datelor pentru câmpul fk_user_resp din llx_projet către llx_element_contact +MigrationProjectTaskTime=Durata actualizării în secunde MigrationActioncommElement=Actualizare date pe acţiuni MigrationPaymentMode=Migrarea datelor pentru tipul de plată MigrationCategorieAssociation=Migrarea categoriilor -MigrationEvents=Migrarea evenimentelor pentru a adăuga proprietarul evenimentului în tabelul de atribuire -MigrationEventsContact=Migrarea evenimentelor pentru a adăuga contactul evenimentului în tabelul de atribuire -MigrationRemiseEntity=Actualizați valoarea câmpului entității din llx_societe_remise -MigrationRemiseExceptEntity=Actualizați valoarea câmpului entității din llx_societe_remise_except -MigrationUserRightsEntity=Actualizați valoarea câmpului entității pentru llx_user_rights -MigrationUserGroupRightsEntity=Actualizați valoarea câmpului entității din llx_usergroup_rights +MigrationEvents=Migrare evenimente pentru adăugare deţinător eveniment în tabela de atribuire +MigrationEventsContact=Migrare evenimente pentru adăugare contact eveniment în tabela de atribuire +MigrationRemiseEntity=Actualizare valoare câmp entitate în llx_societe_remise +MigrationRemiseExceptEntity=Actualizare valoare câmp entitate în llx_societe_remise_except +MigrationUserRightsEntity=Actualizare valoare câmp entitate în llx_user_rights +MigrationUserGroupRightsEntity=Actualizare valoare câmp entitate în llx_usergroup_rights MigrationUserPhotoPath=Migrarea căilor foto pentru utilizatori MigrationFieldsSocialNetworks=Migrarea câmpurilor de reţele sociale ale utilizatorilor(%s) -MigrationReloadModule=Reîncarcă modul %s -MigrationResetBlockedLog=Resetați modulul BlockedLog pentru algoritmul v7 -ShowNotAvailableOptions=Afișați opțiunile nedisponibile -HideNotAvailableOptions=Ascundeți opțiunile nedisponibile -ErrorFoundDuringMigration=Eroarea (erorile) au fost raportate în timpul procesului de migrare, astfel încât următorul pas nu este disponibil. Pentru a ignora erorile, puteți apăsa aici , dar este posibil ca aplicația sau unele caracteristici să nu funcționeze corect până când erorile nu sunt rezolvate. -YouTryInstallDisabledByDirLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare/upgrade au fost dezactivate pentru securitate (directorul redenumit cu sufixul .lock).
-YouTryInstallDisabledByFileLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare / upgrade au fost dezactivate pentru securitate (prin existența unui fișier de blocare install.lock în directorul de documente Dolibarr).
-ClickHereToGoToApp=Faceți clic aici pentru a merge la aplicația dvs. +MigrationReloadModule=Reîncărcare modul %s +MigrationResetBlockedLog=Resetare modul BlockedLog pentru algoritmul v7 +MigrationImportOrExportProfiles=Migrarea profilelor de import sau export (%s) +ShowNotAvailableOptions=Afișează opțiunile indisponibile +HideNotAvailableOptions=Ascunde opțiunile indisponibile +ErrorFoundDuringMigration=Au fost raportate eroare(ri) în timpul procesului de migrare, astfel încât următorul pas nu este disponibil. Pentru a ignora erorile, puteți apăsa aici, dar este posibil ca aplicația sau unele caracteristici să nu funcționeze corect până când erorile nu sunt rezolvate. +YouTryInstallDisabledByDirLock=Sistemul a încercat să se autoactualizeze, însă paginile de instalare/upgrade au fost dezactivate din motive de securitate (directorul este redenumit cu sufixul .lock).
+YouTryInstallDisabledByFileLock=Aplicația a încercat să se autoactualizeze, însă paginile de instalare/upgrade au fost dezactivate din motive de securitate (există un fișier de blocare install.lock în directorul de documente al sistemului).
+ClickHereToGoToApp=Faceți clic aici pentru a merge la aplicația ta. ClickOnLinkOrRemoveManualy=Dacă o actualizare este în curs, așteptați. Dacă nu, faceți clic pe următorul link. Dacă vedeți întotdeauna aceeași pagină, trebuie să eliminați/să redenumiți fișierul install.lock din directorul documentelor. -Loaded=Incărcat +Loaded=Încărcat FunctionTest=Test de funcţionare diff --git a/htdocs/langs/ro_RO/interventions.lang b/htdocs/langs/ro_RO/interventions.lang index 60dec3c350e..d4c1b9f823d 100644 --- a/htdocs/langs/ro_RO/interventions.lang +++ b/htdocs/langs/ro_RO/interventions.lang @@ -4,63 +4,65 @@ Interventions=Intervenţii InterventionCard=Fişă intervenţie NewIntervention=Intervenţie nouă AddIntervention=Crează intervenţie -ChangeIntoRepeatableIntervention=Schimbați la intervenția repetabilă -ListOfInterventions=Lista intervenţii -ActionsOnFicheInter=Acţiuni privind intervenţia +ChangeIntoRepeatableIntervention=Schimbați în intervenție repetabilă +ListOfInterventions=Listă intervenţii +ActionsOnFicheInter=Acţiuni pe intervenţie LastInterventions=Ultimele %s intervenţii AllInterventions=Toate intervenţiile -CreateDraftIntervention=Crează schiţă +CreateDraftIntervention=Creare schiţă InterventionContact=Contact Intervenţie DeleteIntervention=Şterge intervenţie -ValidateIntervention=Validează intervenţie +ValidateIntervention=Validează intervenţie ModifyIntervention=Modifică intervenţie DeleteInterventionLine=Şterge intervenţie ConfirmDeleteIntervention=Sigur doriți să ștergeți această intervenție? -ConfirmValidateIntervention=Sigur doriți să validați această intervenție sub numele %s ? +ConfirmValidateIntervention=Sigur doriți să validați această intervenție sub numele %s? ConfirmModifyIntervention=Sigur doriți să modificați această intervenție? ConfirmDeleteInterventionLine=Sigur doriți să ștergeți această linie de intervenție? ConfirmCloneIntervention=Sigur doriți să clonați această intervenție? NameAndSignatureOfInternalContact=Numele și semnătura persoanei care a intervenit: NameAndSignatureOfExternalContact=Numele și semnătura clientului: -DocumentModelStandard=Model standard document de intervenţii +DocumentModelStandard=Şablon standard document de intervenţii InterventionCardsAndInterventionLines=Intervenţii şi linii ale intervenţiilor InterventionClassifyBilled=Clasează Facturat InterventionClassifyUnBilled=Clasează Nefacturat -InterventionClassifyDone=Clasificați "Efectuat" +InterventionClassifyDone=Clasează "Finalizat" StatusInterInvoiced=Facturat -SendInterventionRef=Trimiterea intervenţiei %s -SendInterventionByMail=Trimiteți intervenția prin e-mail -InterventionCreatedInDolibarr=Intervenţia %s creată -InterventionValidatedInDolibarr=Intervenţia %s validată -InterventionModifiedInDolibarr=Intervenţia %s modificată -InterventionClassifiedBilledInDolibarr=Intervenţia %s setată ca facturată -InterventionClassifiedUnbilledInDolibarr=Intervenţia %s setată ca nefacturată -InterventionSentByEMail=Intervenția %s trimisă prin e-mail -InterventionDeletedInDolibarr=Intervenţia %s ştearsă +SendInterventionRef=Ref. intervenţie %s +SendInterventionByMail=Trimite intervenția pe email +InterventionCreatedInDolibarr=Intervenţia %s a fost creată +InterventionValidatedInDolibarr=Intervenţia %s a fost validată +InterventionModifiedInDolibarr=Intervenţia %s a fost modificată +InterventionClassifiedBilledInDolibarr=Intervenţia %s a fost setată ca facturată +InterventionClassifiedUnbilledInDolibarr=Intervenţia %s a fost setată ca nefacturată +InterventionSentByEMail=Intervenția %s a fost trimisă pe email +InterventionDeletedInDolibarr=Intervenţia %s a fost ştearsă InterventionsArea=Intervenţii -DraftFichinter=Intervenții schita +DraftFichinter=Intervenții schiţă LastModifiedInterventions=Ultimele %s intervenţii modificate -FichinterToProcess=Intervenții la proces +FichinterToProcess=Intervenții de procesat TypeContact_fichinter_external_CUSTOMER=Contact client urmărire intervenţie -PrintProductsOnFichinter=Printează si liniile de tip ''produs''( nu numai serviciile) pe fişa intervenţiei +PrintProductsOnFichinter=Printează şi liniile de tip ''produs''( nu numai serviciile) pe fişa intervenţiei PrintProductsOnFichinterDetails=intervenții generate din comenzi UseServicesDurationOnFichinter=Utilizați durata serviciilor pentru intervențiile generate din comenzi UseDurationOnFichinter=Ascunde câmpul durată pentru înregistrările de intervenție -UseDateWithoutHourOnFichinter=Ascunde orele și minutele din câmpul de date pentru înregistrările de intervenție +UseDateWithoutHourOnFichinter=Ascunde orele și minutele din câmpul de dată pentru înregistrările de intervenție InterventionStatistics=Statistici intervenţii -NbOfinterventions=Numărul cardurilor de intervenție -NumberOfInterventionsByMonth=Numărul cardurilor de intervenție pe lună (data validării) -AmountOfInteventionNotIncludedByDefault=Suma de intervenție nu este inclusă implicit în profit (în majoritatea cazurilor, foile de pontaj sunt utilizate pentru a calcula timpul petrecut). Adăugați opțiunea PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT la 1 în acasa-gestionare-altul pentru a-l include. -InterId=Id Intervenţie -InterRef=Ref. Intervenţie -InterDateCreation=Data crearea Intervenție -InterDuration=Durată Intervenție -InterStatus=Status Intervenție -InterNote=Nota interventie +NbOfinterventions=Număr intervenții +NumberOfInterventionsByMonth=Nr. intervenții pe lună (după data de validare) +AmountOfInteventionNotIncludedByDefault=Suma de intervenție nu este inclusă implicit în profit (în majoritatea cazurilor, foile de pontaj sunt utilizate pentru a calcula timpul consumat). Adăugați opțiunea PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT la 1 în Acasă-Setări-Alte setări pentru a-l include. +InterId=ID intervenţie +InterRef=Ref. intervenţie +InterDateCreation=Dată creare intervenție +InterDuration=Durată intervenție +InterStatus=Status intervenție +InterNote=Notă intervenţie InterLine=Linie intervenţie -InterLineId=Id linie Intervenţie -InterLineDate=Data linie interventie -InterLineDuration=Durată linie Intervenție -InterLineDesc=Descriere linie Intervenţie +InterLineId=ID linie intervenţie +InterLineDate=Dată linie intervenţie +InterLineDuration=Durată linie intervenție +InterLineDesc=Descriere linie intervenţie RepeatableIntervention=Şablon intervenţie ToCreateAPredefinedIntervention=Pentru a crea o intervenţie predefinită sau recurentă, creează o intervenţie obişnuită şi converteşte-o într-un şablon +Reopen=Redeschide +ConfirmReopenIntervention=Eşti sigur că vrei să re-deschizi intervenţia %s? diff --git a/htdocs/langs/ro_RO/productbatch.lang b/htdocs/langs/ro_RO/productbatch.lang index ae2c31ba05d..2beed3a3a93 100644 --- a/htdocs/langs/ro_RO/productbatch.lang +++ b/htdocs/langs/ro_RO/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Afișați jurnalul mișcărilor pentru cuplu de produs/lo StockDetailPerBatch=Detaliu stoc pe lot SerialNumberAlreadyInUse=Seria %s este deja utilizată pentru produsul %s TooManyQtyForSerialNumber=Poți avea un singur produs %s pentru numărul de serie %s -BatchLotNumberingModules=Opțiuni pentru generarea automată de produse lot gestionate pe loturi -BatchSerialNumberingModules=Opțiuni pentru generarea automată de produse lot gestionate prin numere de serie ManageLotMask=Mască personalizată -CustomMasks=Adaugă o opţiune pentru definire mască în fişa produsului -LotProductTooltip=Adaugă o opțiune în fişa de produs pentru a defini o mască dedicată numărului de lot -SNProductTooltip=Adaugă o opțiune în fişa de produs pentru a defini o mască dedicată numărului de serie +CustomMasks=Opţiunea de definire a unei măşti de numerotare diferite pentru fiecare produs +BatchLotNumberingModules=Regulă de numerotare pentru generarea automată a numărului de lot +BatchSerialNumberingModules=Regula de numerotare pentru generarea automată a numărului de serie (pentru produsele cu proprietatea 1 lot/serie unică pentru fiecare produs) QtyToAddAfterBarcodeScan=Cantitate de adăugat pentru fiecare cod de bare/lot/serie scanată LifeTime=Durata de viață (în zile) EndOfLife=Sfârşitul duratei de viaţă diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index cf419fa65f5..2a4034031d4 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Prețuri diferite pentru fiecare client PriceCatalogue=Un singur preț de vânzare pentru fiecare produs/serviciu PricingRule=Reguli privind prețurile de vânzare AddCustomerPrice=Adaugă preţ pe client -ForceUpdateChildPriceSoc=Setează acelasi preţ pe subsidiarele clientului +ForceUpdateChildPriceSoc=Setare același preț pentru filialele clientului PriceByCustomerLog=Jurnalul prețurilor anterioare ale clienților MinimumPriceLimit=Prețul minim nu poate fi mai mic decât %s MinimumRecommendedPrice=Prețul minim recomandat este: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Mărire/micșorare de stoc la modificarea produselor ComposedProduct=Produse copil MinSupplierPrice=Preţ minim de achiziţie MinCustomerPrice=Preț minim de vânzare +NoDynamicPrice=Fără preț dinamic DynamicPriceConfiguration=Setarea dinamică a prețului DynamicPriceDesc=Puteți defini formule matematice pentru a calcula prețurile clienților sau furnizorilor. Astfel de formule pot folosi toți operatorii matematici, unele constante și variabile. Puteți defini aici variabilele pe care doriți să le utilizați. Dacă variabila are nevoie de o actualizare automată, puteți defini adresa URL externă pentru a permite Dolibarr să actualizeze automat valoarea. AddVariable=Adăugare variabilă diff --git a/htdocs/langs/ro_RO/salaries.lang b/htdocs/langs/ro_RO/salaries.lang index 84d4c512aed..e3730147523 100644 --- a/htdocs/langs/ro_RO/salaries.lang +++ b/htdocs/langs/ro_RO/salaries.lang @@ -1,21 +1,24 @@ # Dolibarr language file - Source file is en_US - salaries -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Contul contabil utilizat pentru terț utilizator +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Contul contabil folosit pentru terți utilizatori SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Contul contabil dedicat definit pe cardul de utilizator va fi utilizat doar pentru contabilitatea subregistru. Aceasta va fi utilizată pentru Registrul general și ca valoare implicită a contabilității suregistru dacă nu este definită contul de contabilitate dedicat pentru utilizatori. -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Contul de contabilitate implicit pentru plata salariilor +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Contul contabil implicit pentru plata salariilor +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=În mod implicit, lăsați necompletată opțiunea "Creați automat o plată totală” la crearea unui salariu  Salary=Salariu Salaries=Salarii -NewSalaryPayment=Plata noua salariu -AddSalaryPayment=Adăugați plata salarială -SalaryPayment=Plata salariu -SalariesPayments=Plati salarii -ShowSalaryPayment=Arata plata salariu -THM=Rata orară medie -TJM=Rata medie zilnică +NewSalary=Salariu nou +NewSalaryPayment=Card de salariu nou +AddSalaryPayment=Adăugare plată salariu +SalaryPayment=Plată salariu +SalariesPayments=Plăţi salarii +SalariesPaymentsOf=Plăţi salarii pentru %s +ShowSalaryPayment=Arată plată salariu +THM=Tarif orar mediu +TJM=Tarif zilnic mediu CurrentSalary=Salariu curent -THMDescription=Această valoare poate fi utilizată pentru a calcula costul timpului consumat pe un proiect introdus de utilizatori dacă se utilizează un proiect de modul +THMDescription=Această valoare poate fi utilizată pentru a calcula costul timpului consumat pe un proiect introdus de utilizatori dacă se utilizează modulul Proiecte TJMDescription=Această valoare este în prezent doar informativă și nu este utilizată pentru niciun calcul -LastSalaries=Cele mai recente %splăți salariale -AllSalaries=Toate plățile salariale +LastSalaries=Ultimele %s salarii +AllSalaries=Toate salariile SalariesStatistics=Statistici salariale -# Export SalariesAndPayments=Salarii și plăți +ConfirmDeleteSalaryPayment=Vrei să ştergi această plată salarială ? diff --git a/htdocs/langs/ro_RO/ticket.lang b/htdocs/langs/ro_RO/ticket.lang index 09ac2c0152c..1a66e7d5094 100644 --- a/htdocs/langs/ro_RO/ticket.lang +++ b/htdocs/langs/ro_RO/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Tichet - Rezoluție TicketTypeShortCOM=Întrebare comercială TicketTypeShortHELP=Solicitare funcţionalitate -TicketTypeShortISSUE=Solicitare, eroare sau problemă +TicketTypeShortISSUE=Problemă sau bug +TicketTypeShortPROBLEM=Problemă TicketTypeShortREQUEST=Solicitare de modificare sau îmbunătăţire TicketTypeShortPROJET=Proiect TicketTypeShortOTHER=Altele @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Utilizator atribuit TypeContact_ticket_external_SUPPORTCLI=Contact client urmărire incidente TypeContact_ticket_external_CONTRIBUTOR=Contributor extern -OriginEmail=Email sursă +OriginEmail=Email raportor Notify_TICKET_SENTBYMAIL=Trimite mesaj tichet pe email # Status Read=Citit Assigned=Atribuit InProgress=În curs -NeedMoreInformation=În aşteptarea de informaţii +NeedMoreInformation=În aşteptare feedback de la raportor +NeedMoreInformationShort=În aşteptare feedback Answered=S-a răspuns Waiting=În aşteptare Closed=Închis @@ -160,7 +162,7 @@ CreatedBy=Creat de NewTicket=Tichet nou SubjectAnswerToTicket=Răspuns la tichet TicketTypeRequest=Tip de solicitare -TicketCategory=Grup +TicketCategory=Categorizare tichet SeeTicket=Vezi tichetul TicketMarkedAsRead=Tichetul a fost marcat ca citit TicketReadOn=Citește mai departe @@ -211,6 +213,7 @@ TicketMessageHelp=Numai acest text va fi salvat în lista de mesaje de pe fişa TicketMessageSubstitutionReplacedByGenericValues=Variabilele de substituție sunt înlocuite cu valori generice. TimeElapsedSince=Timpul trecut de atunci TicketTimeToRead=Timpul trecut înainte de citire +TicketTimeElapsedBeforeSince=Timpul scurs înainte de / de atunci TicketContacts=Contacte tichet TicketDocumentsLinked=Documente legate de tichet ConfirmReOpenTicket=Confirmați redeschiderea acestui tichet? diff --git a/htdocs/langs/ro_RO/users.lang b/htdocs/langs/ro_RO/users.lang index de16abf5ceb..fa6a4c5d83e 100644 --- a/htdocs/langs/ro_RO/users.lang +++ b/htdocs/langs/ro_RO/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Nume de utilizator de creat NameToCreate=Nume terţ de creat YourRole=Rolurile tale YourQuotaOfUsersIsReached=Cota ta de utilizatori activi a fost atinsă ! -NbOfUsers=Nr. de utilizatori -NbOfPermissions=Nr. de permisiuni +NbOfUsers=Număr de utilizatori +NbOfPermissions=Număr de permisiuni DontDowngradeSuperAdmin=Numai un superadmin poate declasa un superadmin HierarchicalResponsible=Supervizor HierarchicView=Vedere ierarhică diff --git a/htdocs/langs/ro_RO/website.lang b/htdocs/langs/ro_RO/website.lang index e90a63aee32..0dbac3d2d34 100644 --- a/htdocs/langs/ro_RO/website.lang +++ b/htdocs/langs/ro_RO/website.lang @@ -31,7 +31,7 @@ AddWebsite=Adaugă site web Webpage=Pagină/container web AddPage=Adaugă o pagină/container PageContainer=Pagina -PreviewOfSiteNotYetAvailable=Previzualizarea site-ului dvs. web %s nu este încă disponibilă. Mai întâi trebuie să ' Importați un șablon complet de site ' sau doar să 'Adăugați o pagină/container '. +PreviewOfSiteNotYetAvailable=Previzualizarea site-ului web %s nu este încă disponibilă. Mai întâi trebuie să 'Importați un șablon de site web complet' sau doar să 'Adăugați o pagină/container'. RequestedPageHasNoContentYet=Pagina solicitată cu id %s nu are încă conținut, sau fișierul cache .tpl.php a fost eliminat. Editați conținutul paginii pentru a rezolva această problemă. SiteDeleted=Site-ul web "%s" a fost șters PageContent=Pagină/Container diff --git a/htdocs/langs/ru_RU/accountancy.lang b/htdocs/langs/ru_RU/accountancy.lang index 01820557ec7..faeacdbdabf 100644 --- a/htdocs/langs/ru_RU/accountancy.lang +++ b/htdocs/langs/ru_RU/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Страны, не входящие в ЕЭС CountriesInEECExceptMe=Страны ЕЭС, кроме %s CountriesExceptMe=Все страны кроме %s AccountantFiles=Экспорт исходных документов -ExportAccountingSourceDocHelp=С помощью этого инструмента вы можете экспортировать исходные события (список и PDF-файлы), которые использовались для создания вашей бухгалтерской отчетности. Чтобы экспортировать журналы, используйте пункт меню %s - %s. +ExportAccountingSourceDocHelp=С помощью этого инструмента вы можете экспортировать исходные события (список в CSV и PDF), которые использовались для создания вашей бухгалтерской отчетности. +ExportAccountingSourceDocHelp2=Чтобы экспортировать журналы, используйте пункт меню %s - %s. VueByAccountAccounting=Просмотр по учетной записи VueBySubAccountAccounting=Просмотр по субсчету бухгалтерского учета @@ -328,9 +329,9 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Отключить привязку и ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Отключить привязку и перенос в бухгалтерском учете в отчетах о расходах (отчеты о расходах не будут учитываться в бухгалтерском учете) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) -ConfirmExportFile=Confirmation of the generation of the accounting export file ? +NotifiedExportDate=Уведомленная дата экспорта (изменение записей невозможно) +NotifiedValidationDate=Проверка записей (изменение или удаление записей невозможно) +ConfirmExportFile=Подтверждение генерации файла экспорта бухгалтерского учета? ExportDraftJournal=Экспорт черновика журнала Modelcsv=Модель экспорта Selectmodelcsv=Выбрать модель экспорта diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index f4f00215f51..e87ab0d8efd 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -53,6 +53,7 @@ InternalUser=Внутренний пользователь ExternalUser=Внешний пользователь InternalUsers=Внутренние пользователи ExternalUsers=Внешние пользователи +UserInterface=User interface GUISetup=Внешний вид SetupArea=Настройка UploadNewTemplate=Загрузить новый шаблон(ы) @@ -221,7 +222,7 @@ NotCompatible=Этот модуль не совместим с вашим Doliba CompatibleAfterUpdate=Этот модуль требует обновления вашего Dolibarr%s (Min%s - Max%s). SeeInMarkerPlace=См. На рынке SeeSetupOfModule=Посмотреть настройку модуля %s -SetOptionTo=Set option %s to %s +SetOptionTo=Установите параметр %s на %s Updated=Обновлено AchatTelechargement=Купить/Скачать GoModuleSetupArea=Чтобы развернуть/установить новый модуль, перейдите в область настройки модуля: %s . @@ -562,7 +563,7 @@ Module53Desc=Управление Услугами Module54Name=Контакты/Подписки Module54Desc=Управление контрактами (услуги или периодические подписки) Module55Name=Штрих-коды -Module55Desc=Barcode or QR code management +Module55Desc=Управление штрих-кодом или QR-кодом Module56Name=Оплата кредитным переводом Module56Desc=Управление оплатой поставщиков по кредитным переводам. Он включает создание файла SEPA для европейских стран. Module57Name=Платежи прямым дебетом @@ -849,10 +850,10 @@ Permission402=Создать / изменить скидки Permission403=Проверить скидки Permission404=Удалить скидки Permission430=Использовать панель отладки -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody +Permission511=Читайте зарплаты и выплаты (ваши и подчиненные) +Permission512=Создавать / изменять зарплаты и выплаты +Permission514=Удалить зарплаты и выплаты +Permission517=Всем читать зарплаты и выплаты Permission519=Экспорт зарплат Permission520=Открыть ссуды Permission522=Создать/изменить ссуды @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL функций, не доступных в PHP DownloadMoreSkins=Дополнительные шкуры для загрузки SimpleNumRefModelDesc=Возвращает ссылочный номер в формате %syymm-nnnn, где yy - год, mm - месяц, а nnnn - последовательное автоматически увеличивающееся число без сброса. SimpleNumRefNoDateModelDesc=Возвращает ссылочный номер в формате %s-nnnn, где nnnn - это последовательный номер с автоинкрементом без сброса. -ShowProfIdInAddress=Показать профессиональный идентификатор с адресами -ShowVATIntaInAddress=Скрыть номер НДС внутри Сообщества с адресами +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Частичный перевод MAIN_DISABLE_METEO=Отключить просмотр погоды MeteoStdMod=Стандартный режим @@ -1778,7 +1779,7 @@ ClickToDialSetup=Настройка модуля Click To Dial ClickToDialUrlDesc=Url звонившего, когда клик по пиктограмме телефона сделан. В URL-адресе вы можете использовать теги
__PHONETO__, которые будут заменены на номер телефона человека для вызова
__PHONEFROM__, который будет заменен номером телефона вызывающего абонента (вашего)
__LOGIN__, который будет заменен на clicktodial login (определенном на карточке пользователя)
__PASS__, который будет заменен кликтодиальным паролем (определяется на карточке пользователя). ClickToDialDesc=Этот модуль преобразует телефонные номера при использовании настольного компьютера в интерактивные ссылки. Щелчок вызовет номер. Его можно использовать для начала телефонного звонка при использовании программного телефона на рабочем столе или, например, при использовании системы CTI, основанной на протоколе SIP. Примечание. При использовании смартфона телефонные номера всегда доступны для нажатия. ClickToDialUseTelLink=Используйте только ссылку «tel:» на номера телефонов -ClickToDialUseTelLinkDesc=Используйте этот метод, если у ваших пользователей программный телефон или программный интерфейс установлен на том же компьютере, что и браузер, и вызывается при нажатии на ссылку в браузере, которая начинается с «tel:». Если вам нужно полноценное серверное решение (нет необходимости в локальной установке программного обеспечения), вы должны установить для него значение «Нет» и заполнить следующее поле. +ClickToDialUseTelLinkDesc=Используйте этот метод, если у ваших пользователей есть программный телефон или программный интерфейс, установленный на том же компьютере, что и браузер, и который вызывается при нажатии на ссылку, начинающуюся с «tel:», в вашем браузере. Если вам нужна ссылка, которая начинается с «sip:» или полное серверное решение (нет необходимости в локальной установке программного обеспечения), вы должны установить для нее значение «Нет» и заполнить следующее поле. ##### Point Of Sale (CashDesk) ##### CashDesk=Торговая точка CashDeskSetup=Настройка модуля «Точка продаж» @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=За исключением слу PHPFunctionsRequiredForCLI=Для целей оболочки (например, резервного копирования заданий по расписанию или запуска антивирусной программы) вы должны сохранить функции PHP NoWritableFilesFoundIntoRootDir=В корневом каталоге не обнаружены доступные для записи файлы или каталоги распространенных программ (Хорошо) RecommendedValueIs=Рекомендуется: %s -NotRecommended=Не рекомендуется +Recommended=Рекомендуемые +NotRecommended=Not recommended ARestrictedPath=Ограниченный путь CheckForModuleUpdate=Проверить обновления внешних модулей CheckForModuleUpdateHelp=Это действие подключится к редакторам внешних модулей, чтобы проверить, доступна ли новая версия. @@ -2142,5 +2144,7 @@ NoExternalModuleWithUpdate=Обновлений для внешних модул SwaggerDescriptionFile=Файл описания Swagger API (например, для использования с redoc) YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Вы включили устаревший WS API. Вместо этого вам следует использовать REST API. RandomlySelectedIfSeveral=Выбирается случайным образом, если доступно несколько изображений -DatabasePasswordObfuscated=Database password is obfuscated in conf file -DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +DatabasePasswordObfuscated=Пароль базы данных зашифрован в файле conf +DatabasePasswordNotObfuscated=Пароль базы данных НЕ запутывается в файле conf +APIsAreNotEnabled=Модули API не включены +YouShouldSetThisToOff=Вы должны установить это на 0 или выключить diff --git a/htdocs/langs/ru_RU/banks.lang b/htdocs/langs/ru_RU/banks.lang index 26af71315c2..451297fa8af 100644 --- a/htdocs/langs/ru_RU/banks.lang +++ b/htdocs/langs/ru_RU/banks.lang @@ -115,7 +115,7 @@ TransferTo=К TransferFromToDone=Передача% от S в% х %s% S был записан. CheckTransmitter=Отправитель ValidateCheckReceipt=Подтвердить получение чека? -ConfirmValidateCheckReceipt=Вы уверены, что хотите отправить этот чек на проверку? Никаких изменений не может быть сделано. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Удалить эту квитанцию? ConfirmDeleteCheckReceipt=Вы действительно хотите удалить эту квитанцию? BankChecks=Банковские чеки diff --git a/htdocs/langs/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index e183dd196e2..825c2cda16e 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -259,7 +259,7 @@ DateMaxPayment=Платеж должен быть произведен DateInvoice=Дата счета-фактуры DatePointOfTax=Пункт налогообложения NoInvoice=Нет счетов-фактур -NoOpenInvoice=No open invoice +NoOpenInvoice=Нет открытого счета ClassifyBill=Классифицировать счет-фактуру SupplierBillsToPay=Неоплаченные счета поставщика CustomerBillsUnpaid=Неоплаченные счета клиента diff --git a/htdocs/langs/ru_RU/boxes.lang b/htdocs/langs/ru_RU/boxes.lang index 263aad5ae29..9046b0d2c5e 100644 --- a/htdocs/langs/ru_RU/boxes.lang +++ b/htdocs/langs/ru_RU/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Заказы поставщиков: пос BoxTitleLastModifiedCustomerBills=Счета клиентов: последнее %s изменений BoxTitleLastModifiedCustomerOrders=Заказы на продажу: последнее изменение %s BoxTitleLastModifiedPropals=Последние измененные предложения %s -BoxTitleLatestModifiedJobPositions=Последние измененные вакансии %s -BoxTitleLatestModifiedCandidatures=Последние измененные кандидатуры %s +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Счета-фактуры Покупателей ForCustomersOrders=Заказы клиентов ForProposals=Предложения diff --git a/htdocs/langs/ru_RU/cashdesk.lang b/htdocs/langs/ru_RU/cashdesk.lang index 13bfeac8a00..dd8491c766b 100644 --- a/htdocs/langs/ru_RU/cashdesk.lang +++ b/htdocs/langs/ru_RU/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Разрешить отсроченный платеж PrintPaymentMethodOnReceipts=Распечатать способ оплаты на билетах | квитанциях WeighingScale=Весы ShowPriceHT = Отобразить столбец с ценой без налога (на экране) -ShowPriceHTOnReceipt = Вывести столбец с ценой без налога (при получении) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/ru_RU/deliveries.lang b/htdocs/langs/ru_RU/deliveries.lang index 11f941a0f22..11a4d806ebe 100644 --- a/htdocs/langs/ru_RU/deliveries.lang +++ b/htdocs/langs/ru_RU/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=Не возможно к отправке ShowShippableStatus=Показать статус доставки ShowReceiving=Показать квитанцию о доставке NonExistentOrder=Несуществующий заказ +StockQuantitiesAlreadyAllocatedOnPreviousLines = Объемы запасов, уже распределенные по предыдущим строкам diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index 5d9c38a42ba..5e90b971a39 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -11,7 +11,7 @@ ErrorBadValueForParamNotAString=Плохое значение для вашег ErrorRefAlreadyExists=Ссылка %s уже существует. ErrorLoginAlreadyExists=Логин %s уже существует. ErrorGroupAlreadyExists=Группа %s уже существует. -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=Электронная почта %s уже существует. ErrorRecordNotFound=Запись не найдена. ErrorFailToCopyFile=Не удалось скопировать файл '%s' в '%s'. ErrorFailToCopyDir=Не удалось скопировать каталог %s в %s . @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Требуется владелец ErrorActionCommBadType=Выбранный тип события (идентификатор: %n, код: %s) не существует в словаре типов событий CheckVersionFail=Ошибка проверки версии ErrorWrongFileName=Имя файла не может содержать __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Нет в Словаре условий оплаты, пожалуйста, измените. diff --git a/htdocs/langs/ru_RU/eventorganization.lang b/htdocs/langs/ru_RU/eventorganization.lang index 9c56b96eedc..7bf086963be 100644 --- a/htdocs/langs/ru_RU/eventorganization.lang +++ b/htdocs/langs/ru_RU/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Ссылка для скачивания ICS EVENTORGANIZATION_SECUREKEY = Защищенный ключ общедоступной регистрационной ссылки на конференцию SERVICE_BOOTH_LOCATION = Услуга, используемая для строки счета-фактуры о местонахождении стенда SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Служба, используемая для строки счета-фактуры о подписке участника на конференцию +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Конференция начинается %s и заканч ConferenceAttendeeFee = Плата за участие в конференции: «%s», происходящая от %s до %s. BoothLocationFee = Место расположения стенда для события : '%s' происходящего с %s до %s EventType = Тип события +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/ru_RU/exports.lang b/htdocs/langs/ru_RU/exports.lang index 144e97bd0bc..53b8a706a43 100644 --- a/htdocs/langs/ru_RU/exports.lang +++ b/htdocs/langs/ru_RU/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Тип линии (0= продукт, услуга 1= FileWithDataToImport=Файл с данными для импорта FileToImport=Исходный файл для импорта FileMustHaveOneOfFollowingFormat=Файл для импорта должен иметь один из следующих форматов -DownloadEmptyExample=Скачать файл шаблона с информацией о содержимом поля (* обязательные поля) +DownloadEmptyExample=Скачать файл шаблона с информацией о содержимом поля +StarAreMandatory=* обязательные поля ChooseFormatOfFileToImport=Выберите формат файла для использования в качестве формата файла импорта, щелкнув значок %s, чтобы выбрать его ... ChooseFileToImport=Загрузите файл, затем щелкните значок %s, чтобы выбрать файл в качестве исходного файла импорта ... SourceFileFormat=Формат исходного файла diff --git a/htdocs/langs/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index 03474ea62f0..477e6247d4d 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Перенос фото-путей для пользов MigrationFieldsSocialNetworks=Миграция пользовательских полей социальных сетей (%s) MigrationReloadModule=Перегрузите модуль %s MigrationResetBlockedLog=Сбросить модуль BlockedLog для алгоритма v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Показать недоступные параметры HideNotAvailableOptions=Скрыть недоступные параметры ErrorFoundDuringMigration=В процессе миграции были зарегистрированы ошибки, поэтому следующий шаг недоступен. Чтобы игнорировать ошибки, вы можете щелкнуть здесь , но приложение или некоторые функции могут работать некорректно, пока ошибки не будут устранены. diff --git a/htdocs/langs/ru_RU/knowledgemanagement.lang b/htdocs/langs/ru_RU/knowledgemanagement.lang index 24207d372c8..bcadca051bf 100644 --- a/htdocs/langs/ru_RU/knowledgemanagement.lang +++ b/htdocs/langs/ru_RU/knowledgemanagement.lang @@ -37,15 +37,7 @@ About = О KnowledgeManagementAbout = Об управлении знаниями KnowledgeManagementAboutPage = Управление знаниями о странице -# -# Sample page -# KnowledgeManagementArea = Управление знаниями - - -# -# Menu -# MenuKnowledgeRecord = База знаний ListKnowledgeRecord = Список статей NewKnowledgeRecord = Новая статья @@ -53,3 +45,5 @@ ValidateReply = Проверить решение KnowledgeRecords = Статьи KnowledgeRecord = Статья KnowledgeRecordExtraFields = Дополнительные поля для статьи +GroupOfTicket=Группа билетов +YouCanLinkArticleToATicketCategory=Вы можете привязать статью к группе заявок (чтобы статья предлагалась во время квалификации новых билетов) diff --git a/htdocs/langs/ru_RU/languages.lang b/htdocs/langs/ru_RU/languages.lang index d66a0ce2e5f..2bb7da4baf8 100644 --- a/htdocs/langs/ru_RU/languages.lang +++ b/htdocs/langs/ru_RU/languages.lang @@ -3,7 +3,8 @@ Language_am_ET=Эфиопский Language_ar_AR=Арабский Language_ar_EG=Арабский (Египет) Language_ar_SA=Арабский -Language_ar_TN=Arabic (Tunisia) +Language_ar_TN=Арабский (Тунис) +Language_ar_IQ=Арабский (Ирак) Language_az_AZ=Азербайджанский Language_bn_BD=Бенгальский Language_bn_IN=Бенгальский (Индия) @@ -83,6 +84,7 @@ Language_ne_NP=Непальский Language_nl_BE=Голландский (Бельгия) Language_nl_NL=нидерландский язык Language_pl_PL=Польский +Language_pt_AO=Португальский (Ангола) Language_pt_BR=Португальский (Бразилия) Language_pt_PT=Португальский Language_ro_MD=Румынский (Молдавия) diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index dbb85c167f4..945c84596b3 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -730,7 +730,7 @@ MenuMembers=Участники MenuAgendaGoogle=Google agenda MenuTaxesAndSpecialExpenses=Налоги | Особые расходы ThisLimitIsDefinedInSetup=Лимит Dolibarr (Меню Главная-Настройки-Безопасность): %s Кб, лимит PHP: %s Кб -ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +ThisLimitIsDefinedInSetupAt=Лимит долибарра (меню %s): %s Kb, лимит PHP (параметр %s): %s Kb NoFileFound=Документы не загружены CurrentUserLanguage=Текущий язык CurrentTheme=Текущая тема @@ -1136,4 +1136,4 @@ CategTypeNotFound=Тип тега для типа записей не найде CopiedToClipboard=Скопировано в буфер обмена InformationOnLinkToContract=Эта сумма представляет собой только сумму всех строк контракта. Время не принимается во внимание. ConfirmCancel=Вы уверены, что хотите отменить -EmailMsgID=Email MsgID +EmailMsgID=Электронная почта MsgID diff --git a/htdocs/langs/ru_RU/partnership.lang b/htdocs/langs/ru_RU/partnership.lang index 6b70af53766..e6e5f23a67c 100644 --- a/htdocs/langs/ru_RU/partnership.lang +++ b/htdocs/langs/ru_RU/partnership.lang @@ -20,9 +20,9 @@ ModulePartnershipName=Управление партнерством PartnershipDescription=Модуль Управление партнерством PartnershipDescriptionLong= Модуль Управление партнерством -AddPartnership=Add partnership -CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions -PartnershipCheckBacklink=Partnership: Check referring backlink +AddPartnership=Добавить партнерство +CancelPartnershipForExpiredMembers=Партнерство: отмените партнерство участников с истекшими подписками +PartnershipCheckBacklink=Партнерство: проверьте ссылающуюся обратную ссылку # # Menu @@ -57,7 +57,7 @@ PartnershipAlreadyExist=Партнерство уже существует ManagePartnership=Управление партнерством BacklinkNotFoundOnPartnerWebsite=Обратная ссылка не найдена на партнерском сайте ConfirmClosePartnershipAsk=Вы уверены, что хотите отменить это партнерство? -PartnershipType=Partnership type +PartnershipType=Тип партнерства # # Template Mail diff --git a/htdocs/langs/ru_RU/productbatch.lang b/htdocs/langs/ru_RU/productbatch.lang index c805563062d..7a0646ff1a6 100644 --- a/htdocs/langs/ru_RU/productbatch.lang +++ b/htdocs/langs/ru_RU/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Показать журнал движений для п StockDetailPerBatch=Детальная информация о лоте SerialNumberAlreadyInUse=Серийный номер %s уже используется для продукта %s TooManyQtyForSerialNumber=У вас может быть только один продукт %s для серийного номера %s -BatchLotNumberingModules=Опции для автоматического создания серийной продукции по партиям -BatchSerialNumberingModules=Опции для автоматического создания серийной продукции по серийным номерам ManageLotMask=Пользовательская маска -CustomMasks=Добавляет возможность определения маски в карточке товара -LotProductTooltip=Добавляет параметр в карточку продукта для определения специальной маски номера партии -SNProductTooltip=Добавляет параметр в карточку продукта для определения специальной маски серийного номера +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Кол-во для добавления для каждого отсканированного штрих-кода / партии / серийного номера LifeTime=Продолжительность жизни (в днях) EndOfLife=Конец жизни diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index cc494727689..8a631064c05 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Различные цены для каждого клиента PriceCatalogue=Одна продажная цена за продукт/услугу PricingRule=Правила отпускных цен AddCustomerPrice=Добавить цену по клиенту -ForceUpdateChildPriceSoc=Установить такую же цену для дочерних клиентов +ForceUpdateChildPriceSoc=Установите такую же цену для дочерних компаний клиента PriceByCustomerLog=Журнал предыдущих цен клиента MinimumPriceLimit=Минимальная цена не может быть ниже %s MinimumRecommendedPrice=Минимальная рекомендованная цена: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Увеличение / уменьшение запа ComposedProduct=Детские товары MinSupplierPrice=Минимальная закупочная цена MinCustomerPrice=Минимальная цена продажи +NoDynamicPrice=Нет динамической цены DynamicPriceConfiguration=Настройка динамического ценообразования DynamicPriceDesc=Вы можете определить математические формулы для расчета цен Клиента или Продавца. В таких формулах могут использоваться все математические операторы, некоторые константы и переменные. Вы можете определить здесь переменные, которые хотите использовать. Если переменная нуждается в автоматическом обновлении, вы можете определить внешний URL-адрес, чтобы позволить Dolibarr автоматически обновлять значение. AddVariable=Добавить переменную @@ -340,7 +341,7 @@ ProductSheet=Лист продукта ServiceSheet=Сервисный лист PossibleValues=Возможные значения GoOnMenuToCreateVairants=Перейдите в меню %s - %s, чтобы подготовить варианты атрибутов (например, цвета, размер, ...) -UseProductFournDesc=Добавьте функцию для определения описаний продуктов, определенных поставщиками, в дополнение к описаниям для клиентов. +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers ProductSupplierDescription=Описание продавца продукта UseProductSupplierPackaging=Использовать упаковку по ценам поставщика (пересчитать количества в соответствии с упаковкой, указанной в цене поставщика, при добавлении / обновлении строки в документах поставщика) PackagingForThisProduct=Упаковка diff --git a/htdocs/langs/ru_RU/salaries.lang b/htdocs/langs/ru_RU/salaries.lang index 742e9a385d1..8351f178b75 100644 --- a/htdocs/langs/ru_RU/salaries.lang +++ b/htdocs/langs/ru_RU/salaries.lang @@ -17,8 +17,8 @@ TJM=Среднесуточная ставка CurrentSalary=Текущая зарплата THMDescription=Это значение может использоваться для расчета затрат времени, затраченного на проект, введенный пользователями, если используется модуль Проектов TJMDescription=Это значение в настоящее время только для информации и не используется для каких-либо расчетов -LastSalaries=Последние%s выплат зарплаты -AllSalaries=Все выплаты зарплаты +LastSalaries=Последние зарплаты %s +AllSalaries=Все зарплаты SalariesStatistics=Статистика зарплаты -# Export SalariesAndPayments=Заработная плата и выплаты +ConfirmDeleteSalaryPayment=Вы хотите удалить эту зарплату? diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index 8336111fb6a..853a02eff70 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -60,7 +60,7 @@ EnhancedValueOfWarehouses=Склады стоимости UserWarehouseAutoCreate=Автоматическое создание хранилища пользователей при создании пользователя AllowAddLimitStockByWarehouse=Управляйте также стоимостью минимального и желаемого запаса для каждой пары (продукт-склад) в дополнение к стоимости минимального и желаемого запаса для каждого продукта. RuleForWarehouse=Правило для складов -WarehouseAskWarehouseOnThirparty=Установить склад на сторонний +WarehouseAskWarehouseOnThirparty=Настроить склад на Сторонних WarehouseAskWarehouseDuringPropal=Установить склад по коммерческим предложениям WarehouseAskWarehouseDuringOrder=Настроить склад на Распродажу заказов UserDefaultWarehouse=Настроить склад для пользователей @@ -167,8 +167,8 @@ MovementTransferStock=Перевозка товара %s на другой ск InventoryCodeShort=Инв. / Мов. код NoPendingReceptionOnSupplierOrder=Нет ожидающих приема из-за открытого заказа на поставку ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Открыт для всех действий -OpenInternal=Открыт только для внутренних действий +OpenAnyMovement=Открытый (все движения) +OpenInternal=Открытый (только внутреннее движение) UseDispatchStatus=Используйте статус отправки (одобрение / отказ) для линейки продуктов при приеме заказа на поставку. OptionMULTIPRICESIsOn=Включена опция «несколько цен на сегмент». Это означает, что товар имеет несколько продажных цен, поэтому стоимость продажи не может быть рассчитана. ProductStockWarehouseCreated=Правильно установлен лимит запаса для предупреждения и желаемый оптимальный запас diff --git a/htdocs/langs/ru_RU/ticket.lang b/htdocs/langs/ru_RU/ticket.lang index 17febc2ff1f..b5d33b03b5f 100644 --- a/htdocs/langs/ru_RU/ticket.lang +++ b/htdocs/langs/ru_RU/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Тикет - Разрешение TicketTypeShortCOM=Коммерческий вопрос TicketTypeShortHELP=Запрос на функциональную помощь -TicketTypeShortISSUE=Проблема, ошибка или проблема +TicketTypeShortISSUE=Проблема или ошибка +TicketTypeShortPROBLEM=Проблема TicketTypeShortREQUEST=Запрос на изменение или расширение TicketTypeShortPROJET=Проект TicketTypeShortOTHER=Другое @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Назначенный пользоват TypeContact_ticket_external_SUPPORTCLI=Контакты с клиентами / отслеживание инцидентов TypeContact_ticket_external_CONTRIBUTOR=Внешний участник -OriginEmail=Источник электронной почты +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Отправить билетное сообщение по электронной почте # Status Read=Читать Assigned=Назначенный InProgress=Выполняется -NeedMoreInformation=Жду информации +NeedMoreInformation=Жду отзывов репортера +NeedMoreInformationShort=Жду отзывов Answered=Ответил Waiting=Ожидание Closed=Закрыты @@ -160,7 +162,7 @@ CreatedBy=Создано NewTicket=Новый тикет SubjectAnswerToTicket=Тикет ответ TicketTypeRequest=Тип запроса -TicketCategory=Группа +TicketCategory=Категоризация тикетов SeeTicket=Посмотреть тикет TicketMarkedAsRead=Тикет отмечен как прочитанный TicketReadOn=Читать дальше @@ -211,6 +213,7 @@ TicketMessageHelp=Только этот текст будет сохранен TicketMessageSubstitutionReplacedByGenericValues=Подстановки переменных заменяются общими значениями. TimeElapsedSince=Прошло время с TicketTimeToRead=Время, прошедшее до прочтения +TicketTimeElapsedBeforeSince=Время, прошедшее до / с TicketContacts=Контакты тикет TicketDocumentsLinked=Документы, привязанные к билету ConfirmReOpenTicket=Подтвердить повторное открытие этого билета? @@ -304,7 +307,7 @@ BoxLastModifiedTicket=Последние измененные тикеты BoxLastModifiedTicketDescription=Последние измененные тикеты %s BoxLastModifiedTicketContent= BoxLastModifiedTicketNoRecordedTickets=Нет недавно измененных тикетов -BoxTicketType=Distribution of open tickets by type +BoxTicketType=Распределение открытых билетов по типам BoxTicketSeverity=Количество открытых заявок по серьезности BoxNoTicketSeverity=Тикеты не открыты BoxTicketLastXDays=Количество новых тикетов по дням последние %s дней diff --git a/htdocs/langs/ru_RU/users.lang b/htdocs/langs/ru_RU/users.lang index 5f9ca80336c..2ef9df3aa0b 100644 --- a/htdocs/langs/ru_RU/users.lang +++ b/htdocs/langs/ru_RU/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Логин для создания NameToCreate=Имя третьей стороной для создания YourRole=Ваша роль YourQuotaOfUsersIsReached=Квота активных пользователей будет достигнута! -NbOfUsers=Кол-во пользователей -NbOfPermissions=Кол-во разрешений +NbOfUsers=Количество пользователей +NbOfPermissions=Количество разрешений DontDowngradeSuperAdmin=Только суперамин может понизить суперамин HierarchicalResponsible=Руководитель HierarchicView=Иерархический вид diff --git a/htdocs/langs/ru_RU/website.lang b/htdocs/langs/ru_RU/website.lang index f0b4f5cc7c0..825f1b801b2 100644 --- a/htdocs/langs/ru_RU/website.lang +++ b/htdocs/langs/ru_RU/website.lang @@ -31,7 +31,7 @@ AddWebsite=Добавить сайт Webpage=Веб-страница / контейнер AddPage=Добавить страницу / контейнер PageContainer=Страница -PreviewOfSiteNotYetAvailable=Предварительный просмотр вашего сайта %s пока недоступен. Сначала необходимо « Импортировать полный шаблон веб-сайта » или просто « Добавить страницу / контейнер ». +PreviewOfSiteNotYetAvailable=Предварительный просмотр вашего веб-сайта %s пока недоступен. Сначала необходимо « Импортировать полный шаблон веб-сайта » или просто « Добавить страницу / контейнер ». RequestedPageHasNoContentYet=Запрошенная страница с идентификатором %s еще не имеет содержимого, либо файл кеша .tpl.php был удален. Отредактируйте содержимое страницы, чтобы решить эту проблему. SiteDeleted=Веб-сайт "%s" удален. PageContent=Страница / Contenair diff --git a/htdocs/langs/ru_UA/products.lang b/htdocs/langs/ru_UA/products.lang deleted file mode 100644 index e0628dbec00..00000000000 --- a/htdocs/langs/ru_UA/products.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - products -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries diff --git a/htdocs/langs/ru_UA/ticket.lang b/htdocs/langs/ru_UA/ticket.lang deleted file mode 100644 index 82e110b1ca4..00000000000 --- a/htdocs/langs/ru_UA/ticket.lang +++ /dev/null @@ -1,5 +0,0 @@ -# Dolibarr language file - Source file is en_US - ticket -TicketTypeShortISSUE=Issue, bug or problem -OriginEmail=Email source -NeedMoreInformation=Waiting for information -TicketCategory=Group diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index 365778f4fe8..54deb191bbc 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interný užívateľ ExternalUser=Externý užívateľ InternalUsers=Interní používatelia ExternalUsers=Externí používatelia +UserInterface=User interface GUISetup=Zobraziť SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcia nie je k dispozícii vo vašom PHP DownloadMoreSkins=Ďalšie skiny k stiahnutiu SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Čiastočný preklad MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Kliknite pre Dial Nastavenie modulu ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Odporúčaná +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/sk_SK/banks.lang b/htdocs/langs/sk_SK/banks.lang index dcc321b5360..5a89e6b8681 100644 --- a/htdocs/langs/sk_SK/banks.lang +++ b/htdocs/langs/sk_SK/banks.lang @@ -115,7 +115,7 @@ TransferTo=Na TransferFromToDone=Transfer z %s na %s %s %s zo bol zaznamenaný. CheckTransmitter=Odosielateľ ValidateCheckReceipt=Overiť túto potvrdenku ? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Zmazať túto potvrdenku ? ConfirmDeleteCheckReceipt=Určite chcete zmazať túto potvrdenku ? BankChecks=Bankové šeky diff --git a/htdocs/langs/sk_SK/boxes.lang b/htdocs/langs/sk_SK/boxes.lang index dc27e1a08ea..4ec7f5cfa9a 100644 --- a/htdocs/langs/sk_SK/boxes.lang +++ b/htdocs/langs/sk_SK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Nedávno %s upravené ponuky -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Zákazníci faktúry ForCustomersOrders=Zákazníci objednávky ForProposals=Návrhy diff --git a/htdocs/langs/sk_SK/cashdesk.lang b/htdocs/langs/sk_SK/cashdesk.lang index 2743926c0b0..580c98028b2 100644 --- a/htdocs/langs/sk_SK/cashdesk.lang +++ b/htdocs/langs/sk_SK/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/sk_SK/deliveries.lang b/htdocs/langs/sk_SK/deliveries.lang index bbbd23eb949..a9399816f13 100644 --- a/htdocs/langs/sk_SK/deliveries.lang +++ b/htdocs/langs/sk_SK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Príjemca ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index 8dca2fd1384..3d62319d0d9 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sk_SK/eventorganization.lang b/htdocs/langs/sk_SK/eventorganization.lang index 08cb79e8b00..a2a69d44cae 100644 --- a/htdocs/langs/sk_SK/eventorganization.lang +++ b/htdocs/langs/sk_SK/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Typ udalosti +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/sk_SK/exports.lang b/htdocs/langs/sk_SK/exports.lang index a9991f8c0fd..27c4c0f4a2d 100644 --- a/htdocs/langs/sk_SK/exports.lang +++ b/htdocs/langs/sk_SK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Použitý typ linky (0 = produkt, 1 = služba) FileWithDataToImport=Súbor s dátami pre import FileToImport=Zdrojový súbor na import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Zdrojový súbor diff --git a/htdocs/langs/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index 92b82af0604..9988cb88e73 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Znovu načítať modul %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sk_SK/interventions.lang b/htdocs/langs/sk_SK/interventions.lang index 24b6496bfaa..17c0d2077f6 100644 --- a/htdocs/langs/sk_SK/interventions.lang +++ b/htdocs/langs/sk_SK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/sk_SK/productbatch.lang b/htdocs/langs/sk_SK/productbatch.lang index 52833dc2011..189c4cef7c0 100644 --- a/htdocs/langs/sk_SK/productbatch.lang +++ b/htdocs/langs/sk_SK/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index dc7d5754a66..2342249013d 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Rozdielné ceny pre každého zákazníka PriceCatalogue=Rovnaká predajná cena pre produkt/službu PricingRule=Rules for selling prices AddCustomerPrice=Pridať cenu podľa zákazníka -ForceUpdateChildPriceSoc=Nastaviť rovnakú cenu pre dcerske spoločnosti zákazníka +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Vypis historických cien zákazníka MinimumPriceLimit=Minimálna cena nemôže byť nižšia ako %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Pridať/Odobrať pri zmene rodičovského ComposedProduct=Child products MinSupplierPrice=Minimálna nákupná cena MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Nastavenie dynamickej ceny DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Pridať premennú diff --git a/htdocs/langs/sk_SK/salaries.lang b/htdocs/langs/sk_SK/salaries.lang index d1bc2feb8c7..9e344782ee3 100644 --- a/htdocs/langs/sk_SK/salaries.lang +++ b/htdocs/langs/sk_SK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mzda Salaries=Mzdy -NewSalaryPayment=Nová výplata mzdy +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Výplata mzdy SalariesPayments=Výplaty miezd +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Ukázať výplatu mzdy THM=Priemerná hodinová mzda TJM=priemerná denná mzda CurrentSalary=Súčasná mzda THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sk_SK/ticket.lang b/htdocs/langs/sk_SK/ticket.lang index 486a593108c..aae27645fb5 100644 --- a/htdocs/langs/sk_SK/ticket.lang +++ b/htdocs/langs/sk_SK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostatné @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Čítať Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Čakanie Closed=Zatvorené @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Skupina +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/sk_SK/users.lang b/htdocs/langs/sk_SK/users.lang index 77cc52980da..1cc5dc38477 100644 --- a/htdocs/langs/sk_SK/users.lang +++ b/htdocs/langs/sk_SK/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Prihlásiť sa ak chcete vytvoriť NameToCreate=Názov vytváranej tretej strany YourRole=Vaše roly YourQuotaOfUsersIsReached=Vaša kvóta aktívnych používateľov bola dosiahnutá! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Iba superadmin môže degradovať superadmina HierarchicalResponsible=Supervízor HierarchicView=Hierarchické zobrazenie diff --git a/htdocs/langs/sk_SK/website.lang b/htdocs/langs/sk_SK/website.lang index 8612aecf711..9dc8034d7e0 100644 --- a/htdocs/langs/sk_SK/website.lang +++ b/htdocs/langs/sk_SK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Strana -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index 23aed3e8644..2e033872a7c 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -53,6 +53,7 @@ InternalUser=Interni uporabnik ExternalUser=Zunanji uporabnik InternalUsers=Interni uporabniki ExternalUsers=Zunanji uporabniki +UserInterface=User interface GUISetup=Prikaz SetupArea=Nastavitve UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL funkcije niso na voljo v vašem PHP DownloadMoreSkins=Prenos dodatnih preoblek SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Delni prevod MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Nastavitve modula za klicanje s klikom ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Priporočena +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/sl_SI/banks.lang b/htdocs/langs/sl_SI/banks.lang index 6bf993564d0..8212dc05e67 100644 --- a/htdocs/langs/sl_SI/banks.lang +++ b/htdocs/langs/sl_SI/banks.lang @@ -115,7 +115,7 @@ TransferTo=Na TransferFromToDone=Zabeležen je bil transfer od %s na %s v znesku %s %s. CheckTransmitter=Od ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bančni čeki diff --git a/htdocs/langs/sl_SI/boxes.lang b/htdocs/langs/sl_SI/boxes.lang index 2b07e2fe81f..b2cbbc50e6a 100644 --- a/htdocs/langs/sl_SI/boxes.lang +++ b/htdocs/langs/sl_SI/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Računi za kupce ForCustomersOrders=Naročila kupcev ForProposals=Ponudbe diff --git a/htdocs/langs/sl_SI/cashdesk.lang b/htdocs/langs/sl_SI/cashdesk.lang index 3f773ece1c7..5f7f0c2feae 100644 --- a/htdocs/langs/sl_SI/cashdesk.lang +++ b/htdocs/langs/sl_SI/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/sl_SI/deliveries.lang b/htdocs/langs/sl_SI/deliveries.lang index 6c10f871fba..a2045ed2786 100644 --- a/htdocs/langs/sl_SI/deliveries.lang +++ b/htdocs/langs/sl_SI/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Prejemnik ErrorStockIsNotEnough=Zaloga je premajhna Shippable=Možna odprema NonShippable=Ni možna odprema +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index 53beda3ad60..990d2498216 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sl_SI/eventorganization.lang b/htdocs/langs/sl_SI/eventorganization.lang index 56623bf07f6..8cd7028c7ab 100644 --- a/htdocs/langs/sl_SI/eventorganization.lang +++ b/htdocs/langs/sl_SI/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Tip dogodka +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/sl_SI/exports.lang b/htdocs/langs/sl_SI/exports.lang index e48218574d6..9b77df1cc21 100644 --- a/htdocs/langs/sl_SI/exports.lang +++ b/htdocs/langs/sl_SI/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tip vrstice (0=proizvod, 1=storitev) FileWithDataToImport=Datoteka s podatki za uvoz FileToImport=Izvorna datoteka za uvoz FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Format izvorne datoteke diff --git a/htdocs/langs/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index 92bb6ebc95a..36ec526e467 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Ponovno naložite modul %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sl_SI/interventions.lang b/htdocs/langs/sl_SI/interventions.lang index 5690b096a51..89945facf35 100644 --- a/htdocs/langs/sl_SI/interventions.lang +++ b/htdocs/langs/sl_SI/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/sl_SI/productbatch.lang b/htdocs/langs/sl_SI/productbatch.lang index 8a60dfb1f62..ec16883ae2b 100644 --- a/htdocs/langs/sl_SI/productbatch.lang +++ b/htdocs/langs/sl_SI/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/sl_SI/products.lang b/htdocs/langs/sl_SI/products.lang index d126bc23073..2eef30f0448 100644 --- a/htdocs/langs/sl_SI/products.lang +++ b/htdocs/langs/sl_SI/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Dodaj ceno po kupcu -ForceUpdateChildPriceSoc=Določi enako ceno za podružnice stranke +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Pregled prejšnjih cen za kupce MinimumPriceLimit=Minimalna cena ne more biti nižja kot %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Povečanje/znmanjšanje zaloge pri spremembi nadrejen ComposedProduct=Child products MinSupplierPrice=Najnižjo odkupno ceno MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dimnamična konfiguracija cene DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/sl_SI/salaries.lang b/htdocs/langs/sl_SI/salaries.lang index c9e828f84a3..197d00ba457 100644 --- a/htdocs/langs/sl_SI/salaries.lang +++ b/htdocs/langs/sl_SI/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Plača Salaries=Plače -NewSalaryPayment=Novo izplačilo plače +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Izplačilo plače SalariesPayments=Izplačila plač +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Prikaži izplačilo plač THM=Average hourly rate TJM=Average daily rate CurrentSalary=Trenutna plača THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sl_SI/ticket.lang b/htdocs/langs/sl_SI/ticket.lang index 8666613d0f0..26c63218879 100644 --- a/htdocs/langs/sl_SI/ticket.lang +++ b/htdocs/langs/sl_SI/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Ostalo @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Preberite Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Na čakanju Closed=Zaključeno @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Skupina +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/sl_SI/users.lang b/htdocs/langs/sl_SI/users.lang index e911348ef47..e48bfb63b82 100644 --- a/htdocs/langs/sl_SI/users.lang +++ b/htdocs/langs/sl_SI/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Kreiranje uporabniškega imena NameToCreate=Kreiranje imena partnerja YourRole=Vaše vloge YourQuotaOfUsersIsReached=Dosežena je vaša kvota aktivnih uporabnikov ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin lahko degradira samo superadmin HierarchicalResponsible=Nadzornik HierarchicView=Hierarhični pogled diff --git a/htdocs/langs/sl_SI/website.lang b/htdocs/langs/sl_SI/website.lang index 9d3d0faab74..f0e2a16cf8c 100644 --- a/htdocs/langs/sl_SI/website.lang +++ b/htdocs/langs/sl_SI/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Stran -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index a6643921c94..5ca16ac9515 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/admin.lang @@ -53,6 +53,7 @@ InternalUser=Përdorues i brendshëm ExternalUser=Përdorues i jashtëm InternalUsers=Përdorues të brendshëm ExternalUsers=Përdorues të jashtëm +UserInterface=User interface GUISetup=Shfaq SetupArea=Konfiguro UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/sq_AL/banks.lang b/htdocs/langs/sq_AL/banks.lang index dd5f1ca63b1..83629ccc746 100644 --- a/htdocs/langs/sq_AL/banks.lang +++ b/htdocs/langs/sq_AL/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Dërguesi ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/sq_AL/boxes.lang b/htdocs/langs/sq_AL/boxes.lang index ce0cd6dc236..1a9e009e49c 100644 --- a/htdocs/langs/sq_AL/boxes.lang +++ b/htdocs/langs/sq_AL/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/sq_AL/cashdesk.lang b/htdocs/langs/sq_AL/cashdesk.lang index c9b3c0bf188..d21d2b762f9 100644 --- a/htdocs/langs/sq_AL/cashdesk.lang +++ b/htdocs/langs/sq_AL/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/sq_AL/deliveries.lang b/htdocs/langs/sq_AL/deliveries.lang index 903710c110d..05b090f1123 100644 --- a/htdocs/langs/sq_AL/deliveries.lang +++ b/htdocs/langs/sq_AL/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sq_AL/eventorganization.lang b/htdocs/langs/sq_AL/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/sq_AL/eventorganization.lang +++ b/htdocs/langs/sq_AL/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/sq_AL/exports.lang b/htdocs/langs/sq_AL/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/sq_AL/exports.lang +++ b/htdocs/langs/sq_AL/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index dbb8be357e7..08a9f949f86 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sq_AL/interventions.lang b/htdocs/langs/sq_AL/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/sq_AL/interventions.lang +++ b/htdocs/langs/sq_AL/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/sq_AL/productbatch.lang b/htdocs/langs/sq_AL/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/sq_AL/productbatch.lang +++ b/htdocs/langs/sq_AL/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/sq_AL/products.lang b/htdocs/langs/sq_AL/products.lang index 3ef089f359a..5fd4916c8f2 100644 --- a/htdocs/langs/sq_AL/products.lang +++ b/htdocs/langs/sq_AL/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/sq_AL/salaries.lang b/htdocs/langs/sq_AL/salaries.lang index 3539d05cb2e..6f5391f3da3 100644 --- a/htdocs/langs/sq_AL/salaries.lang +++ b/htdocs/langs/sq_AL/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Rrogë Salaries=Rrogat -NewSalaryPayment=Pagesë e re rroge +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Pagesë rroge SalariesPayments=Pagesat e rrogave +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Trego pagesën e rrogës THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sq_AL/ticket.lang b/htdocs/langs/sq_AL/ticket.lang index 624d7985dbd..eb1fe6d0063 100644 --- a/htdocs/langs/sq_AL/ticket.lang +++ b/htdocs/langs/sq_AL/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Tjetër @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Mbyllur @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/sq_AL/users.lang b/htdocs/langs/sq_AL/users.lang index f0310710974..fbd264fa0a1 100644 --- a/htdocs/langs/sq_AL/users.lang +++ b/htdocs/langs/sq_AL/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/sq_AL/website.lang b/htdocs/langs/sq_AL/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/sq_AL/website.lang +++ b/htdocs/langs/sq_AL/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sr_RS/admin.lang b/htdocs/langs/sr_RS/admin.lang index 7c246b5d190..31f7c89590b 100644 --- a/htdocs/langs/sr_RS/admin.lang +++ b/htdocs/langs/sr_RS/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Podešavanja UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Samo koristi link "tel:" na telefonskim brojevima -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Preporučeno +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/sr_RS/banks.lang b/htdocs/langs/sr_RS/banks.lang index e1d59217844..4bccdc11cb4 100644 --- a/htdocs/langs/sr_RS/banks.lang +++ b/htdocs/langs/sr_RS/banks.lang @@ -115,7 +115,7 @@ TransferTo=Za TransferFromToDone=Prenos od %s to %s of %s %s je zabeležen. CheckTransmitter=Pošiljalac ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bankovni ček diff --git a/htdocs/langs/sr_RS/boxes.lang b/htdocs/langs/sr_RS/boxes.lang index e593f6e30fc..c65406c025b 100644 --- a/htdocs/langs/sr_RS/boxes.lang +++ b/htdocs/langs/sr_RS/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Fakture klijenata ForCustomersOrders=Narudžbine klijenata ForProposals=Ponude diff --git a/htdocs/langs/sr_RS/cashdesk.lang b/htdocs/langs/sr_RS/cashdesk.lang index 76a74df3a33..50c461f5015 100644 --- a/htdocs/langs/sr_RS/cashdesk.lang +++ b/htdocs/langs/sr_RS/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/sr_RS/deliveries.lang b/htdocs/langs/sr_RS/deliveries.lang index 0ab45d43795..6590466b478 100644 --- a/htdocs/langs/sr_RS/deliveries.lang +++ b/htdocs/langs/sr_RS/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Primalac ErrorStockIsNotEnough=Nema dovoljno zaliha Shippable=Isporučivo NonShippable=Nije isporučivo +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sr_RS/errors.lang b/htdocs/langs/sr_RS/errors.lang index cfcb3ff5f9f..5469001ad78 100644 --- a/htdocs/langs/sr_RS/errors.lang +++ b/htdocs/langs/sr_RS/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sr_RS/eventorganization.lang b/htdocs/langs/sr_RS/eventorganization.lang index f2e1ea2d7e3..8c27a39641b 100644 --- a/htdocs/langs/sr_RS/eventorganization.lang +++ b/htdocs/langs/sr_RS/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Tip događaja +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/sr_RS/exports.lang b/htdocs/langs/sr_RS/exports.lang index 41f2f5ed861..6ad60fe9e52 100644 --- a/htdocs/langs/sr_RS/exports.lang +++ b/htdocs/langs/sr_RS/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Tip linije (0=proizvod, 1=usluga) FileWithDataToImport=Fajl sa podacima za import FileToImport=Izvorni fajl za import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Format izvornog fajla diff --git a/htdocs/langs/sr_RS/install.lang b/htdocs/langs/sr_RS/install.lang index 3a09cc9669d..e5f60b91b6b 100644 --- a/htdocs/langs/sr_RS/install.lang +++ b/htdocs/langs/sr_RS/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Ponovo učitavanje modula %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sr_RS/interventions.lang b/htdocs/langs/sr_RS/interventions.lang index b1bc27aa9e7..11aeb4fe0de 100644 --- a/htdocs/langs/sr_RS/interventions.lang +++ b/htdocs/langs/sr_RS/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Trajanje linije intervencije InterLineDesc=Opis linije intervencije RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Ponovo Otvoreno +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/sr_RS/productbatch.lang b/htdocs/langs/sr_RS/productbatch.lang index 1df8b47c1c2..6b4c2e2f343 100644 --- a/htdocs/langs/sr_RS/productbatch.lang +++ b/htdocs/langs/sr_RS/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/sr_RS/products.lang b/htdocs/langs/sr_RS/products.lang index 15e51a7abfe..2bfcef67ddf 100644 --- a/htdocs/langs/sr_RS/products.lang +++ b/htdocs/langs/sr_RS/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Dodaj cenu po klijentu -ForceUpdateChildPriceSoc=Podesi istu cenu za ogranke klijenta +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Istorija prethodnih cena klijenata MinimumPriceLimit=Minimalna cena ne može biti manja od %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Povećaj/Smanji zalihu na matičnoj promeni ComposedProduct=Child products MinSupplierPrice=Minimalna kupovna cena MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamička konfiguracija cene DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Dodaj promenljivu diff --git a/htdocs/langs/sr_RS/salaries.lang b/htdocs/langs/sr_RS/salaries.lang index 43def73622c..ca05a64c7fa 100644 --- a/htdocs/langs/sr_RS/salaries.lang +++ b/htdocs/langs/sr_RS/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Konto koji se koristi za korisnike trećih lica SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Plata Salaries=Plate -NewSalaryPayment=Nova isplata zarade +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Isplata zarade SalariesPayments=Isplate zarada +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Prikaži isplatu zarade THM=Prosečna cena sata TJM=Prosečna cena dana CurrentSalary=Trenutna plata THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sr_RS/ticket.lang b/htdocs/langs/sr_RS/ticket.lang index 9bd7de5b1d3..d001d02171f 100644 --- a/htdocs/langs/sr_RS/ticket.lang +++ b/htdocs/langs/sr_RS/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Projekat TicketTypeShortOTHER=Drugo @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Pročitaj Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Na čekanju Closed=Zatvoreno @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Grupa +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/sr_RS/users.lang b/htdocs/langs/sr_RS/users.lang index 3f49f99fdb0..ee428e59980 100644 --- a/htdocs/langs/sr_RS/users.lang +++ b/htdocs/langs/sr_RS/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login za kreiranje NameToCreate=Ime subjekta za kreiranje YourRole=Vaši profili YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je dostignuta ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Samo superadmin može downgrade-ovati superadmina HierarchicalResponsible=Supervizor HierarchicView=Hijerarhijski prikaz diff --git a/htdocs/langs/sr_RS/website.lang b/htdocs/langs/sr_RS/website.lang index a51d5cffc41..f953e2c2725 100644 --- a/htdocs/langs/sr_RS/website.lang +++ b/htdocs/langs/sr_RS/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Strana -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/sv_SE/accountancy.lang b/htdocs/langs/sv_SE/accountancy.lang index ae73d14f744..f70887b5ec9 100644 --- a/htdocs/langs/sv_SE/accountancy.lang +++ b/htdocs/langs/sv_SE/accountancy.lang @@ -48,7 +48,8 @@ CountriesNotInEEC=Länder inte i EEG CountriesInEECExceptMe=Länder i EEG förutom %s CountriesExceptMe=Alla länder utom %s AccountantFiles=Exportera källdokument -ExportAccountingSourceDocHelp=Med det här verktyget kan du exportera de källhändelser (lista och PDF-filer) som användes för att generera din bokföring. För att exportera dina tidskrifter, använd menyposten %s - %s. +ExportAccountingSourceDocHelp=With this tool, you can export the source events (list in CSV and PDFs) that were used to generate your accountancy. +ExportAccountingSourceDocHelp2=För att exportera verifikationer, använd menyn %s - %s VueByAccountAccounting=Visa baserat på redovisningskonto VueBySubAccountAccounting=Visa efter redovisning av underkonto @@ -328,7 +329,7 @@ ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Inaktivera bindning och överföring av ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Inaktivera bindning och överföring i bokföring på kostnadsrapporter (kostnadsrapporter kommer inte att beaktas vid redovisning) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) +NotifiedExportDate=Exporteringsdatum (ändringar kan ej göras) NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) ConfirmExportFile=Confirmation of the generation of the accounting export file ? ExportDraftJournal=Exportera utkast till loggbok diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index 438eda62f9f..73fe7295128 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -53,6 +53,7 @@ InternalUser=Intern användare ExternalUser=Extern användare InternalUsers=Interna användare ExternalUsers=Externa användare +UserInterface=User interface GUISetup=Visa SetupArea=Inställning UploadNewTemplate=Ladda upp ny mall (er) @@ -221,7 +222,7 @@ NotCompatible=Den här modulen verkar inte vara kompatibel med din Dolibarr %s ( CompatibleAfterUpdate=Den här modulen kräver en uppdatering av din Dolibarr %s (Min %s - Max %s). SeeInMarkerPlace=Se på marknaden SeeSetupOfModule=Se installation av modul %s -SetOptionTo=Set option %s to %s +SetOptionTo=Sätt alternativ %s till %s Updated=Uppdaterad AchatTelechargement=Köp / Hämta GoModuleSetupArea=För att distribuera / installera en ny modul, gå till modulens inställningsområde: %s . @@ -562,7 +563,7 @@ Module53Desc=Förvaltning av tjänster Module54Name=Avtal / Prenumerationer Module54Desc=Förvaltning av kontrakt (tjänster eller återkommande abonnemang) Module55Name=Streckkoder -Module55Desc=Barcode or QR code management +Module55Desc=Streckkod eller QRkods hantering Module56Name=Betalning med kreditöverföring Module56Desc=Hantering av betalning av leverantörer med kreditöverföringsorder. Den inkluderar generering av SEPA-filer för europeiska länder. Module57Name=Betalningar med autogiro @@ -849,10 +850,10 @@ Permission402=Skapa / ändra rabatter Permission403=Bekräfta rabatter Permission404=Ta bort rabatter Permission430=Använd felsökningsfältet -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody +Permission511=Visa löner och utbetalningar (dina och anställdas) +Permission512=Skapa/ändra löner och utbetalningar +Permission514=Ta bort löner och utbetalningar +Permission517=Visa löner och utbetalningar för alla Permission519=Export löner Permission520=Läs Lån Permission522=Skapa / ändra lån @@ -1191,7 +1192,7 @@ SetupDescription4= %s -> %s

Denna programvara är e SetupDescription5=Andra inställningsmenyposter hanterar valfria parametrar. AuditedSecurityEvents=Säkerhetshändelser som granskas NoSecurityEventsAreAduited=Inga säkerhetshändelser granskas. Du kan aktivera dem från meny %s -Audit=Security events +Audit=Säkerhetshändelser InfoDolibarr=Om Dolibarr InfoBrowser=Om Browser InfoOS=Om OS @@ -1216,7 +1217,7 @@ AvailableModules=Tillgängliga app / moduler ToActivateModule=För att aktivera moduler, gå på Setup-menyn (Hem-> Inställningar-> Modules). SessionTimeOut=Time out för session SessionExplanation=Detta nummer garanterar att sessionen aldrig upphör att gälla före denna fördröjning, om sessionen rengöringsmedel görs av Internal PHP-rengöringsmedel (och inget annat). Intern rengöringsprogram för PHP-session garanterar inte att sessionen upphör att gälla efter denna fördröjning. Det kommer att löpa ut efter denna fördröjning och när sessionen renare körs, så varje %s / %s åtkomst, men endast under åtkomst av andra sessioner (om värdet är 0, betyder det att rensning av session endast sker av en extern bearbeta).
Obs! På vissa servrar med en extern sessionrensningsmekanism (cron under debian, ubuntu ...) kan sessionerna förstöras efter en period som definieras av en extern inställning, oavsett vad värdet som anges här är. -SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. +SessionsPurgedByExternalSystem=Sessionerna på denna server verkar ha blivit rensade av extern händelse (cron under debian, ubuntu...), var %s sekund ( Värdet är session.gc_maxlifetime), så att ändra värdet här har ingen effekt. Du måste be serveradministratören att ändra sessionstiden TriggersAvailable=Tillgängliga triggers TriggersDesc=Utlösare är filer som ändrar beteendet hos Dolibarr-arbetsflödet en gång kopierat till katalogen htdocs / core / triggers . De inser nya åtgärder, aktiverade på Dolibarr-evenemang (ny företagsskapande, fakturabekräftande, ...). TriggerDisabledByName=Triggers i denna fil är inaktiverade av-NORUN suffixet i deras namn. @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL-funktioner inte är tillgängliga i din PHP DownloadMoreSkins=Mer skinn att ladda ner SimpleNumRefModelDesc=Returnerar referensnumret i formatet %syymm-nnnn där yy är året, mm är månaden och nnnn är ett sekventiellt automatiskt ökande nummer utan återställning SimpleNumRefNoDateModelDesc=Returnerar referensnumret i formatet %s-nnnn där nnnn är ett sekventiellt automatiskt inkrementeringsnummer utan återställning -ShowProfIdInAddress=Visa professionellt id med adresser -ShowVATIntaInAddress=Dölj momsnumret inom gemenskapen med adresser +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partiell översättning MAIN_DISABLE_METEO=Inaktivera meteorologisk syn MeteoStdMod=Standardläge @@ -1327,7 +1328,7 @@ ComboListOptim=Combo list loading optimization SearchOptim=Sökoptimering YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. -YouHaveXObjectUseSearchOptimDesc=This limits the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response. +YouHaveXObjectUseSearchOptimDesc=Detta begränsar sökningar till början av rader för att förenkla databasens användning av indexering, vilket resulterar i snabbare respons. YouHaveXObjectAndSearchOptimOn=You have %s %s in the database and constant %s is set to %s in Home-Setup-Other. BrowserIsOK=Du använder %s webbläsaren. Den här webbläsaren är ok för säkerhet och prestanda. BrowserIsKO=Du använder %s webbläsaren. Den här webbläsaren är känd för att vara ett dåligt val för säkerhet, prestanda och tillförlitlighet. Vi rekommenderar att du använder Firefox, Chrome, Opera eller Safari. @@ -1778,7 +1779,7 @@ ClickToDialSetup=Klicka för att Dial modul inställning ClickToDialUrlDesc=Url ringde när ett klick på telefon picto är gjort. I URL kan du använda taggar
__PHONETO__ som kommer att ersättas med telefonnumret person att ringa
__PHONEFROM__ som kommer att ersättas med telefonnummer att ringa person (er)
__LOGIN__ som kommer att ersättas med clicktodial inloggning (definierad på användarkort)
__PASS__ som kommer att ersättas med clicktodial lösenord (definierat på användarkort). ClickToDialDesc=Denna modul ändrar telefonnummer när du använder en stationär dator till klickbara länkar. Ett klick ringer upp numret. Detta kan användas för att starta telefonsamtalet när du använder en mjuk telefon på skrivbordet eller när du t.ex. använder ett CTI-system baserat på SIP-protokoll. Obs! När du använder en smartphone är telefonnummer alltid klickbara. ClickToDialUseTelLink=Använd bara en länk "tel:" på telefonnummer -ClickToDialUseTelLinkDesc=Använd den här metoden om användarna har en mjukvara eller ett programgränssnitt installerat på samma dator som webbläsaren och ringde när du klickar på en länk i din webbläsare som börjar med "tel:". Om du behöver en fullständig serverlösning (inget behov av lokal programinstallation) måste du ange detta till "Nej" och fylla i nästa fält. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Försäljningsstället CashDeskSetup=Inställning av försäljningsmodul @@ -2133,14 +2134,17 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=Inga skrivbara filer eller kataloger för de vanliga programmen hittades i din rotkatalog (Bra) RecommendedValueIs=Rekommenderas: %s -NotRecommended=Rekommenderas inte +Recommended=Rekommenderad +NotRecommended=Not recommended ARestrictedPath=En begränsad väg CheckForModuleUpdate=Sök efter uppdateringar av externa moduler CheckForModuleUpdateHelp=Denna åtgärd kommer att ansluta till redaktörer för externa moduler för att kontrollera om en ny version är tillgänglig. ModuleUpdateAvailable=En uppdatering är tillgänglig NoExternalModuleWithUpdate=Inga uppdateringar hittades för externa moduler SwaggerDescriptionFile=Swagger API beskrivningsfil (för exempelvis användning med redoc) -YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Du har aktiverat utfasade WS-API. Du borde använda REST API istället. RandomlySelectedIfSeveral=Randomly selected if several pictures are available -DatabasePasswordObfuscated=Database password is obfuscated in conf file -DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +DatabasePasswordObfuscated=Databasens lösenord är dolt i konfigurationsfilen +DatabasePasswordNotObfuscated=Databasens lösenord är INTE dolt i konfigurationsfilen +APIsAreNotEnabled=API-moduler är inte aktiverade +YouShouldSetThisToOff=Du borde sätta detta till 0 eller av diff --git a/htdocs/langs/sv_SE/agenda.lang b/htdocs/langs/sv_SE/agenda.lang index 0bb80bd3e67..54be87fdd37 100644 --- a/htdocs/langs/sv_SE/agenda.lang +++ b/htdocs/langs/sv_SE/agenda.lang @@ -4,7 +4,7 @@ Actions=Åtgärder Agenda=Agenda TMenuAgenda=Agenda Agendas=Dagordningar -LocalAgenda=Default calendar +LocalAgenda=Standardkalender ActionsOwnedBy=Händelse som ägs av ActionsOwnedByShort=Ägare AffectedTo=Påverkas i @@ -14,13 +14,13 @@ EventsNb=Antal händelser ListOfActions=Lista över evenemang EventReports=Händelsesrapporter Location=Läge -ToUserOfGroup=Event assigned to any user in the group +ToUserOfGroup=Händelse tilldelad till alla användare i gruppen EventOnFullDay=Händelse heldag MenuToDoActions=Alla ofullständiga handlingar MenuDoneActions=Alla avslutade åtgärder MenuToDoMyActions=Min ofullständiga handlingar MenuDoneMyActions=Min avslutas åtgärder -ListOfEvents=List of events (default calendar) +ListOfEvents=Händelselista (standardkalender) ActionsAskedBy=Åtgärder som registrerats av ActionsToDoBy=Åtgärder påverkas ActionsDoneBy=Åtgärder som utförs av @@ -78,7 +78,7 @@ ContractSentByEMail=Kontrakt %s skickat av email OrderSentByEMail=Försäljning order %s skickad av email InvoiceSentByEMail=Kund invoice %s skickad av email SupplierOrderSentByEMail=Purchase order %s skickad av email -ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted +ORDER_SUPPLIER_DELETEInDolibarr=Inköpsorder %s borttagen SupplierInvoiceSentByEMail=Vendor invoice %s skickad av email ShippingSentByEMail=Leverans %s skickad av email ShippingValidated= Leverans %s bekräftat @@ -86,18 +86,18 @@ InterventionSentByEMail=Intervention %s skickad av email ProposalDeleted=Förslag raderad OrderDeleted=Order raderad InvoiceDeleted=Faktura raderad -DraftInvoiceDeleted=Draft invoice deleted -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_MODIFYInDolibarr=Contact %s modified -CONTACT_DELETEInDolibarr=Contact %s deleted +DraftInvoiceDeleted=Utkastsfaktura borttagen +CONTACT_CREATEInDolibarr=Kontakt %s skapat +CONTACT_MODIFYInDolibarr=Kontakt %s ändrad +CONTACT_DELETEInDolibarr=Kontakt %s borttagen PRODUCT_CREATEInDolibarr=Produkt %s skapad PRODUCT_MODIFYInDolibarr=Produkt %s modified PRODUCT_DELETEInDolibarr=Produkt %s raderad -HOLIDAY_CREATEInDolibarr=Request for leave %s created -HOLIDAY_MODIFYInDolibarr=Request for leave %s modified -HOLIDAY_APPROVEInDolibarr=Request for leave %s approved -HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated -HOLIDAY_DELETEInDolibarr=Request for leave %s deleted +HOLIDAY_CREATEInDolibarr=Begäran om ledighet %s skapad +HOLIDAY_MODIFYInDolibarr=Begäran om ledighet %s ändrad +HOLIDAY_APPROVEInDolibarr=Begäran om ledighet %s godkänd +HOLIDAY_VALIDATEInDolibarr=Begäran om ledighet %s bekräftad +HOLIDAY_DELETEInDolibarr=Begäran om ledighet %s borttagen EXPENSE_REPORT_CREATEInDolibarr=Kostnadsrapport %s skapad EXPENSE_REPORT_VALIDATEInDolibarr=Kostnadsrapport %s bekräftat EXPENSE_REPORT_APPROVEInDolibarr=Kostnadsrapport %s godkänd @@ -108,7 +108,7 @@ PROJECT_MODIFYInDolibarr=Projekt %s modified PROJECT_DELETEInDolibarr=Projekt %s raderad TICKET_CREATEInDolibarr=Biljett %s skapad TICKET_MODIFYInDolibarr=Biljett %s modified -TICKET_ASSIGNEDInDolibarr=Ticket %s assigned +TICKET_ASSIGNEDInDolibarr=Ärende %s tilldelat TICKET_CLOSEInDolibarr=Biljett %s stängt TICKET_DELETEInDolibarr=Biljett %s raderad BOM_VALIDATEInDolibarr=BOM validated @@ -121,7 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO set to draft status MRP_MO_PRODUCEDInDolibarr=MO produced MRP_MO_DELETEInDolibarr=MO deleted MRP_MO_CANCELInDolibarr=MO canceled -PAIDInDolibarr=%s paid +PAIDInDolibarr=%s betald ##### End agenda events ##### AgendaModelModule=Dokumentmallar för event DateActionStart=Startdatum @@ -132,8 +132,8 @@ AgendaUrlOptionsNotAdmin=  logina =! %s för att begränsa produktionen AgendaUrlOptions4=  logint = %s för att begränsa utdata till åtgärder som tilldelats user %s (ägare and andra). AgendaUrlOptionsProject=  project = __ PROJECT_ID__ för att begränsa utsignalen till åtgärder linked till project __PROJECT_ID__ . AgendaUrlOptionsNotAutoEvent=  notactiontype = systemauto för att utesluta automatisk events. -AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. -AgendaShowBirthdayEvents=Birthdays of contacts +AgendaUrlOptionsIncludeHolidays=includeholidays=1 ta med helgdagar +AgendaShowBirthdayEvents=Kontakters födelsedagar AgendaHideBirthdayEvents=Dölj födelsedagar av contacts Busy=Upptagen ExportDataset_event1=Lista över dagordningen händelser @@ -155,18 +155,18 @@ ActionType=Typ av händelse DateActionBegin=Startdatum för händelse ConfirmCloneEvent=Är du säker på att du vill klona event %s ? RepeatEvent=Repetera händelsen -OnceOnly=Once only +OnceOnly=Endast en gång EveryWeek=Varje vecka EveryMonth=Varje månad DayOfMonth=Dag i månaden DayOfWeek=Dag i veckan DateStartPlusOne=Startdatum +1 timma -SetAllEventsToTodo=Set all events to todo -SetAllEventsToInProgress=Set all events to in progress -SetAllEventsToFinished=Set all events to finished -ReminderTime=Reminder period before the event +SetAllEventsToTodo=Sätt alla händelser "att göra" +SetAllEventsToInProgress=Sätt alla händelser under behandling +SetAllEventsToFinished=Sätt alla händelser som utförda +ReminderTime=Påminnelseperiod innan händelse TimeType=Duration type ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event +AddReminder=Skapa en automatisk påminnelsenotifiering för denna händelse +ErrorReminderActionCommCreation=Fel vid skapande av påminnelsenotifiering för denna händelse BrowserPush=Browser Popup Notification diff --git a/htdocs/langs/sv_SE/assets.lang b/htdocs/langs/sv_SE/assets.lang index 1d0fe632703..003cf538258 100644 --- a/htdocs/langs/sv_SE/assets.lang +++ b/htdocs/langs/sv_SE/assets.lang @@ -61,5 +61,7 @@ MenuListTypeAssets = Lista # # Module # +Asset=Tillgång NewAssetType=Ny tillgångstyp NewAsset=Ny tillgång +ConfirmDeleteAsset=Är du säker på att du vill ta bort denna tillgång? diff --git a/htdocs/langs/sv_SE/banks.lang b/htdocs/langs/sv_SE/banks.lang index d77b1f8f068..ce8e8339182 100644 --- a/htdocs/langs/sv_SE/banks.lang +++ b/htdocs/langs/sv_SE/banks.lang @@ -37,7 +37,7 @@ IbanValid=BAN giltig IbanNotValid=BAN är ej giltigt StandingOrders=Direkt debiteringsorder StandingOrder=Direkt debitering -PaymentByDirectDebit=Payment by direct debit +PaymentByDirectDebit=Direktbetalning PaymentByBankTransfers=Payments by credit transfer PaymentByBankTransfer=Payment by credit transfer AccountStatement=Kontoutdrag @@ -76,7 +76,7 @@ BankTransaction=Bankpost ListTransactions=Lista poster ListTransactionsByCategory=Lista poster / kategori TransactionsToConciliate=Inlägg för att förena -TransactionsToConciliateShort=To reconcile +TransactionsToConciliateShort=Att förlika Conciliable=Kan förenas Conciliate=Reconcile Conciliation=Avstämning @@ -109,13 +109,13 @@ SocialContributionPayment=Sociala och skattemässiga betalningar BankTransfer=Credit transfer BankTransfers=Credit transfers MenuBankInternalTransfer=Intern överföring -TransferDesc=Use internal transfer to transfer from one account to another, the application will write two records: a debit in the source account and a credit in the target account. The same amount, label and date will be used for this transaction. +TransferDesc=Använd intern överföring för att överföra från ett konto till ett annat. Systemet kommer skapa två poster: en debit och en kredit, samma summa, benämning och datum kommer bli använt för transaktionen. TransferFrom=Från TransferTo=För att TransferFromToDone=En överföring från %s till %s av %s %s har registrerats. CheckTransmitter=Avsändare ValidateCheckReceipt=Bekräfta detta check-kvitto? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Ta bort detta kvitto? ConfirmDeleteCheckReceipt=Är du säker på att du vill radera detta kvitto? BankChecks=Bankcheckar @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=Är du säker på att du vill radera den här posten? ThisWillAlsoDeleteBankRecord=Detta kommer även att ta bort genererad bankpost BankMovements=Rörelser PlannedTransactions=Planerade poster -Graph=Graphs +Graph=Grafer/historik ExportDataset_banque_1=Bankposter och kontoutdrag ExportDataset_banque_2=Insättningsblankett TransactionOnTheOtherAccount=Transaktionen på det andra kontot @@ -161,14 +161,14 @@ CheckRejectedAndInvoicesReopened=Check returned and invoices re-open BankAccountModelModule=Dokumentmallar för bankkonton DocumentModelSepaMandate=Mall för SEPA-mandat. Användbar endast för europeiska länder i EEG. DocumentModelBan=Mall för att skriva ut en sida med BAN-information. -NewVariousPayment=New miscellaneous payment -VariousPayment=Miscellaneous payment +NewVariousPayment=Ny "övrig" betalning +VariousPayment=Övriga betalningar VariousPayments=Diverse betalningar -ShowVariousPayment=Show miscellaneous payment -AddVariousPayment=Add miscellaneous payment -VariousPaymentId=Miscellaneous payment ID -VariousPaymentLabel=Miscellaneous payment label -ConfirmCloneVariousPayment=Confirm the clone of a miscellaneous payment +ShowVariousPayment=Visa övriga betalningar +AddVariousPayment=Lägg till övrig betalning +VariousPaymentId=Övrigt betalnings-id +VariousPaymentLabel=Övrig betalningsbenämning +ConfirmCloneVariousPayment=Bekräfta kopiering av övrig betalning SEPAMandate=SEPA-mandatet YourSEPAMandate=Ditt SEPA-mandat FindYourSEPAMandate=Detta är ditt SEPA-mandat för att bemyndiga vårt företag att göra direkt debitering till din bank. Returnera det undertecknat (skanna av det signerade dokumentet) eller skicka det via post till @@ -179,6 +179,6 @@ BankColorizeMovement=Colorize movements BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements BankColorizeMovementName1=Background color for debit movement BankColorizeMovementName2=Background color for credit movement -IfYouDontReconcileDisableProperty=If you don't make the bank reconciliations on some bank accounts, disable the property "%s" on them to remove this warning. -NoBankAccountDefined=No bank account defined +IfYouDontReconcileDisableProperty=Om du inte gör någon bankavstämning på vissa bankkonton, inaktivera "%s" på dem för att ta bort denna varning +NoBankAccountDefined=Inget bankkonto definerat NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index d1e4e404564..8fcb92772a8 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -130,10 +130,10 @@ BillStatusConverted=Betald (redo för konsumtion i slutfaktura) BillStatusCanceled=Övergiven BillStatusValidated=Bekräftat (måste betalas) BillStatusStarted=Påbörjad -BillStatusNotPaid=Inte betalas +BillStatusNotPaid=Ej betald BillStatusNotRefunded=Icke återbetalad BillStatusClosedUnpaid=Stängd (obetald) -BillStatusClosedPaidPartially=Betald (delvis) +BillStatusClosedPaidPartially=Delvis betald BillShortStatusDraft=Utkast BillShortStatusPaid=Betald BillShortStatusPaidBackOrConverted=Återbetalas eller konverteras @@ -142,10 +142,10 @@ BillShortStatusConverted=Betald BillShortStatusCanceled=Övergiven BillShortStatusValidated=Bekräftat BillShortStatusStarted=Började -BillShortStatusNotPaid=Inte betalas +BillShortStatusNotPaid=Ej betald BillShortStatusNotRefunded=Icke återbetalad BillShortStatusClosedUnpaid=Stängt -BillShortStatusClosedPaidPartially=Betald (delvis) +BillShortStatusClosedPaidPartially=Delvis betald PaymentStatusToValidShort=Att bekräfta ErrorVATIntraNotConfigured=Inom gemenskapen momsnummer ej definierat ännu ErrorNoPaiementModeConfigured=Ingen standardbetaltyp definierad. Gå till Inställningar för fakturamodul för att åtgärda detta. @@ -231,7 +231,7 @@ RetainedWarrantyDateLimit=Gräns för bibehållen garantidatum RetainedWarrantyNeed100Percent=Situationsfakturan måste vara på 100%%-framsteg för att kunna visas på PDF AlreadyPaid=Redan betalats ut AlreadyPaidBack=Redan återbetald -AlreadyPaidNoCreditNotesNoDeposits=Redan betalad (utan kreditnoteringar och nedbetalningar) +AlreadyPaidNoCreditNotesNoDeposits=Redan betalat (utan kreditnoteringar och handpenning) Abandoned=Övergiven RemainderToPay=Återstående obetalt RemainderToTake=Återstående belopp att ta @@ -259,7 +259,7 @@ DateMaxPayment=Betalning på grund av DateInvoice=Fakturadatum DatePointOfTax=Skattpunkt NoInvoice=Ingen faktura -NoOpenInvoice=No open invoice +NoOpenInvoice=Ingen obetald faktura ClassifyBill=Märk faktura SupplierBillsToPay=Obetalda leverantörsfakturor CustomerBillsUnpaid=Obetalda kundfakturor @@ -281,9 +281,9 @@ CustomersInvoicesAndPayments=Kund fakturor och betalningar ExportDataset_invoice_1=Kundfaktura och fakturadata ExportDataset_invoice_2=Kund fakturor och betalningar ProformaBill=Proforma faktura: -Reduction=Minskning +Reduction=Rabatt ReductionShort=Skiva. -Reductions=Minskningar +Reductions=Rabatter ReductionsShort=Skiva. Discounts=Rabatter AddDiscount=Lägg rabatt diff --git a/htdocs/langs/sv_SE/boxes.lang b/htdocs/langs/sv_SE/boxes.lang index 69369c2cd7f..63e4f480440 100644 --- a/htdocs/langs/sv_SE/boxes.lang +++ b/htdocs/langs/sv_SE/boxes.lang @@ -32,26 +32,26 @@ BoxTitleLastSuppliers=Senaste %s inspelade leverantörerna BoxTitleLastModifiedSuppliers=Leverantörer: senaste %s modifierad BoxTitleLastModifiedCustomers=Kunder: senaste %s modifierad BoxTitleLastCustomersOrProspects=Senaste %s kunder eller framtidsutsikter -BoxTitleLastCustomerBills=Latest %s modified Customer invoices -BoxTitleLastSupplierBills=Latest %s modified Vendor invoices +BoxTitleLastCustomerBills=Senaste %s ändrade kundfakturor +BoxTitleLastSupplierBills=Senaste %s ändrade leverantörsfakturor BoxTitleLastModifiedProspects=Utsikter: senaste %s modifierad BoxTitleLastModifiedMembers=Senaste %s medlemmarna BoxTitleLastFicheInter=Senaste %s modifierade interventioner BoxTitleOldestUnpaidCustomerBills=Kundfaktura: äldsta %s obetald BoxTitleOldestUnpaidSupplierBills=Leverantörsfakturor: äldsta %s obetald BoxTitleCurrentAccounts=Öppna konton: saldon -BoxTitleSupplierOrdersAwaitingReception=Supplier orders awaiting reception +BoxTitleSupplierOrdersAwaitingReception=Ej mottagna leverantörsordrar BoxTitleLastModifiedContacts=Kontakter / Adresser: senaste %s modifierad BoxMyLastBookmarks=Bokmärken: senaste %s BoxOldestExpiredServices=Äldsta aktiva passerat tjänster BoxLastExpiredServices=Senaste %s äldsta kontakterna med aktiva utgåttjänster BoxTitleLastActionsToDo=Senaste %s åtgärderna att göra -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified -BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded +BoxTitleLastContracts=Senaste %s avtal som blivit ändrade +BoxTitleLastModifiedDonations=Senaste %s donationer som har blivit ändrade +BoxTitleLastModifiedExpenses=Senaste %s utläggsrapporter som blivit modifierade +BoxTitleLatestModifiedBoms=Senaste %s BOM som blivit modifierade +BoxTitleLatestModifiedMos=Senaste %s tillverkningsbeställningar som blivit modifierade +BoxTitleLastOutstandingBillReached=Kunder med högst skuld BoxGlobalActivity=Global aktivitet (fakturor, förslag, order) BoxGoodCustomers=Bra kunder BoxTitleGoodCustomers=%s Bra kunder @@ -76,7 +76,7 @@ NoContractedProducts=Inga produkter / tjänster avtalade NoRecordedContracts=Inga registrerade kontrakt NoRecordedInterventions=Inga inspelade interventioner BoxLatestSupplierOrders=Senaste inköpsorder -BoxLatestSupplierOrdersAwaitingReception=Latest Purchase Orders (with a pending reception) +BoxLatestSupplierOrdersAwaitingReception=Senaste inköpsordrar (som ej anlänt) NoSupplierOrder=Ingen registrerad köporder BoxCustomersInvoicesPerMonth=Kundfakturor per månad BoxSuppliersInvoicesPerMonth=Leverantörsfakturor per månad @@ -91,26 +91,26 @@ BoxTitleLatestModifiedSupplierOrders=Leverantörsorder: senaste %s modifierad BoxTitleLastModifiedCustomerBills=Kundfaktura: senaste %s modifierad BoxTitleLastModifiedCustomerOrders=Försäljningsorder: senaste %s modifierad BoxTitleLastModifiedPropals=Senaste %s ändrade förslag -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Kundens fakturor ForCustomersOrders=Kund beställningar ForProposals=Förslag LastXMonthRolling=Den senaste %s månaden rullande ChooseBoxToAdd=Lägg till widget i din instrumentpanel BoxAdded=Widget har lagts till i din instrumentpanel -BoxTitleUserBirthdaysOfMonth=Birthdays of this month (users) +BoxTitleUserBirthdaysOfMonth=Födelsedagar denna månad (användare) BoxLastManualEntries=Latest record in accountancy entered manually or without source document BoxTitleLastManualEntries=%s latest record entered manually or without source document NoRecordedManualEntries=No manual entries record in accountancy BoxSuspenseAccount=Count accountancy operation with suspense account -BoxTitleSuspenseAccount=Number of unallocated lines +BoxTitleSuspenseAccount=Antal oallokerade rader NumberOfLinesInSuspenseAccount=Number of line in suspense account SuspenseAccountNotDefined=Suspense account isn't defined -BoxLastCustomerShipments=Last customer shipments -BoxTitleLastCustomerShipments=Latest %s customer shipments -NoRecordedShipments=No recorded customer shipment -BoxCustomersOutstandingBillReached=Customers with oustanding limit reached +BoxLastCustomerShipments=Senaste kundleveranser +BoxTitleLastCustomerShipments=Senaste %s kundleveranser +NoRecordedShipments=Inga registrerade kundleveranser +BoxCustomersOutstandingBillReached=Kunds kreditgräns uppnådd # Pages UsersHome=Home users and groups MembersHome=Home Membership diff --git a/htdocs/langs/sv_SE/cashdesk.lang b/htdocs/langs/sv_SE/cashdesk.lang index 0b2be869956..a04a413fb50 100644 --- a/htdocs/langs/sv_SE/cashdesk.lang +++ b/htdocs/langs/sv_SE/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Tillåt försenad betalning PrintPaymentMethodOnReceipts=Skriv ut betalningsmetod på biljetter | kvitton WeighingScale=Våg ShowPriceHT = Visa kolumnen med priset exklusive moms (på skärmen) -ShowPriceHTOnReceipt = Visa kolumnen med pris exklusive moms (vid mottagande) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/sv_SE/categories.lang b/htdocs/langs/sv_SE/categories.lang index b4d7278f0e6..5e831cff3c6 100644 --- a/htdocs/langs/sv_SE/categories.lang +++ b/htdocs/langs/sv_SE/categories.lang @@ -3,23 +3,23 @@ Rubrique=Tag / Kategori Rubriques=Taggar/Kategorier RubriquesTransactions=Taggar / Kategorier av transaktioner categories=taggar / kategorier -NoCategoryYet=No tag/category of this type has been created +NoCategoryYet=Ingen tagg/katergori för denna typen har skapats In=I AddIn=Lägg till i modify=modifiera Classify=Märk CategoriesArea=Taggar / kategorier område -ProductsCategoriesArea=Product/Service tags/categories area -SuppliersCategoriesArea=Vendor tags/categories area -CustomersCategoriesArea=Customer tags/categories area +ProductsCategoriesArea=Produkt/Servicetagg/Kategoriområde +SuppliersCategoriesArea=Tillverkarens tagg/kategori +CustomersCategoriesArea=Kundens tagg/kategori MembersCategoriesArea=Member tags/categories area -ContactsCategoriesArea=Contact tags/categories area -AccountsCategoriesArea=Bank account tags/categories area -ProjectsCategoriesArea=Project tags/categories area -UsersCategoriesArea=User tags/categories area +ContactsCategoriesArea=Kontaktens tagg/kategori +AccountsCategoriesArea=Bankkontots tagg/kategori +ProjectsCategoriesArea=Projektets tagg/kategori +UsersCategoriesArea=Anvädnarens tagg/kategori SubCats=Underkategorier CatList=Lista med taggar / kategorier -CatListAll=List of tags/categories (all types) +CatListAll=Visa alla taggar/kategorier NewCategory=Ny tagg / kategori ModifCat=Ändra tagg / kategori CatCreated=Tagg / kategori skapad @@ -63,37 +63,37 @@ ContactCategoriesShort=Kontakter taggar / kategorier AccountsCategoriesShort=Kontokoder / kategorier ProjectsCategoriesShort=Projekt taggar / kategorier UsersCategoriesShort=Användare taggar / kategorier -StockCategoriesShort=Warehouse tags/categories -ThisCategoryHasNoItems=This category does not contain any items. +StockCategoriesShort=Lagrets taggar/kategorier +ThisCategoryHasNoItems=Denna kategori innehåller inga produkter. CategId=Tagg / kategori id -ParentCategory=Parent tag/category -ParentCategoryLabel=Label of parent tag/category -CatSupList=List of vendors tags/categories -CatCusList=List of customers/prospects tags/categories +ParentCategory=Överordnad tagg/kategori +ParentCategoryLabel=Benämning av överordnad tagg/kategori +CatSupList=Lista tillverkarens taggar/kategorier +CatCusList=Lista (eventuella) kunders taggar/kategorier CatProdList=Lista över produkter taggar / kategorier CatMemberList=Lista över medlemmar taggar / kategorier -CatContactList=List of contacts tags/categories -CatProjectsList=List of projects tags/categories -CatUsersList=List of users tags/categories -CatSupLinks=Links between vendors and tags/categories +CatContactList=Lista kontakters taggar/kategorier +CatProjectsList=Lista projektens taggar/kategorier +CatUsersList=Lista användarnas taggar/kategorier +CatSupLinks=Länkar mellan leverantörer och taggar/kategorier CatCusLinks=Länkar mellan kunder / utsikter och taggar / kategorier -CatContactsLinks=Links between contacts/addresses and tags/categories +CatContactsLinks=Länkar mellan kontakter/adresser och taggar/kategorier CatProdLinks=Länkar mellan produkter / tjänster och taggar / kategorier CatMembersLinks=Links between members and tags/categories -CatProjectsLinks=Links between projects and tags/categories -CatUsersLinks=Links between users and tags/categories +CatProjectsLinks=Länkar mellan projekt och taggar/kategorier +CatUsersLinks=Länkar mellan användare och taggar/kategorier DeleteFromCat=Ta bort från taggar / kategori ExtraFieldsCategories=Extra attibut CategoriesSetup=Taggar / kategorier inställning CategorieRecursiv=Länk med moderkort / kategori automatiskt CategorieRecursivHelp=Om alternativet är på, när du lägger till en produkt i en underkategori kommer produkten också att läggas till i kategorin förälder. AddProductServiceIntoCategory=Lägg till följande produkt / tjänst -AddCustomerIntoCategory=Assign category to customer -AddSupplierIntoCategory=Assign category to supplier +AddCustomerIntoCategory=Tilldela kategori till kund +AddSupplierIntoCategory=Tilldela kategori till leverantör ShowCategory=Visa tagg / kategori ByDefaultInList=Som standard i listan ChooseCategory=Välj kategori -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories -WebsitePagesCategoriesArea=Page-Container Categories +StocksCategoriesArea=Lagrets kategorier +ActionCommCategoriesArea=Händelsekategori +WebsitePagesCategoriesArea=Innehållskategorier UseOrOperatorForCategories=Use 'OR' operator for categories diff --git a/htdocs/langs/sv_SE/contracts.lang b/htdocs/langs/sv_SE/contracts.lang index eee5cd0c1f1..a164c73f7f8 100644 --- a/htdocs/langs/sv_SE/contracts.lang +++ b/htdocs/langs/sv_SE/contracts.lang @@ -28,7 +28,7 @@ MenuRunningServices=Löpande tjänster MenuExpiredServices=Utlöpta tjänster MenuClosedServices=Stängda tjänster NewContract=Nytt kontrakt -NewContractSubscription=New contract or subscription +NewContractSubscription=Nytt avtal eller abonnemang AddContract=Skapa kontrakt DeleteAContract=Ta bort ett kontrakt ActivateAllOnContract=Aktivera alla tjänster @@ -51,7 +51,7 @@ ListOfClosedServices=Lista över stängda tjänster ListOfRunningServices=Förteckning över löpande tjänster NotActivatedServices=Inaktiva tjänster (bland bekräftades kontrakt) BoardNotActivatedServices=Tjänster att aktivera bland bekräftades kontrakt -BoardNotActivatedServicesShort=Services to activate +BoardNotActivatedServicesShort=Tjänster att aktivera LastContracts=Senaste %s kontrakten LastModifiedServices=Senaste %s modifierade tjänster ContractStartDate=Startdatum @@ -65,10 +65,10 @@ DateStartRealShort=Verkligt startdatum DateEndReal=Verkligt slutdatum DateEndRealShort=Verkligt slutdatum CloseService=Stäng tjänst -BoardRunningServices=Services running -BoardRunningServicesShort=Services running -BoardExpiredServices=Services expired -BoardExpiredServicesShort=Services expired +BoardRunningServices=Aktiva tjänster +BoardRunningServicesShort=Aktiva tjänster +BoardExpiredServices=Avslutade tjänster +BoardExpiredServicesShort=Avslutade tjänster ServiceStatus=Status för tjänst DraftContracts=Utkast avtal CloseRefusedBecauseOneServiceActive=Kontraktet kan inte stängas eftersom det finns minst en öppen tjänst på den @@ -99,6 +99,6 @@ TypeContact_contrat_internal_SALESREPFOLL=Säljare som följer upp avtal TypeContact_contrat_external_BILLING=Fakturering kundkontakt TypeContact_contrat_external_CUSTOMER=Uppföljning kundkontakt TypeContact_contrat_external_SALESREPSIGN=Undertecknande kontrakt kundkontakt -HideClosedServiceByDefault=Hide closed services by default -ShowClosedServices=Show Closed Services -HideClosedServices=Hide Closed Services +HideClosedServiceByDefault=Dölj avslutade tjänster som standard +ShowClosedServices=Visa avslutade tjänster +HideClosedServices=Dölj avslutade tjänster diff --git a/htdocs/langs/sv_SE/cron.lang b/htdocs/langs/sv_SE/cron.lang index 0ed0dfbe866..df24f32fc75 100644 --- a/htdocs/langs/sv_SE/cron.lang +++ b/htdocs/langs/sv_SE/cron.lang @@ -43,11 +43,11 @@ CronModule=Modul CronNoJobs=Inga jobb registrerade CronPriority=Prioritet CronLabel=Etikett -CronNbRun=Number of launches +CronNbRun=Antal körningar CronMaxRun=Maximalt antal lanseringar CronEach=Varje JobFinished=Job lanserad och klar -Scheduled=Scheduled +Scheduled=Schemalagd #Page card CronAdd= Lägg till jobb CronEvery=Utför jobbet vardera @@ -58,9 +58,9 @@ CronNote=Kommentar CronFieldMandatory=Fält %s är obligatoriskt CronErrEndDateStartDt=Slutdatum kan inte vara före startdatum StatusAtInstall=Status vid modulinstallation -CronStatusActiveBtn=Schedule +CronStatusActiveBtn=Schemalägg CronStatusInactiveBtn=Inaktivera -CronTaskInactive=This job is disabled (not scheduled) +CronTaskInactive=Detta arbete är inaktiverat (ej schemalagt) CronId=Id CronClassFile=Filnamn med klass CronModuleHelp=Namn på Dolibarr-modulkatalogen (fungerar även med extern Dolibarr-modul).
Till exempel att ringa hämtningsmetoden för Dolibarr Produktobjekt / htdocs / produkt /class/product.class.php, värdet för modulen är
produkt @@ -78,14 +78,14 @@ CronType_method=Samtalsmetod för en PHP-klass CronType_command=Skalkommando CronCannotLoadClass=Kan inte ladda klassfilen %s (för att använda klass %s) CronCannotLoadObject=Klassfilen %s laddades, men objektet %s kunde inte hittas i det -UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Admin tools - Scheduled jobs" to see and edit scheduled jobs. +UseMenuModuleToolsToAddCronJobs=Gå till menyn "Hem - Adminverktyg - Schemalagda jobb" för att se och redigera schemalagda jobb. JobDisabled=Jobb inaktiverat MakeLocalDatabaseDumpShort=Lokal databas säkerhetskopia MakeLocalDatabaseDump=Skapa en lokal databasdump. Parametrarna är: komprimering ('gz' eller 'bz' eller 'none'), säkerhetskopieringstyp ('mysql', 'pgsql', 'auto'), 1, 'auto' eller filnamn att bygga, antal backupfiler för att hålla WarningCronDelayed=Uppmärksamhet, för prestationsändamål, vad som än är nästa datum för utförande av aktiverade jobb, kan dina jobb försenas till högst %s timmar innan de körs. -DATAPOLICYJob=Data cleaner and anonymizer +DATAPOLICYJob=Resning och anonymisering av data JobXMustBeEnabled=Job %s must be enabled # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Senast utfört schemalagda arbete +NextScheduledJobExecute=Nästa schemalagda arbete att köra +NumberScheduledJobError=Antal schemalagda arbete med fel diff --git a/htdocs/langs/sv_SE/ecm.lang b/htdocs/langs/sv_SE/ecm.lang index 3882a163842..4f1af157567 100644 --- a/htdocs/langs/sv_SE/ecm.lang +++ b/htdocs/langs/sv_SE/ecm.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - ecm ECMNbOfDocs=Antal dokument i katalogen -ECMSection=Directory +ECMSection=Katalog ECMSectionManual=Manuell katalog ECMSectionAuto=Automatisk katalog -ECMSectionsManual=Manuell träd -ECMSectionsAuto=Automatisk träd +ECMSectionsManual=Manuell struktur +ECMSectionsAuto=Automatisk struktur ECMSections=Kataloger ECMRoot=ECM Root ECMNewSection=Ny katalog @@ -13,26 +13,26 @@ ECMCreationDate=Datum för skapande ECMNbOfFilesInDir=Antalet filer i katalogen ECMNbOfSubDir=Antal underkataloger ECMNbOfFilesInSubDir=Antalet filer i underkataloger -ECMCreationUser=Creator +ECMCreationUser=Skapare ECMArea=DMS/ECM yta ECMAreaDesc=Med DMS / ECM-området (Document Management System / Electronic Content Management) kan du spara, dela och söka snabbt alla typer av dokument i Dolibarr. ECMAreaDesc2=* Automatisk kataloger fylls automatiskt när man lägger till dokument från kort av ett element.
* Manuell kataloger kan användas för att spara dokument inte är knutna till ett visst element. -ECMSectionWasRemoved=Nummer %s har tagits bort. +ECMSectionWasRemoved=Mapp %s har tagits bort. ECMSectionWasCreated=Mapp %s har skapats. ECMSearchByKeywords=Sök på nyckelord ECMSearchByEntity=Sök på objektet ECMSectionOfDocuments=Register över handlingar ECMTypeAuto=Automatisk -ECMDocsBy=Documents linked to %s +ECMDocsBy=Dokument länkade till %s ECMNoDirectoryYet=Ingen katalog skapas ShowECMSection=Visa katalog DeleteSection=Ta bort katalog -ConfirmDeleteSection=Kan du bekräfta att du vill ta bort mappen %s? +ConfirmDeleteSection=Vänligen bekräfta att du vill ta bort mappen %s? ECMDirectoryForFiles=Relativ katalog för filer -CannotRemoveDirectoryContainsFilesOrDirs=Avlägsnandet är inte möjligt eftersom det innehåller några filer eller underkataloger -CannotRemoveDirectoryContainsFiles=Avlägsnandet är inte möjligt eftersom det innehåller några filer +CannotRemoveDirectoryContainsFilesOrDirs=Borttagning är inte möjlig eftersom det innehåller några filer eller underkataloger +CannotRemoveDirectoryContainsFiles=Borttagning är inte möjlig eftersom det innehåller några filer ECMFileManager=Filhanteraren -ECMSelectASection=Välj en mapp i trädet... +ECMSelectASection=Välj en mapp i strukturen... DirNotSynchronizedSyncFirst=Den här katalogen verkar vara skapad eller modifierad utanför ECM-modulen. Du måste klicka på "Resync" -knappen först för att synkronisera skivan och databasen för att hämta innehåll i den här katalogen. ReSyncListOfDir=Uppdatera lista med mappar HashOfFileContent=Hash av filinnehåll @@ -42,6 +42,6 @@ ExtraFieldsEcmFiles=Extrafields Ecm Files ExtraFieldsEcmDirectories=Extrafields Ecm Directories ECMSetup=ECM Setup GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +ConfirmGenerateImgWebp=Om du bekräftar kommer du generera en bild i .webp format för alla bilder som finns i denna mapp (undermappar är inte inkluderade) +ConfirmImgWebpCreation=Bekräfta kloning av alla bilder +SucessConvertImgWebp=Bilder blev klonade diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index 94a0422b8d0..40225d7e894 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -11,7 +11,7 @@ ErrorBadValueForParamNotAString=Dåligt värde för din parameter. Det lägger t ErrorRefAlreadyExists=Referens %s finns redan. ErrorLoginAlreadyExists=Logga %s finns redan. ErrorGroupAlreadyExists=Grupp %s finns redan. -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=E-post %s finns redan. ErrorRecordNotFound=Spela in hittades inte. ErrorFailToCopyFile=Det gick inte att kopiera filen "%s" till "%s". ErrorFailToCopyDir=Misslyckades att kopiera katalogen ' %s ' i ' %s '. @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=Användarens ägare krävs ErrorActionCommBadType=Vald händelsetyp (id: %n, kod: %s) finns inte i ordlistan för händelsetyp CheckVersionFail=Versionskontroll misslyckades ErrorWrongFileName=Filens namn kan inte innehålla __SOMETHING__ +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sv_SE/eventorganization.lang b/htdocs/langs/sv_SE/eventorganization.lang index d1aa3ba4a16..e7053b5f355 100644 --- a/htdocs/langs/sv_SE/eventorganization.lang +++ b/htdocs/langs/sv_SE/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Säker nyckel till länken till offentlig registrering till en konferens SERVICE_BOOTH_LOCATION = Tjänst som används för fakturaraden om en monterplats SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Tjänst som används för fakturaraden om en deltagarprenumeration på en konferens +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = Denna konferens börjar på %s och slutar på %s. ConferenceAttendeeFee = Konferensdeltagaravgift för evenemanget: '%s' som inträffar från %s till %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Typ av händelse +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/sv_SE/exports.lang b/htdocs/langs/sv_SE/exports.lang index 23d65892815..f5ee218134f 100644 --- a/htdocs/langs/sv_SE/exports.lang +++ b/htdocs/langs/sv_SE/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Typ av linje (0 = produkt, 1 = tjänst) FileWithDataToImport=Fil med data för att importera FileToImport=Källa fil du vill importera FileMustHaveOneOfFollowingFormat=Fil som ska importeras måste ha ett av följande format -DownloadEmptyExample=Hämta mallfil med fältinnehållsinformation (* är obligatoriska fält) +DownloadEmptyExample=Ladda ner mall med fält för innehållsinformation +StarAreMandatory=* alla fält krävs ChooseFormatOfFileToImport=Välj det filformat som ska användas som importfilformat genom att klicka på ikonen %s för att välja den ... ChooseFileToImport=Ladda upp filen och klicka sedan på %s ikonen för att välja fil som källa importfil ... SourceFileFormat=Källa filformat diff --git a/htdocs/langs/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index a69b7c328d0..39be597af33 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migrering av bildvägar för användare MigrationFieldsSocialNetworks=Migrering av användarnas fält sociala nätverk (%s) MigrationReloadModule=Ladda om modulen %s MigrationResetBlockedLog=Återställningsmodul BlockedLog för v7-algoritmen +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Visa otillgängliga alternativ HideNotAvailableOptions=Dölj otillgängliga alternativ ErrorFoundDuringMigration=Fel (er) rapporterades under migreringsprocessen så nästa steg är inte tillgängligt. För att ignorera fel kan du klicka här , men programmet eller vissa funktioner kanske inte fungerar korrekt tills felen har lösts. diff --git a/htdocs/langs/sv_SE/interventions.lang b/htdocs/langs/sv_SE/interventions.lang index 82dedf51bb9..4851b32f611 100644 --- a/htdocs/langs/sv_SE/interventions.lang +++ b/htdocs/langs/sv_SE/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Linjens längdintervention InterLineDesc=Linjebeskrivningsintervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/sv_SE/link.lang b/htdocs/langs/sv_SE/link.lang index 123ec53d089..dbe9db244dc 100644 --- a/htdocs/langs/sv_SE/link.lang +++ b/htdocs/langs/sv_SE/link.lang @@ -8,4 +8,4 @@ LinkRemoved=Länken %s har tagits bort ErrorFailedToDeleteLink= Det gick inte att ta bort länk '%s' ErrorFailedToUpdateLink= Det gick inte att uppdatera länken '%s' URLToLink=URL för länk -OverwriteIfExists=Overwrite file if exists +OverwriteIfExists=Skriv över fil om den existerar diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index 14575a4a7cd..adf56e59a59 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -1136,4 +1136,4 @@ CategTypeNotFound=Ingen taggtyp hittades för typ av poster CopiedToClipboard=Kopieras till Urklipp InformationOnLinkToContract=Detta belopp är endast summan av alla rader i kontraktet. Ingen tidsbegrepp tas med i beräkningen. ConfirmCancel=Är du säker på att du vill avbryta -EmailMsgID=Email MsgID +EmailMsgID=E-post meddelande-id diff --git a/htdocs/langs/sv_SE/multicurrency.lang b/htdocs/langs/sv_SE/multicurrency.lang index 979b14693c6..8ca639a6ed5 100644 --- a/htdocs/langs/sv_SE/multicurrency.lang +++ b/htdocs/langs/sv_SE/multicurrency.lang @@ -9,8 +9,8 @@ multicurrency_useOriginTx=När ett objekt skapas från en annan, behåll origina CurrencyLayerAccount=CurrencyLayer API CurrencyLayerAccount_help_to_synchronize=You must create an account on website %s to use this functionality.
Get your API key.
If you use a free account, you can't change the source currency (USD by default).
If your main currency is not USD, the application will automatically recalculate it.

You are limited to 1000 synchronizations per month. multicurrency_appId=API-nyckel -multicurrency_appCurrencySource=Source currency -multicurrency_alternateCurrencySource=Alternate source currency +multicurrency_appCurrencySource=Grundvaluta +multicurrency_alternateCurrencySource=Alternativ grundvaluta CurrenciesUsed=Valutor som används CurrenciesUsed_help_to_add=Lägg till de olika valutorna och priserna du behöver använda på dina förslag , beställer etc. rate=Betygsätta @@ -18,5 +18,21 @@ MulticurrencyReceived=Mottagen, ursprunglig valuta MulticurrencyRemainderToTake=Återstående belopp, ursprunglig valuta MulticurrencyPaymentAmount=Betalningsbelopp, ursprunglig valuta AmountToOthercurrency=Belopp till (i valuta för mottagande konto) -CurrencyRateSyncSucceed=Currency rate synchronization done successfuly -MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Use the currency of the document for online payments +CurrencyRateSyncSucceed=Växlingskurssynkronisering klar. +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Använd dokumentets valuta för onlinebetalningar +TabTitleMulticurrencyRate=Kurslista +ListCurrencyRate=List of exchange rates for the currency +CreateRate=Create a rate +FormCreateRate=Rate creation +FormUpdateRate=Rate modification +successRateCreate=Rate for currency %s has been added to the database +ConfirmDeleteLineRate=Are you sure you want to remove the %s rate for currency %s on %s date? +DeleteLineRate=Rensa kurs +successRateDelete=Kurs borttagen +errorRateDelete=Fel vid borttagning av kurs +successUpdateRate=Ändring gjord +ErrorUpdateRate=Fel vid ändring av kurs +Codemulticurrency=Valutakod +UpdateRate=Ändra kursen +CancelUpdate=Avbryt +NoEmptyRate=Fältet "kurs" kan inte vara tomt diff --git a/htdocs/langs/sv_SE/orders.lang b/htdocs/langs/sv_SE/orders.lang index d0c400199d4..3f7f99fd4b0 100644 --- a/htdocs/langs/sv_SE/orders.lang +++ b/htdocs/langs/sv_SE/orders.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Kunder order område -SuppliersOrdersArea=Inköpsområde +OrdersArea=Kunders ordrar +SuppliersOrdersArea=Inköpsordrar OrderCard=Beställ kort OrderId=Order Id Order=Beställ @@ -12,13 +12,13 @@ OrderDateShort=Beställ datum OrderToProcess=Att kunna bearbeta NewOrder=Ny order NewSupplierOrderShort=Ny order -NewOrderSupplier=New Purchase Order +NewOrderSupplier=Ny inköpsorder ToOrder=Gör så MakeOrder=Gör så SupplierOrder=Inköpsorder SuppliersOrders=Beställning -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Försäljningsorderrader +PurchaseOrderLines=Inköpsorderrader SuppliersOrdersRunning=Nuvarande köporder CustomerOrder=Kundorder CustomersOrders=Försäljningsorder @@ -72,10 +72,10 @@ ValidateOrder=Verifiera att UnvalidateOrder=Märka ordrar från bekräftat->utkast DeleteOrder=Radera order CancelOrder=Avbryt för -OrderReopened= Order %s re-open +OrderReopened= Order %s återöppnad AddOrder=Skapa order AddSupplierOrderShort=Skapa order -AddPurchaseOrder=Create purchase order +AddPurchaseOrder=Skapa inköpsorder AddToDraftOrders=Lägg till förlags order ShowOrder=Visa att OrdersOpened=Beställer att bearbeta @@ -148,7 +148,7 @@ OrderByPhone=Telefonen PDFEinsteinDescription=A complete order model (old implementation of Eratosthene template) PDFEratostheneDescription=A complete order model PDFEdisonDescription=En enkel ordermodell -PDFProformaDescription=A complete Proforma invoice template +PDFProformaDescription=Fullständig Proforma fakturaamll CreateInvoiceForThisCustomer=Faktura order CreateInvoiceForThisSupplier=Faktura order NoOrdersToInvoice=Inga order fakturerbar @@ -161,7 +161,7 @@ CreateOrders=Skapa order ToBillSeveralOrderSelectCustomer=För att skapa en faktura för flera ordrar, klicka först på kunden och välj sedan "%s". OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. IfValidateInvoiceIsNoOrderStayUnbilled=Om fakturatbekräftande är 'Nej', fortsätter ordern till status 'Unbilled' tills fakturan är bekräftat. -CloseReceivedSupplierOrdersAutomatically=Close order to status "%s" automatically if all products are received. +CloseReceivedSupplierOrdersAutomatically=Stäng orderstatus "%s" automatiskt om alla produkter var mottagna. SetShippingMode=Ställ in fraktläge WithReceptionFinished=With reception finished #### supplier orders status @@ -179,7 +179,7 @@ StatusSupplierOrderApprovedShort=Godkänd StatusSupplierOrderRefusedShort=Refused StatusSupplierOrderToProcessShort=För att kunna behandla StatusSupplierOrderReceivedPartiallyShort=Delvis fått -StatusSupplierOrderReceivedAllShort=Products received +StatusSupplierOrderReceivedAllShort=Produkter mottagna StatusSupplierOrderCanceled=Annullerad StatusSupplierOrderDraft=Utkast (måste bekräftas) StatusSupplierOrderValidated=Bekräftade diff --git a/htdocs/langs/sv_SE/other.lang b/htdocs/langs/sv_SE/other.lang index df7242b07ec..e53b4c8d0aa 100644 --- a/htdocs/langs/sv_SE/other.lang +++ b/htdocs/langs/sv_SE/other.lang @@ -14,8 +14,8 @@ PreviousMonthOfInvoice=Föregående månad (nummer 1-12) på fakturadatum TextPreviousMonthOfInvoice=Föregående månad (text) på fakturadatum NextMonthOfInvoice=Följande månad (nummer 1-12) på fakturadatum TextNextMonthOfInvoice=Följande månad (text) på fakturadatum -PreviousMonth=Previous month -CurrentMonth=Current month +PreviousMonth=Föregående månad +CurrentMonth=Nuvarande månad ZipFileGeneratedInto=Zip-fil genererad till %s . DocFileGeneratedInto=Doc-filen genereras till %s . JumpToLogin=Förbindelse förlorad. Gå till inloggningssidan ... @@ -24,17 +24,17 @@ MessageOK=Meddelande på retursidan för en bekräftat betalning MessageKO=Meddelande på retursidan för en avbokad betalning ContentOfDirectoryIsNotEmpty=Innehållet i den här katalogen är inte tomt. DeleteAlsoContentRecursively=Kontrollera att allt innehåll rekursivt raderas -PoweredBy=Powered by +PoweredBy=Körs av YearOfInvoice=År för fakturadatum PreviousYearOfInvoice=Föregående år av fakturadatum NextYearOfInvoice=Följande år med fakturadatum DateNextInvoiceBeforeGen=Datum för nästa faktura (före generationen) DateNextInvoiceAfterGen=Datum för nästa faktura (efter generation) GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. -OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. -AtLeastOneMeasureIsRequired=At least 1 field for measure is required -AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required -LatestBlogPosts=Latest Blog Posts +OnlyOneFieldForXAxisIsPossible=Enbart 1 fält är möjligt i X-axeln. Bara det första markerade fältet har valts. +AtLeastOneMeasureIsRequired=Minst 1 fält är obligatiskt +AtLeastOneXAxisIsRequired=Minst 1 fält för X-axeln är obligatirskt +LatestBlogPosts=Senaste blogginlägg Notify_ORDER_VALIDATE=Försäljningsorder bekräftat Notify_ORDER_SENTBYMAIL=Försäljningsorder skickad via post Notify_ORDER_SUPPLIER_SENTBYMAIL=Beställningsorder skickad via e-post @@ -78,7 +78,7 @@ Notify_EXPENSE_REPORT_VALIDATE=Utläggsrapport bekräftat (godkännande krävs) Notify_EXPENSE_REPORT_APPROVE=Kostnadsrapport godkänd Notify_HOLIDAY_VALIDATE=Lämna förfrågan bekräftat (godkännande krävs) Notify_HOLIDAY_APPROVE=Lämna förfrågan godkänd -Notify_ACTION_CREATE=Added action to Agenda +Notify_ACTION_CREATE=Tillagd till agenda SeeModuleSetup=Se inställning av modul %s NbOfAttachedFiles=Antal bifogade filer / dokument TotalSizeOfAttachedFiles=Total storlek på bifogade filer / dokument @@ -86,8 +86,8 @@ MaxSize=Maximal storlek AttachANewFile=Bifoga en ny fil / dokument LinkedObject=Länkat objekt NbOfActiveNotifications=Antal anmälningar (antal mottagarens e-postmeddelanden) -PredefinedMailTest=__(Hello)__\nThis is a test mail sent to __EMAIL__.\nThe lines are separated by a carriage return.\n\n__USER_SIGNATURE__ -PredefinedMailTestHtml=__(Hello)__
This is a test mail sent to __EMAIL__ (the word test must be in bold).
The lines are separated by a carriage return.

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

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

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

Detta är ett automatiskt meddelande, det går inte att besvara. DemoDesc=Dolibarr är en kompakt ERP / CRM som stöder flera affärsmoduler. En demo som visar alla moduler ger ingen mening eftersom detta scenario aldrig uppstår (flera hundra tillgängliga). Det finns därför flera demoprofiler tillgängliga. ChooseYourDemoProfil=Välj den demoprofil som bäst passar dina behov ... ChooseYourDemoProfilMore=... eller bygg din egen profil
(manuellt modulval) @@ -109,12 +109,12 @@ DemoFundation2=Hantera medlemmar och bankkonto i en stiftelse DemoCompanyServiceOnly=Endast företag eller frilansförsäljning DemoCompanyShopWithCashDesk=Hantera en butik med en kassa DemoCompanyProductAndStocks=Shop selling products with Point Of Sales -DemoCompanyManufacturing=Company manufacturing products +DemoCompanyManufacturing=Företag som tillverkar produkter DemoCompanyAll=Företag med flera aktiviteter (alla huvudmoduler) CreatedBy=Skapad av %s ModifiedBy=Uppdaterad av %s ValidatedBy=Bekräftad av %s -SignedBy=Signed by %s +SignedBy=Signerat av %s ClosedBy=Stängt av %s CreatedById=Användarkod som skapade ModifiedById=Användar-ID som gjorde senaste ändringen @@ -129,7 +129,7 @@ ClosedByLogin=Användarinloggning som stängde FileWasRemoved=Arkiv %s togs bort DirWasRemoved=Nummer %s togs bort FeatureNotYetAvailable=Funktionen är ännu inte tillgänglig i den nuvarande versionen -FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse +FeatureNotAvailableOnDevicesWithoutMouse=Funktionen är inte tillgänglig på enheter utan pekdon. FeaturesSupported=Stödda funktioner Width=Bredd Height=Höjd @@ -184,23 +184,23 @@ EnableGDLibraryDesc=Installera eller aktivera GD-biblioteket på din PHP-install ProfIdShortDesc=Prof Id %s är en information är beroende av tredje part land.
Till exempel för landets %s, det är kod %s. DolibarrDemo=Dolibarr ERP / CRM-demo StatsByNumberOfUnits=Statistik för summan av produkter / tjänster -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=Statistik för antalet valda typer (antal fakturor eller ordrar...) NumberOfProposals=Antal förslag NumberOfCustomerOrders=Antal försäljningsorder NumberOfCustomerInvoices=Antal kundfakturor NumberOfSupplierProposals=Antal leverantörsförslag NumberOfSupplierOrders=Antal inköpsorder NumberOfSupplierInvoices=Antal leverantörsfakturor -NumberOfContracts=Number of contracts -NumberOfMos=Number of manufacturing orders +NumberOfContracts=Antal avtal +NumberOfMos=Antal tillverkningsordrar NumberOfUnitsProposals=Antal enheter på förslag NumberOfUnitsCustomerOrders=Antal enheter på försäljningsorder NumberOfUnitsCustomerInvoices=Antal enheter på kundfakturor NumberOfUnitsSupplierProposals=Antal enheter på leverantörsförslag NumberOfUnitsSupplierOrders=Antal enheter på inköpsorder NumberOfUnitsSupplierInvoices=Antal enheter på leverantörsfakturor -NumberOfUnitsContracts=Number of units on contracts -NumberOfUnitsMos=Number of units to produce in manufacturing orders +NumberOfUnitsContracts=Antal produkter på avtal +NumberOfUnitsMos=Antal produkter i tillverkningsordrar EMailTextInterventionAddedContact=Ett nytt ingripande %s har tilldelats dig. EMailTextInterventionValidated=Interventionen %s har bekräftats. EMailTextInvoiceValidated=Faktura %s har bekräftats. @@ -246,7 +246,7 @@ NewKeyIs=Det här är din nya nycklar för att logga in NewKeyWillBe=Din nya knappen för att logga in på programvaran kommer att vara ClickHereToGoTo=Klicka här för att gå till %s YouMustClickToChange=Du måste dock först klicka på följande länk för att bekräfta detta lösenord förändring -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Bekräfta lösenordsbyte ForgetIfNothing=Om du inte har begärt denna förändring, bara glömma detta mail. Dina referenser förvaras säkert. IfAmountHigherThan=Om mängden högre än %s SourcesRepository=Förvaring för källor @@ -263,7 +263,7 @@ ThirdPartyCreatedByEmailCollector=Tredje part skapad av e-post samlare från e-p ContactCreatedByEmailCollector=Kontakt / adress skapad via e-post samlare från email MSGID %s ProjectCreatedByEmailCollector=Projekt skapat av e-post samlare från email MSGID %s TicketCreatedByEmailCollector=Biljett skapad av e-post samlare från email MSGID %s -OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
Use a space to enter different ranges.
Example: 8-12 14-18 +OpeningHoursFormatDesc=Använd "-" för att separera öppettider.
Använd mellanslag för flera tidpunkter.
Exempel: 8-12 14-18 SuffixSessionName=Suffix for session name ##### Export ##### @@ -285,9 +285,9 @@ LinesToImport=Rader att importera MemoryUsage=Minnesanvändning RequestDuration=Varaktighet för förfrågan -ProductsPerPopularity=Products/Services by popularity -PopuProp=Products/Services by popularity in Proposals -PopuCom=Products/Services by popularity in Orders -ProductStatistics=Products/Services Statistics -NbOfQtyInOrders=Qty in orders -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +ProductsPerPopularity=Produkter/tjänster baserat på populäritet +PopuProp=Produkter/tjänster baserat på populäritet i förslag +PopuCom=Produkter/tjänster baserat på populäritet i ordrar +ProductStatistics=Produkter/tjänster statistik +NbOfQtyInOrders=Antal i ordrar +SelectTheTypeOfObjectToAnalyze=Välj ett objekt för att visa statistik... diff --git a/htdocs/langs/sv_SE/partnership.lang b/htdocs/langs/sv_SE/partnership.lang index 59c885f7832..e7d295c58d8 100644 --- a/htdocs/langs/sv_SE/partnership.lang +++ b/htdocs/langs/sv_SE/partnership.lang @@ -16,66 +16,66 @@ # # Generic # -ModulePartnershipName=Partnership management -PartnershipDescription=Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Partnerskapshantering +PartnershipDescription=Partnerskapshanteringsmodul +PartnershipDescriptionLong= Partnerskapshanteringsmodul -AddPartnership=Add partnership -CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions +AddPartnership=Lägg till partnerskap +CancelPartnershipForExpiredMembers=Partnerskap: Avbryt partnerskap med inaktiva abonnemang PartnershipCheckBacklink=Partnership: Check referring backlink # # Menu # -NewPartnership=New Partnership -ListOfPartnerships=List of partnership +NewPartnership=Nytt partnerskap +ListOfPartnerships=Lista över partnerskap # # Admin page # -PartnershipSetup=Partnership setup -PartnershipAbout=About Partnership -PartnershipAboutPage=Partnership about page +PartnershipSetup=Partnerskapsupplägg +PartnershipAbout=Om partnerskap +PartnershipAboutPage=Om partnerskapssidan partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' -PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for +PARTNERSHIP_IS_MANAGED_FOR=Partnerskap hanterad för PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check -PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Antal dagar innan partnerskap avbryts när ett abonnemang har löpt ut ReferingWebsiteCheck=Check of website referring -ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. +ReferingWebsiteCheckDesc=Du kan aktivera en funktion för att kontrollera om din partner har länkat tillbaka till er hemsida via deras egen hemsida. # # Object # -DeletePartnership=Delete a partnership -PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party +DeletePartnership=Ta bort partnerskap +PartnershipDedicatedToThisThirdParty=Partnerskap dedikerat till denna kund/leverantör PartnershipDedicatedToThisMember=Partnership dedicated to this member DatePartnershipStart=Startdatum DatePartnershipEnd=Slutdatum -ReasonDecline=Decline reason -ReasonDeclineOrCancel=Decline reason -PartnershipAlreadyExist=Partnership already exist -ManagePartnership=Manage partnership +ReasonDecline=Avslagsanledning +ReasonDeclineOrCancel=Avslagsanledning +PartnershipAlreadyExist=Partnerskap finns redan +ManagePartnership=Hantera partnerskap BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website -ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? -PartnershipType=Partnership type +ConfirmClosePartnershipAsk=Är du säker på att du vill avbryta detta partnerskap? +PartnershipType=Partnerskapstyp # # Template Mail # -SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled -SendingEmailOnPartnershipRefused=Partnership refused -SendingEmailOnPartnershipAccepted=Partnership accepted -SendingEmailOnPartnershipCanceled=Partnership canceled +SendingEmailOnPartnershipWillSoonBeCanceled=Partnerskap kommer snart att avbrytas +SendingEmailOnPartnershipRefused=Partnerskap nekat +SendingEmailOnPartnershipAccepted=Partnerskap accepterat +SendingEmailOnPartnershipCanceled=Partnerskap avbrutet -YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled -YourPartnershipRefusedTopic=Partnership refused -YourPartnershipAcceptedTopic=Partnership accepted -YourPartnershipCanceledTopic=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Partnerskap kommer snart att avbrytas +YourPartnershipRefusedTopic=Partnerskap nekat +YourPartnershipAcceptedTopic=Partnerskap accepterat +YourPartnershipCanceledTopic=Partnerskap avbrutet YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) -YourPartnershipRefusedContent=We inform you that your partnership request has been refused. -YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. -YourPartnershipCanceledContent=We inform you that your partnership has been canceled. +YourPartnershipRefusedContent=Vi vill informera dig om att parnterskapsförfrågan har blivit nekad. +YourPartnershipAcceptedContent=Vi vill informera dig om att partnerskapsförfrågan har blivit accepterad +YourPartnershipCanceledContent=Vi vill informera dig om att partnerskapsförfrågan har blivit avbruten # # Status @@ -84,4 +84,4 @@ PartnershipDraft=Utkast PartnershipAccepted=Accepted PartnershipRefused=Refused PartnershipCanceled=Annullerad -PartnershipManagedFor=Partners are +PartnershipManagedFor=Partnerutrymme diff --git a/htdocs/langs/sv_SE/paypal.lang b/htdocs/langs/sv_SE/paypal.lang index 7371edf5798..907c1cff4d3 100644 --- a/htdocs/langs/sv_SE/paypal.lang +++ b/htdocs/langs/sv_SE/paypal.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - paypal PaypalSetup=PayPal-modul installation PaypalDesc=Denna modul tillåter betalning av kunder via PayPal . Detta kan användas för en ad hoc-betalning eller för en betalning relaterad till ett Dolibarr-objekt (faktura, order, ...) -PaypalOrCBDoPayment=Pay with PayPal (Card or PayPal) +PaypalOrCBDoPayment=Betala med PayPal (kort eler PayPal) PaypalDoPayment=Betala med PayPal PAYPAL_API_SANDBOX=Läge test / sandlåda PAYPAL_API_USER=API användarnamn @@ -32,5 +32,5 @@ PaypalImportPayment=Importera PayPal-betalningar PostActionAfterPayment=Posta åtgärder efter betalningar ARollbackWasPerformedOnPostActions=En återuppringning utfördes på alla Post-åtgärder. Du måste fylla i posthandlingar manuellt om det behövs. ValidationOfPaymentFailed=Bekräftandet av betalningen har misslyckats -CardOwner=Card holder -PayPalBalance=Paypal credit +CardOwner=Kortinnehavare +PayPalBalance=PayPal Kredit diff --git a/htdocs/langs/sv_SE/productbatch.lang b/htdocs/langs/sv_SE/productbatch.lang index f429a077474..ab6660447ce 100644 --- a/htdocs/langs/sv_SE/productbatch.lang +++ b/htdocs/langs/sv_SE/productbatch.lang @@ -1,10 +1,10 @@ # ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Använd batch/serie-nummer -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnBatch=Ja (tillverkning/serienummer krävs) +ProductStatusOnSerial=Ja (Unikt serienummer krävs) ProductStatusNotOnBatch=Nej (batch/serie-nummer används ej) -ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnBatchShort=Parti +ProductStatusOnSerialShort=Serie ProductStatusNotOnBatchShort=Nej Batch=Batch/Serie atleast1batchfield=Bäst före-datum eller Batch/Serie-nummer @@ -24,22 +24,20 @@ ProductLotSetup=Inställning av batch/serie modul ShowCurrentStockOfLot=Visa aktuellt lager för sammansatt produkt/parti ShowLogOfMovementIfLot=Visa statestik för sammansatt produkt/parti StockDetailPerBatch=Detaljlager för parti -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers +SerialNumberAlreadyInUse=Serienummer %s är redan använt för produkt %s +TooManyQtyForSerialNumber=Du kan bara ha en produkt %s för serienummer %s ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned -LifeTime=Life span (in days) -EndOfLife=End of life -ManufacturingDate=Manufacturing date -DestructionDate=Destruction date -FirstUseDate=First use date -QCFrequency=Quality control frequency (in days) +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) +QtyToAddAfterBarcodeScan=Antal att lägga till för varje streckkod/parti/serienummer skannat +LifeTime=Livslängd (i dagar) +EndOfLife=Livslängd +ManufacturingDate=Tillverkningsdatum +DestructionDate=Raseringsdatum +FirstUseDate=Första användningsdatum +QCFrequency=Kvalitetskontrollsperiod (i dagar) #Traceability - qc status -OutOfOrder=Out of order +OutOfOrder=Ej tillgänglig InWorkingOrder=In working order diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index 4aaa22c4b42..c9258cb5af8 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -72,7 +72,7 @@ AppliedPricesFrom=Tillämpad från SellingPrice=Försäljningspris SellingPriceHT=Försäljningspris (exkl. Moms) SellingPriceTTC=Försäljningspris (inkl. moms) -SellingMinPriceTTC=Minsta försäljningspris (inkl. Skatt) +SellingMinPriceTTC=Minsta försäljningspris (inkl. moms) CostPriceDescription=Detta prisfält (exkl. Moms) kan användas för att fånga det genomsnittliga belopp som denna produkt kostar för ditt företag. Det kan vara vilket pris du själv beräknar, till exempel från det genomsnittliga inköpspriset plus genomsnittlig produktions- och distributionskostnad. CostPriceUsage=Detta värde kan användas för marginalberäkning. SoldAmount=Sålt belopp @@ -277,7 +277,7 @@ PriceByCustomer=Olika priser för varje kund PriceCatalogue=Ett enda försäljningspris per produkt / tjänst PricingRule=Regler för försäljningspriser AddCustomerPrice=Lägg till pris per kund -ForceUpdateChildPriceSoc=Sätt samma pris på kunds filialer +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Logga på tidigare kundpriser MinimumPriceLimit=Lägsta pris kan inte vara lägre än %s MinimumRecommendedPrice=Lägsta rekommenderade pris är: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Öka / minska lagerposten vid föräldraändring ComposedProduct=Barnprodukter MinSupplierPrice=Lägsta köpkurs MinCustomerPrice=Lägsta försäljningspris +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamisk priskonfiguration DynamicPriceDesc=Du kan definiera matematiska formler för att beräkna kund- eller leverantörspriser. Sådana formler kan använda alla matematiska operatörer, vissa konstanter och variabler. Du kan här definiera variablerna du vill använda. Om variabeln behöver en automatisk uppdatering kan du definiera den externa adressen så att Dolibarr kan uppdatera värdet automatiskt. AddVariable=Lägg till variabel @@ -340,7 +341,7 @@ ProductSheet=Produktblad ServiceSheet=Serviceblad PossibleValues=Möjliga värden GoOnMenuToCreateVairants=Gå på menyn %s - %s för att förbereda attributvarianter (som färger, storlek, ...) -UseProductFournDesc=Lägg till en funktion för att definiera beskrivningar av produkter som definieras av leverantörerna utöver beskrivningar för kunder +UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers ProductSupplierDescription=Leverantörsbeskrivning för produkten UseProductSupplierPackaging=Använd förpackning till leverantörspriser (beräkna kvantiteter enligt förpackning som anges på leverantörspris när du lägger till / uppdaterar rad i leverantörsdokument) PackagingForThisProduct=Förpackning diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index b77f6547887..56ce0898ffe 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -7,22 +7,22 @@ ProjectsArea=Projektområde ProjectStatus=Projektstatus SharedProject=Alla PrivateProject=Projekt kontakter -ProjectsImContactFor=Projects for which I am explicitly a contact +ProjectsImContactFor=Projekt där jag är kontaktperson AllAllowedProjects=Allt projekt jag kan läsa (min + offentliga) AllProjects=Alla projekt -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=Denna vy är begränsad till projekt du är kontaktperson för ProjectsPublicDesc=Denna uppfattning presenterar alla projekt du har rätt att läsa. TasksOnProjectsPublicDesc=Denna vy presenterar alla uppgifter på projekt som du får läsa. ProjectsPublicTaskDesc=Denna uppfattning presenterar alla projekt och uppgifter som du får läsa. ProjectsDesc=Denna uppfattning presenterar alla projekt (din användarbehörighet tillåta dig att visa allt). TasksOnProjectsDesc=Denna vy presenterar alla uppgifter på alla projekt (dina användarbehörigheter ger dig tillstånd att se allt). -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=Denna vy är begränsad till projekt eller uppgifter du är kontaktperson för OnlyOpenedProject=Endast öppna projekt är synliga (projekt i utkast eller stängt status är inte synliga). ClosedProjectsAreHidden=Avslutade projekt är inte synliga. TasksPublicDesc=Denna uppfattning presenterar alla projekt och uppgifter som du får läsa. TasksDesc=Denna uppfattning presenterar alla projekt och uppgifter (din användarbehörighet tillåta dig att visa allt). AllTaskVisibleButEditIfYouAreAssigned=Alla uppgifter för kvalificerade projekt är synliga, men du kan bara ange tid för uppgift som är tilldelad till vald användare. Tilldela uppgiften om du behöver ange tid på den. -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=Enbart uppgifter som du är tilldelad är synliga. Om du behöver rapportera tid på en uppgift och uppgiften inte är synlig här, måste du tilldela den till dig själv. ImportDatasetTasks=Uppgifter av projekt ProjectCategories=Projektetiketter / kategorier NewProject=Nytt projekt @@ -47,7 +47,7 @@ TimeSpentByUser=Tid spenderad av användaren TimesSpent=Tid TaskId=UppgiftsID RefTask=Uppgiftsreferens -LabelTask=Task label +LabelTask=Uppgiftsbenämning TaskTimeSpent=Tid som ägnas åt uppgifter TaskTimeUser=Användare TaskTimeNote=Anmärkning @@ -69,27 +69,27 @@ NewTask=Ny uppgift AddTask=Skapa uppgift AddTimeSpent=Skapa tid spenderad AddHereTimeSpentForDay=Lägg till här tid för denna dag / uppgift -AddHereTimeSpentForWeek=Add here time spent for this week/task +AddHereTimeSpentForWeek=Registrera tid spenderat på denna vecka/uppgift Activity=Aktivitet Activities=Uppgifter / aktiviteter MyActivities=Mina uppgifter / aktiviteter MyProjects=Mina projekt MyProjectsArea=Mina projektområde DurationEffective=Effektiv längd -ProgressDeclared=Declared real progress -TaskProgressSummary=Task progress -CurentlyOpenedTasks=Curently open tasks +ProgressDeclared=Deklarera framgång +TaskProgressSummary=Uppgiftsframsteg +CurentlyOpenedTasks=Just nu aktiva uppgifter TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption ProgressCalculated=Progress on consumption -WhichIamLinkedTo=which I'm linked to -WhichIamLinkedToProject=which I'm linked to project +WhichIamLinkedTo=vilka jag är länkade till +WhichIamLinkedToProject=vilka projekt jag är länkade till Time=Tid -TimeConsumed=Consumed +TimeConsumed=Konsumerat ListOfTasks=Lista över uppgifter GoToListOfTimeConsumed=Gå till listan över tidskrävt GanttView=Gantt-vy -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=Lista lager associerade till detta projekt ListProposalsAssociatedProject=Förteckning över de kommersiella förslagen relaterade till projektet ListOrdersAssociatedProject=Förteckning över försäljningsorder relaterade till projektet ListInvoicesAssociatedProject=Förteckning över kundfakturor relaterade till projektet @@ -104,7 +104,7 @@ ListDonationsAssociatedProject=Förteckning över donationer relaterade till pro ListVariousPaymentsAssociatedProject=Förteckning över diverse betalningar relaterade till projektet ListSalariesAssociatedProject=Förteckning över betalningar av löner relaterade till projektet ListActionsAssociatedProject=Förteckning över händelser relaterade till projektet -ListMOAssociatedProject=List of manufacturing orders related to the project +ListMOAssociatedProject=Lista tillverkningsordrar relaterade till detta projekt ListTaskTimeUserProject=Förteckning över tid som konsumeras på projektets uppgifter ListTaskTimeForTask=Lista över tid förbrukad på uppgift ActivityOnProjectToday=Aktivitet på projektet idag @@ -117,7 +117,7 @@ ChildOfTask=Barn av uppgift TaskHasChild=Uppgiften har barn NotOwnerOfProject=Inte ägaren av denna privata projekt AffectedTo=Påverkas i -CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See tab '%s'. +CantRemoveProject=Detta projekt kan inte tas bort, eftersom det är refererat i något annat föremål (faktura, order etc.). Se i flik "%s" ValidateProject=Bekräfta projet ConfirmValidateProject=Är du säker på att du vill bekräfta detta projekt? CloseAProject=Stäng projekt @@ -180,7 +180,7 @@ TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragsgivare TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragsgivare SelectElement=Välj elementet AddElement=Länk till inslag -LinkToElementShort=Link to +LinkToElementShort=Länkad til # Documents models DocumentModelBeluga=Projektdokumentmall för översikt över länkade objekt DocumentModelBaleine=Projektdokumentmall för uppgifter @@ -189,7 +189,7 @@ PlannedWorkload=Planerad arbetsbelastning PlannedWorkloadShort=Arbetsbelastning ProjectReferers=Relaterade saker ProjectMustBeValidatedFirst=Projekt måste bekräftas först -FirstAddRessourceToAllocateTime=Assign a user resource as contact of project to allocate time +FirstAddRessourceToAllocateTime=Tilldela en användarresurs som kontaktperson för projekt att rapportera tid InputPerDay=Ingång per dag InputPerWeek=Ingång per vecka InputPerMonth=Input per month @@ -202,7 +202,7 @@ ResourceNotAssignedToTheTask=Ej tilldelad uppgiften NoUserAssignedToTheProject=Inga användare tilldelade detta projekt TimeSpentBy=Tid spenderad av TasksAssignedTo=Uppgifter som är tilldelade till -AssignTaskToMe=Assign task to myself +AssignTaskToMe=Tilldela till mig själv AssignTaskToUser=Tilldela uppgiften till %s SelectTaskToAssign=Välj uppgift att tilldela ... AssignTask=Tilldela @@ -241,7 +241,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 +ChooseANotYetAssignedTask=Denna uppgift har inte tilldelats till dig ännu # Comments trans AllowCommentOnTask=Tillåt användar kommentarer på uppgifter AllowCommentOnProject=Tillåt användar kommentarer på projekt @@ -258,19 +258,19 @@ ServiceToUseOnLines=Service att använda på linjer InvoiceGeneratedFromTimeSpent=Faktura %s har genererats från tid till projekt ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. ProjectFollowOpportunity=Follow opportunity -ProjectFollowTasks=Follow tasks or time spent -Usage=Usage +ProjectFollowTasks=Följ uppgift eller tid spenderad +Usage=Användande UsageOpportunity=Usage: Opportunity -UsageTasks=Usage: Tasks -UsageBillTimeShort=Usage: Bill time -InvoiceToUse=Draft invoice to use +UsageTasks=Användande: Uppgift +UsageBillTimeShort=Användande: Fakturerbar tid +InvoiceToUse=Utkastsfaktura att använda NewInvoice=Ny faktura -OneLinePerTask=One line per task -OneLinePerPeriod=One line per period -OneLinePerTimeSpentLine=One line for each time spent declaration -RefTaskParent=Ref. Parent Task -ProfitIsCalculatedWith=Profit is calculated using -AddPersonToTask=Add also to tasks +OneLinePerTask=En rad per uppgift +OneLinePerPeriod=En rad per period +OneLinePerTimeSpentLine=En rad för varje tidrapport +RefTaskParent=Refererad överordnad uppgift +ProfitIsCalculatedWith=Vinst är beräknad av +AddPersonToTask=Lägg också till i uppgift UsageOrganizeEvent=Usage: Event Organization PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. diff --git a/htdocs/langs/sv_SE/receiptprinter.lang b/htdocs/langs/sv_SE/receiptprinter.lang index 4ae00f6560c..d581716a79d 100644 --- a/htdocs/langs/sv_SE/receiptprinter.lang +++ b/htdocs/langs/sv_SE/receiptprinter.lang @@ -31,7 +31,7 @@ PROFILE_SIMPLE_HELP=Enkel profil Ingen grafik PROFILE_EPOSTEP_HELP=Epos Tep Profile PROFILE_P822D_HELP=P822D Profil Nr Grafik PROFILE_STAR_HELP=Stjärnprofil -DOL_LINE_FEED=Skip line +DOL_LINE_FEED=Hoppa över rad DOL_ALIGN_LEFT=Vänsterjustera texten DOL_ALIGN_CENTER=Centrera text DOL_ALIGN_RIGHT=Högerjustera texten @@ -45,38 +45,38 @@ DOL_CUT_PAPER_PARTIAL=Klipp biljetten delvis DOL_OPEN_DRAWER=Öppna kassalådan DOL_ACTIVATE_BUZZER=Aktivera summer DOL_PRINT_QRCODE=Skriv ut QR-kod -DOL_PRINT_LOGO=Print logo of my company -DOL_PRINT_LOGO_OLD=Print logo of my company (old printers) -DOL_BOLD=Bold -DOL_BOLD_DISABLED=Disable bold -DOL_DOUBLE_HEIGHT=Double height size -DOL_DOUBLE_WIDTH=Double width size -DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size -DOL_UNDERLINE=Enable underline -DOL_UNDERLINE_DISABLED=Disable underline -DOL_BEEP=Beed sound -DOL_PRINT_TEXT=Print text -DateInvoiceWithTime=Invoice date and time -YearInvoice=Invoice year -DOL_VALUE_MONTH_LETTERS=Invoice month in letters -DOL_VALUE_MONTH=Invoice month -DOL_VALUE_DAY=Invoice day -DOL_VALUE_DAY_LETTERS=Inovice day in letters -DOL_LINE_FEED_REVERSE=Line feed reverse -InvoiceID=Invoice ID +DOL_PRINT_LOGO=Skriv ut logotyp +DOL_PRINT_LOGO_OLD=Skriv ut logotyp (gamla skrivare) +DOL_BOLD=Fet text +DOL_BOLD_DISABLED=Inaktivera fet text +DOL_DOUBLE_HEIGHT=Dubbla höjden +DOL_DOUBLE_WIDTH=Dubbla bredden +DOL_DEFAULT_HEIGHT_WIDTH=Standard höjd och bredd +DOL_UNDERLINE=Aktivera understrykning +DOL_UNDERLINE_DISABLED=Inaktivera understrykning +DOL_BEEP=Summer +DOL_PRINT_TEXT=Skriv text +DateInvoiceWithTime=Fakturadatum och ti +YearInvoice=Fakturaår +DOL_VALUE_MONTH_LETTERS=Fakturamånad i text +DOL_VALUE_MONTH=Fakturamånad +DOL_VALUE_DAY=Fakturadag +DOL_VALUE_DAY_LETTERS=Fakturadag i bokstäver +DOL_LINE_FEED_REVERSE=Omvänd radmatning +InvoiceID=Faktura-id InvoiceRef=Faktura ref -DOL_PRINT_OBJECT_LINES=Invoice lines -DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name -DOL_VALUE_CUSTOMER_LASTNAME=Customer last name -DOL_VALUE_CUSTOMER_MAIL=Customer mail -DOL_VALUE_CUSTOMER_PHONE=Customer phone -DOL_VALUE_CUSTOMER_MOBILE=Customer mobile -DOL_VALUE_CUSTOMER_SKYPE=Customer Skype -DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number -DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance -DOL_VALUE_MYSOC_NAME=Your company name -VendorLastname=Vendor last name -VendorFirstname=Vendor first name -VendorEmail=Vendor email -DOL_VALUE_CUSTOMER_POINTS=Customer points -DOL_VALUE_OBJECT_POINTS=Object points +DOL_PRINT_OBJECT_LINES=Fakturarader +DOL_VALUE_CUSTOMER_FIRSTNAME=Kundens förnamn +DOL_VALUE_CUSTOMER_LASTNAME=Kundens efternamn +DOL_VALUE_CUSTOMER_MAIL=Kundens e-post +DOL_VALUE_CUSTOMER_PHONE=Kundens telefonnummer +DOL_VALUE_CUSTOMER_MOBILE=Kundens mobilnummer +DOL_VALUE_CUSTOMER_SKYPE=Kunden Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Kundens momsregistreringsnummer +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Kundens kreditgräns +DOL_VALUE_MYSOC_NAME=Ditt företagsnamn +VendorLastname=Tillverkarens efternamn +VendorFirstname=Tillverkarens förnam +VendorEmail=Tillverkarens e-post +DOL_VALUE_CUSTOMER_POINTS=Kundpoäng +DOL_VALUE_OBJECT_POINTS=Objektpoäng diff --git a/htdocs/langs/sv_SE/resource.lang b/htdocs/langs/sv_SE/resource.lang index e12be95b42d..16ec7c66e6c 100644 --- a/htdocs/langs/sv_SE/resource.lang +++ b/htdocs/langs/sv_SE/resource.lang @@ -5,7 +5,7 @@ DeleteResource=Radera resurs ConfirmDeleteResourceElement=Bekräfta radera resurs för detta element NoResourceInDatabase=Ingen resurs i databasen. NoResourceLinked=Ingen resurs kopplad - +ActionsOnResource=Händelser om den här resursen ResourcePageIndex=Listan över resurser ResourceSingular=Resurs ResourceCard=Resurs kort @@ -16,7 +16,7 @@ ResourceFormLabel_description=Resursbeskrivning ResourcesLinkedToElement=Resurser kopplade till elementet -ShowResource=Show resource +ShowResource=Visa resurs ResourceElementPage=Element resurser ResourceCreatedWithSuccess=Resursen har skapats @@ -30,7 +30,10 @@ DictionaryResourceType=Typ av resurser SelectResource=Välj resurs -IdResource=Id resource -AssetNumber=Serial number -ResourceTypeCode=Resource type code +IdResource=ID-resurs +AssetNumber=Serienummer +ResourceTypeCode=Typ av resurs typ ImportDataset_resource_1=Resurser + +ErrorResourcesAlreadyInUse=Vissa resurser är använda +ErrorResourceUseInEvent=%s använt i %s diff --git a/htdocs/langs/sv_SE/salaries.lang b/htdocs/langs/sv_SE/salaries.lang index 73cef33a5e8..e2bb80343c1 100644 --- a/htdocs/langs/sv_SE/salaries.lang +++ b/htdocs/langs/sv_SE/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Redovisningskonto som används för tredje part SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Det dedikerade bokföringskontot som definieras på användarkortet kommer endast att användas för Subledger-bokföring. Den här kommer att användas för huvudboken och som standardvärde för Subledger-bokföring om ett dedikerat användarkonto på användare inte är definierat. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Redovisningskonto som standard för lönebetalningar +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Lön Salaries=Löner -NewSalaryPayment=Ny löneutbetalning +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Lägg till lönbetalning SalaryPayment=Lönebetalning SalariesPayments=Löneutbetalningar +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Visa löneutbetalning THM=Genomsnittlig timpris TJM=Genomsnittlig dagskurs CurrentSalary=Nuvarande lön THMDescription=Det här värdet kan användas för att beräkna kostnaden för tidskrävande på ett projekt som användaren har infört om modulprojekt används TJMDescription=Detta värde är för närvarande endast för information och används inte för någon beräkning -LastSalaries=Senaste %s lönebetalningar -AllSalaries=Alla lönebetalningar +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Lönestatistik -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sv_SE/ticket.lang b/htdocs/langs/sv_SE/ticket.lang index baa6c0eb49f..a69c8afe3f1 100644 --- a/htdocs/langs/sv_SE/ticket.lang +++ b/htdocs/langs/sv_SE/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Kommersiell fråga TicketTypeShortHELP=Begäran om funktionell hjälp -TicketTypeShortISSUE=Problem, fel eller problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Ändrings- eller förbättringsbegäran TicketTypeShortPROJET=Projekt TicketTypeShortOTHER=Andra @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Tilldelad användare TypeContact_ticket_external_SUPPORTCLI=Kundkontakt / incidentspårning TypeContact_ticket_external_CONTRIBUTOR=Extern bidragsyter -OriginEmail=E-postkälla +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Skicka biljettmeddelande via e-post # Status Read=Läsa Assigned=Tilldelad InProgress=Pågående -NeedMoreInformation=Väntar på information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Besvarade Waiting=Väntar Closed=Stängt @@ -160,7 +162,7 @@ CreatedBy=Skapad av NewTicket=Ny biljett SubjectAnswerToTicket=Biljettsvar TicketTypeRequest=Förfrågan typ -TicketCategory=Grupp +TicketCategory=Ticket categorization SeeTicket=Se biljett TicketMarkedAsRead=Biljett har markerats som läst TicketReadOn=Läs vidare @@ -211,6 +213,7 @@ TicketMessageHelp=Endast den här texten sparas i meddelandelistan på biljettko TicketMessageSubstitutionReplacedByGenericValues=Substitutionsvariabler ersätts av generiska värden. TimeElapsedSince=Tid förflutit sedan TicketTimeToRead=Tid förfluten innan den läste +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kontakter biljett TicketDocumentsLinked=Dokument kopplade till biljett ConfirmReOpenTicket=Bekräfta återuppta denna biljett? diff --git a/htdocs/langs/sv_SE/users.lang b/htdocs/langs/sv_SE/users.lang index 7cc52b333bf..8d9cfed0737 100644 --- a/htdocs/langs/sv_SE/users.lang +++ b/htdocs/langs/sv_SE/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Logga in för att skapa NameToCreate=Namn på tredje part för att skapa YourRole=Din roller YourQuotaOfUsersIsReached=Din kvot på aktiva användare är nådd! -NbOfUsers=Antal användare -NbOfPermissions=Antal behörigheter +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Endast en SuperAdmin kan nedgradera en SuperAdmin HierarchicalResponsible=Handledare HierarchicView=Hierarkisk vy diff --git a/htdocs/langs/sv_SE/website.lang b/htdocs/langs/sv_SE/website.lang index 1b7afa6e64e..a8ef9b50f76 100644 --- a/htdocs/langs/sv_SE/website.lang +++ b/htdocs/langs/sv_SE/website.lang @@ -31,7 +31,7 @@ AddWebsite=Lägg till webbplats Webpage=Webbsida / container AddPage=Lägg till sida / behållare PageContainer=Sida -PreviewOfSiteNotYetAvailable=Förhandsgranskning av din webbplats %s ej tillgänglig än. Du måste först ' Importera en fullständig webbplatsmall ' eller bara ' Lägg till en sida / behållare '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Den begärda sidan med id %s har inget innehåll ännu, eller cachefilen .tpl.php har tagits bort. Redigera innehållet på sidan för att lösa detta. SiteDeleted=Webbplatsen '%s' raderas PageContent=Page / Contenair diff --git a/htdocs/langs/sw_SW/admin.lang b/htdocs/langs/sw_SW/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/sw_SW/admin.lang +++ b/htdocs/langs/sw_SW/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/sw_SW/banks.lang b/htdocs/langs/sw_SW/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/sw_SW/banks.lang +++ b/htdocs/langs/sw_SW/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/sw_SW/boxes.lang b/htdocs/langs/sw_SW/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/sw_SW/boxes.lang +++ b/htdocs/langs/sw_SW/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/sw_SW/cashdesk.lang b/htdocs/langs/sw_SW/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/sw_SW/cashdesk.lang +++ b/htdocs/langs/sw_SW/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/sw_SW/deliveries.lang b/htdocs/langs/sw_SW/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/sw_SW/deliveries.lang +++ b/htdocs/langs/sw_SW/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/sw_SW/errors.lang b/htdocs/langs/sw_SW/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/sw_SW/errors.lang +++ b/htdocs/langs/sw_SW/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/sw_SW/eventorganization.lang b/htdocs/langs/sw_SW/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/sw_SW/eventorganization.lang +++ b/htdocs/langs/sw_SW/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/sw_SW/exports.lang b/htdocs/langs/sw_SW/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/sw_SW/exports.lang +++ b/htdocs/langs/sw_SW/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/sw_SW/install.lang b/htdocs/langs/sw_SW/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/sw_SW/install.lang +++ b/htdocs/langs/sw_SW/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/sw_SW/interventions.lang b/htdocs/langs/sw_SW/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/sw_SW/interventions.lang +++ b/htdocs/langs/sw_SW/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/sw_SW/productbatch.lang b/htdocs/langs/sw_SW/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/sw_SW/productbatch.lang +++ b/htdocs/langs/sw_SW/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/sw_SW/products.lang b/htdocs/langs/sw_SW/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/sw_SW/products.lang +++ b/htdocs/langs/sw_SW/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/sw_SW/salaries.lang b/htdocs/langs/sw_SW/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/sw_SW/salaries.lang +++ b/htdocs/langs/sw_SW/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/sw_SW/ticket.lang b/htdocs/langs/sw_SW/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/sw_SW/ticket.lang +++ b/htdocs/langs/sw_SW/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/sw_SW/users.lang b/htdocs/langs/sw_SW/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/sw_SW/users.lang +++ b/htdocs/langs/sw_SW/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/sw_SW/website.lang b/htdocs/langs/sw_SW/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/sw_SW/website.lang +++ b/htdocs/langs/sw_SW/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index 7ccdbdef6d6..9fdd0e3090a 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -53,6 +53,7 @@ InternalUser=ผู้ใช้งานภายใน ExternalUser=ผู้ใช้ภายนอก InternalUsers=ผู้ใช้ภายใน ExternalUsers=ผู้ใช้ภายนอก +UserInterface=User interface GUISetup=แสดง SetupArea=การติดตั้ง UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=ฟังก์ชั่น SSL ไม่สาม DownloadMoreSkins=กินมากขึ้นในการดาวน์โหลด SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=แปลบางส่วน MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=คลิกเพื่อกดติดตั้งโมด ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=แนะนำ +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/th_TH/banks.lang b/htdocs/langs/th_TH/banks.lang index 9cc2fcbf33a..b21e70fecce 100644 --- a/htdocs/langs/th_TH/banks.lang +++ b/htdocs/langs/th_TH/banks.lang @@ -115,7 +115,7 @@ TransferTo=ไปยัง TransferFromToDone=การถ่ายโอนจาก% s% s% s% s ได้รับการบันทึก CheckTransmitter=ผู้ส่ง ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=เช็คธนาคาร diff --git a/htdocs/langs/th_TH/boxes.lang b/htdocs/langs/th_TH/boxes.lang index cb54d2fbf5d..5cd196d0233 100644 --- a/htdocs/langs/th_TH/boxes.lang +++ b/htdocs/langs/th_TH/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=ใบแจ้งหนี้ลูกค้า ForCustomersOrders=คำสั่งซื้อของลูกค้า ForProposals=ข้อเสนอ diff --git a/htdocs/langs/th_TH/cashdesk.lang b/htdocs/langs/th_TH/cashdesk.lang index d8717b96ff0..461f60e430f 100644 --- a/htdocs/langs/th_TH/cashdesk.lang +++ b/htdocs/langs/th_TH/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/th_TH/deliveries.lang b/htdocs/langs/th_TH/deliveries.lang index cac9f569166..84b94f406b3 100644 --- a/htdocs/langs/th_TH/deliveries.lang +++ b/htdocs/langs/th_TH/deliveries.lang @@ -27,5 +27,7 @@ Recipient=ผู้รับ ErrorStockIsNotEnough=มีไม่มากพอที่หุ้น Shippable=shippable NonShippable=ไม่ shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index 090c30a1615..337c107080e 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/th_TH/eventorganization.lang b/htdocs/langs/th_TH/eventorganization.lang index ca7b7131745..8e53798586d 100644 --- a/htdocs/langs/th_TH/eventorganization.lang +++ b/htdocs/langs/th_TH/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = ประเภทเหตุการณ์ +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/th_TH/exports.lang b/htdocs/langs/th_TH/exports.lang index 4ec434b49a1..c378db35d2c 100644 --- a/htdocs/langs/th_TH/exports.lang +++ b/htdocs/langs/th_TH/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=ประเภทของสาย (0 = ผลิ FileWithDataToImport=ไฟล์ที่มีข้อมูลที่จะนำเข้า FileToImport=แหล่งที่มาของไฟล์ที่จะนำเข้า FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=แหล่งที่มาของรูปแบบไฟล์ diff --git a/htdocs/langs/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index 1f0b347ade6..cf01cdc0adf 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/th_TH/interventions.lang b/htdocs/langs/th_TH/interventions.lang index dd10bf804e4..d93029a85ec 100644 --- a/htdocs/langs/th_TH/interventions.lang +++ b/htdocs/langs/th_TH/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=เปิดใหม่ +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/th_TH/productbatch.lang b/htdocs/langs/th_TH/productbatch.lang index d6e80c1675b..c9c1e8aa345 100644 --- a/htdocs/langs/th_TH/productbatch.lang +++ b/htdocs/langs/th_TH/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/th_TH/products.lang b/htdocs/langs/th_TH/products.lang index e0c9a34bc0d..feb1e200dde 100644 --- a/htdocs/langs/th_TH/products.lang +++ b/htdocs/langs/th_TH/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=เพิ่มราคาโดยลูกค้า -ForceUpdateChildPriceSoc=ตั้งราคาเดียวกันกับ บริษัท ย่อยของลูกค้า +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=ราคาขั้นต่ำไม่สามารถจะลดลงแล้ว% s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=เพิ่มขึ้น / ลดลงหุ้ ComposedProduct=Child products MinSupplierPrice=ราคารับซื้อขั้นต่ำ MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=การกำหนดค่าราคาแบบไดนามิก DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/th_TH/salaries.lang b/htdocs/langs/th_TH/salaries.lang index c9e3d27c545..751ac6ec2c0 100644 --- a/htdocs/langs/th_TH/salaries.lang +++ b/htdocs/langs/th_TH/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=เงินเดือน Salaries=เงินเดือน -NewSalaryPayment=การชำระเงินเงินเดือนใหม่ +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=การชำระเงินเงินเดือน SalariesPayments=การชำระเงินเงินเดือน +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=แสดงการชำระเงินเงินเดือน THM=Average hourly rate TJM=Average daily rate CurrentSalary=เงินเดือนปัจจุบัน THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/th_TH/ticket.lang b/htdocs/langs/th_TH/ticket.lang index 88d644556fd..9e48df55a19 100644 --- a/htdocs/langs/th_TH/ticket.lang +++ b/htdocs/langs/th_TH/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=โครงการ TicketTypeShortOTHER=อื่น ๆ @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=อ่าน Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=ที่รอ Closed=ปิด @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=กลุ่ม +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/th_TH/users.lang b/htdocs/langs/th_TH/users.lang index d67563b1b1c..a74e78828a5 100644 --- a/htdocs/langs/th_TH/users.lang +++ b/htdocs/langs/th_TH/users.lang @@ -97,8 +97,8 @@ LoginToCreate=เข้าสู่ระบบที่จะสร้าง NameToCreate=ชื่อของบุคคลที่สามในการสร้าง YourRole=บทบาทของคุณ YourQuotaOfUsersIsReached=โควต้าของคุณของผู้ใช้ที่ใช้งานถึง! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=เพียง superadmin สามารถปรับลด superadmin HierarchicalResponsible=ผู้ดูแล HierarchicView=มุมมองลำดับชั้น diff --git a/htdocs/langs/th_TH/website.lang b/htdocs/langs/th_TH/website.lang index a33a6c95dca..ac753fb4c7b 100644 --- a/htdocs/langs/th_TH/website.lang +++ b/htdocs/langs/th_TH/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=หน้า -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 66a16a06ae5..9b954487839 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -53,6 +53,7 @@ InternalUser=İç kullanıcı ExternalUser=Dış kullanıcı InternalUsers=İç kullanıcılar ExternalUsers=Dış kullanıcılar +UserInterface=User interface GUISetup=Ekran SetupArea=Ayarlar UploadNewTemplate=Yeni şablon(lar) yükleyin @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL fonksiyonları PHP nizde mevcut değildir DownloadMoreSkins=Daha fazla kaplama indirin SimpleNumRefModelDesc=Referans numarasını% yyyyaa-nnnn biçiminde döndürür; burada yy yıl, aa ay ve nnnn sıfırlama olmadan sıralı otomatik artan bir sayıdır SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Adreslerle profesyonel kimliği göster -ShowVATIntaInAddress=Adreslerde Vergi numarasını gizle +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Kısmi çeviri MAIN_DISABLE_METEO=Meteorolojik görünümü devre dışı bırak MeteoStdMod=Standart mod @@ -1778,7 +1779,7 @@ ClickToDialSetup=TıklaAra modülü kurulumu ClickToDialUrlDesc=Telefon picto tıklandığında URL aranır. URL’de, aranacak kişinin telefon numarasıyla değiştirilecek
__PHONETO__ etiketleri kullanabilirsiniz
__PHONEFROM__ bu aramanın telefon numarasıyla değiştirilir kişi (sizinki)
__LOGIN__ tuşla arama ile değiştirilecek (kullanıcı kartında tanımlı)
__PASS__ tıklama-çevirme şifresiyle değiştirilecek (kullanıcıda tanımlı kartı). ClickToDialDesc=Bu modül, bir masaüstü bilgisayar kullanırken telefon numaralarını tıklanabilir bağlantılara dönüştürür. Bir tıklama numarayı arayacaktır. Bu, masaüstünüzde yazılım telefonu kullanırken veya SIP protokolüne dayalı bir CTI sistemi kullanırken telefon görüşmesini başlatmak için kullanılabilir. Not: Akıllı telefon kullanırken telefon numaraları her zaman tıklanabilir. ClickToDialUseTelLink=Telefon numaraları üzerinde yalnızca bir "tel:" linki kullan -ClickToDialUseTelLinkDesc=Kullanıcılarınızın tarayıcıyla aynı bilgisayarda bir yazılım telefonu veya yazılım arayüzü kuruluysa ve tarayıcınızda "tel:" ile başlayan bir bağlantıya tıkladığınızda arandığında bu yöntemi kullanın. Tam bir sunucu çözümüne ihtiyacınız varsa (yerel yazılım kurulumuna gerek yoktur), bunu "Hayır" olarak ayarlamanız ve sonraki alanı doldurmanız gerekir. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Satış Noktası CashDeskSetup=Satış Noktası modülü kurulumu @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=Kök dizininizde ortak programların yazılabilir dosyaları veya dizinleri bulunamadı (İyi) RecommendedValueIs=Önerilen: %s -NotRecommended=Not recommanded +Recommended=Önerilen +NotRecommended=Not recommended ARestrictedPath=Kısıtlı bir yol CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/tr_TR/banks.lang b/htdocs/langs/tr_TR/banks.lang index 33392145699..579e901c913 100644 --- a/htdocs/langs/tr_TR/banks.lang +++ b/htdocs/langs/tr_TR/banks.lang @@ -115,7 +115,7 @@ TransferTo=Kime TransferFromToDone=%s den %s nin %s %s ne bir transfer kaydedildi. CheckTransmitter=Gönderen ValidateCheckReceipt=Bu çek makbuzu doğrulansın mı? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Bu çek makbuzu silinsin mi? ConfirmDeleteCheckReceipt=Bu çek makbuzunu silmek istediğinizden emin misiniz? BankChecks=Banka çekleri diff --git a/htdocs/langs/tr_TR/boxes.lang b/htdocs/langs/tr_TR/boxes.lang index 54f28af256e..7be1e8540f5 100644 --- a/htdocs/langs/tr_TR/boxes.lang +++ b/htdocs/langs/tr_TR/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Tedarikçi Siparişleri: değiştirilen son BoxTitleLastModifiedCustomerBills=Müşteri Faturaları: değiştirilen son %s BoxTitleLastModifiedCustomerOrders=Müşteri Siparişleri: son değiştirilen %s BoxTitleLastModifiedPropals=Değiştirilen son %s teklif -BoxTitleLatestModifiedJobPositions=En son %s değiştirilmiş iş -BoxTitleLatestModifiedCandidatures=En son %s değiştirilmiş aday +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Müşteri faturaları ForCustomersOrders=Müşteri siparişleri ForProposals=Teklifler diff --git a/htdocs/langs/tr_TR/cashdesk.lang b/htdocs/langs/tr_TR/cashdesk.lang index 1f99e1ee669..8987db08445 100644 --- a/htdocs/langs/tr_TR/cashdesk.lang +++ b/htdocs/langs/tr_TR/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/tr_TR/deliveries.lang b/htdocs/langs/tr_TR/deliveries.lang index 9e7fe45cb1e..0bb2ba24e55 100644 --- a/htdocs/langs/tr_TR/deliveries.lang +++ b/htdocs/langs/tr_TR/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Alıcı ErrorStockIsNotEnough=Yeterli stok yok Shippable=Sevkedilebilir NonShippable=Sevkedilemez +ShowShippableStatus=Show shippable status ShowReceiving=Teslimat Fişini göster NonExistentOrder=Mevcut olmayan sipariş +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index 2364028dd00..3c5f5780afe 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/tr_TR/eventorganization.lang b/htdocs/langs/tr_TR/eventorganization.lang index a295bf90631..a11ed713d9f 100644 --- a/htdocs/langs/tr_TR/eventorganization.lang +++ b/htdocs/langs/tr_TR/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Etkinlik türü +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/tr_TR/exports.lang b/htdocs/langs/tr_TR/exports.lang index a909d78355e..b57587b63a8 100644 --- a/htdocs/langs/tr_TR/exports.lang +++ b/htdocs/langs/tr_TR/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Satır türü (0 = ürün, 1 = hizmet) FileWithDataToImport=İçe aktarılacak verileri içeren dosya FileToImport=İçe aktarılacak kaynak dosya FileMustHaveOneOfFollowingFormat=İçe aktarılacak dosya aşağıdaki formatlardan biri olmalıdır -DownloadEmptyExample=Şablon dosyasını alan içeriği bilgisiyle indir (* olanlar zorunlu alanlardır) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Kullanmak istediğiniz içe aktarma dosya biçimini, %s simgesine tıklayarak seçin... ChooseFileToImport=Dosyayı yükleyin ve daha sonra bu dosyayı kaynak içe aktarma dosyası olarak seçmek için %s simgesine tıklayın... SourceFileFormat=Kaynak dosya biçimi diff --git a/htdocs/langs/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index b7b2c338f16..0456df5b134 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Modülü yeniden yükle %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Kullanılamayan seçenekleri göster HideNotAvailableOptions=Kullanılamayan seçenekleri gizle ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/tr_TR/interventions.lang b/htdocs/langs/tr_TR/interventions.lang index f29757a0b21..0ef4a245b2c 100644 --- a/htdocs/langs/tr_TR/interventions.lang +++ b/htdocs/langs/tr_TR/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Müdahele satır süresi InterLineDesc=Müdahele satır açıklaması RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Yeniden aç +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/tr_TR/productbatch.lang b/htdocs/langs/tr_TR/productbatch.lang index e59b4b50a32..33b40f9dd5b 100644 --- a/htdocs/langs/tr_TR/productbatch.lang +++ b/htdocs/langs/tr_TR/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Çift ürün/parti için hareket günlüğünü göster StockDetailPerBatch=Parti başına stok detayı SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index d8b6348e453..8fc25d0e9ab 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Her müşteri için farklı fiyatlar PriceCatalogue=Her ürün/hizmet için tek bir satış fiyatı PricingRule=Satış fiyatları için kurallar AddCustomerPrice=Müşteriye göre fiyat ekle -ForceUpdateChildPriceSoc=Müşterinin ortaklılarına aynı fiyatı uygula +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Önceki müşteri fiyatlarının kaydı MinimumPriceLimit=En düşük fiyat bundan düşük olamaz %s MinimumRecommendedPrice=Önerilen en düşük fiyat: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Ana değişimde stok Arttır/Eksilt ComposedProduct=Alt ürün MinSupplierPrice=Minimum alış fiyatı MinCustomerPrice=Minimum satış fiyatı +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dinamik fiyat yapılandırması DynamicPriceDesc=Müşteri veya Tedarikçi fiyatlarını hesaplamak için matematiksel formüller tanımlayabilirsiniz. Bu formüller tüm matematiksel operatörleri, bazı sabitleri ve değişkenleri kullanabilir. Burada kullanmak istediğiniz değişkenleri tanımayabilirsiniz. Eğer değişkenin otomatik olarak güncellenmesi gerekiyorsa, Dolibarr'ın bu değeri otomatik olarak güncellemesini sağlamak için harici URL tanımlayabilirsiniz. AddVariable=Değişken ekle diff --git a/htdocs/langs/tr_TR/salaries.lang b/htdocs/langs/tr_TR/salaries.lang index 59da3ded507..38d2580a787 100644 --- a/htdocs/langs/tr_TR/salaries.lang +++ b/htdocs/langs/tr_TR/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Kullanıcı üçüncü tarafları için kullanılan muhasebe hesabı SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Ücret ödemeleri için varsayılan muhasebe hesabı +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Ücret Salaries=Ücretler -NewSalaryPayment=Yeni ücret ödemesi +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Maaş ödemesi ekle SalaryPayment=Ücret ödemesi SalariesPayments=Ücret ödemeleri +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Ücret ödemesi göster THM=Ortalama saat ücreti TJM=Ortalama günlük ücret CurrentSalary=Güncel maaş THMDescription=Bu değer, eğer Proje modülü kullanılıyorsa kullanıcılar tarafından girilen bir projede harcanan zamanın maliyetini hesaplamak için kullanılabilir TJMDescription=Bu değer şu anda yalnızca bilgi amaçlıdır ve herhangi bir hesaplama için kullanılmaz -LastSalaries=Son %s maaş ödemeleri -AllSalaries=Tüm maaş ödemeleri +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Maaş istatistikleri -# Export SalariesAndPayments=Maaşlar ve ödemeler +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/tr_TR/ticket.lang b/htdocs/langs/tr_TR/ticket.lang index e2535207a54..051e4afd181 100644 --- a/htdocs/langs/tr_TR/ticket.lang +++ b/htdocs/langs/tr_TR/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Destek Bildirimi - Çözüm TicketTypeShortCOM=Ticari soru TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Proje TicketTypeShortOTHER=Diğer @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Atanan kullanıcı TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=Dış iştirakçi -OriginEmail=E-posta kaynağı +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Destek bildirimini e-posta ile gönderil # Status Read=Okundu Assigned=Atanan InProgress=Devam etmekte -NeedMoreInformation=Bilgi bekleniyor +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Cevaplandı Waiting=Bekliyor Closed=Kapalı @@ -160,7 +162,7 @@ CreatedBy=Oluşturan NewTicket=Yeni destek bildirimi SubjectAnswerToTicket=Destek bildirimi cevabı TicketTypeRequest=İstek türü -TicketCategory=Grup +TicketCategory=Ticket categorization SeeTicket=Destek bildirimini gör TicketMarkedAsRead=Destek bildirimi okundu olarak işaretlendi TicketReadOn=Okumaya devam et @@ -211,6 +213,7 @@ TicketMessageHelp=Destek bildirimi kartı üzerindeki mesaj listesinde sadece bu TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Kişilerin destek bildirimleri TicketDocumentsLinked=Destek bildirimine bağlı dokümanlar ConfirmReOpenTicket=Bu destek bildirimini yeniden açmayı onaylıyor musunuz? diff --git a/htdocs/langs/tr_TR/users.lang b/htdocs/langs/tr_TR/users.lang index c7f0e909b21..87b11dccf85 100644 --- a/htdocs/langs/tr_TR/users.lang +++ b/htdocs/langs/tr_TR/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Oluşturulacak kullanıcı adı NameToCreate=Oluşturulacak Üçüncü Parti Adı YourRole=Sizin rolünüz YourQuotaOfUsersIsReached=Aktif kullanıcı kotanıza ulaşıldı! -NbOfUsers=Kullanıcı sayısı -NbOfPermissions=İzinlerin sayısı +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Yalnızca bir SuperAdmin, bir SuperAdmin’inin derecesini düşürebilir HierarchicalResponsible=Yönetici HierarchicView=Sıradüzeni Görünümü diff --git a/htdocs/langs/tr_TR/website.lang b/htdocs/langs/tr_TR/website.lang index 91241e7e615..a5f17ffa5b5 100644 --- a/htdocs/langs/tr_TR/website.lang +++ b/htdocs/langs/tr_TR/website.lang @@ -31,7 +31,7 @@ AddWebsite=Web sitesi ekle Webpage=Web sayfası/kapsayıcı AddPage=Sayfa/kapsayıcı ekle PageContainer=Sayfa -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=İstenen %s kimlik numaralı sayfa henüz bir içeriğe sahip değil, önbellek dosyası .tpl.php kaldırıldı. Bu sorunu çözmek için sayfa içeriğini düzenleyin. SiteDeleted='%s' web sitesi silindi PageContent=Sayfa/Kapsayıcı diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index 4489f4f66a8..79742de6191 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -53,6 +53,7 @@ InternalUser=Внутрішній користувач ExternalUser=Зовнішній користувач InternalUsers=Внутрішні користувачі ExternalUsers=Зовнішні користувачі +UserInterface=User interface GUISetup=Зовнішній вигляд SetupArea=Налаштування UploadNewTemplate=Завантажити новий шаблон(и) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Рекомендована +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/uk_UA/banks.lang b/htdocs/langs/uk_UA/banks.lang index 40801051935..98a3d502087 100644 --- a/htdocs/langs/uk_UA/banks.lang +++ b/htdocs/langs/uk_UA/banks.lang @@ -115,7 +115,7 @@ TransferTo=Покупець TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Відправник ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/uk_UA/boxes.lang b/htdocs/langs/uk_UA/boxes.lang index d61c1c309f0..f89b0b60395 100644 --- a/htdocs/langs/uk_UA/boxes.lang +++ b/htdocs/langs/uk_UA/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Рахунки-фактури покупців ForCustomersOrders=Замовлення клієнтів ForProposals=Пропозиції diff --git a/htdocs/langs/uk_UA/cashdesk.lang b/htdocs/langs/uk_UA/cashdesk.lang index e6fad46fd10..8630dee62ee 100644 --- a/htdocs/langs/uk_UA/cashdesk.lang +++ b/htdocs/langs/uk_UA/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/uk_UA/deliveries.lang b/htdocs/langs/uk_UA/deliveries.lang index e285559f004..590ee2a0dfe 100644 --- a/htdocs/langs/uk_UA/deliveries.lang +++ b/htdocs/langs/uk_UA/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/uk_UA/eventorganization.lang b/htdocs/langs/uk_UA/eventorganization.lang index 1164a61e175..fa5536fe20a 100644 --- a/htdocs/langs/uk_UA/eventorganization.lang +++ b/htdocs/langs/uk_UA/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/uk_UA/exports.lang b/htdocs/langs/uk_UA/exports.lang index e075edfbcbe..317badfbf30 100644 --- a/htdocs/langs/uk_UA/exports.lang +++ b/htdocs/langs/uk_UA/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/uk_UA/interventions.lang b/htdocs/langs/uk_UA/interventions.lang index 69872dae7de..3f9dd22d33d 100644 --- a/htdocs/langs/uk_UA/interventions.lang +++ b/htdocs/langs/uk_UA/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/uk_UA/productbatch.lang b/htdocs/langs/uk_UA/productbatch.lang index 57dcb3fe2ff..4a0eb78d026 100644 --- a/htdocs/langs/uk_UA/productbatch.lang +++ b/htdocs/langs/uk_UA/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index fab11e7d273..7977dd1f9bd 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/uk_UA/salaries.lang b/htdocs/langs/uk_UA/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/uk_UA/salaries.lang +++ b/htdocs/langs/uk_UA/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/uk_UA/ticket.lang b/htdocs/langs/uk_UA/ticket.lang index 6c7acc8f632..e6c26245057 100644 --- a/htdocs/langs/uk_UA/ticket.lang +++ b/htdocs/langs/uk_UA/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Комерційне питання TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Інший @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Прочитані Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Зачинено @@ -160,7 +162,7 @@ CreatedBy=Створено NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/uk_UA/users.lang b/htdocs/langs/uk_UA/users.lang index 0a4004b0e10..3100ad97798 100644 --- a/htdocs/langs/uk_UA/users.lang +++ b/htdocs/langs/uk_UA/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/uk_UA/website.lang b/htdocs/langs/uk_UA/website.lang index bfd4eccde1e..e4240d8f2ff 100644 --- a/htdocs/langs/uk_UA/website.lang +++ b/htdocs/langs/uk_UA/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/uz_UZ/accountancy.lang b/htdocs/langs/uz_UZ/accountancy.lang index 50b67af85d2..dfe94e2a6a4 100644 --- a/htdocs/langs/uz_UZ/accountancy.lang +++ b/htdocs/langs/uz_UZ/accountancy.lang @@ -1,5 +1,5 @@ # Dolibarr language file - en_US - Accountancy (Double entries) -Accountancy=Accountancy +Accountancy=Buxgalteriya Accounting=Accounting ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file ACCOUNTING_EXPORT_DATE=Date format for export file @@ -10,14 +10,14 @@ ACCOUNTING_EXPORT_AMOUNT=Eksport miqdori ACCOUNTING_EXPORT_DEVISE=Valyutani eksport qilish Selectformat=Select the format for the file ACCOUNTING_EXPORT_FORMAT=Select the format for the file -ACCOUNTING_EXPORT_ENDLINE=Select the carriage return type +ACCOUNTING_EXPORT_ENDLINE=Vagonni qaytarish turini tanlang ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name ThisService=Ushbu xizmat ThisProduct=Ushbu mahsulot DefaultForService=Xizmat uchun standart DefaultForProduct=Mahsulot uchun standart -ProductForThisThirdparty=Product for this thirdparty -ServiceForThisThirdparty=Service for this thirdparty +ProductForThisThirdparty=Ushbu uchinchi tomon uchun mahsulot +ServiceForThisThirdparty=Ushbu uchinchi tomon uchun xizmat CantSuggest=Taklif qila olmayman AccountancySetupDoneFromAccountancyMenu=Buxgalteriya hisobining ko'pgina sozlamalari %s menyusida amalga oshiriladi ConfigAccountingExpert=Modulni hisobga olish konfiguratsiyasi (ikki martalik yozuv) @@ -26,37 +26,38 @@ Journals=Journals JournalFinancial=Financial journals BackToChartofaccounts=Return chart of accounts Chartofaccounts=Hisob-kitoblar rejasi -ChartOfSubaccounts=Chart of individual accounts -ChartOfIndividualAccountsOfSubsidiaryLedger=Chart of individual accounts of the subsidiary ledger +ChartOfSubaccounts=Shaxsiy hisobvaraqlar rejasi +ChartOfIndividualAccountsOfSubsidiaryLedger=Yordamchi daftarning individual hisobvaraqlar rejasi CurrentDedicatedAccountingAccount=Joriy ajratilgan hisob AssignDedicatedAccountingAccount=Tayinlash uchun yangi hisob InvoiceLabel=Hisob-faktura yorlig'i OverviewOfAmountOfLinesNotBound=Buxgalteriya hisobi bilan bog'liq bo'lmagan satrlar miqdoriga umumiy nuqtai OverviewOfAmountOfLinesBound=Buxgalteriya hisobi bilan bog'langan chiziqlar miqdoriga umumiy nuqtai OtherInfo=Boshqa ma'lumotlar -DeleteCptCategory=Remove accounting account from group -ConfirmDeleteCptCategory=Are you sure you want to remove this accounting account from the accounting account group? -JournalizationInLedgerStatus=Status of journalization -AlreadyInGeneralLedger=Already transferred in accounting journals and ledger -NotYetInGeneralLedger=Not yet transferred in accouting journals and ledger -GroupIsEmptyCheckSetup=Group is empty, check setup of the personalized accounting group -DetailByAccount=Show detail by account -AccountWithNonZeroValues=Accounts with non-zero values -ListOfAccounts=List of accounts -CountriesInEEC=Countries in EEC -CountriesNotInEEC=Countries not in EEC -CountriesInEECExceptMe=Countries in EEC except %s -CountriesExceptMe=All countries except %s -AccountantFiles=Export source documents -ExportAccountingSourceDocHelp=With this tool, you can export the source events (list and PDFs) that were used to generate your accountancy. To export your journals, use the menu entry %s - %s. -VueByAccountAccounting=View by accounting account -VueBySubAccountAccounting=View by accounting subaccount +DeleteCptCategory=Buxgalteriya hisobini guruhdan olib tashlang +ConfirmDeleteCptCategory=Ushbu buxgalteriya hisobini buxgalteriya hisobi guruhidan olib tashlamoqchimisiz? +JournalizationInLedgerStatus=Jurnalizatsiya holati +AlreadyInGeneralLedger=Buxgalteriya jurnallarida va daftarchada allaqachon topshirilgan +NotYetInGeneralLedger=Hisoblash jurnallari va daftarchasiga hali topshirilmagan +GroupIsEmptyCheckSetup=Guruh bo'sh, shaxsiylashtirilgan buxgalteriya guruhini sozlashni tekshiring +DetailByAccount=Hisob bo'yicha tafsilotlarni ko'rsatish +AccountWithNonZeroValues=Nolga teng bo'lmagan qiymatlar bilan hisob-kitoblar +ListOfAccounts=Hisob-kitoblar ro'yxati +CountriesInEEC=EEC tarkibidagi mamlakatlar +CountriesNotInEEC=EEC tarkibiga kirmagan mamlakatlar +CountriesInEECExceptMe=%s dan tashqari EECdagi mamlakatlar +CountriesExceptMe=%s dan tashqari barcha mamlakatlar +AccountantFiles=Dastlabki hujjatlarni eksport qilish +ExportAccountingSourceDocHelp=Ushbu vosita yordamida siz buxgalteriya hisobini yaratish uchun foydalanilgan manba hodisalarini (CSV va PDF-lardagi ro'yxat) eksport qilishingiz mumkin. +ExportAccountingSourceDocHelp2=Jurnallaringizni eksport qilish uchun %s - %s menyu yozuvidan foydalaning. +VueByAccountAccounting=Buxgalteriya hisobi bo'yicha ko'rish +VueBySubAccountAccounting=Buxgalteriya subkontaji bo'yicha ko'rish -MainAccountForCustomersNotDefined=Main accounting account for customers not defined in setup -MainAccountForSuppliersNotDefined=Main accounting account for vendors not defined in setup -MainAccountForUsersNotDefined=Main accounting account for users not defined in setup -MainAccountForVatPaymentNotDefined=Main accounting account for VAT payment not defined in setup -MainAccountForSubscriptionPaymentNotDefined=Main accounting account for subscription payment not defined in setup +MainAccountForCustomersNotDefined=O'rnatishda aniqlanmagan mijozlar uchun asosiy buxgalteriya hisobi +MainAccountForSuppliersNotDefined=O'rnatishda aniqlanmagan sotuvchilar uchun asosiy buxgalteriya hisobi +MainAccountForUsersNotDefined=O'rnatishda aniqlanmagan foydalanuvchilar uchun asosiy buxgalteriya hisobi +MainAccountForVatPaymentNotDefined=O'rnatishda aniqlanmagan QQSni to'lash uchun asosiy buxgalteriya hisobi +MainAccountForSubscriptionPaymentNotDefined=O'rnatishda aniqlanmagan obuna to'lovining asosiy buxgalteriya hisobi AccountancyArea=Buxgalteriya hisobi maydoni AccountancyAreaDescIntro=Buxgalteriya modulidan foydalanish bir necha bosqichda amalga oshiriladi: @@ -64,66 +65,66 @@ AccountancyAreaDescActionOnce=Quyidagi harakatlar odatda faqat bir marta yoki yi AccountancyAreaDescActionOnceBis=Kelgusida sizning vaqtingizni tejash uchun jurnalistikani rasmiylashtirishda to'g'ri sukut bo'yicha buxgalteriya hisobini taklif qilish orqali (Jurnallarda va Bosh daftarda yozuvlarni yozish) taklif qilish kerak. AccountancyAreaDescActionFreq=Quyidagi harakatlar odatda har oyda, haftada yoki kunda juda katta kompaniyalar uchun amalga oshiriladi ... -AccountancyAreaDescJournalSetup=STEP %s: Create or check content of your journal list from menu %s +AccountancyAreaDescJournalSetup=QADAM %s: %s menyusidan jurnallar ro'yxatining tarkibini yarating yoki tekshiring. AccountancyAreaDescChartModel=QADAM %s: hisob jadvalining modeli mavjudligini tekshiring yoki menyudan %s yarating. AccountancyAreaDescChart=QADAM %s: tanlang va | yoki hisob qaydnomangizni %s menyusidan to'ldiring. AccountancyAreaDescVat=QADAM %s: har bir QQS stavkasi bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. -AccountancyAreaDescDefault=STEP %s: Define default accounting accounts. For this, use the menu entry %s. +AccountancyAreaDescDefault=QADAM %s: sukut bo'yicha buxgalteriya hisoblarini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescExpenseReport=QADAM %s: har bir hisobot turi bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescSal=QADAM %s: Ish haqini to'lash bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescContrib=QADAM %s: Maxsus xarajatlar (turli xil soliqlar) bo'yicha buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescDonation=QADAM %s: xayr-ehson uchun buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. -AccountancyAreaDescSubscription=STEP %s: Define default accounting accounts for member subscription. For this, use the menu entry %s. +AccountancyAreaDescSubscription=QADAM %s: a'zo obuna uchun buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescMisc=QADAM %s: Turli xil operatsiyalar uchun majburiy sukut qaydnomasi va buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescLoan=QADAM %s: ssudalar bo'yicha ssudalarning buxgalteriya hisobini belgilang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescBank=QADAM %s: har bir bank va moliyaviy hisob uchun buxgalteriya hisobi va jurnal kodini aniqlang. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescProd=QADAM %s: Mahsulotlaringiz / xizmatlaringiz bo'yicha buxgalteriya hisoblarini aniqlang. Buning uchun %s menyu yozuvidan foydalaning. -AccountancyAreaDescBind=STEP %s: Check the binding between existing %s lines and accounting account is done, so application will be able to journalize transactions in Ledger in one click. Complete missing bindings. For this, use the menu entry %s. +AccountancyAreaDescBind=QADAM %s: mavjud %s satrlari bilan buxgalteriya hisobi o'rtasidagi bog'lanishni tekshiring, shuning uchun dastur bir marta bosish bilan Ledger-dagi operatsiyalarni jurnalga yozib olish imkoniyatiga ega bo'ladi. To'liq etishmayotgan birikmalar. Buning uchun %s menyu yozuvidan foydalaning. AccountancyAreaDescWriteRecords=QADAM %s: operatsiyalarni kitobga yozing. Buning uchun %s menyusiga o'ting va %s tugmachasini bosing. AccountancyAreaDescAnalyze=QADAM %s: Mavjud operatsiyalarni qo'shish yoki tahrirlash, hisobotlar va eksportlarni yaratish. AccountancyAreaDescClosePeriod=QADAM %s: Yopish davri, shuning uchun kelajakda o'zgartirishlar kiritolmaymiz. -TheJournalCodeIsNotDefinedOnSomeBankAccount=A mandatory step in setup has not been completed (accounting code journal not defined for all bank accounts) +TheJournalCodeIsNotDefinedOnSomeBankAccount=O'rnatishning majburiy bosqichi tugallanmagan (buxgalteriya kodlari jurnali barcha bank hisoblari uchun aniqlanmagan) Selectchartofaccounts=Faol hisobvaraqlar rejasini tanlang ChangeAndLoad=O'zgartirish va yuklash Addanaccount=Add an accounting account AccountAccounting=Accounting account AccountAccountingShort=Account -SubledgerAccount=Subledger account -SubledgerAccountLabel=Subledger account label -ShowAccountingAccount=Show accounting account -ShowAccountingJournal=Show accounting journal -ShowAccountingAccountInLedger=Show accounting account in ledger -ShowAccountingAccountInJournals=Show accounting account in journals +SubledgerAccount=Subledger hisobi +SubledgerAccountLabel=Subledger hisobvarag'ining yorlig'i +ShowAccountingAccount=Buxgalteriya hisobini ko'rsatish +ShowAccountingJournal=Buxgalteriya jurnalini ko'rsatish +ShowAccountingAccountInLedger=Buxgalteriya hisobini daftarda ko'rsatish +ShowAccountingAccountInJournals=Buxgalteriya hisobini jurnallarda ko'rsatish AccountAccountingSuggest=Buxgalteriya hisobi tavsiya etildi MenuDefaultAccounts=Standart hisoblar -MenuBankAccounts=Bank accounts +MenuBankAccounts=Bank hisobvaraqlari MenuVatAccounts=QQS hisob-kitoblari MenuTaxAccounts=Soliq hisobvaraqlari MenuExpenseReportAccounts=Xarajatlar bo'yicha hisobotlar MenuLoanAccounts=Kredit hisobvaraqlari MenuProductsAccounts=Mahsulot hisoblari -MenuClosureAccounts=Closure accounts -MenuAccountancyClosure=Closure -MenuAccountancyValidationMovements=Validate movements +MenuClosureAccounts=Yopish hisoblari +MenuAccountancyClosure=Yopish +MenuAccountancyValidationMovements=Harakatlarni tasdiqlang ProductsBinding=Mahsulotlar hisoblari -TransferInAccounting=Transfer in accounting -RegistrationInAccounting=Registration in accounting -Binding=Binding to accounts +TransferInAccounting=Buxgalteriya hisobiga o'tkazish +RegistrationInAccounting=Buxgalteriyada ro'yxatdan o'tish +Binding=Hisobvaraqlar uchun majburiy CustomersVentilation=Xaridorlarning hisob-fakturasi majburiy SuppliersVentilation=Sotuvchi hisob-fakturasini majburiy ravishda to'ldirish ExpenseReportsVentilation=Xarajatlar to'g'risidagi hisobotni majburiy ravishda bajarish CreateMvts=Yangi tranzaksiya yarating UpdateMvts=Bitimni o'zgartirish -ValidTransaction=Validate transaction +ValidTransaction=Bitimni tasdiqlash WriteBookKeeping=Buxgalteriya hisobidagi operatsiyalarni ro'yxatdan o'tkazing Bookkeeping=Kitob BookkeepingSubAccount=Subledger AccountBalance=Hisob balansi -ObjectsRef=Source object ref +ObjectsRef=Manba ob'ekti ref CAHTF=Soliqqa qadar jami sotib olish sotuvchisi TotalExpenseReport=Jami xarajatlar hisoboti InvoiceLines=Yopish uchun schyot-fakturalar @@ -131,7 +132,7 @@ InvoiceLinesDone=Hisob-fakturalarning chegaralangan chiziqlari ExpenseReportLines=Bog'lanish uchun xarajatlar hisobotlari qatorlari ExpenseReportLinesDone=Xarajatlar to'g'risidagi hisobotlarning chegaralangan chiziqlari IntoAccount=Buxgalteriya hisobi bilan bog'lanish -TotalForAccount=Total accounting account +TotalForAccount=Jami buxgalteriya hisobi Ventilate=Bog'lash @@ -157,69 +158,69 @@ ACCOUNTING_LENGTH_GACCOUNT=Umumiy buxgalteriya hisoblarining uzunligi (Agar siz ACCOUNTING_LENGTH_AACCOUNT=Uchinchi tomon buxgalteriya hisoblarining uzunligi (Agar siz bu erda 6 qiymatini belgilasangiz, '401' qaydnomasi ekranda '401000' kabi ko'rinadi) ACCOUNTING_MANAGE_ZERO=Buxgalteriya hisobi oxirida turli xil nollarni boshqarishga ruxsat bering. Ba'zi mamlakatlar tomonidan kerak (masalan, Shveytsariya). Agar o'chirilgan (standart) bo'lsa, siz dasturdan virtual nollarni qo'shishni so'rash uchun quyidagi ikkita parametrni o'rnatishingiz mumkin. BANK_DISABLE_DIRECT_INPUT=Bank hisobvarag'idagi operatsiyani to'g'ridan-to'g'ri yozib olishni o'chirib qo'ying -ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Enable draft export on journal -ACCOUNTANCY_COMBO_FOR_AUX=Enable combo list for subsidiary account (may be slow if you have a lot of third parties, break ability to search on a part of value) -ACCOUNTING_DATE_START_BINDING=Define a date to start binding & transfer in accountancy. Below this date, the transactions will not be transferred to accounting. -ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=On accountancy transfer, select period show by default +ACCOUNTING_ENABLE_EXPORT_DRAFT_JOURNAL=Jurnalda qoralama eksportni yoqish +ACCOUNTANCY_COMBO_FOR_AUX=Yordamchi hisob uchun kombinatsiyalangan ro'yxatni yoqish (agar sizda uchinchi shaxslar ko'p bo'lsa, sekin bo'lishi mumkin, qiymatning bir qismini qidirish qobiliyati buziladi) +ACCOUNTING_DATE_START_BINDING=Buxgalteriyada majburiy va o'tkazishni boshlash uchun sanani aniqlang. Ushbu sana ostida operatsiyalar buxgalteriya hisobiga o'tkazilmaydi. +ACCOUNTING_DEFAULT_PERIOD_ON_TRANSFER=Buxgalteriya o'tkazmalarida sukut bo'yicha davr ko'rsatilishini tanlang ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal -ACCOUNTING_HAS_NEW_JOURNAL=Has new Journal +ACCOUNTING_HAS_NEW_JOURNAL=Yangi jurnal mavjud -ACCOUNTING_RESULT_PROFIT=Result accounting account (Profit) -ACCOUNTING_RESULT_LOSS=Result accounting account (Loss) -ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Journal of closure +ACCOUNTING_RESULT_PROFIT=Natija buxgalteriya hisobi (foyda) +ACCOUNTING_RESULT_LOSS=Natija buxgalteriya hisobi (Zarar) +ACCOUNTING_CLOSURE_DEFAULT_JOURNAL=Yopish jurnali ACCOUNTING_ACCOUNT_TRANSFER_CASH=O'tish davri o'tkazmalarining buxgalteriya hisobi -TransitionalAccount=Transitional bank transfer account +TransitionalAccount=O'tkazma hisobvarag'i ACCOUNTING_ACCOUNT_SUSPENSE=Kutishning buxgalteriya hisobi DONATION_ACCOUNTINGACCOUNT=Xayriya mablag'larini ro'yxatdan o'tkazish uchun buxgalteriya hisobi -ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Accounting account to register subscriptions +ADHERENT_SUBSCRIPTION_ACCOUNTINGACCOUNT=Obunalarni ro'yxatdan o'tkazish uchun buxgalteriya hisobi -ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Accounting account by default to register customer deposit +ACCOUNTING_ACCOUNT_CUSTOMER_DEPOSIT=Mijozlar depozitini ro'yxatdan o'tkazish uchun sukut bo'yicha buxgalteriya hisobi ACCOUNTING_PRODUCT_BUY_ACCOUNT=Xarid qilingan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) -ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=Accounting account by default for the bought products in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought products and imported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_BUY_INTRA_ACCOUNT=EECda sotib olingan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_PRODUCT_BUY_EXPORT_ACCOUNT=Sotib olingan va EECdan tashqariga olib kirilgan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa) ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Sotilgan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) -ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=Accounting account by default for the products sold in EEC (used if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=Accounting account by default for the products sold and exported out of EEC (used if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_INTRA_ACCOUNT=EECda sotilgan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_PRODUCT_SOLD_EXPORT_ACCOUNT=EECdan tashqarida sotilgan va eksport qilingan mahsulotlar uchun sukut bo'yicha buxgalteriya hisobi (agar mahsulot varag'ida belgilanmagan bo'lsa) ACCOUNTING_SERVICE_BUY_ACCOUNT=Sotib olingan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) -ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=Accounting account by default for the bought services in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Accounting account by default for the bought services and imported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_BUY_INTRA_ACCOUNT=EECda sotib olingan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_SERVICE_BUY_EXPORT_ACCOUNT=Sotib olingan va EECdan tashqariga olib kirilgan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida ko'rsatilmagan bo'lsa) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Sotilgan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) -ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=Accounting account by default for the services sold in EEC (used if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=Accounting account by default for the services sold and exported out of EEC (used if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_INTRA_ACCOUNT=EECda sotilgan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa foydalaniladi) +ACCOUNTING_SERVICE_SOLD_EXPORT_ACCOUNT=EECdan tashqarida sotilgan va eksport qilingan xizmatlar uchun sukut bo'yicha buxgalteriya hisobi (agar xizmat varag'ida belgilanmagan bo'lsa) Doctype=Type of document Docdate=Date Docref=Reference LabelAccount=Label account -LabelOperation=Label operation +LabelOperation=Yorliq bilan ishlash Sens=Yo'nalish -AccountingDirectionHelp=For an accounting account of a customer, use Credit to record a payment you have received
For an accounting account of a supplier, use Debit to record a payment you made -LetteringCode=Lettering code -Lettering=Lettering +AccountingDirectionHelp=Mijozning buxgalteriya hisobi uchun siz olgan to'lovni yozish uchun Kreditdan foydalaning. +LetteringCode=Harf kodi +Lettering=Xat Codejournal=Journal -JournalLabel=Journal label +JournalLabel=Jurnal yorlig'i NumPiece=Parcha raqami TransactionNumShort=Raqam bitim AccountingCategory=Maxsus guruh GroupByAccountAccounting=Bosh kitob schyoti bo'yicha guruhlash -GroupBySubAccountAccounting=Group by subledger account -AccountingAccountGroupsDesc=You can define here some groups of accounting account. They will be used for personalized accounting reports. -ByAccounts=By accounts -ByPredefinedAccountGroups=By predefined groups -ByPersonalizedAccountGroups=By personalized groups -ByYear=By year +GroupBySubAccountAccounting=Subledger schyoti bo'yicha guruhlash +AccountingAccountGroupsDesc=Siz bu erda buxgalteriya hisobining ayrim guruhlarini belgilashingiz mumkin. Ular shaxsiylashtirilgan buxgalteriya hisobotlari uchun ishlatiladi. +ByAccounts=Hisob-kitoblar bo'yicha +ByPredefinedAccountGroups=Oldindan belgilangan guruhlar bo'yicha +ByPersonalizedAccountGroups=Shaxsiylashtirilgan guruhlar bo'yicha +ByYear=Yil bo'yicha NotMatch=O'rnatilmagan DeleteMvt=Buxgalteriya hisobidan ba'zi operatsion liniyalarni o'chirib tashlang -DelMonth=Month to delete +DelMonth=O'chirish uchun oy DelYear=O'chirish yili DelJournal=O'chirish uchun jurnal ConfirmDeleteMvt=Bu yil / oy va / yoki ma'lum bir jurnal uchun buxgalteriya hisobining barcha operatsion yo'nalishlarini o'chirib tashlaydi (kamida bitta mezon talab qilinadi). O'chirilgan yozuvni daftarga qaytarish uchun '%s' xususiyatidan qayta foydalanishingiz kerak bo'ladi. @@ -239,26 +240,26 @@ NewAccountingMvt=Yangi bitim NumMvts=Bitim soni ListeMvts=Harakatlar ro'yxati ErrorDebitCredit=Debit and Credit cannot have a value at the same time -AddCompteFromBK=Add accounting accounts to the group +AddCompteFromBK=Guruhga buxgalteriya hisoblarini qo'shing ReportThirdParty=Uchinchi tomon hisoblarini ro'yxatlash DescThirdPartyReport=Uchinchi tomon mijozlari va sotuvchilari ro'yxati va ularning buxgalteriya hisoblari bilan bu erda maslahatlashing ListAccounts=List of the accounting accounts -UnknownAccountForThirdparty=Unknown third-party account. We will use %s -UnknownAccountForThirdpartyBlocking=Unknown third-party account. Blocking error -ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Third-party account not defined or third party unknown. We will use %s -ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=Third-party unknown and subledger not defined on the payment. We will keep the subledger account value empty. -ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Third-party account not defined or third party unknown. Blocking error. -UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Unknown third-party account and waiting account not defined. Blocking error -PaymentsNotLinkedToProduct=Payment not linked to any product / service -OpeningBalance=Opening balance -ShowOpeningBalance=Show opening balance -HideOpeningBalance=Hide opening balance -ShowSubtotalByGroup=Show subtotal by level +UnknownAccountForThirdparty=Uchinchi tomon hisobi noma'lum. Biz %s dan foydalanamiz +UnknownAccountForThirdpartyBlocking=Uchinchi tomon hisobi noma'lum. Bloklash xatosi +ThirdpartyAccountNotDefinedOrThirdPartyUnknown=Uchinchi tomon hisobi aniqlanmagan yoki uchinchi tomon noma'lum. Biz %s dan foydalanamiz +ThirdpartyAccountNotDefinedOrThirdPartyUnknownSubledgerIgnored=To'lovda aniqlanmagan uchinchi shaxs noma'lum va subledger. Biz subledger hisob qiymatini bo'sh holda saqlaymiz. +ThirdpartyAccountNotDefinedOrThirdPartyUnknownBlocking=Uchinchi tomon hisobi aniqlanmagan yoki uchinchi tomon noma'lum. Bloklash xatosi. +UnknownAccountForThirdpartyAndWaitingAccountNotDefinedBlocking=Noma'lum uchinchi tomon hisobi va kutish hisobi aniqlanmagan. Bloklash xatosi +PaymentsNotLinkedToProduct=To'lov hech qanday mahsulot / xizmatga bog'liq emas +OpeningBalance=Balansni ochish +ShowOpeningBalance=Dastlabki qoldiqni ko'rsating +HideOpeningBalance=Dastlabki qoldiqni yashirish +ShowSubtotalByGroup=Subtotalni daraja bo'yicha ko'rsatish Pcgtype=Hisob guruhi -PcgtypeDesc=Group of account are used as predefined 'filter' and 'grouping' criteria for some accounting reports. For example, 'INCOME' or 'EXPENSE' are used as groups for accounting accounts of products to build the expense/income report. +PcgtypeDesc=Hisob-kitoblar guruhi ba'zi buxgalteriya hisobotlari uchun oldindan belgilangan "filtr" va "guruhlash" mezonlari sifatida ishlatiladi. Masalan, "KIRISh" yoki "XARAJATLAR" xarajatlar / daromadlar to'g'risidagi hisobotni tuzish uchun mahsulotlarning buxgalteriya hisobi guruhlari sifatida ishlatiladi. -Reconcilable=Reconcilable +Reconcilable=Yarashtiriladigan TotalVente=Total turnover before tax TotalMarge=Total sales margin @@ -276,62 +277,62 @@ DescVentilExpenseReport=To'lovlarni hisobga olish hisobvarag'iga bog'langan (yok DescVentilExpenseReportMore=Agar siz buxgalteriya hisobini xarajatlar to'g'risidagi hisobot satrlari turiga o'rnatgan bo'lsangiz, ilova sizning hisob-kitoblar jadvalingizdagi buxgalteriya hisobi o'rtasidagi majburiylikni amalga oshirishi mumkin, faqat bir marta bosish orqali "%s" . Agar to'lovlar lug'atiga hisob o'rnatilmagan bo'lsa yoki sizda hali ham biron bir qayd bilan bog'lanmagan qatorlar mavjud bo'lsa, " %s " menyusidan majburiy ravishda majburiy amal qilishingiz kerak bo'ladi. DescVentilDoneExpenseReport=Xarajatlar hisobotlari ro'yxati va ularning to'lovlarini hisobga olish hisobi bilan bu erda maslahatlashing -Closure=Annual closure -DescClosure=Consult here the number of movements by month who are not validated & fiscal years already open -OverviewOfMovementsNotValidated=Step 1/ Overview of movements not validated. (Necessary to close a fiscal year) -AllMovementsWereRecordedAsValidated=All movements were recorded as validated -NotAllMovementsCouldBeRecordedAsValidated=Not all movements could be recorded as validated -ValidateMovements=Validate movements -DescValidateMovements=Any modification or deletion of writing, lettering and deletes will be prohibited. All entries for an exercise must be validated otherwise closing will not be possible +Closure=Yillik yopilish +DescClosure=Tasdiqlanmagan oylar bo'yicha harakatlarning soni va allaqachon ochilgan moliya yillari bilan bu erda maslahatlashing +OverviewOfMovementsNotValidated=1-qadam / harakatlarning umumiy ko'rinishi tasdiqlanmagan. (Moliyaviy yilni yopish uchun zarur) +AllMovementsWereRecordedAsValidated=Barcha harakatlar tasdiqlangan deb qayd etildi +NotAllMovementsCouldBeRecordedAsValidated=Barcha harakatlarni tasdiqlangan deb yozib bo'lmaydi +ValidateMovements=Harakatlarni tasdiqlang +DescValidateMovements=Yozishni, xatlarni va o'chirishni har qanday o'zgartirish yoki o'chirish taqiqlanadi. Jismoniy mashqlar uchun barcha yozuvlar tasdiqlanishi kerak, aks holda yopish mumkin bo'lmaydi ValidateHistory=Avtomatik bog'lash AutomaticBindingDone=Avtomatik ulanish amalga oshirildi ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used MvtNotCorrectlyBalanced=Harakat to'g'ri muvozanatlashtirilmagan. Debit = %s | Kredit = %s -Balancing=Balancing +Balancing=Balanslash FicheVentilation=Majburiy karta GeneralLedgerIsWritten=Bitimlar kitobda yozilgan GeneralLedgerSomeRecordWasNotRecorded=Ba'zi operatsiyalarni jurnalga yozib bo'lmaydi. Agar boshqa xato xabari bo'lmasa, bu ular allaqachon jurnalga yozilganligi sababli bo'lishi mumkin. NoNewRecordSaved=Jurnalizatsiya qilish uchun boshqa yozuv yo'q ListOfProductsWithoutAccountingAccount=Hech qanday buxgalteriya hisobiga bog'lanmagan mahsulotlar ro'yxati ChangeBinding=Majburiylikni o'zgartiring -Accounted=Accounted in ledger -NotYetAccounted=Not yet accounted in the ledger -ShowTutorial=Show Tutorial -NotReconciled=Not reconciled -WarningRecordWithoutSubledgerAreExcluded=Warning, all operations without subledger account defined are filtered and excluded from this view +Accounted=Hisob kitobida hisobga olingan +NotYetAccounted=Hisob kitobida hali hisobga olinmagan +ShowTutorial=Qo'llanmani ko'rsatish +NotReconciled=Yarashtirilmagan +WarningRecordWithoutSubledgerAreExcluded=Ogohlantirish, subledger hisobi aniqlanmagan barcha operatsiyalar filtrlanadi va ushbu ko'rinishdan chiqarib tashlanadi ## Admin -BindingOptions=Binding options +BindingOptions=Majburiy variantlar ApplyMassCategories=Ommaviy toifalarni qo'llang AddAccountFromBookKeepingWithNoCategories=Mavjud hisob hali moslashtirilgan guruhda emas CategoryDeleted=Buxgalteriya hisobi toifasi olib tashlandi -AccountingJournals=Accounting journals -AccountingJournal=Accounting journal -NewAccountingJournal=New accounting journal -ShowAccountingJournal=Show accounting journal -NatureOfJournal=Nature of Journal -AccountingJournalType1=Miscellaneous operations -AccountingJournalType2=Sales -AccountingJournalType3=Purchases +AccountingJournals=Buxgalteriya jurnallari +AccountingJournal=Buxgalteriya jurnali +NewAccountingJournal=Yangi buxgalteriya jurnali +ShowAccountingJournal=Buxgalteriya jurnalini ko'rsatish +NatureOfJournal=Jurnalning tabiati +AccountingJournalType1=Turli xil operatsiyalar +AccountingJournalType2=Sotish +AccountingJournalType3=Xaridlar AccountingJournalType4=Bank -AccountingJournalType5=Expenses report -AccountingJournalType8=Inventory -AccountingJournalType9=Has-new -ErrorAccountingJournalIsAlreadyUse=This journal is already use -AccountingAccountForSalesTaxAreDefinedInto=Note: Accounting account for Sales tax are defined into menu %s - %s -NumberOfAccountancyEntries=Number of entries -NumberOfAccountancyMovements=Number of movements -ACCOUNTING_DISABLE_BINDING_ON_SALES=Disable binding & transfer in accountancy on sales (customer invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Disable binding & transfer in accountancy on purchases (vendor invoices will not be taken into account in accounting) -ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Disable binding & transfer in accountancy on expense reports (expense reports will not be taken into account in accounting) +AccountingJournalType5=Xarajatlar to'g'risida hisobot +AccountingJournalType8=Inventarizatsiya +AccountingJournalType9=Yangi-yangi +ErrorAccountingJournalIsAlreadyUse=Ushbu jurnal allaqachon ishlatilgan +AccountingAccountForSalesTaxAreDefinedInto=Izoh: Sotish solig'i bo'yicha buxgalteriya hisobi %s - %s menyusida aniqlanadi +NumberOfAccountancyEntries=Yozuvlar soni +NumberOfAccountancyMovements=Harakatlar soni +ACCOUNTING_DISABLE_BINDING_ON_SALES=Sotish bo'yicha buxgalteriyada majburiy va o'tkazishni o'chirib qo'ying (mijozlar hisob-kitoblari buxgalteriya hisobida hisobga olinmaydi) +ACCOUNTING_DISABLE_BINDING_ON_PURCHASES=Xaridlar bo'yicha buxgalteriyada majburiy va o'tkazishni o'chirib qo'ying (sotuvchi hisob-kitoblari buxgalteriya hisobida hisobga olinmaydi) +ACCOUNTING_DISABLE_BINDING_ON_EXPENSEREPORTS=Xarajatlar hisobotlari bo'yicha buxgalteriyada majburiy va o'tkazishni o'chirib qo'ying (xarajatlar hisoboti buxgalteriya hisobida hisobga olinmaydi) ## Export -NotifiedExportDate=Notified export date (modification of the entries will not be possible) -NotifiedValidationDate=Validation of the entries (modification or deletion of the entries will not be possible) -ConfirmExportFile=Confirmation of the generation of the accounting export file ? -ExportDraftJournal=Export draft journal +NotifiedExportDate=Xabar qilingan eksport sanasi (yozuvlarni o'zgartirish mumkin bo'lmaydi) +NotifiedValidationDate=Yozuvlarni tasdiqlash (yozuvlarni o'zgartirish yoki o'chirish mumkin bo'lmaydi) +ConfirmExportFile=Buxgalteriya eksporti faylini yaratishni tasdiqlashmi? +ExportDraftJournal=Jurnal jurnalini eksport qiling Modelcsv=Model of export Selectmodelcsv=Select a model of export Modelcsv_normal=Classic export @@ -342,49 +343,49 @@ Modelcsv_ciel=Sage Ciel Compta yoki Compta Evolution uchun eksport Modelcsv_quadratus=Quadratus QuadraCompta uchun eksport Modelcsv_ebp=EBP uchun eksport Modelcsv_cogilog=Cogilog uchun eksport -Modelcsv_agiris=Export for Agiris -Modelcsv_LDCompta=Export for LD Compta (v9) (Test) -Modelcsv_LDCompta10=Export for LD Compta (v10 & higher) -Modelcsv_openconcerto=Export for OpenConcerto (Test) -Modelcsv_configurable=Export CSV Configurable -Modelcsv_FEC=Export FEC -Modelcsv_FEC2=Export FEC (With dates generation writing / document reversed) -Modelcsv_Sage50_Swiss=Export for Sage 50 Switzerland -Modelcsv_winfic=Export Winfic - eWinfic - WinSis Compta -Modelcsv_Gestinumv3=Export for Gestinum (v3) -Modelcsv_Gestinumv5Export for Gestinum (v5) +Modelcsv_agiris=Agiris uchun eksport +Modelcsv_LDCompta=LD Compta (v9) uchun eksport (sinov) +Modelcsv_LDCompta10=LD Compta uchun eksport (v10 va undan yuqori) +Modelcsv_openconcerto=OpenConcerto uchun eksport (Test) +Modelcsv_configurable=CSV konfiguratsiyasini eksport qilish +Modelcsv_FEC=FECni eksport qilish +Modelcsv_FEC2=FEC-ni eksport qilish (sanalarni yozish / hujjatni o'zgartirish bilan) +Modelcsv_Sage50_Swiss=Sage 50 uchun Shveytsariya uchun eksport +Modelcsv_winfic=Winfic - eWinfic - WinSis Compta-ni eksport qiling +Modelcsv_Gestinumv3=Gestinum uchun eksport (v3) +Modelcsv_Gestinumv5Export Gestinum uchun (v5) ChartofaccountsId=Hisob-kitoblar rejasi ## Tools - Init accounting account on product / service InitAccountancy=Buxgalteriya hisobi InitAccountancyDesc=Ushbu sahifada sotish va sotib olish uchun aniqlangan buxgalteriya hisobi bo'lmagan mahsulotlar va xizmatlar bo'yicha buxgalteriya hisobini boshlash uchun foydalanish mumkin. DefaultBindingDesc=Ushbu sahifada oldindan hisob-kitob hisobvarag'i o'rnatilmagan taqdirda, ish haqi, xayriya mablag'lari, soliqlar va QQS bo'yicha operatsiyalar yozuvlarini bog'lash uchun standart hisobni o'rnatish uchun foydalanish mumkin. -DefaultClosureDesc=This page can be used to set parameters used for accounting closures. +DefaultClosureDesc=Ushbu sahifadan buxgalteriya hisobini yopish uchun ishlatiladigan parametrlarni o'rnatish uchun foydalanish mumkin. Options=Variantlar OptionModeProductSell=Sotish rejimi -OptionModeProductSellIntra=Mode sales exported in EEC -OptionModeProductSellExport=Mode sales exported in other countries +OptionModeProductSellIntra=Tartibni sotish EECda eksport qilinadi +OptionModeProductSellExport=Boshqa mamlakatlarga eksport qilingan tartibli sotuvlar OptionModeProductBuy=Sotib olish tartibi -OptionModeProductBuyIntra=Mode purchases imported in EEC -OptionModeProductBuyExport=Mode purchased imported from other countries +OptionModeProductBuyIntra=EECga import qilingan rejimdagi xaridlar +OptionModeProductBuyExport=Boshqa mamlakatlardan sotib olingan rejim sotib olingan OptionModeProductSellDesc=Sotish bo'yicha buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. -OptionModeProductSellIntraDesc=Show all products with accounting account for sales in EEC. -OptionModeProductSellExportDesc=Show all products with accounting account for other foreign sales. +OptionModeProductSellIntraDesc=EECda sotish uchun buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductSellExportDesc=Boshqa mahsulotlarni hisobga olish hisobi bilan barcha mahsulotlarni ko'rsating. OptionModeProductBuyDesc=Xaridlar uchun buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. -OptionModeProductBuyIntraDesc=Show all products with accounting account for purchases in EEC. -OptionModeProductBuyExportDesc=Show all products with accounting account for other foreign purchases. +OptionModeProductBuyIntraDesc=EECda sotib olish uchun buxgalteriya hisobi bilan barcha mahsulotlarni ko'rsating. +OptionModeProductBuyExportDesc=Boshqa mahsulotlarni buxgalteriya hisobi bilan namoyish eting. CleanFixHistory=Hisob jadvallarida mavjud bo'lmagan chiziqlardan buxgalteriya kodini olib tashlang CleanHistory=Tanlangan yil uchun barcha bog'lanishlarni tiklang -PredefinedGroups=Predefined groups +PredefinedGroups=Oldindan belgilangan guruhlar WithoutValidAccount=Yaratilgan maxsus hisobsiz WithValidAccount=Yaratilgan maxsus hisob bilan ValueNotIntoChartOfAccount=Buxgalteriya hisobining bu qiymati hisob rejasida mavjud emas -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. +AccountRemovedFromGroup=Hisob guruhdan olib tashlandi +SaleLocal=Mahalliy sotuv +SaleExport=Eksportni sotish +SaleEEC=EECda sotish +SaleEECWithVAT=EECda QQS bilan sotish bekor bo'lmaydi, shuning uchun bu kommunal ichki savdo emas va taklif qilingan hisob standart mahsulot hisobvarag'i. +SaleEECWithoutVATNumber=EECda QQSsiz sotish, lekin uchinchi tomonning QQS identifikatori aniqlanmagan. Biz standart sotuvlar uchun mahsulot hisobiga tushamiz. Agar kerak bo'lsa, siz uchinchi tomonning QQS identifikatorini yoki mahsulot hisobini tuzatishingiz mumkin. ## Dictionary Range=Buxgalteriya hisobi doirasi @@ -392,42 +393,42 @@ Calculated=Hisoblangan Formula=Formula ## Error -SomeMandatoryStepsOfSetupWereNotDone=Some mandatory steps of setup was not done, please complete them +SomeMandatoryStepsOfSetupWereNotDone=O'rnatishning ba'zi majburiy bosqichlari bajarilmadi, iltimos, ularni to'ldiring ErrorNoAccountingCategoryForThisCountry=%s mamlakati uchun buxgalteriya hisobi guruhi mavjud emas (Uyga qarang - O'rnatish - Lug'atlar) -ErrorInvoiceContainsLinesNotYetBounded=You try to journalize some lines of the invoice %s, but some other lines are not yet bounded to accounting account. Journalization of all invoice lines for this invoice are refused. -ErrorInvoiceContainsLinesNotYetBoundedShort=Some lines on invoice are not bound to accounting account. +ErrorInvoiceContainsLinesNotYetBounded=Siz hisob-fakturaning ba'zi satrlarini jurnalga yozishga harakat qilyapsiz %s , ammo boshqa qatorlar hali buxgalteriya hisobi bilan chegaralanmagan. Ushbu hisob-faktura uchun barcha hisob-fakturalarni jurnalizatsiya qilish rad etiladi. +ErrorInvoiceContainsLinesNotYetBoundedShort=Hisob-fakturadagi ba'zi satrlar buxgalteriya hisobi bilan bog'liq emas. ExportNotSupported=Ushbu sahifada eksport formati o'rnatilmagan BookeppingLineAlreayExists=Buxgalteriya hisobida mavjud bo'lgan chiziqlar -NoJournalDefined=No journal defined +NoJournalDefined=Hech qanday jurnal aniqlanmagan Binded=Chiziqlar bog'langan ToBind=Bog'lash uchun chiziqlar -UseMenuToSetBindindManualy=Lines not yet bound, use menu %s to make the binding manually +UseMenuToSetBindindManualy=Chiziqlar hali bog'lanmagan, bog'lanishni qo'lda bajarish uchun %s menyusidan foydalaning ## Import -ImportAccountingEntries=Accounting entries -ImportAccountingEntriesFECFormat=Accounting entries - FEC format -FECFormatJournalCode=Code journal (JournalCode) -FECFormatJournalLabel=Label journal (JournalLib) -FECFormatEntryNum=Piece number (EcritureNum) -FECFormatEntryDate=Piece date (EcritureDate) -FECFormatGeneralAccountNumber=General account number (CompteNum) -FECFormatGeneralAccountLabel=General account label (CompteLib) -FECFormatSubledgerAccountNumber=Subledger account number (CompAuxNum) -FECFormatSubledgerAccountLabel=Subledger account number (CompAuxLib) -FECFormatPieceRef=Piece ref (PieceRef) -FECFormatPieceDate=Piece date creation (PieceDate) -FECFormatLabelOperation=Label operation (EcritureLib) -FECFormatDebit=Debit (Debit) -FECFormatCredit=Credit (Credit) -FECFormatReconcilableCode=Reconcilable code (EcritureLet) -FECFormatReconcilableDate=Reconcilable date (DateLet) -FECFormatValidateDate=Piece date validated (ValidDate) -FECFormatMulticurrencyAmount=Multicurrency amount (Montantdevise) -FECFormatMulticurrencyCode=Multicurrency code (Idevise) +ImportAccountingEntries=Buxgalteriya yozuvlari +ImportAccountingEntriesFECFormat=Buxgalteriya yozuvlari - FEC formati +FECFormatJournalCode=Kod jurnali (JournalCode) +FECFormatJournalLabel=Yorliq jurnali (JournalLib) +FECFormatEntryNum=Parcha raqami (EcritureNum) +FECFormatEntryDate=Parcha sanasi (EcritureDate) +FECFormatGeneralAccountNumber=Umumiy hisob raqami (CompteNum) +FECFormatGeneralAccountLabel=Umumiy hisob yorlig'i (CompteLib) +FECFormatSubledgerAccountNumber=Subledger hisob raqami (CompAuxNum) +FECFormatSubledgerAccountLabel=Subledger hisob raqami (CompAuxLib) +FECFormatPieceRef=Parcha ref (PieceRef) +FECFormatPieceDate=Parcha sanasini yaratish (PieceDate) +FECFormatLabelOperation=Yorliq bilan ishlash (EcritureLib) +FECFormatDebit=Debet (Debet) +FECFormatCredit=Kredit (Kredit) +FECFormatReconcilableCode=Yarashtiriladigan kod (EcritureLet) +FECFormatReconcilableDate=Yarashtiriladigan sana (DateLet) +FECFormatValidateDate=Parcha sanasi tasdiqlangan (ValidDate) +FECFormatMulticurrencyAmount=Ko'p valyuta miqdori (Montantdevise) +FECFormatMulticurrencyCode=Ko'p valyuta kodi (Idevise) -DateExport=Date export +DateExport=Sana eksporti WarningReportNotReliable=Diqqat, ushbu hisobot daftarga asoslanmagan, shuning uchun daftarda qo'lda o'zgartirilgan bitimni o'z ichiga olmaydi. Agar sizning jurnalizatsiya dolzarb bo'lsa, buxgalteriya hisobi yanada aniqroq bo'ladi. -ExpenseReportJournal=Expense Report Journal -InventoryJournal=Inventory Journal +ExpenseReportJournal=Xarajatlar bo'yicha hisobot jurnali +InventoryJournal=Inventarizatsiya jurnali -NAccounts=%s accounts +NAccounts=%s hisob qaydnomalari diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index 323c5555826..becc16f45ca 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -37,15 +37,15 @@ UnlockNewSessions=Ulanish qulfini olib tashlang YourSession=Sizning sessiyangiz Sessions=Foydalanuvchilar sessiyalari WebUserGroup=Veb-server foydalanuvchisi / guruhi -PermissionsOnFiles=Permissions on files -PermissionsOnFilesInWebRoot=Permissions on files in web root directory -PermissionsOnFile=Permissions on file %s +PermissionsOnFiles=Fayllarga ruxsat +PermissionsOnFilesInWebRoot=Veb-ildiz katalogidagi fayllarga ruxsat +PermissionsOnFile=%s faylidagi ruxsatnomalar NoSessionFound=Sizning PHP konfiguratsiyangiz faol seanslar ro'yxatiga ruxsat berilmaganga o'xshaydi. Seanslarni saqlash uchun ishlatiladigan katalog ( %s ) himoyalangan bo'lishi mumkin (masalan, OS ruxsatnomalari yoki open_basedir PHP direktivasi bilan). DBStoringCharset=Ma'lumotlarni saqlash uchun ma'lumotlar bazasi belgisi DBSortingCharset=Ma'lumotlarni saralash uchun ma'lumotlar bazasi belgisi -HostCharset=Host charset -ClientCharset=Client charset -ClientSortingCharset=Client collation +HostCharset=Xost to'plami +ClientCharset=Mijozlar to'plami +ClientSortingCharset=Mijozlarni taqqoslash WarningModuleNotActive= %s moduli yoqilgan bo'lishi kerak WarningOnlyPermissionOfActivatedModules=Bu erda faqat faollashtirilgan modullarga tegishli ruxsatlar ko'rsatilgan. Boshqa modullarni Home-> Setup-> Modules sahifasida faollashtirishingiz mumkin. DolibarrSetup=Dolibarr-ni o'rnating yoki yangilang @@ -53,18 +53,19 @@ InternalUser=Ichki foydalanuvchi ExternalUser=Tashqi foydalanuvchi InternalUsers=Ichki foydalanuvchilar ExternalUsers=Tashqi foydalanuvchilar +UserInterface=User interface GUISetup=Displey SetupArea=Sozlash; o'rnatish -UploadNewTemplate=Upload new template(s) +UploadNewTemplate=Yangi shablon (lar) ni yuklash FormToTestFileUploadForm=Faylni yuklashni sinab ko'rish uchun shakl (sozlash bo'yicha) -ModuleMustBeEnabled=The module/application %s must be enabled -ModuleIsEnabled=The module/application %s has been enabled +ModuleMustBeEnabled= %s moduli / ilovasi yoqilgan bo'lishi kerak +ModuleIsEnabled= %s moduli / ilovasi yoqilgan IfModuleEnabled=Eslatma: ha faqat %s moduli yoqilgan taqdirda samarali bo'ladi. RemoveLock=Yangilash / O'rnatish vositasidan foydalanishga ruxsat berish uchun fayl mavjud bo'lsa, uni o'chirish / qayta nomlash %s . RestoreLock=Yangilash / O'rnatish vositasidan boshqa foydalanishni o'chirish uchun faqat o'qish uchun ruxsat berilgan holda %s faylini tiklang. SecuritySetup=Xavfsizlikni sozlash -PHPSetup=PHP setup -OSSetup=OS setup +PHPSetup=PHP-ni sozlash +OSSetup=OS sozlamalari SecurityFilesDesc=Fayllarni yuklash bilan bog'liq xavfsizlik bilan bog'liq variantlarni bu erda aniqlang. ErrorModuleRequirePHPVersion=Xato, ushbu modulda PHP-ning %s yoki undan yuqori versiyasi talab qilinadi ErrorModuleRequireDolibarrVersion=Xato, ushbu modulda Dolibarr %s yoki undan yuqori versiyasi talab qilinadi @@ -74,20 +75,20 @@ Dictionary=Lug'atlar ErrorReservedTypeSystemSystemAuto="System" va "systemauto" qiymati saqlanib qolgan. O'zingizning yozuvingizni qo'shish uchun "foydalanuvchi" dan qiymat sifatida foydalanishingiz mumkin ErrorCodeCantContainZero=Kod 0 qiymatini o'z ichiga olmaydi DisableJavascript=JavaScript va Ajax funktsiyalarini o'chirib qo'ying -DisableJavascriptNote=Note: For test or debug purpose. For optimization for blind person or text browsers, you may prefer to use the setup on the profile of user +DisableJavascriptNote=Izoh: Sinov yoki disk raskadrovka maqsadida. Ko'zi ojizlar yoki matnli brauzerlar uchun optimallashtirish uchun siz foydalanuvchi profilidagi sozlamalardan foydalanishni afzal ko'rishingiz mumkin UseSearchToSelectCompanyTooltip=Agar sizda uchinchi tomonlar soni ko'p bo'lsa (> 100 000), tezlikni COMPANY_DONOTSEARCH_ANYWHERE-ni Setup-> Other-da 1-ga o'rnatish orqali oshirishingiz mumkin. Keyin qidirish satr boshlanishi bilan cheklanadi. UseSearchToSelectContactTooltip=Agar sizda uchinchi tomonlar soni juda katta bo'lsa (> 100 000), siz CONTACT_DONOTSEARCH_ANYWHERE doimiyligini O'rnatish -> Boshqalar-da 1 ga o'rnatish orqali tezlikni oshirishingiz mumkin. Keyin qidirish satr boshlanishi bilan cheklanadi. DelaiedFullListToSelectCompany=Uchinchi tomonlarning birlashtirilgan ro'yxati tarkibini yuklashdan oldin tugma bosilguncha kuting.
Agar sizda uchinchi tomonlar ko'p bo'lsa, bu unumdorlikni oshirishi mumkin, ammo bu unchalik qulay emas. DelaiedFullListToSelectContact=Kontaktlar ro'yxati tarkibini yuklashdan oldin tugma bosilguncha kuting.
Agar sizda ko'plab kontaktlar mavjud bo'lsa, bu ishlashni oshirishi mumkin, ammo bu unchalik qulay emas. NumberOfKeyToSearch=Qidiruvni boshlash uchun belgilar soni: %s -NumberOfBytes=Number of Bytes -SearchString=Search string +NumberOfBytes=Baytlar soni +SearchString=Qidiruv qatori NotAvailableWhenAjaxDisabled=Ajax o'chirib qo'yilganda mavjud emas AllowToSelectProjectFromOtherCompany=Uchinchi shaxsning hujjatida boshqa uchinchi tomon bilan bog'langan loyihani tanlashi mumkin JavascriptDisabled=JavaScript o'chirilgan UsePreviewTabs=Oldindan ko'rish yorliqlaridan foydalaning ShowPreview=Oldindan ko'rishni ko'rsatish -ShowHideDetails=Show-Hide details +ShowHideDetails=Tafsilotlarni ko'rsatish-yashirish PreviewNotAvailable=Oldindan ko‘rib chiqish imkoniyati mavjud emas ThemeCurrentlyActive=Mavzu hozirda faol MySQLTimeZone=TimeZone MySql (ma'lumotlar bazasi) @@ -138,18 +139,18 @@ DaylingSavingTime=Yozgi vaqt CurrentHour=PHP vaqti (server) CurrentSessionTimeOut=Joriy mashg'ulotning tanaffusi YouCanEditPHPTZ=Boshqa PHP vaqt zonasini o'rnatish uchun (shart emas), siz "SetEnv TZ Europe / Paris" kabi qator bilan .htaccess faylini qo'shishga urinib ko'rishingiz mumkin. -HoursOnThisPageAreOnServerTZ=Warning, in contrary of other screens, hours on this page are not in your local timezone, but of the timezone of the server. +HoursOnThisPageAreOnServerTZ=Ogohlantirish, boshqa ekranlardan farqli o'laroq, ushbu sahifadagi soatlar sizning mahalliy vaqt mintaqangizda emas, balki serverning vaqt zonasida. Box=Vidjet Boxes=Vidjetlar MaxNbOfLinesForBoxes=Maks. vidjetlar uchun qatorlar soni -AllWidgetsWereEnabled=All available widgets are enabled +AllWidgetsWereEnabled=Barcha mavjud vidjetlar yoqilgan PositionByDefault=Standart buyurtma Position=Lavozim MenusDesc=Menyu menejerlari ikkita menyu satrining tarkibini belgilaydilar (gorizontal va vertikal). MenusEditorDesc=Menyu muharriri maxsus menyu yozuvlarini aniqlashga imkon beradi. Beqarorlik va menyuga doimiy ravishda kirib bo'lmaydigan yozuvlarni oldini olish uchun uni diqqat bilan ishlating.
Ba'zi modullar menyu yozuvlarini qo'shadilar (menyuda Hammasi asosan ). Agar siz ushbu yozuvlarning bir qismini xato bilan olib tashlasangiz, ularni o'chirib qo'yish va modulni qayta tiklashni tiklashingiz mumkin. MenuForUsers=Foydalanuvchilar uchun menyu LangFile=.lang fayli -Language_en_US_es_MX_etc=Language (en_US, es_MX, ...) +Language_en_US_es_MX_etc=Til (en_US, es_MX, ...) System=Tizim SystemInfo=Tizim haqida ma'lumot SystemToolsArea=Tizim asboblari maydoni @@ -163,7 +164,7 @@ PurgeDeleteAllFilesInDocumentsDir=Katalogdagi barcha fayllarni o'chirib tashlang PurgeRunNow=Hozir tozalang PurgeNothingToDelete=O'chirish uchun katalog yoki fayl yo'q. PurgeNDirectoriesDeleted= %s fayllari yoki kataloglari o'chirildi. -PurgeNDirectoriesFailed=Failed to delete %s files or directories. +PurgeNDirectoriesFailed= %s fayllari yoki kataloglari o'chirilmadi. PurgeAuditEvents=Barcha xavfsizlik tadbirlarini tozalang ConfirmPurgeAuditEvents=Barcha xavfsizlik tadbirlarini tozalamoqchimisiz? Barcha xavfsizlik jurnallari o'chiriladi, boshqa ma'lumotlar o'chirilmaydi. GenerateBackup=Zaxira nusxasini yarating @@ -186,8 +187,8 @@ Compression=Siqish CommandsToDisableForeignKeysForImport=Import paytida chet el kalitlarini o'chirib qo'yish buyrug'i CommandsToDisableForeignKeysForImportWarning=SQL dump-ni keyinroq tiklashni xohlasangiz, majburiydir ExportCompatibility=Yaratilgan eksport faylining mosligi -ExportUseMySQLQuickParameter=Use the --quick parameter -ExportUseMySQLQuickParameterHelp=The '--quick' parameter helps limit RAM consumption for large tables. +ExportUseMySQLQuickParameter=--Quick parametridan foydalaning +ExportUseMySQLQuickParameterHelp='--Quick' parametri katta jadvallar uchun RAM sarfini cheklashga yordam beradi. MySqlExportParameters=MySQL eksport parametrlari PostgreSqlExportParameters= PostgreSQL eksport parametrlari UseTransactionnalMode=Tranzaksiya rejimidan foydalaning @@ -211,31 +212,31 @@ ModulesDesc=Modullar / dasturlar dasturiy ta'minotda qaysi funktsiyalar mavjudli ModulesMarketPlaceDesc=Internetda tashqi veb-saytlarda yuklab olish uchun ko'proq modullarni topishingiz mumkin ... ModulesDeployDesc=Agar sizning fayl tizimingizdagi ruxsatnomalar bunga yo'l qo'ysa, siz ushbu vositadan tashqi modulni joylashtirish uchun foydalanishingiz mumkin. Keyin modul %s yorlig'ida ko'rinadi. ModulesMarketPlaces=Tashqi ilova / modullarni toping -ModulesDevelopYourModule=Develop your own app/modules -ModulesDevelopDesc=You may also develop your own module or find a partner to develop one for you. -DOLISTOREdescriptionLong=Instead of switching on www.dolistore.com web site to find an external module, you can use this embedded tool that will perform the search on the external market place for you (may be slow, need an internet access)... -NewModule=New module -FreeModule=Free -CompatibleUpTo=Compatible with version %s -NotCompatible=This module does not seem compatible with your Dolibarr %s (Min %s - Max %s). -CompatibleAfterUpdate=This module requires an update to your Dolibarr %s (Min %s - Max %s). -SeeInMarkerPlace=See in Market place -SeeSetupOfModule=See setup of module %s -SetOptionTo=Set option %s to %s -Updated=Updated -AchatTelechargement=Buy / Download +ModulesDevelopYourModule=O'zingizning ilova / modullaringizni ishlab chiqing +ModulesDevelopDesc=Shuningdek, siz o'zingizning modulingizni ishlab chiqishingiz yoki o'zingiz uchun ishlab chiqadigan sherik topishingiz mumkin. +DOLISTOREdescriptionLong=Tashqi modulni topish uchun www.dolistore.com veb-saytini yoqish o'rniga siz o'zingiz uchun tashqi bozorda qidiruvni amalga oshiradigan ushbu ichki vositadan foydalanishingiz mumkin (sekin bo'lishi mumkin, Internetga kirish kerak) ... +NewModule=Yangi modul +FreeModule=Ozod +CompatibleUpTo=%s versiyasi bilan mos keladi +NotCompatible=Ushbu modul sizning Dolibarr %s (Min %s - Max %s) bilan mos kelmaydi. +CompatibleAfterUpdate=Ushbu modul sizning Dolibarr %s (Min %s - Max %s) uchun yangilanishni talab qiladi. +SeeInMarkerPlace=Bozor joyida ko'ring +SeeSetupOfModule=%s modulini o'rnatishga qarang +SetOptionTo= %s ni %s ga sozlang +Updated=Yangilandi +AchatTelechargement=Sotib olish / yuklab olish GoModuleSetupArea=Yangi modulni joylashtirish / o'rnatish uchun Modulni sozlash maydoniga o'ting: %s . DoliStoreDesc=DoliStore, Dolibarr ERP / CRM tashqi modullari uchun rasmiy bozor DoliPartnersDesc=Maxsus ishlab chiqilgan modullar yoki xususiyatlarni taqdim etadigan kompaniyalar ro'yxati.
Eslatma: Dolibarr ochiq kodli dastur bo'lgani uchun, PHP dasturlashda tajribali kimdir modul ishlab chiqishi kerak. WebSiteDesc=Qo'shimcha (yadroli bo'lmagan) modullar uchun tashqi veb-saytlar ... -DevelopYourModuleDesc=Some solutions to develop your own module... +DevelopYourModuleDesc=O'zingizning modulingizni ishlab chiqish uchun ba'zi echimlar ... URL=URL manzili -RelativeURL=Relative URL +RelativeURL=Nisbiy URL BoxesAvailable=Vidjetlar mavjud BoxesActivated=Vidjetlar faollashtirildi ActivateOn=Yoqish ActiveOn=Yoqilgan -ActivatableOn=Activatable on +ActivatableOn=Faollashtirilishi mumkin SourceFile=Manba fayli AvailableOnlyIfJavascriptAndAjaxNotDisabled=Faqatgina JavaScript o'chirib qo'yilmagan bo'lsa mavjud Required=Majburiy @@ -259,9 +260,9 @@ OfficialMarketPlace=Tashqi modullar / qo'shimchalar uchun rasmiy bozor joyi OfficialWebHostingService=Yuborilgan veb-xosting xizmatlari (Cloud hosting) ReferencedPreferredPartners=Afzal sheriklar OtherResources=Boshqa manbalar -ExternalResources=External Resources -SocialNetworks=Social Networks -SocialNetworkId=Social Network ID +ExternalResources=Tashqi manbalar +SocialNetworks=Ijtimoiy tarmoqlar +SocialNetworkId=Ijtimoiy tarmoq identifikatori ForDocumentationSeeWiki=
foydalanuvchi yoki ishlab chiquvchi hujjatlari uchun (Dolib, Savol-javoblar ...) Dolibarr Wiki-ga qarang:
%s a0e40dc079cf87 ForAnswersSeeForum=Boshqa savollar / yordam uchun siz Dolibarr forumidan foydalanishingiz mumkin:
%s HelpCenterDesc1=Dolibarr bilan yordam va yordam olish uchun ba'zi manbalar. @@ -281,8 +282,8 @@ NewByMonth=Oyga yangi Emails=Elektron pochta xabarlari EMailsSetup=Elektron pochta xabarlarini sozlash EMailsDesc=Ushbu sahifa sizga elektron pochta xabarlarini yuborish parametrlari yoki parametrlarini o'rnatishga imkon beradi. -EmailSenderProfiles=Emails sender profiles -EMailsSenderProfileDesc=You can keep this section empty. If you enter some emails here, they will be added to the list of possible senders into the combobox when your write a new email. +EmailSenderProfiles=Elektron pochta xabarlarini yuboruvchi profillari +EMailsSenderProfileDesc=Siz ushbu bo'limni bo'sh qoldirishingiz mumkin. Agar siz bu erga ba'zi elektron pochta xabarlarini kiritsangiz, ular yangi elektron pochta xabarini yozganingizda, ularni qutilarga yuborish mumkin bo'lganlar ro'yxatiga qo'shiladi. MAIN_MAIL_SMTP_PORT=SMTP / SMTPS porti (php.ini-da standart qiymat: %s ) MAIN_MAIL_SMTP_SERVER=SMTP / SMTPS Host (php.ini-da standart qiymat: %s ) MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP / SMTPS porti (Unix-ga o'xshash tizimlarda PHP-da aniqlanmagan) @@ -291,18 +292,18 @@ MAIN_MAIL_EMAIL_FROM=Avtomatik elektron pochta xabarlari uchun jo'natuvchi elekt MAIN_MAIL_ERRORS_TO=Xato uchun foydalanilgan elektron pochta xabarlarini qaytaradi (elektron pochtalarda "Xatolar" maydonlari) MAIN_MAIL_AUTOCOPY_TO= Barcha elektron pochta xabarlarini nusxa ko'chiring (Bcc) MAIN_DISABLE_ALL_MAILS=Barcha elektron pochta xabarlarini yuborishni o'chirib qo'ying (sinov maqsadida yoki namoyish uchun) -MAIN_MAIL_FORCE_SENDTO=Send all emails to (instead of real recipients, for test purposes) -MAIN_MAIL_ENABLED_USER_DEST_SELECT=Suggest emails of employees (if defined) into the list of predefined recipient when writing a new email +MAIN_MAIL_FORCE_SENDTO=Barcha elektron pochta xabarlarini yuboring (haqiqiy qabul qiluvchilar o'rniga, sinov maqsadida) +MAIN_MAIL_ENABLED_USER_DEST_SELECT=Yangi elektron pochta xabarini yozishda oldindan aniqlangan qabul qiluvchilar ro'yxatiga xodimlarning elektron pochta xabarlarini (agar aniqlangan bo'lsa) taklif eting MAIN_MAIL_SENDMODE=Elektron pochta xabarlarini yuborish usuli MAIN_MAIL_SMTPS_ID=SMTP identifikatori (agar serverni yuborish autentifikatsiyani talab qilsa) MAIN_MAIL_SMTPS_PW=SMTP paroli (agar serverni yuborish autentifikatsiyani talab qilsa) MAIN_MAIL_EMAIL_TLS=TLS (SSL) shifrlashdan foydalaning MAIN_MAIL_EMAIL_STARTTLS=TLS (STARTTLS) shifrlashdan foydalaning -MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Authorise les certificats auto-signés -MAIN_MAIL_EMAIL_DKIM_ENABLED=Use DKIM to generate email signature -MAIN_MAIL_EMAIL_DKIM_DOMAIN=Email Domain for use with dkim -MAIN_MAIL_EMAIL_DKIM_SELECTOR=Name of dkim selector -MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Private key for dkim signing +MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED=Les sertifikatlariga avtomatik imzo qo'yishga ruxsat berish +MAIN_MAIL_EMAIL_DKIM_ENABLED=Elektron pochta imzosini yaratish uchun DKIM-dan foydalaning +MAIN_MAIL_EMAIL_DKIM_DOMAIN=Dkim bilan ishlatish uchun elektron pochta domeniga +MAIN_MAIL_EMAIL_DKIM_SELECTOR=Dkim selektorining nomi +MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY=Dkim imzosi uchun shaxsiy kalit MAIN_DISABLE_ALL_SMS=Barcha SMS-xabarlarni yuborishni o'chirib qo'ying (sinov maqsadida yoki namoyish uchun) MAIN_SMS_SENDMODE=SMS yuborishda foydalanish usuli MAIN_MAIL_SMS_FROM=SMS yuborish uchun standart yuboruvchi telefon raqami @@ -310,7 +311,7 @@ MAIN_MAIL_DEFAULT_FROMTYPE=Qo'lda yuborish uchun standart yuboruvchi elektron po UserEmail=Foydalanuvchi elektron pochtasi CompanyEmail=Kompaniyaning elektron pochtasi FeatureNotAvailableOnLinux=Xususiyat Unix tizimlarida mavjud emas. Sendmail dasturini mahalliy darajada sinab ko'ring. -FixOnTransifex=Fix the translation on the online translation platform of project +FixOnTransifex=Tarjimani loyihaning onlayn tarjima platformasida tuzating SubmitTranslation=Agar ushbu til uchun tarjima tugallanmagan bo'lsa yoki siz xatolarni topsangiz, buni langs / %s katalogidagi fayllarni tahrirlash orqali o'zgartirishingiz va o'zgartirishingizni www.transifex.com/dolibarr-association/dolibarr/ ga yuborishingiz mumkin. SubmitTranslationENUS=Agar ushbu til uchun tarjima tugallanmagan bo'lsa yoki xatolarni topsangiz, uni fayllarni langs / %s katalogiga tahrirlash va o'zgartirilgan fayllarni dolibarr.org/forum saytiga yuborish yoki agar ishlab chiquvchi bo'lsangiz, github-da PR bilan tuzatish orqali tuzatishingiz mumkin. .com / Dolibarr / dolibarr ModuleSetup=Modulni sozlash @@ -347,14 +348,14 @@ CurrentVersion=Dolibarrning joriy versiyasi CallUpdatePage=Ma'lumotlar bazasi tuzilishi va ma'lumotlarini yangilaydigan sahifani ko'rib chiqing: %s. LastStableVersion=Oxirgi barqaror versiya LastActivationDate=So'nggi faollashtirilgan sana -LastActivationAuthor=Latest activation author -LastActivationIP=Latest activation IP +LastActivationAuthor=Eng so'nggi faollashtirish muallifi +LastActivationIP=So'nggi faollashtirilgan IP UpdateServerOffline=Serverni oflayn rejimda yangilang -WithCounter=Manage a counter +WithCounter=Hisoblagichni boshqarish GenericMaskCodes=Siz istalgan raqamlash maskasini kiritishingiz mumkin. Ushbu niqobda quyidagi teglardan foydalanish mumkin:
{000000} har bir %s bo'yicha ko'paytiriladigan raqamga mos keladi. Hisoblagichning istalgan uzunligidagi nollarni kiriting. Niqob kabi shuncha nolga ega bo'lish uchun hisoblagich chap tomondan nollar bilan to'ldiriladi.
{000000 + 000} oldingi bilan bir xil, lekin + belgisining o'ng tomonidagi raqamga mos keladigan ofset birinchi %s dan boshlab qo'llaniladi.
{000000 @ x} oldingisiga o'xshash, ammo x oyiga yetganda hisoblagich nolga o'rnatiladi (x 1 dan 12 gacha yoki 0 sizning konfiguratsiyangizda aniqlangan moliya yilining dastlabki oylaridan foydalanish uchun, yoki 99 dan har oy nolga qaytarish). Agar ushbu parametr ishlatilsa va x 2 yoki undan yuqori bo'lsa, unda {yy} {mm} yoki {yyyy} {mm} ketma-ketligi ham talab qilinadi.
{dd} kun (01 dan 31 gacha).
{mm} oy (01 dan 12 gacha).
{yy} , {yyyy} yoki {y} af90, y0 a79
GenericMaskCodes2= {cccc} n kodidagi mijoz kodi
{cccc000} a09a4b8 client Xaridorga bag'ishlangan ushbu hisoblagich global hisoblagich bilan bir vaqtning o'zida tiklanadi.
{tttt} n belgidagi uchinchi tomon kodining kodi (Uy - O'rnatish - Lug'at - Uchinchi tomon turlari menyusiga qarang). Agar siz ushbu yorliqni qo'shsangiz, hisoblagich har bir uchinchi tomon turi uchun farq qiladi.
GenericMaskCodes3=Maskadagi barcha boshqa belgilar buzilmasdan qoladi.
bo'sh joylarga ruxsat berilmaydi.
-GenericMaskCodes3EAN=All other characters in the mask will remain intact (except * or ? in 13th position in EAN13).
Spaces are not allowed.
In EAN13, the last character after the last } in 13th position should be * or ? . It will be replaced by the calculated key.
+GenericMaskCodes3EAN=Maskadagi barcha boshqa belgilar buzilmasdan qoladi (* yoki "EAN13" ning 13-pozitsiyasidan tashqari).
bo'sh joylarga ruxsat berilmaydi.
EAN13 da 13-o'rinda oxirgi} dan keyin oxirgi belgi * yoki bo'lishi kerak? . U hisoblangan kalit bilan almashtiriladi.
GenericMaskCodes4a= uchinchi tomon TheCompany kompaniyasining 99-chi %s-dagi misoli, 2007-01-31 sanasi bilan:
GenericMaskCodes4b= 2007-03-01 da yaratilgan uchinchi tomonga misol:
GenericMaskCodes4c= 2007-03-01 da yaratilgan mahsulotga misol:
@@ -377,7 +378,7 @@ AddCRIfTooLong=Matnni avtomatik o'rash mavjud emas, juda uzun bo'lgan matn hujja ConfirmPurge=Ushbu tozalashni amalga oshirishni xohlaysizmi?
bu sizning barcha ma'lumotlar fayllaringizni qayta tiklashning imkoni bo'lmagan holda butunlay yo'q qiladi (ECM fayllari, biriktirilgan fayllar ...). MinLength=Minimal uzunlik LanguageFilesCachedIntoShmopSharedMemory=Fayllar .lang umumiy xotiraga yuklandi -LanguageFile=Language file +LanguageFile=Til fayli ExamplesWithCurrentSetup=Joriy konfiguratsiyaga misollar ListOfDirectories=OpenDocument shablonlari kataloglari ro'yxati ListOfDirectoriesForModelGenODT=OpenDocument formatidagi shablon fayllarini o'z ichiga olgan kataloglar ro'yxati.

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

Ushbu kataloglardagi fayllar .odt yoki .ods bilan tugashi kerak. @@ -399,12 +400,12 @@ SecurityToken=Xavfsiz URL manzillari uchun kalit NoSmsEngine=SMS yuboruvchi menejeri mavjud emas. SMS yuboruvchisi menejeri standart tarqatish bilan o'rnatilmagan, chunki ular tashqi sotuvchiga bog'liq, ammo siz ularni %s da topishingiz mumkin. PDF=PDF PDFDesc=PDF yaratish uchun global imkoniyatlar -PDFOtherDesc=PDF Option specific to some modules +PDFOtherDesc=Ba'zi bir modullarga xos bo'lgan PDF-variant PDFAddressForging=Manzil bo'limi qoidalari HideAnyVATInformationOnPDF=Savdo solig'i / QQS bilan bog'liq barcha ma'lumotlarni yashirish -PDFRulesForSalesTax=Rules for Sales Tax / VAT -PDFLocaltax=Rules for %s -HideLocalTaxOnPDF=Hide %s rate in column Sale Tax / VAT +PDFRulesForSalesTax=Savdo solig'i / QQS bo'yicha qoidalar +PDFLocaltax=%s uchun qoidalar +HideLocalTaxOnPDF=%s stavkasini sotish bo'yicha soliq / QQS ustunida yashiring HideDescOnPDF=Mahsulotlar tavsifini yashirish HideRefOnPDF=Mahsulotlarni yashirish ref. HideDetailsOnPDF=Mahsulot liniyalari tafsilotlarini yashirish @@ -419,12 +420,12 @@ OldVATRates=Eski QQS stavkasi NewVATRates=QQSning yangi stavkasi PriceBaseTypeToChange=Belgilangan asosiy mos yozuvlar qiymati bilan narxlarni o'zgartiring MassConvert=Ommaviy konversiyani ishga tushiring -PriceFormatInCurrentLanguage=Price Format In Current Language +PriceFormatInCurrentLanguage=Joriy tilda narxlar formati String=Ip -String1Line=String (1 line) +String1Line=Ip (1 qator) TextLong=Uzoq matn -TextLongNLines=Long text (n lines) -HtmlText=Html text +TextLongNLines=Uzoq matn (n satr) +HtmlText=HTML matni Int=Butun son Float=Float DateAndTime=Sana va soat @@ -442,18 +443,18 @@ ExtrafieldRadio=Radio tugmalari (faqat bitta tanlov) ExtrafieldCheckBox=Belgilash katakchalari ExtrafieldCheckBoxFromList=Jadvaldagi katakchalar ExtrafieldLink=Ob'ektga havola -ComputedFormula=Computed field -ComputedFormulaDesc=You can enter here a formula using other properties of object or any PHP coding to get a dynamic computed value. You can use any PHP compatible formulas including the "?" condition operator, and following global object: $db, $conf, $langs, $mysoc, $user, $object.
WARNING: Only some properties of $object may be available. If you need a properties not loaded, just fetch yourself the object into your formula like in the second example.
Using a computed field means you can't enter yourself any value from interface. Also, if there is a syntax error, the formula may return nothing.

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

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

Other example of formula to force load of object and its parent object:
(($reloadedobj = new Task($db)) && ($reloadedobj->fetchNoCompute($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetchNoCompute($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref: 'Parent project not found' -Computedpersistent=Store computed field -ComputedpersistentDesc=Computed extra fields will be stored in the database, however, the value will only be recalculated when the object of this field is changed. If the computed field depends on other objects or global data this value might be wrong!! -ExtrafieldParamHelpPassword=Leaving this field blank means this value will be stored without encryption (field must be only hidden with star on screen).
Set 'auto' to use the default encryption rule to save password into database (then value read will be the hash only, no way to retrieve original value) +ComputedFormula=Hisoblangan maydon +ComputedFormulaDesc=Siz bu erda ob'ektning boshqa xususiyatlaridan foydalangan holda formulani yoki har qanday PHP kodlashni dinamik hisoblash qiymatini olish uchun kiritishingiz mumkin. Siz har qanday PHP-ga mos formulalardan foydalanishingiz mumkin, "?" shart operatori va quyidagi global ob'ekt: $ db, $ conf, $ langs, $ mysoc, $ user, $ object .
OGOHLANTIRISH : $ ob'ektining faqat ba'zi xususiyatlari mavjud bo'lishi mumkin. Agar sizga yuklanmagan xususiyatlar kerak bo'lsa, faqat ikkinchi misolda bo'lgani kabi o'zingizning formulangizga o'zingizning ob'ektingizni kiriting.
Hisoblangan maydondan foydalanish o'zingizga interfeysdan hech qanday qiymat kiritib bo'lmasligingizni anglatadi. Bundan tashqari, agar sintaksis xatosi bo'lsa, formuladan hech narsa qaytmasligi mumkin.

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

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

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

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

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

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

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

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

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

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

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

boshqa ro'yxatiga qarab ro'yxatini ega bo'lish uchun:
c_typent: libelle: id: parent_list_code | parent_column: filter ExtrafieldParamHelplink=Parametrlar ObjectName: Classpath
sintaksis: ObjectName: Classpath bo'lishi kerak -ExtrafieldParamHelpSeparator=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=
oddiy ajratuvchisi uchun bo'sh joyni saqlang holat har bir foydalanuvchi seansida saqlanadi) LibraryToBuildPDF=PDF yaratish uchun foydalaniladigan kutubxona LocalTaxDesc=Ba'zi mamlakatlar har bir faktura satrida ikki yoki uchta soliqni qo'llashlari mumkin. Agar shunday bo'lsa, ikkinchi va uchinchi soliq turini va uning stavkasini tanlang. Mumkin bo'lgan turlari:
1: Mahsulotlar va xizmatlarga mahalliy soliq QQSsiz qo'llaniladi (mahalliy soliq soliqsiz miqdorda hisoblab chiqiladi)
2: Mahsulotlar va xizmatlarga mahalliy soliq, shu jumladan QQS (localtax summa + asosiy soliq bo'yicha hisoblanadi)
3: Mahalliy soliq QQSsiz mahsulotlarga qo'llaniladi (localtax soliqsiz miqdor bo'yicha hisoblanadi)
4: mahalliy soliq, shu jumladan, QQS bo'lgan mahsulotlarga qo'llaniladi (localtax summa + asosiy so'm bo'yicha hisoblanadi)
5: QQSsiz xizmatlarga mahalliy soliq (localtax hisoblanadi
6: QQS, shu jumladan xizmatlarga mahalliy soliq qo'llaniladi (mahalliy soliq soliq + soliq bo'yicha hisoblanadi) SMS=SMS @@ -461,13 +462,13 @@ LinkToTestClickToDial= %s foydalanuvchisi uchun ClickToDial ur RefreshPhoneLink=Havolani yangilang LinkToTest= %s foydalanuvchisi uchun yaratilgan bosish havolasi (sinov uchun telefon raqamini bosing) KeepEmptyToUseDefault=Standart qiymatdan foydalanish uchun bo'sh joyni saqlang -KeepThisEmptyInMostCases=In most cases, you can keep this field empy. +KeepThisEmptyInMostCases=Ko'pgina hollarda, siz ushbu maydonni empiyani saqlashingiz mumkin. DefaultLink=Standart havola SetAsDefault=Odatiy sifatida o'rnating ValueOverwrittenByUserSetup=Diqqat, ushbu qiymat foydalanuvchi tomonidan o'rnatilishi bilan yozilishi mumkin (har bir foydalanuvchi o'z klikktodial urlini o'rnatishi mumkin) ExternalModule=Tashqi modul -InstalledInto=Installed into directory %s -BarcodeInitForThirdparties=Mass barcode init for third-parties +InstalledInto=%s katalogiga o'rnatilgan +BarcodeInitForThirdparties=Uchinchi tomonlar uchun ommaviy shtrix-kod BarcodeInitForProductsOrServices=Mahsulotlar yoki xizmatlar uchun ommaviy shtrix kodni qayta tiklash yoki tiklash CurrentlyNWithoutBarCode=Currently, you have %s record on %s %s without barcode defined. InitEmptyBarCode=Keyingi %s bo'sh yozuvlar uchun boshlang'ich qiymati @@ -482,48 +483,48 @@ DisplayCompanyInfo=Kompaniyaning manzilini ko'rsatish DisplayCompanyManagers=Displey menejeri nomlari DisplayCompanyInfoAndManagers=Kompaniya manzili va menejer nomlarini ko'rsatish EnableAndSetupModuleCron=Agar siz ushbu takrorlanadigan hisob-fakturani avtomatik ravishda yaratishni istasangiz, * %s * moduli yoqilgan va to'g'ri sozlanishi kerak. Aks holda, hisob-fakturalarni yaratish * Yaratish * tugmasi yordamida ushbu shablondan qo'lda bajarilishi kerak. Shuni esda tutingki, siz avtomatik ishlab chiqarishni yoqsangiz ham, siz qo'lda ishlab chiqarishni xavfsiz ravishda boshlashingiz mumkin. Xuddi shu davr uchun nusxalarini yaratish mumkin emas. -ModuleCompanyCodeCustomerAquarium=%s followed by customer code for a customer accounting code -ModuleCompanyCodeSupplierAquarium=%s followed by vendor code for a vendor accounting code +ModuleCompanyCodeCustomerAquarium=%s va undan keyin mijozning buxgalteriya kodi uchun mijoz kodi +ModuleCompanyCodeSupplierAquarium=%s va undan keyin sotuvchining buxgalteriya kodi uchun sotuvchi kodi ModuleCompanyCodePanicum=Bo'sh buxgalteriya kodini qaytaring. ModuleCompanyCodeDigitaria=Uchinchi shaxsning nomiga ko'ra murakkab buxgalteriya kodini qaytaradi. Kod birinchi pozitsiyada aniqlanishi mumkin bo'lgan prefiksdan, keyin uchinchi tomon kodida belgilangan belgilar sonidan iborat. -ModuleCompanyCodeCustomerDigitaria=%s 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. +ModuleCompanyCodeCustomerDigitaria=%s, keyin qisqartirilgan mijoz nomi, belgilar soni bo'yicha: %s, mijozning buxgalteriya kodi uchun. +ModuleCompanyCodeSupplierDigitaria=%s, keyin esa etkazib beruvchining qisqartirilgan nomi, belgilar soni bo'yicha: etkazib beruvchining buxgalteriya kodi uchun %s. Use3StepsApproval=Odatiy bo'lib, Sotib olish to'g'risida buyurtmalarni 2 xil foydalanuvchi yaratishi va tasdiqlashi kerak (bitta qadam / foydalanuvchi yaratishi va bitta qadam / foydalanuvchi tasdiqlashi kerak. E'tibor bering, agar foydalanuvchi yaratish va tasdiqlash huquqiga ega bo'lsa, bitta qadam / foydalanuvchi etarli bo'ladi) . Ushbu parametr bilan siz uchinchi bosqichni / foydalanuvchi tomonidan tasdiqlanishini so'rashingiz mumkin, agar miqdori ajratilgan qiymatdan yuqori bo'lsa (shuning uchun 3 ta qadam kerak bo'ladi: 1 = tasdiqlash, 2 = birinchi tasdiqlash va 3 = ikkinchi tasdiqlash miqdori etarli bo'lsa).
Agar bitta tasdiqlash (2 ta qadam) etarli bo'lsa, buni bo'sh qilib qo'ying, agar har doim ikkinchi ma'qullash (3 bosqich) kerak bo'lsa, uni juda past qiymatga (0,1) o'rnating. UseDoubleApproval=Miqdor (soliqsiz) ... dan yuqori bo'lsa, 3 bosqichli tasdiqdan foydalaning. WarningPHPMail=OGOHLANTIRISH: Ilovadan elektron pochta xabarlarini yuborish uchun sozlash odatiy umumiy sozlamalardan foydalanmoqda. Odatda, bir nechta sabablarga ko'ra standart o'rnatish o'rniga elektron pochta xizmati provayderingiz elektron pochta serveridan foydalanish uchun chiquvchi elektron pochta xabarlarini sozlash yaxshiroqdir: -WarningPHPMailA=- Using the server of the Email Service Provider increases the trustability of your email, so it increases the deliverablity without being flagged as SPAM -WarningPHPMailB=- Some Email Service Providers (like Yahoo) do not allow you to send an email from another server than their own server. Your current setup uses the server of the application to send email and not the server of your email provider, so some recipients (the one compatible with the restrictive DMARC protocol), will ask your email provider if they can accept your email and some email providers (like Yahoo) may respond "no" because the server is not theirs, so few of your sent Emails may not be accepted for delivery (be careful also of your email provider's sending quota). -WarningPHPMailC=- Using the SMTP server of your own Email Service Provider to send emails is also interesting so all emails sent from application will also be saved into your "Sent" directory of your mailbox. -WarningPHPMailD=If the method 'PHP Mail' is really the method you would like to use, you can remove this warning by adding the constant MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP to 1 in Home - Setup - Other. -WarningPHPMail2=If your email SMTP provider need to restrict email client to some IP addresses (very rare), this is the IP address of the mail user agent (MUA) for your ERP CRM application: %s. -WarningPHPMailSPF=If the domain name in your sender email address is protected by a SPF record (ask you domain name registar), you must add the following IPs in the SPF record of the DNS of your domain: %s. +WarningPHPMailA=- Elektron pochta xizmati provayderining serveridan foydalanish elektron pochtangizning ishonchliligini oshiradi, shuning uchun SPAM sifatida belgilanmasdan etkazib berish qobiliyatini oshiradi. +WarningPHPMailB=- Ba'zi elektron pochta xizmatlarini ko'rsatuvchi provayderlar (Yahoo singari) sizga o'z serverlaridan tashqari boshqa serverlardan elektron pochta xabarlarini yuborishga ruxsat bermaydilar. Sizning joriy sozlamangiz dastur serveridan sizning elektron pochta provayderingiz serverini emas, balki elektron pochta xabarlarini yuborish uchun foydalanadi, shuning uchun ba'zi qabul qiluvchilar (cheklovchi DMARC protokoli bilan mos keladigan) sizning elektron pochta provayderingizdan sizning elektron pochtangizni va ba'zi elektron pochta provayderlarini qabul qila oladimi deb so'rashadi. (Yahoo singari) "yo'q" deb javob berishi mumkin, chunki server ularga tegishli emas, shuning uchun yuborilgan elektron pochtangizning oz qismi etkazib berishga qabul qilinmasligi mumkin (elektron pochta provayderingiz yuborish kvotasidan ham ehtiyot bo'ling). +WarningPHPMailC=- Elektron pochta xabarlarini yuborish uchun o'zingizning elektron pochta xizmati provayderingizning SMTP-serveridan foydalanish ham qiziq, shuning uchun dasturdan yuborilgan barcha elektron pochta xabarlari sizning pochta qutingizdagi "Yuborilgan" katalogga saqlanadi. +WarningPHPMailD=Agar "PHP pochta" usuli siz foydalanmoqchi bo'lgan usul bo'lsa, ushbu ogohlantirishni MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP doimiyligini qo'shib, Uydagi - O'rnatish - Boshqalar qatoriga qo'shishingiz mumkin. +WarningPHPMail2=Agar sizning SMTP elektron pochta provayderingiz elektron pochta mijozini ba'zi bir IP-manzillar bilan cheklashi kerak bo'lsa (juda kam), bu sizning ERP CRM-ilovangiz uchun pochta foydalanuvchisi agentining (MUA) IP-manzili: %s . +WarningPHPMailSPF=Agar sizning elektron pochta manzilingizdagi domen nomi SPF yozuvi bilan himoyalangan bo'lsa (sizdan domen nomlarini ro'yxatdan o'tkazuvchidan so'rang), siz domeningizning DNS-ning SPF yozuviga quyidagi IP-larni qo'shishingiz kerak: %s . ClickToShowDescription=Tavsifni ko'rsatish uchun bosing -DependsOn=This module needs the module(s) -RequiredBy=This module is required by module(s) -TheKeyIsTheNameOfHtmlField=This is the name of the HTML field. Technical knowledge is required to read the content of the HTML page to get the key name of a field. -PageUrlForDefaultValues=You must enter the relative path of the page URL. If you include parameters in URL, the default values will be effective if all parameters are set to same value. -PageUrlForDefaultValuesCreate=
Example:
For the form to create a new third party, it is %s.
For URL of external modules installed into custom directory, do not include the "custom/", so use path like mymodule/mypage.php and not custom/mymodule/mypage.php.
If you want default value only if url has some parameter, you can use %s -PageUrlForDefaultValuesList=
Example:
For the page that lists third parties, it is %s.
For URL of external modules installed into custom directory, do not include the "custom/" so use a path like mymodule/mypagelist.php and not custom/mymodule/mypagelist.php.
If you want default value only if url has some parameter, you can use %s -AlsoDefaultValuesAreEffectiveForActionCreate=Also note that overwritting default values for form creation works only for pages that were correctly designed (so with parameter action=create or presend...) -EnableDefaultValues=Enable customization of default values -EnableOverwriteTranslation=Enable usage of overwritten translation -GoIntoTranslationMenuToChangeThis=A translation has been found for the key with this code. To change this value, you must edit it from Home-Setup-translation. -WarningSettingSortOrder=Warning, setting a default sort order may result in a technical error when going on the list page if field is an unknown field. If you experience such an error, come back to this page to remove the default sort order and restore default behavior. -Field=Field -ProductDocumentTemplates=Document templates to generate product document -FreeLegalTextOnExpenseReports=Free legal text on expense reports -WatermarkOnDraftExpenseReports=Watermark on draft expense reports -AttachMainDocByDefault=Set this to 1 if you want to attach main document to email by default (if applicable) -FilesAttachedToEmail=Attach file -SendEmailsReminders=Send agenda reminders by emails -davDescription=Setup a WebDAV server -DAVSetup=Setup of module DAV -DAV_ALLOW_PRIVATE_DIR=Enable the generic private directory (WebDAV dedicated directory named "private" - login required) -DAV_ALLOW_PRIVATE_DIRTooltip=The generic private directory is a WebDAV directory anybody can access with its application login/pass. -DAV_ALLOW_PUBLIC_DIR=Enable the generic public directory (WebDAV dedicated directory named "public" - no login required) -DAV_ALLOW_PUBLIC_DIRTooltip=The generic public directory is a WebDAV directory anybody can access (in read and write mode), with no authorization required (login/password account). -DAV_ALLOW_ECM_DIR=Enable the DMS/ECM private directory (root directory of the DMS/ECM module - login required) -DAV_ALLOW_ECM_DIRTooltip=The root directory where all files are manually uploaded when using the DMS/ECM module. Similarly as access from the web interface, you will need a valid login/password with adecuate permissions to access it. +DependsOn=Ushbu modulga modul (lar) kerak +RequiredBy=Ushbu modul modul (lar) tomonidan talab qilinadi +TheKeyIsTheNameOfHtmlField=Bu HTML maydonining nomi. Maydonning kalit nomini olish uchun HTML-sahifaning tarkibini o'qish uchun texnik bilim talab qilinadi. +PageUrlForDefaultValues=Siz sahifa URL manzilining nisbiy yo'lini kiritishingiz kerak. Agar siz URL-ga parametrlarni qo'shsangiz, barcha parametrlar bir xil qiymatga o'rnatilsa, standart qiymatlar samarali bo'ladi. +PageUrlForDefaultValuesCreate=
Masalan:
forma yangi uchinchi tomonni yaratishi uchun %s .
Maxsus katalogga o'rnatilgan tashqi modullarning URL manzili uchun "custom /" ni qo'shmang, shuning uchun mymodule / mypage.php va custom / mymodule / mypage.php kabi yo'ldan foydalaning.
Agar url parametrlari bo'lsa, standart qiymatni xohlasangiz, siz %s dan foydalanishingiz mumkin +PageUrlForDefaultValuesList=
Masalan:
uchinchi shaxslar ro'yxati berilgan sahifa uchun %s .
Maxsus katalogga o'rnatilgan tashqi modullarning URL manzili uchun "custom /" ni qo'shmang, shuning uchun mymodule / mypagelist.php va custom / mymodule / mypagelist.php kabi yo'ldan foydalaning.
Agar url parametrlari bo'lsa, standart qiymatni xohlasangiz, siz %s dan foydalanishingiz mumkin +AlsoDefaultValuesAreEffectiveForActionCreate=Shuni ham yodda tutingki, forma yaratish uchun standart qiymatlarning ustiga yozish faqat to'g'ri ishlab chiqilgan sahifalar uchun ishlaydi (shuning uchun parametr action = create or presend ... bilan) +EnableDefaultValues=Standart qiymatlarni sozlashni yoqish +EnableOverwriteTranslation=Qayta yozilgan tarjimadan foydalanishni yoqish +GoIntoTranslationMenuToChangeThis=Ushbu kod bilan kalit uchun tarjima topildi. Ushbu qiymatni o'zgartirish uchun uni Home-Setup-translation-dan tahrirlashingiz kerak. +WarningSettingSortOrder=Ogohlantirish, standart tartiblash tartibini o'rnatish, agar maydon noma'lum maydon bo'lsa, ro'yxat sahifasiga o'tishda texnik xatolarga olib kelishi mumkin. Agar siz bunday xatoga duch kelsangiz, standart saralash tartibini olib tashlash va odatiy xatti-harakatlarni tiklash uchun ushbu sahifaga qayting. +Field=Maydon +ProductDocumentTemplates=Mahsulot hujjatini yaratish uchun hujjat shablonlari +FreeLegalTextOnExpenseReports=Xarajatlar to'g'risidagi hisobotlar bo'yicha bepul huquqiy matn +WatermarkOnDraftExpenseReports=Xarajatlar hisobotlari bo'yicha suv belgisi +AttachMainDocByDefault=Agar sukut bo'yicha elektron pochtaga asosiy hujjatni qo'shmoqchi bo'lsangiz, buni 1 ga qo'ying (agar kerak bo'lsa) +FilesAttachedToEmail=Faylni biriktiring +SendEmailsReminders=Elektron pochta orqali kun tartibidagi eslatmalarni yuboring +davDescription=WebDAV serverini o'rnating +DAVSetup=DAV modulini sozlash +DAV_ALLOW_PRIVATE_DIR=Umumiy shaxsiy katalogni yoqing ("xususiy" deb nomlangan WebDAV katalogi - kirish zarur) +DAV_ALLOW_PRIVATE_DIRTooltip=Umumiy shaxsiy katalog - bu WebDAV katalogidir, unga kirish uchun kirish / kirish orqali har kim kirish huquqiga ega. +DAV_ALLOW_PUBLIC_DIR=Umumiy umumiy katalogni yoqing ("public" deb nomlangan WebDAV katalogi - kirish shart emas) +DAV_ALLOW_PUBLIC_DIRTooltip=Umumiy umumiy katalog - bu WebDAV katalogi bo'lib, unga kirish uchun hech kim kira olmaydi (o'qish va yozish rejimida), hech qanday avtorizatsiya talab qilinmaydi (kirish / parol qayd yozuvi). +DAV_ALLOW_ECM_DIR=DMS / ECM shaxsiy katalogini yoqing (DMS / ECM modulining ildiz katalogi - kirish zarur) +DAV_ALLOW_ECM_DIRTooltip=DMS / ECM modulidan foydalanganda barcha fayllar qo'lda yuklanadigan ildiz katalogi. Xuddi shu tarzda veb-interfeysdan kirish kabi sizga kirish uchun ruxsatnomalar bilan tegishli login / parol kerak bo'ladi. # Modules Module0Name=Foydalanuvchilar va guruhlar Module0Desc=Foydalanuvchilar / xodimlar va guruhlarni boshqarish @@ -547,8 +548,8 @@ Module40Name=Sotuvchilar Module40Desc=Sotuvchilar va sotib olishni boshqarish (sotib olish buyurtmalari va etkazib beruvchilarning hisob-fakturalari) Module42Name=Xatolarni tuzatish jurnallari Module42Desc=Kundaliklarni ro'yxatga olish vositalari (fayl, syslog, ...). Bunday jurnallar texnik / disk raskadrovka uchun mo'ljallangan. -Module43Name=Debug Bar -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Name=Tuzatish paneli +Module43Desc=Brauzeringizda disk raskadrovka satrini qo'shadigan developper vositasi. Module49Name=Tahrirlovchilar Module49Desc=Muharrirlarni boshqarish Module50Name=Mahsulotlar @@ -562,15 +563,15 @@ Module53Desc=Xizmatlarni boshqarish Module54Name=Shartnomalar / Obunalar Module54Desc=Shartnomalarni boshqarish (xizmatlar yoki takroriy obunalar) Module55Name=Shtrixli kodlar -Module55Desc=Barcode or QR code management +Module55Desc=Shtrixli kod yoki QR kodini boshqarish Module56Name=Kredit o'tkazish yo'li bilan to'lov Module56Desc=Kredit o'tkazmalari buyurtmalari bo'yicha etkazib beruvchilarning to'lovlarini boshqarish. U Evropa mamlakatlari uchun SEPA faylini yaratishni o'z ichiga oladi. Module57Name=To'g'ridan-to'g'ri debet orqali to'lovlar Module57Desc=To'g'ridan-to'g'ri debet buyurtmalarini boshqarish. U Evropa mamlakatlari uchun SEPA faylini yaratishni o'z ichiga oladi. Module58Name=ClickToDial Module58Desc=ClickToDial tizimining integratsiyasi (Asterisk, ...) -Module60Name=Stickers -Module60Desc=Management of stickers +Module60Name=Stikerlar +Module60Desc=Stikerlarni boshqarish Module70Name=Aralashuvlar Module70Desc=Intervensiyani boshqarish Module75Name=Xarajatlar va sayohat yozuvlari @@ -609,9 +610,9 @@ Module520Name=Kreditlar Module520Desc=Kreditlarni boshqarish Module600Name=Tadbir to'g'risida bildirishnomalar Module600Desc=Ishbilarmonlik hodisasi bilan bog'liq elektron pochta xabarlarini yuboring: har bir foydalanuvchi uchun (har bir foydalanuvchi uchun sozlash belgilanadi), har bir uchinchi tomon aloqasi uchun (har bir uchinchi tomon uchun belgilanadi) yoki ma'lum elektron pochta orqali. -Module600Long=Note that this module sends emails in real-time when a specific business event occurs. If you are looking for a feature to send email reminders for agenda events, go into the setup of module Agenda. -Module610Name=Product Variants -Module610Desc=Creation of product variants (color, size etc.) +Module600Long=Shuni esda tutingki, ushbu modul ma'lum bir ish hodisasi yuz berganda elektron pochta xabarlarini real vaqtda yuboradi. Agar kun tartibidagi voqealar uchun elektron pochta orqali eslatmalar yuborish xususiyatini qidirsangiz, kun tartibi modulini sozlang. +Module610Name=Mahsulot variantlari +Module610Desc=Mahsulot variantlarini yaratish (rang, o'lcham va boshqalar). Module700Name=Xayriyalar Module700Desc=Xayriya mablag'larini boshqarish Module770Name=Xarajatlar bo'yicha hisobotlar @@ -645,10 +646,10 @@ Module2700Desc=Foydalanuvchilar / a'zolarning fotosuratlarini ko'rsatish uchun e Module2800Desc=FTP mijozi Module2900Name=GeoIPMaxmind Module2900Desc=GeoIP Maxmind konversiyalari imkoniyatlari -Module3200Name=Unalterable Archives -Module3200Desc=Enable an unalterable log of business events. Events are archived in real-time. The log is a read-only table of chained events that can be exported. This module may be mandatory for some countries. -Module3400Name=Social Networks -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3200Name=O'zgarmas arxivlar +Module3200Desc=O'zgarmas ishbilarmonlik voqealari jurnalini yoqing. Voqealar real vaqtda arxivlanadi. Jurnal eksport qilinishi mumkin bo'lgan zanjirli voqealar uchun faqat o'qish uchun mo'ljallangan jadvaldir. Ushbu modul ba'zi mamlakatlar uchun majburiy bo'lishi mumkin. +Module3400Name=Ijtimoiy tarmoqlar +Module3400Desc=Ijtimoiy tarmoqlarni uchinchi shaxslarga va manzillarga (skype, twitter, facebook, ...) qo'shish. Module4000Name=HRM Module4000Desc=Inson resurslarini boshqarish (bo'limni boshqarish, xodimlarning shartnomalari va hissiyotlari) Module5000Name=Ko'p kompaniya @@ -661,18 +662,18 @@ Module20000Name=So'rovni boshqarishni tark eting Module20000Desc=Xodimlarning ta'tilga chiqishlarini aniqlash va kuzatib borish Module39000Name=Mahsulotlar juda ko'p Module39000Desc=Mahsulotlar uchun lotlar, seriya raqamlari, ovqatlanish / sotish sanasini boshqarish -Module40000Name=Multicurrency -Module40000Desc=Use alternative currencies in prices and documents +Module40000Name=Ko'p valyuta +Module40000Desc=Narxlar va hujjatlarda muqobil valyutalardan foydalaning Module50000Name=PayBox Module50000Desc=Mijozlarga PayBox onlayn to'lov sahifasini (kredit / debet kartalari) taklif eting. Bu sizning mijozlaringizga vaqtinchalik to'lovlarni yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarni amalga oshirishga ruxsat berish uchun ishlatilishi mumkin (hisob-faktura, buyurtma va hk ...) Module50100Name=POS SimplePOS Module50100Desc=Sotish nuqtasi SimplePOS (oddiy POS) moduli. Module50150Name=POS TakePOS -Module50150Desc=Point of Sale module TakePOS (touchscreen POS, for shops, bars or restaurants). +Module50150Desc=Sotish nuqtasi TakePOS moduli (do'konlar, barlar yoki restoranlar uchun sensorli ekranli POS). Module50200Name=Paypal Module50200Desc=Mijozlarga PayPal onlayn to'lov sahifasini taklif eting (PayPal hisob qaydnomasi yoki kredit / debet kartalari). Bu sizning mijozlaringizga vaqtinchalik to'lovlarni yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarni amalga oshirishga ruxsat berish uchun ishlatilishi mumkin (hisob-faktura, buyurtma va hk ...) -Module50300Name=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...) +Module50300Name=Ip +Module50300Desc=Mijozlarga Stripe onlayn to'lov sahifasini taklif eting (kredit / debet kartalar). Bu sizning mijozlaringizga vaqtinchalik to'lovlarni yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarni amalga oshirishga ruxsat berish uchun ishlatilishi mumkin (hisob-faktura, buyurtma va hk ...) Module50400Name=Buxgalteriya hisobi (ikki martalik yozuv) Module50400Desc=Buxgalteriya hisobini boshqarish (ikki tomonlama yozuvlar, Bosh va yordamchi kitoblarni qo'llab-quvvatlash). Buxgalteriya dasturini boshqa bir qancha buxgalteriya dasturlari formatida eksport qiling. Module54000Name=PrintIPP @@ -683,8 +684,8 @@ Module59000Name=Chegaralar Module59000Desc=Chegaralarni kuzatib borish uchun modul Module60000Name=Komissiyalar Module60000Desc=Komissiyalarni boshqarish moduli -Module62000Name=Incoterms -Module62000Desc=Add features to manage Incoterms +Module62000Name=Inkoermalar +Module62000Desc=Incoterms-ni boshqarish uchun funktsiyalarni qo'shing Module63000Name=Resurslar Module63000Desc=Tadbirlarga ajratish uchun resurslarni (printerlar, mashinalar, xonalar, ...) boshqaring Permission11=Mijozlarning hisob-fakturalarini o'qing @@ -706,7 +707,7 @@ Permission32=Mahsulotlarni yaratish / o'zgartirish Permission34=Mahsulotlarni o'chirish Permission36=Yashirin mahsulotlarni ko'ring / boshqaring Permission38=Mahsulotlarni eksport qilish -Permission39=Ignore minimum price +Permission39=Minimal narxga e'tibor bermang Permission41=Loyihalar va vazifalarni o'qing (umumiy loyiha va men aloqada bo'lgan loyihalar). Belgilangan vazifalar bo'yicha men uchun yoki mening ierarxiyam uchun sarflangan vaqtni ham kiritish mumkin (Timesheet) Permission42=Loyihalarni yaratish / o'zgartirish (umumiy loyiha va men aloqada bo'lgan loyihalar). Vazifalar yaratishi va foydalanuvchilarni loyiha va vazifalarga tayinlashi mumkin Permission44=Loyihalarni o'chirish (umumiy loyiha va men bog'langan loyihalar) @@ -715,9 +716,9 @@ Permission61=Ta'sirlarni o'qing Permission62=Interventsiyalarni yaratish / o'zgartirish Permission64=Ta'sirlarni o'chirib tashlang Permission67=Eksport tadbirlari -Permission68=Send interventions by email -Permission69=Validate interventions -Permission70=Invalidate interventions +Permission68=Interventsiyalarni elektron pochta orqali yuboring +Permission69=Ta'sirlarni tasdiqlang +Permission70=Ta'sirlarni bekor qilish Permission71=A'zolarni o'qing Permission72=A'zolarni yaratish / o'zgartirish Permission74=A'zolarni o'chirish @@ -740,7 +741,7 @@ Permission95=Hisobotlarni o'qing Permission101=Yuborishlarni o'qing Permission102=Yuborishlarni yaratish / o'zgartirish Permission104=Yuborishlarni tasdiqlash -Permission105=Send sendings by email +Permission105=Yuborishlarni elektron pochta orqali yuboring Permission106=Eksport jo'natmalari Permission109=Yuborishlarni o'chirish Permission111=Moliyaviy hisoblarni o'qing @@ -816,7 +817,7 @@ Permission254=Faqat tashqi foydalanuvchilarni yarating / o'zgartiring Permission255=Boshqa foydalanuvchilarning parolini o'zgartiring Permission256=Boshqa foydalanuvchilarni o'chirish yoki o'chirish Permission262=Barcha uchinchi shaxslarga va ularning ob'ektlariga kirishni kengaytiring (nafaqat foydalanuvchi savdo vakili bo'lgan uchinchi shaxslar).
tashqi foydalanuvchilar uchun samarali emas (takliflar, buyurtmalar, hisob-fakturalar, shartnomalar va boshqalar uchun har doim o'zlari bilan cheklangan).
Loyihalar uchun samarali emas (faqat loyiha ruxsatnomalari qoidalari, ko'rinishi va tayinlash masalalari). -Permission263=Extend access to all third parties WITHOUT their objects (not only third parties for which the user is a sale representative).
Not effective for external users (always limited to themselves for proposals, orders, invoices, contracts, etc.).
Not effective for projects (only rules on project permissions, visibility and assignment matters). +Permission263=Ob'ektlarisiz barcha uchinchi shaxslarga kirishni kengaytiring (nafaqat foydalanuvchi savdo vakili bo'lgan uchinchi shaxslar).
tashqi foydalanuvchilar uchun samarali emas (takliflar, buyurtmalar, hisob-fakturalar, shartnomalar va boshqalar uchun har doim o'zlari bilan cheklangan).
Loyihalar uchun samarali emas (faqat loyiha ruxsatnomalari qoidalari, ko'rinishi va tayinlash masalalari). Permission271=CA ni o'qing Permission272=Hisob-fakturalarni o'qing Permission273=Hisob-fakturalarni chiqarish @@ -848,12 +849,12 @@ Permission401=Chegirmalarni o'qing Permission402=Chegirmalar yaratish / o'zgartirish Permission403=Chegirmalarni tasdiqlang Permission404=Chegirmalarni o'chirib tashlang -Permission430=Use Debug Bar -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody -Permission519=Export salaries +Permission430=Debug Bar-dan foydalaning +Permission511=Ish haqi va to'lovlarni o'qing (o'zingizniki va bo'ysunuvchilaringiz) +Permission512=Ish haqi va to'lovlarni yaratish / o'zgartirish +Permission514=Ish haqi va to'lovlarni o'chirib tashlang +Permission517=Barchani ish haqi va to'lovlarini o'qing +Permission519=Eksport ish haqi Permission520=Kreditlarni o'qing Permission522=Kreditlarni yaratish / o'zgartirish Permission524=Kreditlarni o'chirish @@ -864,19 +865,19 @@ Permission532=Xizmatlarni yaratish / o'zgartirish Permission534=Xizmatlarni o'chirish Permission536=Yashirin xizmatlarni ko'rish / boshqarish Permission538=Eksport xizmatlari -Permission561=Read payment orders by credit transfer -Permission562=Create/modify payment order by credit transfer -Permission563=Send/Transmit payment order by credit transfer -Permission564=Record Debits/Rejections of credit transfer -Permission601=Read stickers -Permission602=Create/modify stickers -Permission609=Delete stickers -Permission650=Read Bills of Materials -Permission651=Create/Update Bills of Materials -Permission652=Delete Bills of Materials -Permission660=Read Manufacturing Order (MO) -Permission661=Create/Update Manufacturing Order (MO) -Permission662=Delete Manufacturing Order (MO) +Permission561=Kredit o'tkazmasi orqali to'lov topshiriqlarini o'qing +Permission562=Kredit o'tkazish yo'li bilan to'lov topshirig'ini yaratish / o'zgartirish +Permission563=To'lov topshirig'ini kredit o'tkazish yo'li bilan yuborish / uzatish +Permission564=Debetlarni yozing / kredit o'tkazishni rad etish +Permission601=Stikerlarni o'qing +Permission602=Stikerlarni yarating / o'zgartiring +Permission609=Stikerlarni o'chirish +Permission650=Materiallar varaqalarini o'qing +Permission651=Materiallar hujjatlarini yarating / yangilang +Permission652=Materiallar varaqalarini o'chirish +Permission660=Ishlab chiqarish buyurtmasini o'qing (MO) +Permission661=Ishlab chiqarish buyurtmasini yaratish (yangilash) +Permission662=Ishlab chiqarish buyurtmasini o'chirish (MO) Permission701=Xayr-ehsonlarni o'qing Permission702=Xayriya mablag'larini yaratish / o'zgartirish Permission703=Xayriyalarni o'chirib tashlang @@ -886,8 +887,8 @@ Permission773=Xarajatlar to'g'risidagi hisobotlarni o'chirish Permission774=Barcha xarajatlar hisobotlarini o'qing (hatto bo'ysunuvchi bo'lmagan foydalanuvchi uchun ham) Permission775=Xarajatlar to'g'risidagi hisobotlarni tasdiqlash Permission776=Xarajatlar bo'yicha hisobotlarni to'lash -Permission777=Read expense reports of everybody -Permission778=Create/modify expense reports of everybody +Permission777=Hammaning hisobot hisobotini o'qing +Permission778=Hammaning xarajatlar hisobotini yarating / o'zgartiring Permission779=Eksport xarajatlari to'g'risidagi hisobotlar Permission1001=Qimmatli qog'ozlarni o'qing Permission1002=Omborlarni yaratish / o'zgartirish @@ -898,12 +899,12 @@ Permission1101=Yetkazib berish kvitansiyasini o'qing Permission1102=Yetkazib berish kvitansiyasini yarating / o'zgartiring Permission1104=Yetkazib berish kvitansiyasini tasdiqlang Permission1109=Yetkazib berish kvitansiyasini o'chirib tashlang -Permission1121=Read supplier proposals -Permission1122=Create/modify supplier proposals -Permission1123=Validate supplier proposals -Permission1124=Send supplier proposals -Permission1125=Delete supplier proposals -Permission1126=Close supplier price requests +Permission1121=Yetkazib beruvchilarning takliflarini o'qing +Permission1122=Yetkazib beruvchilar takliflarini yaratish / o'zgartirish +Permission1123=Yetkazib beruvchilarning takliflarini tasdiqlash +Permission1124=Yetkazib beruvchilarga takliflarni yuboring +Permission1125=Yetkazib beruvchilarning takliflarini o'chirib tashlang +Permission1126=Yetkazib beruvchilar narxlari bo'yicha so'rovlarni yoping Permission1181=Ta'minlovchilarni o'qing Permission1182=Xarid qilish buyurtmalarini o'qing Permission1183=Sotib olish to'g'risida buyurtmalarni yaratish / o'zgartirish @@ -912,9 +913,9 @@ Permission1185=Xarid qilish buyurtmalarini tasdiqlash Permission1186=Xarid buyurtmalariga buyurtma bering Permission1187=Sotib olish to'g'risida buyurtmalar olinganligini tasdiqlang Permission1188=Xarid buyurtmalarini o'chirib tashlang -Permission1189=Check/Uncheck a purchase order reception +Permission1189=Xarid qilish buyurtmasini qabul qilishni belgilang / belgini olib tashlang Permission1190=Sotib olish buyurtmalarini tasdiqlash (ikkinchi tasdiqlash) -Permission1191=Export supplier orders and their attributes +Permission1191=Eksport etkazib beruvchilarning buyurtmalari va ularning atributlari Permission1201=Eksport natijasini oling Permission1202=Eksportni yaratish / o'zgartirish Permission1231=Sotuvchi fakturalarini o'qing @@ -928,8 +929,8 @@ Permission1251=Ma'lumotlar bazasiga tashqi ma'lumotlarning ommaviy importini oli Permission1321=Xaridorlarning hisob-fakturalarini, atributlarini va to'lovlarini eksport qiling Permission1322=To'langan hisobni qayta oching Permission1421=Sotish bo'yicha buyurtmalar va atributlarni eksport qiling -Permission1521=Read documents -Permission1522=Delete documents +Permission1521=Hujjatlarni o'qing +Permission1522=Hujjatlarni o'chirish Permission2401=Uning foydalanuvchi akkauntiga bog'langan amallarni (voqealar yoki vazifalarni) o'qing (agar tadbir egasi yoki unga tayinlangan bo'lsa) Permission2402=Uning foydalanuvchi akkauntiga bog'langan amallarni (voqealar yoki vazifalarni) yaratish / o'zgartirish (agar tadbir egasi bo'lsa) Permission2403=Uning foydalanuvchi akkauntiga bog'langan amallarni (voqealar yoki vazifalarni) o'chirish (agar tadbir egasi bo'lsa) @@ -943,49 +944,49 @@ Permission2503=Hujjatlarni yuborish yoki o'chirish Permission2515=Hujjatlar kataloglarini sozlash Permission2801=FTP mijozidan o'qish rejimida foydalaning (faqat ko'rib chiqing va yuklab oling) Permission2802=Yozish rejimida FTP mijozidan foydalaning (fayllarni o'chirish yoki yuklash) -Permission3200=Read archived events and fingerprints -Permission3301=Generate new modules -Permission4001=See employees -Permission4002=Create employees -Permission4003=Delete employees -Permission4004=Export employees -Permission10001=Read website content -Permission10002=Create/modify website content (html and javascript content) -Permission10003=Create/modify website content (dynamic php code). Dangerous, must be reserved to restricted developers. -Permission10005=Delete website content +Permission3200=Arxivlangan voqealar va barmoq izlarini o'qing +Permission3301=Yangi modullarni yarating +Permission4001=Xodimlarni ko'rish +Permission4002=Xodimlarni yarating +Permission4003=Xodimlarni o'chirish +Permission4004=Xodimlarni eksport qilish +Permission10001=Veb-sayt tarkibini o'qing +Permission10002=Veb-sayt tarkibini yaratish / o'zgartirish (HTML va javascript tarkibi) +Permission10003=Veb-sayt tarkibini yaratish / o'zgartirish (dinamik php-kod). Xavfli, cheklangan ishlab chiquvchilarga tegishli bo'lishi kerak. +Permission10005=Veb-sayt tarkibini o'chirish Permission20001=Ta'tilga bo'lgan talablarni o'qing (sizning va sizning bo'ysunuvchilaringizning ta'tillari) Permission20002=Ta'tilga oid so'rovlarni yaratish (o'zgartirish va o'zingizning bo'ysunuvchilaringiz) Permission20003=Dam olish uchun so'rovlarni o'chirib tashlang Permission20004=Barcha ta'tilga oid so'rovlarni o'qing (hatto foydalanuvchi unga bo'ysunmagan) Permission20005=Barchaga (hattoki tobe bo'lmagan foydalanuvchi uchun ham) ta'tilga chiqish so'rovlarini yaratish / o'zgartirish Permission20006=Administrator so'rovlarni qoldiradi (sozlash va balansni yangilash) -Permission20007=Approve leave requests +Permission20007=Ta'til bo'yicha so'rovlarni tasdiqlash Permission23001=Rejalashtirilgan ishni o'qing Permission23002=Rejalashtirilgan ishni yaratish / yangilash Permission23003=Rejalashtirilgan ishni o'chirish Permission23004=Rejalashtirilgan ishni bajaring Permission50101=Savdo punktidan foydalaning (SimplePOS) -Permission50151=Use Point of Sale (TakePOS) -Permission50152=Edit sales lines -Permission50153=Edit ordered sales lines +Permission50151=Savdo punktidan foydalaning (TakePOS) +Permission50152=Savdo yo'nalishlarini tahrirlash +Permission50153=Buyurtma qilingan savdo yo'nalishlarini tahrirlash Permission50201=Tranzaksiyalarni o'qing Permission50202=Import operatsiyalari -Permission50330=Read objects of Zapier -Permission50331=Create/Update objects of Zapier -Permission50332=Delete objects of Zapier -Permission50401=Bind products and invoices with accounting accounts -Permission50411=Read operations in ledger -Permission50412=Write/Edit operations in ledger -Permission50414=Delete operations in ledger -Permission50415=Delete all operations by year and journal in ledger -Permission50418=Export operations of the ledger -Permission50420=Report and export reports (turnover, balance, journals, ledger) -Permission50430=Define fiscal periods. Validate transactions and close fiscal periods. -Permission50440=Manage chart of accounts, setup of accountancy -Permission51001=Read assets -Permission51002=Create/Update assets -Permission51003=Delete assets -Permission51005=Setup types of asset +Permission50330=Zapier ob'ektlarini o'qing +Permission50331=Zapier ob'ektlarini yaratish / yangilash +Permission50332=Zapier ob'ektlarini o'chirish +Permission50401=Mahsulotlar va hisob-fakturalarni buxgalteriya hisobvaraqlari bilan bog'lash +Permission50411=Amallarni daftarda o'qing +Permission50412=Daftarda operatsiyalarni yozish / tahrirlash +Permission50414=Hisob kitobidagi operatsiyalarni o'chirish +Permission50415=Barcha operatsiyalarni yil bo'yicha o'chiring va daftarda qayd qiling +Permission50418=Buxgalteriya kitobining eksport operatsiyalari +Permission50420=Hisobot va eksport bo'yicha hisobotlar (tovar aylanmasi, balans, jurnallar, daftar) +Permission50430=Fiskal davrlarni aniqlang. Tranzaktsiyalarni tasdiqlang va soliq davrlarini yoping. +Permission50440=Hisob-kitoblar rejasini boshqarish, buxgalteriya hisobini sozlash +Permission51001=Aktivlarni o'qing +Permission51002=Obyektlarni yaratish / yangilash +Permission51003=Obyektlarni o‘chirish +Permission51005=Aktiv turlarini sozlash Permission54001=Chop etish Permission55001=So'rovnomalarni o'qing Permission55002=So'rovlarni yaratish / o'zgartirish @@ -996,21 +997,21 @@ Permission63001=Resurslarni o'qing Permission63002=Resurslarni yaratish / o'zgartirish Permission63003=Resurslarni o'chirish Permission63004=Resurslarni kun tartibidagi voqealar bilan bog'lang -Permission64001=Allow direct printing -Permission67000=Allow printing of receipts -Permission68001=Read intracomm report -Permission68002=Create/modify intracomm report -Permission68004=Delete intracomm report -Permission941601=Read receipts -Permission941602=Create and modify receipts -Permission941603=Validate receipts -Permission941604=Send receipts by email -Permission941605=Export receipts -Permission941606=Delete receipts +Permission64001=To'g'ridan-to'g'ri bosib chiqarishga ruxsat berish +Permission67000=Kvitansiyalarni bosib chiqarishga ruxsat berish +Permission68001=Ichki hisobotni o'qing +Permission68002=Ichki hisobotni yaratish / o'zgartirish +Permission68004=Ichki hisobotni o'chirib tashlang +Permission941601=Kvitansiyalarni o'qing +Permission941602=Kvitansiyalarni yarating va o'zgartiring +Permission941603=Kvitansiyalarni tasdiqlash +Permission941604=Qabullarni elektron pochta orqali yuboring +Permission941605=Tovarlarni eksport qilish +Permission941606=Kvitansiyalarni o'chirish DictionaryCompanyType=Uchinchi tomon turlari DictionaryCompanyJuridicalType=Uchinchi tomon yuridik shaxslari DictionaryProspectLevel=Kompaniyalar uchun istiqbolli potentsial darajasi -DictionaryProspectContactLevel=Prospect potential level for contacts +DictionaryProspectContactLevel=Kontaktlar uchun istiqbolli potentsial darajasi DictionaryCanton=Shtatlar / viloyatlar DictionaryRegion=Mintaqalar DictionaryCountry=Mamlakatlar @@ -1023,7 +1024,7 @@ DictionaryRevenueStamp=Soliq markalari miqdori DictionaryPaymentConditions=To'lov shartlari DictionaryPaymentModes=To'lov usullari DictionaryTypeContact=Aloqa / manzil turlari -DictionaryTypeOfContainer=Website - Type of website pages/containers +DictionaryTypeOfContainer=Veb-sayt - veb-sayt sahifalarining turi / konteynerlari DictionaryEcotaxe=Ekotaks (WEEE) DictionaryPaperFormat=Qog'oz formatlari DictionaryFormatCards=Karta formatlari @@ -1035,32 +1036,32 @@ DictionaryOrderMethods=Buyurtma usullari DictionarySource=Takliflarning / buyurtmalarning kelib chiqishi DictionaryAccountancyCategory=Hisobotlar uchun moslashtirilgan guruhlar DictionaryAccountancysystem=Hisob-kitoblar rejasi uchun modellar -DictionaryAccountancyJournal=Accounting journals +DictionaryAccountancyJournal=Buxgalteriya jurnallari DictionaryEMailTemplates=Elektron pochta shablonlari DictionaryUnits=Birlik -DictionaryMeasuringUnits=Measuring Units -DictionarySocialNetworks=Social Networks +DictionaryMeasuringUnits=O'lchov birliklari +DictionarySocialNetworks=Ijtimoiy tarmoqlar DictionaryProspectStatus=Kompaniyalarning istiqbolli holati -DictionaryProspectContactStatus=Prospect status for contacts +DictionaryProspectContactStatus=Kontaktlar uchun istiqbol holati DictionaryHolidayTypes=Dam olish - ta'til turlari DictionaryOpportunityStatus=Loyiha / qo'rg'oshin uchun etakchi holat -DictionaryExpenseTaxCat=Expense report - Transportation categories -DictionaryExpenseTaxRange=Expense report - Range by transportation category -DictionaryTransportMode=Intracomm report - Transport mode -DictionaryBatchStatus=Product lot/serial Quality Control status -TypeOfUnit=Type of unit +DictionaryExpenseTaxCat=Xarajatlar to'g'risidagi hisobot - transport toifalari +DictionaryExpenseTaxRange=Xarajatlar to'g'risidagi hisobot - transport kategoriyasi bo'yicha oraliq +DictionaryTransportMode=Ichki hisobot - Transport rejimi +DictionaryBatchStatus=Mahsulot partiyasi / ketma-ket sifat nazorati holati +TypeOfUnit=Birlikning turi SetupSaved=O'rnatish saqlandi -SetupNotSaved=Setup not saved +SetupNotSaved=Sozlash saqlanmadi BackToModuleList=Modullar ro'yxatiga qaytish BackToDictionaryList=Lug'atlar ro'yxatiga qaytish -TypeOfRevenueStamp=Type of tax stamp +TypeOfRevenueStamp=Soliq markasining turi VATManagement=Sotish bo'yicha soliqni boshqarish VATIsUsedDesc=Sukut bo'yicha istiqbollarni, schyot-fakturalarni, buyurtmalarni va boshqalarni yaratishda Soliq stavkasi amaldagi standart qoidaga amal qiladi:
Agar sotuvchiga Sotuv solig'i olinmasa, u holda Soliq solig'i sukut bo'yicha 0 ga teng bo'ladi. Qoida oxiri.
((sotuvchining mamlakati = xaridorning mamlakati) bo'lsa, u holda sotuvlar bo'yicha soliq sukut bo'yicha sotuvchining mamlakatidagi sotish solig'iga teng bo'ladi. Qoidaning tugashi.
Agar sotuvchi va xaridor ikkalasi ham Evropa hamjamiyatida bo'lsa va tovarlar transport bilan bog'liq mahsulotlar (yuk tashish, yuk tashish, aviakompaniya) bo'lsa, standart QQS 0. Bu qoida sotuvchining mamlakatiga bog'liq - iltimos, buxgalteringiz bilan maslahatlashing. QQSni xaridor sotuvchiga emas, balki o'z mamlakatlaridagi bojxona idoralariga to'lashi kerak. Qoidaning tugashi.
Agar sotuvchi va xaridor ikkalasi ham Evropa hamjamiyatida bo'lsa va xaridor kompaniya bo'lmasa (ro'yxatdan o'tgan QQS raqami bilan), u holda QQS sotuvchi mamlakatining QQS stavkasiga mos kelmaydi. Qoidaning tugashi.
Agar sotuvchi va xaridor ikkalasi ham Evropa hamjamiyatida bo'lsa va xaridor shirkat bo'lsa (ro'yxatdan o'tgan jamiyat ichidagi QQS raqami bilan), unda QQS sukut bo'yicha 0 ga teng. Qoidaning tugashi.
Boshqa har qanday holatda, taklif qilingan sukut sotish solig'i = 0. Qoidaning tugashi. VATIsNotUsedDesc=Sukut bo'yicha taklif qilinadigan Soliq solig'i 0 ga teng bo'lib, u assotsiatsiyalar, jismoniy shaxslar yoki kichik kompaniyalar kabi hollarda ishlatilishi mumkin. VATIsUsedExampleFR=Frantsiyada bu haqiqiy fiskal tizimga ega bo'lgan kompaniyalar yoki tashkilotlarni anglatadi (Soddalashtirilgan real yoki normal real). QQS e'lon qilingan tizim. VATIsNotUsedExampleFR=Frantsiyada bu Sotishdan tashqari deklaratsiyalangan assotsiatsiyalarni yoki mikrofirma fiskal tizimini tanlagan (franchayzadagi savdo solig'i) va franchayzing savdo soliqlarini hech qanday savdo deklaratsiyasisiz to'lagan kompaniyalar, tashkilotlar yoki liberal kasblarni anglatadi. Ushbu tanlovda hisobvaraq-fakturalarda "Amalga oshirilmaydigan savdo solig'i - CGI san'ati-293B" ma'lumotnomasi ko'rsatiladi. ##### Local Taxes ##### -TypeOfSaleTaxes=Type of sales tax +TypeOfSaleTaxes=Sotishdan olinadigan soliq turi LTRate=Tezlik LocalTax1IsNotUsed=Ikkinchi soliqdan foydalanmang LocalTax1IsUsedDesc=Soliqning ikkinchi turidan foydalaning (birinchisidan tashqari) @@ -1084,9 +1085,9 @@ LocalTax2IsUsedDescES=Istiqbollar, hisob-fakturalar, buyurtmalar va boshqalarni LocalTax2IsNotUsedDescES=Odatiy bo'lib, taklif qilingan IRPF 0. Qoidalarning oxiri. LocalTax2IsUsedExampleES=Ispaniyada xizmat ko'rsatuvchi frilanserlar va mustaqil mutaxassislar va modullarning soliq tizimini tanlagan kompaniyalar. LocalTax2IsNotUsedExampleES=Ispaniyada ular modul soliq tizimiga bo'ysunmaydigan korxonalardir. -RevenueStampDesc=The "tax stamp" or "revenue stamp" is a fixed tax you per invoice (It does not depend on amount of invoice). It can also be a percent tax but using the second or third type of tax is better for percent taxes as tax stamps does not provide any reporting. Only few countries uses this type of tax. -UseRevenueStamp=Use a tax stamp -UseRevenueStampExample=The value of tax stamp is defined by default into the setup of dictionaries (%s - %s - %s) +RevenueStampDesc="Soliq shtampi" yoki "daromad shtampi" - har bir faktura bo'yicha qat'iy belgilangan soliq (Bu schyot-faktura miqdoriga bog'liq emas). Shuningdek, bu foizli soliq bo'lishi mumkin, ammo soliqning ikkinchi yoki uchinchi turidan foydalanish foizli soliqlar uchun yaxshiroqdir, chunki soliq markalarida hech qanday hisobot berilmaydi. Ushbu turdagi soliqlardan faqat ozgina mamlakatlar foydalanadi. +UseRevenueStamp=Soliq markasidan foydalaning +UseRevenueStampExample=Soliq markasining qiymati sukut bo'yicha lug'atlarni o'rnatishda aniqlanadi (%s - %s - %s) CalcLocaltax=Mahalliy soliqlar bo'yicha hisobotlar CalcLocaltax1=Sotish - sotib olish CalcLocaltax1Desc=Mahalliy soliqlar bo'yicha hisobotlar mahalliy soliqlarni sotish va mahalliy soliqlarni sotib olish o'rtasidagi farq bilan hisoblanadi @@ -1094,12 +1095,12 @@ CalcLocaltax2=Xaridlar CalcLocaltax2Desc=Mahalliy soliqlar bo'yicha hisobotlar - bu mahalliy soliqlarni sotib olishning umumiy miqdori CalcLocaltax3=Sotish CalcLocaltax3Desc=Mahalliy soliqlar bo'yicha hisobotlar - bu mahalliy soliqlar bo'yicha sotuvlar yig'indisi -NoLocalTaxXForThisCountry=According to the setup of taxes (See %s - %s - %s), your country does not need to use such type of tax +NoLocalTaxXForThisCountry=Soliqlarni o'rnatishga muvofiq (Qarang: %s - %s - %s), sizning mamlakatingizda bunday turdagi soliqlardan foydalanishning hojati yo'q LabelUsedByDefault=Agar kod uchun tarjima topilmasa, sukut bo'yicha ishlatiladigan yorliq LabelOnDocuments=Hujjatlardagi yorliq -LabelOrTranslationKey=Label or translation key -ValueOfConstantKey=Value of a configuration constant -ConstantIsOn=Option %s is on +LabelOrTranslationKey=Yorliq yoki tarjima kaliti +ValueOfConstantKey=Konfiguratsiya doimiyligining qiymati +ConstantIsOn=%s variant yoniq NbOfDays=Kunlar soni AtEndOfMonth=Oy oxirida CurrentNext=Joriy / keyingi @@ -1140,8 +1141,8 @@ DefaultMaxSizeList=Ro'yxatlar uchun standart maksimal uzunlik DefaultMaxSizeShortList=Qisqa ro'yxatlar uchun standart maksimal uzunlik (ya'ni mijozlar kartasida) MessageOfDay=Kunning xabari MessageLogin=Kirish sahifasidagi xabar -LoginPage=Login page -BackgroundImageLogin=Background image +LoginPage=Kirish sahifasi +BackgroundImageLogin=Orqa fon rasmi PermanentLeftSearchForm=Chap menyuda doimiy qidiruv shakli DefaultLanguage=Standart til EnableMultilangInterface=Xaridor yoki sotuvchi munosabatlari uchun ko'p tilli yordamni yoqing @@ -1155,11 +1156,11 @@ CompanyTown=Shahar CompanyCountry=Mamlakat CompanyCurrency=Asosiy valyuta CompanyObject=Kompaniya ob'ekti -IDCountry=ID country +IDCountry=ID mamlakat Logo=Logotip -LogoDesc=Main logo of company. Will be used into generated documents (PDF, ...) -LogoSquarred=Logo (squarred) -LogoSquarredDesc=Must be a squarred icon (width = height). This logo will be used as the favorite icon or other need like for the top menu bar (if not disabled into display setup). +LogoDesc=Kompaniyaning asosiy logotipi. Yaratilgan hujjatlarda ishlatiladi (PDF, ...) +LogoSquarred=Logotip (kvadrat shaklida) +LogoSquarredDesc=Kvadratik belgi bo'lishi kerak (kenglik = balandlik). Ushbu logotip eng yaxshi belgi yoki yuqori menyu satridagi boshqa ehtiyojlar sifatida ishlatiladi (agar displey sozlamalarida o'chirilmagan bo'lsa). DoNotSuggestPaymentMode=Taklif qilmang NoActiveBankAccountDefined=Faol bank hisob raqami aniqlanmadi OwnerOfBankAccount=%s bank hisobvarag'ining egasi @@ -1183,15 +1184,15 @@ Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Bank bilan kelishuv kutilmoqda Delays_MAIN_DELAY_MEMBERS=Kechiktirilgan a'zolik badali Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Depozitni tekshirish amalga oshirilmagan Delays_MAIN_DELAY_EXPENSEREPORTS=Tasdiqlash uchun xarajatlar to'g'risidagi hisobot -Delays_MAIN_DELAY_HOLIDAYS=Leave requests to approve +Delays_MAIN_DELAY_HOLIDAYS=Tasdiqlash uchun so'rovlarni qoldiring SetupDescription1=Dolibarr-dan foydalanishni boshlashdan oldin ba'zi bir boshlang'ich parametrlarni aniqlash va modullarni yoqish / sozlash kerak. SetupDescription2=Quyidagi ikkita bo'lim majburiydir (O'rnatish menyusidagi ikkita birinchi yozuv): SetupDescription3= %s -> %s

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

Ushbu dastur ko'plab modullar / ilovalar to'plamidir. Sizning ehtiyojlaringiz bilan bog'liq modullarni yoqish va sozlash kerak. Ushbu modullar yoqilganda menyu yozuvlari paydo bo'ladi. SetupDescription5=Boshqa O'rnatish menyusi yozuvlari ixtiyoriy parametrlarni boshqaradi. -AuditedSecurityEvents=Security events that are audited -NoSecurityEventsAreAduited=No security events are audited. You can enable them from menu %s -Audit=Security events +AuditedSecurityEvents=Tekshiriladigan xavfsizlik hodisalari +NoSecurityEventsAreAduited=Hech qanday xavfsizlik hodisalari tekshirilmaydi. Siz ularni %s menyusidan faollashtirishingiz mumkin +Audit=Xavfsizlik tadbirlari InfoDolibarr=Dolibarr haqida InfoBrowser=Brauzer haqida InfoOS=OS haqida @@ -1199,7 +1200,7 @@ InfoWebServer=Veb-server haqida InfoDatabase=Ma'lumotlar bazasi haqida InfoPHP=PHP haqida InfoPerf=Ijrolar haqida -InfoSecurity=About Security +InfoSecurity=Xavfsizlik to'g'risida BrowserName=Brauzer nomi BrowserOS=Brauzer OS ListOfSecurityEvents=Dolibarr xavfsizlik tadbirlari ro'yxati @@ -1209,14 +1210,14 @@ AreaForAdminOnly=O'rnatish parametrlarini faqat administrator foydalanuvchil SystemInfoDesc=Tizim ma'lumotlari faqat o'qish rejimida olinadigan va faqat administratorlar uchun ko'rinadigan turli xil texnik ma'lumotlardir. SystemAreaForAdminOnly=Ushbu maydon faqat administrator foydalanuvchilari uchun mavjud. Dolibarr foydalanuvchi ruxsatnomalari ushbu cheklovni o'zgartira olmaydi. CompanyFundationDesc=Kompaniyangiz / tashkilotingiz ma'lumotlarini tahrirlash. Ish tugagandan so'ng sahifaning pastki qismidagi "%s" tugmasini bosing. -AccountantDesc=If you have an external accountant/bookkeeper, you can edit here its information. -AccountantFileNumber=Accountant code +AccountantDesc=Agar sizda tashqi buxgalter / buxgalter bo'lsa, bu erda uning ma'lumotlarini tahrirlashingiz mumkin. +AccountantFileNumber=Buxgalter kodi DisplayDesc=Dolibarr tashqi ko'rinishiga va xatti-harakatlariga ta'sir qiladigan parametrlarni bu erda o'zgartirish mumkin. AvailableModules=Mavjud ilova / modullar ToActivateModule=Modullarni faollashtirish uchun o'rnatish maydoniga o'ting (Uy-> O'rnatish-> Modullar). SessionTimeOut=Mashg'ulot uchun vaqt tugadi SessionExplanation=This number guarantees that the session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guarantee that the session will expire after this delay. It will expire, after this delay, and when the session cleaner is run, so every %s/%s access, but only during access made by other sessions (if value is 0, it means clearing of session is done only by an external process).
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by an external setup, no matter what the value entered here is. -SessionsPurgedByExternalSystem=Sessions on this server seems to be cleaned by an external mechanism (cron under debian, ubuntu ...), probably every %s seconds (= value of parameter session.gc_maxlifetime), so changing the value here has no effect. You must ask the server administrator to change session delay. +SessionsPurgedByExternalSystem=Ushbu serverdagi sessiyalar tashqi mexanizm (cron, debian, ubuntu ...) bilan tozalanadigandek tuyuladi, ehtimol har bir %s soniya (= session.gc9f88 Server ma'muridan sessiyaning kechikishini o'zgartirishni so'rashingiz kerak. TriggersAvailable=Mavjud triggerlar TriggersDesc=Triggerlar - bu htdocs / core / triggers katalogiga ko'chirilgandan so'ng, Dolibarr ish oqimini o'zgartiradigan fayllar. Ular Dolibarr tadbirlarida faollashtirilgan yangi harakatlarni amalga oshiradilar (yangi kompaniya yaratish, hisob-fakturani tasdiqlash, ...). TriggerDisabledByName=Ushbu fayldagi triggerlar o'z nomidagi -NORUN qo'shimchasi tomonidan o'chirib qo'yilgan. @@ -1250,25 +1251,25 @@ RestoreDesc2="Hujjatlar" katalogining zaxira faylini (masalan, zip fayli) yangi RestoreDesc3=Ma'lumotlar bazasi tuzilishini va zaxira dump faylidan yangi Dolibarr o'rnatilishi ma'lumotlar bazasiga yoki ushbu joriy o'rnatish bazasiga tiklang ( %s ). Ogohlantirish, tiklash tugallangandan so'ng, qayta ulanish uchun zaxira vaqti / o'rnatilishidan oldin mavjud bo'lgan login / paroldan foydalanishingiz kerak.
zaxira ma'lumotlar bazasini ushbu joriy o'rnatishga qaytarish uchun ushbu yordamchiga ergashishingiz mumkin. RestoreMySQL=MySQL-ni import qilish ForcedToByAModule=Ushbu qoida majburiy ravishda faollashtirilgan modul tomonidan %s -ValueIsForcedBySystem=This value is forced by the system. You can't change it. +ValueIsForcedBySystem=Ushbu qiymat tizim tomonidan majburlanadi. Siz uni o'zgartira olmaysiz. PreviousDumpFiles=Mavjud zaxira fayllari -PreviousArchiveFiles=Existing archive files +PreviousArchiveFiles=Mavjud arxiv fayllari WeekStartOnDay=Haftaning birinchi kuni RunningUpdateProcessMayBeRequired=Yangilash jarayonini bajarish talab etilgandek tuyuladi (%s dastur versiyasi %s ma'lumotlar bazasidan farq qiladi) YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. YourPHPDoesNotHaveSSLSupport=Sizning PHP-da SSL funktsiyalari mavjud emas DownloadMoreSkins=Yuklab olish uchun ko'proq terilar SimpleNumRefModelDesc=%syymm-nnnn formatidagi mos yozuvlar raqamini qaytaradi, bu erda yy yil, mm oy va nnnn ketma-ket avtomatik ortib boruvchi raqam -SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Professional identifikatorni manzillari bilan ko'rsating -ShowVATIntaInAddress=Hamjamiyat ichidagi QQS raqamini manzillari bilan yashirish +SimpleNumRefNoDateModelDesc=%s-nnnn formatidagi mos yozuvlar raqamini qaytaradi, bu erda nnnn qayta tiklanmagan ketma-ket avtomatik ko'paytiruvchi raqam +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Qisman tarjima MAIN_DISABLE_METEO=Meteorologik ko'rinishni o'chirib qo'ying -MeteoStdMod=Standard mode -MeteoStdModEnabled=Standard mode enabled -MeteoPercentageMod=Percentage mode -MeteoPercentageModEnabled=Percentage mode enabled -MeteoUseMod=Click to use %s +MeteoStdMod=Standart rejim +MeteoStdModEnabled=Standart rejim yoqilgan +MeteoPercentageMod=Foiz rejimi +MeteoPercentageModEnabled=Foiz rejimi yoqilgan +MeteoUseMod=%s dan foydalanish uchun bosing TestLoginToAPI=API-ga kirishni sinab ko'ring ProxyDesc=Dolibarr-ning ba'zi xususiyatlari Internetga kirishni talab qiladi. Agar kerak bo'lsa, proksi-server orqali kirish kabi Internetga ulanish parametrlarini bu erda aniqlang. ExternalAccess=Tashqi / Internetga kirish @@ -1280,7 +1281,7 @@ MAIN_PROXY_PASS=Proksi-server: parol DefineHereComplementaryAttributes=Qo'shilishi kerak bo'lgan har qanday qo'shimcha / maxsus atributlarni aniqlang: %s ExtraFields=Bir-birini to'ldiruvchi atributlar ExtraFieldsLines=Qo'shimcha atributlar (chiziqlar) -ExtraFieldsLinesRec=Complementary attributes (templates invoices lines) +ExtraFieldsLinesRec=Qo'shimcha atributlar (shablonlar fakturalar satrlari) ExtraFieldsSupplierOrdersLines=Qo'shimcha atributlar (buyurtma satrlari) ExtraFieldsSupplierInvoicesLines=Qo'shimcha atributlar (hisob-faktura satrlari) ExtraFieldsThirdParties=Qo'shimcha atributlar (uchinchi tomon) @@ -1288,12 +1289,12 @@ ExtraFieldsContacts=Qo'shimcha atributlar (kontaktlar / manzil) ExtraFieldsMember=Qo'shimcha atributlar (a'zo) ExtraFieldsMemberType=Qo'shimcha atributlar (a'zo turi) ExtraFieldsCustomerInvoices=Qo'shimcha atributlar (hisob-fakturalar) -ExtraFieldsCustomerInvoicesRec=Complementary attributes (templates invoices) +ExtraFieldsCustomerInvoicesRec=Qo'shimcha atributlar (shablonlar hisob-fakturalari) ExtraFieldsSupplierOrders=Qo'shimcha atributlar (buyurtmalar) ExtraFieldsSupplierInvoices=Qo'shimcha atributlar (hisob-fakturalar) ExtraFieldsProject=Qo'shimcha atributlar (loyihalar) ExtraFieldsProjectTask=Qo'shimcha atributlar (vazifalar) -ExtraFieldsSalaries=Complementary attributes (salaries) +ExtraFieldsSalaries=Qo'shimcha atributlar (ish haqi) ExtraFieldHasWrongValue=%s atributi noto'g'ri qiymatga ega. AlphaNumOnlyLowerCharsAndNoSpace=bo'sh joysiz faqat alfasayısal va kichik harflar SendmailOptionNotComplete=E'tibor bering, ba'zi bir Linux tizimlarida elektron pochtangizdan elektron pochta xabarlarini yuborish uchun sendmail-ning bajarilishini o'rnatish -ba parametrini o'z ichiga olishi kerak (sizning php.ini faylingizga mail.force_extra_parameters parametri). Agar ba'zi bir qabul qiluvchilar hech qachon elektron pochta xabarlarini olmasalar, ushbu PHP parametrini mail.force_extra_parameters = -ba) bilan tahrir qilib ko'ring. @@ -1311,8 +1312,8 @@ CurrentTranslationString=Joriy tarjima qatori WarningAtLeastKeyOrTranslationRequired=Hech bo'lmaganda kalit yoki tarjima satri uchun qidiruv mezonlari talab qilinadi NewTranslationStringToShow=Ko'rsatiladigan yangi tarjima qatori OriginalValueWas=Asl tarjima ustiga yozilgan. Asl qiymati:

%s -TransKeyWithoutOriginalValue=You forced a new translation for the translation key '%s' that does not exist in any language files -TitleNumberOfActivatedModules=Activated modules +TransKeyWithoutOriginalValue=Siz " %s " tarjima kaliti uchun hech qanday til fayllarida mavjud bo'lmagan yangi tarjimani majbur qildingiz +TitleNumberOfActivatedModules=Faollashtirilgan modullar TotalNumberOfActivatedModules=Faollashtirilgan modullar: %s / %s YouMustEnableOneModule=Siz kamida 1 ta modulni yoqishingiz kerak ClassNotFoundIntoPathWarning=%s sinfi PHP yo'lida topilmadi @@ -1322,26 +1323,26 @@ SuhosinSessionEncrypt=Suxsin tomonidan shifrlangan sessiyani saqlash ConditionIsCurrently=Vaziyat hozirda %s YouUseBestDriver=Siz hozirda mavjud bo'lgan eng yaxshi haydovchi bo'lgan %s drayveridan foydalanasiz. YouDoNotUseBestDriver=Siz haydovchi %s dan foydalanasiz, lekin %s drayveri tavsiya etiladi. -NbOfObjectIsLowerThanNoPb=You have only %s %s in the database. This does not require any particular optimization. -ComboListOptim=Combo list loading optimization +NbOfObjectIsLowerThanNoPb=Sizda ma'lumotlar bazasida faqat %s %s mavjud. Bu aniq bir optimallashtirishni talab qilmaydi. +ComboListOptim=Kombinatsiyalangan ro'yxatni yuklashni optimallashtirish SearchOptim=Qidiruvni optimallashtirish -YouHaveXObjectUseComboOptim=You have %s %s in the database. You can go into setup of module to enable loading of combo list on key pressed event. -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. -YouHaveXObjectUseSearchOptimDesc=This limits the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response. -YouHaveXObjectAndSearchOptimOn=You have %s %s in the database and constant %s is set to %s in Home-Setup-Other. +YouHaveXObjectUseComboOptim=Sizda ma'lumotlar bazasida %s %s mavjud. Siz tugmachani bosilgan hodisada kombinatsiyalangan ro'yxatni yuklash uchun modulni o'rnatishingiz mumkin. +YouHaveXObjectUseSearchOptim=Sizda ma'lumotlar bazasida %s %s mavjud. Home-Setup-Other-da %s doimiyligini 1 ga qo'shishingiz mumkin. +YouHaveXObjectUseSearchOptimDesc=Bu qidiruvni satrlarning boshida cheklaydi, bu ma'lumotlar bazasiga indekslardan foydalanishga imkon beradi va siz darhol javob olishingiz kerak. +YouHaveXObjectAndSearchOptimOn=Sizda ma'lumotlar bazasida %s %s mavjud va doimiy %s %s ga Home-Setup-Other-da o'rnatilgan. BrowserIsOK=Siz %s veb-brauzeridan foydalanmoqdasiz. Ushbu brauzer xavfsizlik va ishlash uchun yaxshi. BrowserIsKO=Siz %s veb-brauzeridan foydalanmoqdasiz. Ushbu brauzer xavfsizlik, ishlash va ishonchlilik uchun yomon tanlov ekanligi ma'lum. Firefox, Chrome, Opera yoki Safari-dan foydalanishni tavsiya etamiz. -PHPModuleLoaded=PHP component %s is loaded -PreloadOPCode=Preloaded OPCode is used +PHPModuleLoaded=PH0 komponenti %s yuklandi +PreloadOPCode=Oldindan yuklangan OPCode ishlatiladi AddRefInList=Mijoz / sotuvchini ko'rsatish. ma'lumot ro'yxati (ro'yxat yoki kombinatsion qutini tanlang) va ko'prikning ko'pligi.
Uchinchi tomonlar "CC12345 - SC45678 - Katta kompaniya korpusi" nom formatida paydo bo'ladi. "Katta kompaniya korpusi" o'rniga. -AddAdressInList=Display Customer/Vendor adress info list (select list or combobox)
Third Parties will appear with a name format of "The Big Company corp. - 21 jump street 123456 Big town - USA" instead of "The Big Company corp". -AddEmailPhoneTownInContactList=Display Contact email (or phones if not defined) and town info list (select list or combobox)
Contacts will appear with a name format of "Dupond Durand - dupond.durand@email.com - Paris" or "Dupond Durand - 06 07 59 65 66 - Paris" instead of "Dupond Durand". +AddAdressInList=
uchinchi tomonlar "Buyuk Kompaniya korpusi" o'rniga "Katta kompaniya korpusi. - 21 o'tish ko'chasi 123456 Katta shahar - AQSh" formatidagi "Uchinchi tomonlar" paydo bo'ladi. +AddEmailPhoneTownInContactList=
Aloqa uchun elektron pochta manzilini (yoki aniqlanmagan telefonlar bilan) va shahar haqida ma'lumot ro'yxatini (tanlang ro'yxati yoki kombinat qutisi) ko'rsating "Dupond Durand - dupond.durand@email.com - Parij" yoki "Dyupond Durand - 06 07 59 65 66 - "Dyupond Dyurand" o'rniga "Parij". AskForPreferredShippingMethod=Uchinchi shaxslar uchun jo'natilgan transport usulini so'rang. FieldEdition=%s maydonining nashri FillThisOnlyIfRequired=Misol: +2 (faqat vaqt mintaqasini ofset bilan bog'liq muammolar yuzaga kelganda to'ldiring) GetBarCode=Shtrixli kodni oling -NumberingModules=Numbering models -DocumentModules=Document models +NumberingModules=Nomerlash modellari +DocumentModules=Hujjat modellari ##### Module password generation PasswordGenerationStandard=Ichki Dolibarr algoritmiga binoan yaratilgan parolni qaytaring: %s belgilarida umumiy raqamlar va kichik harflardagi belgilar mavjud. PasswordGenerationNone=Yaratilgan parolni taklif qilmang. Parolni qo'lda kiritish kerak. @@ -1353,9 +1354,9 @@ RuleForGeneratedPasswords=Parollarni yaratish va tasdiqlash qoidalari DisableForgetPasswordLinkOnLogonPage=Kirish sahifasida "Parol unutilgan" havolasini ko'rsatmang UsersSetup=Foydalanuvchilar modulini sozlash UserMailRequired=Yangi foydalanuvchi yaratish uchun elektron pochta kerak -UserHideInactive=Hide inactive users from all combo lists of users (Not recommended: this may means you won't be able to filter or search on old users on some pages) -UsersDocModules=Document templates for documents generated from user record -GroupsDocModules=Document templates for documents generated from a group record +UserHideInactive=Faol bo'lmagan foydalanuvchilarni barcha foydalanuvchilar ro'yxatidan yashirish (Tavsiya etilmaydi: bu ba'zi sahifalarda eski foydalanuvchilarni filtrlay olmaysiz yoki qidira olmaysiz degan ma'noni anglatadi) +UsersDocModules=Foydalanuvchi yozuvidan hosil bo'lgan hujjatlar uchun hujjat shablonlari +GroupsDocModules=Guruh yozuvidan hosil qilingan hujjatlar uchun hujjat shablonlari ##### HRM setup ##### HRMSetup=HRM modulini sozlash ##### Company setup ##### @@ -1374,18 +1375,18 @@ CompanyIdProfChecker=Professional guvohnomalar uchun qoidalar MustBeUnique=Noyob bo'lishi kerakmi? MustBeMandatory=Uchinchi shaxslarni yaratish majburiymi (agar QQS raqami yoki kompaniya turi aniqlangan bo'lsa)? MustBeInvoiceMandatory=Hisob-fakturalarni tasdiqlash majburiymi? -TechnicalServicesProvided=Technical services provided +TechnicalServicesProvided=Ko'rsatilgan texnik xizmatlar #####DAV ##### -WebDAVSetupDesc=This is the link to access the WebDAV directory. It contains a "public" dir open to any user knowing the URL (if public directory access allowed) and a "private" directory that needs an existing login account/password for access. -WebDavServer=Root URL of %s server: %s +WebDAVSetupDesc=Bu WebDAV katalogiga kirish uchun havola. Unda URLni biladigan har qanday foydalanuvchi uchun ochiq bo'lgan "umumiy" dir (agar katalogga kirish uchun ruxsat berilgan bo'lsa) va kirish uchun mavjud bo'lgan kirish qayd yozuvi / parol kerak bo'lgan "shaxsiy" katalog mavjud. +WebDavServer=%s serverining ildiz URL manzili: %s ##### Webcal setup ##### WebCalUrlForVCalExport= %s formatiga eksport havolasi quyidagi havolada mavjud: %s ##### Invoices ##### BillsSetup=Hisob-fakturalar modulini sozlash BillsNumberingModule=Hisob-fakturalar va kredit yozuvlarini raqamlash modeli BillsPDFModules=Hisob-faktura hujjatlari modellari -BillsPDFModulesAccordindToInvoiceType=Invoice documents models according to invoice type -PaymentsPDFModules=Payment documents models +BillsPDFModulesAccordindToInvoiceType=Hisob-faktura turiga ko'ra hisob-faktura hujjatlari modellari +PaymentsPDFModules=To'lov hujjatlari modellari ForceInvoiceDate=Hisob-fakturani tasdiqlash sanasiga majburlang SuggestedPaymentModesIfNotDefinedInInvoice=Hisob-fakturada belgilanmagan bo'lsa, sukut bo'yicha hisob-kitob bo'yicha tavsiya etilgan to'lovlar rejimi SuggestPaymentByRIBOnAccount=Hisobga pul tushirish orqali to'lovni taklif eting @@ -1399,7 +1400,7 @@ SupplierPaymentSetup=Sotuvchi to'lovlarini sozlash PropalSetup=Tijorat takliflari modulini sozlash ProposalsNumberingModules=Tijorat takliflarini raqamlash modellari ProposalsPDFModules=Tijorat takliflari hujjatlari modellari -SuggestedPaymentModesIfNotDefinedInProposal=Suggested payments mode on proposal by default if not defined on the proposal +SuggestedPaymentModesIfNotDefinedInProposal=Taklif bo'yicha aniqlanmagan bo'lsa, sukut bo'yicha taklif bo'yicha tavsiya etilgan to'lovlar rejimi FreeLegalTextOnProposal=Tijorat takliflari bo'yicha bepul matn WatermarkOnDraftProposal=Tijorat takliflari loyihasidagi suv belgisi (bo'sh bo'lmasa) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Bank hisobvarag'i bo'yicha taklifni so'rang @@ -1414,7 +1415,7 @@ WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER=Buyurtma uchun Ombor manbasini so'rang ##### Suppliers Orders ##### BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER=Xarid qilish buyurtmasi bo'yicha bank hisob raqamini so'rang ##### Orders ##### -SuggestedPaymentModesIfNotDefinedInOrder=Suggested payments mode on sale order by default if not defined on the order +SuggestedPaymentModesIfNotDefinedInOrder=Agar buyurtmada aniqlanmagan bo'lsa, sukut bo'yicha sotish buyurtmasi bo'yicha tavsiya etilgan to'lovlar rejimi OrdersSetup=Savdo buyurtmalarini boshqarishni sozlash OrdersNumberingModules=Buyurtmalarni raqamlash modellari OrdersModelModule=Hujjatlar modellarini buyurtma qilish @@ -1440,10 +1441,10 @@ MemberMainOptions=Asosiy variantlar AdherentLoginRequired= Har bir a'zo uchun tizimga kirishni boshqaring AdherentMailRequired=Yangi a'zo yaratish uchun elektron pochta kerak MemberSendInformationByMailByDefault=Odatiy ravishda a'zolarga pochta orqali tasdiqlash (tasdiqlash yoki yangi obuna) yuborish uchun tasdiqlash qutisi yoqilgan -MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated -VisitorCanChooseItsPaymentMode=Visitor can choose from available payment modes -MEMBER_REMINDER_EMAIL=Enable automatic reminder by email of expired subscriptions. Note: Module %s must be enabled and correctly setup to send reminders. -MembersDocModules=Document templates for documents generated from member record +MemberCreateAnExternalUserForSubscriptionValidated=Tasdiqlangan har bir yangi a'zo obuna uchun tashqi foydalanuvchi loginini yarating +VisitorCanChooseItsPaymentMode=Mehmon mavjud to'lov usullarini tanlashi mumkin +MEMBER_REMINDER_EMAIL=Muddati o'tgan obunalarni
elektron pochta orqali avtomatik eslatib turishni yoqing. Eslatma: %s moduli yoqilgan va eslatmalarni yuborish uchun to'g'ri sozlangan bo'lishi kerak. +MembersDocModules=Ro'yxatdan yozuvlaridan hosil bo'lgan hujjatlar uchun hujjat shablonlari ##### LDAP setup ##### LDAPSetup=LDAP-ni sozlash LDAPGlobalParameters=Global parameters @@ -1451,7 +1452,7 @@ LDAPUsersSynchro=Foydalanuvchilar LDAPGroupsSynchro=Guruhlar LDAPContactsSynchro=Kontaktlar LDAPMembersSynchro=A'zolar -LDAPMembersTypesSynchro=Members types +LDAPMembersTypesSynchro=A'zolar turlari LDAPSynchronization=LDAP sinxronizatsiyasi LDAPFunctionsNotAvailableOnPHP=PHP-da LDAP funktsiyalari mavjud emas LDAPToDolibarr=LDAP -> Dolibarr @@ -1461,7 +1462,7 @@ LDAPSynchronizeUsers=LDAP-da foydalanuvchilarni tashkil etish LDAPSynchronizeGroups=LDAP da guruhlarni tashkil etish LDAPSynchronizeContacts=LDAP-da aloqalarni tashkil etish LDAPSynchronizeMembers=LDAPda fond a'zolarini tashkil etish -LDAPSynchronizeMembersTypes=Organization of foundation's members types in LDAP +LDAPSynchronizeMembersTypes=LDAPda fond a'zolarining turlarini tashkil etish LDAPPrimaryServer=Asosiy server LDAPSecondaryServer=Ikkilamchi server LDAPServerPort=Server porti @@ -1485,18 +1486,18 @@ LDAPDnContactActive=Kontaktlarni sinxronlashtirish LDAPDnContactActiveExample=Faollashtirilgan / yoqilmagan sinxronizatsiya LDAPDnMemberActive=A'zolarni sinxronlashtirish LDAPDnMemberActiveExample=Faollashtirilgan / yoqilmagan sinxronizatsiya -LDAPDnMemberTypeActive=Members types' synchronization -LDAPDnMemberTypeActiveExample=Activated/Unactivated synchronization +LDAPDnMemberTypeActive=A'zolar turlarini sinxronlashtirish +LDAPDnMemberTypeActiveExample=Faollashtirilgan / yoqilmagan sinxronizatsiya LDAPContactDn=Dolibarr kontaktlarining DN LDAPContactDnExample=To'liq DN (masalan: ou = kontaktlar, dc = misol, dc = com) LDAPMemberDn=Dolibarr a'zolari DN LDAPMemberDnExample=To'liq DN (masalan: ou = a'zolar, dc = misol, dc = com) LDAPMemberObjectClassList=ObjectClass ro'yxati LDAPMemberObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, inetOrgPerson yoki top, faol katalog uchun foydalanuvchi) -LDAPMemberTypeDn=Dolibarr members types DN -LDAPMemberTypepDnExample=Complete DN (ex: ou=memberstypes,dc=example,dc=com) -LDAPMemberTypeObjectClassList=List of objectClass -LDAPMemberTypeObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPMemberTypeDn=Dolibarr a'zolari DN ni yozadilar +LDAPMemberTypepDnExample=To'liq DN (masalan: ou = a'zo tiplari, dc = misol, dc = com) +LDAPMemberTypeObjectClassList=ObjectClass ro'yxati +LDAPMemberTypeObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, groupOfUniqueNames) LDAPUserObjectClassList=ObjectClass ro'yxati LDAPUserObjectClassListExample=Reklama atributlarini belgilaydigan objectClass ro'yxati (masalan: top, inetOrgPerson yoki top, faol katalog uchun foydalanuvchi) LDAPGroupObjectClassList=ObjectClass ro'yxati @@ -1508,7 +1509,7 @@ LDAPTestSynchroContact=Kontaktlar sinxronizatsiyasini sinab ko'ring LDAPTestSynchroUser=Foydalanuvchi bilan sinxronlashni sinab ko'ring LDAPTestSynchroGroup=Sinov guruhini sinxronlashtirish LDAPTestSynchroMember=Sinov a'zolarini sinxronlashtirish -LDAPTestSynchroMemberType=Test member type synchronization +LDAPTestSynchroMemberType=Sinov a'zolarining turini sinxronlashtirish LDAPTestSearch= LDAP qidiruvini sinab ko'ring LDAPSynchroOK=Sinxronizatsiya testi muvaffaqiyatli o'tdi LDAPSynchroKO=Sinxronizatsiya sinovi muvaffaqiyatsiz tugadi @@ -1525,7 +1526,7 @@ LDAPFieldLoginUnix=Kirish (unix) LDAPFieldLoginExample=Misol: uid LDAPFilterConnection=Qidiruv filtri LDAPFilterConnectionExample=Misol: & (objectClass = inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=Misol: & (objectClass = groupOfUsers) LDAPFieldLoginSamba=Kirish (samba, activedirectory) LDAPFieldLoginSambaExample=Misol: samaccountname LDAPFieldFullname=To'liq ism @@ -1569,27 +1570,27 @@ LDAPFieldSidExample=Misol: objectid LDAPFieldEndLastSubscription=Obuna tugagan sana LDAPFieldTitle=Ish joyi LDAPFieldTitleExample=Misol: sarlavha -LDAPFieldGroupid=Group id -LDAPFieldGroupidExample=Exemple : gidnumber -LDAPFieldUserid=User id -LDAPFieldUseridExample=Exemple : uidnumber -LDAPFieldHomedirectory=Home directory -LDAPFieldHomedirectoryExample=Exemple : homedirectory -LDAPFieldHomedirectoryprefix=Home directory prefix +LDAPFieldGroupid=Guruh identifikatori +LDAPFieldGroupidExample=Misol: gidnumber +LDAPFieldUserid=Foydalanuvchi IDsi +LDAPFieldUseridExample=Misol: uidnumber +LDAPFieldHomedirectory=Uy katalogi +LDAPFieldHomedirectoryExample=Misol: homedirectory +LDAPFieldHomedirectoryprefix=Uy katalogi prefiksi LDAPSetupNotComplete=LDAP-ni sozlash tugallanmagan (boshqalarga o'tish) LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Hech qanday administrator yoki parol taqdim etilmagan. LDAP-ga kirish noma'lum va faqat o'qish rejimida bo'ladi. LDAPDescContact=Ushbu sahifa Dolibarr kontaktlarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. LDAPDescUsers=Ushbu sahifa Dolibarr foydalanuvchilarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. LDAPDescGroups=Ushbu sahifa Dolibarr guruhlarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. LDAPDescMembers=Ushbu sahifa Dolibarr a'zolari modulida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. -LDAPDescMembersTypes=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members types. +LDAPDescMembersTypes=Ushbu sahifa Dolibarr a'zolari turlarida topilgan har bir ma'lumot uchun LDAP daraxtidagi LDAP atributlari nomini aniqlashga imkon beradi. LDAPDescValues=Misol qiymatlari OpenLDAP uchun quyidagi yuklangan sxemalar bilan yaratilgan: core.schema, cosine.schema, inetorgperson.schema ). Agar siz qadriyatlar va OpenLDAP-dan foydalansangiz, LDAP konfiguratsiya faylini slapd.conf -ga o'zgartiring. ForANonAnonymousAccess=Tasdiqlangan kirish uchun (masalan, yozishga kirish uchun) PerfDolibarr=Ishlashni sozlash / optimallashtirish hisoboti YouMayFindPerfAdviceHere=Ushbu sahifada ishlash bilan bog'liq ba'zi tekshirishlar yoki tavsiyalar berilgan. NotInstalled=O'rnatilmagan -NotSlowedDownByThis=Not slowed down by this. -NotRiskOfLeakWithThis=Not risk of leak with this. +NotSlowedDownByThis=Bu bilan sekinlashmadi. +NotRiskOfLeakWithThis=Bu bilan sizib chiqish xavfi yo'q. ApplicativeCache=Amaliy kesh MemcachedNotAvailable=Amaliy kesh topilmadi. Siz Memcached kesh-serverini va ushbu kesh-serverdan foydalanishga qodir bo'lgan modulni o'rnatish orqali ish faoliyatini oshirishingiz mumkin.
Qo'shimcha ma'lumot bu erda http://wiki.dolibarr.org/index.php/Module_MemCached_EN .
E'tibor bering, ko'plab veb-xosting provayderlari bunday kesh-serverni ta'minlamaydilar. MemcachedModuleAvailableButNotSetup=Amaliy kesh uchun memcached moduli topildi, ammo modulni sozlash tugallanmagan. @@ -1602,28 +1603,28 @@ FilesOfTypeNotCached=%s turidagi fayllar HTTP server tomonidan keshlanmagan FilesOfTypeCompressed=%s tipidagi fayllar HTTP server tomonidan siqiladi FilesOfTypeNotCompressed=%s turidagi fayllar HTTP-server tomonidan siqilmagan CacheByServer=Server tomonidan keshlash -CacheByServerDesc=For example using the Apache directive "ExpiresByType image/gif A2592000" +CacheByServerDesc=Masalan, "ExpiresByType image / gif A2592000" Apache ko'rsatmasidan foydalanish CacheByClient=Brauzer orqali keshlash CompressionOfResources=HTTP javoblarini siqish -CompressionOfResourcesDesc=For example using the Apache directive "AddOutputFilterByType DEFLATE" +CompressionOfResourcesDesc=Masalan, "AddOutputFilterByType DEFLATE" Apache ko'rsatmasidan foydalanish TestNotPossibleWithCurrentBrowsers=Hozirgi brauzerlarda bunday avtomatik aniqlash mumkin emas -DefaultValuesDesc=Here you may define the default value you wish to use when creating a new record, and/or default filters or the sort order when you list records. -DefaultCreateForm=Default values (to use on forms) -DefaultSearchFilters=Default search filters -DefaultSortOrder=Default sort orders -DefaultFocus=Default focus fields -DefaultMandatory=Mandatory form fields +DefaultValuesDesc=Bu erda siz yangi yozuv yaratishda foydalanmoqchi bo'lgan birlamchi qiymatni va / yoki standart filtrlarni yoki yozuvlarni ro'yxatlashda tartiblashtirish tartibini belgilashingiz mumkin. +DefaultCreateForm=Standart qiymatlar (shakllarda foydalanish uchun) +DefaultSearchFilters=Standart qidiruv filtrlari +DefaultSortOrder=Standart tartiblash buyurtmalari +DefaultFocus=Standart fokus maydonlari +DefaultMandatory=Majburiy shakl maydonlari ##### Products ##### ProductSetup=Mahsulotlar modulini sozlash ServiceSetup=Xizmatlar modulini sozlash ProductServiceSetup=Mahsulotlar va xizmatlar modullarini sozlash NumberOfProductShowInSelect=Kombinatsiyalangan ro'yxatlarda ko'rsatiladigan mahsulotlarning maksimal soni (0 = chegara yo'q) ViewProductDescInFormAbility=Shakllarda mahsulot tavsiflarini aks ettiring (aks holda ko'rsatmalar oynasi oynasida ko'rsatiladi) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product -DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. -DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents +DoNotAddProductDescAtAddLines=Shakllarga satrlarni qo'shish uchun mahsulot tavsifini (mahsulot kartasidan) qo'shmang +OnProductSelectAddProductDesc=Mahsulotni hujjat qatori sifatida qo'shganda mahsulotlarning tavsifidan qanday foydalanish +AutoFillFormFieldBeforeSubmit=Tavsifni kiritish maydonini mahsulot tavsifi bilan avtomatik to'ldirish +DoNotAutofillButAutoConcat=Kirish maydonini mahsulot tavsifi bilan avtomatik to'ldirmang. Mahsulotning tavsifi kiritilgan tavsif bilan avtomatik ravishda birlashtiriladi. +DoNotUseDescriptionOfProdut=Mahsulot tavsifi hech qachon hujjatlar satrining tavsifiga kiritilmaydi MergePropalProductCard=Agar mahsulot / xizmat taklifda bo'lsa, mahsulotning PDF-hujjati bilan mahsulotning PDF-hujjatini birlashtirish uchun mahsulot / xizmatda biriktirilgan fayllar yorlig'ini faollashtiring. ViewProductDescInThirdpartyLanguageAbility=Mahsulot tavsiflarini uchinchi tomon tilida (aks holda foydalanuvchi tilida) shakllarda ko'rsatish UseSearchToSelectProductTooltip=Agar sizda ko'p miqdordagi mahsulotlar (> 100 000) bo'lsa, doimiy ravishda PRODUCT_DONOTSEARCH_ANYWHERE-ni Setup-> Other-da 1 ga o'rnatib tezlikni oshirishingiz mumkin. Keyin qidirish satr boshlanishi bilan cheklanadi. @@ -1643,9 +1644,9 @@ SyslogFilename=Fayl nomi va yo'li YouCanUseDOL_DATA_ROOT=Dolibarr "hujjatlar" katalogidagi jurnal fayli uchun DOL_DATA_ROOT / dolibarr.log dan foydalanishingiz mumkin. Ushbu faylni saqlash uchun boshqa yo'lni belgilashingiz mumkin. ErrorUnknownSyslogConstant=Doimiy %s ma'lum Syslog doimiysi emas OnlyWindowsLOG_USER=Windows-da faqat LOG_USER moslamasi qo'llab-quvvatlanadi -CompressSyslogs=Compression and backup of debug log files (generated by module Log for debug) -SyslogFileNumberOfSaves=Number of backup logs to keep -ConfigureCleaningCronjobToSetFrequencyOfSaves=Configure cleaning scheduled job to set log backup frequency +CompressSyslogs=Sozlash va disk raskadrovka jurnal fayllarini zaxiralash (disk raskadrovka uchun Log moduli tomonidan yaratilgan) +SyslogFileNumberOfSaves=Saqlanadigan jurnallar soni +ConfigureCleaningCronjobToSetFrequencyOfSaves=Jurnalning zaxira chastotasini o'rnatish uchun rejalashtirilgan ishni tozalashni sozlang ##### Donations ##### DonationsSetup=Xayriya modulini sozlash DonationsReceiptModel=Xayr-ehson olish to'g'risidagi shablon @@ -1704,7 +1705,7 @@ FCKeditorForProductDetails=WYSIWIG mahsulotlarini yaratish / nashr qilish barcha FCKeditorForMailing= Ommaviy elektron pochta xabarlari uchun WYSIWIG yaratish / nashr (Asboblar -> Elektron pochta) FCKeditorForUserSignature=WYSIWIG yaratish / foydalanuvchi imzosini nashr etish FCKeditorForMail=Barcha pochta uchun WYSIWIG yaratish / nashr (Asboblar -> elektron pochtadan tashqari) -FCKeditorForTicket=WYSIWIG creation/edition for tickets +FCKeditorForTicket=WYSIWIG yaratish / chiptalar uchun nashr ##### Stock ##### StockSetup=Birja modulini sozlash IfYouUsePointOfSaleCheckModule=Agar siz sukut bo'yicha taqdim etilgan Sotish nuqtasi moduli (POS) yoki tashqi moduldan foydalansangiz, ushbu sozlash POS modulingiz tomonidan e'tiborsiz qoldirilishi mumkin. Ko'pgina POS-modullar sukut bo'yicha darhol hisob-fakturani yaratish va bu erdagi variantlardan qat'iy nazar zaxiralarni kamaytirish uchun ishlab chiqilgan. Shunday qilib, sizning POS-dan savdo-sotiqni ro'yxatdan o'tkazishda sizda aktsiyalar kamayishi kerak bo'lsa yoki kerak bo'lmasa, shuningdek POS modul sozlamalarini tekshiring. @@ -1742,8 +1743,8 @@ OptionVATDefault=Standart asos OptionVATDebitOption=Hisoblash usuli OptionVatDefaultDesc=QQS muddati:
- tovarlarni etkazib berish bo'yicha (hisob-kitob sana asosida)
- xizmatlar uchun to'lovlar bo'yicha OptionVatDebitOptionDesc=QQS muddati:
- tovarlarni etkazib berish bo'yicha (hisob-kitob sana asosida)
- xizmatlar uchun hisob-kitob (debet) bo'yicha -OptionPaymentForProductAndServices=Cash basis for products and services -OptionPaymentForProductAndServicesDesc=VAT is due:
- on payment for goods
- on payments for services +OptionPaymentForProductAndServices=Mahsulotlar va xizmatlar uchun naqd poydevor +OptionPaymentForProductAndServicesDesc=QQS to'lashi kerak:
- tovarlarga to'lov bo'yicha
- xizmatlar uchun to'lovlarga SummaryOfVatExigibilityUsedByDefault=Tanlangan variant bo'yicha sukut bo'yicha QQS olish vaqti: OnDelivery=Yetkazib berish paytida OnPayment=To'lov bo'yicha @@ -1757,28 +1758,28 @@ YourCompanyDoesNotUseVAT=Sizning kompaniyangiz QQSdan foydalanmasligi aniqlandi AccountancyCode=Buxgalteriya kodi AccountancyCodeSell=Sotish hisobi. kod AccountancyCodeBuy=Hisobni sotib olish. kod -CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Keep the checkbox “Automatically create the payment” empty by default when creating a new tax +CREATE_NEW_VAT_WITHOUT_AUTO_PAYMENT=Yangi soliqni yaratishda sukut bo'yicha "To'lovni avtomatik ravishda yaratish" katagiga bo'sh joy qo'ying ##### Agenda ##### AgendaSetup=Voqealar va kun tartibi modulini o'rnatish PasswordTogetVCalExport=Eksport havolasini tasdiqlash uchun kalit -SecurityKey = Security Key +SecurityKey = Elektron kalit PastDelayVCalExport=Eskiroq voqeani eksport qilmang AGENDA_USE_EVENT_TYPE=Voqealar turlaridan foydalaning (O'rnatish menyusi -> Lug'atlar -> Kun tartibidagi tadbirlar turi) AGENDA_USE_EVENT_TYPE_DEFAULT=Voqeani yaratish shaklida voqea turi uchun ushbu standart qiymatni avtomatik ravishda sozlash AGENDA_DEFAULT_FILTER_TYPE=Ushbu turdagi tadbirlarni kun tartibi ko'rinishidagi qidiruv filtrida avtomatik ravishda o'rnating AGENDA_DEFAULT_FILTER_STATUS=Ushbu holatni kun tartibi ko'rinishidagi qidiruv filtridagi voqealar uchun avtomatik ravishda o'rnating AGENDA_DEFAULT_VIEW=Kun tartibi menyusini tanlashda qaysi ko'rinishni sukut bo'yicha ochishni xohlaysiz -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). -AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification -AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the scheduled job %s must be enough to be sure that the remind are sent at the correct moment. -AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view +AGENDA_REMINDER_BROWSER= foydalanuvchi brauzerida voqea eslatmasini yoqish +AGENDA_REMINDER_BROWSER_SOUND=Ovozli bildirishnomani yoqish +AGENDA_REMINDER_EMAIL= hodisasini eslatishni elektron pochta orqali yoqing (har bir tadbirda eslatish opsiyasi / kechikishi aniqlanishi mumkin). +AGENDA_REMINDER_EMAIL_NOTE=Eslatma: %s ishining chastotasi eslatmaning to'g'ri vaqtda yuborilganligiga ishonch hosil qilish uchun etarli bo'lishi kerak. +AGENDA_SHOW_LINKED_OBJECT=Bog'langan ob'ektni kun tartibidagi ko'rinishga ko'rsatish ##### Clicktodial ##### ClickToDialSetup=To Dial modulini o'rnatish uchun bosing ClickToDialUrlDesc=Telefon piktogrammasi bosilganda url chaqirdi. URL, siz foydalanishingiz mumkin tags
__PHONETO__ deb
__PHONEFROM__ ClickToDial bilan almashtiriladi shaxs (seniki) qo'ng'iroq telefon raqamini
__LOGIN__ bilan almashtiriladi, deb qo'ng'iroq qilish shaxsning telefon raqami bilan almashtiriladi kirish (foydalanuvchi kartasida belgilangan)
__PASS__ , bu klikktodial parol bilan almashtiriladi (foydalanuvchi kartasida aniqlangan). ClickToDialDesc=Ushbu modul statsionar kompyuterdan foydalanilganda telefon raqamlarini bosish mumkin bo'lgan havolalarga o'zgartiradi. Bir marta bosish raqamga qo'ng'iroq qiladi. Bu ish stolida yumshoq telefondan foydalanilganda yoki masalan, SIP protokoliga asoslangan CTI tizimidan foydalanilganda telefon qo'ng'irog'ini boshlash uchun ishlatilishi mumkin. Eslatma: Smartfondan foydalanganda telefon raqamlari doim bosilishi mumkin. ClickToDialUseTelLink=Telefon raqamlarida faqat "tel:" havolasidan foydalaning -ClickToDialUseTelLinkDesc=Agar sizning foydalanuvchilaringizda dasturiy ta'minot interfeysi o'rnatilgan bo'lsa yoki brauzer bilan bir xil kompyuterda o'rnatilgan bo'lsa va brauzeringizda "tel:" bilan boshlanadigan havolani bosganingizda ushbu usuldan foydalaning. Agar sizga to'liq server echimi kerak bo'lsa (mahalliy dasturiy ta'minotni o'rnatishga hojat yo'q), uni "Yo'q" ga o'rnatishingiz va keyingi maydonni to'ldirishingiz kerak. +ClickToDialUseTelLinkDesc=Agar sizning foydalanuvchilaringizda softphone yoki dastur interfeysi bo'lsa, brauzer bilan bitta kompyuterda o'rnatilgan bo'lsa va brauzeringizda "tel:" bilan boshlangan havolani bosganingizda qo'ng'iroq qilsa, ushbu usuldan foydalaning. Agar sizga "sip:" bilan boshlanadigan havola yoki to'liq server echimi kerak bo'lsa (mahalliy dasturiy ta'minotni o'rnatishga hojat yo'q), uni "Yo'q" ga o'rnatishingiz va keyingi maydonni to'ldirishingiz kerak. ##### Point Of Sale (CashDesk) ##### CashDesk=Sotish punkti CashDeskSetup=Savdo modulini o'rnatish nuqtasi @@ -1786,15 +1787,15 @@ CashDeskThirdPartyForSell=Sotish uchun foydalaniladigan odatiy umumiy uchinchi s CashDeskBankAccountForSell=Naqd to'lovlarni qabul qilish uchun foydalaniladigan standart hisob CashDeskBankAccountForCheque=To'lovlarni chek orqali qabul qilish uchun foydalaniladigan standart hisob CashDeskBankAccountForCB=Kredit kartalar orqali to'lovlarni qabul qilish uchun foydalaniladigan standart hisob -CashDeskBankAccountForSumup=Default bank account to use to receive payments by SumUp +CashDeskBankAccountForSumup=SumUp tomonidan to'lovlarni qabul qilish uchun ishlatiladigan standart bank hisobvarag'i CashDeskDoNotDecreaseStock=Sotish nuqtasi Savdo punktidan amalga oshirilganda aktsiyalarni pasaytirishni o'chirib qo'ying (agar "yo'q" bo'lsa, aktsiyalarni pasaytirish har bir POS-dan amalga oshiriladi, ushbu modulda o'rnatilgan variantdan qat'i nazar). CashDeskIdWareHouse=Omborni kamaytirish uchun omborni majburan cheklang va cheklang StockDecreaseForPointOfSaleDisabled=Savdo punktida aksiyalarning pasayishi o'chirilgan StockDecreaseForPointOfSaleDisabledbyBatch=POS-da aktsiyalarning pasayishi Serial / Lot moduli bilan mos kelmaydi (hozirda faol), shuning uchun aktsiyalarni pasaytirish o'chirilgan. CashDeskYouDidNotDisableStockDecease=Sale of Sale-dan savdo-sotiqni amalga oshirayotganda siz aktsiyalarning pasayishini o'chirib qo'ymadingiz. Shuning uchun ombor kerak. -CashDeskForceDecreaseStockLabel=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=Partiya mahsulotlari uchun zaxiralarni pasaytirish majbur bo'ldi. +CashDeskForceDecreaseStockDesc=Avvaliga eng qadimgi ovqatlanish va sotish sanalari bo'yicha kamaytiring. +CashDeskReaderKeyCodeForEnter=Shtrixli o'quvchida aniqlangan "Enter" uchun kalit kod (Misol: 13) ##### Bookmark ##### BookmarkSetup=Xatcho'plar modulini sozlash BookmarkDesc=Ushbu modul sizga xatcho'plarni boshqarish imkonini beradi. Shuningdek, chap menyuda joylashgan har qanday Dolibarr sahifalariga yoki tashqi veb-saytlarga yorliq qo'shishingiz mumkin. @@ -1826,7 +1827,7 @@ MultiCompanySetup=Ko'p kompaniyalar uchun modulni sozlash ##### Suppliers ##### SuppliersSetup=Sotuvchi modulini sozlash SuppliersCommandModel=Xarid qilish buyurtmasining to'liq shablonlari -SuppliersCommandModelMuscadet=Complete template of Purchase Order (old implementation of cornas template) +SuppliersCommandModelMuscadet=Sotib olish buyurtmasining to'liq shablonlari (kornalar shablonining eski versiyasi) SuppliersInvoiceModel=Sotuvchi fakturasining to'liq shabloni SuppliersInvoiceNumberingModel=Sotuvchi fakturalarni raqamlash modellari IfSetToYesDontForgetPermission=Agar nol qiymatga o'rnatilgan bo'lsa, ikkinchi tasdiqlash uchun ruxsat berilgan guruhlarga yoki foydalanuvchilarga ruxsat berishni unutmang @@ -1868,8 +1869,8 @@ TypePaymentDesc=0: mijozning to'lov turi, 1: sotuvchining to'lov turi, 2: mijozl IncludePath=Yo'lni qo'shing (%s o'zgaruvchisiga belgilangan) ExpenseReportsSetup=Moddiy xarajatlar to'g'risidagi hisobotni sozlash TemplatePDFExpenseReports=Xarajatlar to'g'risidagi hujjatni yaratish uchun hujjat shablonlari -ExpenseReportsRulesSetup=Setup of module Expense Reports - Rules -ExpenseReportNumberingModules=Expense reports numbering module +ExpenseReportsRulesSetup=Xarajatlar bo'yicha hisobotlar modulini sozlash - qoidalar +ExpenseReportNumberingModules=Xarajatlar bo'yicha hisobotlarni raqamlash moduli NoModueToManageStockIncrease=Zaxiralarni avtomatik ravishda oshirishni boshqaradigan biron bir modul faollashtirilmagan. Aksiyalarni ko'paytirish faqat qo'lda kiritish orqali amalga oshiriladi. YouMayFindNotificationsFeaturesIntoModuleNotification="Bildirishnoma" modulini yoqish va sozlash orqali elektron pochta xabarlari uchun variantlarni topishingiz mumkin. ListOfNotificationsPerUser=Har bir foydalanuvchi uchun avtomatik bildirishnomalar ro'yxati * @@ -1879,14 +1880,14 @@ GoOntoUserCardToAddMore=Foydalanuvchilar uchun bildirishnomalarni qo'shish yoki GoOntoContactCardToAddMore=Kontaktlar / manzillar uchun bildirishnomalarni qo'shish yoki o'chirish uchun uchinchi tomonning "Bildirishnomalar" yorlig'iga o'ting Threshold=Eshik BackupDumpWizard=Ma'lumotlar bazasi dump faylini yaratish ustasi -BackupZipWizard=Wizard to build the archive of documents directory +BackupZipWizard=Hujjatlar katalogini yaratish uchun sehrgar SomethingMakeInstallFromWebNotPossible=Tashqi modulni o'rnatish quyidagi sabablarga ko'ra veb-interfeysdan mumkin emas: SomethingMakeInstallFromWebNotPossible2=Shu sababli, bu erda tavsiflangan yangilash jarayoni faqat imtiyozli foydalanuvchi amalga oshirishi mumkin bo'lgan qo'lda bajariladigan jarayondir. InstallModuleFromWebHasBeenDisabledByFile=Ilovadan tashqi modulni o'rnatishni administratoringiz o'chirib qo'ydi. Ushbu funktsiyaga ruxsat berish uchun siz undan %s faylini olib tashlashini so'rashingiz kerak. -ConfFileMustContainCustom=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'; +ConfFileMustContainCustom=Tashqi modulni dasturdan o'rnatish yoki yaratish uchun modul fayllarini %s katalogiga saqlash kerak. Ushbu katalogni Dolibarr tomonidan qayta ishlash uchun siz ikkita direktiv qatorini qo'shish uchun conf / conf.php -ni o'rnatishingiz kerak:
$ dolibarr_main_url_root_;
$ dolibarr_main_document_root_alt = '%s / custom'; HighlightLinesOnMouseHover=Sichqoncha harakati o'tib ketganda jadval satrlarini ajratib ko'rsatish HighlightLinesColor=Sichqoncha o'tib ketganda chiziq rangini belgilang (ajratish uchun 'ffffff' dan foydalaning) -HighlightLinesChecked=Highlight color of the line when it is checked (use 'ffffff' for no highlight) +HighlightLinesChecked=Tekshirilganda chiziq rangini ajratib ko'rsatish (ajratish uchun 'ffffff' dan foydalaning) TextTitleColor=Sahifa sarlavhasining matni rangi LinkColor=Havolalarning rangi PressF5AfterChangingThis=Klaviaturada CTRL + F5 tugmachalarini bosing yoki ushbu qiymatni o'zgartirgandan so'ng brauzer keshini tozalang @@ -1896,17 +1897,17 @@ TopMenuBackgroundColor=Yuqori menyu uchun fon rangi TopMenuDisableImages=Yuqori menyuda rasmlarni yashirish LeftMenuBackgroundColor=Chap menyu uchun fon rangi BackgroundTableTitleColor=Jadval sarlavhasi uchun fon rangi -BackgroundTableTitleTextColor=Text color for Table title line -BackgroundTableTitleTextlinkColor=Text color for Table title link line +BackgroundTableTitleTextColor=Jadval sarlavhasi uchun matn rangi +BackgroundTableTitleTextlinkColor=Jadval sarlavhasi liniyasi uchun matn rangi BackgroundTableLineOddColor=Toq jadval chiziqlari uchun fon rangi BackgroundTableLineEvenColor=Jadvalning tekis chiziqlari uchun fon rangi MinimumNoticePeriod=Minimal ogohlantirish davri (ta'tilga chiqish so'rovingiz ushbu kechiktirishdan oldin amalga oshirilishi kerak) NbAddedAutomatically=Foydalanuvchilarning hisoblagichlariga har oy qo'shilgan kunlar soni (avtomatik ravishda) EnterAnyCode=Ushbu maydonda chiziqni aniqlash uchun ma'lumotnoma mavjud. Siz tanlagan har qanday qiymatni kiriting, lekin maxsus belgilarsiz. -Enter0or1=Enter 0 or 1 +Enter0or1=0 yoki 1 kiriting UnicodeCurrency=Qavslar oralig'iga bu erga kiriting, valyuta belgisini ko'rsatadigan bayt raqamlari ro'yxati. Masalan: $ uchun, [36] kiriting - Braziliya uchun haqiqiy R $ [82,36] - € uchun, [8364] kiriting -ColorFormat=The RGB color is in HEX format, eg: FF0000 -PictoHelp=Icon name in dolibarr format ('image.png' if into the current theme directory, 'image.png@nom_du_module' if into the directory /img/ of a module) +ColorFormat=RGB rangi HEX formatida, masalan: FF0000 +PictoHelp=Dolibarr formatidagi piktogramma nomi (agar 'Mavzu katalogida' image.png ', agar modulning / img / katalogida bo'lsa' image.png@nom_du_module ' PositionIntoComboList=Chiziqning kombinatsion ro'yxatlarga joylashishi SellTaxRate=Sotish uchun soliq stavkasi RecuperableOnly=Frantsiyaning biron bir shtati uchun ajratilgan "Qabul qilinmagan, ammo tiklanadigan" QQS uchun ha. Boshqa barcha holatlarda "Yo'q" qiymatini saqlang. @@ -1915,14 +1916,14 @@ OpportunityPercent=Qo'rg'oshin yaratishda siz taxminiy loyiha / qo'rg'oshin miqd TemplateForElement=Ushbu shablon yozuvi qaysi elementga bag'ishlangan TypeOfTemplate=Shablon turi TemplateIsVisibleByOwnerOnly=Andoza faqat egasiga ko'rinadi -VisibleEverywhere=Visible everywhere -VisibleNowhere=Visible nowhere +VisibleEverywhere=Hamma joyda ko'rinadi +VisibleNowhere=Hech qaerda ko'rinmaydi FixTZ=TimeZone-ni tuzatish FillFixTZOnlyIfRequired=Misol: +2 (faqat muammo yuzaga kelganda to'ldiring) ExpectedChecksum=Kutilayotgan summa CurrentChecksum=Joriy summa -ExpectedSize=Expected size -CurrentSize=Current size +ExpectedSize=Kutilayotgan o'lcham +CurrentSize=Joriy o'lcham ForcedConstants=Kerakli doimiy qiymatlar MailToSendProposal=Mijozlarning takliflari MailToSendOrder=Savdo buyurtmalari @@ -1933,12 +1934,12 @@ MailToSendSupplierRequestForQuotation=Kotirovka so'rovi MailToSendSupplierOrder=Sotib olish uchun buyurtmalar MailToSendSupplierInvoice=Sotuvchi hisob-fakturalari MailToSendContract=Shartnomalar -MailToSendReception=Receptions +MailToSendReception=Qabullar MailToThirdparty=Uchinchi shaxslar -MailToMember=Members -MailToUser=Users -MailToProject=Projects -MailToTicket=Tickets +MailToMember=A'zolar +MailToUser=Foydalanuvchilar +MailToProject=Loyihalar +MailToTicket=Chiptalar ByDefaultInList=Ro'yxat ko'rinishida sukut bo'yicha ko'rsatish YouUseLastStableVersion=Siz eng so'nggi barqaror versiyadan foydalanasiz TitleExampleForMajorRelease=Ushbu yirik nashrni e'lon qilish uchun foydalanishingiz mumkin bo'lgan xabarning namunasi (uni o'zingizning veb-saytingizda ishlating) @@ -1947,16 +1948,16 @@ ExampleOfNewsMessageForMajorRelease=Dolibarr ERP & CRM %s mavjud. %s versiyasi f ExampleOfNewsMessageForMaintenanceRelease=Dolibarr ERP & CRM %s mavjud. %s versiyasi parvarishlash versiyasidir, shuning uchun faqat xatolarni tuzatishni o'z ichiga oladi. Barcha foydalanuvchilarga ushbu versiyaga o'tishni tavsiya etamiz. Ta'minot versiyasi ma'lumotlar bazasiga yangi xususiyatlar yoki o'zgarishlar kiritmaydi. Siz uni https://www.dolibarr.org portalining yuklab olish joyidan yuklab olishingiz mumkin (katalogning barqaror versiyalari). O'zgarishlarning to'liq ro'yxati uchun ChangeLog ni o'qishingiz mumkin. MultiPriceRuleDesc="Mahsulot / xizmat uchun narxlarning bir necha darajalari" opsiyasi yoqilganda, har bir mahsulot uchun har xil narxlarni (narx darajasiga bitta) belgilashingiz mumkin. Vaqtingizni tejash uchun bu erda siz har bir darajadagi narxni birinchi darajadagi narxga qarab avtokalkulyatsiya qilish qoidasini kiritishingiz mumkin, shuning uchun har bir mahsulot uchun faqat birinchi darajadagi narxni kiritishingiz kerak bo'ladi. Ushbu sahifa sizning vaqtingizni tejashga mo'ljallangan, ammo har bir darajadagi narxlaringiz birinchi darajaga nisbatan foydali bo'lgan taqdirdagina foydali bo'ladi. Ko'p hollarda ushbu sahifani e'tiborsiz qoldirishingiz mumkin. ModelModulesProduct=Mahsulot hujjatlari uchun shablonlar -WarehouseModelModules=Templates for documents of warehouses +WarehouseModelModules=Omborlar hujjatlari uchun shablonlar ToGenerateCodeDefineAutomaticRuleFirst=Kodlarni avtomatik ravishda yaratish uchun avval shtrix raqamini avtomatik aniqlash uchun menejerni belgilashingiz kerak. SeeSubstitutionVars=Mumkin bo'lgan o'zgaruvchan o'zgaruvchilar ro'yxati uchun * eslatmani ko'ring -SeeChangeLog=See ChangeLog file (english only) +SeeChangeLog=ChangeLog faylini ko'ring (faqat ingliz tilida) AllPublishers=Barcha noshirlar UnknownPublishers=Noma'lum noshirlar AddRemoveTabs=Yorliqlarni qo'shing yoki olib tashlang -AddDataTables=Add object tables +AddDataTables=Ob'ekt jadvallarini qo'shing AddDictionaries=Lug'at jadvallarini qo'shing -AddData=Add objects or dictionaries data +AddData=Ob'ektlar yoki lug'atlar ma'lumotlarini qo'shing AddBoxes=Vidjetlarni qo'shing AddSheduledJobs=Rejalashtirilgan ish joylarini qo'shing AddHooks=Kancalar qo'shing @@ -1978,169 +1979,172 @@ SamePriceAlsoForSharedCompanies=Agar siz "Yagona narx" tanlovi bilan ko'pkompani ModuleEnabledAdminMustCheckRights=Modul faollashtirildi. Faollashtirilgan modul (lar) ga ruxsat faqat administrator foydalanuvchilariga berilgan. Agar kerak bo'lsa, boshqa foydalanuvchilarga yoki guruhlarga ruxsatnomalarni qo'lda berishingiz kerak bo'lishi mumkin. UserHasNoPermissions=Ushbu foydalanuvchi uchun ruxsatlar aniqlanmagan TypeCdr=Use "None" if the date of payment term is date of invoice plus a delta in days (delta is field "%s")
Use "At end of month", if, after delta, the date must be increased to reach the end of month (+ an optional "%s" in days)
Use "Current/Next" to have payment term date being the first Nth of the month after delta (delta is field "%s", N is stored into field "%s") -BaseCurrency=Reference currency of the company (go into setup of company to change this) -WarningNoteModuleInvoiceForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016). -WarningNoteModulePOSForFrenchLaw=This module %s is compliant with French laws (Loi Finance 2016) because module Non Reversible Logs is automatically activated. -WarningInstallationMayBecomeNotCompliantWithLaw=You are trying to install module %s that is an external module. Activating an external module means you trust the publisher of that module and that you are sure that this module does not adversely impact the behavior of your application, and is compliant with laws of your country (%s). If the module introduces an illegal feature, you become responsible for the use of illegal software. -MAIN_PDF_MARGIN_LEFT=Left margin on PDF -MAIN_PDF_MARGIN_RIGHT=Right margin on PDF -MAIN_PDF_MARGIN_TOP=Top margin on PDF -MAIN_PDF_MARGIN_BOTTOM=Bottom margin on PDF -MAIN_DOCUMENTS_LOGO_HEIGHT=Height for logo on PDF -MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Add picture on proposal line -MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=Add electronic sign in PDF -NothingToSetup=There is no specific setup required for this module. -SetToYesIfGroupIsComputationOfOtherGroups=Set this to yes if this group is a computation of other groups -EnterCalculationRuleIfPreviousFieldIsYes=Enter calculation rule if previous field was set to Yes.
For example:
CODEGRP1+CODEGRP2 -SeveralLangugeVariatFound=Several language variants found -RemoveSpecialChars=Remove special characters -COMPANY_AQUARIUM_CLEAN_REGEX=Regex filter to clean value (COMPANY_AQUARIUM_CLEAN_REGEX) -COMPANY_DIGITARIA_CLEAN_REGEX=Regex filter to clean value (COMPANY_DIGITARIA_CLEAN_REGEX) -COMPANY_DIGITARIA_UNIQUE_CODE=Duplicate not allowed -GDPRContact=Data Protection Officer (DPO, Data Privacy or GDPR contact) -GDPRContactDesc=If you store data about European companies/citizens, you can name the contact who is responsible for the General Data Protection Regulation here -HelpOnTooltip=Help text to show on tooltip -HelpOnTooltipDesc=Put text or a translation key here for the text to show in a tooltip when this field appears in a form -YouCanDeleteFileOnServerWith=You can delete this file on the server with Command Line:
%s -ChartLoaded=Chart of account loaded -SocialNetworkSetup=Setup of module Social Networks -EnableFeatureFor=Enable features for %s +BaseCurrency=Kompaniyaning ma'lumotnoma valyutasi (buni o'zgartirish uchun kompaniyani tashkil etishga kiring) +WarningNoteModuleInvoiceForFrenchLaw=Ushbu modul %s Frantsiya qonunlariga mos keladi (Loi Finance 2016). +WarningNoteModulePOSForFrenchLaw=Ushbu modul %s Frantsiya qonunlariga javob beradi (Loi Finance 2016), chunki "Qaytarib bo'lmaydigan jurnallar" moduli avtomatik ravishda yoqiladi. +WarningInstallationMayBecomeNotCompliantWithLaw=Siz tashqi modul bo'lgan %s modulini o'rnatmoqchisiz. Tashqi modulni faollashtirish ushbu modul noshiriga ishonishingizni va ushbu modul sizning arizangizning xatti-harakatlariga salbiy ta'sir ko'rsatmasligiga va mamlakatingiz qonunlariga (%s) mos kelishiga ishonch hosil qilishingizni anglatadi. Agar modul noqonuniy xususiyatni taqdim etsa, siz noqonuniy dasturlardan foydalanish uchun javobgar bo'lasiz. +MAIN_PDF_MARGIN_LEFT=PDF-dagi chap chekka +MAIN_PDF_MARGIN_RIGHT=PDF-dagi o'ng chekka +MAIN_PDF_MARGIN_TOP=PDF-dagi eng yaxshi margin +MAIN_PDF_MARGIN_BOTTOM=PDF-dagi pastki hoshiya +MAIN_DOCUMENTS_LOGO_HEIGHT=PDF-dagi logotip uchun balandlik +MAIN_GENERATE_PROPOSALS_WITH_PICTURE=Taklif qatoriga rasm qo'shing +MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING=PDF-ga elektron belgini qo'shing +NothingToSetup=Ushbu modul uchun maxsus sozlash talab qilinmaydi. +SetToYesIfGroupIsComputationOfOtherGroups=Agar bu guruh boshqa guruhlarning hisob-kitobi bo'lsa, buni "ha" ga sozlang +EnterCalculationRuleIfPreviousFieldIsYes=Agar oldingi maydon "Ha" ga o'rnatilgan bo'lsa, hisoblash qoidasini kiriting.
Masalan:
CODEGRP1 + CODEGRP2 +SeveralLangugeVariatFound=Bir nechta til variantlari topildi +RemoveSpecialChars=Maxsus belgilarni olib tashlang +COMPANY_AQUARIUM_CLEAN_REGEX=Regex filtri toza qiymatga (COMPANY_AQUARIUM_CLEAN_REGEX) +COMPANY_DIGITARIA_CLEAN_REGEX=Regex filtri toza qiymatga (COMPANY_DIGITARIA_CLEAN_REGEX) +COMPANY_DIGITARIA_UNIQUE_CODE=Uni nusxalashga ruxsat berilmagan +GDPRContact=Ma'lumotlarni himoya qilish bo'yicha mutaxassis (DPO, ma'lumotlarning maxfiyligi yoki GDPR aloqasi) +GDPRContactDesc=Agar siz Evropa kompaniyalari / fuqarolari to'g'risidagi ma'lumotlarni saqlasangiz, bu erda ma'lumotlarni himoya qilishning umumiy qoidalari uchun javobgar bo'lgan shaxsni nomlashingiz mumkin +HelpOnTooltip=Matnni ko'rsatmalar panelida ko'rsatish uchun yordam bering +HelpOnTooltipDesc=Matn yoki tarjima kalitini bu erga qo'ying, bu maydon formada paydo bo'lganda matn asboblar panelida ko'rsatilsin +YouCanDeleteFileOnServerWith=Bu faylni serverda buyruq satri bilan o'chirib tashlashingiz mumkin:
%s +ChartLoaded=Hisob jadvali yuklandi +SocialNetworkSetup=Ijtimoiy tarmoqlar modulini sozlash +EnableFeatureFor= %s uchun xususiyatlarni yoqish VATIsUsedIsOff=Note: The option to use Sales Tax or VAT has been set to Off in the menu %s - %s, so Sales tax or Vat used will always be 0 for sales. -SwapSenderAndRecipientOnPDF=Swap sender and recipient address position on PDF documents -FeatureSupportedOnTextFieldsOnly=Warning, feature supported on text fields and combo lists only. Also an URL parameter action=create or action=edit must be set OR page name must end with 'new.php' to trigger this feature. -EmailCollector=Email collector -EmailCollectorDescription=Add a scheduled job and a setup page to scan regularly email boxes (using IMAP protocol) and record emails received into your application, at the right place and/or create some records automatically (like leads). -NewEmailCollector=New Email Collector -EMailHost=Host of email IMAP server -MailboxSourceDirectory=Mailbox source directory -MailboxTargetDirectory=Mailbox target directory -EmailcollectorOperations=Operations to do by collector -EmailcollectorOperationsDesc=Operations are executed from top to bottom order -MaxEmailCollectPerCollect=Max number of emails collected per collect -CollectNow=Collect now -ConfirmCloneEmailCollector=Are you sure you want to clone the Email collector %s ? -DateLastCollectResult=Date of latest collect try -DateLastcollectResultOk=Date of latest collect success -LastResult=Latest result -EmailCollectorConfirmCollectTitle=Email collect confirmation -EmailCollectorConfirmCollect=Do you want to run the collection for this collector now ? -NoNewEmailToProcess=No new email (matching filters) to process -NothingProcessed=Nothing done -XEmailsDoneYActionsDone=%s emails qualified, %s emails successfully processed (for %s record/actions done) -RecordEvent=Record email event -CreateLeadAndThirdParty=Create lead (and third party if necessary) -CreateTicketAndThirdParty=Create ticket (and link to third party if it was loaded by a previous operation) -CodeLastResult=Latest result code -NbOfEmailsInInbox=Number of emails in source directory -LoadThirdPartyFromName=Load third party searching on %s (load only) -LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found) -WithDolTrackingID=Message from a conversation initiated by a first email sent from Dolibarr -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr -WithDolTrackingIDInMsgId=Message sent from Dolibarr -WithoutDolTrackingIDInMsgId=Message NOT sent from Dolibarr -CreateCandidature=Create job application +SwapSenderAndRecipientOnPDF=PDF hujjatlaridagi jo'natuvchi va qabul qiluvchining manzilini almashtirish +FeatureSupportedOnTextFieldsOnly=Ogohlantirish, faqat matn maydonlarida va kombinatsion ro'yxatlarda qo'llab-quvvatlanadigan xususiyat. Shuningdek, URL parametri action = create yoki action = edit o'rnatilishi kerak yoki ushbu funktsiyani ishga tushirish uchun sahifa nomi 'new.php' bilan tugashi kerak. +EmailCollector=Elektron pochta yig'uvchisi +EmailCollectorDescription=Muntazam ravishda elektron pochta qutilarini (IMAP protokoli yordamida) skanerlash va arizangizga kelgan elektron pochta xabarlarini kerakli joyda yozib olish va / yoki ba'zi yozuvlarni avtomatik ravishda yaratish (masalan, qo'rg'oshinlar) uchun rejalashtirilgan ishni va sozlash sahifasini qo'shing. +NewEmailCollector=Yangi elektron pochta yig'uvchisi +EMailHost=IMAP-server elektron pochta manzili +MailboxSourceDirectory=Pochta qutisi manbalari katalogi +MailboxTargetDirectory=Pochta qutisi maqsad katalogi +EmailcollectorOperations=Kollektor tomonidan bajariladigan operatsiyalar +EmailcollectorOperationsDesc=Amallar yuqoridan pastgacha tartibda bajariladi +MaxEmailCollectPerCollect=Har bir to'plam uchun to'plangan elektron pochta xabarlarining maksimal soni +CollectNow=Hozir yig'ing +ConfirmCloneEmailCollector=Elektron pochta kollektorini %s klonlamoqchimisiz? +DateLastCollectResult=So'nggi marta sinab ko'ring +DateLastcollectResultOk=So'nggi yutuqlar sanasi +LastResult=Oxirgi natija +EmailCollectorConfirmCollectTitle=Elektron pochta orqali to'plamni tasdiqlash +EmailCollectorConfirmCollect=Hozir ushbu kollektsioner uchun to'plamni boshqarishni xohlaysizmi? +NoNewEmailToProcess=Ishlash uchun yangi elektron pochta xabarlari (mos keladigan filtrlar) yo'q +NothingProcessed=Hech narsa qilinmadi +XEmailsDoneYActionsDone=%s elektron pochta xabarlari malakali, %s elektron pochta xabarlari muvaffaqiyatli qayta ishlandi (%s yozuvi / bajarilgan harakatlar uchun) +RecordEvent=Elektron pochta hodisasini yozib oling +CreateLeadAndThirdParty=Qo'rg'oshin yarating (va agar kerak bo'lsa, uchinchi tomon) +CreateTicketAndThirdParty=Chiptani yarating (va oldingi operatsiya yuklangan bo'lsa, uchinchi tomon bilan bog'laning) +CodeLastResult=Oxirgi natija kodi +NbOfEmailsInInbox=Manba katalogidagi elektron pochta xabarlari soni +LoadThirdPartyFromName=%s-da qidiruvni uchinchi tomonga yuklang (faqat yuklash uchun) +LoadThirdPartyFromNameOrCreate=%s-da qidiruvni uchinchi tomonga yuklash (agar topilmasa yaratish) +WithDolTrackingID=Dolibarr-dan yuborilgan birinchi elektron pochta orqali boshlangan suhbatdan xabar +WithoutDolTrackingID=Dolibarr-dan birinchi elektron pochta orqali yuborilgan suhbatdan xabar +WithDolTrackingIDInMsgId=Dolibarr-dan xabar yuborildi +WithoutDolTrackingIDInMsgId=Xabar Dolibarr-dan yuborilmadi +CreateCandidature=Ishga ariza yarating FormatZip=Zip -MainMenuCode=Menu entry code (mainmenu) -ECMAutoTree=Show automatic ECM tree -OperationParamDesc=Define the values to use for the object of the action, or how to extract values. For example:
objproperty1=SET:the value to set
objproperty2=SET:a value with replacement of __objproperty1__
objproperty3=SETIFEMPTY:value used if objproperty3 is not already defined
objproperty4=EXTRACT:HEADER:X-Myheaderkey:\\s*([^\\s]*)
options_myextrafield1=EXTRACT:SUBJECT:([^\n]*)
object.objproperty5=EXTRACT:BODY:My company name is\\s([^\\s]*)

Use a ; char as separator to extract or set several properties. -OpeningHours=Opening hours -OpeningHoursDesc=Enter here the regular opening hours of your company. +MainMenuCode=Menyu kirish kodi (asosiy menyu) +ECMAutoTree=Avtomatik ECM daraxtini ko'rsating +OperationParamDesc=Harakat ob'ekti uchun ishlatiladigan qiymatlarni yoki qiymatlarni qanday chiqarishni aniqlang. Masalan:
objproperty1 = SET:
objproperty2 = SET: __objproperty1__ o'rnini bosuvchi qiymat
objproperty3 = SETIFEMPTY: agar ishlatilgan bo'lsa objproT0: ([^ \\ s] *)
options_myextrafield1 = EXTRACT: SUBJECT: ([^ & # 92; n] *)
object.objproperty5 = EXTRACT: BODY: Mening kompaniyamning nomi \\ s ([^ \\ s] *ffz19)
dan foydalaning; ajratish sifatida char bir nechta xususiyatlarni ajratish yoki o'rnatish. +OpeningHours=Ish vaqti +OpeningHoursDesc=Bu erga kompaniyangizning muntazam ish vaqtiga kiring. ResourceSetup=Resurs modulining konfiguratsiyasi UseSearchToSelectResource=Resursni tanlash uchun qidiruv shaklidan foydalaning (ochiladigan ro'yxat o'rniga). DisabledResourceLinkUser=Resursni foydalanuvchilar bilan bog'lash xususiyatini o'chirib qo'ying DisabledResourceLinkContact=Resursni kontaktlarga bog'lash xususiyatini o'chirib qo'ying -EnableResourceUsedInEventCheck=Enable feature to check if a resource is in use in an event -ConfirmUnactivation=Confirm module reset -OnMobileOnly=On small screen (smartphone) only -DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be "Prospect" or "Customer", but can't be both) -MAIN_OPTIMIZEFORTEXTBROWSER=Simplify interface for blind person -MAIN_OPTIMIZEFORTEXTBROWSERDesc=Enable this option if you are a blind person, or if you use the application from a text browser like Lynx or Links. -MAIN_OPTIMIZEFORCOLORBLIND=Change interface's color for color blind person -MAIN_OPTIMIZEFORCOLORBLINDDesc=Enable this option if you are a color blind person, in some case interface will change color setup to increase contrast. -Protanopia=Protanopia -Deuteranopes=Deuteranopes -Tritanopes=Tritanopes -ThisValueCanOverwrittenOnUserLevel=This value can be overwritten by each user from its user page - tab '%s' -DefaultCustomerType=Default thirdparty type for "New customer" creation form -ABankAccountMustBeDefinedOnPaymentModeSetup=Note: The bank account must be defined on the module of each payment mode (Paypal, Stripe, ...) to have this feature working. -RootCategoryForProductsToSell=Root category of products to sell -RootCategoryForProductsToSellDesc=If defined, only products inside this category or childs of this category will be available in the Point Of Sale -DebugBar=Debug Bar -DebugBarDesc=Toolbar that comes with a plenty of tools to simplify debugging -DebugBarSetup=DebugBar Setup -GeneralOptions=General Options -LogsLinesNumber=Number of lines to show on logs tab -UseDebugBar=Use the debug bar -DEBUGBAR_LOGS_LINES_NUMBER=Number of last log lines to keep in console -WarningValueHigherSlowsDramaticalyOutput=Warning, higher values slows dramaticaly output -ModuleActivated=Module %s is activated and slows the interface -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) -IfYouAreOnAProductionSetThis=If you are on a production environment, you should set this property to %s. -AntivirusEnabledOnUpload=Antivirus enabled on uploaded files -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode -EXPORTS_SHARE_MODELS=Export models are share with everybody -ExportSetup=Setup of module Export -ImportSetup=Setup of module Import -InstanceUniqueID=Unique ID of the instance -SmallerThan=Smaller than -LargerThan=Larger than -IfTrackingIDFoundEventWillBeLinked=Note that If a tracking ID of an object is found into email, or if the email is an answer of an email aready collected and linked to an object, the created event will be automatically linked to the known related object. -WithGMailYouCanCreateADedicatedPassword=With a GMail account, if you enabled the 2 steps validation, it is recommanded to create a dedicated second password for the application instead of using your own account passsword from https://myaccount.google.com/. -EmailCollectorTargetDir=It may be a desired behaviour to move the email into another tag/directory when it was processed successfully. Just set name of directory here to use this feature (Do NOT use special characters in name). Note that you must also use a read/write login account. -EmailCollectorLoadThirdPartyHelp=You can use this action to use the email content to find and load an existing thirdparty in your database. The found (or created) thirdparty will be used for following actions that need it. In the parameter field you can use for example 'EXTRACT:BODY:Name:\\s([^\\s]*)' if you want to extract the name of the thirdparty from a string 'Name: name to find' found into the body. -EndPointFor=End point for %s : %s -DeleteEmailCollector=Delete email collector -ConfirmDeleteEmailCollector=Are you sure you want to delete this email collector? -RecipientEmailsWillBeReplacedWithThisValue=Recipient emails will be always replaced with this value -AtLeastOneDefaultBankAccountMandatory=At least 1 default bank account must be defined -RESTRICT_ON_IP=Allow access to some host IP only (wildcard not allowed, use space between values). Empty means every hosts can access. +EnableResourceUsedInEventCheck=Resursning tadbirda ishlatilishini tekshirish xususiyatini yoqing +ConfirmUnactivation=Modulni tiklashni tasdiqlang +OnMobileOnly=Faqat kichik ekranda (smartfon) +DisableProspectCustomerType="Prospect + Customer" uchinchi tomon turini o'chirib qo'ying (shuning uchun uchinchi tomon "Prospect" yoki "Customer" bo'lishi kerak, lekin ikkalasi ham bo'lishi mumkin emas) +MAIN_OPTIMIZEFORTEXTBROWSER=Ko'zi ojiz odam uchun interfeysni soddalashtiring +MAIN_OPTIMIZEFORTEXTBROWSERDesc=Agar siz ko'zi ojiz bo'lsangiz yoki dasturni Lynx yoki Links kabi matnli brauzerdan foydalansangiz, ushbu parametrni yoqing. +MAIN_OPTIMIZEFORCOLORBLIND=Rangli ko'r odam uchun interfeys rangini o'zgartiring +MAIN_OPTIMIZEFORCOLORBLINDDesc=Agar siz rang ko'r odam bo'lsangiz, ushbu parametrni yoqing, ba'zi hollarda interfeys kontrastni oshirish uchun ranglarni sozlashni o'zgartiradi. +Protanopia=Protanopiya +Deuteranopes=Deuteranoplar +Tritanopes=Tritanoplar +ThisValueCanOverwrittenOnUserLevel=Ushbu qiymat har bir foydalanuvchi tomonidan foydalanuvchi sahifasidan yozilishi mumkin - '%s' yorlig'i +DefaultCustomerType="Yangi mijoz" yaratish shakli uchun standart uchinchi tomon turi +ABankAccountMustBeDefinedOnPaymentModeSetup=Izoh: Ushbu xususiyat ishlashi uchun bank hisobvarag'i har bir to'lov rejimining modulida (Paypal, Stripe, ...) aniqlanishi kerak. +RootCategoryForProductsToSell=Sotiladigan mahsulotlarning asosiy toifasi +RootCategoryForProductsToSellDesc=Belgilangan bo'lsa, faqat ushbu toifadagi mahsulotlar yoki ushbu toifadagi bolalar ishlab chiqarilishi mumkin +DebugBar=Tuzatish paneli +DebugBarDesc=Nosozliklarni tuzatishni soddalashtirish uchun ko'plab vositalar bilan ta'minlangan asboblar paneli +DebugBarSetup=DebugBar-ni sozlash +GeneralOptions=Umumiy parametrlar +LogsLinesNumber=Jurnallar ko'rinishida ko'rsatiladigan qatorlar soni +UseDebugBar=Tuzatish panelidan foydalaning +DEBUGBAR_LOGS_LINES_NUMBER=Konsolda saqlanadigan oxirgi jurnal satrlari soni +WarningValueHigherSlowsDramaticalyOutput=Ogohlantirish, yuqori qiymatlar dramatik chiqishni sekinlashtiradi +ModuleActivated=%s moduli yoqilgan va interfeysni sekinlashtiradi +ModuleActivatedWithTooHighLogLevel=%s moduli juda yuqori jurnal darajasida faollashtirilgan (yaxshi ishlash va xavfsizlik uchun past darajadan foydalanishga harakat qiling) +ModuleSyslogActivatedButLevelNotTooVerbose=%s moduli faollashtirilgan va jurnal darajasi (%s) to'g'ri (juda aniq emas) +IfYouAreOnAProductionSetThis=Agar siz ishlab chiqarish muhitida bo'lsangiz, ushbu xususiyatni %s ga o'rnatishingiz kerak. +AntivirusEnabledOnUpload=Yuklangan fayllarda antivirus yoqilgan +SomeFilesOrDirInRootAreWritable=Ba'zi fayllar yoki kataloglar faqat o'qish rejimida emas +EXPORTS_SHARE_MODELS=Eksport modellari hammaga ma'lum +ExportSetup=Eksport modulini sozlash +ImportSetup=Import modulini o'rnatish +InstanceUniqueID=Namunaning noyob identifikatori +SmallerThan=Undan kichikroq +LargerThan=Undan kattaroq +IfTrackingIDFoundEventWillBeLinked=E'tibor bering, agar elektron pochtada ob'ektning kuzatuv identifikatori topilgan bo'lsa yoki elektron pochta manzili to'plangan va ob'ekt bilan bog'langan elektron pochta xabarining javobi bo'lsa, yaratilgan voqea avtomatik ravishda ma'lum tegishli ob'ektga bog'lanadi. +WithGMailYouCanCreateADedicatedPassword=GMail hisob qaydnomasi yordamida, agar siz 2 bosqichli tekshiruvni yoqsangiz, https://myaccount.google.com/ manzilidagi o'zingizning shaxsiy parol so'zingiz o'rniga dastur uchun maxsus ikkinchi parolni yaratish tavsiya etiladi. +EmailCollectorTargetDir=Muvaffaqiyatli ishlov berilganda elektron pochtani boshqa yorliq / katalogga ko'chirish istalgan xatti-harakatlar bo'lishi mumkin. Ushbu xususiyatdan foydalanish uchun faqat katalog nomini o'rnating (Ismda maxsus belgilarni ishlatmang). E'tibor bering, siz o'qish / yozish uchun kirish qayd yozuvidan foydalanishingiz kerak. +EmailCollectorLoadThirdPartyHelp=Ma'lumotlar bazangizda mavjud bo'lgan uchinchi tomonni topish va yuklash uchun elektron pochta manzilidan foydalanish uchun ushbu amaldan foydalanishingiz mumkin. Topilgan (yoki yaratilgan) uchinchi tomon unga kerak bo'lgan quyidagi harakatlar uchun ishlatiladi. Parametrlar maydonida, masalan, uchinchi tomon nomini 'Name: name to find' qatoridan ajratib olishni istasangiz, 'EXTRACT: BODY: Name: \\ s ([^ \\ s] *)' dan foydalanishingiz mumkin. tanasi. +EndPointFor=%s uchun yakuniy nuqta: %s +DeleteEmailCollector=Elektron pochta kollektorini o'chirish +ConfirmDeleteEmailCollector=Ushbu elektron pochta kollektorini o'chirishni xohlaysizmi? +RecipientEmailsWillBeReplacedWithThisValue=Qabul qiluvchilarning elektron pochtalari har doim ushbu qiymat bilan almashtiriladi +AtLeastOneDefaultBankAccountMandatory=Kamida 1 ta sukut bo'yicha bank hisobvarag'i aniqlanishi kerak +RESTRICT_ON_IP=Faqat ba'zi bir xost IP-lariga kirishga ruxsat bering (joker belgilarga yo'l qo'yilmaydi, qiymatlar oralig'idan foydalaning). Bo'sh degani har bir xost kirish imkoniyatiga ega. IPListExample=127.0.0.1 192.168.0.2 [::1] -BaseOnSabeDavVersion=Based on the library SabreDAV version -NotAPublicIp=Not a public IP -MakeAnonymousPing=Make an anonymous Ping '+1' to the Dolibarr foundation server (done 1 time only after installation) to allow the foundation to count the number of Dolibarr installation. -FeatureNotAvailableWithReceptionModule=Feature not available when module Reception is enabled -EmailTemplate=Template for email -EMailsWillHaveMessageID=Emails will have a tag 'References' matching this syntax -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label -PDF_USE_ALSO_LANGUAGE_CODE=If you want to have some texts in your PDF duplicated in 2 different languages in the same generated PDF, you must set here this second language so generated PDF will contains 2 different languages in same page, the one chosen when generating PDF and this one (only few PDF templates support this). Keep empty for 1 language per PDF. -FafaIconSocialNetworksDesc=Enter here the code of a FontAwesome icon. If you don't know what is FontAwesome, you can use the generic value fa-address-book. -RssNote=Note: Each RSS feed definition provides a widget that you must enable to have it available in dashboard -JumpToBoxes=Jump to Setup -> Widgets -MeasuringUnitTypeDesc=Use here a value like "size", "surface", "volume", "weight", "time" -MeasuringScaleDesc=The scale is the number of places you have to move the decimal part to match the default reference unit. For "time" unit type, it is the number of seconds. Values between 80 and 99 are reserved values. -TemplateAdded=Template added -TemplateUpdated=Template updated -TemplateDeleted=Template deleted -MailToSendEventPush=Event reminder email -SwitchThisForABetterSecurity=Switching this value to %s is recommended for more security -DictionaryProductNature= Nature of product -CountryIfSpecificToOneCountry=Country (if specific to a given country) -YouMayFindSecurityAdviceHere=You may find security advisory here -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. -CombinationsSeparator=Separator character for product combinations -SeeLinkToOnlineDocumentation=See link to online documention on top menu for examples -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. -AskThisIDToYourBank=Contact your bank to get this ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions -PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) -YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. -RandomlySelectedIfSeveral=Randomly selected if several pictures are available -DatabasePasswordObfuscated=Database password is obfuscated in conf file -DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +BaseOnSabeDavVersion=SabreDAV versiyasi kutubxonasi asosida +NotAPublicIp=Ommaviy IP emas +MakeAnonymousPing=Dolibarr poydevor serveriga anonim Ping '+1' qo'ying (faqat o'rnatilgandan so'ng 1 marta bajariladi) poydevorga Dolibarr o'rnatish sonini hisoblashi uchun ruxsat bering. +FeatureNotAvailableWithReceptionModule=Modulni qabul qilish yoqilganda, bu xususiyat mavjud emas +EmailTemplate=Elektron pochta uchun shablon +EMailsWillHaveMessageID=Elektron pochta xabarlarida ushbu sintaksisga mos keladigan 'Adabiyotlar' yorlig'i bo'ladi +PDF_SHOW_PROJECT=Loyihani hujjatda ko'rsatish +ShowProjectLabel=Loyiha yorlig'i +PDF_USE_ALSO_LANGUAGE_CODE=Agar siz o'zingizning PDF-dagi ba'zi matnlarni bir xil hosil qilingan PDF-da 2 xil tilda nusxalashni xohlasangiz, siz ushbu ikkinchi tilni o'rnatishingiz kerak, shuning uchun yaratilgan PDF bir xil sahifada 2 xil tilni o'z ichiga oladi, bu PDF yaratishda tanlangan va shu ( faqat bir nechta PDF shablonlari buni qo'llab-quvvatlaydi). PDF uchun 1 ta til uchun bo'sh qoldiring. +FafaIconSocialNetworksDesc=Bu erga FontAwesome ikonkasining kodini kiriting. Agar siz FontAwesome nima ekanligini bilmasangiz, umumiy qiymatdan foydalanishingiz mumkin. +RssNote=Izoh: Har bir RSS tasmali ta'rifi vidjetni taqdim etadi, uni boshqarish panelida bo'lishini ta'minlash kerak +JumpToBoxes=O'rnatish -> Vidjetlarga o'tish +MeasuringUnitTypeDesc=Bu erda "o'lcham", "sirt", "hajm", "vazn", "vaqt" kabi qiymatdan foydalaning +MeasuringScaleDesc=O'lchov - bu odatiy mos yozuvlar birligiga mos keladigan o'nlik qismini ko'chirishingiz kerak bo'lgan joylar soni. "Vaqt" birlik turi uchun bu soniyalar soni. 80 dan 99 gacha bo'lgan qiymatlar saqlangan qiymatlardir. +TemplateAdded=Andoza qo'shildi +TemplateUpdated=Andoza yangilandi +TemplateDeleted=Andoza o'chirildi +MailToSendEventPush=Voqeani eslatuvchi elektron pochta +SwitchThisForABetterSecurity=Xavfsizlikni ta'minlash uchun ushbu qiymatni %s ga almashtirish tavsiya etiladi +DictionaryProductNature= Mahsulotning tabiati +CountryIfSpecificToOneCountry=Mamlakat (agar ma'lum bir mamlakatga tegishli bo'lsa) +YouMayFindSecurityAdviceHere=Siz bu erda xavfsizlik bo'yicha maslahatni topishingiz mumkin +ModuleActivatedMayExposeInformation=Ushbu PHP kengaytmasi maxfiy ma'lumotlarni oshkor qilishi mumkin. Agar sizga kerak bo'lmasa, uni o'chirib qo'ying. +ModuleActivatedDoNotUseInProduction=Rivojlanish uchun mo'ljallangan modul yoqilgan. Uni ishlab chiqarish muhitida yoqmang. +CombinationsSeparator=Mahsulot birikmalari uchun ajratuvchi belgi +SeeLinkToOnlineDocumentation=Misollar uchun yuqori menyuda onlayn hujjatlarga havolani ko'ring +SHOW_SUBPRODUCT_REF_IN_PDF=Agar %s modulining "%s" xususiyati ishlatilgan bo'lsa, to'plamning pastki mahsulotlarini tafsilotlarini PDF-da ko'rsating. +AskThisIDToYourBank=Ushbu identifikatorni olish uchun bankingizga murojaat qiling +AdvancedModeOnly=Ruxsat faqat kengaytirilgan ruxsat rejimida mavjud +ConfFileIsReadableOrWritableByAnyUsers=Conf fayli har qanday foydalanuvchilar tomonidan o'qilishi yoki yozilishi mumkin. Faqat veb-server foydalanuvchisi va guruhiga ruxsat bering. +MailToSendEventOrganization=Tadbirni tashkil etish +AGENDA_EVENT_DEFAULT_STATUS=Shakldan voqea yaratishda odatiy hodisa holati +YouShouldDisablePHPFunctions=PHP funktsiyalarini o'chirib qo'yishingiz kerak +IfCLINotRequiredYouShouldDisablePHPFunctions=Agar siz tizim buyruqlarini maxsus kodda ishlatishingiz kerak bo'lsa, siz PHP funktsiyalarini o'chirib qo'yasiz +PHPFunctionsRequiredForCLI=Qobiq maqsadi uchun (masalan, rejalashtirilgan ishni zaxiralash yoki anitivurs dasturini ishga tushirish), siz PHP funktsiyalarini saqlashingiz kerak +NoWritableFilesFoundIntoRootDir=Ildiz katalogingizda yoziladigan fayllar yoki umumiy dasturlarning kataloglari topilmadi (Yaxshi) +RecommendedValueIs=Tavsiya etiladi: %s +Recommended=Recommended +NotRecommended=Not recommended +ARestrictedPath=Cheklangan yo'l +CheckForModuleUpdate=Tashqi modullarning yangilanishlarini tekshiring +CheckForModuleUpdateHelp=Ushbu amal tashqi modullar tahrirlovchilariga yangi versiya mavjudligini tekshirish uchun ulanadi. +ModuleUpdateAvailable=Yangilanish mavjud +NoExternalModuleWithUpdate=Tashqi modullar uchun hech qanday yangilanish topilmadi +SwaggerDescriptionFile=Swagger API tavsif fayli (masalan, redoc bilan ishlatish uchun) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=Siz bekor qilingan WS API-ni yoqdingiz. Buning o'rniga REST API-dan foydalanishingiz kerak. +RandomlySelectedIfSeveral=Agar bir nechta rasm mavjud bo'lsa, tasodifiy tanlanadi +DatabasePasswordObfuscated=Ma'lumotlar bazasi paroli conf faylida buzilgan +DatabasePasswordNotObfuscated=Ma'lumotlar bazasi paroli conf faylida buzilmaydi +APIsAreNotEnabled=API modullari yoqilmagan +YouShouldSetThisToOff=Buni 0 ga yoki o'chirib qo'yishingiz kerak diff --git a/htdocs/langs/uz_UZ/agenda.lang b/htdocs/langs/uz_UZ/agenda.lang index 253224d4263..f3bfa035449 100644 --- a/htdocs/langs/uz_UZ/agenda.lang +++ b/htdocs/langs/uz_UZ/agenda.lang @@ -12,7 +12,7 @@ Event=Tadbir Events=Tadbirlar EventsNb=Tadbirlar soni ListOfActions=Tadbirlar ro'yxati -EventReports=Event reports +EventReports=Voqealar haqida hisobotlar Location=Manzil ToUserOfGroup=Tadbir guruhdagi har qanday foydalanuvchiga tayinlangan EventOnFullDay=Barcha kun (lar) da tadbir @@ -35,13 +35,13 @@ AgendaAutoActionDesc= Bu erda siz Dolibarr-ning kun tartibida avtomatik ravishda AgendaSetupOtherDesc= Ushbu sahifada Dolibarr tadbirlarini tashqi taqvimga (Thunderbird, Google Calendar va boshqalar) eksport qilishga ruxsat berish imkoniyatlari berilgan. AgendaExtSitesDesc=Ushbu sahifa o'z voqealarini Dolibarr kun tartibiga kiritish uchun taqvimlarning tashqi manbalarini e'lon qilishga imkon beradi. ActionsEvents=Dolibarr avtomatik ravishda kun tartibida harakat yaratadigan tadbirlar -EventRemindersByEmailNotEnabled=Event reminders by email was not enabled into %s module setup. +EventRemindersByEmailNotEnabled=%s modulini sozlashda elektron pochta orqali voqea eslatmalari yoqilmagan. ##### Agenda event labels ##### NewCompanyToDolibarr=Uchinchi tomon %s yaratildi -COMPANY_MODIFYInDolibarr=Third party %s modified -COMPANY_DELETEInDolibarr=Third party %s deleted +COMPANY_MODIFYInDolibarr=Uchinchi tomon %s o'zgartirilgan +COMPANY_DELETEInDolibarr=Uchinchi tomon %s o'chirildi ContractValidatedInDolibarr=%s shartnomasi tasdiqlangan -CONTRACT_DELETEInDolibarr=Contract %s deleted +CONTRACT_DELETEInDolibarr=%s shartnomasi o'chirildi PropalClosedSignedInDolibarr=%s taklifi imzolandi PropalClosedRefusedInDolibarr=%s taklifi rad etildi PropalValidatedInDolibarr=%s taklifi tasdiqlangan @@ -53,18 +53,18 @@ InvoiceDeleteDolibarr=%s hisob-fakturasi o'chirildi InvoicePaidInDolibarr=%s hisob-fakturasi to'langanga o'zgartirildi InvoiceCanceledInDolibarr=%s hisob-fakturasi bekor qilindi MemberValidatedInDolibarr=%s a'zosi tasdiqlangan -MemberModifiedInDolibarr=Member %s modified +MemberModifiedInDolibarr=%s a'zosi o'zgartirildi MemberResiliatedInDolibarr=%s a'zosi tugatildi MemberDeletedInDolibarr=%s a'zosi o'chirildi MemberSubscriptionAddedInDolibarr=%s a'zosi uchun %s obunasi qo'shildi -MemberSubscriptionModifiedInDolibarr=Subscription %s for member %s modified -MemberSubscriptionDeletedInDolibarr=Subscription %s for member %s deleted +MemberSubscriptionModifiedInDolibarr=%s a'zosi uchun obuna %s o'zgartirildi +MemberSubscriptionDeletedInDolibarr=%s a'zosi uchun %s obunasi o'chirildi ShipmentValidatedInDolibarr=%s jo'natmasi tasdiqlangan ShipmentClassifyClosedInDolibarr=%s jo'natmasi tasniflangan ShipmentUnClassifyCloseddInDolibarr=%s jo'natmasi qayta ochilgan -ShipmentBackToDraftInDolibarr=Shipment %s go back to draft status +ShipmentBackToDraftInDolibarr=%s jo'natmasi qoralama holatiga qaytadi ShipmentDeletedInDolibarr=%s jo'natmasi o'chirildi -ReceptionValidatedInDolibarr=Reception %s validated +ReceptionValidatedInDolibarr=%s qabul qilish tasdiqlangan OrderCreatedInDolibarr=%s buyurtmasi yaratildi OrderValidatedInDolibarr=%s buyurtmasi tasdiqlangan OrderDeliveredInDolibarr=Buyurtma tasniflangan tasniflangan %s @@ -74,11 +74,11 @@ OrderApprovedInDolibarr=%s buyurtmasi tasdiqlandi OrderRefusedInDolibarr=%s buyurtmasi rad etildi OrderBackToDraftInDolibarr=%s buyurtmasi qoralama holatiga qaytadi ProposalSentByEMail=Elektron pochta orqali yuborilgan %s tijorat taklifi -ContractSentByEMail=Contract %s sent by email +ContractSentByEMail=Elektron pochta orqali yuborilgan %s shartnoma OrderSentByEMail=%s savdo buyurtmasi elektron pochta orqali yuborilgan InvoiceSentByEMail=Mijozlarning hisob-fakturasi %s elektron pochta orqali yuborilgan SupplierOrderSentByEMail=Elektron pochta orqali yuborilgan %s buyurtmasini sotib oling -ORDER_SUPPLIER_DELETEInDolibarr=Purchase order %s deleted +ORDER_SUPPLIER_DELETEInDolibarr=%s sotib olish buyurtmasi o'chirildi SupplierInvoiceSentByEMail=Sotuvchi hisob-fakturasi %s elektron pochta orqali yuborilgan ShippingSentByEMail=%s jo'natmasi elektron pochta orqali yuborilgan ShippingValidated= %s jo'natmasi tasdiqlangan @@ -86,53 +86,53 @@ InterventionSentByEMail=Elektron pochta orqali yuborilgan aralashuv %s ProposalDeleted=Taklif o'chirildi OrderDeleted=Buyurtma o'chirildi InvoiceDeleted=Hisob-faktura o'chirildi -DraftInvoiceDeleted=Draft invoice deleted -CONTACT_CREATEInDolibarr=Contact %s created -CONTACT_MODIFYInDolibarr=Contact %s modified -CONTACT_DELETEInDolibarr=Contact %s deleted -PRODUCT_CREATEInDolibarr=Product %s created -PRODUCT_MODIFYInDolibarr=Product %s modified -PRODUCT_DELETEInDolibarr=Product %s deleted -HOLIDAY_CREATEInDolibarr=Request for leave %s created -HOLIDAY_MODIFYInDolibarr=Request for leave %s modified -HOLIDAY_APPROVEInDolibarr=Request for leave %s approved -HOLIDAY_VALIDATEInDolibarr=Request for leave %s validated -HOLIDAY_DELETEInDolibarr=Request for leave %s deleted -EXPENSE_REPORT_CREATEInDolibarr=Expense report %s created -EXPENSE_REPORT_VALIDATEInDolibarr=Expense report %s validated -EXPENSE_REPORT_APPROVEInDolibarr=Expense report %s approved -EXPENSE_REPORT_DELETEInDolibarr=Expense report %s deleted -EXPENSE_REPORT_REFUSEDInDolibarr=Expense report %s refused -PROJECT_CREATEInDolibarr=Project %s created -PROJECT_MODIFYInDolibarr=Project %s modified -PROJECT_DELETEInDolibarr=Project %s deleted -TICKET_CREATEInDolibarr=Ticket %s created -TICKET_MODIFYInDolibarr=Ticket %s modified -TICKET_ASSIGNEDInDolibarr=Ticket %s assigned -TICKET_CLOSEInDolibarr=Ticket %s closed -TICKET_DELETEInDolibarr=Ticket %s deleted -BOM_VALIDATEInDolibarr=BOM validated -BOM_UNVALIDATEInDolibarr=BOM unvalidated -BOM_CLOSEInDolibarr=BOM disabled -BOM_REOPENInDolibarr=BOM reopen -BOM_DELETEInDolibarr=BOM deleted -MRP_MO_VALIDATEInDolibarr=MO validated -MRP_MO_UNVALIDATEInDolibarr=MO set to draft status -MRP_MO_PRODUCEDInDolibarr=MO produced -MRP_MO_DELETEInDolibarr=MO deleted -MRP_MO_CANCELInDolibarr=MO canceled -PAIDInDolibarr=%s paid +DraftInvoiceDeleted=Hisob-faktura loyihasi o'chirildi +CONTACT_CREATEInDolibarr=%s bilan bog'laning +CONTACT_MODIFYInDolibarr=%s bilan bog'lanish o'zgartirildi +CONTACT_DELETEInDolibarr=%s bilan aloqa o'chirildi +PRODUCT_CREATEInDolibarr=%s mahsuloti yaratildi +PRODUCT_MODIFYInDolibarr=Mahsulot %s o'zgartirilgan +PRODUCT_DELETEInDolibarr=%s mahsuloti o'chirildi +HOLIDAY_CREATEInDolibarr=%s ta'til uchun so'rov yaratildi +HOLIDAY_MODIFYInDolibarr=%s ta'tilga talab o'zgartirildi +HOLIDAY_APPROVEInDolibarr=%s ta'tilga chiqish so'rovi tasdiqlandi +HOLIDAY_VALIDATEInDolibarr=%s ta'til uchun so'rov tasdiqlangan +HOLIDAY_DELETEInDolibarr=%s ta'til uchun so'rov o'chirildi +EXPENSE_REPORT_CREATEInDolibarr=%s xarajatlar hisoboti tuzildi +EXPENSE_REPORT_VALIDATEInDolibarr=%s xarajatlar hisoboti tasdiqlangan +EXPENSE_REPORT_APPROVEInDolibarr=%s xarajatlar hisoboti tasdiqlandi +EXPENSE_REPORT_DELETEInDolibarr=%s xarajatlar hisoboti o'chirildi +EXPENSE_REPORT_REFUSEDInDolibarr=%s xarajatlar hisoboti rad etildi +PROJECT_CREATEInDolibarr=%s loyihasi yaratildi +PROJECT_MODIFYInDolibarr=%s loyihasi o'zgartirildi +PROJECT_DELETEInDolibarr=%s loyihasi o'chirildi +TICKET_CREATEInDolibarr=%s chiptasi yaratildi +TICKET_MODIFYInDolibarr=%s chiptasi o'zgartirildi +TICKET_ASSIGNEDInDolibarr=%s chiptasi tayinlandi +TICKET_CLOSEInDolibarr=%s chiptasi yopiq +TICKET_DELETEInDolibarr=%s chiptasi o'chirildi +BOM_VALIDATEInDolibarr=BOM tasdiqlangan +BOM_UNVALIDATEInDolibarr=BOM baholanmagan +BOM_CLOSEInDolibarr=BOM o'chirilgan +BOM_REOPENInDolibarr=BOM qayta ochiladi +BOM_DELETEInDolibarr=BOM o'chirildi +MRP_MO_VALIDATEInDolibarr=MO tasdiqlangan +MRP_MO_UNVALIDATEInDolibarr=MO holatni tuzishga tayyor +MRP_MO_PRODUCEDInDolibarr=MO ishlab chiqarilgan +MRP_MO_DELETEInDolibarr=MO o'chirildi +MRP_MO_CANCELInDolibarr=MO bekor qilindi +PAIDInDolibarr=%s to'langan ##### End agenda events ##### -AgendaModelModule=Document templates for event +AgendaModelModule=Hodisa uchun hujjat shablonlari DateActionStart=Boshlanish vaqti DateActionEnd=Tugash sanasi AgendaUrlOptions1=Chiqishni filtrlash uchun siz quyidagi parametrlarni qo'shishingiz mumkin: AgendaUrlOptions3= logina = %s %s foydalanuvchisiga tegishli harakatlar bilan chiqishni cheklash. -AgendaUrlOptionsNotAdmin=logina=!%s to restrict output to actions not owned by user %s. +AgendaUrlOptionsNotAdmin= logina =! %s foydalanuvchi %s foydalanuvchiga tegishli bo'lmagan harakatlarga cheklash uchun. AgendaUrlOptions4= logint = %s foydalanuvchi %s (egasi va boshqalar) ga tayinlangan harakatlar bilan chiqishni cheklash uchun. AgendaUrlOptionsProject= project = __ PROJECT_ID__ loyihani __PROJECT_ID__ loyihasi bilan bog'liq harakatlar bilan cheklash. -AgendaUrlOptionsNotAutoEvent=notactiontype=systemauto to exclude automatic events. -AgendaUrlOptionsIncludeHolidays=includeholidays=1 to include events of holidays. +AgendaUrlOptionsNotAutoEvent= notactiontype = avtomatik hodisalarni istisno qilish uchun systemauto . +AgendaUrlOptionsIncludeHolidays= dam olish kunlarini o'z ichiga oladi = 1 ta'til tadbirlarini o'z ichiga oladi. AgendaShowBirthdayEvents=Kontaktlarning tug'ilgan kunlari AgendaHideBirthdayEvents=Kontaktlarning tug'ilgan kunlarini yashirish Busy=Band @@ -155,18 +155,18 @@ ActionType=Tadbir turi DateActionBegin=Tadbirni boshlash sanasi ConfirmCloneEvent=Hodisani %s klonlashni xohlaysizmi? RepeatEvent=Voqeani takrorlang -OnceOnly=Once only +OnceOnly=Faqat bir marta EveryWeek=Har hafta EveryMonth=Har oy DayOfMonth=Oy kuni DayOfWeek=Haftaning kuni DateStartPlusOne=Sana boshlanishi + 1 soat -SetAllEventsToTodo=Set all events to todo -SetAllEventsToInProgress=Set all events to in progress -SetAllEventsToFinished=Set all events to finished -ReminderTime=Reminder period before the event -TimeType=Duration type -ReminderType=Callback type -AddReminder=Create an automatic reminder notification for this event -ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Popup Notification +SetAllEventsToTodo=Barcha tadbirlarni todo qilish uchun sozlang +SetAllEventsToInProgress=Barcha tadbirlarni davom etadigan qilib sozlang +SetAllEventsToFinished=Barcha tadbirlarni tugallangan deb belgilang +ReminderTime=Tadbirgacha eslatish davri +TimeType=Muddati turi +ReminderType=Qayta qo'ng'iroq turi +AddReminder=Ushbu tadbir uchun avtomatik eslatma xabarnomasini yarating +ErrorReminderActionCommCreation=Ushbu voqea uchun eslatma bildirishnomasini yaratishda xatolik yuz berdi +BrowserPush=Brauzerning popup-xabarnomasi diff --git a/htdocs/langs/uz_UZ/assets.lang b/htdocs/langs/uz_UZ/assets.lang index ef04723c6c2..eed37191c99 100644 --- a/htdocs/langs/uz_UZ/assets.lang +++ b/htdocs/langs/uz_UZ/assets.lang @@ -16,50 +16,52 @@ # # Generic # -Assets = Assets -NewAsset = New asset -AccountancyCodeAsset = Accounting code (asset) -AccountancyCodeDepreciationAsset = Accounting code (depreciation asset account) -AccountancyCodeDepreciationExpense = Accounting code (depreciation expense account) -NewAssetType=New asset type -AssetsTypeSetup=Asset type setup -AssetTypeModified=Asset type modified -AssetType=Asset type -AssetsLines=Assets -DeleteType=Delete -DeleteAnAssetType=Delete an asset type -ConfirmDeleteAssetType=Are you sure you want to delete this asset type? -ShowTypeCard=Show type '%s' +Assets = Aktivlar +NewAsset = Yangi aktiv +AccountancyCodeAsset = Buxgalteriya kodi (aktiv) +AccountancyCodeDepreciationAsset = Buxgalteriya kodi (amortizatsiya aktivlari hisobi) +AccountancyCodeDepreciationExpense = Buxgalteriya kodi (amortizatsiya xarajatlari hisobi) +NewAssetType=Yangi aktiv turi +AssetsTypeSetup=Obyekt turini sozlash +AssetTypeModified=Obyekt turi o'zgartirildi +AssetType=Obyekt turi +AssetsLines=Aktivlar +DeleteType=O'chirish +DeleteAnAssetType=Obyekt turini o'chirib tashlang +ConfirmDeleteAssetType=Ushbu aktiv turini o'chirishni xohlaysizmi? +ShowTypeCard="%s" turini ko'rsatish # Module label 'ModuleAssetsName' -ModuleAssetsName = Assets +ModuleAssetsName = Aktivlar # Module description 'ModuleAssetsDesc' -ModuleAssetsDesc = Assets description +ModuleAssetsDesc = Aktivlarning tavsifi # # Admin page # -AssetsSetup = Assets setup -Settings = Settings -AssetsSetupPage = Assets setup page -ExtraFieldsAssetsType = Complementary attributes (Asset type) -AssetsType=Asset type -AssetsTypeId=Asset type id -AssetsTypeLabel=Asset type label -AssetsTypes=Assets types +AssetsSetup = Aktivlarni sozlash +Settings = Sozlamalar +AssetsSetupPage = Aktivlarni sozlash sahifasi +ExtraFieldsAssetsType = Qo'shimcha atributlar (aktiv turi) +AssetsType=Obyekt turi +AssetsTypeId=Obyekt turi identifikatori +AssetsTypeLabel=Obyekt turi yorlig'i +AssetsTypes=Aktiv turlari # # Menu # -MenuAssets = Assets -MenuNewAsset = New asset -MenuTypeAssets = Type assets -MenuListAssets = List -MenuNewTypeAssets = New -MenuListTypeAssets = List +MenuAssets = Aktivlar +MenuNewAsset = Yangi aktiv +MenuTypeAssets = Aktivlarni kiriting +MenuListAssets = Ro'yxat +MenuNewTypeAssets = Yangi +MenuListTypeAssets = Ro'yxat # # Module # -NewAssetType=New asset type -NewAsset=New asset +Asset=Aktiv +NewAssetType=Yangi aktiv turi +NewAsset=Yangi aktiv +ConfirmDeleteAsset=Haqiqatan ham ushbu aktivni o'chirishni xohlaysizmi? diff --git a/htdocs/langs/uz_UZ/banks.lang b/htdocs/langs/uz_UZ/banks.lang index e8b924ef2d7..4d5eefc6257 100644 --- a/htdocs/langs/uz_UZ/banks.lang +++ b/htdocs/langs/uz_UZ/banks.lang @@ -1,13 +1,13 @@ # Dolibarr language file - Source file is en_US - banks Bank=Bank MenuBankCash=Banklar | Naqd pul -MenuVariousPayment=Miscellaneous payments -MenuNewVariousPayment=New Miscellaneous payment +MenuVariousPayment=Turli xil to'lovlar +MenuNewVariousPayment=Yangi turli xil to'lovlar BankName=Bank nomi FinancialAccount=Account BankAccount=bank hisob raqami BankAccounts=Bank hisobvaraqlari -BankAccountsAndGateways=Bank accounts | Gateways +BankAccountsAndGateways=Bank hisobvaraqlari | Shlyuzlar ShowAccount=Hisobni ko'rsatish AccountRef=Moliyaviy hisob AccountLabel=Moliyaviy hisob yorlig'i @@ -37,9 +37,9 @@ IbanValid=BAN amal qiladi IbanNotValid=BAN haqiqiy emas StandingOrders=To'g'ridan-to'g'ri debet buyurtmalari StandingOrder=To'g'ridan-to'g'ri debet buyurtmasi -PaymentByDirectDebit=Payment by direct debit -PaymentByBankTransfers=Payments by credit transfer -PaymentByBankTransfer=Payment by credit transfer +PaymentByDirectDebit=To'g'ridan-to'g'ri debet orqali to'lov +PaymentByBankTransfers=Kredit o'tkazish yo'li bilan to'lovlar +PaymentByBankTransfer=Kredit o'tkazish yo'li bilan to'lov AccountStatement=Hisob-kitob varaqasi AccountStatementShort=Bayonot AccountStatements=Hisob-kitob varaqalari @@ -72,15 +72,15 @@ RemoveFromRubriqueConfirm=Kirish va toifadagi aloqani olib tashlamoqchimisiz? ListBankTransactions=Bank yozuvlari ro'yxati IdTransaction=Tranzaksiya identifikatori BankTransactions=Bank yozuvlari -BankTransaction=Bank entry +BankTransaction=Bank yozuvlari ListTransactions=Yozuvlar ro'yxati ListTransactionsByCategory=Ro'yxat yozuvlari / toifasi TransactionsToConciliate=Yarashtirish uchun yozuvlar -TransactionsToConciliateShort=To reconcile +TransactionsToConciliateShort=Yarashtirmoq Conciliable=Yarashtirilishi mumkin Conciliate=Yarashish Conciliation=Yarashish -SaveStatementOnly=Save statement only +SaveStatementOnly=Faqat bayonotni saqlash ReconciliationLate=Yarashuv kech IncludeClosedAccount=Yopiq hisoblarni qo'shing OnlyOpenedAccount=Faqat hisoblarni oching @@ -95,7 +95,7 @@ AccountIdShort=Raqam LineRecord=Tranzaksiya AddBankRecord=Kirish kiritish AddBankRecordLong=Kiritishni qo'lda qo'shing -Conciliated=Reconciled +Conciliated=Yarashtirildi ConciliatedBy=Tomonidan yarashtirildi DateConciliating=Sana yarashtirildi BankLineConciliated=Kirish bank kvitansiyasi bilan taqqoslangan @@ -115,12 +115,12 @@ TransferTo=Kimga TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Yuboruvchi ValidateCheckReceipt=Ushbu chek kvitansiyasi tasdiqlansinmi? -ConfirmValidateCheckReceipt=Ushbu chek kvitansiyasini tasdiqlash uchun topshirmoqchi ekanligingizga aminmisiz? Hech qanday o'zgartirish mumkin emas. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Ushbu chek kvitansiyasi o'chirilsinmi? ConfirmDeleteCheckReceipt=Ushbu chek kvitansiyasini o'chirishni xohlaysizmi? BankChecks=Bank cheklari BankChecksToReceipt=Depozitni kutayotgan cheklar -BankChecksToReceiptShort=Checks awaiting deposit +BankChecksToReceiptShort=Depozitni kutayotgan cheklar ShowCheckReceipt=Chek depozit kvitansiyasini ko'rsating NumberOfCheques=Chek raqami DeleteTransaction=Kirishni o'chirish @@ -161,24 +161,24 @@ CheckRejectedAndInvoicesReopened=Qaytganligini tekshiring va hisob-fakturalarni BankAccountModelModule=Bank hisobvaraqlari uchun hujjatlar shablonlari DocumentModelSepaMandate=SEPA mandatining shabloni. Faqatgina Evropa Ittifoqidagi Evropa mamlakatlari uchun foydalidir. DocumentModelBan=BAN ma'lumotlari bilan sahifani chop etish uchun shablon. -NewVariousPayment=New miscellaneous payment -VariousPayment=Miscellaneous payment -VariousPayments=Miscellaneous payments -ShowVariousPayment=Show miscellaneous payment -AddVariousPayment=Add miscellaneous payment -VariousPaymentId=Miscellaneous payment ID -VariousPaymentLabel=Miscellaneous payment label -ConfirmCloneVariousPayment=Confirm the clone of a miscellaneous payment -SEPAMandate=SEPA mandate -YourSEPAMandate=Your SEPA mandate -FindYourSEPAMandate=This is your SEPA mandate to authorize our company to make direct debit order to your bank. Return it signed (scan of the signed document) or send it by mail to -AutoReportLastAccountStatement=Automatically fill the field 'number of bank statement' with last statement number when making reconciliation -CashControl=POS cash desk control -NewCashFence=New cash desk opening or closing -BankColorizeMovement=Colorize movements -BankColorizeMovementDesc=If this function is enable, you can choose specific background color for debit or credit movements -BankColorizeMovementName1=Background color for debit movement -BankColorizeMovementName2=Background color for credit movement -IfYouDontReconcileDisableProperty=If you don't make the bank reconciliations on some bank accounts, disable the property "%s" on them to remove this warning. -NoBankAccountDefined=No bank account defined -NoRecordFoundIBankcAccount=No record found in bank account. Commonly, this occurs when a record has been deleted manually from the list of transaction in the bank account (for example during a reconciliation of the bank account). Another reason is that the payment was recorded when the module "%s" was disabled. +NewVariousPayment=Yangi har xil to'lov +VariousPayment=Turli xil to'lovlar +VariousPayments=Turli xil to'lovlar +ShowVariousPayment=Turli xil to'lovlarni ko'rsating +AddVariousPayment=Turli xil to'lovlarni qo'shing +VariousPaymentId=Boshqa to'lov identifikatori +VariousPaymentLabel=Turli xil to'lov yorlig'i +ConfirmCloneVariousPayment=Turli xil to'lovlar klonini tasdiqlang +SEPAMandate=SEPA vakolati +YourSEPAMandate=Sizning SEPA vakolatingiz +FindYourSEPAMandate=Bu sizning kompaniyangizga sizning bankingizda to'g'ridan-to'g'ri debet buyurtma berish huquqini berish uchun sizning SEPA vakolatingiz. Uni imzolangan holda qaytaring (imzolangan hujjatni skanerlash) yoki pochta orqali yuboring +AutoReportLastAccountStatement=Taqqoslash paytida avtomatik ravishda 'bank ko'chirma raqami' maydonini oxirgi ko'chirma raqami bilan to'ldiring +CashControl=POS kassasini boshqarish +NewCashFence=Yangi kassa ochilishi yoki yopilishi +BankColorizeMovement=Harakatlarni ranglang +BankColorizeMovementDesc=Agar bu funktsiya yoqilgan bo'lsa, siz debet yoki kredit harakatlari uchun aniq fon rangini tanlashingiz mumkin +BankColorizeMovementName1=Debet harakati uchun fon rangi +BankColorizeMovementName2=Kredit harakati uchun fon rangi +IfYouDontReconcileDisableProperty=Agar siz ba'zi bir bank hisobvaraqlari bo'yicha banklarni yarashtirmasangiz, ushbu ogohlantirishni olib tashlash uchun ulardagi "%s" xususiyatini o'chirib qo'ying. +NoBankAccountDefined=Bank hisob raqami aniqlanmagan +NoRecordFoundIBankcAccount=Bank hisob raqamida yozuv topilmadi. Odatda, bu yozuv bank hisobvarag'idagi operatsiyalar ro'yxatidan qo'lda o'chirilganda sodir bo'ladi (masalan, bank hisobvarag'ini taqqoslash paytida). Yana bir sabab shundaki, to'lov "%s" moduli o'chirilganda qayd etilgan. diff --git a/htdocs/langs/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index a7d1da66661..cd391c74a65 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -11,8 +11,8 @@ BillsSuppliersUnpaidForCompany=%s uchun to'lanmagan sotuvchilarning hisob-faktur BillsLate=Kechiktirilgan to'lovlar BillsStatistics=Mijozlar hisob-fakturalari statistikasi BillsStatisticsSuppliers=Sotuvchilarning hisob-fakturalari statistikasi -DisabledBecauseDispatchedInBookkeeping=Disabled because invoice was dispatched into bookkeeping -DisabledBecauseNotLastInvoice=Disabled because invoice is not erasable. Some invoices were recorded after this one and it will create holes in the counter. +DisabledBecauseDispatchedInBookkeeping=Faktura buxgalteriya hisobiga yuborilganligi sababli o'chirib qo'yildi +DisabledBecauseNotLastInvoice=Fakturani o'chirib bo'lmaydiganligi sababli o'chirib qo'yilgan. Shundan so'ng ba'zi hisob-fakturalar yozilgan va bu hisoblagichda teshiklar hosil qiladi. DisabledBecauseNotErasable=O'chirilganligi sababli o'chirib qo'yilgan InvoiceStandard=Standart hisob-faktura InvoiceStandardAsk=Standart hisob-faktura @@ -47,7 +47,7 @@ InvoiceHasAvoir=Bir yoki bir nechta kredit yozuvlari manbai bo'lgan CardBill=Hisob-faktura kartasi PredefinedInvoices=Oldindan belgilangan hisob-fakturalar Invoice=Hisob-faktura -PdfInvoiceTitle=Invoice +PdfInvoiceTitle=Hisob-faktura Invoices=Hisob-fakturalar InvoiceLine=Hisob-faktura chizig'i InvoiceCustomer=Mijozlarning hisob-fakturasi @@ -55,7 +55,7 @@ CustomerInvoice=Mijozlarning hisob-fakturasi CustomersInvoices=Mijozlarning hisob-fakturalari SupplierInvoice=Sotuvchi hisob-fakturasi SuppliersInvoices=Sotuvchi hisob-fakturalari -SupplierInvoiceLines=Vendor invoice lines +SupplierInvoiceLines=Sotuvchi faktura satrlari SupplierBill=Sotuvchi hisob-fakturasi SupplierBills=Sotuvchi hisob-fakturalari Payment=To'lov @@ -68,9 +68,9 @@ PaidBack=Qaytib to'langan DeletePayment=To'lovni o'chirib tashlang ConfirmDeletePayment=Haqiqatan ham ushbu to'lovni o'chirishni xohlaysizmi? ConfirmConvertToReduc=Ushbu %s-ni mavjud kreditga aylantirmoqchimisiz? -ConfirmConvertToReduc2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -ConfirmConvertToReducSupplier=Do you want to convert this %s into an available credit? -ConfirmConvertToReducSupplier2=The amount will be saved among all discounts and could be used as a discount for a current or a future invoice for this vendor. +ConfirmConvertToReduc2=Miqdor barcha chegirmalar orasida saqlanib qoladi va ushbu mijoz uchun joriy yoki kelajakdagi hisob-faktura uchun chegirma sifatida ishlatilishi mumkin. +ConfirmConvertToReducSupplier=Ushbu %s-ni mavjud kreditga aylantirmoqchimisiz? +ConfirmConvertToReducSupplier2=Miqdor barcha chegirmalar orasida saqlanib qoladi va ushbu sotuvchi uchun joriy yoki kelajakdagi hisob-faktura uchun chegirma sifatida ishlatilishi mumkin. SupplierPayments=Sotuvchi uchun to'lovlar ReceivedPayments=Qabul qilingan to'lovlar ReceivedCustomersPayments=Mijozlardan olingan to'lovlar @@ -82,8 +82,8 @@ PaymentsAlreadyDone=To'lovlar allaqachon amalga oshirilgan PaymentsBackAlreadyDone=Pulni qaytarish allaqachon amalga oshirilgan PaymentRule=To'lov qoidasi PaymentMode=To'lov turi -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=Standart to'lov turi +DefaultBankAccount=Standart bank hisobvarag'i PaymentTypeDC=Debet / kredit karta PaymentTypePP=PayPal IdPaymentMode=To'lov turi (id) @@ -98,7 +98,7 @@ PaymentHigherThanReminderToPay=To'lov to'lashni eslatgandan yuqori HelpPaymentHigherThanReminderToPay=E'tibor bering, bir yoki bir nechta veksellarni to'lash miqdori to'lash kerak bo'lgan miqdoridan yuqori.
yozuvingizni tahrirlang, aks holda har bir ortiqcha to'langan hisob-faktura uchun olingan ortiqcha uchun kredit yozuvini yaratishni tasdiqlang va ko'rib chiqing. HelpPaymentHigherThanReminderToPaySupplier=E'tibor bering, bir yoki bir nechta veksellarni to'lash miqdori to'lash kerak bo'lgan miqdoridan yuqori.
yozuvingizni tahrirlang, aks holda har bir ortiqcha to'langan hisob-faktura uchun to'langan ortiqcha uchun kredit yozuvini yaratishni tasdiqlang va ko'rib chiqing. ClassifyPaid="Pulli" deb tasniflang -ClassifyUnPaid=Classify 'Unpaid' +ClassifyUnPaid="To'lanmagan" toifasini tasniflash ClassifyPaidPartially="Qisman to'langan" deb tasniflang ClassifyCanceled="Tashlab ketilgan" deb tasniflang ClassifyClosed="Yopiq" deb tasniflash @@ -116,7 +116,7 @@ DoPayment=To'lovni kiriting DoPaymentBack=Qaytarishni kiriting ConvertToReduc=Kredit mavjud deb belgilang ConvertExcessReceivedToReduc=Qabul qilingan ortiqcha miqdorni mavjud kreditga aylantiring -ConvertExcessPaidToReduc=Convert excess paid into available discount +ConvertExcessPaidToReduc=To'langan ortiqcha miqdorni mavjud chegirmaga aylantiring EnterPaymentReceivedFromCustomer=Mijozdan olingan to'lovni kiriting EnterPaymentDueToCustomer=Mijozga tegishli to'lovni amalga oshiring DisabledBecauseRemainderToPayIsZero=O'chirilgan, chunki to'lovsiz qolgan nolga teng @@ -137,7 +137,7 @@ BillStatusClosedPaidPartially=Pulli (qisman) BillShortStatusDraft=Qoralama BillShortStatusPaid=To'langan BillShortStatusPaidBackOrConverted=Qaytarilgan yoki konvertatsiya qilingan -Refunded=Refunded +Refunded=Qaytarildi BillShortStatusConverted=To'langan BillShortStatusCanceled=Tashlab ketilgan BillShortStatusValidated=Tasdiqlangan @@ -156,7 +156,7 @@ ErrorDiscountAlreadyUsed=Xato, chegirma allaqachon ishlatilgan ErrorInvoiceAvoirMustBeNegative=Xato, to'g'ri hisob-fakturada salbiy miqdor bo'lishi kerak ErrorInvoiceOfThisTypeMustBePositive=Xato, ushbu turdagi hisob-fakturada soliqdan tashqari (yoki bekor qilingan) soliq miqdori bo'lmagan miqdor bo'lishi kerak ErrorCantCancelIfReplacementInvoiceNotValidated=Xato, boshqa hisob-faktura bilan almashtirilgan fakturani bekor qilish mumkin emas -ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=This part or another is already used so discount series cannot be removed. +ErrorThisPartOrAnotherIsAlreadyUsedSoDiscountSerieCantBeRemoved=Ushbu yoki boshqa qism allaqachon ishlatilgan, shuning uchun chegirmalarni o'chirib bo'lmaydi. BillFrom=Kimdan BillTo=Kimga ActionsOnBill=Hisob-fakturadagi harakatlar @@ -166,19 +166,19 @@ FoundXQualifiedRecurringInvoiceTemplate=%s takrorlanadigan shablon hisob-faktura NotARecurringInvoiceTemplate=Takrorlanadigan shablon hisob-fakturasi emas NewBill=Yangi hisob-faktura LastBills=Oxirgi %s hisob-fakturalari -LatestTemplateInvoices=Latest %s template invoices -LatestCustomerTemplateInvoices=Latest %s customer template invoices -LatestSupplierTemplateInvoices=Latest %s vendor template invoices +LatestTemplateInvoices=Eng so'nggi %s shablon hisob-fakturalari +LatestCustomerTemplateInvoices=Eng so'nggi %s mijozlar shablonlari hisob-fakturalari +LatestSupplierTemplateInvoices=So'nggi %s sotuvchisi shablon hisob-fakturalari LastCustomersBills=%s mijozlarining so'nggi hisob-fakturalari LastSuppliersBills=Oxirgi %s sotuvchisi hisob-fakturalari AllBills=Barcha hisob-fakturalar -AllCustomerTemplateInvoices=All template invoices +AllCustomerTemplateInvoices=Barcha shablon hisob-fakturalar OtherBills=Boshqa hisob-fakturalar DraftBills=Hisob-fakturalar CustomersDraftInvoices=Xaridorlarning hisob-fakturalari SuppliersDraftInvoices=Xaridor hisob-fakturalari Unpaid=To'lanmagan -ErrorNoPaymentDefined=Error No payment defined +ErrorNoPaymentDefined=Xato To'lov aniqlanmadi ConfirmDeleteBill=Ushbu hisob-fakturani o'chirishni xohlaysizmi? ConfirmValidateBill=Ushbu fakturani %s ma'lumotnomasi bilan tasdiqlamoqchimisiz? ConfirmUnvalidateBill=Hisob-fakturani %s holatini qoralama holatiga o'zgartirishni xohlaysizmi? @@ -188,7 +188,7 @@ ConfirmCancelBillQuestion=Nima uchun ushbu hisob-fakturani "tashlab qo'yilgan" d ConfirmClassifyPaidPartially=Hisob-fakturani %s ni to'langan holatga o'zgartirishni xohlaysizmi? ConfirmClassifyPaidPartiallyQuestion=Ushbu hisob-faktura to'liq to'lanmagan. Ushbu hisob-fakturani yopish sababi nima? ConfirmClassifyPaidPartiallyReasonAvoir=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. Men QQSni kredit yozuvlari bilan tartibga solaman. -ConfirmClassifyPaidPartiallyReasonDiscount=Remaining unpaid (%s %s) is a discount granted because payment was made before term. +ConfirmClassifyPaidPartiallyReasonDiscount=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. Ushbu chegirmada QQSni yo'qotishni qabul qilaman. ConfirmClassifyPaidPartiallyReasonDiscountVat=Qolgan to'lanmagan (%s %s) - bu chegirma, chunki to'lov muddatidan oldin amalga oshirilgan. Men ushbu chegirma bo'yicha QQSni kredit yozuvisiz qaytarib olaman. ConfirmClassifyPaidPartiallyReasonBadCustomer=Yomon mijoz @@ -210,25 +210,25 @@ UnvalidateBill=Hisob-faktura yaroqsiz NumberOfBills=Hisob-fakturalar soni NumberOfBillsByMonth=Oyiga hisob-fakturalar soni AmountOfBills=Hisob-fakturalar miqdori -AmountOfBillsHT=Amount of invoices (net of tax) +AmountOfBillsHT=Hisob-fakturalar miqdori (soliqdan tashqari) AmountOfBillsByMonthHT=Hisob-fakturalarning oy bo'yicha miqdori (soliqni hisobga olmaganda) -UseSituationInvoices=Allow situation invoice -UseSituationInvoicesCreditNote=Allow situation invoice credit note -Retainedwarranty=Retained warranty -AllowedInvoiceForRetainedWarranty=Retained warranty usable on the following types of invoices -RetainedwarrantyDefaultPercent=Retained warranty default percent -RetainedwarrantyOnlyForSituation=Make "retained warranty" available only for situation invoices -RetainedwarrantyOnlyForSituationFinal=On situation invoices the global "retained warranty" deduction is applied only on the final situation -ToPayOn=To pay on %s -toPayOn=to pay on %s -RetainedWarranty=Retained Warranty -PaymentConditionsShortRetainedWarranty=Retained warranty payment terms -DefaultPaymentConditionsRetainedWarranty=Default retained warranty payment terms -setPaymentConditionsShortRetainedWarranty=Set retained warranty payment terms -setretainedwarranty=Set retained warranty -setretainedwarrantyDateLimit=Set retained warranty date limit -RetainedWarrantyDateLimit=Retained warranty date limit -RetainedWarrantyNeed100Percent=The situation invoice need to be at 100%% progress to be displayed on PDF +UseSituationInvoices=Vaziyat fakturasiga ruxsat berish +UseSituationInvoicesCreditNote=Vaziyatni taqdim etgan kredit yozuviga ruxsat berish +Retainedwarranty=Kafolat saqlanib qoldi +AllowedInvoiceForRetainedWarranty=Hisob-fakturalarning quyidagi turlari bo'yicha ishlatilishi mumkin bo'lgan kafolat +RetainedwarrantyDefaultPercent=Kafolat sukut saqlanib qoldi +RetainedwarrantyOnlyForSituation="Saqlanib qolgan kafolat" ni faqat vaziyat bo'yicha hisob-fakturalar uchun taqdim eting +RetainedwarrantyOnlyForSituationFinal=Vaziyat fakturalarida global "saqlanib qolgan kafolat" chegirmasi faqat oxirgi holat bo'yicha qo'llaniladi +ToPayOn=%s orqali to'lash uchun +toPayOn=%s da to'lash +RetainedWarranty=Kafolatni saqlab qolish +PaymentConditionsShortRetainedWarranty=Kafolatni to'lash shartlari saqlanib qoldi +DefaultPaymentConditionsRetainedWarranty=Odatiy saqlanib qolgan kafolatli to'lov shartlari +setPaymentConditionsShortRetainedWarranty=Kafolatni to'lashning saqlanib qolgan shartlarini o'rnating +setretainedwarranty=Saqlangan kafolatni o'rnating +setretainedwarrantyDateLimit=Saqlanib qolgan kafolat muddatini belgilang +RetainedWarrantyDateLimit=Kafolat muddati saqlanib qoldi +RetainedWarrantyNeed100Percent=Vaziyat fakturasi 100%% darajasida bo'lishi kerak, bu PDF-da ko'rsatilishi kerak AlreadyPaid=Allaqachon to'langan AlreadyPaidBack=Qaytib to'langan AlreadyPaidNoCreditNotesNoDeposits=Oldindan to'langan (kredit yozuvlari va dastlabki to'lovlarsiz) @@ -239,7 +239,7 @@ RemainderToPayBack=Pulni qaytarish uchun qolgan mablag ' Rest=Kutilmoqda AmountExpected=Da'vo qilingan miqdor ExcessReceived=Ortiqcha olingan -ExcessPaid=Excess paid +ExcessPaid=Ortiqcha to'langan EscompteOffered=Taklif qilingan chegirma (muddatidan oldin to'lov) EscompteOfferedShort=Chegirma SendBillRef=%s hisob-fakturasini taqdim etish @@ -259,7 +259,7 @@ DateMaxPayment=To'lov muddati DateInvoice=Hisob-faktura sanasi DatePointOfTax=Soliq punkti NoInvoice=Hisob-faktura yo‘q -NoOpenInvoice=No open invoice +NoOpenInvoice=Ochiq hisob-fakturasi yo‘q ClassifyBill=Hisob-fakturani tasniflang SupplierBillsToPay=To'lovsiz sotuvchi hisob-fakturalari CustomerBillsUnpaid=To'lovsiz mijozlar uchun hisob-fakturalar @@ -294,30 +294,30 @@ EditGlobalDiscounts=Mutlaq chegirmalarni tahrirlash AddCreditNote=Kredit yozuvini yarating ShowDiscount=Chegirmani ko'rsating ShowReduc=Chegirmani ko'rsating -ShowSourceInvoice=Show the source invoice +ShowSourceInvoice=Manba-fakturani ko'rsating RelativeDiscount=Nisbatan chegirma GlobalDiscount=Global chegirma CreditNote=Kredit eslatma CreditNotes=Kredit yozuvlari -CreditNotesOrExcessReceived=Credit notes or excess received +CreditNotesOrExcessReceived=Kredit yozuvlari yoki ortiqcha olingan Deposit=Ilk to'lov Deposits=Dastlabki to'lovlar DiscountFromCreditNote=%s kredit notasidan chegirma DiscountFromDeposit=Hisob-fakturadan dastlabki to'lovlar %s DiscountFromExcessReceived=Hisob-fakturadan ortiqcha to'lovlar %s -DiscountFromExcessPaid=Payments in excess of invoice %s +DiscountFromExcessPaid=Hisob-fakturadan ortiqcha to'lovlar %s AbsoluteDiscountUse=Ushbu turdagi kreditni tasdiqlashdan oldin hisob-fakturada ishlatish mumkin CreditNoteDepositUse=Ushbu turdagi kreditlardan foydalanish uchun hisob-fakturani tasdiqlash kerak NewGlobalDiscount=Yangi mutlaq chegirma NewRelativeDiscount=Yangi nisbiy chegirma -DiscountType=Discount type +DiscountType=Chegirma turi NoteReason=Izoh / sabab ReasonDiscount=Sabab DiscountOfferedBy=Tomonidan berilgan DiscountStillRemaining=Chegirmalar yoki kreditlar mavjud DiscountAlreadyCounted=Oldindan iste'mol qilingan chegirmalar yoki kreditlar -CustomerDiscounts=Customer discounts -SupplierDiscounts=Vendors discounts +CustomerDiscounts=Mijozlarga chegirmalar +SupplierDiscounts=Sotuvchilarga chegirmalar BillAddress=Hisob-kitob manzili HelpEscompte=Ushbu chegirma mijozga berilgan chegirmadir, chunki to'lov muddatidan oldin amalga oshirilgan. HelpAbandonBadCustomer=Ushbu miqdordan voz kechildi (mijoz yomon mijoz deb aytdi) va bu juda katta zarar deb hisoblanadi. @@ -331,10 +331,10 @@ InvoiceDateCreation=Hisob-fakturani yaratish sanasi InvoiceStatus=Hisob-faktura holati InvoiceNote=Hisob-faktura yozuvi InvoicePaid=Hisob-faktura to'landi -InvoicePaidCompletely=Paid completely -InvoicePaidCompletelyHelp=Invoice that are paid completely. This excludes invoices that are paid partially. To get list of all 'Closed' or non 'Closed' invoices, prefer to use a filter on the invoice status. -OrderBilled=Order billed -DonationPaid=Donation paid +InvoicePaidCompletely=To'liq to'langan +InvoicePaidCompletelyHelp=To'liq to'langan hisob-faktura. Bu qisman to'lanadigan hisob-fakturalarni hisobga olmaydi. Barcha "Yopiq" yoki "Yopiq" bo'lmagan schyot-fakturalar ro'yxatini olish uchun faktura holatida filtrdan foydalanishni afzal biling. +OrderBilled=Buyurtma uchun to'lov +DonationPaid=Xayriya to'landi PaymentNumber=To'lov raqami RemoveDiscount=Chegirmani olib tashlang WatermarkOnDraftBill=Hisob-fakturalardagi suv belgisi (bo'sh bo'lsa, hech narsa yo'q) @@ -360,35 +360,35 @@ PaymentOnDifferentThirdBills=Turli xil uchinchi shaxslarning veksellari bo'yicha PaymentNote=To'lov uchun eslatma ListOfPreviousSituationInvoices=Avvalgi vaziyat bo'yicha hisob-fakturalar ro'yxati ListOfNextSituationInvoices=Keyingi vaziyat bo'yicha hisob-fakturalar ro'yxati -ListOfSituationInvoices=List of situation invoices -CurrentSituationTotal=Total current situation -DisabledBecauseNotEnouthCreditNote=To remove a situation invoice from cycle, this invoice's credit note total must cover this invoice total -RemoveSituationFromCycle=Remove this invoice from cycle -ConfirmRemoveSituationFromCycle=Remove this invoice %s from cycle ? -ConfirmOuting=Confirm outing +ListOfSituationInvoices=Vaziyat fakturalari ro'yxati +CurrentSituationTotal=Jami hozirgi holat +DisabledBecauseNotEnouthCreditNote=Vaziyat schyotini tsikldan olib tashlash uchun ushbu schyotning ssuda summasi ushbu schyotning umumiy miqdorini qoplashi kerak +RemoveSituationFromCycle=Ushbu hisob-fakturani tsikldan olib tashlang +ConfirmRemoveSituationFromCycle=Ushbu fakturani %s tsikldan olib tashlaysizmi? +ConfirmOuting=Tashqariga chiqishni tasdiqlang FrequencyPer_d=Har bir %s kun ichida FrequencyPer_m=Har %s oy FrequencyPer_y=Har %s yilda -FrequencyUnit=Frequency unit +FrequencyUnit=Chastota birligi toolTipFrequency=Misollar:
7-to'plam, kun : har 7 kunda yangi hisob-faktura bering
3-to'plam, oy a09a4b739f17fz NextDateToExecution=Keyingi hisob-fakturani yaratish sanasi -NextDateToExecutionShort=Date next gen. +NextDateToExecutionShort=Sana keyingi nasl. DateLastGeneration=Oxirgi avlod sanasi -DateLastGenerationShort=Date latest gen. +DateLastGenerationShort=Sana so'nggi gen. MaxPeriodNumber=Maks. hisob-fakturani yaratish soni NbOfGenerationDone=Hisob-fakturani yaratish soni allaqachon bajarilgan -NbOfGenerationOfRecordDone=Number of record generation already done -NbOfGenerationDoneShort=Number of generation done +NbOfGenerationOfRecordDone=Bajarilgan yozuvlar soni +NbOfGenerationDoneShort=Ishlab chiqarilgan avlod soni MaxGenerationReached=Yetib kelgan avlodlarning maksimal soni InvoiceAutoValidate=Hisob-fakturalarni avtomatik ravishda tasdiqlang GeneratedFromRecurringInvoice=%s shablonidan takrorlanadigan hisob-fakturadan yaratilgan DateIsNotEnough=Sana hali aniqlanmagan InvoiceGeneratedFromTemplate=%s shablonidan takrorlanadigan shablondan hosil qilingan %s schyoti -GeneratedFromTemplate=Generated from template invoice %s +GeneratedFromTemplate=%s shablon hisob-fakturasidan yaratilgan WarningInvoiceDateInFuture=Ogohlantirish, faktura sanasi joriy sanadan yuqori WarningInvoiceDateTooFarInFuture=Diqqat! Hisob-faktura sanasi joriy sanadan juda uzoq -ViewAvailableGlobalDiscounts=View available discounts -GroupPaymentsByModOnReports=Group payments by mode on reports +ViewAvailableGlobalDiscounts=Mavjud chegirmalarni ko'ring +GroupPaymentsByModOnReports=Hisobotlar bo'yicha to'lovlarni tartib bo'yicha guruhlash # PaymentConditions Statut=Holat PaymentConditionShortRECEP=Qabul qilingandan keyin @@ -417,8 +417,8 @@ PaymentConditionShort14DENDMONTH=Oy tugashining 14 kuni PaymentCondition14DENDMONTH=Oy tugaganidan keyingi 14 kun ichida FixAmount=Ruxsat etilgan miqdor - '%s' yorlig'i bilan 1 qator VarAmount=O'zgaruvchan miqdor (%% tot.) -VarAmountOneLine=Variable amount (%% tot.) - 1 line with label '%s' -VarAmountAllLines=Variable amount (%% tot.) - all lines from origin +VarAmountOneLine=O'zgaruvchan miqdor (%% tot.) - '%s' yorlig'i bilan 1 qator +VarAmountAllLines=O'zgaruvchan miqdor (%% tot.) - kelib chiqadigan barcha satrlar # PaymentType PaymentTypeVIR=Bank o'tkazmasi PaymentTypeShortVIR=Bank o'tkazmasi @@ -446,8 +446,8 @@ BankAccountNumberKey=Tekshirish summasi Residence=Manzil IBANNumber=IBAN hisob raqami IBAN=IBAN -CustomerIBAN=IBAN of customer -SupplierIBAN=IBAN of vendor +CustomerIBAN=Mijozning IBAN +SupplierIBAN=Sotuvchisi IBAN BIC=BIC / SWIFT BICNumber=BIC / SWIFT kodi ExtraInfos=Qo'shimcha ma'lumotlar @@ -499,16 +499,16 @@ Cash=Naqd pul Reported=Kechiktirildi DisabledBecausePayments=Mumkin emas, chunki ba'zi to'lovlar mavjud CantRemovePaymentWithOneInvoicePaid=To'lovni olib tashlab bo'lmaydi, chunki kamida bitta to'langan hisob-faktura mavjud -CantRemovePaymentVATPaid=Can't remove payment since VAT declaration is classified paid -CantRemovePaymentSalaryPaid=Can't remove payment since salary is classified paid +CantRemovePaymentVATPaid=QQS deklaratsiyasi to'langan deb e'lon qilinganligi sababli to'lovni olib tashlab bo'lmaydi +CantRemovePaymentSalaryPaid=To'lovni olib tashlab bo'lmaydi, chunki ish haqi to'langan deb tasniflanadi ExpectedToPay=Kutilayotgan to'lov CantRemoveConciliatedPayment=Taqqoslangan to'lovni olib tashlab bo'lmaydi PayedByThisPayment=Ushbu to'lov orqali to'lanadi ClosePaidInvoicesAutomatically=To'lov to'liq amalga oshirilgandan so'ng barcha standart, dastlabki to'lovlar yoki almashtirish hisob-fakturalarini avtomatik ravishda "To'langan" deb tasniflang. ClosePaidCreditNotesAutomatically=To'liq qaytarib berilgandan so'ng barcha kredit yozuvlarini avtomatik ravishda "To'langan" deb tasniflang. ClosePaidContributionsAutomatically=To'lov to'liq amalga oshirilganda barcha ijtimoiy yoki soliq to'lovlarini avtomatik ravishda "To'langan" deb tasniflang. -ClosePaidVATAutomatically=Classify automatically VAT declaration as "Paid" when payment is done entirely. -ClosePaidSalaryAutomatically=Classify automatically salary as "Paid" when payment is done entirely. +ClosePaidVATAutomatically=To'lov to'liq amalga oshirilganda avtomatik ravishda QQS deklaratsiyasini "To'langan" deb tasniflang. +ClosePaidSalaryAutomatically=To'lov to'liq amalga oshirilganda avtomatik ravishda ish haqini "To'langan" deb tasniflang. AllCompletelyPayedInvoiceWillBeClosed=To'lash uchun qoldiq bo'lmagan barcha hisob-fakturalar "To'langan" holati bilan avtomatik ravishda yopiladi. ToMakePayment=To'lash ToMakePaymentBack=To'lovni qaytaring @@ -519,14 +519,14 @@ YouMustCreateInvoiceFromThird=Ushbu parametr faqat uchinchi tomonning "Mijoz" yo YouMustCreateInvoiceFromSupplierThird=Ushbu parametr faqat uchinchi tomonning "Sotuvchi" yorlig'idan hisob-fakturani yaratishda mavjud bo'ladi YouMustCreateStandardInvoiceFirstDesc=Avval siz standart hisob-fakturani yaratishingiz va yangi shablon hisob-fakturasini yaratish uchun uni "shablonga" o'tkazishingiz kerak PDFCrabeDescription=Hisob-fakturaning PDF shabloni Crabe. To'liq hisob-faktura shablonini (shimgichni shablonini eski versiyasi) -PDFSpongeDescription=Invoice PDF template Sponge. A complete invoice template +PDFSpongeDescription=Hisob-faktura PDF shablonini shimgich. To'liq hisob-faktura shabloni PDFCrevetteDescription=Hisob-fakturaning PDF shablonini Crevette. Vaziyat-fakturalar uchun to'liq hisob-faktura shabloni TerreNumRefModelDesc1=Standart hisob-fakturalar uchun %syymm-nnnn formatidagi qaytarish raqami va kredit yozuvlari uchun %syymm-nnnn, yy yil, mm oy va nnnn ketma-ket avtomatik ko'paytiriladigan raqam bo'lib, tanaffussiz va 0 ga qaytish mumkin emas. MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 TerreNumRefModelError=$ Syymm bilan boshlangan qonun loyihasi allaqachon mavjud va ushbu ketma-ketlik modeliga mos kelmaydi. Ushbu modulni faollashtirish uchun uni olib tashlang yoki nomini o'zgartiring. CactusNumRefModelDesc1=Standart hisob-fakturalar uchun %syymm-nnnn formatidagi, kredit yozuvlari uchun %syymm-nnnn va %syymm-nnnn formatidagi qaytarish raqami, yy yil, mm-raqam o'sish va raqamlar 0 -EarlyClosingReason=Early closing reason -EarlyClosingComment=Early closing note +EarlyClosingReason=Erta yopilish sababi +EarlyClosingComment=Erta yopilish eslatmasi ##### Types de contacts ##### TypeContact_facture_internal_SALESREPFOLL=Vakilni kuzatib boradigan mijozlarning hisob-fakturasi TypeContact_facture_external_BILLING=Mijozlarning hisob-fakturasi bilan aloqa qilish @@ -540,16 +540,16 @@ TypeContact_invoice_supplier_external_SERVICE=Sotuvchi xizmatiga murojaat qilish InvoiceFirstSituationAsk=Birinchi vaziyat uchun hisob-faktura InvoiceFirstSituationDesc= vaziyat schyotlari progressiya bilan bog'liq vaziyatlarga bog'langan, masalan qurilishning rivojlanishi. Har bir vaziyat hisob-fakturaga bog'langan. InvoiceSituation=Vaziyat bo'yicha hisob-faktura -PDFInvoiceSituation=Situation invoice +PDFInvoiceSituation=Vaziyat bo'yicha hisob-faktura InvoiceSituationAsk=Vaziyatdan keyin hisob-faktura InvoiceSituationDesc=Mavjud vaziyatdan so'ng yangi vaziyat yarating SituationAmount=Vaziyat bo'yicha hisob-faktura summasi (aniq) SituationDeduction=Vaziyatni ayirish ModifyAllLines=Barcha qatorlarni o'zgartiring CreateNextSituationInvoice=Keyingi vaziyatni yarating -ErrorFindNextSituationInvoice=Error unable to find next situation cycle ref -ErrorOutingSituationInvoiceOnUpdate=Unable to outing this situation invoice. -ErrorOutingSituationInvoiceCreditNote=Unable to outing linked credit note. +ErrorFindNextSituationInvoice=Keyingi vaziyat tsiklini topib bo'lmadi +ErrorOutingSituationInvoiceOnUpdate=Ushbu hisob-fakturani o'chirib bo'lmaydi. +ErrorOutingSituationInvoiceCreditNote=Bog'langan kredit yozuvini o'chirib bo'lmaydi. NotLastInCycle=Ushbu hisob-faktura tsiklning so'nggi versiyasi emas va o'zgartirilmasligi kerak. DisabledBecauseNotLastInCycle=Keyingi vaziyat allaqachon mavjud. DisabledBecauseFinal=Bu holat yakuniy. @@ -572,22 +572,22 @@ DeleteRepeatableInvoice=Shablon hisob-fakturasini o'chirish ConfirmDeleteRepeatableInvoice=Shablon hisob-fakturasini o'chirishni xohlaysizmi? CreateOneBillByThird=Uchinchi tomon uchun bitta hisob-faktura yarating (aks holda, buyurtma uchun bitta hisob-faktura) BillCreated=%s hisob-fakturasi (lar) yaratilgan -BillXCreated=Invoice %s generated -StatusOfGeneratedDocuments=Status of document generation -DoNotGenerateDoc=Do not generate document file -AutogenerateDoc=Auto generate document file -AutoFillDateFrom=Set start date for service line with invoice date -AutoFillDateFromShort=Set start date -AutoFillDateTo=Set end date for service line with next invoice date -AutoFillDateToShort=Set end date -MaxNumberOfGenerationReached=Max number of gen. reached -BILL_DELETEInDolibarr=Invoice deleted -BILL_SUPPLIER_DELETEInDolibarr=Supplier invoice deleted -UnitPriceXQtyLessDiscount=Unit price x Qty - Discount -CustomersInvoicesArea=Customer billing area -SupplierInvoicesArea=Supplier billing area -FacParentLine=Invoice Line Parent -SituationTotalRayToRest=Remainder to pay without taxe -PDFSituationTitle=Situation n° %d -SituationTotalProgress=Total progress %d %% -SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s +BillXCreated=%s hisob-fakturasi tuzildi +StatusOfGeneratedDocuments=Hujjat yaratish holati +DoNotGenerateDoc=Hujjat faylini yaratmang +AutogenerateDoc=Hujjat faylini avtomatik yaratish +AutoFillDateFrom=Hisob-faktura sanasi bilan xizmat ko'rsatish liniyasining boshlanish sanasini belgilang +AutoFillDateFromShort=Boshlanish sanasini belgilang +AutoFillDateTo=Xizmat liniyasining tugash sanasini keyingi hisob-kitob sanasi bilan belgilang +AutoFillDateToShort=Tugash sanasini belgilang +MaxNumberOfGenerationReached=Maksimum gen soni. yetdi +BILL_DELETEInDolibarr=Hisob-faktura o'chirildi +BILL_SUPPLIER_DELETEInDolibarr=Ta'minlovchining hisob-fakturasi o'chirildi +UnitPriceXQtyLessDiscount=Birlik narxi x Miqdor - chegirma +CustomersInvoicesArea=Mijozlarning hisob-kitob maydoni +SupplierInvoicesArea=Ta'minlovchining hisob-kitob maydoni +FacParentLine=Hisob-faktura satrining ota-onasi +SituationTotalRayToRest=Soliqsiz to'lash uchun qoldiq +PDFSituationTitle=Vaziyat n ° %d +SituationTotalProgress=Jami taraqqiyot %d %% +SearchUnpaidInvoicesWithDueDate=Belgilangan sana = %s bilan to'lanmagan hisob-fakturalarni qidiring diff --git a/htdocs/langs/uz_UZ/blockedlog.lang b/htdocs/langs/uz_UZ/blockedlog.lang index 0bba5605d0f..478a7fdc873 100644 --- a/htdocs/langs/uz_UZ/blockedlog.lang +++ b/htdocs/langs/uz_UZ/blockedlog.lang @@ -1,54 +1,54 @@ -BlockedLog=Unalterable Logs -Field=Field -BlockedLogDesc=This module tracks some events into an unalterable log (that you can't modify once recorded) into a block chain, in real time. This module provides compatibility with requirements of laws of some countries (like France with the law Finance 2016 - Norme NF525). -Fingerprints=Archived events and fingerprints -FingerprintsDesc=This is the tool to browse or extract the unalterable logs. Unalterable logs are generated and archived locally into a dedicated table, in real time when you record a business event. You can use this tool to export this archive and save it into an external support (some countries, like France, ask that you do it every year). Note that, there is no feature to purge this log and every change tried to be done directly into this log (by a hacker for example) will be reported with a non-valid fingerprint. If you really need to purge this table because you used your application for a demo/test purpose and want to clean your data to start your production, you can ask your reseller or integrator to reset your database (all your data will be removed). -CompanyInitialKey=Company initial key (hash of genesis block) -BrowseBlockedLog=Unalterable logs -ShowAllFingerPrintsMightBeTooLong=Show all archived logs (might be long) -ShowAllFingerPrintsErrorsMightBeTooLong=Show all non-valid archive logs (might be long) -DownloadBlockChain=Download fingerprints -KoCheckFingerprintValidity=Archived log entry is not valid. It means someone (a hacker?) has modified some data of this record after it was recorded, or has erased the previous archived record (check that line with previous # exists). -OkCheckFingerprintValidity=Archived log record is valid. The data on this line was not modified and the entry follows the previous one. -OkCheckFingerprintValidityButChainIsKo=Archived log seems valid compared to previous one but the chain was corrupted previously. -AddedByAuthority=Stored into remote authority -NotAddedByAuthorityYet=Not yet stored into remote authority -ShowDetails=Show stored details -logPAYMENT_VARIOUS_CREATE=Payment (not assigned to an invoice) created -logPAYMENT_VARIOUS_MODIFY=Payment (not assigned to an invoice) modified -logPAYMENT_VARIOUS_DELETE=Payment (not assigned to an invoice) logical deletion -logPAYMENT_ADD_TO_BANK=Payment added to bank -logPAYMENT_CUSTOMER_CREATE=Customer payment created -logPAYMENT_CUSTOMER_DELETE=Customer payment logical deletion -logDONATION_PAYMENT_CREATE=Donation payment created -logDONATION_PAYMENT_DELETE=Donation payment logical deletion -logBILL_PAYED=Customer invoice paid -logBILL_UNPAYED=Customer invoice set unpaid -logBILL_VALIDATE=Customer invoice validated -logBILL_SENTBYMAIL=Customer invoice send by mail -logBILL_DELETE=Customer invoice logically deleted -logMODULE_RESET=Module BlockedLog was disabled -logMODULE_SET=Module BlockedLog was enabled -logDON_VALIDATE=Donation validated -logDON_MODIFY=Donation modified -logDON_DELETE=Donation logical deletion -logMEMBER_SUBSCRIPTION_CREATE=Member subscription created -logMEMBER_SUBSCRIPTION_MODIFY=Member subscription modified -logMEMBER_SUBSCRIPTION_DELETE=Member subscription logical deletion -logCASHCONTROL_VALIDATE=Cash desk closing recording -BlockedLogBillDownload=Customer invoice download -BlockedLogBillPreview=Customer invoice preview -BlockedlogInfoDialog=Log Details -ListOfTrackedEvents=List of tracked events -Fingerprint=Fingerprint -DownloadLogCSV=Export archived logs (CSV) -logDOC_PREVIEW=Preview of a validated document in order to print or download -logDOC_DOWNLOAD=Download of a validated document in order to print or send -DataOfArchivedEvent=Full datas of archived event -ImpossibleToReloadObject=Original object (type %s, id %s) not linked (see 'Full datas' column to get unalterable saved data) -BlockedLogAreRequiredByYourCountryLegislation=Unalterable Logs module may be required by the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they can not be validated by a tax audit. -BlockedLogActivatedBecauseRequiredByYourCountryLegislation=Unalterable Logs module was activated because of the legislation of your country. Disabling this module may render any future transactions invalid with respect to the law and the use of legal software as they cannot be validated by a tax audit. -BlockedLogDisableNotAllowedForCountry=List of countries where usage of this module is mandatory (just to prevent to disable the module by error, if your country is in this list, disable of module is not possible without editing this list first. Note also that enabling/disabling this module will keep a track into the unalterable log). -OnlyNonValid=Non-valid -TooManyRecordToScanRestrictFilters=Too many records to scan/analyze. Please restrict list with more restrictive filters. -RestrictYearToExport=Restrict month / year to export +BlockedLog=O'zgarishsiz jurnallar +Field=Maydon +BlockedLogDesc=Ushbu modul ba'zi voqealarni o'zgartirilishi mumkin bo'lmagan jurnalga (yozib olingandan keyin o'zgartirish mumkin emas) blok zanjiriga real vaqt rejimida olib boradi. Ushbu modul ba'zi mamlakatlarning qonunlari talablariga muvofiqligini ta'minlaydi (masalan, Frantsiya Finance 2016 - Norme NF525 qonuni bilan). +Fingerprints=Arxivlangan voqealar va barmoq izlari +FingerprintsDesc=Bu o'zgarmas jurnallarni ko'rib chiqish yoki chiqarib olish uchun vosita. O'zgarmas jurnallar ishlab chiqarilgan va arxivlangan bo'lib, maxsus jadvalga, ishbilarmonlik voqeasini yozib olganingizda real vaqtda. Ushbu vositadan ushbu arxivni eksport qilish va tashqi yordamga saqlash uchun foydalanishingiz mumkin (ba'zi mamlakatlar, masalan Frantsiya, buni har yili qilishingizni so'raydi). Shuni esda tutingki, ushbu jurnalni tozalash xususiyati yo'q va to'g'ridan-to'g'ri ushbu jurnalga kiritishga urinilgan har qanday o'zgarish (masalan, xaker tomonidan) yaroqsiz barmoq izi bilan xabar qilinadi. Agar siz ushbu dasturni demo / test maqsadida ishlatganingiz va ishlab chiqarishni boshlash uchun ma'lumotlaringizni tozalashni xohlaganingiz uchun ushbu jadvalni tozalashingiz kerak bo'lsa, sotuvchingiz yoki integratoringizdan ma'lumotlar bazasini qayta tiklashini so'rashingiz mumkin (barcha ma'lumotlar o'chiriladi). +CompanyInitialKey=Kompaniyaning boshlang'ich kaliti (genez blokining xeshi) +BrowseBlockedLog=O'zgarishsiz jurnallar +ShowAllFingerPrintsMightBeTooLong=Barcha arxivlangan jurnallarni ko'rsatish (uzoq bo'lishi mumkin) +ShowAllFingerPrintsErrorsMightBeTooLong=Barcha yaroqsiz arxiv jurnallarini ko'rsatish (uzoq bo'lishi mumkin) +DownloadBlockChain=Barmoq izlarini yuklab oling +KoCheckFingerprintValidity=Arxivlangan jurnal yozuvi haqiqiy emas. Bu shuni anglatadiki, kimdir (xaker?) Ushbu yozuvning ba'zi ma'lumotlarini yozib olingandan keyin o'zgartirgan yoki oldingi arxivlangan yozuvni o'chirib tashlagan (ushbu satrni oldingi # mavjudligini tekshiring) yoki oldingi yozuvning chegara summasini o'zgartirgan. +OkCheckFingerprintValidity=Arxivlangan jurnal qaydlari haqiqiydir. Ushbu satrdagi ma'lumotlar o'zgartirilmadi va yozuv avvalgisiga amal qiladi. +OkCheckFingerprintValidityButChainIsKo=Arxivlangan jurnal avvalgisiga nisbatan haqiqiy ko'rinadi, ammo ilgari zanjir buzilgan. +AddedByAuthority=Masofaviy hokimiyatda saqlanadi +NotAddedByAuthorityYet=Hali ham uzoqdan saqlanadigan joyda saqlanmagan +ShowDetails=Saqlangan ma'lumotlarni ko'rsatish +logPAYMENT_VARIOUS_CREATE=To'lov (hisob-fakturaga tayinlanmagan) yaratilgan +logPAYMENT_VARIOUS_MODIFY=To'lov o'zgartirildi (hisob-fakturaga tayinlanmagan) +logPAYMENT_VARIOUS_DELETE=To'lov (hisob-fakturaga tayinlanmagan) mantiqiy o'chirish +logPAYMENT_ADD_TO_BANK=To'lov bankka qo'shildi +logPAYMENT_CUSTOMER_CREATE=Mijozlar to'lovi yaratildi +logPAYMENT_CUSTOMER_DELETE=Mijozlar to'lovlarini mantiqiy o'chirish +logDONATION_PAYMENT_CREATE=Xayriya to'lovi yaratildi +logDONATION_PAYMENT_DELETE=Xayriya to'lovini mantiqiy o'chirish +logBILL_PAYED=Mijozlarning hisob-fakturasi to'landi +logBILL_UNPAYED=Mijozlarning hisob-fakturasi to'lanmagan +logBILL_VALIDATE=Mijozlarning hisob-fakturasi tasdiqlangan +logBILL_SENTBYMAIL=Mijozlarning hisob-fakturasini pochta orqali yuborish +logBILL_DELETE=Mijozlarning hisob-kitobi mantiqan o'chirildi +logMODULE_RESET=BlockedLog moduli o'chirilgan +logMODULE_SET=BlockedLog moduli yoqildi +logDON_VALIDATE=Xayriya tasdiqlandi +logDON_MODIFY=Xayriya tahrirlangan +logDON_DELETE=Xayriyani mantiqiy o'chirish +logMEMBER_SUBSCRIPTION_CREATE=Ro'yxatdan obuna yaratildi +logMEMBER_SUBSCRIPTION_MODIFY=A'zo obunasi o'zgartirildi +logMEMBER_SUBSCRIPTION_DELETE=Ro'yxatdan obuna mantiqiy o'chirish +logCASHCONTROL_VALIDATE=Yopiq kassa yozuvlari +BlockedLogBillDownload=Mijozlarning hisob-fakturasini yuklab olish +BlockedLogBillPreview=Xaridorlarning hisob-fakturasini oldindan ko'rish +BlockedlogInfoDialog=Jurnal ma'lumotlari +ListOfTrackedEvents=Kuzatilgan voqealar ro'yxati +Fingerprint=Barmoq izi +DownloadLogCSV=Arxivlangan jurnallarni eksport qilish (CSV) +logDOC_PREVIEW=Bosib chiqarish yoki yuklab olish uchun tasdiqlangan hujjatni oldindan ko'rish +logDOC_DOWNLOAD=Bosib chiqarish yoki yuborish uchun tasdiqlangan hujjatni yuklab olish +DataOfArchivedEvent=Arxivlangan tadbirning to'liq ma'lumotlari +ImpossibleToReloadObject=Asl ob'ekt (%s yozing, id %s) bog'lanmagan (o'zgartirilmaydigan saqlangan ma'lumotlarni olish uchun 'To'liq ma'lumotlar' ustuniga qarang) +BlockedLogAreRequiredByYourCountryLegislation=O'zgarmas jurnallar moduli mamlakatingiz qonunchiligida talab qilinishi mumkin. Ushbu modulni o'chirib qo'yish kelajakdagi har qanday operatsiyalarni qonun va huquqiy dasturiy ta'minotdan foydalanishga yaroqsiz holga keltirishi mumkin, chunki ularni soliq tekshiruvi tasdiqlashi mumkin emas. +BlockedLogActivatedBecauseRequiredByYourCountryLegislation=O'zgarmas jurnallar moduli sizning mamlakatingiz qonunchiligi tufayli faollashtirildi. Ushbu modulni o'chirib qo'yish kelajakdagi har qanday operatsiyalarni qonunchilikka va huquqiy dasturiy ta'minotdan foydalanishga yaroqsiz holga keltirishi mumkin, chunki ular soliq tekshiruvi tomonidan tasdiqlanishi mumkin emas. +BlockedLogDisableNotAllowedForCountry=Ushbu moduldan foydalanish majburiy bo'lgan mamlakatlar ro'yxati (modulni xato bilan o'chirib qo'ymaslik uchun, agar sizning mamlakatingiz ushbu ro'yxatda bo'lsa, avval ushbu ro'yxatni tahrir qilmasdan modulni o'chirib qo'yish mumkin emas. Shuni ham unutmangki, ushbu modulni yoqish / o'chirish o'zgarmas jurnalga kuzatib boring). +OnlyNonValid=Yaroqsiz +TooManyRecordToScanRestrictFilters=Skanerlash / tahlil qilish uchun juda ko'p yozuvlar. Iltimos, cheklovli filtrlar bilan ro'yxatni cheklang. +RestrictYearToExport=Eksport qilish uchun oyni / yilni cheklang diff --git a/htdocs/langs/uz_UZ/bookmarks.lang b/htdocs/langs/uz_UZ/bookmarks.lang index ee1ba4fb8e3..bf4c65210ff 100644 --- a/htdocs/langs/uz_UZ/bookmarks.lang +++ b/htdocs/langs/uz_UZ/bookmarks.lang @@ -2,8 +2,8 @@ AddThisPageToBookmarks=Xatcho'plarga joriy sahifani qo'shing Bookmark=Xatcho'p Bookmarks=Xatcho'plar -ListOfBookmarks=List of bookmarks -EditBookmarks=List/edit bookmarks +ListOfBookmarks=Xatcho'plar ro'yxati +EditBookmarks=Xatcho'plarni ro'yxatlash / tahrirlash NewBookmark=Yangi xatcho'p ShowBookmark=Xatcho'pni ko'rsatish OpenANewWindow=Yangi yorliqni oching diff --git a/htdocs/langs/uz_UZ/boxes.lang b/htdocs/langs/uz_UZ/boxes.lang index b17d8c0b18e..7e4ed8cbf8a 100644 --- a/htdocs/langs/uz_UZ/boxes.lang +++ b/htdocs/langs/uz_UZ/boxes.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - boxes -BoxDolibarrStateBoard=Statistics on main business objects in database -BoxLoginInformation=Login Information +BoxDolibarrStateBoard=Ma'lumotlar bazasidagi asosiy biznes ob'ektlari bo'yicha statistika +BoxLoginInformation=Kirish haqida ma'lumot BoxLastRssInfos=RSS haqida ma'lumot BoxLastProducts=Eng so'nggi %s mahsulotlari / xizmatlari BoxProductsAlertStock=Mahsulotlar uchun birja ogohlantirishlari @@ -18,13 +18,13 @@ BoxLastActions=Oxirgi harakatlar BoxLastContracts=Oxirgi shartnomalar BoxLastContacts=So'nggi kontaktlar / manzillar BoxLastMembers=Oxirgi a'zolar -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=Oxirgi o'zgartirilgan a'zolar +BoxLastMembersSubscriptions=Eng so'nggi obuna obunalari BoxFicheInter=Oxirgi tadbirlar BoxCurrentAccounts=Hisob balansini oching -BoxTitleMemberNextBirthdays=Birthdays of this month (members) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMemberNextBirthdays=Ushbu oyning tug'ilgan kunlari (a'zolar) +BoxTitleMembersByType=A'zolar turlari bo'yicha +BoxTitleMembersSubscriptionsByYear=A'zolar obunalari yil bo'yicha BoxTitleLastRssInfos=Latest %s news from %s BoxTitleLastProducts=Mahsulotlar / xizmatlar: oxirgi %s o'zgartirilgan BoxTitleProductsAlertStock=Mahsulotlar: aktsiyalar to'g'risida ogohlantirish @@ -40,7 +40,7 @@ BoxTitleLastFicheInter=Oxirgi %s o'zgartirilgan aralashuvlar BoxTitleOldestUnpaidCustomerBills=Mijozlarning hisob-fakturalari: eng qadimgi %s to'lanmagan BoxTitleOldestUnpaidSupplierBills=Sotuvchi fakturalari: eng qadimgi %s to'lanmagan BoxTitleCurrentAccounts=Ochiq hisoblar: qoldiqlar -BoxTitleSupplierOrdersAwaitingReception=Supplier orders awaiting reception +BoxTitleSupplierOrdersAwaitingReception=Qabul qilishni kutayotgan etkazib beruvchilar buyurtmalari BoxTitleLastModifiedContacts=Aloqa / manzillar: oxirgi marta o'zgartirilgan %s BoxMyLastBookmarks=Xatcho'plar: so'nggi %s BoxOldestExpiredServices=Muddati tugagan eng qadimgi faol xizmatlar @@ -49,14 +49,14 @@ BoxTitleLastActionsToDo=Oxirgi %s amallari BoxTitleLastContracts=O'zgartirilgan so'nggi %s shartnomalari BoxTitleLastModifiedDonations=O'zgartirilgan so'nggi %s xayriya mablag'lari BoxTitleLastModifiedExpenses=Oxirgi %s xarajatlar hisoboti o'zgartirildi -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified -BoxTitleLastOutstandingBillReached=Customers with maximum outstanding exceeded +BoxTitleLatestModifiedBoms=O'zgartirilgan so'nggi %s BOM-lar +BoxTitleLatestModifiedMos=O'zgartirilgan so'nggi %s ishlab chiqarish buyurtmalari +BoxTitleLastOutstandingBillReached=Eng yuqori darajadagi mijozlar oshib ketdi BoxGlobalActivity=Global faoliyat (hisob-fakturalar, takliflar, buyurtmalar) BoxGoodCustomers=Yaxshi mijozlar BoxTitleGoodCustomers=%s Yaxshi mijozlar -BoxScheduledJobs=Scheduled jobs -BoxTitleFunnelOfProspection=Lead funnel +BoxScheduledJobs=Rejalashtirilgan ish joylari +BoxTitleFunnelOfProspection=Qo'rg'oshin huni FailedToRefreshDataInfoNotUpToDate=RSS oqimini yangilab bo'lmadi. Oxirgi muvaffaqiyatli yangilanish sanasi: %s LastRefreshDate=Oxirgi yangilanish sanasi NoRecordedBookmarks=Xatcho'plar aniqlanmagan. @@ -76,7 +76,7 @@ NoContractedProducts=Hech qanday mahsulot / xizmat bilan shartnoma tuzilmagan NoRecordedContracts=Yozilgan shartnomalar yo'q NoRecordedInterventions=Yozilgan aralashuvlar yo'q BoxLatestSupplierOrders=Oxirgi sotib olish buyurtmalari -BoxLatestSupplierOrdersAwaitingReception=Latest Purchase Orders (with a pending reception) +BoxLatestSupplierOrdersAwaitingReception=Sotib olish bo'yicha so'nggi buyurtmalar (kutish kutilayotgan holda) NoSupplierOrder=Sotib olish to'g'risida yozilgan buyurtma yo'q BoxCustomersInvoicesPerMonth=Mijozlarning oyiga hisob-fakturalari BoxSuppliersInvoicesPerMonth=Oyiga sotuvchi fakturalar @@ -85,36 +85,36 @@ BoxSuppliersOrdersPerMonth=Oyiga sotuvchi buyurtmalari BoxProposalsPerMonth=Oyiga takliflar NoTooLowStockProducts=Hech qanday mahsulot past stok cheklovida emas BoxProductDistribution=Mahsulotlar / xizmatlarni tarqatish -ForObject=On %s +ForObject=%s da BoxTitleLastModifiedSupplierBills=Sotuvchi hisob-fakturalari: oxirgi %s o'zgartirilgan BoxTitleLatestModifiedSupplierOrders=Sotuvchi buyurtmalari: oxirgi %s o'zgartirilgan BoxTitleLastModifiedCustomerBills=Mijozlarning hisob-fakturalari: oxirgi %s o'zgartirilgan BoxTitleLastModifiedCustomerOrders=Sotish bo'yicha buyurtmalar: oxirgi %s o'zgartirilgan BoxTitleLastModifiedPropals=Oxirgi %s o'zgartirilgan takliflar -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Mijozlarning hisob-fakturalari ForCustomersOrders=Mijozlar buyurtma berishadi ForProposals=Takliflar LastXMonthRolling=%s oylik eng so'nggi oylik ChooseBoxToAdd=Vidjetni boshqaruv panelingizga qo'shing -BoxAdded=Widget was added in your dashboard -BoxTitleUserBirthdaysOfMonth=Birthdays of this month (users) -BoxLastManualEntries=Latest record in accountancy entered manually or without source document -BoxTitleLastManualEntries=%s latest record entered manually or without source document -NoRecordedManualEntries=No manual entries record in accountancy -BoxSuspenseAccount=Count accountancy operation with suspense account -BoxTitleSuspenseAccount=Number of unallocated lines -NumberOfLinesInSuspenseAccount=Number of line in suspense account -SuspenseAccountNotDefined=Suspense account isn't defined -BoxLastCustomerShipments=Last customer shipments -BoxTitleLastCustomerShipments=Latest %s customer shipments -NoRecordedShipments=No recorded customer shipment -BoxCustomersOutstandingBillReached=Customers with oustanding limit reached +BoxAdded=Vidjet sizning boshqaruv panelingizga qo'shildi +BoxTitleUserBirthdaysOfMonth=Ushbu oyning tug'ilgan kunlari (foydalanuvchilar) +BoxLastManualEntries=Buxgalteriya hisobidagi so'nggi yozuv qo'lda yoki dastlabki hujjatsiz kiritilgan +BoxTitleLastManualEntries=%s eng so'nggi yozuv qo'lda yoki manba hujjatsiz kiritilgan +NoRecordedManualEntries=Buxgalteriyada qo'lda yozuvlar yozilmagan +BoxSuspenseAccount=Buxgalteriya hisobini to'xtatib qo'yilgan hisob bilan hisoblash +BoxTitleSuspenseAccount=Ajratilmagan chiziqlar soni +NumberOfLinesInSuspenseAccount=To'xtatilgan hisobdagi satr soni +SuspenseAccountNotDefined=To'xtatilgan hisob qaydnomasi aniqlanmadi +BoxLastCustomerShipments=Mijozlarning so'nggi jo'natmalari +BoxTitleLastCustomerShipments=%s mijozlarining so'nggi jo'natmalari +NoRecordedShipments=Mijozlarni ro'yxatdan o'tkazish bo'yicha ro'yxatdan o'tkazilmagan +BoxCustomersOutstandingBillReached=Ostanding limitiga ega mijozlar yetib kelishdi # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy -ValidatedProjects=Validated projects +UsersHome=Uy foydalanuvchilari va guruhlari +MembersHome=Uyga a'zolik +ThirdpartiesHome=Uyning uchinchi tomonlari +TicketsHome=Uy chiptalari +AccountancyHome=Uy hisobi +ValidatedProjects=Tasdiqlangan loyihalar diff --git a/htdocs/langs/uz_UZ/cashdesk.lang b/htdocs/langs/uz_UZ/cashdesk.lang index d162830a17d..1a12e00f821 100644 --- a/htdocs/langs/uz_UZ/cashdesk.lang +++ b/htdocs/langs/uz_UZ/cashdesk.lang @@ -16,7 +16,7 @@ AddThisArticle=Ushbu maqolani qo'shing RestartSelling=Sotishga qaytib boring SellFinished=Sotish yakunlandi PrintTicket=Chiptani chop eting -SendTicket=Send ticket +SendTicket=Chipta yuboring NoProductFound=Maqola topilmadi ProductFound=mahsulot topildi NoArticle=Maqola yo'q @@ -33,98 +33,98 @@ DeleteArticle=Ushbu maqolani olib tashlash uchun bosing FilterRefOrLabelOrBC=Qidiruv (Ref / Yorliq) UserNeedPermissionToEditStockToUsePos=Hisob-fakturani yaratishda zaxiralarni kamaytirishni so'raysiz, shuning uchun POS-dan foydalanuvchi aktsiyalarni tahrirlash uchun ruxsatga ega bo'lishi kerak. DolibarrReceiptPrinter=Dolibarr qabul qilish printeri -PointOfSale=Point of Sale +PointOfSale=Savdo punkti PointOfSaleShort=POS -CloseBill=Close Bill -Floors=Floors -Floor=Floor -AddTable=Add table -Place=Place -TakeposConnectorNecesary='TakePOS Connector' required -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: -SearchProduct=Search product -Receipt=Receipt -Header=Header -Footer=Footer -AmountAtEndOfPeriod=Amount at end of period (day, month or year) -TheoricalAmount=Theorical amount -RealAmount=Real amount -CashFence=Cash desk closing -CashFenceDone=Cash desk closing done for the period -NbOfInvoices=Nb of invoices -Paymentnumpad=Type of Pad to enter payment +CloseBill=Billni yoping +Floors=Qavatlar +Floor=Qavat +AddTable=Jadval qo'shish +Place=Joy +TakeposConnectorNecesary='TakePOS ulagichi' talab qilinadi +OrderPrinters=Buyurtmani ba'zi bir printerlarga to'lashsiz yuborish uchun tugmani qo'shing (masalan, buyurtmani oshxonaga yuborish uchun) +NotAvailableWithBrowserPrinter=Qabul qilish uchun printer brauzerga o'rnatilganda mavjud emas: +SearchProduct=Mahsulotni qidirish +Receipt=Qabul qilish +Header=Sarlavha +Footer=Altbilgi +AmountAtEndOfPeriod=Davr oxiridagi summa (kun, oy yoki yil) +TheoricalAmount=Nazariy miqdor +RealAmount=Haqiqiy miqdor +CashFence=Kassa yopilmoqda +CashFenceDone=Ushbu davr uchun kassa yopilishi amalga oshirildi +NbOfInvoices=Nb-fakturalar +Paymentnumpad=To'lovni kiritish uchun maydonchaning turi Numberspad=Numbers Pad -BillsCoinsPad=Coins and banknotes Pad -DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items -CashDeskBankAccountFor=Default account to use for payments in -NoPaimementModesDefined=No paiment mode defined in TakePOS configuration -TicketVatGrouped=Group VAT by rate in tickets|receipts -AutoPrintTickets=Automatically print tickets|receipts -PrintCustomerOnReceipts=Print customer on tickets|receipts -EnableBarOrRestaurantFeatures=Enable features for Bar or Restaurant -ConfirmDeletionOfThisPOSSale=Do your confirm the deletion of this current sale ? -ConfirmDiscardOfThisPOSSale=Do you want to discard this current sale ? -History=History -ValidateAndClose=Validate and close +BillsCoinsPad=Tangalar va banknotalar Pad +DolistorePosCategory=Dolibarr uchun TakePOS modullari va boshqa POS echimlari +TakeposNeedsCategories=TakePOS-da ishlash uchun kamida bitta mahsulot turkumi kerak +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS-ga %s toifasida kamida 1 ta mahsulot toifasi kerak. +OrderNotes=Har bir buyurtma qilingan narsalarga bir nechta eslatmalarni qo'shishi mumkin +CashDeskBankAccountFor=To'lovlar uchun foydalaniladigan standart hisob +NoPaimementModesDefined=TakePOS konfiguratsiyasida paiment rejimi aniqlanmagan +TicketVatGrouped=QQS chiptalar bo'yicha stavkalar bo'yicha guruhlangan | tushumlar +AutoPrintTickets=Chiptalarni avtomatik ravishda bosib chiqarish | kvitansiyalar +PrintCustomerOnReceipts=Mijozni chiptalarga chop etish | kvitansiyalar +EnableBarOrRestaurantFeatures=Bar yoki restoran uchun xususiyatlarni yoqish +ConfirmDeletionOfThisPOSSale=Ushbu joriy savdo o'chirilishini tasdiqlaysizmi? +ConfirmDiscardOfThisPOSSale=Ushbu sotuvni bekor qilmoqchimisiz? +History=Tarix +ValidateAndClose=Tasdiqlang va yoping Terminal=Terminal -NumberOfTerminals=Number of Terminals -TerminalSelect=Select terminal you want to use: -POSTicket=POS Ticket -POSTerminal=POS Terminal -POSModule=POS Module -BasicPhoneLayout=Use basic layout for phones -SetupOfTerminalNotComplete=Setup of terminal %s is not complete -DirectPayment=Direct payment -DirectPaymentButton=Add a "Direct cash payment" button -InvoiceIsAlreadyValidated=Invoice is already validated -NoLinesToBill=No lines to bill -CustomReceipt=Custom Receipt -ReceiptName=Receipt Name -ProductSupplements=Manage supplements of products -SupplementCategory=Supplement category -ColorTheme=Color theme -Colorful=Colorful -HeadBar=Head Bar -SortProductField=Field for sorting products -Browser=Browser -BrowserMethodDescription=Simple and easy receipt printing. Only a few parameters to configure the receipt. Print via browser. -TakeposConnectorMethodDescription=External module with extra features. Posibility to print from the cloud. -PrintMethod=Print method -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). -ByTerminal=By terminal -TakeposNumpadUsePaymentIcon=Use icon instead of text on payment buttons of numpad -CashDeskRefNumberingModules=Numbering module for POS sales -CashDeskGenericMaskCodes6 =
{TN} tag is used to add the terminal number -TakeposGroupSameProduct=Group same products lines -StartAParallelSale=Start a new parallel sale -SaleStartedAt=Sale started at %s -ControlCashOpening=Open the "Control cash" popup when opening the POS -CloseCashFence=Close cash desk control -CashReport=Cash report -MainPrinterToUse=Main printer to use -OrderPrinterToUse=Order printer to use -MainTemplateToUse=Main template to use -OrderTemplateToUse=Order template to use -BarRestaurant=Bar Restaurant -AutoOrder=Order by the customer himself -RestaurantMenu=Menu -CustomerMenu=Customer menu -ScanToMenu=Scan QR code to see the menu -ScanToOrder=Scan QR code to order -Appearance=Appearance -HideCategoryImages=Hide Category Images -HideProductImages=Hide Product Images -NumberOfLinesToShow=Number of lines of images to show -DefineTablePlan=Define tables plan -GiftReceiptButton=Add a "Gift receipt" button -GiftReceipt=Gift receipt -ModuleReceiptPrinterMustBeEnabled=Module Receipt printer must have been enabled first -AllowDelayedPayment=Allow delayed payment -PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts -WeighingScale=Weighing scale -ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +NumberOfTerminals=Terminallar soni +TerminalSelect=Siz foydalanmoqchi bo'lgan terminalni tanlang: +POSTicket=POS chiptasi +POSTerminal=POS terminali +POSModule=POS moduli +BasicPhoneLayout=Telefonlar uchun asosiy tartibdan foydalaning +SetupOfTerminalNotComplete=%s terminalini sozlash tugallanmagan +DirectPayment=To'g'ridan-to'g'ri to'lov +DirectPaymentButton="To'g'ridan-to'g'ri naqd to'lov" tugmachasini qo'shing +InvoiceIsAlreadyValidated=Hisob-faktura allaqachon tasdiqlangan +NoLinesToBill=Hisob-kitob qilish uchun chiziqlar yo'q +CustomReceipt=Maxsus kvitansiya +ReceiptName=Kvitansiya nomi +ProductSupplements=Mahsulot qo'shimchalarini boshqaring +SupplementCategory=Qo'shimcha toifasi +ColorTheme=Rang mavzusi +Colorful=Rangli +HeadBar=Bosh bar +SortProductField=Mahsulotlarni saralash uchun maydon +Browser=Brauzer +BrowserMethodDescription=Oddiy va oson kvitansiyani bosib chiqarish. Kvitansiyani sozlash uchun faqat bir nechta parametrlar. Brauzer orqali chop etish. +TakeposConnectorMethodDescription=Qo'shimcha funktsiyalarga ega tashqi modul. Bulutdan chop etish uchun qulaylik. +PrintMethod=Bosib chiqarish usuli +ReceiptPrinterMethodDescription=Ko'p parametrlarga ega kuchli usul. Shablonlar bilan to'liq moslashtiriladi. Ilovani joylashtiruvchi server Bulutda bo'lishi mumkin emas (tarmoqdagi printerlarga etib borishi kerak). +ByTerminal=Terminal orqali +TakeposNumpadUsePaymentIcon=Numpad-ning to'lov tugmachalarida matn o'rniga belgini ishlating +CashDeskRefNumberingModules=POS sotish uchun raqamlash moduli +CashDeskGenericMaskCodes6 =
{TN} yorlig'i terminal raqamini qo'shish uchun ishlatiladi +TakeposGroupSameProduct=Bir xil mahsulot qatorlarini guruhlang +StartAParallelSale=Yangi parallel sotuvni boshlang +SaleStartedAt=Savdo %s da boshlandi +ControlCashOpening=POS-ni ochishda "Naqd pulni boshqarish" popupini oching +CloseCashFence=Kassa boshqaruvini yoping +CashReport=Naqd hisobot +MainPrinterToUse=Foydalanadigan asosiy printer +OrderPrinterToUse=Printerdan foydalanishga buyurtma bering +MainTemplateToUse=Foydalanish uchun asosiy shablon +OrderTemplateToUse=Foydalanish uchun shablonni buyurtma qiling +BarRestaurant=Bar restorani +AutoOrder=Buyurtmachining o'zi buyurtma qiladi +RestaurantMenu=Menyu +CustomerMenu=Mijozlar menyusi +ScanToMenu=Menyuni ko'rish uchun QR kodini skanerlang +ScanToOrder=Buyurtma uchun QR kodni skanerlang +Appearance=Tashqi ko'rinishi +HideCategoryImages=Turkum rasmlarini yashirish +HideProductImages=Mahsulot rasmlarini yashirish +NumberOfLinesToShow=Ko'rsatiladigan rasmlarning soni +DefineTablePlan=Jadvallar rejasini aniqlang +GiftReceiptButton="Sovg'a kvitansiyasi" tugmachasini qo'shing +GiftReceipt=Sovg'a kvitansiyasi +ModuleReceiptPrinterMustBeEnabled=Avval modulni qabul qilish printeri yoqilgan bo'lishi kerak +AllowDelayedPayment=Kechiktirilgan to'lovga ruxsat berish +PrintPaymentMethodOnReceipts=To'lov usulini chiptalarga chop eting | kvitansiyalar +WeighingScale=Tarozi o'lchovi +ShowPriceHT = Ustunni narxni soliqsiz hisobga olgan holda ko'rsatish (ekranda) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/uz_UZ/categories.lang b/htdocs/langs/uz_UZ/categories.lang index 5a0d2180920..b6640ad20fb 100644 --- a/htdocs/langs/uz_UZ/categories.lang +++ b/htdocs/langs/uz_UZ/categories.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - categories Rubrique=Tag / toifali Rubriques=Teglar / toifalar -RubriquesTransactions=Tags/Categories of transactions +RubriquesTransactions=Bitimlar teglari / toifalari categories=teglar / toifalar NoCategoryYet=Ushbu turdagi yorliq / toifalar yaratilmagan In=Yilda @@ -16,10 +16,10 @@ MembersCategoriesArea=Ro'yxatdan teglar / toifalar maydoni ContactsCategoriesArea=Aloqa teglari / toifalari maydoni AccountsCategoriesArea=Bank hisobvarag'i teglari / toifalari maydoni ProjectsCategoriesArea=Loyiha teglari / toifalari maydoni -UsersCategoriesArea=User tags/categories area +UsersCategoriesArea=Foydalanuvchi teglari / toifalari maydoni SubCats=Kichik toifalar CatList=Teglar / toifalar ro'yxati -CatListAll=List of tags/categories (all types) +CatListAll=Teglar / toifalar ro'yxati (barcha turlari) NewCategory=Yangi teg / turkum ModifCat=Teg / toifani o'zgartiring CatCreated=Tag / kategoriya yaratildi @@ -62,38 +62,38 @@ MembersCategoriesShort=A'zolar teglari / toifalari ContactCategoriesShort=Aloqa teglari / toifalari AccountsCategoriesShort=Hisob teglari / toifalari ProjectsCategoriesShort=Loyihalar teglari / toifalari -UsersCategoriesShort=Users tags/categories -StockCategoriesShort=Warehouse tags/categories -ThisCategoryHasNoItems=This category does not contain any items. +UsersCategoriesShort=Foydalanuvchilar teglari / toifalari +StockCategoriesShort=Ombor teglari / toifalari +ThisCategoryHasNoItems=Ushbu turkumda biron bir narsa mavjud emas. CategId=Tag / kategoriya identifikatori -ParentCategory=Parent tag/category -ParentCategoryLabel=Label of parent tag/category +ParentCategory=Ota-ona yorlig'i / toifasi +ParentCategoryLabel=Ota-ona yorlig'i / toifasi yorlig'i CatSupList=Sotuvchilar teglari / toifalari ro'yxati CatCusList=Mijozlar ro'yxati / istiqbollari teglari / toifalari CatProdList=Mahsulot teglari / toifalari ro'yxati CatMemberList=A'zolar teglari / toifalari ro'yxati CatContactList=Kontakt teglari / toifalari ro'yxati -CatProjectsList=List of projects tags/categories -CatUsersList=List of users tags/categories +CatProjectsList=Loyihalar teglari / toifalari ro'yxati +CatUsersList=Foydalanuvchilar teglari / toifalari ro'yxati CatSupLinks=Sotuvchilar va teglar / toifalar o'rtasidagi aloqalar CatCusLinks=Mijozlar / istiqbollar va teglar / toifalar o'rtasidagi aloqalar -CatContactsLinks=Links between contacts/addresses and tags/categories +CatContactsLinks=Kontaktlar / manzillar va teglar / toifalar o'rtasidagi aloqalar CatProdLinks=Mahsulotlar / xizmatlar va teglar / toifalar o'rtasidagi aloqalar -CatMembersLinks=Links between members and tags/categories -CatProjectsLinks=Links between projects and tags/categories -CatUsersLinks=Links between users and tags/categories +CatMembersLinks=A'zolar va teglar / toifalar o'rtasidagi aloqalar +CatProjectsLinks=Loyihalar va teglar / toifalar o'rtasidagi aloqalar +CatUsersLinks=Foydalanuvchilar va teglar / toifalar o'rtasidagi aloqalar DeleteFromCat=Teglardan / toifadan olib tashlash ExtraFieldsCategories=Bir-birini to'ldiruvchi atributlar CategoriesSetup=Teglar / toifalarni sozlash CategorieRecursiv=Ota-ona yorlig'i / toifasi bilan avtomatik ravishda bog'lanish CategorieRecursivHelp=Agar parametr yoniq bo'lsa, mahsulotni pastki toifaga qo'shganda, mahsulot ota-onalar toifasiga qo'shiladi. AddProductServiceIntoCategory=Quyidagi mahsulot / xizmatni qo'shing -AddCustomerIntoCategory=Assign category to customer -AddSupplierIntoCategory=Assign category to supplier +AddCustomerIntoCategory=Mijozga toifani tayinlang +AddSupplierIntoCategory=Yetkazib beruvchiga toifani tayinlang ShowCategory=Teg / toifani ko'rsatish ByDefaultInList=Odatiy bo'lib, ro'yxatda -ChooseCategory=Choose category -StocksCategoriesArea=Warehouse Categories -ActionCommCategoriesArea=Event Categories -WebsitePagesCategoriesArea=Page-Container Categories -UseOrOperatorForCategories=Use 'OR' operator for categories +ChooseCategory=Toifani tanlang +StocksCategoriesArea=Ombor toifalari +ActionCommCategoriesArea=Voqealar toifalari +WebsitePagesCategoriesArea=Sahifa konteynerlari toifalari +UseOrOperatorForCategories=Kategoriyalar uchun 'OR' operatoridan foydalaning diff --git a/htdocs/langs/uz_UZ/commercial.lang b/htdocs/langs/uz_UZ/commercial.lang index edefeaf6e95..f5a79674ddc 100644 --- a/htdocs/langs/uz_UZ/commercial.lang +++ b/htdocs/langs/uz_UZ/commercial.lang @@ -19,7 +19,7 @@ ShowTask=Vazifani ko'rsatish ShowAction=Tadbirni ko'rsatish ActionsReport=Voqealar to'g'risida hisobot ThirdPartiesOfSaleRepresentative=Savdo vakili bilan uchinchi shaxslar -SaleRepresentativesOfThirdParty=Sales representatives of third party +SaleRepresentativesOfThirdParty=Uchinchi tomonning savdo vakillari SalesRepresentative=Savdo bo'yicha menejer SalesRepresentatives=Savdo vakillari SalesRepresentativeFollowUp=Savdo vakili (kuzatuv) @@ -52,7 +52,7 @@ ActionAC_TEL=Telefon qo'ng'irog'i ActionAC_FAX=Faks yuboring ActionAC_PROP=Taklifni pochta orqali yuboring ActionAC_EMAIL=Elektron pochta xabarini yuboring -ActionAC_EMAIL_IN=Reception of Email +ActionAC_EMAIL_IN=Elektron pochta xabarlarini qabul qilish ActionAC_RDV=Uchrashuvlar ActionAC_INT=Saytdagi aralashuv ActionAC_FAC=Mijozlarning hisob-fakturasini pochta orqali yuboring @@ -67,15 +67,15 @@ ActionAC_OTH=Boshqalar ActionAC_OTH_AUTO=Boshqa avtoulov ActionAC_MANUAL=Qo'lda kiritilgan voqealar ActionAC_AUTO=Avtomatik ravishda kiritilgan hodisalar -ActionAC_OTH_AUTOShort=Other -ActionAC_EVENTORGANIZATION=Event organization events +ActionAC_OTH_AUTOShort=Boshqalar +ActionAC_EVENTORGANIZATION=Tadbirlarni tashkil qilish tadbirlari Stats=Savdo statistikasi StatusProsp=Istiqbol holati DraftPropals=Tijorat takliflari loyihasi NoLimit=Cheklov yo'q -ToOfferALinkForOnlineSignature=Link for online signature -WelcomeOnOnlineSignaturePage=Welcome to the page to accept commercial proposals from %s -ThisScreenAllowsYouToSignDocFrom=This screen allow you to accept and sign, or refuse, a quote/commercial proposal -ThisIsInformationOnDocumentToSign=This is information on document to accept or refuse -SignatureProposalRef=Signature of quote/commercial proposal %s -FeatureOnlineSignDisabled=Feature for online signing disabled or document generated before the feature was enabled +ToOfferALinkForOnlineSignature=Onlayn imzo uchun havola +WelcomeOnOnlineSignaturePage=%s dan tijorat takliflarini qabul qilish uchun sahifaga xush kelibsiz +ThisScreenAllowsYouToSignDocFrom=Ushbu ekran sizga takliflarni / tijorat takliflarini qabul qilish va imzolashga yoki rad etishga imkon beradi +ThisIsInformationOnDocumentToSign=Bu qabul qilish yoki rad etish to'g'risidagi hujjatdagi ma'lumot +SignatureProposalRef=%s taklifi / tijorat taklifining imzosi +FeatureOnlineSignDisabled=Onlayn imzo chekish xususiyati o'chirilgan yoki ushbu xususiyat yoqilmaguncha yaratilgan hujjat diff --git a/htdocs/langs/uz_UZ/companies.lang b/htdocs/langs/uz_UZ/companies.lang index 0574c3b6c03..81e6549488d 100644 --- a/htdocs/langs/uz_UZ/companies.lang +++ b/htdocs/langs/uz_UZ/companies.lang @@ -27,9 +27,9 @@ AliasNames=Taxallus nomi (savdo, savdo belgisi, ...) AliasNameShort=Taxallus nomi Companies=Kompaniyalar CountryIsInEEC=Mamlakat Evropa iqtisodiy hamjamiyatiga kiradi -PriceFormatInCurrentLanguage=Price display format in the current language and currency +PriceFormatInCurrentLanguage=Joriy til va valyutada narxlarni ko'rsatish formati ThirdPartyName=Uchinchi tomon nomi -ThirdPartyEmail=Third-party email +ThirdPartyEmail=Uchinchi tomon elektron pochtasi ThirdParty=Uchinchi tomon ThirdParties=Uchinchi tomonlar ThirdPartyProspects=Istiqbollari @@ -43,9 +43,9 @@ Individual=Xususiy shaxs ToCreateContactWithSameName=Uchinchi shaxs ostida uchinchi shaxs bilan bir xil ma'lumotlarga ega bo'lgan kontakt / manzilni avtomatik ravishda yaratadi. Ko'pgina hollarda, sizning uchinchi shaxsingiz jismoniy shaxs bo'lsa ham, uchinchi shaxsni o'zi yaratish kifoya. ParentCompany=Bosh kompaniya Subsidiaries=Filiallar -ReportByMonth=Report per month +ReportByMonth=Oyiga hisobot ReportByCustomers=Xaridor uchun hisobot -ReportByThirdparties=Report per thirdparty +ReportByThirdparties=Uchinchi tomon uchun hisobot ReportByQuarter=Har bir stavka bo'yicha hisobot CivilityCode=Fuqarolik kodi RegisteredOffice=Ro'yxatdan o'tgan ofis @@ -53,14 +53,14 @@ Lastname=Familiya Firstname=Ism PostOrFunction=Ish joyi UserTitle=Sarlavha -NatureOfThirdParty=Nature of Third party -NatureOfContact=Nature of Contact +NatureOfThirdParty=Uchinchi shaxsning tabiati +NatureOfContact=Aloqa xususiyati Address=Manzil State=Shtat / viloyat -StateCode=State/Province code +StateCode=Shtat / viloyat kodi StateShort=Shtat Region=Mintaqa -Region-State=Region - State +Region-State=Hudud - shtat Country=Mamlakat CountryCode=Mamlakat kodi CountryId=Mamlakat identifikatori @@ -80,11 +80,11 @@ Web=Internet Poste= Lavozim DefaultLang=Standart til VATIsUsed=Sotishdan foydalanilgan soliq -VATIsUsedWhenSelling=This defines if this third party includes a sale tax or not when it makes an invoice to its own customers +VATIsUsedWhenSelling=Bu shuni anglatadiki, ushbu uchinchi tomon o'z mijozlariga hisob-fakturani rasmiylashtirganda sotish solig'ini o'z ichiga oladimi yoki yo'qmi VATIsNotUsed=Savdo solig'i ishlatilmaydi CopyAddressFromSoc=Uchinchi tomon tafsilotlaridan manzilni nusxalash ThirdpartyNotCustomerNotSupplierSoNoRef=Uchinchi tomon na mijoz, na sotuvchi, mavjud mos yozuvlar ob'ekti yo'q -ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Third party neither customer nor vendor, discounts are not available +ThirdpartyIsNeitherCustomerNorClientSoCannotHaveDiscounts=Uchinchi tomon na mijoz, na sotuvchi, chegirmalar mavjud emas PaymentBankAccount=To'lov bank hisobvarag'i OverAllProposals=Takliflar OverAllOrders=Buyurtmalar @@ -209,7 +209,7 @@ ProfId1IT=- ProfId2IT=- ProfId3IT=- ProfId4IT=- -ProfId5IT=EORI number +ProfId5IT=EORI raqami ProfId6IT=- ProfId1LU=Id. prof. 1 (R.C.S. Lyuksemburg) ProfId2LU=Id. prof. 2 (biznes uchun ruxsatnoma) @@ -260,10 +260,10 @@ ProfId4US=- ProfId5US=- ProfId6US=- ProfId1RO=Prof Id 1 (CUI) -ProfId2RO=Prof Id 2 (Nr. Înmatriculare) +ProfId2RO=Prof Id 2 (nr. Nmatriculare) ProfId3RO=Prof Id 3 (CAEN) ProfId4RO=Prof Id 5 (EUID) -ProfId5RO=Prof Id 5 (EORI number) +ProfId5RO=Prof Id 5 (EORI raqami) ProfId6RO=- ProfId1RU=Prof Id 1 (OGRN) ProfId2RU=Prof Id 2 (INN) @@ -278,34 +278,34 @@ ProfId4DZ=NIS VATIntra=QQS identifikatori VATIntraShort=QQS identifikatori VATIntraSyntaxIsValid=Sintaksis haqiqiydir -VATReturn=VAT return +VATReturn=QQS deklaratsiyasi ProspectCustomer=Prospekt / mijoz Prospect=Istiqbol CustomerCard=Mijozlar kartasi Customer=Mijoz CustomerRelativeDiscount=Mijozlarga nisbatan chegirma -SupplierRelativeDiscount=Relative vendor discount +SupplierRelativeDiscount=Sotuvchilarga nisbatan chegirma CustomerRelativeDiscountShort=Nisbatan chegirma CustomerAbsoluteDiscountShort=Mutlaq chegirma CompanyHasRelativeDiscount=Ushbu mijozda standart chegirma mavjud: %s%% CompanyHasNoRelativeDiscount=Ushbu mijozda sukut bo'yicha nisbatan chegirma mavjud emas -HasRelativeDiscountFromSupplier=You have a default discount of %s%% from this vendor -HasNoRelativeDiscountFromSupplier=You have no default relative discount from this vendor +HasRelativeDiscountFromSupplier=Sizda ushbu sotuvchidan %s%% chegirmasi mavjud +HasNoRelativeDiscountFromSupplier=Sizda ushbu sotuvchidan standart chegirma yo'q CompanyHasAbsoluteDiscount=Ushbu mijozda %s %s uchun chegirmalar mavjud (kredit yozuvlari yoki dastlabki to'lovlar). -CompanyHasDownPaymentOrCommercialDiscount=This customer has discounts available (commercial, down payments) for %s %s +CompanyHasDownPaymentOrCommercialDiscount=Ushbu mijozda %s %s uchun chegirmalar mavjud (tijorat, dastlabki to'lovlar). CompanyHasCreditNote=Ushbu mijozda hali ham %s %s uchun kredit yozuvlari mavjud -HasNoAbsoluteDiscountFromSupplier=You have no discount credit available from this vendor -HasAbsoluteDiscountFromSupplier=You have discounts available (credits notes or down payments) for %s %s from this vendor -HasDownPaymentOrCommercialDiscountFromSupplier=You have discounts available (commercial, down payments) for %s %s from this vendor -HasCreditNoteFromSupplier=You have credit notes for %s %s from this vendor +HasNoAbsoluteDiscountFromSupplier=Ushbu sotuvchida chegirmali kreditingiz yo'q +HasAbsoluteDiscountFromSupplier=Sizda ushbu sotuvchidan %s %s uchun chegirmalar mavjud (kredit yozuvlari yoki dastlabki to'lovlar). +HasDownPaymentOrCommercialDiscountFromSupplier=Ushbu sotuvchidan %s %s uchun chegirmalar mavjud (tijorat, dastlabki to'lovlar) +HasCreditNoteFromSupplier=Sizda ushbu sotuvchidan %s %s uchun kredit yozuvlari mavjud CompanyHasNoAbsoluteDiscount=Ushbu mijozda chegirmali kredit mavjud emas CustomerAbsoluteDiscountAllUsers=Mijozlarga mutlaqo chegirmalar (barcha foydalanuvchilar tomonidan beriladi) CustomerAbsoluteDiscountMy=Mijozlarga mutlaqo chegirmalar (o'zingiz berasiz) -SupplierAbsoluteDiscountAllUsers=Absolute vendor discounts (entered by all users) -SupplierAbsoluteDiscountMy=Absolute vendor discounts (entered by yourself) +SupplierAbsoluteDiscountAllUsers=Sotuvchiga mutlaq chegirmalar (barcha foydalanuvchilar tomonidan kiritiladi) +SupplierAbsoluteDiscountMy=Sotuvchiga mutlaq chegirmalar (o'zingiz kiritgansiz) DiscountNone=None -Vendor=Vendor -Supplier=Vendor +Vendor=Sotuvchi +Supplier=Sotuvchi AddContact=Kontakt yarating AddContactAddress=Kontakt / manzil yarating EditContact=Kontaktni tahrirlash @@ -318,7 +318,7 @@ FromContactName=Ism: NoContactDefinedForThirdParty=Ushbu uchinchi tomon uchun hech qanday aloqa aniqlanmagan NoContactDefined=Hech qanday aloqa aniqlanmadi DefaultContact=Odatiy aloqa / manzil -ContactByDefaultFor=Default contact/address for +ContactByDefaultFor=Standart aloqa / manzil AddThirdParty=Uchinchi tomonni yarating DeleteACompany=Kompaniyani o'chirib tashlang PersonalInformations=Shaxsiy malumot @@ -338,7 +338,7 @@ CompanyDeleted="%s" kompaniyasi ma'lumotlar bazasidan o'chirildi. ListOfContacts=Kontaktlar / manzillar ro'yxati ListOfContactsAddresses=Kontaktlar / manzillar ro'yxati ListOfThirdParties=Uchinchi tomonlarning ro'yxati -ShowCompany=Third Party +ShowCompany=Uchinchi tomon ShowContact=Aloqa manzili ContactsAllShort=Hammasi (filtrsiz) ContactType=Aloqa turi @@ -367,7 +367,7 @@ VATIntraManualCheck=Shuningdek, siz Evropa Komissiyasining veb-saytida grouped by personalized groups
-SeePageForSetup=See menu %s for setup +RulesCATotalSaleJournal=U Sotish jurnalidagi barcha kredit liniyalarini o'z ichiga oladi. +RulesSalesTurnoverOfIncomeAccounts=Unga INCOME guruhidagi mahsulot hisobvaraqlari uchun chiziqlar (kredit - debet) kiradi +RulesAmountOnInOutBookkeepingRecord=Unda "XARAJATLAR" yoki "KIRISh" guruhiga ega bo'lgan buxgalteriya hisobvarag'i bilan sizning daftaringizdagi yozuv mavjud. +RulesResultBookkeepingPredefined=Unda "XARAJATLAR" yoki "KIRISh" guruhiga ega bo'lgan buxgalteriya hisobvarag'i bilan sizning daftaringizdagi yozuv mavjud. +RulesResultBookkeepingPersonalized=
shaxsiylashtirilgan guruhlar bo'yicha guruhlangan buxgalteriya hisobi bilan sizning daftaringizdagi yozuvni ko'rsatadi. +SeePageForSetup=O'rnatish uchun %s menyusiga qarang DepositsAreNotIncluded=- Dastlabki to'lovlar bo'yicha hisob-kitoblar kiritilmagan DepositsAreIncluded=- Dastlabki hisob-fakturalar kiritilgan -LT1ReportByMonth=Tax 2 report by month -LT2ReportByMonth=Tax 3 report by month -LT1ReportByCustomers=Report tax 2 by third party -LT2ReportByCustomers=Report tax 3 by third party -LT1ReportByCustomersES=Report by third party RE -LT2ReportByCustomersES=Report by third party IRPF +LT1ReportByMonth=Oy bo'yicha soliq 2 hisoboti +LT2ReportByMonth=Oy bo'yicha soliq 3 hisoboti +LT1ReportByCustomers=Uchinchi shaxslar tomonidan soliq 2 haqida hisobot berish +LT2ReportByCustomers=Uchinchi shaxslar tomonidan soliq bo'yicha hisobot 3 +LT1ReportByCustomersES=Uchinchi tomon RE tomonidan hisobot +LT2ReportByCustomersES=Uchinchi tomon IRPF hisoboti VATReport=Sotish bo'yicha soliq hisoboti -VATReportByPeriods=Sale tax report by period -VATReportByMonth=Sale tax report by month -VATReportByRates=Sale tax report by rates -VATReportByThirdParties=Sale tax report by third parties -VATReportByCustomers=Sale tax report by customer +VATReportByPeriods=Sotish bo'yicha soliq hisoboti davrlar bo'yicha +VATReportByMonth=Sotish bo'yicha soliq hisoboti oylar bo'yicha +VATReportByRates=Sotish bo'yicha soliq hisoboti stavkalar bo'yicha +VATReportByThirdParties=Uchinchi shaxslarning sotish bo'yicha soliq hisoboti +VATReportByCustomers=Xaridor tomonidan sotilgan soliq hisoboti VATReportByCustomersInInputOutputMode=Mijoz tomonidan yig'ilgan va to'langan QQS bo'yicha hisobot VATReportByQuartersInInputOutputMode=Sotish bo'yicha hisobot, yig'ilgan va to'langan soliqning soliq stavkasi -VATReportShowByRateDetails=Show details of this rate -LT1ReportByQuarters=Report tax 2 by rate -LT2ReportByQuarters=Report tax 3 by rate -LT1ReportByQuartersES=Report by RE rate -LT2ReportByQuartersES=Report by IRPF rate +VATReportShowByRateDetails=Ushbu stavka tafsilotlarini ko'rsating +LT1ReportByQuarters=2 stavkasi bo'yicha soliq to'g'risida hisobot bering +LT2ReportByQuarters=3 stavkasi bo'yicha soliqni hisobot qiling +LT1ReportByQuartersES=RE stavkasi bo'yicha hisobot +LT2ReportByQuartersES=IRPF stavkasi bo'yicha hisobot SeeVATReportInInputOutputMode=Standart hisob-kitob uchun %sVAT encasement%s hisobotiga qarang SeeVATReportInDueDebtMode=Flow%s bo'yicha %sVAT hisobotiga qarang RulesVATInServices=- Xizmatlar uchun hisobotda to'lov sanasi asosida olingan yoki chiqarilgan QQS bo'yicha qoidalar mavjud. @@ -208,7 +208,7 @@ RulesVATInProducts=- Moddiy boyliklar uchun hisobotga to'lov sanasi asosida olin RulesVATDueServices=- Xizmatlar uchun hisobotda hisob-kitob sanasi asosida to'lanadigan yoki to'lanmagan QQS hisob-fakturalari mavjud. RulesVATDueProducts=- Moddiy boyliklar uchun hisobotda sana asosida QQS bo'yicha hisob-kitoblar mavjud. OptionVatInfoModuleComptabilite=Izoh: Moddiy boyliklar uchun etkazib berish sanasidan ko'proq adolatli bo'lishi kerak. -ThisIsAnEstimatedValue=This is a preview, based on business events and not from the final ledger table, so final results may differ from this preview values +ThisIsAnEstimatedValue=Bu oxirgi daftar jadvalidan emas, balki biznes voqealaridan kelib chiqqan holda oldindan ko'rish, shuning uchun yakuniy natijalar ushbu oldindan ko'rish qiymatlaridan farq qilishi mumkin PercentOfInvoice=%% / hisob-faktura NotUsedForGoods=Tovarlarda ishlatilmaydi ProposalStats=Takliflar bo'yicha statistika @@ -238,19 +238,19 @@ Mode2=2-usul CalculationRuleDesc=Jami QQSni hisoblash uchun ikkita usul mavjud:
1-usul har bir satrda QQSni yaxlitlash, so'ngra ularni yig'ish.
2-usul har bir satrda barcha QQSni yig'ib, so'ngra yaxlitlash natijasini beradi.
yakuniy natija bir necha sentdan farq qilishi mumkin. Standart rejim - bu %s rejimi. CalculationRuleDescSupplier=Sotuvchiga ko'ra, xuddi shu hisoblash qoidasini qo'llash uchun tegishli usulni tanlang va sotuvchingiz kutgan natijani oling. TurnoverPerProductInCommitmentAccountingNotRelevant=Har bir mahsulot uchun to'plangan tovar aylanmasi to'g'risida hisobot mavjud emas. Ushbu hisobot faqat tovar aylanmasi uchun taqdim etiladi. -TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=The report of Turnover collected per sale tax rate is not available. This report is only available for turnover invoiced. +TurnoverPerSaleTaxRateInCommitmentAccountingNotRelevant=Sotish uchun soliq stavkasi bo'yicha yig'ilgan tovar aylanmasi to'g'risidagi hisobot mavjud emas. Ushbu hisobot faqat tovar aylanmasi uchun taqdim etiladi. CalculationMode=Hisoblash rejimi AccountancyJournal=Buxgalteriya kodlari jurnali ACCOUNTING_VAT_SOLD_ACCOUNT=Sotish bo'yicha QQS uchun sukut bo'yicha buxgalteriya hisobi (agar QQS lug'atida o'rnatilmagan bo'lsa ishlatiladi) ACCOUNTING_VAT_BUY_ACCOUNT=Xaridlarda QQS uchun sukut bo'yicha buxgalteriya hisobi (agar QQS lug'atida o'rnatilmagan bo'lsa ishlatiladi) ACCOUNTING_VAT_PAY_ACCOUNT=QQS to'lash uchun sukut bo'yicha buxgalteriya hisobi ACCOUNTING_ACCOUNT_CUSTOMER=Mijozlarning uchinchi shaxslari uchun foydalaniladigan buxgalteriya hisobi -ACCOUNTING_ACCOUNT_CUSTOMER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated customer accounting account on third party is not defined. +ACCOUNTING_ACCOUNT_CUSTOMER_Desc=Uchinchi tomon kartasida belgilangan buxgalteriya hisobi faqat Subledger buxgalteriyasi uchun ishlatiladi. Ushbu mablag 'Bosh daftar uchun ishlatiladi va Subledger buxgalteriya hisobining standart qiymati sifatida, agar uchinchi tomonning maxsus mijozlar hisobi aniqlanmagan bo'lsa. ACCOUNTING_ACCOUNT_SUPPLIER=Sotuvchi uchinchi shaxslar uchun foydalaniladigan buxgalteriya hisobi -ACCOUNTING_ACCOUNT_SUPPLIER_Desc=The dedicated accounting account defined on third party card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated vendor accounting account on third party is not defined. +ACCOUNTING_ACCOUNT_SUPPLIER_Desc=Uchinchi tomon kartasida belgilangan buxgalteriya hisobi faqat Subledger buxgalteriyasi uchun ishlatiladi. Ushbu mablag 'Bosh daftar uchun va Subledger buxgalteriya hisobining standart qiymati sifatida ishlatiladi, agar uchinchi tomonning maxsus sotuvchisi buxgalteriya hisobi aniqlanmasa. ConfirmCloneTax=Ijtimoiy / soliq soliqlarining klonini tasdiqlang -ConfirmCloneVAT=Confirm the clone of a VAT declaration -ConfirmCloneSalary=Confirm the clone of a salary +ConfirmCloneVAT=QQS deklaratsiyasining klonini tasdiqlang +ConfirmCloneSalary=Ish haqi klonini tasdiqlang CloneTaxForNextMonth=Uni keyingi oyga klonlang SimpleReport=Oddiy hisobot AddExtraReport=Qo'shimcha hisobotlar (xorijiy va milliy mijozlar hisobotini qo'shing) @@ -263,32 +263,32 @@ ImportDataset_tax_contrib=Ijtimoiy / soliq soliqlari ImportDataset_tax_vat=QQS bo'yicha to'lovlar ErrorBankAccountNotFound=Xato: bank hisobi topilmadi FiscalPeriod=Hisob davri -ListSocialContributionAssociatedProject=List of social contributions associated with the project -DeleteFromCat=Remove from accounting group -AccountingAffectation=Accounting assignment -LastDayTaxIsRelatedTo=Last day of period the tax is related to -VATDue=Sale tax claimed -ClaimedForThisPeriod=Claimed for the period -PaidDuringThisPeriod=Paid for this period -PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range -ByVatRate=By sale tax rate -TurnoverbyVatrate=Turnover invoiced by sale tax rate -TurnoverCollectedbyVatrate=Turnover collected by sale tax rate -PurchasebyVatrate=Purchase by sale tax rate -LabelToShow=Short label -PurchaseTurnover=Purchase turnover -PurchaseTurnoverCollected=Purchase turnover collected -RulesPurchaseTurnoverDue=- It includes the supplier's due invoices whether they are paid or not.
- It is based on the invoice date of these invoices.
-RulesPurchaseTurnoverIn=- It includes all the effective payments of invoices done to suppliers.
- It is based on the payment date of these invoices
-RulesPurchaseTurnoverTotalPurchaseJournal=It includes all debit lines from the purchase journal. -RulesPurchaseTurnoverOfExpenseAccounts=It includes (debit - credit) of lines for product accounts in group EXPENSE -ReportPurchaseTurnover=Purchase turnover invoiced -ReportPurchaseTurnoverCollected=Purchase turnover collected -IncludeVarpaysInResults = Include various payments in reports -IncludeLoansInResults = Include loans in reports +ListSocialContributionAssociatedProject=Loyiha bilan bog'liq ijtimoiy to'lovlar ro'yxati +DeleteFromCat=Buxgalteriya guruhidan chiqarib tashlash +AccountingAffectation=Buxgalteriya hisobi +LastDayTaxIsRelatedTo=Soliq davrning oxirgi kuni bilan bog'liq +VATDue=Sotish solig'i talab qilinadi +ClaimedForThisPeriod=Davr uchun da'vo qilingan +PaidDuringThisPeriod=Ushbu davr uchun to'langan +PaidDuringThisPeriodDesc=Bu tanlangan sana oralig'ida muddati tugagan QQS deklaratsiyalariga bog'langan barcha to'lovlarning yig'indisi +ByVatRate=Sotish bo'yicha soliq stavkasi bo'yicha +TurnoverbyVatrate=Sotish bo'yicha soliq stavkasi bo'yicha hisob-kitob qilingan tovar aylanmasi +TurnoverCollectedbyVatrate=Sotish soliq stavkasi bo'yicha yig'ilgan tovar aylanmasi +PurchasebyVatrate=Sotish bo'yicha soliq stavkasi bo'yicha sotib olish +LabelToShow=Qisqa yorliq +PurchaseTurnover=Xaridlar aylanmasi +PurchaseTurnoverCollected=Xarid qilish oboroti yig'ildi +RulesPurchaseTurnoverDue=- Bu etkazib beruvchining to'langan yoki to'lanmagan hisob-fakturalarini o'z ichiga oladi.
- Ushbu hisob-fakturalarning hisob-kitob sanasiga asoslanadi.
+RulesPurchaseTurnoverIn=- Bu etkazib beruvchilarga hisob-fakturalarning barcha samarali to'lovlarini o'z ichiga oladi.
- u ushbu hisob-fakturalarni to'lash sanasiga asoslanadi
+RulesPurchaseTurnoverTotalPurchaseJournal=U sotib olish jurnalidagi barcha debet yo'nalishlarini o'z ichiga oladi. +RulesPurchaseTurnoverOfExpenseAccounts=U XARAJATLAR guruhidagi mahsulot schyotlari uchun yo'nalishlarni (debet - kredit) o'z ichiga oladi +ReportPurchaseTurnover=Xarid qilish oboroti schyot-fakturada +ReportPurchaseTurnoverCollected=Xarid qilish oboroti yig'ildi +IncludeVarpaysInResults = Hisobotlarga turli xil to'lovlarni kiriting +IncludeLoansInResults = Hisobotlarga kreditlarni kiriting InvoiceLate30Days = Invoices late > 30 days InvoiceLate15Days = Invoices late > 15 days -InvoiceLateMinus15Days = Invoices late -InvoiceNotLate = To be collected < 15 days -InvoiceNotLate15Days = To be collected in 15 days -InvoiceNotLate30Days = To be collected in 30 days +InvoiceLateMinus15Days = Hisob-kitoblar kechiktirildi +InvoiceNotLate = To'plash uchun <15 kun +InvoiceNotLate15Days = 15 kun ichida yig'ib olinadi +InvoiceNotLate30Days = 30 kun ichida yig'ib olinadi diff --git a/htdocs/langs/uz_UZ/contracts.lang b/htdocs/langs/uz_UZ/contracts.lang index 7f29c707c1f..9898cd58cf4 100644 --- a/htdocs/langs/uz_UZ/contracts.lang +++ b/htdocs/langs/uz_UZ/contracts.lang @@ -31,11 +31,11 @@ NewContract=Yangi shartnoma NewContractSubscription=Yangi shartnoma yoki obuna AddContract=Shartnoma tuzing DeleteAContract=Shartnomani o'chirib tashlang -ActivateAllOnContract=Activate all services +ActivateAllOnContract=Barcha xizmatlarni faollashtiring CloseAContract=Shartnomani yoping ConfirmDeleteAContract=Ushbu shartnomani va uning barcha xizmatlarini o'chirishni xohlaysizmi? ConfirmValidateContract=Ushbu shartnomani %s nomi bilan tasdiqlamoqchimisiz? -ConfirmActivateAllOnContract=This will open all services (not yet active). Are you sure you want to open all services? +ConfirmActivateAllOnContract=Bu barcha xizmatlarni ochadi (hali faol emas). Barcha xizmatlarni ochishni xohlaysizmi? ConfirmCloseContract=Bu barcha xizmatlarni yopadi (faol yoki yo'q). Ushbu shartnomani yopmoqchi ekanligingizga aminmisiz? ConfirmCloseService=Ushbu xizmatni %s sanasi bilan yopishni xohlaysizmi? ValidateAContract=Shartnomani tasdiqlang @@ -51,7 +51,7 @@ ListOfClosedServices=Yopiq xizmatlarning ro'yxati ListOfRunningServices=Amaldagi xizmatlarning ro'yxati NotActivatedServices=Faol bo'lmagan xizmatlar (tasdiqlangan shartnomalar orasida) BoardNotActivatedServices=Tasdiqlangan shartnomalar orasida faollashtirish uchun xizmatlar -BoardNotActivatedServicesShort=Services to activate +BoardNotActivatedServicesShort=Faollashtirish uchun xizmatlar LastContracts=Oxirgi %s shartnomalari LastModifiedServices=Oxirgi %s o'zgartirilgan xizmatlari ContractStartDate=Boshlanish vaqti @@ -66,13 +66,13 @@ DateEndReal=Haqiqiy tugash sanasi DateEndRealShort=Haqiqiy tugash sanasi CloseService=Xizmatni yoping BoardRunningServices=Xizmatlar ishlaydi -BoardRunningServicesShort=Services running -BoardExpiredServices=Services expired -BoardExpiredServicesShort=Services expired +BoardRunningServicesShort=Xizmatlar ishlaydi +BoardExpiredServices=Xizmatlar muddati tugagan +BoardExpiredServicesShort=Xizmatlar muddati tugagan ServiceStatus=Xizmat holati DraftContracts=Shartnomalar CloseRefusedBecauseOneServiceActive=Shartnomani yopish mumkin emas, chunki unda kamida bitta ochiq xizmat mavjud -ActivateAllContracts=Activate all contract lines +ActivateAllContracts=Barcha kontrakt liniyalarini faollashtiring CloseAllContracts=Barcha shartnoma satrlarini yoping DeleteContractLine=Shartnoma satrini o'chirib tashlang ConfirmDeleteContractLine=Ushbu shartnoma qatorini o'chirishni xohlaysizmi? @@ -89,16 +89,16 @@ NoteListOfYourExpiredServices=Ushbu ro'yxatda faqat savdo vakili sifatida bog'la StandardContractsTemplate=Standart shartnomalar shabloni ContactNameAndSignature=%s uchun ism va imzo: OnlyLinesWithTypeServiceAreUsed=Faqat "Xizmat" turidagi liniyalar klonlanadi. -ConfirmCloneContract=Are you sure you want to clone the contract %s? -LowerDateEndPlannedShort=Lower planned end date of active services -SendContractRef=Contract information __REF__ -OtherContracts=Other contracts +ConfirmCloneContract= %s shartnomasini klonlashni xohlaysizmi? +LowerDateEndPlannedShort=Faol xizmatlarning quyi rejalashtirilgan tugash sanasi +SendContractRef=Shartnoma to'g'risidagi ma'lumotlar __REF__ +OtherContracts=Boshqa shartnomalar ##### Types de contacts ##### TypeContact_contrat_internal_SALESREPSIGN=Savdo vakili shartnomani imzolash TypeContact_contrat_internal_SALESREPFOLL=Savdo vakili keyingi shartnoma TypeContact_contrat_external_BILLING=Xaridor bilan hisob-kitob qilish TypeContact_contrat_external_CUSTOMER=Keyingi mijozlar bilan aloqa TypeContact_contrat_external_SALESREPSIGN=Mijozlar bilan aloqa shartnomasini imzolash -HideClosedServiceByDefault=Hide closed services by default -ShowClosedServices=Show Closed Services -HideClosedServices=Hide Closed Services +HideClosedServiceByDefault=Sukut bo'yicha yopiq xizmatlarni yashirish +ShowClosedServices=Yopiq xizmatlarni ko'rsatish +HideClosedServices=Yopiq xizmatlarni yashirish diff --git a/htdocs/langs/uz_UZ/cron.lang b/htdocs/langs/uz_UZ/cron.lang index 5e77e8a66e2..77e3b554a54 100644 --- a/htdocs/langs/uz_UZ/cron.lang +++ b/htdocs/langs/uz_UZ/cron.lang @@ -14,9 +14,9 @@ FileToLaunchCronJobs=Malakali cron ishlarini tekshirish va ishga tushirish uchun CronExplainHowToRunUnix=Unix muhitida buyruq satrini har 5 daqiqada bajarish uchun quyidagi crontab yozuvidan foydalanishingiz kerak CronExplainHowToRunWin=Microsoft (tm) Windows muhitida har 5 daqiqada buyruq satrini bajarish uchun Rejalashtirilgan Vazifa vositalaridan foydalanishingiz mumkin CronMethodDoesNotExists=%s sinfida %s usuli mavjud emas -CronMethodNotAllowed=Method %s of class %s is in blacklist of forbidden methods -CronJobDefDesc=Cron job profiles are defined into the module descriptor file. When module is activated, they are loaded and available so you can administer the jobs from the admin tools menu %s. -CronJobProfiles=List of predefined cron job profiles +CronMethodNotAllowed=%s sinfidagi %s usuli taqiqlangan usullarning qora ro'yxatiga kiritilgan +CronJobDefDesc=Cron ishi profillari modul identifikatori faylida aniqlanadi. Modul faollashtirilganda, ular yuklanadi va mavjud bo'ladi, shuning uchun siz ishlarni administrator vositalari menyusidan %s boshqarishingiz mumkin. +CronJobProfiles=Oldindan belgilangan cron ish profillari ro'yxati # Menu EnabledAndDisabled=Yoqilgan va o'chirilgan # Page list @@ -47,7 +47,7 @@ CronNbRun=Ishga tushirilganlar soni CronMaxRun=Ishga tushirishning maksimal soni CronEach=Har bir JobFinished=Ish ishga tushirildi va tugadi -Scheduled=Scheduled +Scheduled=Rejalashtirilgan #Page card CronAdd= Ish joylarini qo'shing CronEvery=Har bir ishni bajaring @@ -57,7 +57,7 @@ CronSaveSucess=Muvaffaqiyatli saqlang CronNote=Izoh CronFieldMandatory=%s maydonlari majburiydir CronErrEndDateStartDt=Tugash sanasi boshlanish sanasidan oldin bo'lishi mumkin emas -StatusAtInstall=Status at module installation +StatusAtInstall=Modulni o'rnatish holati CronStatusActiveBtn=Jadval CronStatusInactiveBtn=O'chirish CronTaskInactive=Bu ish o'chirilgan (rejalashtirilgan emas) @@ -77,15 +77,15 @@ CronType=Ish turi CronType_method=PHP sinfining qo'ng'iroq usuli CronType_command=Shell buyrug'i CronCannotLoadClass=%s sinf fayli yuklanmadi (%s sinfidan foydalanish uchun) -CronCannotLoadObject=Class file %s was loaded, but object %s was not found into it +CronCannotLoadObject=%s sinf fayli yuklandi, lekin %s ob'ekti topilmadi UseMenuModuleToolsToAddCronJobs=Rejalashtirilgan ishlarni ko'rish va tahrirlash uchun " Bosh sahifa - Administrator vositalari - Rejalashtirilgan ish o'rinlari " menyusiga o'ting. JobDisabled=Ish o'chirilgan MakeLocalDatabaseDumpShort=Mahalliy ma'lumotlar bazasini zaxiralash MakeLocalDatabaseDump=Mahalliy ma'lumotlar bazasi axlatxonasini yarating. Parametrlar quyidagilardir: siqish ('gz' yoki 'bz' yoki 'yo'q'), zaxira turi ('mysql', 'pgsql', 'auto'), 1, 'auto' yoki fayl nomi yaratish, saqlash uchun zaxira fayllar soni WarningCronDelayed=E'tibor bering, ishga tushirilgan ish kunining keyingi sanasi qanday bo'lishidan qat'i nazar, sizning ishingiz bajarilishidan oldin maksimal %s soatga kechiktirilishi mumkin. -DATAPOLICYJob=Data cleaner and anonymizer -JobXMustBeEnabled=Job %s must be enabled +DATAPOLICYJob=Ma'lumotlarni tozalovchi va anonimayzer +JobXMustBeEnabled=%s ishi yoqilgan bo'lishi kerak # Cron Boxes -LastExecutedScheduledJob=Last executed scheduled job -NextScheduledJobExecute=Next scheduled job to execute -NumberScheduledJobError=Number of scheduled jobs in error +LastExecutedScheduledJob=Oxirgi marta rejalashtirilgan ish +NextScheduledJobExecute=Keyingi rejalashtirilgan ish +NumberScheduledJobError=Xatoda rejalashtirilgan ishlarning soni diff --git a/htdocs/langs/uz_UZ/deliveries.lang b/htdocs/langs/uz_UZ/deliveries.lang index c178879f73c..cc3495c42bc 100644 --- a/htdocs/langs/uz_UZ/deliveries.lang +++ b/htdocs/langs/uz_UZ/deliveries.lang @@ -27,6 +27,7 @@ Recipient=Qabul qiluvchi ErrorStockIsNotEnough=Aktsiyalar yetarli emas Shippable=Yuk tashish mumkin NonShippable=Yuk tashish mumkin emas -ShowShippableStatus=Show shippable status +ShowShippableStatus=Yuk tashish holatini ko'rsatish ShowReceiving=Yetkazib berish kvitansiyasini ko'rsating -NonExistentOrder=Nonexistent order +NonExistentOrder=Mavjud bo'lmagan buyurtma +StockQuantitiesAlreadyAllocatedOnPreviousLines = Oldingi qatorlarda allaqachon ajratilgan aktsiyalar miqdori diff --git a/htdocs/langs/uz_UZ/dict.lang b/htdocs/langs/uz_UZ/dict.lang index af1ec8973bd..886c37b0b64 100644 --- a/htdocs/langs/uz_UZ/dict.lang +++ b/htdocs/langs/uz_UZ/dict.lang @@ -290,7 +290,7 @@ CurrencyXOF=CFA Frantsiyalari BCEAO CurrencySingXOF=CFA Frantsiyasi BCEAO CurrencyXPF=CFP Frants CurrencySingXPF=CFP franki -CurrencyCentEUR=cents +CurrencyCentEUR=sent CurrencyCentSingEUR=sent CurrencyCentINR=paisa CurrencyCentSingINR=paise @@ -307,7 +307,7 @@ DemandReasonTypeSRC_WOM=Og'zaki so'z DemandReasonTypeSRC_PARTNER=Hamkor DemandReasonTypeSRC_EMPLOYEE=Xodim DemandReasonTypeSRC_SPONSORING=Homiylik -DemandReasonTypeSRC_SRC_CUSTOMER=Incoming contact of a customer +DemandReasonTypeSRC_SRC_CUSTOMER=Mijozning kiruvchi aloqasi #### Paper formats #### PaperFormatEU4A0=4A0 formati PaperFormatEU2A0=Format 2A0 @@ -329,9 +329,9 @@ PaperFormatCAP4=P4 formatidagi Kanada PaperFormatCAP5=P5 formatidagi Kanada PaperFormatCAP6=P6 formatidagi Kanada #### Expense report categories #### -ExpAutoCat=Car +ExpAutoCat=Avtomobil ExpCycloCat=Moped -ExpMotoCat=Motorbike +ExpMotoCat=Mototsikl ExpAuto3CV=3 CV ExpAuto4CV=4 CV ExpAuto5CV=5 CV @@ -339,21 +339,21 @@ ExpAuto6CV=6 CV ExpAuto7CV=7 CV ExpAuto8CV=8 CV ExpAuto9CV=9 CV -ExpAuto10CV=10 CV +ExpAuto10CV=10 ta tarjimai hol ExpAuto11CV=11 CV -ExpAuto12CV=12 CV -ExpAuto3PCV=3 CV and more -ExpAuto4PCV=4 CV and more -ExpAuto5PCV=5 CV and more -ExpAuto6PCV=6 CV and more -ExpAuto7PCV=7 CV and more -ExpAuto8PCV=8 CV and more -ExpAuto9PCV=9 CV and more -ExpAuto10PCV=10 CV and more -ExpAuto11PCV=11 CV and more -ExpAuto12PCV=12 CV and more -ExpAuto13PCV=13 CV and more -ExpCyclo=Capacity lower to 50cm3 -ExpMoto12CV=Motorbike 1 or 2 CV -ExpMoto345CV=Motorbike 3, 4 or 5 CV -ExpMoto5PCV=Motorbike 5 CV and more +ExpAuto12CV=12 ta tarjimai hol +ExpAuto3PCV=3 ta tarjimai hol va boshqalar +ExpAuto4PCV=4 ta tarjimai hol va boshqalar +ExpAuto5PCV=5 ta tarjimai hol va boshqalar +ExpAuto6PCV=6 ta tarjimai hol va boshqalar +ExpAuto7PCV=7 ta tarjimai hol va boshqalar +ExpAuto8PCV=8 ta tarjimai hol va boshqalar +ExpAuto9PCV=9 ta tarjimai hol va boshqalar +ExpAuto10PCV=10 ta tarjimai hol va boshqalar +ExpAuto11PCV=11 CV va boshqalar +ExpAuto12PCV=12 ta tarjimai hol va boshqalar +ExpAuto13PCV=13 ta tarjimai hol va boshqalar +ExpCyclo=Imkoniyatlar 50 sm3 gacha +ExpMoto12CV=1 yoki 2 CV mototsikl +ExpMoto345CV=Mototsikl 3, 4 yoki 5 CV +ExpMoto5PCV=Motorbike 5 CV va boshqalar diff --git a/htdocs/langs/uz_UZ/donations.lang b/htdocs/langs/uz_UZ/donations.lang index 42324ddd6c2..fb6783acf4f 100644 --- a/htdocs/langs/uz_UZ/donations.lang +++ b/htdocs/langs/uz_UZ/donations.lang @@ -16,7 +16,7 @@ DonationStatusPromiseNotValidatedShort=Qoralama DonationStatusPromiseValidatedShort=Tasdiqlangan DonationStatusPaidShort=Qabul qildi DonationTitle=Xayriya kvitansiyasi -DonationDate=Donation date +DonationDate=Xayr-ehson qilingan sana DonationDatePayment=To'lov sanasi ValidPromess=Va'dani tasdiqlang DonationReceipt=Xayriya kvitansiyasi @@ -31,5 +31,5 @@ DONATION_ART200=Agar xavotirda bo'lsangiz, CGI-dan 200-maqolani ko'rsating DONATION_ART238=Agar xavotirda bo'lsangiz, CGI-dan 238-maqolani ko'rsating DONATION_ART885=Agar xavotirda bo'lsangiz, CGI-dan 885-maqolani ko'rsating DonationPayment=Xayriya to'lovi -DonationValidated=Donation %s validated -DonationUseThirdparties=Use an existing thirdparty as coordinates of donators +DonationValidated=%s ehsoni tasdiqlandi +DonationUseThirdparties=Donorlarning koordinatalari sifatida mavjud uchinchi tomondan foydalaning diff --git a/htdocs/langs/uz_UZ/ecm.lang b/htdocs/langs/uz_UZ/ecm.lang index c4064174d8c..d0789289854 100644 --- a/htdocs/langs/uz_UZ/ecm.lang +++ b/htdocs/langs/uz_UZ/ecm.lang @@ -18,30 +18,30 @@ ECMArea=DMS / ECM maydoni ECMAreaDesc=DMS / ECM (Hujjatlarni boshqarish tizimi / Elektron kontentni boshqarish) maydoni Dolibarrdagi barcha turdagi hujjatlarni saqlash, almashish va tezkor qidirish imkonini beradi. ECMAreaDesc2=* Element kartasidan hujjatlar qo'shilganda avtomatik kataloglar avtomatik ravishda to'ldiriladi.
* qo'llanma kataloglaridan ma'lum bir elementga bog'lanmagan hujjatlarni saqlash uchun foydalanish mumkin. ECMSectionWasRemoved= %s katalog o'chirildi. -ECMSectionWasCreated=Directory %s has been created. +ECMSectionWasCreated= %s katalogi yaratildi. ECMSearchByKeywords=Kalit so'zlar bo'yicha qidirish ECMSearchByEntity=Ob'ekt bo'yicha qidirish ECMSectionOfDocuments=Hujjatlar kataloglari ECMTypeAuto=Avtomatik -ECMDocsBy=Documents linked to %s +ECMDocsBy=%s ga bog'langan hujjatlar ECMNoDirectoryYet=Hech qanday katalog yaratilmagan ShowECMSection=Katalogni ko'rsatish DeleteSection=Katalogni olib tashlash ConfirmDeleteSection= %s katalogini o'chirishni xohlayotganingizni tasdiqlay olasizmi? ECMDirectoryForFiles=Fayllar uchun nisbiy katalog -CannotRemoveDirectoryContainsFilesOrDirs=Removal not possible because it contains some files or sub-directories +CannotRemoveDirectoryContainsFilesOrDirs=Olib tashlashning iloji yo'q, chunki u ba'zi fayllar yoki pastki kataloglarni o'z ichiga oladi CannotRemoveDirectoryContainsFiles=O'chirish mumkin emas, chunki unda ba'zi fayllar mavjud ECMFileManager=Fayl menejeri ECMSelectASection=Daraxtdagi katalogni tanlang ... DirNotSynchronizedSyncFirst=Ushbu katalog ECM modulidan tashqarida yaratilgan yoki o'zgartirilganga o'xshaydi. Ushbu katalog tarkibini olish uchun disk va ma'lumotlar bazasini sinxronlashtirish uchun avval "Qayta sinxronlashtirish" tugmachasini bosishingiz kerak. -ReSyncListOfDir=Resync list of directories -HashOfFileContent=Hash of file content -NoDirectoriesFound=No directories found -FileNotYetIndexedInDatabase=File not yet indexed into database (try to re-upload it) -ExtraFieldsEcmFiles=Extrafields Ecm Files -ExtraFieldsEcmDirectories=Extrafields Ecm Directories -ECMSetup=ECM Setup -GenerateImgWebp=Duplicate all images with another version with .webp format -ConfirmGenerateImgWebp=If you confirm, you will generate an image in .webp format for all images currently into this folder (subfolders are not included)... -ConfirmImgWebpCreation=Confirm all images duplication -SucessConvertImgWebp=Images successfully duplicated +ReSyncListOfDir=Kataloglar ro'yxatini qayta sinxronlashtirish +HashOfFileContent=Fayl tarkibidagi xash +NoDirectoriesFound=Hech qanday katalog topilmadi +FileNotYetIndexedInDatabase=Fayl hali ma'lumotlar bazasiga indekslanmagan (qayta yuklashga harakat qiling) +ExtraFieldsEcmFiles=Extrafields Ecm fayllari +ExtraFieldsEcmDirectories=Extrafields Ecm kataloglari +ECMSetup=ECM-ni sozlash +GenerateImgWebp=Barcha rasmlarni .webp formatidagi boshqa versiyasi bilan takrorlang +ConfirmGenerateImgWebp=Agar tasdiqlasangiz, ushbu papkada joylashgan barcha rasmlar uchun .webp formatida rasm hosil qilasiz (pastki papkalar kiritilmagan) ... +ConfirmImgWebpCreation=Barcha rasmlarning takrorlanishini tasdiqlang +SucessConvertImgWebp=Rasmlar muvaffaqiyatli takrorlandi diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index 074d27652d8..8f68f2242be 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -5,13 +5,13 @@ NoErrorCommitIsDone=Biz xato qilamiz # Errors ErrorButCommitIsDone=Xatolar topildi, ammo shunga qaramay biz tasdiqlaymiz ErrorBadEMail=%s elektron pochtasi noto'g'ri -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) +ErrorBadMXDomain=%s elektron pochtasi noto'g'ri ko'rinadi (domenda MX yozuvi mavjud emas) ErrorBadUrl=Url %s noto'g'ri ErrorBadValueForParamNotAString=Parametringiz uchun yomon qiymat. Odatda tarjima etishmayotganida qo'shiladi. ErrorRefAlreadyExists= %s ma'lumotnomasi allaqachon mavjud. ErrorLoginAlreadyExists=%s-ga kirish allaqachon mavjud. ErrorGroupAlreadyExists=%s guruhi allaqachon mavjud. -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=%s elektron pochtasi allaqachon mavjud. ErrorRecordNotFound=Yozuv topilmadi. ErrorFailToCopyFile=' %s ' faylini ' %s ' ga ko'chirib bo'lmadi. ErrorFailToCopyDir=' %s ' katalogini ' %s ' ga ko'chirib bo'lmadi. @@ -21,8 +21,8 @@ ErrorFailToCreateFile=' %s ' fayli yaratilmadi. ErrorFailToRenameDir=' %s ' katalogini ' %s ' deb o'zgartirib bo'lmadi. ErrorFailToCreateDir=' %s ' katalogini yaratib bo'lmadi. ErrorFailToDeleteDir=' %s ' katalogini o'chirib bo'lmadi. -ErrorFailToMakeReplacementInto=Failed to make replacement into file '%s'. -ErrorFailToGenerateFile=Failed to generate file '%s'. +ErrorFailToMakeReplacementInto=' %s ' fayliga almashtirish amalga oshirilmadi. +ErrorFailToGenerateFile=' %s ' faylini yaratib bo'lmadi. ErrorThisContactIsAlreadyDefinedAsThisType=Ushbu kontakt allaqachon ushbu turdagi aloqa sifatida aniqlangan. ErrorCashAccountAcceptsOnlyCashMoney=Ushbu bank hisobvarag'i kassa hisobvarag'i hisoblanadi, shuning uchun u faqat naqd turdagi to'lovlarni qabul qiladi. ErrorFromToAccountsMustDiffers=Bank hisob raqamlarining manbalari va maqsadlari boshqacha bo'lishi kerak. @@ -39,7 +39,7 @@ ErrorBadSupplierCodeSyntax=Sotuvchi kodi uchun noto'g'ri sintaksis ErrorSupplierCodeRequired=Sotuvchi kodi talab qilinadi ErrorSupplierCodeAlreadyUsed=Sotuvchi kodi allaqachon ishlatilgan ErrorBadParameters=Yomon parametrlar -ErrorWrongParameters=Wrong or missing parameters +ErrorWrongParameters=Parametrlar noto'g'ri yoki etishmayapti ErrorBadValueForParameter="%s" parametri uchun noto'g'ri qiymat '%s' ErrorBadImageFormat=Rasm fayli qo'llab-quvvatlanadigan formatga ega emas (sizning PHP-da ushbu formatdagi rasmlarni o'zgartirish funktsiyalari mavjud emas) ErrorBadDateFormat="%s" qiymati noto'g'ri sana formatiga ega @@ -48,10 +48,10 @@ ErrorFailedToWriteInDir=%s katalogiga yozib bo'lmadi ErrorFoundBadEmailInFile=Faylda %s satrlari uchun noto'g'ri elektron pochta sintaksisini topdi (masalan, %s qatori elektron pochta bilan = %s) ErrorUserCannotBeDelete=Foydalanuvchini o'chirib bo'lmaydi. Ehtimol, bu Dolibarr sub'ektlari bilan bog'liq. ErrorFieldsRequired=Ba'zi majburiy maydonlar bo'sh qoldirildi. -ErrorSubjectIsRequired=The email subject is required +ErrorSubjectIsRequired=Elektron pochta mavzusi talab qilinadi ErrorFailedToCreateDir=Katalog yaratilmadi. Veb-server foydalanuvchisida Dolibarr hujjatlar katalogiga yozish uchun ruxsat borligini tekshiring. Agar ushbu PHP-da safe_mode parametri yoqilgan bo'lsa, Dolibarr php fayllari veb-server foydalanuvchisiga (yoki guruhiga) tegishli ekanligini tekshiring. ErrorNoMailDefinedForThisUser=Ushbu foydalanuvchi uchun hech qanday pochta belgilanmagan -ErrorSetupOfEmailsNotComplete=Setup of emails is not complete +ErrorSetupOfEmailsNotComplete=Elektron pochta xabarlarini sozlash tugallanmagan ErrorFeatureNeedJavascript=Ushbu xususiyatni ishga tushirish uchun javascript kerak. Buni sozlash - displeyda o'zgartiring. ErrorTopMenuMustHaveAParentWithId0="Top" turidagi menyuda asosiy menyu bo'lishi mumkin emas. Bosh menyuga 0 qo'ying yoki "Chap" turidagi menyuni tanlang. ErrorLeftMenuMustHaveAParentId="Chap" turidagi menyuda ota-ona identifikatori bo'lishi kerak. @@ -60,12 +60,12 @@ ErrorDirNotFound= %s katalog topilmadi (Yomon yo'l, noto'g'ri ruxsat yok ErrorFunctionNotAvailableInPHP=Ushbu funktsiya uchun %s funktsiyasi talab qilinadi, ammo PHP-ning ushbu versiyasida / sozlamalarida mavjud emas. ErrorDirAlreadyExists=Ushbu nomdagi katalog allaqachon mavjud. ErrorFileAlreadyExists=Bunday nomdagi fayl allaqachon mavjud. -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists= %s ismli boshqa fayl allaqachon mavjud. ErrorPartialFile=Fayl server tomonidan to'liq qabul qilinmadi. ErrorNoTmpDir=Vaqtinchalik to'g'ridan-to'g'ri %s mavjud emas. ErrorUploadBlockedByAddon=Yuklash PHP / Apache plaginlari tomonidan bloklangan. ErrorFileSizeTooLarge=Fayl hajmi juda katta. -ErrorFieldTooLong=Field %s is too long. +ErrorFieldTooLong=%s maydoni juda uzun. ErrorSizeTooLongForIntType=Int turi uchun juda uzun (maksimal %s raqam) ErrorSizeTooLongForVarcharType=Ip turi uchun o'lcham juda uzun (%s belgilar maksimal) ErrorNoValueForSelectType=Iltimos, tanlangan ro'yxat uchun qiymatni to'ldiring @@ -74,7 +74,7 @@ ErrorNoValueForRadioType=Iltimos, radio ro'yxati uchun qiymatni to'ldiring ErrorBadFormatValueList=Ro'yxat qiymati bitta verguldan iborat bo'lishi mumkin emas: %s , lekin kamida bittasi kerak: key, value ErrorFieldCanNotContainSpecialCharacters= %s maydonida maxsus belgilar bo'lmasligi kerak. ErrorFieldCanNotContainSpecialNorUpperCharacters= %s maydonida maxsus belgilar, shuningdek katta harflar bo'lmasligi va faqat raqamlardan iborat bo'lishi kerak. -ErrorFieldMustHaveXChar=The field %s must have at least %s characters. +ErrorFieldMustHaveXChar= %s maydonida kamida %s belgilar bo'lishi kerak. ErrorNoAccountancyModuleLoaded=Buxgalteriya moduli faollashtirilmagan ErrorExportDuplicateProfil=Ushbu eksport to'plami uchun ushbu profil nomi allaqachon mavjud. ErrorLDAPSetupNotComplete=Dolibarr-LDAP mos kelmadi. @@ -83,7 +83,7 @@ ErrorCantSaveADoneUserWithZeroPercentage=Agar "bajarilgan" maydoni ham to'ldiril ErrorRefAlreadyExists= %s ma'lumotnomasi allaqachon mavjud. ErrorPleaseTypeBankTransactionReportName=Iltimos, yozuv haqida xabar berish kerak bo'lgan bank ma'lumotnomasining nomini kiriting (YYYYMM yoki YYYYMMDD formati) ErrorRecordHasChildren=Yozuv o'chirilmadi, chunki ba'zi bir bolalar yozuvlari mavjud. -ErrorRecordHasAtLeastOneChildOfType=Object has at least one child of type %s +ErrorRecordHasAtLeastOneChildOfType=Ob'ektda %s tipidagi kamida bitta bola mavjud ErrorRecordIsUsedCantDelete=Yozuvni o‘chirib bo‘lmadi. U allaqachon ishlatilgan yoki boshqa ob'ektga kiritilgan. ErrorModuleRequireJavascript=Ushbu xususiyat ishlashi uchun Javascript o'chirib qo'yilmasligi kerak. Javascriptni yoqish / o'chirish uchun Home-> Setup-> Display menyusiga o'ting. ErrorPasswordsMustMatch=Yozilgan har ikkala parol bir-biriga mos kelishi kerak @@ -96,7 +96,7 @@ ErrorFileIsInfectedWithAVirus=Antivirus dasturi faylni tekshira olmadi (faylga v ErrorSpecialCharNotAllowedForField="%s" maydoni uchun maxsus belgilarga ruxsat berilmaydi ErrorNumRefModel=Ma'lumotlar bazasida (%s) ma'lumotlar bazasi mavjud va bu raqamlash qoidalariga mos kelmaydi. Ushbu modulni faollashtirish uchun yozuvni o'chirib tashlang yoki nomini o'zgartiring. ErrorQtyTooLowForThisSupplier=Ushbu sotuvchi uchun juda kam miqdor yoki ushbu sotuvchida ushbu mahsulot uchun narx belgilanmagan -ErrorOrdersNotCreatedQtyTooLow=Some orders haven't been created because of too-low quantities +ErrorOrdersNotCreatedQtyTooLow=Kam miqdordagi buyurtma tufayli ba'zi buyurtmalar yaratilmagan ErrorModuleSetupNotComplete=%s modulini sozlash tugallanmaganga o'xshaydi. Tugatish uchun Home - Setup - Modullarga o'ting. ErrorBadMask=Maskada xato ErrorBadMaskFailedToLocatePosOfSequence=Xato, tartib raqami bo'lmagan niqob @@ -113,7 +113,7 @@ ErrorForbidden2=Ushbu kirish uchun ruxsat sizning Dolibarr administratoringiz to ErrorForbidden3=Dolibarr autentifikatsiya qilingan seans orqali ishlatilmaydi. Autentifikatsiyani qanday boshqarishni bilish uchun Dolibarrni sozlash bo'yicha hujjatlarni ko'rib chiqing (htaccess, mod_auth yoki boshqa ...). ErrorNoImagickReadimage=Imagick sinfi ushbu PHP-da mavjud emas. Hech qanday oldindan ko'rish mumkin emas. Administrator ushbu yorliqni O'rnatish - Displey menyusidan o'chirib qo'yishi mumkin. ErrorRecordAlreadyExists=Yozuv allaqachon mavjud -ErrorLabelAlreadyExists=This label already exists +ErrorLabelAlreadyExists=Ushbu yorliq allaqachon mavjud ErrorCantReadFile='%s' faylini o'qib bo'lmadi ErrorCantReadDir='%s' katalogini o'qib bo'lmadi ErrorBadLoginPassword=Kirish yoki parol uchun noto'g'ri qiymat @@ -124,9 +124,9 @@ ErrorLoginDoesNotExists= %s tizimiga kirgan foydalanuvchi topilmadi. ErrorLoginHasNoEmail=Ushbu foydalanuvchi elektron pochta manziliga ega emas. Jarayon bekor qilindi. ErrorBadValueForCode=Xavfsizlik kodi noto'g'ri. Yangi qiymat bilan qayta urinib ko'ring ... ErrorBothFieldCantBeNegative=%s va %s maydonlari ikkalasi ham salbiy bo'lishi mumkin emas -ErrorFieldCantBeNegativeOnInvoice=Field %s cannot be negative on this type of invoice. If you need to add a discount line, just create the discount first (from field '%s' in thirdparty card) and apply it to the invoice. -ErrorLinesCantBeNegativeForOneVATRate=Total of lines (net of tax) can't be negative for a given not null VAT rate (Found a negative total for VAT rate %s%%). -ErrorLinesCantBeNegativeOnDeposits=Lines can't be negative in a deposit. You will face problems when you will need to consume the deposit in final invoice if you do so. +ErrorFieldCantBeNegativeOnInvoice= %s maydonchasi ushbu schyot-fakturada salbiy bo'lishi mumkin emas. Agar sizga chegirma chizig'ini qo'shishingiz kerak bo'lsa, avval chegirmani yarating (uchinchi tomon kartasidagi '%s' maydonidan) va uni hisob-fakturaga qo'llang. +ErrorLinesCantBeNegativeForOneVATRate=Qatorlar yig'indisi (soliqni olib tashlagan holda) QQSning nol bo'lmagan stavkasi uchun salbiy bo'lishi mumkin emas (QQS stavkasi uchun %s %% uchun salbiy jami topildi). +ErrorLinesCantBeNegativeOnDeposits=Depozitda chiziqlar salbiy bo'lishi mumkin emas. Agar shunday qilsangiz, siz oxirgi hisob-fakturada depozitni iste'mol qilishingiz kerak bo'lganda siz muammolarga duch kelasiz. ErrorQtyForCustomerInvoiceCantBeNegative=Xaridorlarning schyot-fakturalari qatori salbiy bo'lishi mumkin emas ErrorWebServerUserHasNotPermission=Veb-serverni amalga oshirish uchun foydalanilgan %s foydalanuvchi qayd yozuvida bunga ruxsat yo'q ErrorNoActivatedBarcode=Shtrixli kod yoqilmagan @@ -142,7 +142,7 @@ ErrorFailedToValidatePasswordReset=Parolni qayta tiklab bo'lmadi. Qayta tiklash ErrorToConnectToMysqlCheckInstance=Ma'lumotlar bazasiga ulanish muvaffaqiyatsiz tugadi. Ma'lumotlar bazasi serveri ishlayotganligini tekshiring (masalan, ErrorFailedToAddContact=Kontakt qo'shilmadi ErrorDateMustBeBeforeToday=Sana bugundan pastroq bo'lishi kerak -ErrorDateMustBeInFuture=The date must be greater than today +ErrorDateMustBeInFuture=Sana bugundan kattaroq bo'lishi kerak ErrorPaymentModeDefinedToWithoutSetup=%s yozish uchun to'lov rejimi o'rnatildi, ammo ushbu to'lov rejimi uchun ma'lumotni aniqlash uchun fakturani moduli o'rnatilmagan. ErrorPHPNeedModule=Xato, PHP-da ushbu funktsiyadan foydalanish uchun %s moduli o'rnatilgan bo'lishi kerak. ErrorOpenIDSetupNotComplete=OpenID autentifikatsiyasiga ruxsat berish uchun Dolibarr konfiguratsiya faylini o'rnatdingiz, ammo OpenID xizmatining URL manzili doimiy ravishda %s shaklida aniqlanmagan @@ -168,8 +168,8 @@ ErrorPriceExpression19=Ifoda topilmadi ErrorPriceExpression20=Bo'sh ifoda ErrorPriceExpression21=Bo'sh natija '%s' ErrorPriceExpression22=Salbiy natija '%s' -ErrorPriceExpression23=Unknown or non set variable '%s' in %s -ErrorPriceExpression24=Variable '%s' exists but has no value +ErrorPriceExpression23=%s da noma'lum yoki o'rnatilmagan '%s' o'zgaruvchisi. +ErrorPriceExpression24='%s' o'zgaruvchisi mavjud, ammo qiymati yo'q ErrorPriceExpressionInternal=Ichki xato '%s' ErrorPriceExpressionUnknown=Noma'lum xato '%s' ErrorSrcAndTargetWarehouseMustDiffers=Manba va maqsadli omborlar farq qilishi kerak @@ -185,12 +185,12 @@ ErrorGlobalVariableUpdater5=Hech qanday global o'zgaruvchi tanlanmagan ErrorFieldMustBeANumeric= %s maydon raqamli qiymat bo'lishi kerak ErrorMandatoryParametersNotProvided=Majburiy parametr (lar) taqdim etilmagan ErrorOppStatusRequiredIfAmount=Siz ushbu tanlov uchun taxminiy miqdorni belgiladingiz. Shunday qilib, siz uning holatini ham kiritishingiz kerak. -ErrorFailedToLoadModuleDescriptorForXXX=Failed to load module descriptor class for %s +ErrorFailedToLoadModuleDescriptorForXXX=%s uchun modul identifikatori sinfini yuklab bo'lmadi ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Modul tavsiflovchisidagi menyu qatorining noto'g'ri ta'rifi (fk_menu tugmasi uchun yomon qiymat) ErrorSavingChanges=O'zgarishlarni saqlashda xatolik yuz berdi ErrorWarehouseRequiredIntoShipmentLine=Yuk tashish uchun omborxonada talab qilinadi ErrorFileMustHaveFormat=Fayl %s formatiga ega bo'lishi kerak -ErrorFilenameCantStartWithDot=Filename can't start with a '.' +ErrorFilenameCantStartWithDot=Fayl nomini '' bilan boshlash mumkin emas. ErrorSupplierCountryIsNotDefined=Ushbu sotuvchi uchun mamlakat aniqlanmagan. Avval buni tuzating. ErrorsThirdpartyMerge=Ikki yozuv birlashtirilmadi. So'rov bekor qilindi. ErrorStockIsNotEnoughToAddProductOnOrder=%s mahsuloti uchun uni yangi tartibga qo'shish uchun stok etarli emas. @@ -200,76 +200,76 @@ ErrorStockIsNotEnoughToAddProductOnProposal=%s mahsuloti uchun uni yangi taklifg ErrorFailedToLoadLoginFileForMode="%s" rejimi uchun kirish tugmachasini olmadi. ErrorModuleNotFound=Modul fayli topilmadi. ErrorFieldAccountNotDefinedForBankLine=Buxgalteriya hisobi qiymati %s (%s) manba qatori uchun aniqlanmagan -ErrorFieldAccountNotDefinedForInvoiceLine=Value for Accounting account not defined for invoice id %s (%s) -ErrorFieldAccountNotDefinedForLine=Value for Accounting account not defined for the line (%s) +ErrorFieldAccountNotDefinedForInvoiceLine=Buxgalteriya hisobi qiymati %s (%s) hisob-fakturasi uchun aniqlanmagan +ErrorFieldAccountNotDefinedForLine=Buxgalteriya hisobi qiymati chiziq uchun aniqlanmagan (%s) ErrorBankStatementNameMustFollowRegex=Xato, bank ko'chirma nomi quyidagi sintaksis qoidasiga amal qilishi kerak %s ErrorPhpMailDelivery=Qabul qiluvchilarning juda ko'p sonini ishlatmasligingizni va elektron pochta manzilingiz Spamga o'xshamasligini tekshiring. To'liqroq ma'lumot olish uchun administratoringizdan xavfsizlik devori va server jurnallari fayllarini tekshirishni so'rang. ErrorUserNotAssignedToTask=Vaqtni sarflashni kiritish uchun foydalanuvchiga topshiriq berilishi kerak. ErrorTaskAlreadyAssigned=Vazifa allaqachon foydalanuvchiga berilgan ErrorModuleFileSeemsToHaveAWrongFormat=Modul to'plami noto'g'ri formatga o'xshaydi. -ErrorModuleFileSeemsToHaveAWrongFormat2=At least one mandatory directory must exists into zip of module: %s or %s +ErrorModuleFileSeemsToHaveAWrongFormat2=Modul zip-da kamida bitta majburiy katalog mavjud bo'lishi kerak: %s yoki %s ErrorFilenameDosNotMatchDolibarrPackageRules=Modul paketining nomi ( %s ) kutilgan nom sintaksisiga mos kelmaydi: %s a0a65d071f6fcz -ErrorDuplicateTrigger=Error, duplicate trigger name %s. Already loaded from %s. -ErrorNoWarehouseDefined=Error, no warehouses defined. -ErrorBadLinkSourceSetButBadValueForRef=The link you use is not valid. A 'source' for payment is defined, but value for 'ref' is not valid. -ErrorTooManyErrorsProcessStopped=Too many errors. Process was stopped. -ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Mass validation is not possible when option to increase/decrease stock is set on this action (you must validate one by one so you can define the warehouse to increase/decrease) -ErrorObjectMustHaveStatusDraftToBeValidated=Object %s must have status 'Draft' to be validated. -ErrorObjectMustHaveLinesToBeValidated=Object %s must have lines to be validated. -ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Only validated invoices can be sent using the "Send by email" mass action. -ErrorChooseBetweenFreeEntryOrPredefinedProduct=You must choose if article is a predefined product or not -ErrorDiscountLargerThanRemainToPaySplitItBefore=The discount you try to apply is larger than remain to pay. Split the discount in 2 smaller discounts before. -ErrorFileNotFoundWithSharedLink=File was not found. May be the share key was modified or file was removed recently. -ErrorProductBarCodeAlreadyExists=The product barcode %s already exists on another product reference. -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. -ErrorDescRequiredForFreeProductLines=Description is mandatory for lines with free product -ErrorAPageWithThisNameOrAliasAlreadyExists=The page/container %s has the same name or alternative alias that the one your try to use -ErrorDuringChartLoad=Error when loading chart of accounts. If few accounts were not loaded, you can still enter them manually. -ErrorBadSyntaxForParamKeyForContent=Bad syntax for param keyforcontent. Must have a value starting with %s or %s -ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text content to show) or %s (with external url to show) must be set. -ErrorURLMustEndWith=URL %s must end %s -ErrorURLMustStartWithHttp=URL %s must start with http:// or https:// -ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// -ErrorNewRefIsAlreadyUsed=Error, the new reference is already used -ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Error, delete payment linked to a closed invoice is not possible. -ErrorSearchCriteriaTooSmall=Search criteria too small. -ErrorObjectMustHaveStatusActiveToBeDisabled=Objects must have status 'Active' to be disabled -ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Objects must have status 'Draft' or 'Disabled' to be enabled -ErrorNoFieldWithAttributeShowoncombobox=No fields has property 'showoncombobox' into definition of object '%s'. No way to show the combolist. -ErrorFieldRequiredForProduct=Field '%s' is required for product %s -ProblemIsInSetupOfTerminal=Problem is in setup of terminal %s. -ErrorAddAtLeastOneLineFirst=Add at least one line first -ErrorRecordAlreadyInAccountingDeletionNotPossible=Error, record is already transferred in accounting, deletion is not possible. -ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Error, language is mandatory if you set the page as a translation of another one. -ErrorLanguageOfTranslatedPageIsSameThanThisPage=Error, language of translated page is same than this one. -ErrorBatchNoFoundForProductInWarehouse=No lot/serial found for product "%s" in warehouse "%s". -ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=No enough quantity for this lot/serial for product "%s" in warehouse "%s". -ErrorOnlyOneFieldForGroupByIsPossible=Only 1 field for the 'Group by' is possible (others are discarded) -ErrorTooManyDifferentValueForSelectedGroupBy=Found too many different value (more than %s) for the field '%s', so we can't use it as a 'Group by' for graphics. The field 'Group By' has been removed. May be you wanted to use it as an X-Axis ? -ErrorReplaceStringEmpty=Error, the string to replace into is empty -ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number -ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number -ErrorFailedToReadObject=Error, failed to read object of type %s -ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler -ErrorLoginDateValidity=Error, this login is outside the validity date range -ErrorValueLength=Length of field '%s' must be higher than '%s' -ErrorReservedKeyword=The word '%s' is a reserved keyword -ErrorNotAvailableWithThisDistribution=Not available with this distribution -ErrorPublicInterfaceNotEnabled=Public interface was not enabled -ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page -ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page -ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation -ErrorDateIsInFuture=Error, the date can't be in the future -ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory -ErrorAPercentIsRequired=Error, please fill in the percentage correctly -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account -ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorDuplicateTrigger=Xato, %s trigger nomini takrorlang. %s dan allaqachon yuklangan. +ErrorNoWarehouseDefined=Xato, omborlar aniqlanmadi. +ErrorBadLinkSourceSetButBadValueForRef=Siz foydalanadigan havola yaroqsiz. To'lov uchun "manba" aniqlangan, ammo "ref" qiymati haqiqiy emas. +ErrorTooManyErrorsProcessStopped=Juda ko'p xatolar. Jarayon to'xtatildi. +ErrorMassValidationNotAllowedWhenStockIncreaseOnAction=Ushbu aksiyada zaxirani ko'paytirish / kamaytirish variantini o'rnatilganda ommaviy tekshirish mumkin emas (siz birma-bir tasdiqlashingiz kerak, shunda siz omborni oshirish / kamaytirish uchun) +ErrorObjectMustHaveStatusDraftToBeValidated=%s ob'ekti tasdiqlanishi uchun "Qoralama" holatiga ega bo'lishi kerak. +ErrorObjectMustHaveLinesToBeValidated=%s ob'ekti tasdiqlanishi uchun satrlarga ega bo'lishi kerak. +ErrorOnlyInvoiceValidatedCanBeSentInMassAction=Faqat tasdiqlangan hisob-fakturalarni "Elektron pochta orqali yuborish" ommaviy aksiyasi yordamida yuborish mumkin. +ErrorChooseBetweenFreeEntryOrPredefinedProduct=Maqola oldindan belgilangan mahsulotmi yoki yo'qligini tanlashingiz kerak +ErrorDiscountLargerThanRemainToPaySplitItBefore=Siz qo'llamoqchi bo'lgan chegirma to'lashdan ko'ra kattaroqdir. Oldinroq chegirmani 2 ta kichik chegirmaga bo'ling. +ErrorFileNotFoundWithSharedLink=Fayl topilmadi. Ehtimol, ulashish kaliti o'zgartirilgan yoki fayl yaqinda olib tashlangan bo'lishi mumkin. +ErrorProductBarCodeAlreadyExists=%s mahsulotining shtrix-kodi boshqa mahsulot ma'lumotnomasida mavjud. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Shuni ham unutmangki, hech bo'lmaganda bitta subproduct (yoki subproduct) seriya / lot raqami kerak bo'lganda subproductlarni avtomatik ravishda oshirish / kamaytirish uchun to'plamlardan foydalanish mumkin emas. +ErrorDescRequiredForFreeProductLines=Tavsif bepul mahsulotga ega chiziqlar uchun majburiydir +ErrorAPageWithThisNameOrAliasAlreadyExists=Sahifa / konteyner %s siz foydalanmoqchi bo'lganingiz bir xil nom yoki muqobil taxallusga ega +ErrorDuringChartLoad=Hisob rejasini yuklashda xatolik yuz berdi. Agar bir nechta hisob yuklanmagan bo'lsa, ularni qo'lda kiritishingiz mumkin. +ErrorBadSyntaxForParamKeyForContent=Param keyforcontent uchun noto'g'ri sintaksis. %s yoki %s bilan boshlanadigan qiymat bo'lishi kerak +ErrorVariableKeyForContentMustBeSet=Xato, %s (matnli tarkib ko'rsatilishi kerak) yoki %s (tashqi url ko'rsatilishi kerak) bilan doimiy o'rnatilishi kerak. +ErrorURLMustEndWith=URL %s tugashi kerak %s +ErrorURLMustStartWithHttp=%s URL manzili http: // yoki https: // bilan boshlanishi kerak. +ErrorHostMustNotStartWithHttp=%s xost nomi http: // yoki https: // bilan boshlanmasligi kerak. +ErrorNewRefIsAlreadyUsed=Xato, yangi ma'lumotnoma allaqachon ishlatilgan +ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=Xatolik yuz berdi, yopiq hisob-fakturaga ulangan to'lovni o'chirib bo'lmaydi. +ErrorSearchCriteriaTooSmall=Qidiruv mezonlari juda kichik. +ErrorObjectMustHaveStatusActiveToBeDisabled=O'chirish uchun ob'ektlar "Faol" holatiga ega bo'lishi kerak +ErrorObjectMustHaveStatusDraftOrDisabledToBeActivated=Ob'ektlarni yoqish uchun "Qoralama" yoki "O'chirilgan" holati bo'lishi kerak +ErrorNoFieldWithAttributeShowoncombobox=Hech bir maydonda '%s' ob'ekti ta'rifida 'showoncombobox' xususiyati mavjud emas. Kombolistni ko'rsatishning imkoni yo'q. +ErrorFieldRequiredForProduct=%s mahsuloti uchun '%s' maydoni talab qilinadi +ProblemIsInSetupOfTerminal=Muammo %s terminalini o'rnatishda. +ErrorAddAtLeastOneLineFirst=Avval kamida bitta satr qo'shing +ErrorRecordAlreadyInAccountingDeletionNotPossible=Xato, yozuv allaqachon buxgalteriya hisobiga o'tkazilgan, yo'q qilish mumkin emas. +ErrorLanguageMandatoryIfPageSetAsTranslationOfAnother=Xato, agar siz sahifani boshqasining tarjimasi sifatida o'rnatgan bo'lsangiz, til majburiydir. +ErrorLanguageOfTranslatedPageIsSameThanThisPage=Xato, tarjima qilingan sahifaning tili shu bilan bir xil. +ErrorBatchNoFoundForProductInWarehouse="%s" mahsuloti uchun "%s" omborida lot / seriya topilmadi. +ErrorBatchNoFoundEnoughQuantityForProductInWarehouse="%s" mahsuloti uchun "%s" omborida ushbu lot / seriya uchun etarli miqdor yo'q. +ErrorOnlyOneFieldForGroupByIsPossible="Guruh guruhi" uchun faqat bitta maydon bo'lishi mumkin (boshqalar bekor qilinadi) +ErrorTooManyDifferentValueForSelectedGroupBy=' %s ' uchun maydon juda ko'p turli xil qiymatlarni ( %s dan ortiq) topdi, shunday qilib we 'we can'. "Guruh guruhi" maydoni olib tashlandi. Siz uni X o'qi sifatida ishlatishni xohlaysizmi? +ErrorReplaceStringEmpty=Xato, o'rnini bosadigan satr bo'sh +ErrorProductNeedBatchNumber=Xato, ' %s ' mahsulotiga juda ko'p / seriya raqami kerak +ErrorProductDoesNotNeedBatchNumber=Xato, ' %s ' mahsuloti ko'p / seriya raqamini qabul qilmaydi +ErrorFailedToReadObject=Xato, %s turidagi ob'ekt o'qilmadi +ErrorParameterMustBeEnabledToAllwoThisFeature=Xato, %s parametri conf / conf.php ga o'rnatilgan bo'lishi kerak. +ErrorLoginDateValidity=Xato, ushbu kirish amal qilish muddati oralig'ida emas +ErrorValueLength=' %s ' maydonining uzunligi ' %s ' dan yuqori bo'lishi kerak +ErrorReservedKeyword=' %s ' so'zi zaxiralangan kalit so'z +ErrorNotAvailableWithThisDistribution=Ushbu tarqatish bilan mavjud emas +ErrorPublicInterfaceNotEnabled=Umumiy interfeys yoqilmagan +ErrorLanguageRequiredIfPageIsTranslationOfAnother=Yangi sahifaning tili boshqa sahifaning tarjimasi sifatida o'rnatilgan bo'lsa aniqlanishi kerak +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=Yangi sahifaning tili boshqa sahifaning tarjimasi sifatida o'rnatilgan bo'lsa, manba tili bo'lmasligi kerak +ErrorAParameterIsRequiredForThisOperation=Ushbu operatsiyani bajarish uchun parametr majburiydir +ErrorDateIsInFuture=Xato, sana kelajakda bo'lishi mumkin emas +ErrorAnAmountWithoutTaxIsRequired=Xato, miqdor majburiydir +ErrorAPercentIsRequired=Xato, foizni to'g'ri to'ldiring +ErrorYouMustFirstSetupYourChartOfAccount=Avval hisob qaydnomangizni o'rnatishingiz kerak +ErrorFailedToFindEmailTemplate=%s kodli shablonni topib bo'lmadi # Warnings -WarningParamUploadMaxFileSizeHigherThanPostMaxSize=Your PHP parameter upload_max_filesize (%s) is higher than PHP parameter post_max_size (%s). This is not a consistent setup. +WarningParamUploadMaxFileSizeHigherThanPostMaxSize=PHP parametringiz upload_max_filesize (%s) PHP post_max_size (%s) parametridan yuqori. Bu izchil o'rnatish emas. WarningPasswordSetWithNoAccount=Ushbu a'zo uchun parol o'rnatildi. Biroq, foydalanuvchi hisobi yaratilmagan. Shunday qilib, ushbu parol saqlanadi, ammo Dolibarr-ga kirish uchun foydalanib bo'lmaydi. U tashqi modul / interfeys tomonidan ishlatilishi mumkin, ammo agar siz a'zo uchun hech qanday login va parolni belgilashga hojat bo'lmasa, siz "har bir a'zo uchun kirishni boshqarish" parametrini a'zo modulidan o'chirib qo'yishingiz mumkin. Agar sizga loginni boshqarish kerak bo'lsa, lekin hech qanday parol kerak bo'lmasa, ushbu ogohlantirishni oldini olish uchun ushbu maydonni bo'sh qoldirishingiz mumkin. Izoh: Agar foydalanuvchi bilan bog'langan bo'lsa, elektron pochta orqali kirish sifatida ham foydalanish mumkin. WarningMandatorySetupNotComplete=Majburiy parametrlarni o'rnatish uchun shu erni bosing -WarningEnableYourModulesApplications=Click here to enable your modules and applications +WarningEnableYourModulesApplications=Modul va dasturlarni yoqish uchun shu erni bosing WarningSafeModeOnCheckExecDir=Ogohlantirish, PHP opsiyasi yoniq, shuning uchun buyruq php parametri safe_mode_exec_dir php parametri bilan e'lon qilingan katalog ichida saqlanishi kerak. WarningBookmarkAlreadyExists=Ushbu nom yoki ushbu maqsad (URL) bilan xatcho'p allaqachon mavjud. WarningPassIsEmpty=Ogohlantirish, ma'lumotlar bazasi paroli bo'sh. Bu xavfsizlik teshigi. Ma'lumotlar bazasiga parol qo'shishingiz va conf.php faylini o'zgartirishingiz kerak. @@ -286,18 +286,19 @@ WarningPaymentDateLowerThanInvoiceDate=To'lov sanasi (%s) %s hisob-fakturasi uch WarningTooManyDataPleaseUseMoreFilters=Ma'lumot juda ko'p (%s qatorlaridan ko'p). Iltimos, ko'proq filtrlardan foydalaning yoki %s doimiyligini yuqori chegaraga o'rnating. WarningSomeLinesWithNullHourlyRate=Ba'zi foydalanuvchilar ba'zi soatlarda soatlik stavkasi aniqlanmagan holda qayd etishgan. Soatiga 0 %s qiymati ishlatilgan, ammo bu sarflangan vaqtni noto'g'ri baholashga olib kelishi mumkin. WarningYourLoginWasModifiedPleaseLogin=Kirishingiz o'zgartirildi. Xavfsizlik maqsadida keyingi harakatlar oldidan yangi tizimga kirishingiz kerak bo'ladi. -WarningAnEntryAlreadyExistForTransKey=An entry already exists for the translation key for this language -WarningNumberOfRecipientIsRestrictedInMassAction=Warning, number of different recipient is limited to %s when using the mass actions on lists -WarningDateOfLineMustBeInExpenseReportRange=Warning, the date of line is not in the range of the expense report -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. -WarningProjectClosed=Project is closed. You must re-open it first. -WarningSomeBankTransactionByChequeWereRemovedAfter=Some bank transaction were removed after that the receipt including them were generated. So nb of cheques and total of receipt may differ from number and total in list. -WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table -WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. -WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list -WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail -ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +WarningAnEntryAlreadyExistForTransKey=Ushbu til uchun tarjima kaliti uchun yozuv allaqachon mavjud +WarningNumberOfRecipientIsRestrictedInMassAction=Ogohlantirish, turli xil qabul qiluvchilar soni %s bilan ro'yxatdagi ommaviy harakatlardan foydalanishda cheklangan +WarningDateOfLineMustBeInExpenseReportRange=Ogohlantirish, satr sanasi xarajatlar hisoboti doirasiga kirmaydi +WarningProjectDraft=Loyiha hali ham qoralama rejimida. Vazifalardan foydalanishni rejalashtirmoqchi bo'lsangiz, uni tasdiqlashni unutmang. +WarningProjectClosed=Loyiha yopiq. Avval uni qayta ochishingiz kerak. +WarningSomeBankTransactionByChequeWereRemovedAfter=Ba'zi bir bank operatsiyalari olib qo'yilgandan so'ng olib tashlandi, shu jumladan kvitansiya tuzildi. Shunday qilib, cheklarning nb-si va tushumning umumiy miqdori ro'yxatdagi son va jamidan farq qilishi mumkin. +WarningFailedToAddFileIntoDatabaseIndex=Ogohlantirish, ECM ma'lumotlar bazasi indekslari jadvaliga fayllar kiritilmadi +WarningTheHiddenOptionIsOn=Ogohlantirish, %s yashirin variant yoniq. +WarningCreateSubAccounts=Ogohlantirish, siz to'g'ridan-to'g'ri sub-qayd yozuvini yaratolmaysiz, uchinchi tomon yoki foydalanuvchini yaratishingiz va ularni ushbu ro'yxatda topish uchun ularga buxgalteriya kodini tayinlashingiz kerak. +WarningAvailableOnlyForHTTPSServers=Faqat HTTPS xavfsiz ulanishidan foydalanish mumkin. +WarningModuleXDisabledSoYouMayMissEventHere=%s moduli yoqilmagan. Shunday qilib, siz bu erda ko'plab tadbirlarni o'tkazib yuborishingiz mumkin. +ErrorActionCommPropertyUserowneridNotDefined=Foydalanuvchi egasi talab qilinadi +ErrorActionCommBadType=Tanlangan voqea turi (id: %n, kod: %s) Voqealar turi lug'atida mavjud emas +CheckVersionFail=Versiyani tekshirib bo'lmadi +ErrorWrongFileName=Fayl nomida __SOMETHING__ bo'lishi mumkin emas +ErrorNotInDictionaryPaymentConditions=To'lov shartlari lug'atida yo'q, iltimos o'zgartiring. diff --git a/htdocs/langs/uz_UZ/eventorganization.lang b/htdocs/langs/uz_UZ/eventorganization.lang index 335c257b224..24143ece722 100644 --- a/htdocs/langs/uz_UZ/eventorganization.lang +++ b/htdocs/langs/uz_UZ/eventorganization.lang @@ -17,127 +17,131 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project -EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page +ModuleEventOrganizationName = Tadbirni tashkil etish +EventOrganizationDescription = Modul loyihasi orqali tadbirlarni tashkil etish +EventOrganizationDescriptionLong= Konferentsiya, ishtirokchilar, ma'ruzachilar va ishtirokchilar uchun tadbirlarni tashkil qilishni ommaviy pastki sahifasi bilan boshqaring # # Menu # -EventOrganizationMenuLeft = Organized events -EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth +EventOrganizationMenuLeft = Tashkil etilgan tadbirlar +EventOrganizationConferenceOrBoothMenuLeft = Konferentsiya yoki stend # # Admin page # -EventOrganizationSetup = Event Organization setup -Settings = Settings -EventOrganizationSetupPage = Event Organization setup page -EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated -EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

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

yaratilgan bo'lishi mumkin: konferensiyasi uchun
Send qo'ng'iroq
tashrif buyurganlar uchun voqealarga ochiq obuna
But uchun qo'ng'iroq olish
konferentsiyalar uchun qo'ng'iroq olish
But chaqiraman yuborish
Tadbirni ma'ruzachilarga eslatib turish +EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Kimdir konferentsiya taklif qilganda avtomatik ravishda tuziladigan uchinchi tomonlarga qo'shiladigan toifadir +EVENTORGANIZATION_CATEG_THIRDPARTY_BOOTH = Uchinchi shaxslarga qo'shiladigan toifani, ular stendni taklif qilganda avtomatik ravishda yaratiladi +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF = Konferentsiya taklifini olgandan so'ng yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH = Stend taklifini olgandan keyin yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_BOOTH = Stendga obuna bo'lgandan keyin yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT = Tadbirga obuna bo'lgandan keyin yuborish uchun elektron pochta shablonini. +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_SPEAKER = Ishtirokchilarga ommaviy massaj elektron pochta shablonini +EVENTORGANIZATION_TEMPLATE_EMAIL_BULK_ATTENDES = Spikerlarga ommaviy elektron pochta orqali yuborilgan shablon +EVENTORGANIZATION_FILTERATTENDEES_CAT = Uchinchi tomonning tanlangan ro'yxatini ishtirokchilarni yaratish kartasida / toifadagi katakchasida filtrlang +EVENTORGANIZATION_FILTERATTENDEES_TYPE = Uchinchi tomonning tanlangan ro'yxatini ishtirokchilarni yaratish kartasida / mijozning turiga qarab shaklda filtrlang # # Object # -EventOrganizationConfOrBooth= Conference Or Booth -ManageOrganizeEvent = Manage event organisation -ConferenceOrBooth = Conference Or Booth -ConferenceOrBoothTab = Conference Or Booth -AmountOfSubscriptionPaid = Amount of subscription paid -DateSubscription = Date of subscription -ConferenceOrBoothAttendee = Conference Or Booth Attendee +EventOrganizationConfOrBooth= Konferentsiya yoki stend +ManageOrganizeEvent = Tadbirni tashkil qilishni boshqaring +ConferenceOrBooth = Konferentsiya yoki stend +ConferenceOrBoothTab = Konferentsiya yoki stend +AmountOfSubscriptionPaid = To'langan obuna miqdori +DateSubscription = Obuna sanasi +ConferenceOrBoothAttendee = Konferentsiya yoki stend ishtirokchisi # # Template Mail # -YourOrganizationEventConfRequestWasReceived = Your request for conference was received -YourOrganizationEventBoothRequestWasReceived = Your request for booth was received -EventOrganizationEmailAskConf = Request for conference -EventOrganizationEmailAskBooth = Request for booth -EventOrganizationEmailSubsBooth = Subscription for booth -EventOrganizationEmailSubsEvent = Subscription for an event -EventOrganizationMassEmailAttendees = Communication to attendees -EventOrganizationMassEmailSpeakers = Communication to speakers +YourOrganizationEventConfRequestWasReceived = Konferentsiya uchun so'rovingiz qabul qilindi +YourOrganizationEventBoothRequestWasReceived = Sizning kabinangizga bo'lgan talabingiz qabul qilindi +EventOrganizationEmailAskConf = Konferentsiya uchun so'rov +EventOrganizationEmailAskBooth = Stendga buyurtma +EventOrganizationEmailSubsBooth = Stend uchun obuna +EventOrganizationEmailSubsEvent = Hodisa uchun obuna +EventOrganizationMassEmailAttendees = Ishtirokchilar bilan aloqa +EventOrganizationMassEmailSpeakers = Spikerlar bilan aloqa # # Event # -AllowUnknownPeopleSuggestConf=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestConfHelp=Allow unknown people to suggest conferences -AllowUnknownPeopleSuggestBooth=Allow unknown people to suggest booth -AllowUnknownPeopleSuggestBoothHelp=Allow unknown people to suggest booth -PriceOfRegistration=Price of registration -PriceOfRegistrationHelp=Price of registration -PriceOfBooth=Subscription price to stand a booth -PriceOfBoothHelp=Subscription price to stand a booth -EventOrganizationICSLink=Link ICS for events -ConferenceOrBoothInformation=Conference Or Booth informations -Attendees = Attendees -DownloadICSLink = Download ICS link -EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference -SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location -SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +AllowUnknownPeopleSuggestConf=Noma'lum odamlarga konferentsiyalarni o'tkazishga ruxsat bering +AllowUnknownPeopleSuggestConfHelp=Noma'lum odamlarga konferentsiyalarni o'tkazishga ruxsat bering +AllowUnknownPeopleSuggestBooth=Noma'lum odamlarga stendni taklif qilishga ruxsat bering +AllowUnknownPeopleSuggestBoothHelp=Noma'lum odamlarga stendni taklif qilishga ruxsat bering +PriceOfRegistration=Ro'yxatdan o'tish narxi +PriceOfRegistrationHelp=Ro'yxatdan o'tish narxi +PriceOfBooth=Stendda turish uchun obuna narxi +PriceOfBoothHelp=Stendda turish uchun obuna narxi +EventOrganizationICSLink=Voqealar uchun ICS-ni bog'lang +ConferenceOrBoothInformation=Konferentsiya yoki stend ma'lumotlari +Attendees = Ishtirokchilar +DownloadICSLink = ICS havolasini yuklab oling +EVENTORGANIZATION_SECUREKEY = Konferentsiyaga ochiq ro'yxatdan o'tishning havfli kaliti +SERVICE_BOOTH_LOCATION = Stend joylashgan joy haqida hisob-faktura qatori uchun ishlatiladigan xizmat +SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Konferentsiyaga qatnashuvchi obuna haqida hisob-faktura satrida ishlatiladigan xizmat +NbVotes=Number of votes # # Status # -EvntOrgDraft = Draft -EvntOrgSuggested = Suggested -EvntOrgConfirmed = Confirmed -EvntOrgNotQualified = Not Qualified -EvntOrgDone = Done -EvntOrgCancelled = Cancelled +EvntOrgDraft = Qoralama +EvntOrgSuggested = Tavsiya etilgan +EvntOrgConfirmed = Tasdiqlandi +EvntOrgNotQualified = Malakali emas +EvntOrgDone = Bajarildi +EvntOrgCancelled = Bekor qilindi # # Public page # -SuggestForm = Suggestion page -RegisterPage = Page for conferences or booth -EvntOrgRegistrationHelpMessage = Here, you can vote for an event, or suggest a new conference or booth for the project -EvntOrgRegistrationConfHelpMessage = Here, you can suggest a new conference for the project -EvntOrgRegistrationBoothHelpMessage = Here, you can suggest a new booth for the project -ListOfSuggestedConferences = List of suggested conferences -ListOfSuggestedBooths = List of suggested booths -SuggestConference = Suggest a new conference -SuggestBooth = Suggest a booth -ViewAndVote = View and vote for suggested events -PublicAttendeeSubscriptionPage = Public link of registration to a conference -MissingOrBadSecureKey = The security key is invalid or missing -EvntOrgWelcomeMessage = This form allows you to register as a new participant to the conference : '%s' -EvntOrgDuration = This conference starts on %s and ends on %s. -ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. -BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s -EventType = Event type +SuggestForm = Takliflar sahifasi +RegisterPage = Konferentsiyalar yoki stendlar uchun sahifa +EvntOrgRegistrationHelpMessage = Bu erda siz tadbir uchun ovoz berishingiz yoki loyiha uchun yangi konferentsiya yoki stendni taklif qilishingiz mumkin +EvntOrgRegistrationConfHelpMessage = Bu erda siz loyiha uchun yangi konferentsiya taklif qilishingiz mumkin +EvntOrgRegistrationBoothHelpMessage = Bu erda siz loyiha uchun yangi stendni taklif qilishingiz mumkin +ListOfSuggestedConferences = Tavsiya etilgan konferentsiyalar ro'yxati +ListOfSuggestedBooths = Tavsiya etilgan kabinalar ro'yxati +SuggestConference = Yangi konferentsiyani taklif eting +SuggestBooth = Stendni taklif qiling +ViewAndVote = Taklif etilgan tadbirlarni ko'ring va ovoz bering +PublicAttendeeSubscriptionPage = Konferentsiyaga ro'yxatdan o'tishning ommaviy havolasi +MissingOrBadSecureKey = Elektron kalit yaroqsiz yoki yo'q +EvntOrgWelcomeMessage = Ushbu shakl sizga konferentsiyaning yangi ishtirokchisi sifatida ro'yxatdan o'tishga imkon beradi: '%s' +EvntOrgDuration = Ushbu anjuman %s da boshlanadi va %s da tugaydi. +ConferenceAttendeeFee = Tadbir uchun konferentsiya qatnashchilari uchun to'lov: '%s' %s dan %s gacha. +BoothLocationFee = Hodisa uchun stend joylashuvi: %s dan %s gacha bo'lgan '%s'. +EventType = Tadbir turi +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page # -EvntOrgRegistrationWelcomeMessage = Welcome on the conference or booth suggestion page. -EvntOrgRegistrationConfWelcomeMessage = Welcome on the conference suggestion page. -EvntOrgRegistrationBoothWelcomeMessage = Welcome on the booth suggestion page. -EvntOrgVoteHelpMessage = Here, you can view and vote for the suggested events for the project -VoteOk = Your vote has been accepted. -AlreadyVoted = You have already voted for this event. -VoteError = An error has occurred during the vote, please try again. +EvntOrgRegistrationWelcomeMessage = Konferentsiyada yoki kabinet takliflari sahifasida xush kelibsiz. +EvntOrgRegistrationConfWelcomeMessage = Konferentsiya takliflari sahifasida xush kelibsiz. +EvntOrgRegistrationBoothWelcomeMessage = Stend takliflari sahifasida xush kelibsiz. +EvntOrgVoteHelpMessage = Bu erda siz loyiha uchun taklif qilingan tadbirlarni ko'rishingiz va ularga ovoz berishingiz mumkin +VoteOk = Sizning ovozingiz qabul qilindi. +AlreadyVoted = Siz ushbu tadbir uchun allaqachon ovoz bergansiz. +VoteError = Ovoz berish paytida xatolik yuz berdi, qayta urinib ko'ring. # # SubscriptionOk page # -SubscriptionOk = Your subscription to this conference has been validated +SubscriptionOk = Ushbu konferentsiyaga obunangiz tasdiqlandi # # Subscription validation mail # -ConfAttendeeSubscriptionConfirmation = Confirmation of your subscription to a conference +ConfAttendeeSubscriptionConfirmation = Konferentsiyaga obuna bo'lganligingizni tasdiqlash # # Payment page # -Attendee = Attendee -PaymentConferenceAttendee = Conference attendee payment -PaymentBoothLocation = Booth location payment +Attendee = Ishtirokchi +PaymentConferenceAttendee = Konferentsiya qatnashchilarining to'lovlari +PaymentBoothLocation = Stend joylashgan joy uchun to'lov diff --git a/htdocs/langs/uz_UZ/exports.lang b/htdocs/langs/uz_UZ/exports.lang index 516ca7a2214..a38dd574a31 100644 --- a/htdocs/langs/uz_UZ/exports.lang +++ b/htdocs/langs/uz_UZ/exports.lang @@ -26,8 +26,8 @@ FieldTitle=Maydon nomi NowClickToGenerateToBuildExportFile=Endi, ochilgan maydonda fayl formatini tanlang va eksport faylini yaratish uchun "Yaratish" tugmasini bosing ... AvailableFormats=Mavjud formatlar LibraryShort=Kutubxona -ExportCsvSeparator=Csv caracter separator -ImportCsvSeparator=Csv caracter separator +ExportCsvSeparator=CSV karakterlarni ajratuvchi +ImportCsvSeparator=CSV karakterlarni ajratuvchi Step=Qadam FormatedImport=Import yordamchisi FormatedImportDesc1=Ushbu modul yordamchi yordamida texnik ma'lumotlarga ega bo'lmagan fayldan mavjud ma'lumotlarni yangilash yoki ma'lumotlar bazasiga yangi moslamalarni qo'shish imkonini beradi. @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Qator turi (0 = mahsulot, 1 = xizmat) FileWithDataToImport=Import qilish uchun ma'lumotlar bilan fayl FileToImport=Import qilish uchun manba fayl FileMustHaveOneOfFollowingFormat=Import qilish uchun fayl quyidagi formatlardan biriga ega bo'lishi kerak -DownloadEmptyExample=Shablon faylini maydon tarkibidagi ma'lumotlar bilan yuklab oling (* majburiy maydonlar) +DownloadEmptyExample=Shablon faylini maydon tarkibidagi ma'lumotlar bilan yuklab oling +StarAreMandatory=* majburiy maydonlar ChooseFormatOfFileToImport=Faylni import qilish formati sifatida tanlang, uni tanlash uchun %s belgisini bosing ... ChooseFileToImport=Faylni yuklang, so'ngra faylni manba import fayli sifatida tanlash uchun %s belgisini bosing ... SourceFileFormat=Manba fayl formati @@ -115,14 +116,14 @@ ExportDateFilter=YYYY, YYYYMM, YYYYMMDD: filtrlar bir yil / oy / kunga
YYYY ExportNumericFilter=NNNNN bitta qiymat bo'yicha filtrlaydi
NNNNN + NNNNN
> NNNNN yuqori qiymatlarga ko'ra filtrlaydi ImportFromLine=Qator raqamidan boshlab import qilish EndAtLineNb=Satr raqamida tugatish -ImportFromToLine=Limit range (From - To). Eg. to omit header line(s). +ImportFromToLine=Cheklov diapazoni (dan - ga). Masalan. sarlavha satrlarini (larini) chiqarib tashlash. SetThisValueTo2ToExcludeFirstLine=Masalan, 2 ta birinchi qatorni chiqarib tashlash uchun ushbu qiymatni 3 ga o'rnating.
Agar sarlavha satrlari chiqarib tashlanmasa, bu Import Simulyatsiyasida bir nechta xatolarga olib keladi. KeepEmptyToGoToEndOfFile=Fayl oxirigacha barcha satrlarni qayta ishlash uchun ushbu maydonni bo'sh qoldiring. -SelectPrimaryColumnsForUpdateAttempt=Select column(s) to use as primary key for an UPDATE import -UpdateNotYetSupportedForThisImport=Update is not supported for this type of import (only insert) -NoUpdateAttempt=No update attempt was performed, only insert -ImportDataset_user_1=Users (employees or not) and properties -ComputedField=Computed field +SelectPrimaryColumnsForUpdateAttempt=UPDATE importi uchun asosiy kalit sifatida foydalanish uchun ustun (lar) ni tanlang +UpdateNotYetSupportedForThisImport=Ushbu turdagi import uchun yangilanish mavjud emas (faqat qo'shish) +NoUpdateAttempt=Yangilashga urinish amalga oshirilmadi, faqat qo'shib qo'ying +ImportDataset_user_1=Foydalanuvchilar (xodimlar yoki yo'q) va xususiyatlari +ComputedField=Hisoblangan maydon ## filters SelectFilterFields=Agar siz ba'zi bir qiymatlar bo'yicha filtrlashni xohlasangiz, bu erda faqat qiymatlarni kiriting. FilteredFields=Filtrlangan maydonlar @@ -133,4 +134,4 @@ KeysToUseForUpdates=Mavjud ma'lumotlarni
yangilash uchun uchun ishlatil NbInsert=Kiritilgan qatorlar soni: %s NbUpdate=Yangilangan qatorlar soni: %s MultipleRecordFoundWithTheseFilters=Ushbu filtrlar yordamida bir nechta yozuvlar topildi: %s -StocksWithBatch=Stocks and location (warehouse) of products with batch/serial number +StocksWithBatch=Partiya / seriya raqami bo'lgan mahsulot zaxiralari va joylashuvi (ombor) diff --git a/htdocs/langs/uz_UZ/holiday.lang b/htdocs/langs/uz_UZ/holiday.lang index 0abdc9dc374..588515a37cd 100644 --- a/htdocs/langs/uz_UZ/holiday.lang +++ b/htdocs/langs/uz_UZ/holiday.lang @@ -15,14 +15,14 @@ CancelCP=Bekor qilindi RefuseCP=Rad etildi ValidatorCP=Tasdiqlovchi ListeCP=Ta'til ro'yxati -Leave=Leave request -LeaveId=Leave ID +Leave=So'rovni qoldiring +LeaveId=IDni qoldiring ReviewedByCP=Tomonidan tasdiqlanadi -UserID=User ID -UserForApprovalID=User for approval ID -UserForApprovalFirstname=First name of approval user -UserForApprovalLastname=Last name of approval user -UserForApprovalLogin=Login of approval user +UserID=foydalanuvchi IDsi +UserForApprovalID=Tasdiqlash identifikatori uchun foydalanuvchi +UserForApprovalFirstname=Tasdiqlovchi foydalanuvchining ismi +UserForApprovalLastname=Tasdiqlovchi foydalanuvchining familiyasi +UserForApprovalLogin=Tasdiqlash foydalanuvchisining kirishi DescCP=Tavsif SendRequestCP=Dam olish uchun so'rov yarating DelayToRequestCP=Dam olish uchun so'rovlar kamida %s kun (lar) dan oldin amalga oshirilishi kerak. @@ -36,16 +36,16 @@ ErrorUserViewCP=Ushbu ta'tilga oid talabni o'qishga vakolatingiz yo'q. InfosWorkflowCP=Axborotning ishlash jarayoni RequestByCP=Tomonidan so'ralgan TitreRequestCP=So'rovni qoldiring -TypeOfLeaveId=Type of leave ID -TypeOfLeaveCode=Type of leave code -TypeOfLeaveLabel=Type of leave label +TypeOfLeaveId=Ta'til guvohnomasi turi +TypeOfLeaveCode=Dam olish kodining turi +TypeOfLeaveLabel=Ta'til yorlig'i turi NbUseDaysCP=Ishlatilgan ta'til kunlari soni -NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. -NbUseDaysCPShort=Days of leave -NbUseDaysCPShortInMonth=Days of leave in month -DayIsANonWorkingDay=%s is a non-working day -DateStartInMonth=Start date in month -DateEndInMonth=End date in month +NbUseDaysCPHelp=Hisoblashda lug'atda belgilangan ish kunlari va ta'til kunlari hisobga olinadi. +NbUseDaysCPShort=Dam olish kunlari +NbUseDaysCPShortInMonth=Bir oy ichida ta'til kunlari +DayIsANonWorkingDay=%s - bu ishlamaydigan kun +DateStartInMonth=Boshlanish sanasi oyda +DateEndInMonth=Tugash sanasi oyda EditCP=Tahrirlash DeleteCP=O'chirish ActionRefuseCP=Rad etish @@ -74,7 +74,7 @@ DateRefusCP=Rad etish sanasi DateCancelCP=Bekor qilingan sana DefineEventUserCP=Foydalanuvchiga alohida ta'tilni tayinlang addEventToUserCP=Ta'tilni tayinlang -NotTheAssignedApprover=You are not the assigned approver +NotTheAssignedApprover=Siz tayinlangan tasdiqlovchi emassiz MotifCP=Sabab UserCP=Foydalanuvchi ErrorAddEventToUserCP=Istisno ta'tilini qo'shishda xatolik yuz berdi. @@ -95,14 +95,14 @@ HolidaysCancelation=So'rovni bekor qilishni qoldiring EmployeeLastname=Xodimning familiyasi EmployeeFirstname=Xodimning ismi TypeWasDisabledOrRemoved=Dam olish turi (id %s) o'chirilgan yoki olib tashlangan -LastHolidays=Latest %s leave requests -AllHolidays=All leave requests -HalfDay=Half day -NotTheAssignedApprover=You are not the assigned approver -LEAVE_PAID=Paid vacation -LEAVE_SICK=Sick leave -LEAVE_OTHER=Other leave -LEAVE_PAID_FR=Paid vacation +LastHolidays=Oxirgi %s ta'til so'rovlari +AllHolidays=Barcha ta'til bo'yicha so'rovlar +HalfDay=Yarim kun +NotTheAssignedApprover=Siz tayinlangan tasdiqlovchi emassiz +LEAVE_PAID=Pullik ta'til +LEAVE_SICK=Kasallik ta'tili +LEAVE_OTHER=Boshqa ta'til +LEAVE_PAID_FR=Pullik ta'til ## Configuration du Module ## LastUpdateCP=Ta'tilni ajratishni oxirgi avtomatik yangilash MonthOfLastMonthlyUpdate=Ta'tilni oxirgi avtomatik yangilash oyi @@ -125,10 +125,10 @@ HolidaysCanceledBody=%s dan %s uchun ta'til so'rovingiz bekor qilindi. FollowedByACounter=1: ushbu ta'tilni hisoblagich bilan kuzatib borish kerak. Hisoblagich qo'lda yoki avtomatik ravishda oshiriladi va ta'til so'rovi tasdiqlanganda hisoblagich kamayadi.
0: Hisoblagich kuzatilmaydi. NoLeaveWithCounterDefined=Hisoblagich bilan ta'qib qilinishi kerak bo'lgan ta'til turlari mavjud emas GoIntoDictionaryHolidayTypes= ga kiring Bosh sahifa - O'rnatish - Lug'atlar - Har xil turdagi barglarni sozlash uchun ta'til turi . -HolidaySetup=Setup of module Leave -HolidaysNumberingModules=Numbering models for leave requests -TemplatePDFHolidays=Template for leave requests PDF -FreeLegalTextOnHolidays=Free text on PDF -WatermarkOnDraftHolidayCards=Watermarks on draft leave requests -HolidaysToApprove=Holidays to approve -NobodyHasPermissionToValidateHolidays=Nobody has permission to validate holidays +HolidaySetup=Modulni tark etish sozlamalari +HolidaysNumberingModules=Ta'til so'rovlari uchun raqamlarni raqamlash +TemplatePDFHolidays=PDF ta'tilga chiqish so'rovlari uchun shablon +FreeLegalTextOnHolidays=PDF-dagi bepul matn +WatermarkOnDraftHolidayCards=Dam olish ta'tiliga yuborilgan so'rovlar bo'yicha moybo'yoqli belgilar +HolidaysToApprove=Bayramlarni tasdiqlash +NobodyHasPermissionToValidateHolidays=Bayramlarni tasdiqlash uchun hech kimning ruxsati yo'q diff --git a/htdocs/langs/uz_UZ/hrm.lang b/htdocs/langs/uz_UZ/hrm.lang index f836bf9d263..d638ebe3039 100644 --- a/htdocs/langs/uz_UZ/hrm.lang +++ b/htdocs/langs/uz_UZ/hrm.lang @@ -9,11 +9,11 @@ ConfirmDeleteEstablishment=Ushbu muassasa o'chirilishini xohlaysizmi? OpenEtablishment=Ochiq muassasa CloseEtablishment=Yaqin muassasasi # Dictionary -DictionaryPublicHolidays=Leave - Public holidays +DictionaryPublicHolidays=Ta'til - rasmiy bayramlar DictionaryDepartment=HRM - bo'limlar ro'yxati DictionaryFunction=HRM - ish joylari # Module Employees=Xodimlar Employee=Xodim NewEmployee=Yangi ishchi -ListOfEmployees=List of employees +ListOfEmployees=Xodimlar ro'yxati diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index 4c78e696d98..0bb3ed8d3c4 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -6,23 +6,23 @@ ConfFileDoesNotExistsAndCouldNotBeCreated= %s konfiguratsiya fayli mavju ConfFileCouldBeCreated= %s konfiguratsiya fayli yaratilishi mumkin. ConfFileIsNotWritable= %s konfiguratsiya fayli yozib bo'lmaydi. Ruxsatlarni tekshiring. Birinchi o'rnatish uchun veb-serveringiz ushbu faylga konfiguratsiya jarayonida yozish imkoniyatiga ega bo'lishi kerak ("chmod 666", masalan OS kabi Unix-da). ConfFileIsWritable= %s konfiguratsiya fayli yozilishi mumkin. -ConfFileMustBeAFileNotADir=Configuration file %s must be a file, not a directory. +ConfFileMustBeAFileNotADir=Konfiguratsiya fayli %s fayl bo'lishi kerak, katalog emas. ConfFileReload=Parametrlarni konfiguratsiya faylidan qayta yuklash. PHPSupportPOSTGETOk=Ushbu PHP POST va GET o'zgaruvchilarini qo'llab-quvvatlaydi. PHPSupportPOSTGETKo=PHP sozlamangiz POST va / yoki GET o'zgaruvchilarini qo'llab-quvvatlamasligi mumkin. Php.ini da variables_order parametrini tekshiring. PHPSupportSessions=Ushbu PHP sessiyalarni qo'llab-quvvatlaydi. -PHPSupport=This PHP supports %s functions. +PHPSupport=Ushbu PHP %s funktsiyalarini qo'llab-quvvatlaydi. PHPMemoryOK=Sizning PHP maksimal sessiya xotirangiz %s ga o'rnatildi. Bu etarli bo'lishi kerak. PHPMemoryTooLow=PHP max sessiya xotirasi %s baytga o'rnatilgan. Bu juda past. php.ini ni o'zgartiring memory_limit parametrini kamida %s Recheck=Batafsil sinov uchun bu erni bosing ErrorPHPDoesNotSupportSessions=PHP o'rnatishingiz seanslarni qo'llab-quvvatlamaydi. Ushbu xususiyat Dolibarr ishlashiga ruxsat berish uchun talab qilinadi. PHP-ni sozlashni va sessiyalar katalogining ruxsatlarini tekshiring. ErrorPHPDoesNotSupportGD=PHP o'rnatishingiz GD grafik funktsiyalarini qo'llab-quvvatlamaydi. Hech qanday grafik mavjud bo'lmaydi. ErrorPHPDoesNotSupportCurl=PHP o'rnatishingiz Curl-ni qo'llab-quvvatlamaydi. -ErrorPHPDoesNotSupportCalendar=Your PHP installation does not support php calendar extensions. +ErrorPHPDoesNotSupportCalendar=PHP o'rnatishingiz PHP kalendar kengaytmalarini qo'llab-quvvatlamaydi. ErrorPHPDoesNotSupportUTF8=PHP o'rnatishingiz UTF8 funktsiyalarini qo'llab-quvvatlamaydi. Dolibarr to'g'ri ishlay olmaydi. Dolibarr dasturini o'rnatishdan oldin buni hal qiling. -ErrorPHPDoesNotSupportIntl=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. +ErrorPHPDoesNotSupportIntl=PHP o'rnatishingiz Intl funktsiyalarini qo'llab-quvvatlamaydi. +ErrorPHPDoesNotSupportxDebug=PHP o'rnatishingiz kengaytirilgan disk raskadrovka funktsiyalarini qo'llab-quvvatlamaydi. +ErrorPHPDoesNotSupport=PHP o'rnatishingiz %s funktsiyalarini qo'llab-quvvatlamaydi. ErrorDirDoesNotExists=%s katalogi mavjud emas. ErrorGoBackAndCorrectParameters=Orqaga qayting va parametrlarni tekshiring / to'g'rilang. ErrorWrongValueForParameter=Siz '%s' parametri uchun noto'g'ri qiymat yozgan bo'lishingiz mumkin. @@ -52,7 +52,7 @@ ServerPortDescription=Ma'lumotlar bazasi server porti. Agar noma'lum bo'lsa, bo' DatabaseServer=Ma'lumotlar bazasi serveri DatabaseName=Ma'lumotlar bazasi nomi DatabasePrefix=Ma'lumotlar bazasi jadvali prefiksi -DatabasePrefixDescription=Database table prefix. If empty, defaults to llx_. +DatabasePrefixDescription=Ma'lumotlar bazasi jadvali prefiksi. Bo'sh bo'lsa, sukut bo'yicha llx_. AdminLogin=Dolibarr ma'lumotlar bazasi egasi uchun foydalanuvchi qayd yozuvi. PasswordAgain=Parolni tasdiqlashni qayta kiriting AdminPassword=Dolibarr ma'lumotlar bazasi egasi uchun parol. @@ -142,10 +142,10 @@ KeepDefaultValuesWamp=Siz DoliWamp-dan Dolibarrni sozlash ustasini ishlatdingiz, KeepDefaultValuesDeb=Siz Dolibarrni o'rnatish ustasini Linux paketidan ishlatdingiz (Ubuntu, Debian, Fedora ...), shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Yaratish uchun faqat ma'lumotlar bazasi egasining parolini kiritish kerak. Faqat nima qilayotganingizni bilsangizgina boshqa parametrlarni o'zgartiring. KeepDefaultValuesMamp=Siz DoliMamp-dan Dolibarrni sozlash ustasini ishlatdingiz, shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Siz nima qilayotganingizni bilsangizgina ularni o'zgartiring. KeepDefaultValuesProxmox=Siz Dolibarrni sozlash ustasini Proxmox virtual uskunasidan foydalandingiz, shuning uchun bu erda tavsiya etilgan qiymatlar allaqachon optimallashtirilgan. Siz nima qilayotganingizni bilsangizgina ularni o'zgartiring. -UpgradeExternalModule=Run dedicated upgrade process of external module -SetAtLeastOneOptionAsUrlParameter=Set at least one option as a parameter in URL. For example: '...repair.php?standard=confirmed' -NothingToDelete=Nothing to clean/delete -NothingToDo=Nothing to do +UpgradeExternalModule=Tashqi modulni maxsus yangilash jarayonini boshqaring +SetAtLeastOneOptionAsUrlParameter=URL-da parametr sifatida kamida bitta variantni o'rnating. Masalan: '... repair.php? Standart = tasdiqlangan' +NothingToDelete=Tozalash / o'chirish uchun hech narsa yo'q +NothingToDo=Qiladigan ish yo'q ######### # upgrade MigrationFixData=Normalizatsiya qilingan ma'lumotlar uchun tuzatish @@ -197,21 +197,22 @@ MigrationActioncommElement=Amallar to'g'risidagi ma'lumotlarni yangilang MigrationPaymentMode=To'lov turi bo'yicha ma'lumotlar migratsiyasi MigrationCategorieAssociation=Kategoriyalar migratsiyasi MigrationEvents=Voqealar egasini tayinlash jadvaliga qo'shish uchun hodisalarning ko'chishi -MigrationEventsContact=Migration of events to add event contact into assignment table +MigrationEventsContact=Voqealar aloqasini tayinlash jadvaliga qo'shish uchun voqealarning ko'chishi MigrationRemiseEntity=Llx_societe_remise ob'ekti maydon qiymatini yangilang MigrationRemiseExceptEntity=Llx_societe_remise_except mavjudlik maydon qiymatini yangilang -MigrationUserRightsEntity=Update entity field value of llx_user_rights -MigrationUserGroupRightsEntity=Update entity field value of llx_usergroup_rights -MigrationUserPhotoPath=Migration of photo paths for users -MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) +MigrationUserRightsEntity=Llx_user_rights sub'ektining maydon qiymatini yangilang +MigrationUserGroupRightsEntity=Llx_usergroup_rights sub'ektining maydon qiymatini yangilang +MigrationUserPhotoPath=Foydalanuvchilar uchun fotosurat yo'llarining ko'chishi +MigrationFieldsSocialNetworks=Ijtimoiy tarmoqlarda foydalanuvchilarning migratsiyasi (%s) MigrationReloadModule=%s modulini qayta yuklang -MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationResetBlockedLog=V7 algoritmi uchun BlockedLog modulini tiklash +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Mavjud bo'lmagan variantlarni ko'rsating HideNotAvailableOptions=Mavjud bo'lmagan variantlarni yashirish ErrorFoundDuringMigration=Migratsiya jarayonida xato (lar) haqida xabar berilgan, shuning uchun keyingi qadam mavjud emas. Xatolarni e'tiborsiz qoldirish uchun siz tugmachasini bosishingiz mumkin, ammo xatolar echilmaguncha dastur yoki ba'zi funktsiyalar to'g'ri ishlamasligi mumkin. -YouTryInstallDisabledByDirLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (directory renamed with .lock suffix).
-YouTryInstallDisabledByFileLock=The application tried to self-upgrade, but the install/upgrade pages have been disabled for security (by the existence of a lock file install.lock in the dolibarr documents directory).
-ClickHereToGoToApp=Click here to go to your application -ClickOnLinkOrRemoveManualy=If an upgrade is in progress, please wait. If not, click on the following link. If you always see this same page, you must remove/rename the file install.lock in the documents directory. -Loaded=Loaded -FunctionTest=Function test +YouTryInstallDisabledByDirLock=Ilova o'z-o'zini yangilashga harakat qildi, lekin xavfsizlik / o'rnatish uchun sahifalar o'chirildi (katalog nomi .lock qo'shimchasi bilan o'zgartirildi).
+YouTryInstallDisabledByFileLock=Ilova o'zini o'zi yangilashga harakat qildi, lekin xavfsizlik / o'rnatish uchun sahifalar o'chirilgan (dolibarr hujjatlar katalogida install.lock blokirovka fayli mavjudligi sababli).
+ClickHereToGoToApp=Arizangizga o'tish uchun shu erni bosing +ClickOnLinkOrRemoveManualy=Agar yangilanish davom etayotgan bo'lsa, iltimos, kuting. Agar yo'q bo'lsa, quyidagi havolani bosing. Agar siz doimo shu sahifani ko'rsangiz, hujjatlar katalogidagi install.lock faylini olib tashlashingiz yoki nomini o'zgartirishingiz kerak. +Loaded=Yuklandi +FunctionTest=Funktsiya sinovi diff --git a/htdocs/langs/uz_UZ/interventions.lang b/htdocs/langs/uz_UZ/interventions.lang index 93cef2c595c..073442f5831 100644 --- a/htdocs/langs/uz_UZ/interventions.lang +++ b/htdocs/langs/uz_UZ/interventions.lang @@ -4,7 +4,7 @@ Interventions=Aralashuvlar InterventionCard=Interventsiya kartasi NewIntervention=Yangi aralashuv AddIntervention=Aralashuvni yarating -ChangeIntoRepeatableIntervention=Change to repeatable intervention +ChangeIntoRepeatableIntervention=Takrorlanadigan aralashuvga o'ting ListOfInterventions=Tadbirlar ro'yxati ActionsOnFicheInter=Aralashish bo'yicha harakatlar LastInterventions=Oxirgi %s aralashuvlari @@ -45,24 +45,24 @@ TypeContact_fichinter_external_CUSTOMER=Keyingi mijozlar bilan aloqa PrintProductsOnFichinter=Interventsiya kartasida "mahsulot" (nafaqat xizmatlar) turidagi qatorlarni chop eting PrintProductsOnFichinterDetails=buyurtmalardan kelib chiqadigan aralashuvlar UseServicesDurationOnFichinter=Buyurtmalar natijasida yuzaga keladigan aralashuvlar uchun xizmatlarning davomiyligidan foydalaning -UseDurationOnFichinter=Hides the duration field for intervention records -UseDateWithoutHourOnFichinter=Hides hours and minutes off the date field for intervention records +UseDurationOnFichinter=Interventsiya yozuvlari davomiyligini yashiradi +UseDateWithoutHourOnFichinter=Interventsiya yozuvlari uchun sana maydonidan tashqarida soat va daqiqalarni yashiradi InterventionStatistics=Ta'sirlarning statistikasi NbOfinterventions=Interventsiya kartalari soni NumberOfInterventionsByMonth=Oy bo'yicha aralashuv kartalarining soni (tasdiqlangan sana) -AmountOfInteventionNotIncludedByDefault=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. +AmountOfInteventionNotIncludedByDefault=Interventsiya miqdori sukut bo'yicha foydaga qo'shilmaydi (ko'p hollarda ish vaqt jadvallari sarflangan vaqtni hisoblash uchun ishlatiladi). 1-ga PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT variantini qo'shib qo'yish uchun ularni uyga o'rnatish-ga qo'shing. InterId=Interferentsiya id InterRef=Aralashish ref. InterDateCreation=Sana yaratishga aralashish InterDuration=Davomiylik aralashuvi InterStatus=Holat aralashuvi InterNote=Aralashuvga e'tibor bering -InterLine=Line of intervention +InterLine=Aralashish liniyasi InterLineId=Chiziq identifikatori aralashuvi InterLineDate=Qator sana aralashuvi InterLineDuration=Chiziq davomiyligi aralashuvi InterLineDesc=Chiziq ta'rifi aralashuvi -RepeatableIntervention=Template of intervention -ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template -Reopen=Reopen -ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? +RepeatableIntervention=Interventsiya shabloni +ToCreateAPredefinedIntervention=Oldindan belgilangan yoki takrorlanadigan aralashuvni yaratish uchun umumiy aralashuvni yarating va uni aralashuv shabloniga o'zgartiring +Reopen=Qayta oching +ConfirmReopenIntervention=Siz aralashuvni qayta ochishni xohlaysizmi %s ? diff --git a/htdocs/langs/uz_UZ/intracommreport.lang b/htdocs/langs/uz_UZ/intracommreport.lang index 3060300b974..dbdcf74a7fb 100644 --- a/htdocs/langs/uz_UZ/intracommreport.lang +++ b/htdocs/langs/uz_UZ/intracommreport.lang @@ -1,40 +1,40 @@ -Module68000Name = Intracomm report -Module68000Desc = Intracomm report management (Support for French DEB/DES format) -IntracommReportSetup = Intracommreport module setup -IntracommReportAbout = About intracommreport +Module68000Name = Ichki hisobot +Module68000Desc = Ichki hisobotlarni boshqarish (Frantsiyaning DEB / DES formatini qo'llab-quvvatlash) +IntracommReportSetup = Hisobot ichidagi modulni sozlash +IntracommReportAbout = Intracommreport haqida # Setup INTRACOMMREPORT_NUM_AGREMENT=Numéro d'agrément (délivré par le CISD de rattachement) -INTRACOMMREPORT_TYPE_ACTEUR=Type d'acteur +INTRACOMMREPORT_TYPE_ACTEUR=D'acteur yozing INTRACOMMREPORT_ROLE_ACTEUR=Rôle joué par l'acteur -INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les introductions +INTRACOMMREPORT_NIV_OBLIGATION_INTRODUCTION=Niveau d'obligation sur les kirishlari INTRACOMMREPORT_NIV_OBLIGATION_EXPEDITION=Niveau d'obligation sur les expéditions -INTRACOMMREPORT_CATEG_FRAISDEPORT=Catégorie de services de type "Frais de port" +INTRACOMMREPORT_CATEG_FRAISDEPORT="Frais de port" turidagi xizmatlar INTRACOMMREPORT_NUM_DECLARATION=Numéro de déclarant # Menu -MenuIntracommReport=Intracomm report -MenuIntracommReportNew=New declaration -MenuIntracommReportList=List +MenuIntracommReport=Ichki hisobot +MenuIntracommReportNew=Yangi deklaratsiya +MenuIntracommReportList=Ro'yxat # View -NewDeclaration=New declaration -Declaration=Declaration -AnalysisPeriod=Analysis period -TypeOfDeclaration=Type of declaration -DEB=Goods exchange declaration (DEB) -DES=Services exchange declaration (DES) +NewDeclaration=Yangi deklaratsiya +Declaration=Deklaratsiya +AnalysisPeriod=Tahlil davri +TypeOfDeclaration=Deklaratsiya turi +DEB=Tovarlar almashinuvi to'g'risidagi deklaratsiya (DEB) +DES=Xizmatlar almashinuvi to'g'risidagi deklaratsiya (DES) # Export page -IntracommReportTitle=Preparation of an XML file in ProDouane format +IntracommReportTitle=ProDouane formatida XML faylini tayyorlash # List -IntracommReportList=List of generated declarations -IntracommReportNumber=Numero of declaration -IntracommReportPeriod=Period of nalysis -IntracommReportTypeDeclaration=Type of declaration -IntracommReportDownload=download XML file +IntracommReportList=Yaratilgan deklaratsiyalar ro'yxati +IntracommReportNumber=Deklaratsiya raqami +IntracommReportPeriod=Tahlil davri +IntracommReportTypeDeclaration=Deklaratsiya turi +IntracommReportDownload=XML faylini yuklab oling # Invoice -IntracommReportTransportMode=Transport mode +IntracommReportTransportMode=Transport rejimi diff --git a/htdocs/langs/uz_UZ/knowledgemanagement.lang b/htdocs/langs/uz_UZ/knowledgemanagement.lang index 68f5cced76c..c8b544971f9 100644 --- a/htdocs/langs/uz_UZ/knowledgemanagement.lang +++ b/htdocs/langs/uz_UZ/knowledgemanagement.lang @@ -18,38 +18,32 @@ # # Module label 'ModuleKnowledgeManagementName' -ModuleKnowledgeManagementName = Knowledge Management System +ModuleKnowledgeManagementName = Bilimlarni boshqarish tizimi # Module description 'ModuleKnowledgeManagementDesc' -ModuleKnowledgeManagementDesc=Manage a Knowledge Management (KM) or Help-Desk base +ModuleKnowledgeManagementDesc=Bilimlarni boshqarish (KM) yoki Help-Desk bazasini boshqarish # # Admin page # -KnowledgeManagementSetup = Knowledge Management System setup -Settings = Settings -KnowledgeManagementSetupPage = Knowledge Management System setup page +KnowledgeManagementSetup = Bilimlarni boshqarish tizimini sozlash +Settings = Sozlamalar +KnowledgeManagementSetupPage = Bilimlarni boshqarish tizimini sozlash sahifasi # # About page # -About = About -KnowledgeManagementAbout = About Knowledge Management -KnowledgeManagementAboutPage = Knowledge Management about page +About = Haqida +KnowledgeManagementAbout = Bilimlarni boshqarish to'g'risida +KnowledgeManagementAboutPage = Sahifadagi bilimlarni boshqarish -# -# Sample page -# -KnowledgeManagementArea = Knowledge Management - - -# -# Menu -# -MenuKnowledgeRecord = Knowledge base -ListKnowledgeRecord = List of articles -NewKnowledgeRecord = New article -ValidateReply = Validate solution -KnowledgeRecords = Articles -KnowledgeRecord = Article -KnowledgeRecordExtraFields = Extrafields for Article +KnowledgeManagementArea = Bilimlarni boshqarish +MenuKnowledgeRecord = Bilimlar bazasi +ListKnowledgeRecord = Maqolalar ro'yxati +NewKnowledgeRecord = Yangi maqola +ValidateReply = Eritmani tasdiqlang +KnowledgeRecords = Maqolalar +KnowledgeRecord = Maqola +KnowledgeRecordExtraFields = Maqola uchun qo'shimcha joylar +GroupOfTicket=Chiptalar guruhi +YouCanLinkArticleToATicketCategory=Siz maqolani chiptalar guruhiga bog'lashingiz mumkin (shuning uchun maqola yangi chiptalarni saralash paytida taklif qilinadi) diff --git a/htdocs/langs/uz_UZ/languages.lang b/htdocs/langs/uz_UZ/languages.lang index 01fe39dec43..e9108eee59b 100644 --- a/htdocs/langs/uz_UZ/languages.lang +++ b/htdocs/langs/uz_UZ/languages.lang @@ -1,12 +1,13 @@ # Dolibarr language file - Source file is en_US - languages -Language_am_ET=Ethiopian +Language_am_ET=Efiopiya Language_ar_AR=Arabcha -Language_ar_EG=Arabic (Egypt) +Language_ar_EG=Arab (Misr) Language_ar_SA=Arabcha -Language_ar_TN=Arabic (Tunisia) -Language_az_AZ=Azerbaijani +Language_ar_TN=Arab (Tunis) +Language_ar_IQ=Arab (Iroq) +Language_az_AZ=Ozarbayjon Language_bn_BD=Bengal tili -Language_bn_IN=Bengali (India) +Language_bn_IN=Bengal (Hindiston) Language_bg_BG=Bolgar Language_bs_BA=Bosniya Language_ca_ES=Kataloniya @@ -24,7 +25,7 @@ Language_en_GB=Ingliz (Buyuk Britaniya) Language_en_IN=Ingliz (Hindiston) Language_en_NZ=Ingliz (Yangi Zelandiya) Language_en_SA=Ingliz tili (Saudiya Arabistoni) -Language_en_SG=English (Singapore) +Language_en_SG=Ingliz (Singapur) Language_en_US=Ingliz (Amerika Qo'shma Shtatlari) Language_en_ZA=Ingliz (Janubiy Afrika) Language_es_ES=Ispaniya @@ -34,16 +35,16 @@ Language_es_CL=Ispan (Chili) Language_es_CO=Ispan (Kolumbiya) Language_es_DO=Ispaniya (Dominik Respublikasi) Language_es_EC=Ispan (Ekvador) -Language_es_GT=Spanish (Guatemala) +Language_es_GT=Ispan (Gvatemala) Language_es_HN=Ispan (Gonduras) Language_es_MX=Ispan (Meksika) Language_es_PA=Ispan (Panama) Language_es_PY=Ispan (Paragvay) Language_es_PE=Ispan (Peru) Language_es_PR=Ispan (Puerto-Riko) -Language_es_US=Spanish (USA) -Language_es_UY=Spanish (Uruguay) -Language_es_GT=Spanish (Guatemala) +Language_es_US=Ispan (AQSh) +Language_es_UY=Ispan (Urugvay) +Language_es_GT=Ispan (Gvatemala) Language_es_VE=Ispan (Venesuela) Language_et_EE=Estoniya Language_eu_ES=Bask @@ -52,22 +53,22 @@ Language_fi_FI=Finlyandiya Language_fr_BE=Frantsuz (Belgiya) Language_fr_CA=Frantsuz (Kanada) Language_fr_CH=Frantsuz (Shveytsariya) -Language_fr_CI=French (Cost Ivory) -Language_fr_CM=French (Cameroun) +Language_fr_CI=Frantsuz (Fil suyagi) +Language_fr_CM=Frantsuz (Kamerun) Language_fr_FR=Frantsuzcha -Language_fr_GA=French (Gabon) +Language_fr_GA=Frantsuz (Gabon) Language_fr_NC=Frantsuz (Yangi Kaledoniya) -Language_fr_SN=French (Senegal) +Language_fr_SN=Frantsuz (Senegal) Language_fy_NL=Friz -Language_gl_ES=Galician +Language_gl_ES=Galisiya Language_he_IL=Ibroniycha -Language_hi_IN=Hindi (India) +Language_hi_IN=Hind (Hindiston) Language_hr_HR=Xorvat Language_hu_HU=Venger Language_id_ID=Indoneziyalik Language_is_IS=Islandcha Language_it_IT=Italyancha -Language_it_CH=Italian (Switzerland) +Language_it_CH=Italiya (Shveytsariya) Language_ja_JP=Yapon Language_ka_GE=Gruzin Language_km_KH=Kxmer @@ -79,13 +80,14 @@ Language_lv_LV=Latviya Language_mk_MK=Makedoniya Language_mn_MN=Mo'g'ul Language_nb_NO=Norvegiya (Bokmal) -Language_ne_NP=Nepali +Language_ne_NP=Nepal Language_nl_BE=Golland (Belgiya) Language_nl_NL=Golland Language_pl_PL=Polsha +Language_pt_AO=Portugal (Angola) Language_pt_BR=Portugal (Braziliya) Language_pt_PT=Portugal -Language_ro_MD=Romanian (Moldavia) +Language_ro_MD=Rumin (Moldaviya) Language_ro_RO=Rumin Language_ru_RU=Ruscha Language_ru_UA=Rus (Ukraina) @@ -103,5 +105,5 @@ Language_uz_UZ=O'zbek Language_vi_VN=Vetnam Language_zh_CN=Xitoy Language_zh_TW=Xitoy (an'anaviy) -Language_zh_HK=Chinese (Hong Kong) -Language_bh_MY=Malay +Language_zh_HK=Xitoy (Gonkong) +Language_bh_MY=Malaycha diff --git a/htdocs/langs/uz_UZ/ldap.lang b/htdocs/langs/uz_UZ/ldap.lang index 62eeae4b2e0..4ec26b1662a 100644 --- a/htdocs/langs/uz_UZ/ldap.lang +++ b/htdocs/langs/uz_UZ/ldap.lang @@ -5,7 +5,7 @@ LDAPInformationsForThisContact=Ushbu aloqa uchun LDAP ma'lumotlar bazasidagi ma' LDAPInformationsForThisUser=Ushbu foydalanuvchi uchun LDAP ma'lumotlar bazasidagi ma'lumotlar LDAPInformationsForThisGroup=Ushbu guruh uchun LDAP ma'lumotlar bazasidagi ma'lumotlar LDAPInformationsForThisMember=Ushbu a'zo uchun LDAP ma'lumotlar bazasidagi ma'lumotlar -LDAPInformationsForThisMemberType=Information in LDAP database for this member type +LDAPInformationsForThisMemberType=Ushbu a'zoning turi uchun LDAP ma'lumotlar bazasidagi ma'lumotlar LDAPAttributes=LDAP atributlari LDAPCard=LDAP karta LDAPRecordNotFound=Yozuv LDAP ma'lumotlar bazasida topilmadi @@ -20,8 +20,8 @@ LDAPFieldSkypeExample=Misol: skypeName UserSynchronized=Foydalanuvchi sinxronlashtirildi GroupSynchronized=Guruh sinxronlashtirildi MemberSynchronized=A'zo sinxronlashtirildi -MemberTypeSynchronized=Member type synchronized +MemberTypeSynchronized=Ro'yxatdan turi sinxronlashtirildi ContactSynchronized=Aloqa sinxronlashtirildi ForceSynchronize=Dolibarr -> LDAP-ni sinxronlashtirishni majburlash ErrorFailedToReadLDAP=LDAP ma'lumotlar bazasini o'qib bo'lmadi. LDAP modulini sozlashni va ma'lumotlar bazasiga kirishni tekshiring. -PasswordOfUserInLDAP=Password of user in LDAP +PasswordOfUserInLDAP=LDAP-dagi foydalanuvchi paroli diff --git a/htdocs/langs/uz_UZ/link.lang b/htdocs/langs/uz_UZ/link.lang index a77848aedd1..e37e7f0be18 100644 --- a/htdocs/langs/uz_UZ/link.lang +++ b/htdocs/langs/uz_UZ/link.lang @@ -8,4 +8,4 @@ LinkRemoved=%s havolasi o'chirildi ErrorFailedToDeleteLink= ' %s ' havolasi o'chirilmadi ErrorFailedToUpdateLink= ' %s ' havolasi yangilanmadi URLToLink=Ulanish uchun URL -OverwriteIfExists=Overwrite file if exists +OverwriteIfExists=Agar mavjud bo'lsa, faylni qayta yozing diff --git a/htdocs/langs/uz_UZ/loan.lang b/htdocs/langs/uz_UZ/loan.lang index 208c1cd040b..204de3d76eb 100644 --- a/htdocs/langs/uz_UZ/loan.lang +++ b/htdocs/langs/uz_UZ/loan.lang @@ -10,7 +10,7 @@ LoanCapital=Poytaxt Insurance=Sug'urta Interest=Qiziqish Nbterms=Shartlar soni -Term=Term +Term=Muddat LoanAccountancyCapitalCode=Buxgalteriya hisobi kapitali LoanAccountancyInsuranceCode=Buxgalteriya hisobini sug'urtalash LoanAccountancyInterestCode=Buxgalteriya hisobining foizlari @@ -19,16 +19,16 @@ LoanDeleted=Kredit muvaffaqiyatli o'chirildi ConfirmPayLoan=Ushbu kreditni to'langanligini tasdiqlang LoanPaid=Kredit to'langan ListLoanAssociatedProject=Loyiha bilan bog'liq kreditlar ro'yxati -AddLoan=Create loan -FinancialCommitment=Financial commitment -InterestAmount=Interest -CapitalRemain=Capital remain -TermPaidAllreadyPaid = This term is allready paid -CantUseScheduleWithLoanStartedToPaid = Can't use scheduler for a loan with payment started -CantModifyInterestIfScheduleIsUsed = You can't modify interest if you use schedule +AddLoan=Kredit yaratish +FinancialCommitment=Moliyaviy majburiyat +InterestAmount=Qiziqish +CapitalRemain=Kapital qoladi +TermPaidAllreadyPaid = Ushbu muddat allaqachon to'langan +CantUseScheduleWithLoanStartedToPaid = To'lov boshlangan kredit uchun rejalashtiruvchidan foydalanib bo'lmaydi +CantModifyInterestIfScheduleIsUsed = Agar jadvaldan foydalansangiz, foizlarni o'zgartira olmaysiz # Admin ConfigLoan=Modulli kreditni sozlash LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Sukut bo'yicha buxgalteriya hisobi kapitali LOAN_ACCOUNTING_ACCOUNT_INTEREST=Sukut bo'yicha buxgalteriya hisobi foizlari LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Sukut bo'yicha buxgalteriya hisobini sug'urtalash -CreateCalcSchedule=Edit financial commitment +CreateCalcSchedule=Moliyaviy majburiyatni tahrirlash diff --git a/htdocs/langs/uz_UZ/mails.lang b/htdocs/langs/uz_UZ/mails.lang index dc1f71e7cb8..da80f446e87 100644 --- a/htdocs/langs/uz_UZ/mails.lang +++ b/htdocs/langs/uz_UZ/mails.lang @@ -11,16 +11,16 @@ MailFrom=Yuboruvchi MailErrorsTo=Xatolar MailReply=Ga javob MailTo=Qabul qiluvchilar (lar) -MailToUsers=To user(s) +MailToUsers=Foydalanuvchi (lar) ga MailCC=Nusxalash -MailToCCUsers=Copy to users(s) +MailToCCUsers=Foydalanuvchilar (lar) ga nusxalash MailCCC=Keshlangan nusxa MailTopic=Elektron pochta mavzusi MailText=Xabar MailFile=Biriktirilgan fayllar MailMessage=Elektron pochta qutisi -SubjectNotIn=Not in Subject -BodyNotIn=Not in Body +SubjectNotIn=Mavzuda emas +BodyNotIn=Tanada emas ShowEMailing=Elektron pochta xabarlarini ko'rsatish ListOfEMailings=Elektron pochta xabarlari ro'yxati NewMailing=Yangi elektron pochta xabarlari @@ -53,7 +53,7 @@ NbOfUniqueEMails=Noyob elektron pochta xabarlari soni NbOfEMails=Elektron pochta xabarlari soni TotalNbOfDistinctRecipients=Alohida qabul qiluvchilar soni NoTargetYet=Qabul qiluvchilar aniqlanmagan ("Qabul qiluvchilar" yorlig'iga o'ting) -NoRecipientEmail=No recipient email for %s +NoRecipientEmail=%s uchun qabul qiluvchi elektron pochtasi yo'q RemoveRecipient=Qabul qiluvchini olib tashlash YouCanAddYourOwnPredefindedListHere=Elektron pochta tanlov modulini yaratish uchun htdocs / core / modules / mailings / README-ga qarang. EMailTestSubstitutionReplacedByGenericValues=Sinov rejimidan foydalanganda almashtirish o'zgaruvchilari umumiy qiymatlar bilan almashtiriladi @@ -74,25 +74,25 @@ EMailSentForNElements=%s elementlari uchun elektron pochta xabarlari yuborildi. XTargetsAdded= %s oluvchilar maqsadlar ro'yxatiga qo'shildi OnlyPDFattachmentSupported=Agar PDF hujjatlari ob'ektlarni yuborish uchun allaqachon yaratilgan bo'lsa, ular elektron pochtaga biriktiriladi. Agar bunday bo'lmasa, hech qanday elektron pochta xabarlari yuborilmaydi (shuningdek, ushbu versiyada faqat pdf hujjatlarni ommaviy yuborishda qo'shimcha sifatida qo'llab-quvvatlanishini unutmang). AllRecipientSelected=%s yozuvining oluvchilari tanlangan (agar ularning elektron pochtalari ma'lum bo'lsa). -GroupEmails=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. +GroupEmails=Guruh elektron pochta xabarlari +OneEmailPerRecipient=Qabul qiluvchiga bitta elektron pochta (sukut bo'yicha, bitta yozuv uchun bitta elektron pochta tanlangan) +WarningIfYouCheckOneRecipientPerEmail=Ogohlantirish, agar siz ushbu katakchani belgilasangiz, demak, tanlangan bir nechta turli xil yozuvlar uchun faqat bitta elektron pochta xabar yuboriladi, shuning uchun agar sizning xabaringizda yozuv ma'lumotlariga tegishli bo'lgan almashtirish o'zgaruvchilari bo'lsa, ularni almashtirish imkonsiz bo'lib qoladi. ResultOfMailSending=Ommaviy elektron pochta xabarlarini yuborish natijasi NbSelected=Raqam tanlandi NbIgnored=Raqam hisobga olinmadi NbSent=Raqam yuborildi -SentXXXmessages=%s message(s) sent. +SentXXXmessages=%s xabar (lar) yuborildi. ConfirmUnvalidateEmailing= %s elektron pochtasini qoralama holatiga o'zgartirishni xohlaysizmi? MailingModuleDescContactsWithThirdpartyFilter=Mijozlar filtrlari bilan bog'laning MailingModuleDescContactsByCompanyCategory=Uchinchi tomon toifalari bo'yicha aloqalar MailingModuleDescContactsByCategory=Kategoriyalar bo'yicha aloqalar MailingModuleDescContactsByFunction=Kontaktlar joylashuvi bo'yicha -MailingModuleDescEmailsFromFile=Emails from file -MailingModuleDescEmailsFromUser=Emails input by user -MailingModuleDescDolibarrUsers=Users with Emails -MailingModuleDescThirdPartiesByCategories=Third parties (by categories) -SendingFromWebInterfaceIsNotAllowed=Sending from web interface is not allowed. -EmailCollectorFilterDesc=All filters must match to have an email being collected +MailingModuleDescEmailsFromFile=Fayldan elektron pochta xabarlari +MailingModuleDescEmailsFromUser=Foydalanuvchi tomonidan kiritilgan elektron pochta xabarlari +MailingModuleDescDolibarrUsers=Elektron pochta xabarlari bo'lgan foydalanuvchilar +MailingModuleDescThirdPartiesByCategories=Uchinchi shaxslar (toifalar bo'yicha) +SendingFromWebInterfaceIsNotAllowed=Veb-interfeysdan yuborishga yo'l qo'yilmaydi. +EmailCollectorFilterDesc=Elektron pochta to'planishi uchun barcha filtrlar mos kelishi kerak # Libelle des modules de liste de destinataires mailing LineInFile=Faylda %s qatori @@ -126,7 +126,7 @@ TagMailtoEmail=Qabul qiluvchining elektron pochtasi (shu jumladan HTML "mailto:" NoEmailSentBadSenderOrRecipientEmail=Elektron pochta xabarlari yuborilmadi. Yuboruvchi yoki qabul qiluvchi elektron pochtasi noto'g'ri. Foydalanuvchi profilini tasdiqlang. # Module Notifications Notifications=Bildirishnomalar -NotificationsAuto=Notifications Auto. +NotificationsAuto=Bildirishnomalar avtomatik. NoNotificationsWillBeSent=Ushbu tadbir turi va kompaniya uchun avtomatik elektron pochta xabarlari rejalashtirilmagan ANotificationsWillBeSent=1 ta avtomatik bildirishnoma elektron pochta orqali yuboriladi SomeNotificationsWillBeSent=%s avtomatik xabarnomalari elektron pochta orqali yuboriladi @@ -166,14 +166,14 @@ NoContactWithCategoryFound=Kategoriya bilan aloqa / manzil topilmadi NoContactLinkedToThirdpartieWithCategoryFound=Kategoriya bilan aloqa / manzil topilmadi OutGoingEmailSetup=Chiquvchi elektron pochta xabarlari InGoingEmailSetup=Kiruvchi elektron pochta xabarlari -OutGoingEmailSetupForEmailing=Outgoing emails (for module %s) -DefaultOutgoingEmailSetup=Same configuration than the global Outgoing email setup -Information=Information -ContactsWithThirdpartyFilter=Contacts with third-party filter -Unanswered=Unanswered -Answered=Answered -IsNotAnAnswer=Is not answer (initial email) -IsAnAnswer=Is an answer of an initial email -RecordCreatedByEmailCollector=Record created by the Email Collector %s from email %s -DefaultBlacklistMailingStatus=Default contact status for refuse bulk emailing -DefaultStatusEmptyMandatory=Empty but mandatory +OutGoingEmailSetupForEmailing=Chiquvchi elektron pochta xabarlari (%s moduli uchun) +DefaultOutgoingEmailSetup=Global chiquvchi elektron pochta sozlamalariga qaraganda bir xil konfiguratsiya +Information=Ma `lumot +ContactsWithThirdpartyFilter=Uchinchi tomon filtri bilan aloqalar +Unanswered=Javob berilmagan +Answered=Javob berdi +IsNotAnAnswer=Javob berilmadi (dastlabki elektron pochta) +IsAnAnswer=Dastlabki elektron pochtaning javobi +RecordCreatedByEmailCollector=%s elektron pochtasidan elektron pochta yig'uvchisi %s tomonidan yaratilgan yozuv +DefaultBlacklistMailingStatus=Ommaviy elektron pochta xabarlarini rad etish uchun standart aloqa holati +DefaultStatusEmptyMandatory=Bo'sh, ammo majburiy diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index f241d33aa61..210dcffff78 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -27,10 +27,10 @@ DatabaseConnection=Ma'lumotlar bazasiga ulanish NoTemplateDefined=Ushbu elektron pochta turi uchun shablon mavjud emas AvailableVariables=Mavjud almashtirish o'zgaruvchilari NoTranslation=Tarjima yo'q -Translation=Translation +Translation=Tarjima CurrentTimeZone=TimeZone PHP (server) -EmptySearchString=Enter non empty search criterias -EnterADateCriteria=Enter a date criteria +EmptySearchString=Bo'sh bo'lmagan qidiruv mezonlarini kiriting +EnterADateCriteria=Sana mezonlarini kiriting NoRecordFound=Hech qanday yozuv topilmadi NoRecordDeleted=Hech qanday yozuv o'chirilmagan NotEnoughDataYet=Ma'lumot etarli emas @@ -74,31 +74,31 @@ SelectDate=Sana tanlang SeeAlso=Shuningdek qarang: %s SeeHere=Bu erga qarang ClickHere=bu yerni bosing -Here=Here +Here=Bu yerda Apply=Qo'llash BackgroundColorByDefault=Standart fon rangi FileRenamed=Fayl qayta nomlandi FileGenerated=Fayl muvaffaqiyatli yaratildi -FileSaved=The file was successfully saved +FileSaved=Fayl muvaffaqiyatli saqlandi FileUploaded=Fayl yuklandi FileTransferComplete=Fayl (lar) muvaffaqiyatli yuklandi -FilesDeleted=File(s) successfully deleted +FilesDeleted=Fayl (lar) muvaffaqiyatli o'chirildi FileWasNotUploaded=Fayl biriktirish uchun tanlangan, ammo hali yuklanmagan. Buning uchun "Faylni biriktirish" tugmasini bosing. NbOfEntries=Yozuvlar soni GoToWikiHelpPage=Onlayn yordamni o'qing (Internetga kirish kerak) GoToHelpPage=Yordamni o'qing -DedicatedPageAvailable=There is a dedicated help page related to your current screen -HomePage=Home Page +DedicatedPageAvailable=Joriy ekraningiz bilan bog'liq maxsus yordam sahifasi mavjud +HomePage=Bosh sahifa RecordSaved=Yozuv saqlandi RecordDeleted=Yozuv o'chirildi -RecordGenerated=Record generated +RecordGenerated=Yozuv yaratildi LevelOfFeature=Xususiyatlar darajasi NotDefined=Belgilanmagan DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr autentifikatsiya qilish rejimi conf.php konfiguratsiya faylida %s ga o'rnatildi.
bu shuni anglatadiki, parol ma'lumotlar bazasi Dolibarr uchun tashqi, shuning uchun bu maydonni o'zgartirish hech qanday ta'sir ko'rsatmasligi mumkin. Administrator=Ma'mur Undefined=Aniqlanmagan PasswordForgotten=Parol unutdingizmi? -NoAccount=No account? +NoAccount=Hisob yo'qmi? SeeAbove=Yuqoriga qarang HomeArea=Uy LastConnexion=Oxirgi kirish @@ -113,12 +113,12 @@ RequestLastAccessInError=Ma'lumotlar bazasiga kirish uchun so'nggi so'rov xatosi ReturnCodeLastAccessInError=So'nggi ma'lumotlar bazasiga kirish uchun so'rov xatosi uchun qaytarish kodi InformationLastAccessInError=So'nggi ma'lumotlar bazasiga kirish so'rovining xatosi haqida ma'lumot DolibarrHasDetectedError=Dolibarr texnik xatolikni aniqladi -YouCanSetOptionDolibarrMainProdToZero=You can read log file or set option $dolibarr_main_prod to '0' in your config file to get more information. +YouCanSetOptionDolibarrMainProdToZero=Qo'shimcha ma'lumot olish uchun log faylini o'qishingiz yoki konfiguratsiya faylingizda $ dolibarr_main_prod parametrini '0' ga o'rnatishingiz mumkin. InformationToHelpDiagnose=Ushbu ma'lumot diagnostika maqsadida foydali bo'lishi mumkin (bunday xabarnomalarni olib tashlash uchun $ dolibarr_main_prod parametrini '1' ga o'rnatishingiz mumkin) MoreInformation=Qo'shimcha ma'lumot TechnicalInformation=Texnik ma'lumotlar TechnicalID=Texnik guvohnoma -LineID=Line ID +LineID=Qator identifikatori NotePublic=Izoh (ommaviy) NotePrivate=Izoh (xususiy) PrecisionUnitIsLimitedToXDecimals=Dolibarr birlik narxlarining aniqligini %s o'nliklariga cheklash uchun o'rnatildi. @@ -141,15 +141,15 @@ Never=Hech qachon Under=ostida Period=Davr PeriodEndDate=Davr uchun tugash sanasi -SelectedPeriod=Selected period -PreviousPeriod=Previous period +SelectedPeriod=Tanlangan davr +PreviousPeriod=Oldingi davr Activate=Faollashtirish Activated=Faollashtirildi Closed=Yopiq Closed2=Yopiq NotClosed=Yopiq emas Enabled=Yoqilgan -Enable=Enable +Enable=Yoqish Deprecated=Eskirgan Disable=O'chirish Disabled=Nogiron @@ -159,7 +159,7 @@ RemoveLink=Havolani olib tashlash AddToDraft=Qoralamaga qo'shing Update=Yangilash Close=Yoping -CloseAs=Set status to +CloseAs=Maqomni belgilang CloseBox=Vidjetni boshqaruv panelidan olib tashlang Confirm=Tasdiqlang ConfirmSendCardByMail=Siz haqiqatan ham ushbu karta tarkibini %s manziliga pochta orqali yuborishni xohlaysizmi? @@ -172,14 +172,14 @@ Edit=Tahrirlash Validate=Tasdiqlash ValidateAndApprove=Tasdiqlang va tasdiqlang ToValidate=Tasdiqlash uchun -NotValidated=Not validated +NotValidated=Tasdiqlanmagan Save=Saqlash SaveAs=Saqlash -SaveAndStay=Save and stay -SaveAndNew=Save and new +SaveAndStay=Saqlang va qoling +SaveAndNew=Saqlang va yangi TestConnection=Sinov aloqasi ToClone=Klon -ConfirmCloneAsk=Are you sure you want to clone the object %s? +ConfirmCloneAsk= %s ob'ektini klonlashni xohlaysizmi? ConfirmClone=Klonlash uchun kerakli ma'lumotlarni tanlang: NoCloneOptionsSpecified=Klonlash uchun ma'lumot yo'q. Of=ning @@ -192,7 +192,7 @@ ShowCardHere=Kartani ko'rsatish Search=Qidirmoq SearchOf=Qidirmoq SearchMenuShortCut=Ctrl + shift + f -QuickAdd=Quick add +QuickAdd=Tez qo'shish QuickAddMenuShortCut=Ctrl + shift + l Valid=Yaroqli Approve=Tasdiqlash @@ -201,10 +201,10 @@ ReOpen=Qayta oching Upload=Yuklash ToLink=Havola Select=Tanlang -SelectAll=Select all +SelectAll=Hammasini belgilash Choose=Tanlang Resize=O'lchamini o'zgartirish -ResizeOrCrop=Resize or Crop +ResizeOrCrop=O'lchamini o'zgartirish yoki kesish Recenter=Keyingi Author=Muallif User=Foydalanuvchi @@ -216,15 +216,15 @@ Password=Parol PasswordRetype=Parolingizni qayta kiriting NoteSomeFeaturesAreDisabled=Ushbu namoyishda ko'plab funktsiyalar / modullar o'chirilganligini unutmang. Name=Ism -NameSlashCompany=Name / Company +NameSlashCompany=Ism / kompaniya Person=Shaxs Parameter=Parametr Parameters=Parametrlar Value=Qiymat PersonalValue=Shaxsiy qiymat -NewObject=New %s +NewObject=Yangi %s NewValue=Yangi qiymat -OldValue=Old value %s +OldValue=Eski qiymat %s CurrentValue=Joriy qiymat Code=Kod Type=Turi @@ -238,9 +238,9 @@ Info=Kirish Family=Oila Description=Tavsif Designation=Tavsif -DescriptionOfLine=Description of line -DateOfLine=Date of line -DurationOfLine=Duration of line +DescriptionOfLine=Chiziq tavsifi +DateOfLine=Qator sana +DurationOfLine=Qator davomiyligi Model=Hujjat shabloni DefaultModel=Standart hujjat shabloni Action=Tadbir @@ -256,14 +256,14 @@ NoLogoutProcessWithAuthMode= %s autentifikatsiya qilish rejimida qo'llan Connection=Kirish Setup=Sozlash; o'rnatish Alert=Ogohlantirish -MenuWarnings=Alerts +MenuWarnings=Ogohlantirishlar Previous=Oldingi Next=Keyingi Cards=Kartalar Card=Karta Now=Endi HourStart=Boshlanish soati -Deadline=Deadline +Deadline=Topshirish muddati; tugatish muddati Date=Date DateAndHour=Sana va soat DateToday=Bugungi sana @@ -272,13 +272,13 @@ DateStart=Boshlanish vaqti DateEnd=Tugash sanasi DateCreation=Yaratilish sanasi DateCreationShort=Yaratuvchi. sana -IPCreation=Creation IP +IPCreation=IP yaratish DateModification=O'zgartirish sanasi DateModificationShort=Modif. sana -IPModification=Modification IP +IPModification=O'zgartirish IP DateLastModification=Oxirgi o'zgartirish sanasi DateValidation=Tasdiqlash sanasi -DateSigning=Signing date +DateSigning=Imzolangan sana DateClosing=Tugatish sanasi DateDue=Muddati DateValue=Qiymat sanasi @@ -292,13 +292,13 @@ DateBuild=Hisobotni tuzish sanasi DatePayment=To'lov sanasi DateApprove=Tasdiqlangan sana DateApprove2=Tasdiqlangan sana (ikkinchi tasdiqlash) -RegistrationDate=Registration date +RegistrationDate=Ro'yxatdan o'tish sanasi UserCreation=Yaratilish foydalanuvchisi UserModification=O'zgartirish foydalanuvchisi -UserValidation=Validation user +UserValidation=Tasdiqlash foydalanuvchisi UserCreationShort=Yaratuvchi. foydalanuvchi UserModificationShort=Modif. foydalanuvchi -UserValidationShort=Valid. user +UserValidationShort=Yaroqli. foydalanuvchi DurationYear=yil DurationMonth=oy DurationWeek=hafta @@ -330,7 +330,7 @@ Morning=Tong Afternoon=Peshindan keyin Quadri=Quadri MonthOfDay=Kunning oyi -DaysOfWeek=Days of week +DaysOfWeek=Haftaning kunlari HourShort=H MinuteShort=mn Rate=Tezlik @@ -341,8 +341,8 @@ KiloBytes=Kilobayt MegaBytes=Megabayt GigaBytes=Gigabayt TeraBytes=Terabayt -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=Tomonidan belgilangan +UserModif=Tomonidan yangilangan b=b. Kb=Kb Mb=Mb @@ -353,12 +353,12 @@ Copy=Nusxalash Paste=Yapıştır Default=Odatiy DefaultValue=Standart qiymat -DefaultValues=Default values/filters/sorting +DefaultValues=Standart qiymatlar / filtrlar / saralash Price=Narx -PriceCurrency=Price (currency) +PriceCurrency=Narx (valyuta) UnitPrice=Donasining narxi UnitPriceHT=Birlik narxi (bundan mustasno) -UnitPriceHTCurrency=Unit price (excl.) (currency) +UnitPriceHTCurrency=Birlik narxi (bundan mustasno) (valyuta) UnitPriceTTC=Donasining narxi PriceU=U.P. PriceUHT=U.P. (aniq) @@ -366,9 +366,9 @@ PriceUHTCurrency=U.P (aniq) (valyuta) PriceUTTC=U.P. (soliq bilan birga) Amount=Miqdor AmountInvoice=Hisob-faktura miqdori -AmountInvoiced=Amount invoiced -AmountInvoicedHT=Amount invoiced (excl. tax) -AmountInvoicedTTC=Amount invoiced (inc. tax) +AmountInvoiced=Hisob-kitob qilingan summa +AmountInvoicedHT=Hisob-faktura miqdori (soliqdan tashqari) +AmountInvoicedTTC=Hisob-faktura miqdori (soliq bilan birga) AmountPayment=To'lov miqdori AmountHTShort=Miqdor (bundan mustasno) AmountTTCShort=Miqdor (soliq bilan birga) @@ -381,7 +381,7 @@ MulticurrencyPaymentAmount=To'lov miqdori, asl valyuta MulticurrencyAmountHT=Miqdor (soliqdan tashqari), asl valyuta MulticurrencyAmountTTC=Miqdor (soliq inc.), Asl valyuta MulticurrencyAmountVAT=Miqdor solig'i, asl valyuta -MulticurrencySubPrice=Amount sub price multi currency +MulticurrencySubPrice=Miqdor sub-narx ko'p valyuta AmountLT1=Miqdor solig'i 2 AmountLT2=Miqdor solig'i 3 AmountLT1ES=RE miqdori @@ -389,14 +389,14 @@ AmountLT2ES=IRPF miqdori AmountTotal=Umumiy hisob AmountAverage=O'rtacha miqdor PriceQtyMinHT=Narx miqdori min. (soliqdan tashqari) -PriceQtyMinHTCurrency=Price quantity min. (excl. tax) (currency) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PriceQtyMinHTCurrency=Narx miqdori min. (soliqdan tashqari) (valyuta) +PercentOfOriginalObject=Asl ob'ektning ulushi +AmountOrPercent=Miqdor yoki foiz Percentage=Foiz Total=Jami SubTotal=Jami TotalHTShort=Jami (bundan mustasno) -TotalHT100Short=Total 100%% (excl.) +TotalHT100Short=Jami 100%% (bundan mustasno) TotalHTShortCurrency=Jami (valyutadan tashqari) TotalTTCShort=Jami (soliq bilan birga) TotalHT=Jami (soliqdan tashqari) @@ -405,47 +405,47 @@ Totalforthispage=Ushbu sahifa uchun jami TotalTTC=Jami (soliq bilan birga) TotalTTCToYourCredit=Sizning kreditingiz uchun jami (soliq) TotalVAT=Jami soliq -TotalVATIN=Total IGST +TotalVATIN=Jami IGST TotalLT1=Jami soliq 2 TotalLT2=Jami soliq 3 TotalLT1ES=Jami RE TotalLT2ES=Jami IRPF -TotalLT1IN=Total CGST -TotalLT2IN=Total SGST +TotalLT1IN=Jami CGST +TotalLT2IN=Jami SGST HT=Istisno. soliq TTC=Inc soliq -INCVATONLY=Inc. VAT -INCT=Inc. all taxes +INCVATONLY=QQS +INCT=Inc barcha soliqlar VAT=Savdo solig'i VATIN=IGST VATs=Savdo soliqlari -VATINs=IGST taxes -LT1=Sales tax 2 -LT1Type=Sales tax 2 type -LT2=Sales tax 3 -LT2Type=Sales tax 3 type +VATINs=IGST soliqlari +LT1=Sotishdan olinadigan soliq 2 +LT1Type=Sotishdan olinadigan soliq 2 turi +LT2=Sotishdan olinadigan soliq 3 +LT2Type=Sotishdan olinadigan soliq 3 turi LT1ES=RE LT2ES=IRPF LT1IN=CGST LT2IN=SGST -LT1GC=Additionnal cents +LT1GC=Qo'shimcha sentlar VATRate=Soliq stavkasi -RateOfTaxN=Rate of tax %s -VATCode=Tax Rate code -VATNPR=Tax Rate NPR -DefaultTaxRate=Default tax rate +RateOfTaxN=%s soliq stavkasi +VATCode=Soliq stavkasi kodi +VATNPR=Soliq stavkasi NPR +DefaultTaxRate=Standart soliq stavkasi Average=O'rtacha Sum=Jami Delta=Delta -StatusToPay=To pay -RemainToPay=Remain to pay +StatusToPay=To'lash uchun +RemainToPay=To'lashni davom eting Module=Modul / dastur -Modules=Modules/Applications +Modules=Modullar / dasturlar Option=Variant -Filters=Filters +Filters=Filtrlar List=Ro'yxat FullList=To'liq ro'yxat -FullConversation=Full conversation +FullConversation=To'liq suhbat Statistics=Statistika OtherStatistics=Boshqa statistika Status=Holat @@ -466,21 +466,21 @@ ActionRunningNotStarted=Boshlamoq ActionRunningShort=Jarayonda ActionDoneShort=Tugadi ActionUncomplete=Tugallanmagan -LatestLinkedEvents=Latest %s linked events +LatestLinkedEvents=%s bilan bog'liq so'nggi voqealar CompanyFoundation=Kompaniya / tashkilot -Accountant=Accountant +Accountant=Buxgalter ContactsForCompany=Ushbu uchinchi tomon uchun aloqalar ContactsAddressesForCompany=Ushbu uchinchi tomon uchun aloqa / manzillar AddressesForCompany=Ushbu uchinchi tomon uchun manzillar ActionsOnCompany=Ushbu uchinchi tomon uchun tadbirlar -ActionsOnContact=Events for this contact/address -ActionsOnContract=Events for this contract +ActionsOnContact=Ushbu aloqa / manzil uchun tadbirlar +ActionsOnContract=Ushbu shartnoma bo'yicha tadbirlar ActionsOnMember=Ushbu a'zo haqidagi tadbirlar -ActionsOnProduct=Events about this product +ActionsOnProduct=Ushbu mahsulot haqidagi tadbirlar NActionsLate=%s kech -ToDo=To do -Completed=Completed -Running=In progress +ToDo=Qilmoq +Completed=Bajarildi +Running=Jarayonda RequestAlreadyDone=So'rov allaqachon yozib olingan Filter=Filtr FilterOnInto=%s maydonlariga ' %s ' mezonlari @@ -494,7 +494,7 @@ TotalDuration=Jami davomiyligi Summary=Xulosa DolibarrStateBoard=Ma'lumotlar bazasi statistikasi DolibarrWorkBoard=Ochiq narsalar -NoOpenedElementToProcess=No open element to process +NoOpenedElementToProcess=Qayta ishlash uchun ochiq element yo'q Available=Mavjud NotYetAvailable=Hali mavjud emas NotAvailable=Mavjud emas @@ -502,13 +502,13 @@ Categories=Teglar / toifalar Category=Tag / kategoriya By=By From=Kimdan -FromDate=From -FromLocation=From +FromDate=Kimdan +FromLocation=Kimdan to=ga -To=to -ToDate=to -ToLocation=to -at=at +To=ga +ToDate=ga +ToLocation=ga +at=da and=va or=yoki Other=Boshqalar @@ -527,18 +527,18 @@ Reporting=Hisobot berish Reportings=Hisobot berish Draft=Qoralama Drafts=Qoralamalar -StatusInterInvoiced=Invoiced +StatusInterInvoiced=Hisob-faktura Validated=Tasdiqlangan -ValidatedToProduce=Validated (To produce) +ValidatedToProduce=Tasdiqlangan (ishlab chiqarish uchun) Opened=Ochiq -OpenAll=Open (All) -ClosedAll=Closed (All) +OpenAll=Ochish (barchasi) +ClosedAll=Yopiq (barchasi) New=Yangi Discount=Chegirma Unknown=Noma'lum General=Umumiy Size=Hajmi -OriginalSize=Original size +OriginalSize=Asl o'lcham Received=Qabul qildi Paid=To'langan Topic=Mavzu @@ -552,18 +552,18 @@ NextStep=Keyingi qadam Datas=Ma'lumotlar None=None NoneF=None -NoneOrSeveral=None or several +NoneOrSeveral=Hech kim yoki bir nechtasi Late=Kech LateDesc=Bosh sahifa - O'rnatish - Ogohlantirishlar menyusidagi tizim konfiguratsiyasi bo'yicha element "Kechiktirilgan" deb belgilanadi. -NoItemLate=No late item +NoItemLate=Kechiktirilgan narsa yo‘q Photo=Rasm Photos=Rasmlar AddPhoto=Rasm qo'shish DeletePicture=Rasmni o'chirish ConfirmDeletePicture=Rasm o'chirilganligini tasdiqlaysizmi? Login=Kirish -LoginEmail=Login (email) -LoginOrEmail=Login or Email +LoginEmail=Kirish (elektron pochta) +LoginOrEmail=Kirish yoki elektron pochta CurrentLogin=Joriy kirish EnterLoginDetail=Kirish tafsilotlarini kiriting January=Yanvar @@ -613,9 +613,9 @@ MonthVeryShort08=A MonthVeryShort09=S MonthVeryShort10=O MonthVeryShort11=N -MonthVeryShort12=D +MonthVeryShort12=D. AttachedFiles=Biriktirilgan fayllar va hujjatlar -JoinMainDoc=Join main document +JoinMainDoc=Asosiy hujjatga qo'shiling DateFormatYYYYMM=YYYY-MM DateFormatYYYYMMDD=YYYY-MM-DD DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH: SS @@ -662,14 +662,14 @@ SupplierPreview=Sotuvchini oldindan ko'rish ShowCustomerPreview=Mijozni oldindan ko'rishni ko'rsatish ShowSupplierPreview=Sotuvchini oldindan ko'rishni ko'rsatish RefCustomer=Ref. mijoz -InternalRef=Internal ref. +InternalRef=Ichki ref. Currency=Valyuta InfoAdmin=Ma'murlar uchun ma'lumot Undo=Bekor qilish Redo=Qayta qilish ExpandAll=Barchasini kengaytiring UndoExpandAll=Kengaytirishni bekor qilish -SeeAll=See all +SeeAll=Barchasini ko'ring Reason=Sabab FeatureNotYetSupported=Xususiyat hali qo'llab-quvvatlanmaydi CloseWindow=Oynani yopish @@ -677,20 +677,20 @@ Response=Javob Priority=Afzallik SendByMail=Elektron pochta orqali yuboring MailSentBy=Elektron pochta orqali yuborilgan -NotSent=Not sent +NotSent=Yuborilmadi TextUsedInTheMessageBody=Elektron pochta qutisi SendAcknowledgementByMail=Tasdiqlovchi elektron pochta xabarini yuboring -SendMail=Send email +SendMail=Elektron pochta xabarini yuboring Email=Elektron pochta NoEMail=Elektron pochta yo'q -AlreadyRead=Already read -NotRead=Unread +AlreadyRead=O'qilgan +NotRead=O'qilmagan NoMobilePhone=Mobil telefon yo'q Owner=Egasi FollowingConstantsWillBeSubstituted=Quyidagi doimiylar tegishli qiymat bilan almashtiriladi. Refresh=Yangilang BackToList=Ro'yxatga qaytish -BackToTree=Back to tree +BackToTree=Daraxtga qaytish GoBack=Ortga qaytish CanBeModifiedIfOk=Agar haqiqiy bo'lsa o'zgartirilishi mumkin CanBeModifiedIfKo=Agar yaroqsiz bo'lsa o'zgartirilishi mumkin @@ -700,7 +700,7 @@ RecordCreatedSuccessfully=Yozuv muvaffaqiyatli yaratildi RecordModifiedSuccessfully=Yozuv muvaffaqiyatli o'zgartirildi RecordsModified=%s yozuvlari o'zgartirildi RecordsDeleted=%s yozuvlari o'chirildi -RecordsGenerated=%s record(s) generated +RecordsGenerated=%s yozuvlari yaratildi AutomaticCode=Avtomatik kod FeatureDisabled=Funktsiya o'chirilgan MoveBox=Vidjetni ko'chirish @@ -711,13 +711,13 @@ Method=Usul Receive=Qabul qiling CompleteOrNoMoreReceptionExpected=To'liq yoki boshqa hech narsa kutilmaydi ExpectedValue=Kutilayotgan qiymat -ExpectedQty=Expected Qty +ExpectedQty=Kutilayotgan son PartialWoman=Qisman TotalWoman=Jami NeverReceived=Hech qachon qabul qilinmagan Canceled=Bekor qilindi YouCanChangeValuesForThisListFromDictionarySetup=Sozlamalar - Lug'atlar menyusidan ushbu ro'yxat uchun qiymatlarni o'zgartirishingiz mumkin -YouCanChangeValuesForThisListFrom=You can change values for this list from menu %s +YouCanChangeValuesForThisListFrom=Siz ushbu ro'yxat uchun qiymatlarni %s menyusidan o'zgartirishingiz mumkin YouCanSetDefaultValueInModuleSetup=Modulni o'rnatishda yangi yozuv yaratishda foydalaniladigan standart qiymatni belgilashingiz mumkin Color=Rang Documents=Bog'langan fayllar @@ -728,9 +728,9 @@ MenuECM=Hujjatlar MenuAWStats=AWStats MenuMembers=A'zolar MenuAgendaGoogle=Google kun tartibi -MenuTaxesAndSpecialExpenses=Taxes | Special expenses +MenuTaxesAndSpecialExpenses=Soliqlar | Maxsus xarajatlar ThisLimitIsDefinedInSetup=Dolibarr limiti (menyuda uyni sozlash-xavfsizlik): %s Kb, PHP limit: %s Kb -ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb +ThisLimitIsDefinedInSetupAt=Dolibarr limiti (Menyu %s): %s Kb, PHP limit (Param %s): %s Kb NoFileFound=Hech qanday hujjat yuklanmadi CurrentUserLanguage=Joriy til CurrentTheme=Joriy mavzu @@ -746,7 +746,7 @@ DateOfSignature=Imzo qo'yilgan sana HidePassword=Parolni yashirgan holda buyruqni ko'rsatish UnHidePassword=Haqiqiy buyruqni aniq parol bilan ko'rsating Root=Ildiz -RootOfMedias=Root of public medias (/medias) +RootOfMedias=Ommaviy medianing ildizi (/ medias) Informations=Ma `lumot Page=Sahifa Notes=Izohlar @@ -755,18 +755,18 @@ AddFile=Fayl qo'shish FreeZone=Bepul matnli mahsulot FreeLineOfType=Bepul matnli element, turi: CloneMainAttributes=Ob'ektni asosiy atributlari bilan klonlash -ReGeneratePDF=Re-generate PDF +ReGeneratePDF=PDF-ni qayta yarating PDFMerge=PDF-ni birlashtirish Merge=Birlashtirish -DocumentModelStandardPDF=Standard PDF template +DocumentModelStandardPDF=Standart PDF shablon PrintContentArea=Asosiy tarkib maydonini chop etish uchun sahifani ko'rsatish MenuManager=Menyu menejeri WarningYouAreInMaintenanceMode=Ogohlantirish, siz parvarishlash rejimidasiz: dasturdan faqat ushbu rejimda kirish uchun %s ruxsat etiladi. CoreErrorTitle=Tizim xatosi CoreErrorMessage=Kechirasiz, xato yuz berdi. Kundaliklarni tekshirish uchun tizim ma'muringizga murojaat qiling yoki qo'shimcha ma'lumot olish uchun $ dolibarr_main_prod = 1-ni o'chirib qo'ying. CreditCard=Kredit kartasi -ValidatePayment=Validate payment -CreditOrDebitCard=Credit or debit card +ValidatePayment=To'lovni tasdiqlang +CreditOrDebitCard=Kredit yoki debet karta FieldsWithAreMandatory= %s bo'lgan maydonlar majburiydir FieldsWithIsForPublic= %s bo'lgan maydonlar a'zolarning ochiq ro'yxatida ko'rsatilgan. Agar buni xohlamasangiz, "umumiy" katakchasini olib tashlang. AccordingToGeoIPDatabase=(GeoIP konversiyasiga muvofiq) @@ -777,8 +777,8 @@ Result=Natija ToTest=Sinov ValidateBefore=Ushbu xususiyatni ishlatishdan oldin mahsulot tasdiqlanishi kerak Visibility=Ko'rinish -Totalizable=Totalizable -TotalizableDesc=This field is totalizable in list +Totalizable=Umumlashtirilishi mumkin +TotalizableDesc=Ushbu maydon ro'yxatda umumlashtirilishi mumkin Private=Xususiy Hidden=Yashirin Resources=Resurslar @@ -797,20 +797,20 @@ LinkTo=Ga havola LinkToProposal=Taklifga havola LinkToOrder=Buyurtma uchun havola LinkToInvoice=Hisob-fakturaga havola -LinkToTemplateInvoice=Link to template invoice +LinkToTemplateInvoice=Shablon hisob-fakturasiga havola LinkToSupplierOrder=Xarid qilish buyurtmasiga havola LinkToSupplierProposal=Yetkazib beruvchining taklifiga havola LinkToSupplierInvoice=Sotuvchi fakturasiga havola LinkToContract=Shartnomaga havola LinkToIntervention=Aralashuvga havola -LinkToTicket=Link to ticket +LinkToTicket=Chiptaga havola CreateDraft=Qoralama yarating SetToDraft=Qoralamaga qaytish ClickToEdit=Tahrirlash uchun bosing -ClickToRefresh=Click to refresh -EditWithEditor=Edit with CKEditor -EditWithTextEditor=Edit with Text editor -EditHTMLSource=Edit HTML Source +ClickToRefresh=Yangilash uchun bosing +EditWithEditor=CKEditor bilan tahrirlash +EditWithTextEditor=Matn muharriri bilan tahrirlash +EditHTMLSource=HTML manbasini tahrirlash ObjectDeleted=%s ob'ekti o'chirildi ByCountry=Mamlakatlar bo'yicha ByTown=Shahar bo'yicha @@ -835,7 +835,7 @@ from=dan toward=tomonga Access=Kirish SelectAction=Amalni tanlang -SelectTargetUser=Select target user/employee +SelectTargetUser=Maqsadli foydalanuvchini / xodimni tanlang HelpCopyToClipboard=Buferga nusxalash uchun Ctrl + C tugmalaridan foydalaning SaveUploadedFileWithMask=Faylni " %s " nomi bilan saqlang (aks holda "%s") OriginFileName=Asl fayl nomi @@ -844,108 +844,108 @@ SetBankAccount=Bank hisobini aniqlang AccountCurrency=Hisob-kitob valyutasi ViewPrivateNote=Eslatmalarni ko'rish XMoreLines=%s qatorlari yashiringan -ShowMoreLines=Show more/less lines +ShowMoreLines=Ko'proq / kamroq qatorlarni ko'rsatish PublicUrl=Ochiq URL AddBox=Qutini qo'shish -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=Elementni tanlang va %s tugmachasini bosing PrintFile=Faylni chop etish %s ShowTransaction=Bank hisobidagi yozuvni ko'rsatish -ShowIntervention=Show intervention -ShowContract=Show contract +ShowIntervention=Aralashuvni ko'rsating +ShowContract=Shartnomani ko'rsatish GoIntoSetupToChangeLogo=Logotipni o'zgartirish uchun Home - Setup - Company-ga o'ting yoki yashirish uchun Home - Setup - Display-ga o'ting. Deny=Rad et Denied=Rad etilgan -ListOf=List of %s +ListOf=%s ro'yxati ListOfTemplates=Shablonlar ro'yxati Gender=Jins Genderman=Erkak Genderwoman=Ayol -Genderother=Other +Genderother=Boshqalar ViewList=Ro'yxat ko'rinishi -ViewGantt=Gantt view -ViewKanban=Kanban view +ViewGantt=Gantt ko'rinishi +ViewKanban=Kanban ko'rinishi Mandatory=Majburiy Hello=Salom -GoodBye=GoodBye +GoodBye=Xayr. Salomat bo'ling Sincerely=Hurmat bilan -ConfirmDeleteObject=Are you sure you want to delete this object? +ConfirmDeleteObject=Haqiqatan ham ushbu ob'ektni o'chirishni xohlaysizmi? DeleteLine=Chiziqni o'chirish ConfirmDeleteLine=Ushbu qatorni o'chirishni xohlaysizmi? -ErrorPDFTkOutputFileNotFound=Error: the file was not generated. Please check that the 'pdftk' command is installed in a directory included in the $PATH environment variable (linux/unix only) or contact your system administrator. +ErrorPDFTkOutputFileNotFound=Xato: fayl yaratilmadi. Iltimos, 'pdftk' buyrug'i $ PATH muhit o'zgaruvchisiga kiritilgan katalogga o'rnatilganligini tekshiring (faqat linux / unix) yoki tizim administratoriga murojaat qiling. NoPDFAvailableForDocGenAmongChecked=Tekshirilgan yozuvlar orasida hujjat yaratish uchun PDF mavjud emas TooManyRecordForMassAction=Ommaviy harakatlar uchun tanlangan yozuvlar juda ko'p. Amal %s yozuvlari ro'yxati bilan cheklangan. NoRecordSelected=Hech qanday yozuv tanlanmadi MassFilesArea=Ommaviy harakatlar bilan qurilgan fayllar maydoni ShowTempMassFilesArea=Ommaviy harakatlar bilan qurilgan fayllar maydonini ko'rsating -ConfirmMassDeletion=Bulk Delete confirmation -ConfirmMassDeletionQuestion=Are you sure you want to delete the %s selected record(s)? +ConfirmMassDeletion=Ommaviy o'chirishni tasdiqlash +ConfirmMassDeletionQuestion=Siz tanlagan %s yozuvlarini o'chirishni xohlaysizmi? RelatedObjects=Tegishli ob'ektlar ClassifyBilled=Hisob-kitoblarni tasniflang -ClassifyUnbilled=Classify unbilled +ClassifyUnbilled=Hisob-kitob qilinmaganlarni tasniflang Progress=Taraqqiyot ProgressShort=Progr. FrontOffice=Old ofis BackOffice=Orqa ofis -Submit=Submit +Submit=Yuborish View=Ko'rinish Export=Export Exports=Exports ExportFilteredList=Filtrlangan ro'yxatni eksport qilish ExportList=Eksport ro'yxati -ExportOptions=Export Options -IncludeDocsAlreadyExported=Include docs already exported -ExportOfPiecesAlreadyExportedIsEnable=Export of pieces already exported is enable -ExportOfPiecesAlreadyExportedIsDisable=Export of pieces already exported is disable -AllExportedMovementsWereRecordedAsExported=All exported movements were recorded as exported -NotAllExportedMovementsCouldBeRecordedAsExported=Not all exported movements could be recorded as exported +ExportOptions=Eksport parametrlari +IncludeDocsAlreadyExported=Allaqachon eksport qilingan hujjatlarni qo'shib qo'ying +ExportOfPiecesAlreadyExportedIsEnable=Oldindan eksport qilingan qismlarni eksport qilish imkoniyati mavjud +ExportOfPiecesAlreadyExportedIsDisable=Oldindan eksport qilingan qismlarni eksport qilish o'chirilgan +AllExportedMovementsWereRecordedAsExported=Eksport qilingan barcha harakatlar eksport sifatida qayd etildi +NotAllExportedMovementsCouldBeRecordedAsExported=Barcha eksport qilingan harakatlarni eksport sifatida qayd etish mumkin emas Miscellaneous=Turli xil Calendar=Taqvim GroupBy=Guruh bo'yicha ... ViewFlatList=Yassi ro'yxatni ko'rish -ViewAccountList=View ledger -ViewSubAccountList=View subaccount ledger +ViewAccountList=Hisob kitobini ko'rish +ViewSubAccountList=Hisob osti daftarini ko'rish RemoveString='%s' qatorini olib tashlash SomeTranslationAreUncomplete=Taklif qilinadigan ba'zi tillar qisman tarjima qilinishi yoki xatolarga yo'l qo'yishi mumkin. Iltimos, yaxshilangan narsalaringizni qo'shish uchun https://transifex.com/projects/p/dolibarr/ ro'yxatdan o'tib, tilingizni to'g'rilashga yordam bering. DirectDownloadLink=Umumiy yuklab olish havolasi -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +PublicDownloadLinkDesc=Faylni yuklab olish uchun faqat havola kerak +DirectDownloadInternalLink=Shaxsiy yuklab olish havolasi +PrivateDownloadLinkDesc=Siz tizimga kirishingiz kerak va faylni ko'rish yoki yuklab olish uchun sizga ruxsat kerak Download=Yuklash -DownloadDocument=Download document +DownloadDocument=Hujjatni yuklab oling ActualizeCurrency=Valyuta kursini yangilang Fiscalyear=Moliyaviy yil -ModuleBuilder=Module and Application Builder -SetMultiCurrencyCode=Set currency +ModuleBuilder=Modul va dastur yaratuvchisi +SetMultiCurrencyCode=Valyutani o'rnating BulkActions=Ommaviy harakatlar -ClickToShowHelp=Click to show tooltip help -WebSite=Website -WebSites=Websites -WebSiteAccounts=Website accounts -ExpenseReport=Expense report -ExpenseReports=Expense reports -HR=HR -HRAndBank=HR and Bank -AutomaticallyCalculated=Automatically calculated -TitleSetToDraft=Go back to draft -ConfirmSetToDraft=Are you sure you want to go back to Draft status? +ClickToShowHelp=Maslahatlar bo'yicha yordamni ko'rsatish uchun bosing +WebSite=Veb-sayt +WebSites=Veb-saytlar +WebSiteAccounts=Veb-sayt qayd yozuvlari +ExpenseReport=Xarajatlar to'g'risida hisobot +ExpenseReports=Xarajatlar bo'yicha hisobotlar +HR=Kadrlar +HRAndBank=Xodimlar va bank +AutomaticallyCalculated=Avtomatik ravishda hisoblab chiqilgan +TitleSetToDraft=Qoralamaga qaytish +ConfirmSetToDraft=Haqiqatan ham Qoralama holatiga qaytmoqchimisiz? ImportId=Import id -Events=Events -EMailTemplates=Email templates -FileNotShared=File not shared to external public -Project=Project -Projects=Projects -LeadOrProject=Lead | Project -LeadsOrProjects=Leads | Projects -Lead=Lead -Leads=Leads -ListOpenLeads=List open leads -ListOpenProjects=List open projects -NewLeadOrProject=New lead or project -Rights=Permissions -LineNb=Line no. -IncotermLabel=Incoterms -TabLetteringCustomer=Customer lettering -TabLetteringSupplier=Vendor lettering +Events=Tadbirlar +EMailTemplates=Elektron pochta shablonlari +FileNotShared=Fayl tashqi hammaga tarqatilmaydi +Project=Loyiha +Projects=Loyihalar +LeadOrProject=Qo'rg'oshin | Loyiha +LeadsOrProjects=Yetakchilar | Loyihalar +Lead=Qo'rg'oshin +Leads=Yetakchilar +ListOpenLeads=Ochiq yo'nalishlarni ro'yxatlash +ListOpenProjects=Ochiq loyihalarni ro'yxati +NewLeadOrProject=Yangi etakchi yoki loyiha +Rights=Ruxsatlar +LineNb=Qator №. +IncotermLabel=Inkoermalar +TabLetteringCustomer=Mijozlarning xatlari +TabLetteringSupplier=Sotuvchi xatlari Monday=Dushanba Tuesday=Seshanba Wednesday=Chorshanba @@ -974,39 +974,39 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S -one=one -two=two -three=three -four=four -five=five -six=six -seven=seven -eight=eight -nine=nine -ten=ten -eleven=eleven -twelve=twelve -thirteen=thirdteen -fourteen=fourteen -fifteen=fifteen -sixteen=sixteen -seventeen=seventeen -eighteen=eighteen -nineteen=nineteen -twenty=twenty -thirty=thirty -forty=forty -fifty=fifty -sixty=sixty -seventy=seventy -eighty=eighty -ninety=ninety -hundred=hundred -thousand=thousand +one=bitta +two=ikkitasi +three=uchta +four=to'rt +five=besh +six=olti +seven=Yetti +eight=sakkiz +nine=to'qqiz +ten=o'n +eleven=o'n bir +twelve=o'n ikki +thirteen=uchinchi +fourteen=o'n to'rt +fifteen=o'n besh +sixteen=o'n olti +seventeen=o'n etti +eighteen=o'n sakkiz +nineteen=o'n to'qqiz +twenty=yigirma +thirty=o'ttiz +forty=qirq +fifty=ellik +sixty=oltmish +seventy=etmish +eighty=sakson +ninety=to'qson +hundred=yuz +thousand=ming million=million -billion=billion +billion=milliard trillion=trillion -quadrillion=quadrillion +quadrillion=kvadrillion SelectMailModel=Elektron pochta shablonini tanlang SetRef=Referani o'rnating Select2ResultFoundUseArrows=Ba'zi natijalar topildi. Tanlash uchun strelkalardan foydalaning. @@ -1014,7 +1014,7 @@ Select2NotFound=Hech qanday natija topilmadi Select2Enter=Kirish Select2MoreCharacter=yoki undan ko'p belgi Select2MoreCharacters=yoki undan ko'p belgilar -Select2MoreCharactersMore=Search syntax:
| OR (a|b)
* Any character (a*b)
^ Start with (^ab)
$ End with (ab$)
+Select2MoreCharactersMore= Qidiruv sintaksis:
| YOKI (a | b)
* Har qanday belgi (a * b)
^ Start bilan (^ ab)
$ End bilan ( ab $)
Select2LoadingMoreResults=Boshqa natijalar yuklanmoqda ... Select2SearchInProgress=Qidiruv davom etmoqda ... SearchIntoThirdparties=Uchinchi shaxslar @@ -1022,9 +1022,9 @@ SearchIntoContacts=Kontaktlar SearchIntoMembers=A'zolar SearchIntoUsers=Foydalanuvchilar SearchIntoProductsOrServices=Mahsulotlar yoki xizmatlar -SearchIntoBatch=Lots / Serials +SearchIntoBatch=Ko'p / seriyalar SearchIntoProjects=Loyihalar -SearchIntoMO=Manufacturing Orders +SearchIntoMO=Ishlab chiqarish buyurtmalari SearchIntoTasks=Vazifalar SearchIntoCustomerInvoices=Mijozlarning hisob-fakturalari SearchIntoSupplierInvoices=Sotuvchi hisob-fakturalari @@ -1037,103 +1037,103 @@ SearchIntoContracts=Shartnomalar SearchIntoCustomerShipments=Mijozlar jo'natmalari SearchIntoExpenseReports=Xarajatlar bo'yicha hisobotlar SearchIntoLeaves=Keting -SearchIntoTickets=Tickets -SearchIntoCustomerPayments=Customer payments -SearchIntoVendorPayments=Vendor payments -SearchIntoMiscPayments=Miscellaneous payments -CommentLink=Comments -NbComments=Number of comments -CommentPage=Comments space -CommentAdded=Comment added -CommentDeleted=Comment deleted -Everybody=Everybody -PayedBy=Paid by -PayedTo=Paid to -Monthly=Monthly -Quarterly=Quarterly -Annual=Annual -Local=Local -Remote=Remote -LocalAndRemote=Local and Remote -KeyboardShortcut=Keyboard shortcut -AssignedTo=Assigned to -Deletedraft=Delete draft -ConfirmMassDraftDeletion=Draft mass delete confirmation -FileSharedViaALink=File shared with a public link -SelectAThirdPartyFirst=Select a third party first... -YouAreCurrentlyInSandboxMode=You are currently in the %s "sandbox" mode -Inventory=Inventory -AnalyticCode=Analytic code +SearchIntoTickets=Chiptalar +SearchIntoCustomerPayments=Mijozlar uchun to'lovlar +SearchIntoVendorPayments=Sotuvchi uchun to'lovlar +SearchIntoMiscPayments=Turli xil to'lovlar +CommentLink=Izohlar +NbComments=Izohlar soni +CommentPage=Fikrlar maydoni +CommentAdded=Fikr qo'shildi +CommentDeleted=Fikr o'chirildi +Everybody=Hamma +PayedBy=To'langan +PayedTo=To'langan +Monthly=Oylik +Quarterly=Har chorakda +Annual=Yillik +Local=Mahalliy +Remote=Masofadan boshqarish pulti +LocalAndRemote=Mahalliy va masofadan turib +KeyboardShortcut=Klaviatura yorlig'i +AssignedTo=Tayinlangan +Deletedraft=Qoralamani o'chirish +ConfirmMassDraftDeletion=Ommaviy o'chirishni tasdiqlash loyihasi +FileSharedViaALink=Fayl umumiy havola bilan baham ko'rildi +SelectAThirdPartyFirst=Avval uchinchi tomonni tanlang ... +YouAreCurrentlyInSandboxMode=Siz hozirda %s "sandbox" rejimidasiz +Inventory=Inventarizatsiya +AnalyticCode=Analitik kod TMenuMRP=MRP -ShowCompanyInfos=Show company infos -ShowMoreInfos=Show More Infos -NoFilesUploadedYet=Please upload a document first -SeePrivateNote=See private note -PaymentInformation=Payment information -ValidFrom=Valid from -ValidUntil=Valid until -NoRecordedUsers=No users -ToClose=To close -ToRefuse=To refuse -ToProcess=To process -ToApprove=To approve -GlobalOpenedElemView=Global view -NoArticlesFoundForTheKeyword=No article found for the keyword '%s' -NoArticlesFoundForTheCategory=No article found for the category -ToAcceptRefuse=To accept | refuse -ContactDefault_agenda=Event -ContactDefault_commande=Order -ContactDefault_contrat=Contract -ContactDefault_facture=Invoice -ContactDefault_fichinter=Intervention -ContactDefault_invoice_supplier=Supplier Invoice -ContactDefault_order_supplier=Purchase Order -ContactDefault_project=Project -ContactDefault_project_task=Task -ContactDefault_propal=Proposal -ContactDefault_supplier_proposal=Supplier Proposal -ContactDefault_ticket=Ticket -ContactAddedAutomatically=Contact added from contact thirdparty roles -More=More -ShowDetails=Show details -CustomReports=Custom reports -StatisticsOn=Statistics on -SelectYourGraphOptionsFirst=Select your graph options to build a graph -Measures=Measures -XAxis=X-Axis -YAxis=Y-Axis -StatusOfRefMustBe=Status of %s must be %s -DeleteFileHeader=Confirm file delete -DeleteFileText=Do you really want delete this file? -ShowOtherLanguages=Show other languages -SwitchInEditModeToAddTranslation=Switch in edit mode to add translations for this language -NotUsedForThisCustomer=Not used for this customer -AmountMustBePositive=Amount must be positive -ByStatus=By status -InformationMessage=Information -Used=Used -ASAP=As Soon As Possible -CREATEInDolibarr=Record %s created -MODIFYInDolibarr=Record %s modified -DELETEInDolibarr=Record %s deleted -VALIDATEInDolibarr=Record %s validated -APPROVEDInDolibarr=Record %s approved -DefaultMailModel=Default Mail Model -PublicVendorName=Public name of vendor -DateOfBirth=Date of birth -SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Security token has expired, so action has been canceled. Please try again. -UpToDate=Up-to-date -OutOfDate=Out-of-date -EventReminder=Event Reminder -UpdateForAllLines=Update for all lines -OnHold=On hold -Civility=Civility -AffectTag=Affect Tag -CreateExternalUser=Create external user -ConfirmAffectTag=Bulk Tag Affect -ConfirmAffectTagQuestion=Are you sure you want to affect tags to the %s selected record(s)? -CategTypeNotFound=No tag type found for type of records -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel -EmailMsgID=Email MsgID +ShowCompanyInfos=Kompaniya ma'lumotlarini ko'rsatish +ShowMoreInfos=Qo'shimcha ma'lumotni ko'rsatish +NoFilesUploadedYet=Iltimos, avval hujjatni yuklang +SeePrivateNote=Shaxsiy eslatmani ko'ring +PaymentInformation=To'lov haqida ma'lumot +ValidFrom=Yaroqliligi +ValidUntil=Yaroqlilik muddati +NoRecordedUsers=Foydalanuvchilar yo'q +ToClose=Yopmoq +ToRefuse=Rad etish +ToProcess=Qayta ishlash uchun +ToApprove=Tasdiqlash uchun +GlobalOpenedElemView=Global ko'rinish +NoArticlesFoundForTheKeyword=' %s ' kalit so'zi uchun maqola topilmadi. +NoArticlesFoundForTheCategory=Ushbu turkum uchun maqola topilmadi +ToAcceptRefuse=Qabul qilish | rad etish +ContactDefault_agenda=Tadbir +ContactDefault_commande=Buyurtma +ContactDefault_contrat=Shartnoma +ContactDefault_facture=Hisob-faktura +ContactDefault_fichinter=Aralashish +ContactDefault_invoice_supplier=Ta'minlovchining hisob-fakturasi +ContactDefault_order_supplier=Xarid buyurtmasi +ContactDefault_project=Loyiha +ContactDefault_project_task=Vazifa +ContactDefault_propal=Taklif +ContactDefault_supplier_proposal=Ta'minlovchining taklifi +ContactDefault_ticket=Chipta +ContactAddedAutomatically=Kontakt uchinchi tomon rollaridan qo'shilgan aloqa +More=Ko'proq +ShowDetails=Tafsilotlarni ko'rsatish +CustomReports=Maxsus hisobotlar +StatisticsOn=Statistika +SelectYourGraphOptionsFirst=Grafik yaratish uchun grafik variantlaringizni tanlang +Measures=Tadbirlar +XAxis=X o'qi +YAxis=Y o'qi +StatusOfRefMustBe=%s holati %s bo'lishi kerak +DeleteFileHeader=Faylni o'chirishni tasdiqlang +DeleteFileText=Haqiqatan ham ushbu faylni o'chirishni xohlaysizmi? +ShowOtherLanguages=Boshqa tillarni ko'rsatish +SwitchInEditModeToAddTranslation=Ushbu til uchun tarjimalarni qo'shish uchun tahrirlash rejimiga o'ting +NotUsedForThisCustomer=Ushbu mijoz uchun ishlatilmaydi +AmountMustBePositive=Miqdor ijobiy bo'lishi kerak +ByStatus=Holati bo'yicha +InformationMessage=Ma `lumot +Used=Ishlatilgan +ASAP=Imkoni boricha tezda +CREATEInDolibarr=Yaratilgan %s yozuvi +MODIFYInDolibarr=%s yozuvi o'zgartirildi +DELETEInDolibarr=%s yozuv o'chirildi +VALIDATEInDolibarr=%s yozuvi tasdiqlangan +APPROVEDInDolibarr=%s yozuvi tasdiqlandi +DefaultMailModel=Standart pochta modeli +PublicVendorName=Sotuvchining ommaviy nomi +DateOfBirth=Tug'ilgan sana +SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry=Xavfsizlik belgisi muddati tugagan, shuning uchun harakatlar bekor qilindi. Iltimos, yana bir bor urinib ko'ring. +UpToDate=Hozirgi kungacha +OutOfDate=Eskirgan +EventReminder=Voqealar to'g'risida eslatma +UpdateForAllLines=Barcha satrlar uchun yangilash +OnHold=Ushlab qolingan +Civility=Fuqarolik +AffectTag=Tegga ta'sir qilish +CreateExternalUser=Tashqi foydalanuvchini yarating +ConfirmAffectTag=Ommaviy teg ta'sir qiladi +ConfirmAffectTagQuestion=Siz tanlangan %s yozuvlariga teglar ta'sir qilishni xohlaysizmi? +CategTypeNotFound=Yozuvlar turi uchun yorliq turi topilmadi +CopiedToClipboard=Buferga nusxa olindi +InformationOnLinkToContract=Ushbu miqdor faqat shartnomadagi barcha satrlarning jami hisoblanadi. Vaqt tushunchasi hisobga olinmaydi. +ConfirmCancel=Bekor qilishni xohlaysizmi? +EmailMsgID=MsgID-ga elektron pochta orqali yuboring diff --git a/htdocs/langs/uz_UZ/margins.lang b/htdocs/langs/uz_UZ/margins.lang index 1741f81bdb3..451130886f4 100644 --- a/htdocs/langs/uz_UZ/margins.lang +++ b/htdocs/langs/uz_UZ/margins.lang @@ -16,7 +16,7 @@ MarginDetails=Marj tafsilotlari ProductMargins=Mahsulot chegaralari CustomerMargins=Mijozlar marjlari SalesRepresentativeMargins=Savdo vakili marjlari -ContactOfInvoice=Contact of invoice +ContactOfInvoice=Hisob-fakturaning aloqasi UserMargins=Foydalanuvchi chekkalari ProductService=Mahsulot yoki xizmat AllProducts=Barcha mahsulotlar va xizmatlar diff --git a/htdocs/langs/uz_UZ/members.lang b/htdocs/langs/uz_UZ/members.lang index d8b9c2f59f3..31a3657d0b7 100644 --- a/htdocs/langs/uz_UZ/members.lang +++ b/htdocs/langs/uz_UZ/members.lang @@ -1,217 +1,217 @@ # Dolibarr language file - Source file is en_US - members -MembersArea=Members area -MemberCard=Member card -SubscriptionCard=Subscription card -Member=Member -Members=Members -ShowMember=Show member card -UserNotLinkedToMember=User not linked to a member -ThirdpartyNotLinkedToMember=Third party not linked to a member -MembersTickets=Members Tickets -FundationMembers=Foundation members -ListOfValidatedPublicMembers=List of validated public members -ErrorThisMemberIsNotPublic=This member is not public +MembersArea=A'zolar maydoni +MemberCard=A'zo kartasi +SubscriptionCard=Obuna kartasi +Member=A'zo +Members=A'zolar +ShowMember=A'zo kartasini ko'rsatish +UserNotLinkedToMember=Foydalanuvchi a'zo bilan bog'lanmagan +ThirdpartyNotLinkedToMember=Uchinchi tomon a'zo bilan bog'lanmagan +MembersTickets=A'zolar chiptalari +FundationMembers=Jamg'arma a'zolari +ListOfValidatedPublicMembers=Tasdiqlangan jamoat a'zolari ro'yxati +ErrorThisMemberIsNotPublic=Ushbu a'zo ochiq emas ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). -ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. -SetLinkToUser=Link to a Dolibarr user -SetLinkToThirdParty=Link to a Dolibarr third party -MembersCards=Business cards for members -MembersList=List of members -MembersListToValid=List of draft members (to be validated) -MembersListValid=List of valid members -MembersListUpToDate=List of valid members with up-to-date subscription -MembersListNotUpToDate=List of valid members with out-of-date subscription -MembersListExcluded=List of excluded members -MembersListResiliated=List of terminated members -MembersListQualified=List of qualified members -MenuMembersToValidate=Draft members -MenuMembersValidated=Validated members -MenuMembersExcluded=Excluded members -MenuMembersResiliated=Terminated members -MembersWithSubscriptionToReceive=Members with subscription to receive -MembersWithSubscriptionToReceiveShort=Subscription to receive -DateSubscription=Subscription date -DateEndSubscription=Subscription end date -EndSubscription=Subscription Ends -SubscriptionId=Subscription id -WithoutSubscription=Without subscription -MemberId=Member id -NewMember=New member -MemberType=Member type -MemberTypeId=Member type id -MemberTypeLabel=Member type label -MembersTypes=Members types -MemberStatusDraft=Draft (needs to be validated) -MemberStatusDraftShort=Draft -MemberStatusActive=Validated (waiting subscription) -MemberStatusActiveShort=Validated -MemberStatusActiveLate=Subscription expired -MemberStatusActiveLateShort=Expired -MemberStatusPaid=Subscription up to date -MemberStatusPaidShort=Up to date -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded -MemberStatusResiliated=Terminated member -MemberStatusResiliatedShort=Terminated -MembersStatusToValid=Draft members -MembersStatusExcluded=Excluded members -MembersStatusResiliated=Terminated members -MemberStatusNoSubscription=Validated (no subscription needed) -MemberStatusNoSubscriptionShort=Validated -SubscriptionNotNeeded=No subscription needed -NewCotisation=New contribution -PaymentSubscription=New contribution payment -SubscriptionEndDate=Subscription's end date -MembersTypeSetup=Members type setup -MemberTypeModified=Member type modified -DeleteAMemberType=Delete a member type -ConfirmDeleteMemberType=Are you sure you want to delete this member type? -MemberTypeDeleted=Member type deleted -MemberTypeCanNotBeDeleted=Member type can not be deleted -NewSubscription=New subscription -NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. -Subscription=Subscription -Subscriptions=Subscriptions -SubscriptionLate=Late -SubscriptionNotReceived=Subscription never received -ListOfSubscriptions=List of subscriptions -SendCardByMail=Send card by email -AddMember=Create member -NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" -NewMemberType=New member type -WelcomeEMail=Welcome email -SubscriptionRequired=Subscription required -DeleteType=Delete -VoteAllowed=Vote allowed -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? -ResiliateMember=Terminate a member -ConfirmResiliateMember=Are you sure you want to terminate this member? -DeleteMember=Delete a member -ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions)? -DeleteSubscription=Delete a subscription -ConfirmDeleteSubscription=Are you sure you want to delete this subscription? -Filehtpasswd=htpasswd file -ValidateMember=Validate a member -ConfirmValidateMember=Are you sure you want to validate this member? -FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formatted pages, provided as example to show how to list members database. -PublicMemberList=Public member list -BlankSubscriptionForm=Public self-subscription form -BlankSubscriptionFormDesc=Dolibarr can provide you a public URL/website to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form may also be automatically provided. -EnablePublicSubscriptionForm=Enable the public website with self-subscription form -ForceMemberType=Force the member type -ExportDataset_member_1=Members and subscriptions -ImportDataset_member_1=Members -LastMembersModified=Latest %s modified members -LastSubscriptionsModified=Latest %s modified subscriptions -String=String -Text=Text +ErrorUserPermissionAllowsToLinksToItselfOnly=Xavfsizlik nuqtai nazaridan, barcha foydalanuvchilarni tahrirlash uchun sizga o'zingizga tegishli bo'lmagan foydalanuvchi bilan bog'lanish uchun ruxsat berilishi kerak. +SetLinkToUser=Dolibarr foydalanuvchisiga havola +SetLinkToThirdParty=Dolibarr uchinchi tomoniga havola +MembersCards=A'zolar uchun tashrif qog'ozlar +MembersList=A'zolar ro'yxati +MembersListToValid=Loyiha a'zolari ro'yxati (tasdiqlanishi kerak) +MembersListValid=Haqiqiy a'zolar ro'yxati +MembersListUpToDate=Zamonaviy obuna bo'lgan haqiqiy a'zolar ro'yxati +MembersListNotUpToDate=Eskirgan obuna bo'lgan haqiqiy a'zolar ro'yxati +MembersListExcluded=Chetlatilgan a'zolarning ro'yxati +MembersListResiliated=Tugatilgan a'zolar ro'yxati +MembersListQualified=Malakali a'zolar ro'yxati +MenuMembersToValidate=Loyiha a'zolari +MenuMembersValidated=Tasdiqlangan a'zolar +MenuMembersExcluded=Chetlatilgan a'zolar +MenuMembersResiliated=Tugatilgan a'zolar +MembersWithSubscriptionToReceive=Qabul qilish uchun obuna bo'lgan a'zolar +MembersWithSubscriptionToReceiveShort=Qabul qilish uchun obuna +DateSubscription=Obuna sanasi +DateEndSubscription=Obunaning tugash sanasi +EndSubscription=Obuna tugaydi +SubscriptionId=Obuna identifikatori +WithoutSubscription=Obunasiz +MemberId=A'zo identifikatori +NewMember=Yangi a'zo +MemberType=Ro'yxatdan turi +MemberTypeId=Ro'yxatdan turi identifikatori +MemberTypeLabel=Ro'yxatdan turi yorlig'i +MembersTypes=A'zolar turlari +MemberStatusDraft=Qoralama (tasdiqlanishi kerak) +MemberStatusDraftShort=Qoralama +MemberStatusActive=Tasdiqlangan (kutilayotgan obuna) +MemberStatusActiveShort=Tasdiqlangan +MemberStatusActiveLate=Obuna muddati tugagan +MemberStatusActiveLateShort=Muddati tugagan +MemberStatusPaid=Obuna dolzarb +MemberStatusPaidShort=Hozirgi kungacha +MemberStatusExcluded=Chetlatilgan a'zo +MemberStatusExcludedShort=Chetlatildi +MemberStatusResiliated=Tugatilgan a'zo +MemberStatusResiliatedShort=Tugatilgan +MembersStatusToValid=Loyiha a'zolari +MembersStatusExcluded=Chetlatilgan a'zolar +MembersStatusResiliated=Tugatilgan a'zolar +MemberStatusNoSubscription=Tasdiqlangan (obuna kerak emas) +MemberStatusNoSubscriptionShort=Tasdiqlangan +SubscriptionNotNeeded=Obuna kerak emas +NewCotisation=Yangi hissa +PaymentSubscription=Yangi badal to'lovi +SubscriptionEndDate=Obunaning tugash sanasi +MembersTypeSetup=A'zolar turi sozlamalari +MemberTypeModified=Ro'yxatdan turi o'zgartirildi +DeleteAMemberType=A'zo turini o'chirish +ConfirmDeleteMemberType=Ushbu a'zo turini o'chirishni xohlaysizmi? +MemberTypeDeleted=Ro'yxatdan turi o'chirildi +MemberTypeCanNotBeDeleted=Ro'yxatdan turini o'chirib bo'lmaydi +NewSubscription=Yangi obuna +NewSubscriptionDesc=Ushbu shakl sizga obunangizni fondning yangi a'zosi sifatida qayd etish imkonini beradi. Agar siz obunangizni yangilamoqchi bo'lsangiz (agar u allaqachon a'zo bo'lsa), %s elektron pochta orqali poydevor kengashiga murojaat qiling. +Subscription=Obuna +Subscriptions=Obunalar +SubscriptionLate=Kech +SubscriptionNotReceived=Obuna hech qachon olinmadi +ListOfSubscriptions=Obunalar ro'yxati +SendCardByMail=Elektron pochta orqali kartani yuboring +AddMember=A'zo yaratish +NoTypeDefinedGoToSetup=Hech qanday a'zo turi aniqlanmagan. "A'zolar turlari" menyusiga o'ting +NewMemberType=Yangi a'zo turi +WelcomeEMail=Xush kelibsiz elektron pochta +SubscriptionRequired=Obuna talab qilinadi +DeleteType=O'chirish +VoteAllowed=Ovoz berishga ruxsat berildi +Physical=Shaxsiy +Moral=Korporatsiya +MorAndPhy=Korporatsiya va individual +Reenable=Qayta yoqish +ExcludeMember=A'zoni chiqarib tashlang +ConfirmExcludeMember=Haqiqatan ham ushbu a'zoni chiqarib tashlamoqchimisiz? +ResiliateMember=A'zoni tugatish +ConfirmResiliateMember=Ushbu a'zoni tugatishni xohlaysizmi? +DeleteMember=A'zoni o'chirish +ConfirmDeleteMember=Haqiqatan ham ushbu a'zoni o'chirishni xohlaysizmi (Agar a'zo o'chirilsa, uning barcha obunalari o'chiriladi)? +DeleteSubscription=Obunani o'chirib tashlang +ConfirmDeleteSubscription=Haqiqatan ham ushbu obunani o'chirishni xohlaysizmi? +Filehtpasswd=htpasswd fayli +ValidateMember=A'zoni tasdiqlash +ConfirmValidateMember=Ushbu a'zoni tasdiqlamoqchimisiz? +FollowingLinksArePublic=Quyidagi havolalar Dolibarr ruxsati bilan himoyalanmagan ochiq sahifalardir. Ular formatlangan sahifalar emas, balki ma'lumotlar bazasini ro'yxatga olishni ko'rsatadigan misol sifatida keltirilgan. +PublicMemberList=Ochiq a'zolar ro'yxati +BlankSubscriptionForm=Ommaviy obuna shakli +BlankSubscriptionFormDesc=Dolibarr tashqi tashrif buyuruvchilarga fondga obuna bo'lishni so'rashlari uchun sizga ochiq URL / veb-sayt taqdim etishi mumkin. Agar onlayn to'lov moduli yoqilgan bo'lsa, to'lov shakli ham avtomatik ravishda taqdim etilishi mumkin. +EnablePublicSubscriptionForm=O'z-o'ziga obuna bo'lish uchun ochiq veb-saytni yoqing +ForceMemberType=Ro'yxatdan turini majburlang +ExportDataset_member_1=A'zolar va obunalar +ImportDataset_member_1=A'zolar +LastMembersModified=Oxirgi %s o'zgartirilgan a'zolari +LastSubscriptionsModified=Oxirgi %s o'zgartirilgan obunalari +String=Ip +Text=Matn Int=Int -DateAndTime=Date and time -PublicMemberCard=Member public card -SubscriptionNotRecorded=Subscription not recorded -AddSubscription=Create subscription -ShowSubscription=Show subscription +DateAndTime=Sana va vaqt +PublicMemberCard=A'zolarning ommaviy kartasi +SubscriptionNotRecorded=Obuna yozib olinmadi +AddSubscription=Obuna yaratish +ShowSubscription=Obunani ko'rsatish # Label of email templates -SendingAnEMailToMember=Sending information email to member -SendingEmailOnAutoSubscription=Sending email on auto registration -SendingEmailOnMemberValidation=Sending email on new member validation -SendingEmailOnNewSubscription=Sending email on new subscription -SendingReminderForExpiredSubscription=Sending reminder for expired subscriptions -SendingEmailOnCancelation=Sending email on cancelation -SendingReminderActionComm=Sending reminder for agenda event +SendingAnEMailToMember=Ro'yxatdanga elektron pochta xabarini yuborish +SendingEmailOnAutoSubscription=Avtomatik ro'yxatdan o'tishda elektron pochta xabarlarini yuborish +SendingEmailOnMemberValidation=Yangi a'zoni tasdiqlash to'g'risida elektron pochta xabarini yuborish +SendingEmailOnNewSubscription=Yangi obuna bo'yicha elektron pochta xabarlarini yuborish +SendingReminderForExpiredSubscription=Muddati o'tgan obunalar uchun eslatma yuborilmoqda +SendingEmailOnCancelation=Bekor qilish to'g'risida elektron pochta xabarini yuborish +SendingReminderActionComm=Kun tartibidagi tadbir uchun eslatma yuborish # Topic of email templates -YourMembershipRequestWasReceived=Your membership was received. -YourMembershipWasValidated=Your membership was validated -YourSubscriptionWasRecorded=Your new subscription was recorded -SubscriptionReminderEmail=Subscription reminder -YourMembershipWasCanceled=Your membership was canceled -CardContent=Content of your member card +YourMembershipRequestWasReceived=Sizning a'zoligingiz qabul qilindi. +YourMembershipWasValidated=Sizning a'zoligingiz tasdiqlandi +YourSubscriptionWasRecorded=Sizning yangi obunangiz yozib olindi +SubscriptionReminderEmail=Obuna haqida eslatma +YourMembershipWasCanceled=Sizning a'zoligingiz bekor qilindi +CardContent=A'zo kartangizning tarkibi # Text of email templates -ThisIsContentOfYourMembershipRequestWasReceived=We want to let you know that your membership request was received.

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

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

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

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

-DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the notification email received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Content of the notification email received in case of auto-inscription of a guest -DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=Email template to use to send email to a member on member autosubscription -DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=Email template to use to send email to a member on member validation -DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Email template to use to send email to a member on new subscription recording -DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Email template to use to send email reminder when subscription is about to expire -DescADHERENT_EMAIL_TEMPLATE_CANCELATION=Email template to use to send email to a member on member cancelation -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion -DescADHERENT_MAIL_FROM=Sender Email for automatic emails -DescADHERENT_ETIQUETTE_TYPE=Format of labels page -DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets -DescADHERENT_CARD_TYPE=Format of cards page -DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards -DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) -DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) -DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards -ShowTypeCard=Show type '%s' -HTPasswordExport=htpassword file generation -NoThirdPartyAssociatedToMember=No third party associated to this member -MembersAndSubscriptions= Members and Subscriptions -MoreActions=Complementary action on recording -MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription -MoreActionBankDirect=Create a direct entry on bank account -MoreActionBankViaInvoice=Create an invoice, and a payment on bank account -MoreActionInvoiceOnly=Create an invoice with no payment -LinkToGeneratedPages=Generate visit cards -LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. -DocForAllMembersCards=Generate business cards for all members -DocForOneMemberCards=Generate business cards for a particular member -DocForLabels=Generate address sheets -SubscriptionPayment=Subscription payment -LastSubscriptionDate=Date of latest subscription payment -LastSubscriptionAmount=Amount of latest subscription -LastMemberType=Last Member type -MembersStatisticsByCountries=Members statistics by country -MembersStatisticsByState=Members statistics by state/province -MembersStatisticsByTown=Members statistics by town -MembersStatisticsByRegion=Members statistics by region -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members -NoValidatedMemberYet=No validated members found -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. -MembersStatisticsDesc=Choose statistics you want to read... -MenuMembersStats=Statistics -LastMemberDate=Latest membership date -LatestSubscriptionDate=Latest subscription date -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public -NewMemberbyWeb=New member added. Awaiting approval -NewMemberForm=New member form -SubscriptionsStatistics=Subscriptions statistics -NbOfSubscriptions=Number of subscriptions -AmountOfSubscriptions=Amount collected from subscriptions -TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) -DefaultAmount=Default amount of subscription -CanEditAmount=Visitor can choose/edit amount of its subscription -MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page -ByProperties=By nature -MembersStatisticsByProperties=Members statistics by nature -VATToUseForSubscriptions=VAT rate to use for subscriptions -NoVatOnSubscription=No VAT for subscriptions -ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s -NameOrCompany=Name or company -SubscriptionRecorded=Subscription recorded -NoEmailSentToMember=No email sent to member -EmailSentToMember=Email sent to member at %s -SendReminderForExpiredSubscriptionTitle=Send reminder by email for expired subscription -SendReminderForExpiredSubscription=Send reminder by email to members when subscription is about to expire (parameter is number of days before end of subscription to send the remind. It can be a list of days separated by a semicolon, for example '10;5;0;-5') -MembershipPaid=Membership paid for current period (until %s) -YouMayFindYourInvoiceInThisEmail=You may find your invoice attached to this email -XMembersClosed=%s member(s) closed -XExternalUserCreated=%s external user(s) created -ForceMemberNature=Force member nature (Individual or Corporation) +ThisIsContentOfYourMembershipRequestWasReceived=A'zolik so'rovi olinganligini sizga xabar qilmoqchimiz.

+ThisIsContentOfYourMembershipWasValidated=Sizning a'zoligingiz quyidagi ma'lumotlar bilan tasdiqlanganligini sizga xabar qilmoqchimiz:

+ThisIsContentOfYourSubscriptionWasRecorded=Sizga yangi obunangiz yozib olingani haqida xabar bermoqchimiz.

+ThisIsContentOfSubscriptionReminderEmail=Obunangiz muddati tugashini yoki allaqachon tugaganligini sizga xabar qilmoqchimiz (__MEMBER_LAST_SUBSCRIPTION_DATE_END__). Siz uni yangilaysiz degan umiddamiz.

+ThisIsContentOfYourCard=Bu siz haqingizda mavjud bo'lgan ma'lumotlarning qisqacha mazmuni. Iltimos, biron bir narsa noto'g'ri bo'lsa, biz bilan bog'laning.

+DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Agar mehmon avtomatik ravishda yozgan bo'lsa, elektron pochta xabarining mavzusi +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=Mehmon avtomatik ravishda yozilgan taqdirda olingan elektron pochta xabarining mazmuni +DescADHERENT_EMAIL_TEMPLATE_AUTOREGISTER=E-pochta shablonini a'zoning avtomatik obunasida a'zoga elektron pochta xabarini yuborish uchun ishlatish +DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=E-pochta shablonini a'zolarni tasdiqlash bo'yicha a'zolarga elektron pochta xabarlarini yuborish uchun ishlatish +DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=Yangi obuna yozuvida a'zoga elektron pochta xabarini yuborish uchun elektron pochta shablonini ishlatish +DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=Obuna muddati tugashiga yaqin bo'lganida elektron pochta orqali eslatmani yuborish uchun ishlatiladigan elektron pochta shabloni +DescADHERENT_EMAIL_TEMPLATE_CANCELATION=A'zo bekor qilinganida a'zoga elektron pochta xabarini yuborish uchun elektron pochta shablonini +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=E-pochta shablonini a'zolardan chetlatish bo'yicha a'zolarga elektron pochta xabarlarini yuborish uchun ishlatish +DescADHERENT_MAIL_FROM=Avtomatik elektron pochta xabarlari uchun yuboruvchi elektron pochta +DescADHERENT_ETIQUETTE_TYPE=Yorliqlar sahifasining formati +DescADHERENT_ETIQUETTE_TEXT=Ro'yxatdan manzil varaqalarida bosilgan matn +DescADHERENT_CARD_TYPE=Kartalar formati sahifasi +DescADHERENT_CARD_HEADER_TEXT=A'zo kartalari ustiga bosilgan matn +DescADHERENT_CARD_TEXT=A'zo kartalarida bosilgan matn (chap tomonda tekislang) +DescADHERENT_CARD_TEXT_RIGHT=A'zo kartalarida bosilgan matn (o'ng tomonga tekislang) +DescADHERENT_CARD_FOOTER_TEXT=Ro'yxatdan kartalarining pastki qismida bosilgan matn +ShowTypeCard="%s" turini ko'rsatish +HTPasswordExport=htpassword faylini yaratish +NoThirdPartyAssociatedToMember=Ushbu a'zoga aloqador uchinchi tomon yo'q +MembersAndSubscriptions= A'zolar va obunalar +MoreActions=Yozib olish bo'yicha qo'shimcha harakatlar +MoreActionsOnSubscription=Obunani yozishda sukut bo'yicha tavsiya etilgan qo'shimcha harakatlar +MoreActionBankDirect=Bank hisobvarag'ida to'g'ridan-to'g'ri yozuvni yarating +MoreActionBankViaInvoice=Hisob-fakturani va bank hisobvarag'ida to'lovni yarating +MoreActionInvoiceOnly=To'lovsiz hisob-fakturani yarating +LinkToGeneratedPages=Tashrif kartalarini yarating +LinkToGeneratedPagesDesc=Ushbu ekran barcha a'zolaringiz yoki ma'lum bir a'zolaringiz uchun tashrif qog'ozlari bilan PDF-fayllarni yaratishga imkon beradi. +DocForAllMembersCards=Barcha a'zolar uchun tashrif qog'ozlarini yarating +DocForOneMemberCards=Muayyan a'zoning tashrif qog'ozlarini yarating +DocForLabels=Manzil varaqalarini yarating +SubscriptionPayment=Obuna to'lovi +LastSubscriptionDate=Oxirgi obuna to'lovi sanasi +LastSubscriptionAmount=Oxirgi obuna miqdori +LastMemberType=Oxirgi a'zo turi +MembersStatisticsByCountries=A'zolar statistikasi mamlakatlar bo'yicha +MembersStatisticsByState=A'zolar statistikasi viloyat / viloyat bo'yicha +MembersStatisticsByTown=A'zolar statistikasi shahar bo'yicha +MembersStatisticsByRegion=A'zolar statistikasi mintaqalar bo'yicha +NbOfMembers=A'zolarning umumiy soni +NbOfActiveMembers=Hozirgi faol a'zolarning umumiy soni +NoValidatedMemberYet=Tasdiqlangan a'zolar topilmadi +MembersByCountryDesc=Ushbu ekran sizga mamlakatlar bo'yicha a'zolarning statistikasini ko'rsatadi. Grafik va jadvallar Google-ning onlayn grafik xizmati hamda ishlaydigan internet aloqasi mavjudligiga bog'liq. +MembersByStateDesc=Ushbu ekran sizga shtatlar / viloyatlar / kantonlar bo'yicha a'zolarning statistikasini ko'rsatadi. +MembersByTownDesc=Ushbu ekran sizga shaharlar bo'yicha a'zolarning statistikasini ko'rsatadi. +MembersByNature=Ushbu ekran sizga a'zolarning statistikasini tabiatan ko'rsatadi. +MembersByRegion=Ushbu ekran sizga mintaqalar bo'yicha a'zolarning statistikasini ko'rsatadi. +MembersStatisticsDesc=O'qishni istagan statistikani tanlang ... +MenuMembersStats=Statistika +LastMemberDate=Oxirgi a'zolik sanasi +LatestSubscriptionDate=Oxirgi obuna sanasi +MemberNature=A'zoning tabiati +MembersNature=A'zolarning tabiati +Public=Ma'lumot ochiq +NewMemberbyWeb=Yangi a'zo qo'shildi. Tasdiqlash kutilmoqda +NewMemberForm=Yangi a'zo shakli +SubscriptionsStatistics=Obunalar statistikasi +NbOfSubscriptions=Obuna soni +AmountOfSubscriptions=Obunalardan yig'ilgan mablag ' +TurnoverOrBudget=Tovar aylanmasi (kompaniya uchun) yoki byudjet (fond uchun) +DefaultAmount=Standart obuna miqdori +CanEditAmount=Mehmon o'z obunasining miqdorini tanlashi / tahrirlashi mumkin +MEMBER_NEWFORM_PAYONLINE=Onlayn to'lovlar sahifasiga o'ting +ByProperties=Tabiatan +MembersStatisticsByProperties=A'zolar statistikasi tabiatan +VATToUseForSubscriptions=Obuna uchun ishlatiladigan QQS stavkasi +NoVatOnSubscription=Obuna uchun QQS yo'q +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Hisob-fakturaga obuna liniyasi uchun ishlatiladigan mahsulot: %s +NameOrCompany=Ism yoki kompaniya +SubscriptionRecorded=Obuna yozib olindi +NoEmailSentToMember=Ro'yxatdanga elektron pochta xabarlari yuborilmadi +EmailSentToMember=%s orqali a'zoga elektron pochta xabarlari yuborildi +SendReminderForExpiredSubscriptionTitle=Muddati o'tgan obuna uchun elektron pochta orqali eslatma yuboring +SendReminderForExpiredSubscription=Obuna tugashi arafasida a'zolarga elektron pochta orqali eslatma yuboring (parametr - eslatmani yuborish uchun obuna tugashidan bir necha kun oldin. Bu nuqta-vergul bilan ajratilgan kunlar ro'yxati bo'lishi mumkin, masalan '10; 5; 0; -5 ') +MembershipPaid=Joriy davr uchun to'langan a'zolik (%s gacha) +YouMayFindYourInvoiceInThisEmail=Sizning hisob-fakturangizni ushbu elektron pochtaga biriktirilgan holda topishingiz mumkin +XMembersClosed=%s a'zo (lar) yopildi +XExternalUserCreated=%s tashqi foydalanuvchi (lar) yaratildi +ForceMemberNature=Majburiy a'zoning tabiati (Individual yoki Corporation) diff --git a/htdocs/langs/uz_UZ/modulebuilder.lang b/htdocs/langs/uz_UZ/modulebuilder.lang index 23a098be2e5..82ce5cf2b8a 100644 --- a/htdocs/langs/uz_UZ/modulebuilder.lang +++ b/htdocs/langs/uz_UZ/modulebuilder.lang @@ -1,146 +1,146 @@ # Dolibarr language file - Source file is en_US - loan -ModuleBuilderDesc=This tool must be used only by experienced users or developers. It provides utilities to build or edit your own module. Documentation for alternative manual development is here. -EnterNameOfModuleDesc=Enter name of the module/application to create with no spaces. Use uppercase to separate words (For example: MyModule, EcommerceForShop, SyncWithMySystem...) -EnterNameOfObjectDesc=Enter name of the object to create with no spaces. Use uppercase to separate words (For example: MyObject, Student, Teacher...). The CRUD class file, but also API file, pages to list/add/edit/delete object and SQL files will be generated. -ModuleBuilderDesc2=Path where modules are generated/edited (first directory for external modules defined into %s): %s -ModuleBuilderDesc3=Generated/editable modules found: %s -ModuleBuilderDesc4=A module is detected as 'editable' when the file %s exists in root of module directory -NewModule=New module -NewObjectInModulebuilder=New object -ModuleKey=Module key -ObjectKey=Object key -ModuleInitialized=Module initialized -FilesForObjectInitialized=Files for new object '%s' initialized -FilesForObjectUpdated=Files for object '%s' updated (.sql files and .class.php file) -ModuleBuilderDescdescription=Enter here all general information that describe your module. -ModuleBuilderDescspecifications=You can enter here a detailed description of the specifications of your module that is not already structured into other tabs. So you have within easy reach all the rules to develop. Also this text content will be included into the generated documentation (see last tab). You can use Markdown format, but it is recommended to use Asciidoc format (comparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). -ModuleBuilderDescobjects=Define here the objects you want to manage with your module. A CRUD DAO class, SQL files, page to list record of objects, to create/edit/view a record and an API will be generated. -ModuleBuilderDescmenus=This tab is dedicated to define menu entries provided by your module. -ModuleBuilderDescpermissions=This tab is dedicated to define the new permissions you want to provide with your module. -ModuleBuilderDesctriggers=This is the view of triggers provided by your module. To include code executed when a triggered business event is launched, just edit this file. -ModuleBuilderDeschooks=This tab is dedicated to hooks. -ModuleBuilderDescwidgets=This tab is dedicated to manage/build widgets. -ModuleBuilderDescbuildpackage=You can generate here a "ready to distribute" package file (a normalized .zip file) of your module and a "ready to distribute" documentation file. Just click on button to build the package or documentation file. -EnterNameOfModuleToDeleteDesc=You can delete your module. WARNING: All coding files of module (generated or created manually) AND structured data and documentation will be deleted! -EnterNameOfObjectToDeleteDesc=You can delete an object. WARNING: All coding files (generated or created manually) related to object will be deleted! -DangerZone=Danger zone -BuildPackage=Build package -BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like DoliStore.com. -BuildDocumentation=Build documentation -ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here -ModuleIsLive=This module has been activated. Any change may break a current live feature. -DescriptionLong=Long description -EditorName=Name of editor -EditorUrl=URL of editor -DescriptorFile=Descriptor file of module -ClassFile=File for PHP DAO CRUD class -ApiClassFile=File for PHP API class -PageForList=PHP page for list of record -PageForCreateEditView=PHP page to create/edit/view a record -PageForAgendaTab=PHP page for event tab -PageForDocumentTab=PHP page for document tab -PageForNoteTab=PHP page for note tab -PageForContactTab=PHP page for contact tab -PathToModulePackage=Path to zip of module/application package -PathToModuleDocumentation=Path to file of module/application documentation (%s) -SpaceOrSpecialCharAreNotAllowed=Spaces or special characters are not allowed. -FileNotYetGenerated=File not yet generated -RegenerateClassAndSql=Force update of .class and .sql files -RegenerateMissingFiles=Generate missing files -SpecificationFile=File of documentation -LanguageFile=File for language -ObjectProperties=Object Properties -ConfirmDeleteProperty=Are you sure you want to delete the property %s? This will change code in PHP class but also remove column from table definition of object. -NotNull=Not NULL -NotNullDesc=1=Set database to NOT NULL. -1=Allow null values and force value to NULL if empty ('' or 0). -SearchAll=Used for 'search all' -DatabaseIndex=Database index -FileAlreadyExists=File %s already exists -TriggersFile=File for triggers code -HooksFile=File for hooks code -ArrayOfKeyValues=Array of key-val -ArrayOfKeyValuesDesc=Array of keys and values if field is a combo list with fixed values -WidgetFile=Widget file -CSSFile=CSS file -JSFile=Javascript file -ReadmeFile=Readme file -ChangeLog=ChangeLog file -TestClassFile=File for PHP Unit Test class -SqlFile=Sql file -PageForLib=File for the common PHP library -PageForObjLib=File for the PHP library dedicated to object -SqlFileExtraFields=Sql file for complementary attributes -SqlFileKey=Sql file for keys -SqlFileKeyExtraFields=Sql file for keys of complementary attributes -AnObjectAlreadyExistWithThisNameAndDiffCase=An object already exists with this name and a different case -UseAsciiDocFormat=You can use Markdown format, but it is recommended to use Asciidoc format (omparison between .md and .asciidoc: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) -IsAMeasure=Is a measure -DirScanned=Directory scanned -NoTrigger=No trigger -NoWidget=No widget -GoToApiExplorer=API explorer -ListOfMenusEntries=List of menu entries -ListOfDictionariesEntries=List of dictionaries entries -ListOfPermissionsDefined=List of defined permissions -SeeExamples=See examples here -EnabledDesc=Condition to have this field active (Examples: 1 or $conf->global->MYMODULE_MYOPTION) -VisibleDesc=Is the field visible ? (Examples: 0=Never visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create), 5=Visible on list end view form only (not create, not update).

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

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

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

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

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

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

Note: Once defined (and module re-activated), permissions are visible into the default permissions setup %s. -HooksDefDesc=Define in the module_parts['hooks'] property, in the module descriptor, the context of hooks you want to manage (list of contexts can be found by a search on 'initHooks(' in core code).
Edit the hook file to add code of your hooked functions (hookable functions can be found by a search on 'executeHooks' in core code). -TriggerDefDesc=Define in the trigger file the code you want to execute for each business event executed. -SeeIDsInUse=See IDs in use in your installation -SeeReservedIDsRangeHere=See range of reserved IDs -ToolkitForDevelopers=Toolkit for Dolibarr developers -TryToUseTheModuleBuilder=If you have knowledge of SQL and PHP, you may use the native module builder wizard.
Enable the module %s and use the wizard by clicking the on the top right menu.
Warning: This is an advanced developer feature, do not experiment on your production site! -SeeTopRightMenu=See on the top right menu -AddLanguageFile=Add language file -YouCanUseTranslationKey=You can use here a key that is the translation key found into language file (see tab "Languages") -DropTableIfEmpty=(Destroy table if empty) -TableDoesNotExists=The table %s does not exists -TableDropped=Table %s deleted -InitStructureFromExistingTable=Build the structure array string of an existing table -UseAboutPage=Disable the about page -UseDocFolder=Disable the documentation folder -UseSpecificReadme=Use a specific ReadMe -ContentOfREADMECustomized=Note: The content of the README.md file has been replaced with the specific value defined into setup of ModuleBuilder. -RealPathOfModule=Real path of module -ContentCantBeEmpty=Content of file can't be empty -WidgetDesc=You can generate and edit here the widgets that will be embedded with your module. -CSSDesc=You can generate and edit here a file with personalized CSS embedded with your module. -JSDesc=You can generate and edit here a file with personalized Javascript embedded with your module. -CLIDesc=You can generate here some command line scripts you want to provide with your module. -CLIFile=CLI File -NoCLIFile=No CLI files -UseSpecificEditorName = Use a specific editor name -UseSpecificEditorURL = Use a specific editor URL -UseSpecificFamily = Use a specific family -UseSpecificAuthor = Use a specific author -UseSpecificVersion = Use a specific initial version -IncludeRefGeneration=The reference of object must be generated automatically -IncludeRefGenerationHelp=Check this if you want to include code to manage the generation automatically of the reference -IncludeDocGeneration=I want to generate some documents from the object -IncludeDocGenerationHelp=If you check this, some code will be generated to add a "Generate document" box on the record. -ShowOnCombobox=Show value into combobox -KeyForTooltip=Key for tooltip -CSSClass=CSS for edit/create form -CSSViewClass=CSS for read form -CSSListClass=CSS for list -NotEditable=Not editable -ForeignKey=Foreign key -TypeOfFieldsHelp=Type of fields:
varchar(99), double(24,8), real, text, html, datetime, timestamp, integer, integer:ClassName:relativepath/to/classfile.class.php[:1[:filter]] ('1' means we add a + button after the combo to create the record, 'filter' can be 'status=1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' for example) -AsciiToHtmlConverter=Ascii to HTML converter -AsciiToPdfConverter=Ascii to PDF converter -TableNotEmptyDropCanceled=Table not empty. Drop has been canceled. -ModuleBuilderNotAllowed=The module builder is available but not allowed to your user. -ImportExportProfiles=Import and export profiles +ModuleBuilderDesc=Ushbu vositadan faqat tajribali foydalanuvchilar yoki ishlab chiquvchilar foydalanishi kerak. O'zingizning modulingizni yaratish yoki tahrirlash uchun yordam dasturlarini taqdim etadi. Muqobil qo'lda ishlab chiqish uchun hujjatlar bu erda . +EnterNameOfModuleDesc=Bo'sh joysiz yaratish uchun modul / dastur nomini kiriting. So'zlarni ajratish uchun katta harflardan foydalaning (Masalan: MyModule, EcommerceForShop, SyncWithMySystem ...) +EnterNameOfObjectDesc=Bo'sh joysiz yaratish uchun ob'ekt nomini kiriting. So'zlarni ajratish uchun katta harflardan foydalaning (Masalan: MyObject, Student, Teacher ...). CRUD sinf fayli, shuningdek API fayli, ro'yxat / qo'shish / tahrirlash / o'chirish sahifalari va SQL fayllari yaratiladi. +ModuleBuilderDesc2=Modullar ishlab chiqarilgan / tahrirlangan yo'l (tashqi modullar uchun birinchi katalog %s da belgilangan): %s +ModuleBuilderDesc3=Yaratilgan / tahrirlanadigan modullar topildi: %s +ModuleBuilderDesc4= %s fayli modul katalogining ildizida mavjud bo'lganda modul "tahrirlanadigan" deb topildi +NewModule=Yangi modul +NewObjectInModulebuilder=Yangi ob'ekt +ModuleKey=Modul kaliti +ObjectKey=Ob'ekt kaliti +ModuleInitialized=Modul ishga tushirildi +FilesForObjectInitialized=Yangi ob'ekt uchun fayllar '%s' ishga tushirildi +FilesForObjectUpdated='%s' ob'ekti uchun fayllar yangilandi (.sql fayllari va .class.php fayli) +ModuleBuilderDescdescription=Bu erga modulingizni tavsiflovchi barcha umumiy ma'lumotlarni kiriting. +ModuleBuilderDescspecifications=Siz bu erga boshqa yorliqlarda tuzilmagan modulingizning batafsil tavsifini kiritishingiz mumkin. Shunday qilib, siz rivojlantirish uchun barcha qoidalarga osonlikcha erishasiz. Ushbu matn tarkibi yaratilgan hujjatlarga kiritiladi (oxirgi yorliqni ko'ring). Siz Markdown formatidan foydalanishingiz mumkin, ammo Asciidoc formatidan foydalanish tavsiya etiladi (.md va .asciidoc bilan taqqoslash: http://asciidoctor.org/docs/user-manual/#compared-to-markdown). +ModuleBuilderDescobjects=O'zingizning modulingiz bilan boshqarmoqchi bo'lgan ob'ektlarni aniqlang. CRUD DAO klassi, SQL fayllari, ob'ektlar ro'yxati ro'yxati, yozuvni yaratish / tahrirlash / ko'rish uchun API va API yaratiladi. +ModuleBuilderDescmenus=Ushbu yorliq sizning modulingiz tomonidan taqdim etilgan menyu yozuvlarini aniqlashga bag'ishlangan. +ModuleBuilderDescpermissions=Ushbu yorliq sizning modulingiz bilan ta'minlamoqchi bo'lgan yangi ruxsatlarni aniqlashga bag'ishlangan. +ModuleBuilderDesctriggers=Bu sizning modulingiz tomonidan taqdim etilgan triggerlarning ko'rinishi. Tijorat tadbirlari boshlanganda bajarilgan kodni kiritish uchun ushbu faylni tahrirlash kifoya. +ModuleBuilderDeschooks=Ushbu yorliq kancalarga bag'ishlangan. +ModuleBuilderDescwidgets=Ushbu yorliq vidjetlarni boshqarish / qurishga bag'ishlangan. +ModuleBuilderDescbuildpackage=Siz bu erda modulingizning "tarqatishga tayyor" paketli faylini (normalizatsiya qilingan .zip fayli) va "tarqatishga tayyor" hujjat faylini yaratishingiz mumkin. Paket yoki hujjatlar faylini yaratish uchun tugmani bosing. +EnterNameOfModuleToDeleteDesc=Siz modulingizni o'chirib tashlashingiz mumkin. OGOHLANTIRISH: Modulning barcha kodlash fayllari (qo'lda yaratilgan yoki yaratilgan) VA tuzilgan ma'lumotlar va hujjatlar o'chiriladi! +EnterNameOfObjectToDeleteDesc=Ob'ektni o'chirishingiz mumkin. OGOHLANTIRISH: Ob'ektga tegishli bo'lgan barcha kodlash fayllari (qo'lda yaratilgan yoki yaratilgan) o'chiriladi! +DangerZone=Xavfli hudud +BuildPackage=Paket yaratish +BuildPackageDesc=Siz o'zingizning arizangizning zip paketini yaratishingiz mumkin, shunda siz uni har qanday Dolibarr-da tarqatishga tayyor bo'lasiz. Siz uni tarqatishingiz yoki kabi bozorda sotishingiz mumkin DoliStore.com . +BuildDocumentation=Hujjatlarni yaratish +ModuleIsNotActive=Ushbu modul hali faollashtirilmagan. Uni jonli qilish uchun %s-ga o'ting yoki shu yerni bosing +ModuleIsLive=Ushbu modul faollashtirildi. Har qanday o'zgarish joriy jonli xususiyatni buzishi mumkin. +DescriptionLong=Uzoq tavsif +EditorName=Muharrir nomi +EditorUrl=Tahrirlovchining URL manzili +DescriptorFile=Modulning tavsiflovchi fayli +ClassFile=PHP DAO CRUD klassi uchun fayl +ApiClassFile=PHP API klassi uchun fayl +PageForList=Rekordlar ro'yxati uchun PHP sahifasi +PageForCreateEditView=Yozuvni yaratish / tahrirlash / ko'rish uchun PHP sahifasi +PageForAgendaTab=Voqealar yorlig'i uchun PHP sahifasi +PageForDocumentTab=Hujjatlar yorlig'i uchun PHP sahifasi +PageForNoteTab=Eslatma yorlig'i uchun PHP sahifasi +PageForContactTab=Kontakt yorlig'i uchun PHP sahifasi +PathToModulePackage=Modul / dastur paketini zipga yo'naltirish +PathToModuleDocumentation=Modul / dastur hujjatlari fayliga yo'l (%s) +SpaceOrSpecialCharAreNotAllowed=Bo'sh joy yoki maxsus belgilarga ruxsat berilmaydi. +FileNotYetGenerated=Fayl hali yaratilmagan +RegenerateClassAndSql=.Class va .sql fayllarini majburiy yangilash +RegenerateMissingFiles=Yo'qotilgan fayllarni yaratish +SpecificationFile=Hujjatlar fayli +LanguageFile=Til uchun fayl +ObjectProperties=Ob'ekt xususiyatlari +ConfirmDeleteProperty= %s xususiyatini o'chirishni xohlaysizmi? Bu PHP sinfidagi kodni o'zgartiradi, shuningdek ob'ektni jadval ta'rifidan ustunni olib tashlaydi. +NotNull=NULL emas +NotNullDesc=1 = Ma'lumotlar bazasini NOT NULL-ga sozlang. -1 = bo'sh ('' yoki 0) bo'lsa, null qiymatlarga va majburiy qiymatga NULL-ga ruxsat bering. +SearchAll="Hammasini qidirish" uchun ishlatiladi +DatabaseIndex=Ma'lumotlar bazasi indeksi +FileAlreadyExists=%s fayli allaqachon mavjud +TriggersFile=Trigger kodi uchun fayl +HooksFile=Kancalar kodi uchun fayl +ArrayOfKeyValues=Key-val qatori +ArrayOfKeyValuesDesc=Agar maydon belgilangan qiymatlarga ega bo'lgan kombinatsion ro'yxat bo'lsa, kalitlar va qiymatlar qatori +WidgetFile=Vidjet fayli +CSSFile=CSS fayli +JSFile=Javascript fayli +ReadmeFile=Readme fayli +ChangeLog=ChangeLog fayli +TestClassFile=PHP birligi testi uchun fayl +SqlFile=SQL fayli +PageForLib=Umumiy PHP kutubxonasi uchun fayl +PageForObjLib=Ob'ektga bag'ishlangan PHP kutubxonasi uchun fayl +SqlFileExtraFields=Qo'shimcha atributlar uchun SQL fayli +SqlFileKey=Kalitlar uchun SQL fayli +SqlFileKeyExtraFields=Qo'shimcha atributlarning kalitlari uchun SQL fayli +AnObjectAlreadyExistWithThisNameAndDiffCase=Ob'ekt allaqachon ushbu nom va boshqa holat bilan mavjud +UseAsciiDocFormat=Siz Markdown formatidan foydalanishingiz mumkin, ammo Asciidoc formatidan foydalanish tavsiya etiladi (.md va .asciidoc o'rtasidagi omparison: http://asciidoctor.org/docs/user-manual/#compared-to-markdown) +IsAMeasure=Bu o'lchovdir +DirScanned=Katalog skanerdan o'tkazildi +NoTrigger=Trigger yo'q +NoWidget=Vidjet yo‘q +GoToApiExplorer=API Explorer +ListOfMenusEntries=Menyu yozuvlari ro'yxati +ListOfDictionariesEntries=Lug'at yozuvlari ro'yxati +ListOfPermissionsDefined=Belgilangan ruxsatnomalar ro'yxati +SeeExamples=Bu erda misollarni ko'ring +EnabledDesc=Ushbu maydon faol bo'lishi sharti (Masalan: 1 yoki $ conf-> global-> MYMODULE_MYOPTION) +VisibleDesc=Maydon ko'rinadimi? (Masalan: 0 = Hech qachon ko'rinmaydi, 1 = Ro'yxatda ko'rinadi va shakllarni yaratadi / yangilaydi / ko'radi, 2 = Faqat ro'yxatda ko'rinadi, 3 = Faqat shaklni yaratadi / yangilaydi / ko'radi (ro'yxatda emas), 4 = Ro'yxatda ko'rinadigan va faqat yangilash / ko'rish formasi (yaratilmaydi), 5 = Faqat ro'yxat ko'rinishida ko'rinadigan shakl (yaratilmaydi, yangilanmaydi).

manfiy qiymatdan foydalanish maydon sukut bo'yicha ro'yxatda ko'rsatilmaydi, lekin ko'rish uchun tanlanishi mumkin).

Bu ibora bo'lishi mumkin, masalan:
preg_match ('/ public /', $ _SERVER ['PHP_SELF'])? 0: 1
($ user-> Rights_day> +DisplayOnPdfDesc=Ushbu maydonni mos keladigan PDF hujjatlarida ko'rsating, siz "Pozitsiya" maydonida pozitsiyani boshqarishingiz mumkin.
Bugungi kunda ma'lum compatibles PDF modellari: eratosthene (tartibi), espadon (kema), shimgichni (Xarajatlarni), ko'k (propal / narx), cornas (etkazib beruvchi tartib)

hujjat uchun:
0 =
1 ko'rsatilmaydi = ko'rsatish
2 = ko'rsatishi faqat bo'sh emas, agar

uchun hujjat bosqichlari:
0 = emas
1 = keyin Tavsif ustun 4 = namoyish
ta'rifi keyin liniyasi Tavsif ustun 3 = namoyish
bir ustun ko'rsatiladi ko'rsatilgan faqat bo'sh bo'lmasa tavsif +DisplayOnPdf=PDF-da ko'rsatish +IsAMeasureDesc=Jami ro'yxatga kiritish uchun maydon qiymatini yig'ish mumkinmi? (Masalan: 1 yoki 0) +SearchAllDesc=Ushbu maydon tezkor qidiruv vositasidan qidirish uchun foydalaniladimi? (Masalan: 1 yoki 0) +SpecDefDesc=O'zingizning modulingiz bilan ta'minlamoqchi bo'lgan barcha boshqa hujjatlarni bu erga kiriting. Siz .md yoki undan yaxshiroq, boy .asciidoc sintaksisidan foydalanishingiz mumkin. +LanguageDefDesc=Ushbu fayllarga barcha kalitlarni va har bir til fayli uchun tarjimasini kiriting. +MenusDefDesc=Modulingiz tomonidan taqdim etilgan menyularni aniqlang +DictionariesDefDesc=Modulingiz tomonidan taqdim etilgan lug'atlarni aniqlang +PermissionsDefDesc=Sizning modulingiz tomonidan taqdim etilgan yangi ruxsatlarni aniqlang +MenusDefDescTooltip=Sizning modulingiz / ilovangiz tomonidan taqdim etilgan menyular $ this-> menyular massivida modul tavsiflovchi faylida aniqlangan. Siz ushbu faylni qo'lda tahrirlashingiz yoki o'rnatilgan muharrirdan foydalanishingiz mumkin.

Izoh: Belgilanganidan keyin (va modul qayta yoqilganda) menyu muharriri %s-da administrator foydalanuvchilari uchun mavjud. +DictionariesDefDescTooltip=Sizning modulingiz / ilovangiz tomonidan taqdim etilgan lug'atlar $ this-> lug'atlar massivida modul tavsiflovchi faylida aniqlangan. Siz ushbu faylni qo'lda tahrirlashingiz yoki o'rnatilgan muharrirdan foydalanishingiz mumkin.

Eslatma: Belgilanganidan keyin (va modul qayta yoqilganda), lug'atlar administrator foydalanuvchilariga %s-da o'rnatish maydonchasida ham ko'rinadi. +PermissionsDefDescTooltip=Sizning modulingiz / ilovangiz tomonidan berilgan ruxsatlar $ this-> huquqlari qatorida modul identifikatori faylida aniqlangan. Siz ushbu faylni qo'lda tahrirlashingiz yoki o'rnatilgan muharrirdan foydalanishingiz mumkin.

Izoh: Belgilanganidan keyin (va modul qayta yoqilganda), ruxsatnomalar standart ruxsatlar %s-da ko'rinadi. +HooksDefDesc= module_parts ['ilgaklar'] xususiyatida, modul identifikatorida siz boshqarmoqchi bo'lgan ilgaklar kontekstini aniqlang (kontekstlar ro'yxati ' initHooks (a09c094) kodlari) sizning bog'langan funktsiyalaringizning kodini qo'shish uchun kanca fayli (kanca funktsiyalarini ' executeHooks ' dan qidirish orqali topishingiz mumkin). +TriggerDefDesc=Trigger faylida bajarilgan har bir ishbilarmonlik hodisasi uchun siz bajarmoqchi bo'lgan kodni aniqlang. +SeeIDsInUse=O'rnatishda foydalanilayotgan identifikatorlarni ko'ring +SeeReservedIDsRangeHere=Saqlangan identifikatorlar qatorini ko'ring +ToolkitForDevelopers=Dolibarr dasturchilari uchun qo'llanma +TryToUseTheModuleBuilder=Agar siz SQL va PHP haqida ma'lumotga ega bo'lsangiz, mahalliy modul yaratuvchisi sehrgaridan foydalanishingiz mumkin.
%s modulini yoqing va ustadan o'ng menyusida bosing.
Ogohlantirish: Bu ishlab chiquvchining rivojlangan xususiyati, ishlab chiqarish saytida
emas, balki tajribasini bajaring! +SeeTopRightMenu=Yuqoridagi o'ng menyuda ga qarang. +AddLanguageFile=Til faylini qo'shing +YouCanUseTranslationKey=Siz bu erda til faylida joylashgan tarjima kaliti bo'lgan kalitdan foydalanishingiz mumkin ("Tillar" yorlig'iga qarang) +DropTableIfEmpty=(Bo'sh bo'lsa jadvalni yo'q qilish) +TableDoesNotExists=%s jadvali mavjud emas +TableDropped=%s-jadval o'chirildi +InitStructureFromExistingTable=Mavjud jadvalning struktura qatorlari qatorini yarating +UseAboutPage=Haqida sahifani o'chirib qo'ying +UseDocFolder=Hujjatlar papkasini o'chirib qo'ying +UseSpecificReadme=Muayyan ReadMe-dan foydalaning +ContentOfREADMECustomized=Eslatma: README.md faylining tarkibi ModuleBuilder-ni o'rnatishda aniqlangan qiymat bilan almashtirildi. +RealPathOfModule=Modulning haqiqiy yo'li +ContentCantBeEmpty=Fayl tarkibi bo'sh bo'lishi mumkin emas +WidgetDesc=Siz o'zingizning modulingizga o'rnatilgan vidjetlarni yaratishingiz va tahrirlashingiz mumkin. +CSSDesc=Siz o'zingizning modulingizga kiritilgan shaxsiy CSS-ga ega faylni yaratishingiz va tahrirlashingiz mumkin. +JSDesc=Siz o'zingizning modulingizga kiritilgan shaxsiylashtirilgan Javascript bilan fayl yaratishingiz va tahrirlashingiz mumkin. +CLIDesc=Siz o'zingizning modulingiz bilan ta'minlamoqchi bo'lgan ba'zi buyruq satri skriptlarini yaratishingiz mumkin. +CLIFile=CLI fayli +NoCLIFile=CLI fayllari yo'q +UseSpecificEditorName = Muayyan muharrir nomidan foydalaning +UseSpecificEditorURL = Muayyan tahrirlovchining URL manzilidan foydalaning +UseSpecificFamily = Muayyan oiladan foydalaning +UseSpecificAuthor = Muayyan muallifdan foydalaning +UseSpecificVersion = Muayyan dastlabki versiyadan foydalaning +IncludeRefGeneration=Ob'ektning ma'lumotnomasi avtomatik ravishda yaratilishi kerak +IncludeRefGenerationHelp=Malumotni avtomatik ravishda ishlab chiqarishni boshqarish uchun kod qo'shishni xohlasangiz, buni tekshiring +IncludeDocGeneration=Ob'ektdan bir nechta hujjatlar yaratmoqchiman +IncludeDocGenerationHelp=Agar buni belgilasangiz, yozuvga "Hujjat yaratish" katagini qo'shish uchun ba'zi kodlar hosil bo'ladi. +ShowOnCombobox=Kombay qutisiga qiymatni ko'rsating +KeyForTooltip=Maslahatlar uchun kalit +CSSClass=Formani tahrirlash / yaratish uchun CSS +CSSViewClass=O'qish shakli uchun CSS +CSSListClass=Ro'yxat uchun CSS +NotEditable=Tahrirlash mumkin emas +ForeignKey=Chet el kaliti +TypeOfFieldsHelp=Maydonlar turi:
varchar (99), double (24,8), real, text, html, datetime, timestamp, integer, integer: ClassName: relatpath / to / classfile.class.php [: 1 [: filter]] ('1' biz yozuvni yaratish uchun kombinatsiyadan keyin + tugmachasini qo'shamiz degani, 'filtr' 'status = 1 AND fk_user = __USER_ID AND entity IN (__SHARED_ENTITIES__)' bo'lishi mumkin). +AsciiToHtmlConverter=Ascii-dan HTML-ga o'zgartiruvchi +AsciiToPdfConverter=Ascii-dan PDF-ga o'tkazuvchi +TableNotEmptyDropCanceled=Stol bo'sh emas Drop bekor qilindi. +ModuleBuilderNotAllowed=Modul yaratuvchisi mavjud, ammo sizning foydalanuvchingizga ruxsat berilmagan. +ImportExportProfiles=Import va eksport rejimlari diff --git a/htdocs/langs/uz_UZ/mrp.lang b/htdocs/langs/uz_UZ/mrp.lang index 2414a92cefb..682005e864f 100644 --- a/htdocs/langs/uz_UZ/mrp.lang +++ b/htdocs/langs/uz_UZ/mrp.lang @@ -1,103 +1,103 @@ -Mrp=Manufacturing Orders -MOs=Manufacturing orders -ManufacturingOrder=Manufacturing Order -MRPDescription=Module to manage production and Manufacturing Orders (MO). -MRPArea=MRP Area -MrpSetupPage=Setup of module MRP -MenuBOM=Bills of material -LatestBOMModified=Latest %s Bills of materials modified -LatestMOModified=Latest %s Manufacturing Orders modified -Bom=Bills of Material -BillOfMaterials=Bill of Materials -BOMsSetup=Setup of module BOM -ListOfBOMs=List of bills of material - BOM -ListOfManufacturingOrders=List of Manufacturing Orders -NewBOM=New bill of materials -ProductBOMHelp=Product to create (or disassemble) with this BOM.
Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. -BOMsNumberingModules=BOM numbering templates -BOMsModelModule=BOM document templates -MOsNumberingModules=MO numbering templates -MOsModelModule=MO document templates -FreeLegalTextOnBOMs=Free text on document of BOM -WatermarkOnDraftBOMs=Watermark on draft BOM -FreeLegalTextOnMOs=Free text on document of MO -WatermarkOnDraftMOs=Watermark on draft MO -ConfirmCloneBillOfMaterials=Are you sure you want to clone the bill of materials %s ? -ConfirmCloneMo=Are you sure you want to clone the Manufacturing Order %s ? -ManufacturingEfficiency=Manufacturing efficiency -ConsumptionEfficiency=Consumption efficiency -ValueOfMeansLoss=Value of 0.95 means an average of 5%% of loss during the production -ValueOfMeansLossForProductProduced=Value of 0.95 means an average of 5%% of loss of produced product -DeleteBillOfMaterials=Delete Bill Of Materials -DeleteMo=Delete Manufacturing Order -ConfirmDeleteBillOfMaterials=Are you sure you want to delete this Bill Of Materials? -ConfirmDeleteMo=Are you sure you want to delete this Bill Of Materials? -MenuMRP=Manufacturing Orders -NewMO=New Manufacturing Order -QtyToProduce=Qty to produce -DateStartPlannedMo=Date start planned -DateEndPlannedMo=Date end planned -KeepEmptyForAsap=Empty means 'As Soon As Possible' -EstimatedDuration=Estimated duration -EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM -ConfirmValidateBom=Are you sure you want to validate the BOM with the reference %s (you will be able to use it to build new Manufacturing Orders) -ConfirmCloseBom=Are you sure you want to cancel this BOM (you won't be able to use it to build new Manufacturing Orders anymore) ? -ConfirmReopenBom=Are you sure you want to re-open this BOM (you will be able to use it to build new Manufacturing Orders) -StatusMOProduced=Produced -QtyFrozen=Frozen Qty -QuantityFrozen=Frozen Quantity -QuantityConsumedInvariable=When this flag is set, the quantity consumed is always the value defined and is not relative to the quantity produced. -DisableStockChange=Stock change disabled -DisableStockChangeHelp=When this flag is set, there is no stock change on this product, whatever is the quantity consumed -BomAndBomLines=Bills Of Material and lines -BOMLine=Line of BOM -WarehouseForProduction=Warehouse for production -CreateMO=Create MO -ToConsume=To consume -ToProduce=To produce -QtyAlreadyConsumed=Qty already consumed -QtyAlreadyProduced=Qty already produced -QtyRequiredIfNoLoss=Qty required if there is no loss (Manufacturing efficiency is 100%%) -ConsumeOrProduce=Consume or Produce -ConsumeAndProduceAll=Consume and Produce All -Manufactured=Manufactured -TheProductXIsAlreadyTheProductToProduce=The product to add is already the product to produce. -ForAQuantityOf=For a quantity to produce of %s -ForAQuantityToConsumeOf=For a quantity to disassemble of %s -ConfirmValidateMo=Are you sure you want to validate this Manufacturing Order? -ConfirmProductionDesc=By clicking on '%s', you will validate the consumption and/or production for the quantities set. This will also update the stock and record stock movements. -ProductionForRef=Production of %s -AutoCloseMO=Close automatically the Manufacturing Order if quantities to consume and to produce are reached -NoStockChangeOnServices=No stock change on services -ProductQtyToConsumeByMO=Product quantity still to consume by open MO -ProductQtyToProduceByMO=Product quantity still to produce by open MO -AddNewConsumeLines=Add new line to consume -ProductsToConsume=Products to consume -ProductsToProduce=Products to produce -UnitCost=Unit cost -TotalCost=Total cost -BOMTotalCost=The cost to produce this BOM based on cost of each quantity and product to consume (use Cost price if defined, else Average Weighted Price if defined, else the Best purchase price) -GoOnTabProductionToProduceFirst=You must first have started the production to close a Manufacturing Order (See tab '%s'). But you can Cancel it. -ErrorAVirtualProductCantBeUsedIntoABomOrMo=A kit can't be used into a BOM or a MO -Workstation=Workstation -Workstations=Workstations -WorkstationsDescription=Workstations management -WorkstationSetup = Workstations setup -WorkstationSetupPage = Workstations setup page -WorkstationList=Workstation list -WorkstationCreate=Add new workstation -ConfirmEnableWorkstation=Are you sure you want to enable workstation %s ? -EnableAWorkstation=Enable a workstation -ConfirmDisableWorkstation=Are you sure you want to disable workstation %s ? -DisableAWorkstation=Disable a workstation -DeleteWorkstation=Delete -NbOperatorsRequired=Number of operators required -THMOperatorEstimated=Estimated operator THM -THMMachineEstimated=Estimated machine THM -WorkstationType=Workstation type -Human=Human -Machine=Machine -HumanMachine=Human / Machine -WorkstationArea=Workstation area -Machines=Machines -THMEstimatedHelp=This rate makes it possible to define a forecast cost of the item +Mrp=Ishlab chiqarish buyurtmalari +MOs=Ishlab chiqarish buyurtmalari +ManufacturingOrder=Ishlab chiqarish tartibi +MRPDescription=Ishlab chiqarish va ishlab chiqarish buyurtmalarini boshqarish uchun modul (MO). +MRPArea=MRP maydoni +MrpSetupPage=MRP modulini sozlash +MenuBOM=Materiallar +LatestBOMModified=Oxirgi %s O'zgartirilgan materiallar hisob-kitoblari +LatestMOModified=Oxirgi %s ishlab chiqarish buyurtmalari o'zgartirildi +Bom=Materiallar veksellari +BillOfMaterials=Materiallar hujjati +BOMsSetup=BOM modulini sozlash +ListOfBOMs=Materiallar ro'yxati - BOM +ListOfManufacturingOrders=Ishlab chiqarish buyurtmalarining ro'yxati +NewBOM=Yangi hisobot materiallari +ProductBOMHelp=Ushbu BOM bilan yaratish (yoki qismlarga ajratish) uchun mahsulot.
Izoh: 'Mahsulotning tabiati' = 'Xomashyo' xususiyatiga ega mahsulotlar ushbu ro'yxatda ko'rinmaydi. +BOMsNumberingModules=BOM raqamlash shablonlari +BOMsModelModule=BOM hujjatlari shablonlari +MOsNumberingModules=MO raqamlash shablonlari +MOsModelModule=MO hujjatlari shablonlari +FreeLegalTextOnBOMs=BOM hujjatidagi bepul matn +WatermarkOnDraftBOMs=BOM loyihasidagi suv belgisi +FreeLegalTextOnMOs=MO hujjatidagi bepul matn +WatermarkOnDraftMOs=MO loyihasidagi suv belgisi +ConfirmCloneBillOfMaterials=%s materiallar hisobini klonlamoqchimisiz? +ConfirmCloneMo=%s ishlab chiqarish buyurtmasini klonlamoqchimisiz? +ManufacturingEfficiency=Ishlab chiqarish samaradorligi +ConsumptionEfficiency=Iste'mol samaradorligi +ValueOfMeansLoss=0,95 qiymati ishlab chiqarish jarayonida o'rtacha 5%% yo'qotishlarni anglatadi +ValueOfMeansLossForProductProduced=0,95 qiymati ishlab chiqarilgan mahsulotning o'rtacha 5%% yo'qolishini anglatadi +DeleteBillOfMaterials=Materiallar varaqasini o'chirish +DeleteMo=Ishlab chiqarish buyurtmasini o'chirib tashlang +ConfirmDeleteBillOfMaterials=Ushbu Bill Of Materialni o'chirishni xohlaysizmi? +ConfirmDeleteMo=Ushbu Bill Of Materialni o'chirishni xohlaysizmi? +MenuMRP=Ishlab chiqarish buyurtmalari +NewMO=Yangi ishlab chiqarish tartibi +QtyToProduce=Miqdor ishlab chiqarish +DateStartPlannedMo=Sana boshlanishi rejalashtirilgan +DateEndPlannedMo=Sana tugashi rejalashtirilgan +KeepEmptyForAsap=Bo'sh "iloji boricha tezroq" degan ma'noni anglatadi +EstimatedDuration=Taxminiy davomiyligi +EstimatedDurationDesc=Ushbu BOM yordamida ushbu mahsulotni ishlab chiqarish (yoki demontaj qilish) uchun taxminiy muddat +ConfirmValidateBom=BOM-ni %s ma'lumotnomasi bilan tasdiqlashni xohlaysizmi (siz undan yangi ishlab chiqarish buyurtmalarini yaratish uchun foydalanishingiz mumkin) +ConfirmCloseBom=Ushbu BOM-ni bekor qilishni xohlaganingizga ishonchingiz komilmi (endi siz uni yangi ishlab chiqarish buyurtmalarini yaratish uchun ishlata olmaysiz)? +ConfirmReopenBom=Ushbu BOM-ni qayta ochmoqchi ekanligingizga aminmisiz (siz undan yangi ishlab chiqarish buyurtmalarini yaratish uchun foydalanishingiz mumkin) +StatusMOProduced=Ishlab chiqarilgan +QtyFrozen=Muzlatilgan miqdor +QuantityFrozen=Muzlatilgan miqdor +QuantityConsumedInvariable=Ushbu bayroq o'rnatilganida, iste'mol qilingan miqdor har doim belgilangan qiymat bo'lib, ishlab chiqarilgan miqdorga nisbatan emas. +DisableStockChange=Qimmatli qog'ozlar almashinuvi o'chirilgan +DisableStockChangeHelp=Ushbu bayroq o'rnatilganida, iste'mol qilingan miqdordan qat'i nazar, ushbu mahsulotda birja o'zgarishi bo'lmaydi +BomAndBomLines=Materiallar va chiziqlar +BOMLine=BOM liniyasi +WarehouseForProduction=Ishlab chiqarish uchun ombor +CreateMO=MO yaratish +ToConsume=Iste'mol qilish +ToProduce=Ishlab chiqarish +QtyAlreadyConsumed=Miqdor allaqachon iste'mol qilingan +QtyAlreadyProduced=Miqdor allaqachon ishlab chiqarilgan +QtyRequiredIfNoLoss=Zarar bo'lmasa, miqdor talab qilinadi (ishlab chiqarish samaradorligi 100%%) +ConsumeOrProduce=Iste'mol qiling yoki ishlab chiqaring +ConsumeAndProduceAll=Hammasini iste'mol qiling va ishlab chiqaring +Manufactured=Ishlab chiqarilgan +TheProductXIsAlreadyTheProductToProduce=Qo'shiladigan mahsulot allaqachon ishlab chiqariladigan mahsulotdir. +ForAQuantityOf=%s hosil qiladigan miqdor uchun +ForAQuantityToConsumeOf=%s qismini ajratish uchun miqdor uchun +ConfirmValidateMo=Ushbu ishlab chiqarish buyurtmasini tasdiqlamoqchimisiz? +ConfirmProductionDesc="%s" tugmachasini bosish orqali siz iste'mol qilingan miqdorni va / yoki ishlab chiqarishni belgilangan miqdorlarga tasdiqlaysiz. Bu shuningdek aktsiyalarni yangilaydi va aktsiyalarning harakatini qayd etadi. +ProductionForRef=%s ishlab chiqarish +AutoCloseMO=Iste'mol qilinadigan va ishlab chiqariladigan miqdorlarga erishilgan bo'lsa, ishlab chiqarish buyurtmasini avtomatik ravishda yoping +NoStockChangeOnServices=Xizmatlarda birja o'zgarishi yo'q +ProductQtyToConsumeByMO=Hali ham ochiq MO tomonidan iste'mol qilinadigan mahsulot miqdori +ProductQtyToProduceByMO=Hali ham ochiq MO tomonidan ishlab chiqariladigan mahsulot miqdori +AddNewConsumeLines=Iste'mol qilish uchun yangi qator qo'shing +ProductsToConsume=Iste'mol qilinadigan mahsulotlar +ProductsToProduce=Ishlab chiqarish uchun mahsulotlar +UnitCost=Birlik narxi +TotalCost=Umumiy qiymati +BOMTotalCost=Ushbu BOMni ishlab chiqarish uchun har bir miqdor va iste'mol qilinadigan mahsulot narxiga qarab xarajatlar (agar belgilangan bo'lsa, Narx narxidan foydalaning, boshqasi aniqlangan bo'lsa, o'rtacha og'irlik narxidan, eng yaxshi sotib olish narxidan) +GoOnTabProductionToProduceFirst=Ishlab chiqarish buyurtmasini yopish uchun siz avval ishlab chiqarishni boshlashingiz kerak ('%s' yorlig'iga qarang). Ammo siz buni bekor qilishingiz mumkin. +ErrorAVirtualProductCantBeUsedIntoABomOrMo=Kitni BOM yoki MOda ishlatib bo'lmaydi +Workstation=Ish stantsiyasi +Workstations=Ish stantsiyalari +WorkstationsDescription=Ish stantsiyalarini boshqarish +WorkstationSetup = Ish stantsiyalarini sozlash +WorkstationSetupPage = Ish stantsiyalarini sozlash sahifasi +WorkstationList=Ish stantsiyalari ro'yxati +WorkstationCreate=Yangi ish stantsiyasini qo'shing +ConfirmEnableWorkstation= %s ish stantsiyasini yoqishni xohlaysizmi? +EnableAWorkstation=Ish stantsiyasini yoqing +ConfirmDisableWorkstation=Ish stantsiyasini o'chirishni xohlaysizmi %s ? +DisableAWorkstation=Ish stantsiyasini o'chirib qo'ying +DeleteWorkstation=O'chirish +NbOperatorsRequired=Kerakli operatorlar soni +THMOperatorEstimated=Taxminiy operator THM +THMMachineEstimated=Taxminiy mashina THM +WorkstationType=Ish stantsiyasining turi +Human=Inson +Machine=Mashina +HumanMachine=Inson / mashina +WorkstationArea=Ish stantsiyasi maydoni +Machines=Mashinalar +THMEstimatedHelp=Ushbu stavka buyumning taxminiy narxini aniqlashga imkon beradi diff --git a/htdocs/langs/uz_UZ/multicurrency.lang b/htdocs/langs/uz_UZ/multicurrency.lang index bfcbd11fb7c..41bb4630ee0 100644 --- a/htdocs/langs/uz_UZ/multicurrency.lang +++ b/htdocs/langs/uz_UZ/multicurrency.lang @@ -1,22 +1,38 @@ # Dolibarr language file - Source file is en_US - multicurrency -MultiCurrency=Multi currency -ErrorAddRateFail=Error in added rate -ErrorAddCurrencyFail=Error in added currency -ErrorDeleteCurrencyFail=Error delete fail -multicurrency_syncronize_error=Synchronization error: %s -MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Use the date of the document to find the currency rate, instead of using the latest known rate -multicurrency_useOriginTx=When an object is created from another, keep the original rate from the source object (otherwise use the latest known rate) +MultiCurrency=Ko'p valyuta +ErrorAddRateFail=Qo'shilgan stavkada xato +ErrorAddCurrencyFail=Qo'shilgan valyutada xatolik yuz berdi +ErrorDeleteCurrencyFail=Xato o'chirilmadi +multicurrency_syncronize_error=Sinxronizatsiya xatosi: %s +MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Valyuta kursini topish uchun hujjat sanasidan foydalaning, o'rniga ma'lum bo'lgan so'nggi kursdan foydalaning +multicurrency_useOriginTx=Ob'ekt boshqasidan yaratilganda, dastlabki tezlikni manba ob'ektidan saqlang (aks holda eng so'nggi ma'lum stavkadan foydalaning) CurrencyLayerAccount=CurrencyLayer API -CurrencyLayerAccount_help_to_synchronize=You must create an account on website %s to use this functionality.
Get your API key.
If you use a free account, you can't change the source currency (USD by default).
If your main currency is not USD, the application will automatically recalculate it.

You are limited to 1000 synchronizations per month. -multicurrency_appId=API key -multicurrency_appCurrencySource=Source currency -multicurrency_alternateCurrencySource=Alternate source currency -CurrenciesUsed=Currencies used -CurrenciesUsed_help_to_add=Add the different currencies and rates you need to use on your proposals, orders etc. -rate=rate -MulticurrencyReceived=Received, original currency -MulticurrencyRemainderToTake=Remaining amount, original currency -MulticurrencyPaymentAmount=Payment amount, original currency -AmountToOthercurrency=Amount To (in currency of receiving account) -CurrencyRateSyncSucceed=Currency rate synchronization done successfuly -MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Use the currency of the document for online payments +CurrencyLayerAccount_help_to_synchronize=Ushbu funksiyadan foydalanish uchun siz %s veb-saytida qayd yozuvini yaratishingiz kerak.
API kalitini oling .
Agar siz bepul hisob qaydnomasidan foydalansangiz, manba (sukut bo'yicha AQSh dollarini) o'zgartira olmaysiz.
Agar sizning asosiy valyutangiz AQSh dollari bo'lmasa, dastur avtomatik ravishda uni qayta hisoblab chiqadi.

Siz oyiga 1000 ta sinxronizatsiya bilan cheklangansiz. +multicurrency_appId=API kaliti +multicurrency_appCurrencySource=Manba valyutasi +multicurrency_alternateCurrencySource=Muqobil manba valyutasi +CurrenciesUsed=Amaldagi valyutalar +CurrenciesUsed_help_to_add= , buyurtmalariga va boshqalar bo'yicha foydalanishingiz kerak bo'lgan turli xil valyutalar va kurslarni qo'shing. +rate=stavka +MulticurrencyReceived=Qabul qilingan, asl valyuta +MulticurrencyRemainderToTake=Qolgan summa, asl valyuta +MulticurrencyPaymentAmount=To'lov miqdori, asl valyuta +AmountToOthercurrency=Miqdor (qabul qiluvchi hisob raqamida) +CurrencyRateSyncSucceed=Valyuta kurslarini sinxronlashtirish muvaffaqiyatli amalga oshirildi +MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT=Onlayn to'lovlar uchun hujjat valyutasidan foydalaning +TabTitleMulticurrencyRate=Narxlar ro'yxati +ListCurrencyRate=Valyuta kurslarining ro'yxati +CreateRate=Narx yarating +FormCreateRate=Tezlik yaratish +FormUpdateRate=Narxlarni o'zgartirish +successRateCreate=Ma'lumotlar bazasiga %s valyuta kursi qo'shildi +ConfirmDeleteLineRate=%s sanasida %s valyuta %s kursini olib tashlamoqchimisiz? +DeleteLineRate=Ochiq stavka +successRateDelete=Baho o'chirildi +errorRateDelete=Tarifni o'chirishda xato +successUpdateRate=O'zgartirish amalga oshirildi +ErrorUpdateRate=Tarifni o'zgartirishda xato +Codemulticurrency=valyuta kodi +UpdateRate=stavkani o'zgartirish +CancelUpdate=bekor qilish +NoEmptyRate=Stavka maydoni bo'sh bo'lmasligi kerak diff --git a/htdocs/langs/uz_UZ/oauth.lang b/htdocs/langs/uz_UZ/oauth.lang index da2af8c7758..a8e5efd79d0 100644 --- a/htdocs/langs/uz_UZ/oauth.lang +++ b/htdocs/langs/uz_UZ/oauth.lang @@ -28,5 +28,5 @@ OAUTH_GITHUB_NAME=OAuth GitHub xizmati OAUTH_GITHUB_ID=OAuth GitHub Id OAUTH_GITHUB_SECRET=OAuth GitHub Secret OAUTH_GITHUB_DESC=Ushbu sahifaga -ga o'ting , keyin OAuth hisob ma'lumotlarini yaratish uchun "yangi dasturni ro'yxatdan o'tkazing". -OAUTH_STRIPE_TEST_NAME=OAuth Stripe Test +OAUTH_STRIPE_TEST_NAME=OAuth Stripe testi OAUTH_STRIPE_LIVE_NAME=OAuth Stripe Live diff --git a/htdocs/langs/uz_UZ/opensurvey.lang b/htdocs/langs/uz_UZ/opensurvey.lang index 2a18ce951aa..87d8745b6da 100644 --- a/htdocs/langs/uz_UZ/opensurvey.lang +++ b/htdocs/langs/uz_UZ/opensurvey.lang @@ -57,5 +57,5 @@ ErrorInsertingComment=Fikringizni kiritishda xatolik yuz berdi MoreChoices=Saylovchilar uchun ko'proq tanlovlarni kiriting SurveyExpiredInfo=Ovoz berish yopildi yoki ovoz berishni kechiktirish muddati tugadi. EmailSomeoneVoted=%s qatorni to'ldirdi.\nSo'rovnomangizni havoladan topishingiz mumkin:\n%s -ShowSurvey=Show survey -UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment +ShowSurvey=So'rovnomani ko'rsatish +UserMustBeSameThanUserUsedToVote=Siz ovoz bergan bo'lishingiz kerak va sharh yuborish uchun foydalanuvchi ovoz bergan foydalanuvchi nomidan foydalaning diff --git a/htdocs/langs/uz_UZ/orders.lang b/htdocs/langs/uz_UZ/orders.lang index 3dda0fbca6c..59d1f7d65a2 100644 --- a/htdocs/langs/uz_UZ/orders.lang +++ b/htdocs/langs/uz_UZ/orders.lang @@ -4,21 +4,21 @@ SuppliersOrdersArea=Sotib olish buyurtmalari maydoni OrderCard=Buyurtma kartasi OrderId=Buyurtma identifikatori Order=Buyurtma -PdfOrderTitle=Order +PdfOrderTitle=Buyurtma Orders=Buyurtmalar OrderLine=Buyurtma qatori OrderDate=Buyurtma sanasi OrderDateShort=Buyurtma sanasi OrderToProcess=Qayta ishlash uchun buyurtma NewOrder=Yangi buyurtma -NewSupplierOrderShort=New order -NewOrderSupplier=New Purchase Order +NewSupplierOrderShort=Yangi buyurtma +NewOrderSupplier=Xarid qilish bo'yicha yangi buyurtma ToOrder=Buyurtma qiling MakeOrder=Buyurtma qiling SupplierOrder=Xarid buyurtmasi SuppliersOrders=Sotib olish uchun buyurtmalar -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=Sotish buyurtmalarining yo'nalishlari +PurchaseOrderLines=Puchase buyurtma satrlari SuppliersOrdersRunning=Amaldagi buyurtmalar CustomerOrder=Sotish tartibi CustomersOrders=Sotish bo'yicha buyurtmalar @@ -29,8 +29,8 @@ OrdersToBill=Savdo buyurtmalari etkazib berildi OrdersInProcess=Savdo buyurtmalari amalga oshirilmoqda OrdersToProcess=Savdo buyurtmalarini qayta ishlash SuppliersOrdersToProcess=Qayta ishlash uchun buyurtmalarni sotib oling -SuppliersOrdersAwaitingReception=Purchase orders awaiting reception -AwaitingReception=Awaiting reception +SuppliersOrdersAwaitingReception=Qabul qilishni kutayotgan sotib olish buyurtmalari +AwaitingReception=Qabul kutilmoqda StatusOrderCanceledShort=Bekor qilindi StatusOrderDraftShort=Qoralama StatusOrderValidatedShort=Tasdiqlangan @@ -74,8 +74,8 @@ DeleteOrder=Buyurtmani o'chirish CancelOrder=Buyurtmani bekor qilish OrderReopened= %s buyurtmasini qayta oching AddOrder=Buyurtma yaratish -AddSupplierOrderShort=Create order -AddPurchaseOrder=Create purchase order +AddSupplierOrderShort=Buyurtma yaratish +AddPurchaseOrder=Xarid qilish uchun buyurtma yarating AddToDraftOrders=Chizma buyurtmasiga qo'shing ShowOrder=Buyurtmani ko'rsatish OrdersOpened=Qayta ishlash uchun buyurtmalar @@ -123,7 +123,7 @@ SecondApprovalAlreadyDone=Ikkinchi tasdiqlash allaqachon amalga oshirilgan SupplierOrderReceivedInDolibarr=%s sotib olish buyurtmasi %s qabul qilindi SupplierOrderSubmitedInDolibarr=%s sotib olish buyurtmasi taqdim etildi SupplierOrderClassifiedBilled=Xarid qilish buyurtmasi %s to'plami taqdim etiladi -OtherOrders=Other orders +OtherOrders=Boshqa buyurtmalar ##### Types de contacts ##### TypeContact_commande_internal_SALESREPFOLL=Vakilni kuzatib borish bo'yicha buyurtma TypeContact_commande_internal_SHIPPING=Vakilni etkazib berish @@ -146,11 +146,11 @@ OrderByWWW=Onlayn OrderByPhone=Telefon # Documents models PDFEinsteinDescription=Buyurtmaning to'liq modeli (Eratosthene shablonining eski qo'llanilishi) -PDFEratostheneDescription=A complete order model +PDFEratostheneDescription=To'liq buyurtma modeli PDFEdisonDescription=Oddiy buyurtma modeli PDFProformaDescription=Proforma hisob-fakturasining to'liq shabloni CreateInvoiceForThisCustomer=Bill buyurtmalari -CreateInvoiceForThisSupplier=Bill orders +CreateInvoiceForThisSupplier=Bill buyurtmalari NoOrdersToInvoice=Hech qanday buyurtma berilmaydi CloseProcessedOrdersAutomatically=Barcha tanlangan buyurtmalarni "Qayta ishlangan" deb tasniflang. OrderCreation=Buyurtmani yaratish @@ -159,35 +159,35 @@ OrderCreated=Sizning buyurtmalaringiz yaratilgan OrderFail=Sizning buyurtmalarni yaratishda xato yuz berdi CreateOrders=Buyurtma yarating ToBillSeveralOrderSelectCustomer=Bir nechta buyurtmalar uchun hisob-fakturani yaratish uchun avval mijozga bosing, so'ngra "%s" -ni tanlang. -OptionToSetOrderBilledNotEnabled=Option from module Workflow, to set order to 'Billed' automatically when invoice is validated, is not enabled, so you will have to set the status of orders to 'Billed' manually after the invoice has been generated. -IfValidateInvoiceIsNoOrderStayUnbilled=If invoice validation is 'No', the order will remain to status 'Unbilled' until the invoice is validated. +OptionToSetOrderBilledNotEnabled=Hisob-faktura tasdiqlanganda buyurtmani avtomatik ravishda "Billing" qilib belgilash uchun Workflow moduli opsiyasi yoqilmagan, shuning uchun siz hisob-faktura tuzilgandan so'ng buyurtmalar holatini qo'lda "Billing" ga o'rnatishingiz kerak bo'ladi. +IfValidateInvoiceIsNoOrderStayUnbilled=Agar hisob-fakturani tasdiqlash "Yo'q" bo'lsa, hisob-kitob tasdiqlangunga qadar buyurtma "Hisob-kitob qilinmagan" holatida qoladi. CloseReceivedSupplierOrdersAutomatically=Agar barcha mahsulotlar olingan bo'lsa, buyurtmani avtomatik ravishda "%s" holatiga qadar yoping. SetShippingMode=Yuk tashish rejimini o'rnating -WithReceptionFinished=With reception finished +WithReceptionFinished=Qabul tugadi #### supplier orders status -StatusSupplierOrderCanceledShort=Canceled -StatusSupplierOrderDraftShort=Draft -StatusSupplierOrderValidatedShort=Validated -StatusSupplierOrderSentShort=In process -StatusSupplierOrderSent=Shipment in process -StatusSupplierOrderOnProcessShort=Ordered -StatusSupplierOrderProcessedShort=Processed -StatusSupplierOrderDelivered=Delivered -StatusSupplierOrderDeliveredShort=Delivered -StatusSupplierOrderToBillShort=Delivered -StatusSupplierOrderApprovedShort=Approved -StatusSupplierOrderRefusedShort=Refused -StatusSupplierOrderToProcessShort=To process -StatusSupplierOrderReceivedPartiallyShort=Partially received -StatusSupplierOrderReceivedAllShort=Products received -StatusSupplierOrderCanceled=Canceled -StatusSupplierOrderDraft=Draft (needs to be validated) -StatusSupplierOrderValidated=Validated -StatusSupplierOrderOnProcess=Ordered - Standby reception -StatusSupplierOrderOnProcessWithValidation=Ordered - Standby reception or validation -StatusSupplierOrderProcessed=Processed -StatusSupplierOrderToBill=Delivered -StatusSupplierOrderApproved=Approved -StatusSupplierOrderRefused=Refused -StatusSupplierOrderReceivedPartially=Partially received -StatusSupplierOrderReceivedAll=All products received +StatusSupplierOrderCanceledShort=Bekor qilindi +StatusSupplierOrderDraftShort=Qoralama +StatusSupplierOrderValidatedShort=Tasdiqlangan +StatusSupplierOrderSentShort=Jarayonida +StatusSupplierOrderSent=Yuk tashish jarayoni +StatusSupplierOrderOnProcessShort=Buyurtma berildi +StatusSupplierOrderProcessedShort=Qayta ishlangan +StatusSupplierOrderDelivered=Yetkazib berildi +StatusSupplierOrderDeliveredShort=Yetkazib berildi +StatusSupplierOrderToBillShort=Yetkazib berildi +StatusSupplierOrderApprovedShort=Tasdiqlangan +StatusSupplierOrderRefusedShort=Rad etildi +StatusSupplierOrderToProcessShort=Qayta ishlash uchun +StatusSupplierOrderReceivedPartiallyShort=Qisman qabul qilindi +StatusSupplierOrderReceivedAllShort=Qabul qilingan mahsulotlar +StatusSupplierOrderCanceled=Bekor qilindi +StatusSupplierOrderDraft=Qoralama (tasdiqlanishi kerak) +StatusSupplierOrderValidated=Tasdiqlangan +StatusSupplierOrderOnProcess=Buyurtma qilingan - kutish holatida qabul qilish +StatusSupplierOrderOnProcessWithValidation=Buyurtma qilingan - kutish holatida qabul qilish yoki tasdiqlash +StatusSupplierOrderProcessed=Qayta ishlangan +StatusSupplierOrderToBill=Yetkazib berildi +StatusSupplierOrderApproved=Tasdiqlangan +StatusSupplierOrderRefused=Rad etildi +StatusSupplierOrderReceivedPartially=Qisman qabul qilindi +StatusSupplierOrderReceivedAll=Qabul qilingan barcha mahsulotlar diff --git a/htdocs/langs/uz_UZ/other.lang b/htdocs/langs/uz_UZ/other.lang index 10246a90522..4674d6d348b 100644 --- a/htdocs/langs/uz_UZ/other.lang +++ b/htdocs/langs/uz_UZ/other.lang @@ -7,34 +7,34 @@ ToolsDesc=Boshqa menyu yozuvlariga kiritilmagan barcha vositalar bu erda to'plan Birthday=Tug'ilgan kun BirthdayAlertOn=tug'ilgan kun haqida ogohlantirish faol BirthdayAlertOff=tug'ilgan kun haqida ogohlantirish faol emas -TransKey=Translation of the key TransKey -MonthOfInvoice=Month (number 1-12) of invoice date -TextMonthOfInvoice=Month (text) of invoice date -PreviousMonthOfInvoice=Previous month (number 1-12) of invoice date -TextPreviousMonthOfInvoice=Previous month (text) of invoice date -NextMonthOfInvoice=Following month (number 1-12) of invoice date -TextNextMonthOfInvoice=Following month (text) of invoice date -PreviousMonth=Previous month -CurrentMonth=Current month -ZipFileGeneratedInto=Zip file generated into %s. -DocFileGeneratedInto=Doc file generated into %s. -JumpToLogin=Disconnected. Go to login page... -MessageForm=Message on online payment form -MessageOK=Message on the return page for a validated payment -MessageKO=Message on the return page for a canceled payment -ContentOfDirectoryIsNotEmpty=Content of this directory is not empty. -DeleteAlsoContentRecursively=Check to delete all content recursively -PoweredBy=Powered by -YearOfInvoice=Year of invoice date -PreviousYearOfInvoice=Previous year of invoice date -NextYearOfInvoice=Following year of invoice date -DateNextInvoiceBeforeGen=Date of next invoice (before generation) -DateNextInvoiceAfterGen=Date of next invoice (after generation) -GraphInBarsAreLimitedToNMeasures=Grapics are limited to %s measures in 'Bars' mode. The mode 'Lines' was automatically selected instead. -OnlyOneFieldForXAxisIsPossible=Only 1 field is currently possible as X-Axis. Only the first selected field has been selected. -AtLeastOneMeasureIsRequired=At least 1 field for measure is required -AtLeastOneXAxisIsRequired=At least 1 field for X-Axis is required -LatestBlogPosts=Latest Blog Posts +TransKey=TransKey kalitining tarjimasi +MonthOfInvoice=Hisob-faktura sanasi oyi (1-12-raqam) +TextMonthOfInvoice=Hisob-faktura sanasi oyi (matni) +PreviousMonthOfInvoice=Hisob-fakturaning oldingi oyi (raqam 1-12) +TextPreviousMonthOfInvoice=Hisob-fakturaning oldingi oyi (matni) +NextMonthOfInvoice=Keyingi oy (1-12-raqam) hisob-faktura sanasi +TextNextMonthOfInvoice=Hisob-fakturaning keyingi oyi (matni) +PreviousMonth=Oldingi oy +CurrentMonth=Joriy oy +ZipFileGeneratedInto= %s formatida yaratilgan zip fayl. +DocFileGeneratedInto= %s formatida yaratilgan hujjat fayli. +JumpToLogin=Uzildi. Kirish sahifasiga o'tish ... +MessageForm=Onlayn to'lov shaklidagi xabar +MessageOK=Tasdiqlangan to'lov uchun qaytarish sahifasidagi xabar +MessageKO=Bekor qilingan to'lov uchun qaytarish sahifasidagi xabar +ContentOfDirectoryIsNotEmpty=Ushbu katalog tarkibi bo'sh emas. +DeleteAlsoContentRecursively=Barcha tarkibni rekursiv ravishda o'chirishni tekshiring +PoweredBy=Tomonidan qo'llab-quvvatlanadi +YearOfInvoice=Hisob-faktura sanasi yili +PreviousYearOfInvoice=Hisob-fakturaning oldingi yili +NextYearOfInvoice=Keyingi hisob-faktura sanasi +DateNextInvoiceBeforeGen=Keyingi hisob-fakturaning sanasi (ishlab chiqarishdan oldin) +DateNextInvoiceAfterGen=Keyingi hisob-fakturaning sanasi (avloddan keyin) +GraphInBarsAreLimitedToNMeasures=Grapics %s o'lchovlari bilan "Bars" rejimida cheklangan. Buning o'rniga "Lines" rejimi avtomatik ravishda tanlandi. +OnlyOneFieldForXAxisIsPossible=X o'qi sifatida hozirda faqat bitta maydon mavjud. Faqat birinchi tanlangan maydon tanlangan. +AtLeastOneMeasureIsRequired=O'lchov uchun kamida 1 ta maydon kerak +AtLeastOneXAxisIsRequired=X o'qi uchun kamida 1 maydon kerak +LatestBlogPosts=Blogdagi so'nggi xabarlar Notify_ORDER_VALIDATE=Savdo buyurtmasi tasdiqlangan Notify_ORDER_SENTBYMAIL=Savdo buyurtmasi pochta orqali yuborilgan Notify_ORDER_SUPPLIER_SENTBYMAIL=Xarid qilish buyurtmasi elektron pochta orqali yuborilgan @@ -60,7 +60,7 @@ Notify_BILL_SUPPLIER_PAYED=Sotuvchi hisob-fakturasi to'langan Notify_BILL_SUPPLIER_SENTBYMAIL=Sotuvchi hisob-fakturasi pochta orqali yuborilgan Notify_BILL_SUPPLIER_CANCELED=Sotuvchi fakturasi bekor qilindi Notify_CONTRACT_VALIDATE=Shartnoma tasdiqlangan -Notify_FICHINTER_VALIDATE=Intervention validated +Notify_FICHINTER_VALIDATE=Interventsiya tasdiqlandi Notify_FICHINTER_ADD_CONTACT=Interventsiyaga kontakt qo'shildi Notify_FICHINTER_SENTBYMAIL=Pochta orqali yuborilgan aralashuv Notify_SHIPPING_VALIDATE=Yuk tashish tasdiqlangan @@ -74,11 +74,11 @@ Notify_PROJECT_CREATE=Loyihani yaratish Notify_TASK_CREATE=Vazifa yaratildi Notify_TASK_MODIFY=Vazifa o'zgartirildi Notify_TASK_DELETE=Vazifa o'chirildi -Notify_EXPENSE_REPORT_VALIDATE=Expense report validated (approval required) -Notify_EXPENSE_REPORT_APPROVE=Expense report approved -Notify_HOLIDAY_VALIDATE=Leave request validated (approval required) -Notify_HOLIDAY_APPROVE=Leave request approved -Notify_ACTION_CREATE=Added action to Agenda +Notify_EXPENSE_REPORT_VALIDATE=Xarajatlar to'g'risidagi hisobot tasdiqlandi (tasdiqlash talab qilinadi) +Notify_EXPENSE_REPORT_APPROVE=Xarajatlar to'g'risidagi hisobot tasdiqlandi +Notify_HOLIDAY_VALIDATE=Dam olish so'rovi tasdiqlangan (tasdiqlash kerak) +Notify_HOLIDAY_APPROVE=Dam olish to'g'risidagi so'rov tasdiqlandi +Notify_ACTION_CREATE=Kun tartibiga harakat qo'shildi SeeModuleSetup=%s modulini o'rnatishga qarang NbOfAttachedFiles=Biriktirilgan fayllar / hujjatlar soni TotalSizeOfAttachedFiles=Biriktirilgan fayllar / hujjatlarning umumiy hajmi @@ -88,7 +88,7 @@ LinkedObject=Bog'langan ob'ekt NbOfActiveNotifications=Bildirishnomalar soni (oluvchilarning elektron pochtalari yo'q) PredefinedMailTest=__(Salom)__\nBu __EMAIL__ manziliga yuborilgan sinov xati.\nChiziqlar vagonni qaytarish bilan ajralib turadi.\n\n__USER_SIGNATURE__ PredefinedMailTestHtml=__ (Salom) __
Bu __EMAIL__ manziliga yuborilgan test xati (test so'zi qalin bo'lishi kerak).
Chiziqlar aravachaning qaytishi bilan ajralib turadi.

__USER_SIGNATURE__ -PredefinedMailContentContract=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ +PredefinedMailContentContract=__(Salom)__\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoice=__(Salom)__\n\nIltimos, __REF__ hisob-fakturasini ilova qiling\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__(Salom)__\n\nSizga shuni eslatib qo'ymoqchimizki, __REF__ schyoti to'lanmaganga o'xshaydi. Hisob-fakturaning nusxasi eslatma sifatida ilova qilinadi.\n\n__ONLINE_PAYMENT_TEXT_AND_URL__\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ PredefinedMailContentSendProposal=__(Salom)__\n\nIltimos, __REF__ tijorat taklifini ilova qiling\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ @@ -98,9 +98,9 @@ PredefinedMailContentSendSupplierOrder=__(Salom)__\n\nIltimos, bizning __REF__ b PredefinedMailContentSendSupplierInvoice=__(Salom)__\n\nIltimos, __REF__ hisob-fakturasini ilova qiling\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ PredefinedMailContentSendShipping=__(Salom)__\n\nIltimos, __REF__ jo'natilishini biriktirilgan holda toping\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ PredefinedMailContentSendFichInter=__(Salom)__\n\nIltimos, __REF__ aralashuvini biriktirilgan holda toping\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ -PredefinedMailContentLink=You can click on the link below to make your payment if it is not already done.\n\n%s\n\n -PredefinedMailContentGeneric=__(Hello)__\n\n\n__(Sincerely)__\n\n__USER_SIGNATURE__ -PredefinedMailContentSendActionComm=Event reminder "__EVENT_LABEL__" on __EVENT_DATE__ at __EVENT_TIME__

This is an automatic message, please do not reply. +PredefinedMailContentLink=Agar siz hali to'lamagan bo'lsangiz, to'lovni amalga oshirish uchun quyidagi havolani bosishingiz mumkin.\n\n%s\n\n +PredefinedMailContentGeneric=__(Salom)__\n\n\n__ (samimiyat bilan) __\n\n__USER_SIGNATURE__ +PredefinedMailContentSendActionComm=__EVENT_DATE__ soat __EVENT_TIME__ da "__EVENT_LABEL__" voqea eslatmasi

Bu avtomatik xabar, iltimos javob bermang. DemoDesc=Dolibarr - bu bir nechta biznes modullarini qo'llab-quvvatlovchi ixcham ERP / CRM. Barcha modullarni namoyish etadigan demo hech qanday ma'noga ega emas, chunki bu stsenariy hech qachon ro'y bermaydi (bir necha yuzta mavjud). Shunday qilib, bir nechta demo profillari mavjud. ChooseYourDemoProfil=Sizning ehtiyojlaringizga mos keladigan demo profilini tanlang ... ChooseYourDemoProfilMore=... yoki o'zingizning profilingizni yarating
(modulni qo'lda tanlash) @@ -109,12 +109,12 @@ DemoFundation2=Jamg'arma a'zolari va bankdagi hisob raqamlarini boshqarish DemoCompanyServiceOnly=Faqat kompaniya yoki erkin sotish xizmati DemoCompanyShopWithCashDesk=Kassa bilan do'konni boshqaring DemoCompanyProductAndStocks=Savdo nuqtasi bilan mahsulot sotadigan do'kon -DemoCompanyManufacturing=Company manufacturing products +DemoCompanyManufacturing=Kompaniya mahsulot ishlab chiqaradi DemoCompanyAll=Faoliyati ko'p bo'lgan kompaniya (barcha asosiy modullar) CreatedBy=%s tomonidan yaratilgan ModifiedBy=%s tomonidan o'zgartirilgan ValidatedBy=%s tomonidan tasdiqlangan -SignedBy=Signed by %s +SignedBy=%s tomonidan imzolangan ClosedBy=%s tomonidan yopilgan CreatedById=Yaratgan foydalanuvchi identifikatori ModifiedById=Oxirgi o'zgarishlarni amalga oshirgan foydalanuvchi identifikatori @@ -129,7 +129,7 @@ ClosedByLogin=Yopilgan foydalanuvchi login FileWasRemoved=%s fayli olib tashlandi DirWasRemoved=%s katalogi olib tashlandi FeatureNotYetAvailable=Xususiyat hozirgi versiyada hali mavjud emas -FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse +FeatureNotAvailableOnDevicesWithoutMouse=Sichqoncha bo'lmagan qurilmalarda bu xususiyat mavjud emas FeaturesSupported=Qo'llab-quvvatlanadigan xususiyatlar Width=Kengligi Height=Balandligi @@ -146,7 +146,7 @@ WeightUnitkg=kg WeightUnitg=g WeightUnitmg=mg WeightUnitpound=funt -WeightUnitounce=ounce +WeightUnitounce=untsiya Length=Uzunlik LengthUnitm=m LengthUnitdm=dm @@ -191,22 +191,22 @@ NumberOfCustomerInvoices=Mijozlarning hisob-fakturalari soni NumberOfSupplierProposals=Yetkazib beruvchilarning takliflari soni NumberOfSupplierOrders=Sotib olish uchun buyurtmalar soni NumberOfSupplierInvoices=Sotuvchi hisob-fakturalari soni -NumberOfContracts=Number of contracts -NumberOfMos=Number of manufacturing orders +NumberOfContracts=Shartnomalar soni +NumberOfMos=Ishlab chiqarish buyurtmalari soni NumberOfUnitsProposals=Takliflar bo'yicha birliklar soni NumberOfUnitsCustomerOrders=Savdo buyurtmalaridagi birliklar soni NumberOfUnitsCustomerInvoices=Xaridorlarning hisob-fakturalaridagi birliklar soni NumberOfUnitsSupplierProposals=Sotuvchilarning takliflari bo'yicha birliklar soni NumberOfUnitsSupplierOrders=Xarid qilish buyurtmalaridagi birliklar soni NumberOfUnitsSupplierInvoices=Sotuvchi fakturalaridagi birliklar soni -NumberOfUnitsContracts=Number of units on contracts -NumberOfUnitsMos=Number of units to produce in manufacturing orders +NumberOfUnitsContracts=Shartnomalar bo'yicha birliklar soni +NumberOfUnitsMos=Ishlab chiqarish buyurtmalarida ishlab chiqariladigan birliklar soni EMailTextInterventionAddedContact=Sizga %s yangi aralashuvi tayinlandi. EMailTextInterventionValidated=%s aralashuvi tasdiqlandi. EMailTextInvoiceValidated=%s hisob-fakturasi tasdiqlangan. -EMailTextInvoicePayed=Invoice %s has been paid. +EMailTextInvoicePayed=%s hisob-fakturasi to'landi. EMailTextProposalValidated=%s taklifi tasdiqlandi. -EMailTextProposalClosedSigned=Proposal %s has been closed signed. +EMailTextProposalClosedSigned=%s taklifi imzolandi. EMailTextOrderValidated=%s buyurtmasi tasdiqlangan. EMailTextOrderApproved=%s buyurtmasi tasdiqlandi. EMailTextOrderValidatedBy=%s buyurtmasi %s tomonidan qayd etilgan. @@ -214,11 +214,11 @@ EMailTextOrderApprovedBy=%s buyurtmasi %s tomonidan tasdiqlangan. EMailTextOrderRefused=%s buyurtmasi rad etildi. EMailTextOrderRefusedBy=%s buyurtmasi %s tomonidan rad etildi. EMailTextExpeditionValidated=%s jo'natmasi tasdiqlangan. -EMailTextExpenseReportValidated=Expense report %s has been validated. -EMailTextExpenseReportApproved=Expense report %s has been approved. -EMailTextHolidayValidated=Leave request %s has been validated. -EMailTextHolidayApproved=Leave request %s has been approved. -EMailTextActionAdded=The action %s has been added to the Agenda. +EMailTextExpenseReportValidated=%s xarajatlar hisoboti tasdiqlandi. +EMailTextExpenseReportApproved=%s xarajatlar hisoboti tasdiqlandi. +EMailTextHolidayValidated=%s qoldirish so'rovi tasdiqlangan. +EMailTextHolidayApproved=%s ta'tilga chiqish so'rovi tasdiqlandi. +EMailTextActionAdded=%s harakati kun tartibiga qo'shildi. ImportedWithSet=Import ma'lumotlari to'plami DolibarrNotification=Avtomatik bildirishnoma ResizeDesc=Yangi kenglikni kiriting YOKI yangi balandlik. O'lchamini o'zgartirish paytida nisbat saqlanib qoladi ... @@ -239,32 +239,32 @@ StartUpload=Yuklashni boshlang CancelUpload=Yuklashni bekor qilish FileIsTooBig=Fayllar juda katta PleaseBePatient=Iltimos, sabr qiling ... -NewPassword=New password -ResetPassword=Reset password +NewPassword=Yangi Parol +ResetPassword=Parolni tiklash RequestToResetPasswordReceived=Parolingizni o'zgartirish to'g'risida so'rov kelib tushdi. NewKeyIs=Bu sizning kirish uchun yangi kalitlaringiz NewKeyWillBe=Dasturiy ta'minotga kirish uchun yangi kalitingiz bo'ladi ClickHereToGoTo=%s ga o'tish uchun shu erni bosing YouMustClickToChange=Ushbu parol o'zgarishini tasdiqlash uchun avval siz quyidagi havolani bosishingiz kerak -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=Parolni o'zgartirishni tasdiqlang ForgetIfNothing=Agar siz ushbu o'zgarishni talab qilmagan bo'lsangiz, ushbu elektron pochtani unutishingiz kifoya. Ma'lumotlaringiz xavfsiz saqlanadi. IfAmountHigherThan=Agar miqdori %s dan yuqori bo'lsa SourcesRepository=Manbalar ombori Chart=Diagramma -PassEncoding=Password encoding -PermissionsAdd=Permissions added -PermissionsDelete=Permissions removed -YourPasswordMustHaveAtLeastXChars=Your password must have at least %s chars -YourPasswordHasBeenReset=Your password has been reset successfully -ApplicantIpAddress=IP address of applicant -SMSSentTo=SMS sent to %s -MissingIds=Missing ids -ThirdPartyCreatedByEmailCollector=Third party created by email collector from email MSGID %s -ContactCreatedByEmailCollector=Contact/address created by email collector from email MSGID %s -ProjectCreatedByEmailCollector=Project created by email collector from email MSGID %s -TicketCreatedByEmailCollector=Ticket created by email collector from email MSGID %s -OpeningHoursFormatDesc=Use a - to separate opening and closing hours.
Use a space to enter different ranges.
Example: 8-12 14-18 -SuffixSessionName=Suffix for session name +PassEncoding=Parolni kodlash +PermissionsAdd=Ruxsatnomalar qo'shildi +PermissionsDelete=Ruxsatlar olib tashlandi +YourPasswordMustHaveAtLeastXChars=Parolingizda kamida %s belgilar bo'lishi kerak +YourPasswordHasBeenReset=Parolingiz qayta tiklandi +ApplicantIpAddress=Ariza beruvchining IP-manzili +SMSSentTo=%s raqamiga SMS yuborildi +MissingIds=Yo'qolgan identifikatorlar +ThirdPartyCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan uchinchi tomon +ContactCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan aloqa / manzil +ProjectCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan loyiha +TicketCreatedByEmailCollector=MSGID %s elektron pochtasidan elektron pochta yig'uvchisi tomonidan yaratilgan chipta +OpeningHoursFormatDesc=Ochilish va yopilish soatlarini ajratish uchun a - dan foydalaning.
Turli xil intervallarni kiritish uchun bo'sh joydan foydalaning.
Misol: 8-12 14-18 +SuffixSessionName=Sessiya nomi uchun qo'shimchalar ##### Export ##### ExportsArea=Eksport maydoni @@ -278,16 +278,16 @@ WebsiteSetup=Modul veb-saytini sozlash WEBSITE_PAGEURL=Sahifaning URL manzili WEBSITE_TITLE=Sarlavha WEBSITE_DESCRIPTION=Tavsif -WEBSITE_IMAGE=Image -WEBSITE_IMAGEDesc=Relative path of the image media. You can keep this empty as this is rarely used (it can be used by dynamic content to show a thumbnail in a list of blog posts). Use __WEBSITE_KEY__ in the path if path depends on website name (for example: image/__WEBSITE_KEY__/stories/myimage.png). +WEBSITE_IMAGE=Rasm +WEBSITE_IMAGEDesc=Tasvir vositalarining nisbiy yo'li. Siz buni bo'sh holatda saqlashingiz mumkin, chunki bu kamdan-kam hollarda qo'llaniladi (uni blogdagi yozuvlar ro'yxatida eskizni ko'rsatish uchun dinamik tarkib yordamida ishlatish mumkin). Yo'l veb-sayt nomiga bog'liq bo'lsa, yo'lda __WEBSITE_KEY__ dan foydalaning (masalan: image / __ WEBSITE_KEY __ / stories / myimage.png). WEBSITE_KEYWORDS=Kalit so'zlar -LinesToImport=Lines to import +LinesToImport=Import qilish uchun chiziqlar -MemoryUsage=Memory usage -RequestDuration=Duration of request -ProductsPerPopularity=Products/Services by popularity -PopuProp=Products/Services by popularity in Proposals -PopuCom=Products/Services by popularity in Orders -ProductStatistics=Products/Services Statistics -NbOfQtyInOrders=Qty in orders -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +MemoryUsage=Xotiradan foydalanish +RequestDuration=So'rov muddati +ProductsPerPopularity=Ommabopligi bo'yicha mahsulotlar / xizmatlar +PopuProp=Takliflarda mashhurligi bo'yicha mahsulotlar / xizmatlar +PopuCom=Buyurtmalardagi mashhurligi bo'yicha mahsulotlar / xizmatlar +ProductStatistics=Mahsulotlar / xizmatlar statistikasi +NbOfQtyInOrders=Buyurtmalar soni +SelectTheTypeOfObjectToAnalyze=Uning statistikasini ko'rish uchun ob'ektni tanlang ... diff --git a/htdocs/langs/uz_UZ/partnership.lang b/htdocs/langs/uz_UZ/partnership.lang index 2fb10e8159e..30202792dbc 100644 --- a/htdocs/langs/uz_UZ/partnership.lang +++ b/htdocs/langs/uz_UZ/partnership.lang @@ -16,72 +16,72 @@ # # Generic # -ModulePartnershipName=Partnership management -PartnershipDescription=Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=Hamkorlikni boshqarish +PartnershipDescription=Modul sherikligini boshqarish +PartnershipDescriptionLong= Modul sherikligini boshqarish -AddPartnership=Add partnership -CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions -PartnershipCheckBacklink=Partnership: Check referring backlink +AddPartnership=Hamkorlik qo'shing +CancelPartnershipForExpiredMembers=Hamkorlik: muddati o'tgan obunalari bo'lgan a'zolarning sherikligini bekor qiling +PartnershipCheckBacklink=Hamkorlik: teskari bog'lanishni tekshiring # # Menu # -NewPartnership=New Partnership -ListOfPartnerships=List of partnership +NewPartnership=Yangi hamkorlik +ListOfPartnerships=Hamkorlik ro'yxati # # Admin page # -PartnershipSetup=Partnership setup -PartnershipAbout=About Partnership -PartnershipAboutPage=Partnership about page -partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' -PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for -PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check -PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired -ReferingWebsiteCheck=Check of website referring -ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. +PartnershipSetup=Hamkorlikni o'rnatish +PartnershipAbout=Hamkorlik haqida +PartnershipAboutPage=Sahifa haqida hamkorlik +partnershipforthirdpartyormember=Hamkor maqomi "uchinchi tomon" yoki "a'zo" da o'rnatilishi kerak +PARTNERSHIP_IS_MANAGED_FOR=Hamkorlik boshqarildi +PARTNERSHIP_BACKLINKS_TO_CHECK=Tekshirish uchun qayta bog'lanishlar +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Obuna muddati tugaganidan keyin hamkorlik maqomini bekor qilishdan bir necha kun oldin +ReferingWebsiteCheck=Veb-saytga yo'naltirilganligini tekshiring +ReferingWebsiteCheckDesc=Siz o'zingizning veb-saytingizda sheriklaringizning veb-sayt domenlariga orqa bog'lanishni qo'shganligini tekshirish uchun xususiyatni yoqishingiz mumkin. # # Object # -DeletePartnership=Delete a partnership -PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party -PartnershipDedicatedToThisMember=Partnership dedicated to this member -DatePartnershipStart=Start date -DatePartnershipEnd=End date -ReasonDecline=Decline reason -ReasonDeclineOrCancel=Decline reason -PartnershipAlreadyExist=Partnership already exist -ManagePartnership=Manage partnership -BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website -ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? -PartnershipType=Partnership type +DeletePartnership=Hamkorlikni o'chirib tashlang +PartnershipDedicatedToThisThirdParty=Ushbu uchinchi tomonga bag'ishlangan hamkorlik +PartnershipDedicatedToThisMember=Ushbu a'zoga bag'ishlangan hamkorlik +DatePartnershipStart=Boshlanish vaqti +DatePartnershipEnd=Tugash sanasi +ReasonDecline=Rad etish sababi +ReasonDeclineOrCancel=Rad etish sababi +PartnershipAlreadyExist=Hamkorlik allaqachon mavjud +ManagePartnership=Hamkorlikni boshqarish +BacklinkNotFoundOnPartnerWebsite=Backlink sherik veb-saytida topilmadi +ConfirmClosePartnershipAsk=Haqiqatan ham ushbu hamkorlikni bekor qilmoqchimisiz? +PartnershipType=Hamkorlik turi # # Template Mail # -SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled -SendingEmailOnPartnershipRefused=Partnership refused -SendingEmailOnPartnershipAccepted=Partnership accepted -SendingEmailOnPartnershipCanceled=Partnership canceled +SendingEmailOnPartnershipWillSoonBeCanceled=Yaqinda hamkorlik bekor qilinadi +SendingEmailOnPartnershipRefused=Hamkorlik rad etildi +SendingEmailOnPartnershipAccepted=Hamkorlik qabul qilindi +SendingEmailOnPartnershipCanceled=Hamkorlik bekor qilindi -YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled -YourPartnershipRefusedTopic=Partnership refused -YourPartnershipAcceptedTopic=Partnership accepted -YourPartnershipCanceledTopic=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=Yaqinda hamkorlik bekor qilinadi +YourPartnershipRefusedTopic=Hamkorlik rad etildi +YourPartnershipAcceptedTopic=Hamkorlik qabul qilindi +YourPartnershipCanceledTopic=Hamkorlik bekor qilindi -YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) -YourPartnershipRefusedContent=We inform you that your partnership request has been refused. -YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. -YourPartnershipCanceledContent=We inform you that your partnership has been canceled. +YourPartnershipWillSoonBeCanceledContent=Sizning hamkorligingiz yaqinda bekor qilinishini xabar qilamiz (Backlink topilmadi) +YourPartnershipRefusedContent=Sizning sheriklik so'rovingiz rad etilganligi haqida xabar beramiz. +YourPartnershipAcceptedContent=Sizga sheriklik so'rovingiz qabul qilinganligi to'g'risida xabar beramiz. +YourPartnershipCanceledContent=Sizning hamkorligingiz bekor qilinganligi haqida xabar beramiz. # # Status # -PartnershipDraft=Draft -PartnershipAccepted=Accepted -PartnershipRefused=Refused -PartnershipCanceled=Canceled -PartnershipManagedFor=Partners are +PartnershipDraft=Qoralama +PartnershipAccepted=Qabul qilindi +PartnershipRefused=Rad etildi +PartnershipCanceled=Bekor qilindi +PartnershipManagedFor=Hamkorlar diff --git a/htdocs/langs/uz_UZ/paybox.lang b/htdocs/langs/uz_UZ/paybox.lang index 7dcdbde4a46..9064f9948a3 100644 --- a/htdocs/langs/uz_UZ/paybox.lang +++ b/htdocs/langs/uz_UZ/paybox.lang @@ -27,4 +27,4 @@ PAYBOX_PAYONLINE_SENDEMAIL=To'lov amalga oshirilgandan so'ng elektron pochta xab PAYBOX_PBX_SITE=PBX SITE qiymati PAYBOX_PBX_RANG=PBX oralig'i uchun qiymat PAYBOX_PBX_IDENTIFIANT=PBX identifikatorining qiymati -PAYBOX_HMAC_KEY=HMAC key +PAYBOX_HMAC_KEY=HMAC kaliti diff --git a/htdocs/langs/uz_UZ/paypal.lang b/htdocs/langs/uz_UZ/paypal.lang index 70f36596519..d3d4e8a508e 100644 --- a/htdocs/langs/uz_UZ/paypal.lang +++ b/htdocs/langs/uz_UZ/paypal.lang @@ -11,26 +11,26 @@ PAYPAL_SSLVERSION=Curl SSL versiyasi PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Faqat "ajralmas" to'lovni taklif eting (Kredit karta + PayPal) yoki faqat "PayPal" PaypalModeIntegral=Ajralmas PaypalModeOnlyPaypal=Faqat PayPal -ONLINE_PAYMENT_CSS_URL=Optional URL of CSS stylesheet on online payment page +ONLINE_PAYMENT_CSS_URL=Onlayn to'lovlar sahifasida CSS uslublar jadvalining ixtiyoriy URL manzili ThisIsTransactionId=Bu tranzaksiya identifikatori: %s PAYPAL_ADD_PAYMENT_URL=Hujjatni elektron pochta orqali yuborganingizda PayPal to'lov urlini qo'shing -NewOnlinePaymentReceived=New online payment received -NewOnlinePaymentFailed=New online payment tried but failed -ONLINE_PAYMENT_SENDEMAIL=Email address for notifications after each payment attempt (for success and fail) +NewOnlinePaymentReceived=Yangi onlayn to'lov qabul qilindi +NewOnlinePaymentFailed=Yangi onlayn to'lov amalga oshirildi, ammo muvaffaqiyatsiz tugadi +ONLINE_PAYMENT_SENDEMAIL=Har bir to'lov urinishidan so'ng bildirishnomalar uchun elektron pochta manzili (muvaffaqiyatli va muvaffaqiyatsiz bo'lganligi uchun) ReturnURLAfterPayment=To'lovdan so'ng URL manzilini qaytaring -ValidationOfOnlinePaymentFailed=Validation of online payment failed -PaymentSystemConfirmPaymentPageWasCalledButFailed=Payment confirmation page was called by payment system returned an error +ValidationOfOnlinePaymentFailed=Onlayn to'lovni tasdiqlash amalga oshmadi +PaymentSystemConfirmPaymentPageWasCalledButFailed=To'lov tizimi tomonidan to'lovni tasdiqlash sahifasi chaqirildi, xato yuz berdi SetExpressCheckoutAPICallFailed=SetExpressCheckout API chaqiruvi amalga oshmadi. DoExpressCheckoutPaymentAPICallFailed=DoExpressCheckoutPayment API chaqiruvi amalga oshmadi. DetailedErrorMessage=Batafsil xato xabari ShortErrorMessage=Qisqa xato xabari ErrorCode=Xato kodi ErrorSeverityCode=Xatolik darajasi kodi -OnlinePaymentSystem=Online payment system -PaypalLiveEnabled=PayPal "live" mode enabled (otherwise test/sandbox mode) -PaypalImportPayment=Import PayPal payments -PostActionAfterPayment=Post actions after payments -ARollbackWasPerformedOnPostActions=A rollback was performed on all Post actions. You must complete post actions manually if they are necessary. -ValidationOfPaymentFailed=Validation of payment has failed -CardOwner=Card holder -PayPalBalance=Paypal credit +OnlinePaymentSystem=Onlayn to'lov tizimi +PaypalLiveEnabled=PayPal "jonli" rejimi yoqilgan (aks holda sinov / sandbox rejimi) +PaypalImportPayment=PayPal to'lovlarini import qilish +PostActionAfterPayment=To'lovlardan so'ng harakatlarni joylashtiring +ARollbackWasPerformedOnPostActions=Postning barcha harakatlarida orqaga qaytarish amalga oshirildi. Agar kerak bo'lsa, post harakatlarini qo'lda bajarishingiz kerak. +ValidationOfPaymentFailed=To'lov tasdiqlanmadi +CardOwner=Karta egasi +PayPalBalance=Paypal krediti diff --git a/htdocs/langs/uz_UZ/printing.lang b/htdocs/langs/uz_UZ/printing.lang index 4809218456c..d614e645371 100644 --- a/htdocs/langs/uz_UZ/printing.lang +++ b/htdocs/langs/uz_UZ/printing.lang @@ -9,7 +9,7 @@ PrintingDriverDesc=Drayverni bosib chiqarish uchun konfiguratsiya o'zgaruvchilar ListDrivers=Haydovchilar ro'yxati PrintTestDesc=Printerlar ro'yxati. FileWasSentToPrinter=%s fayli printerga yuborildi -ViaModule=via the module +ViaModule=modul orqali NoActivePrintingModuleFound=Hujjatni chop etish uchun faol haydovchi yo'q. %s modulini sozlashni tekshiring. PleaseSelectaDriverfromList=Ro'yxatdan drayverni tanlang. PleaseConfigureDriverfromList=Iltimos, tanlangan drayverni ro'yxatdan sozlang. @@ -49,6 +49,6 @@ DirectPrintingJobsDesc=Ushbu sahifada mavjud printerlar uchun topilgan chop etis GoogleAuthNotConfigured=Google OAuth o'rnatilmagan. OAuth modulini yoqing va Google ID / Secretni o'rnating. GoogleAuthConfigured=Google OAuth hisob ma'lumotlari OAuth modulini o'rnatishda topildi. PrintingDriverDescprintgcp=Google Cloud Print drayverini chop etish uchun konfiguratsiya o'zgaruvchilari. -PrintingDriverDescprintipp=Configuration variables for printing driver Cups. +PrintingDriverDescprintipp=Drayv kuboglarini bosib chiqarish uchun konfiguratsiya o'zgaruvchilari. PrintTestDescprintgcp=Google Cloud Print uchun printerlar ro'yxati. -PrintTestDescprintipp=List of Printers for Cups. +PrintTestDescprintipp=Kuboklar uchun printerlar ro'yxati. diff --git a/htdocs/langs/uz_UZ/productbatch.lang b/htdocs/langs/uz_UZ/productbatch.lang index 9e342c12790..d96d95c511c 100644 --- a/htdocs/langs/uz_UZ/productbatch.lang +++ b/htdocs/langs/uz_UZ/productbatch.lang @@ -1,10 +1,10 @@ # ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=Lot / seriya raqamidan foydalaning ProductStatusOnBatch=Ha (lot talab qilinadi) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnSerial=Ha (noyob seriya raqami talab qilinadi) ProductStatusNotOnBatch=Yo'q (lot / seriya ishlatilmadi) ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnSerialShort=Ketma-ket ProductStatusNotOnBatchShort=Yo'q Batch=Lot / ketma-ket atleast1batchfield=Ovqatlanish sanasi yoki Sotish sanasi yoki Lot / Seriya raqami @@ -23,23 +23,21 @@ ProductDoesNotUseBatchSerial=Ushbu mahsulotda lot / seriya raqami ishlatilmaydi ProductLotSetup=Modul partiyasini o'rnatish / ketma-ketlik ShowCurrentStockOfLot=Er-xotin mahsulot / lot uchun joriy zaxiralarni ko'rsating ShowLogOfMovementIfLot=Er-xotin mahsulot / lot uchun harakatlar jurnalini ko'rsating -StockDetailPerBatch=Stock detail per lot -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned -LifeTime=Life span (in days) -EndOfLife=End of life -ManufacturingDate=Manufacturing date -DestructionDate=Destruction date -FirstUseDate=First use date -QCFrequency=Quality control frequency (in days) +StockDetailPerBatch=Har bir lot uchun birja tafsilotlari +SerialNumberAlreadyInUse=%s mahsuloti uchun seriya raqami %s allaqachon ishlatilgan +TooManyQtyForSerialNumber=Sizda seriya raqami %s uchun faqat bitta mahsulot mavjud bo'lishi mumkin %s +ManageLotMask=Maxsus niqob +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) +QtyToAddAfterBarcodeScan=Har bir shtrix / lot / ketma-ket skanerlash uchun qo'shish uchun miqdor +LifeTime=Hayot davomiyligi (kunlar ichida) +EndOfLife=Hayotning oxiri +ManufacturingDate=Ishlab chiqarilgan sana +DestructionDate=Yo'q qilish sanasi +FirstUseDate=Birinchi foydalanish sanasi +QCFrequency=Sifatni nazorat qilish chastotasi (kunlar ichida) #Traceability - qc status -OutOfOrder=Out of order -InWorkingOrder=In working order +OutOfOrder=Ishdan chiqdi +InWorkingOrder=Ish tartibida diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index c3866f55c51..eb578f78fee 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -22,25 +22,25 @@ ProductVatMassChangeDesc=Ushbu vosita ALL mahsulotlarida aniql MassBarcodeInit=Ommaviy shtrix kod MassBarcodeInitDesc=Ushbu sahifadan shtrix-kod aniqlanmagan ob'ektlarda shtrix-kodni boshlash uchun foydalanish mumkin. Modul shtrix-kodini o'rnatish tugamasdan oldin tekshiring. ProductAccountancyBuyCode=Buxgalteriya kodi (sotib olish) -ProductAccountancyBuyIntraCode=Accounting code (purchase intra-community) -ProductAccountancyBuyExportCode=Accounting code (purchase import) +ProductAccountancyBuyIntraCode=Buxgalteriya kodi (jamiyat ichidagi sotib olish) +ProductAccountancyBuyExportCode=Buxgalteriya kodi (sotib olish importi) ProductAccountancySellCode=Buxgalteriya kodi (sotish) -ProductAccountancySellIntraCode=Accounting code (sale intra-Community) -ProductAccountancySellExportCode=Accounting code (sale export) +ProductAccountancySellIntraCode=Buxgalteriya kodi (hamjamiyat ichida sotish) +ProductAccountancySellExportCode=Buxgalteriya kodi (sotish eksporti) ProductOrService=Mahsulot yoki xizmat ProductsAndServices=Mahsulotlar va xizmatlar ProductsOrServices=Mahsulotlar yoki xizmatlar -ProductsPipeServices=Products | Services -ProductsOnSale=Products for sale -ProductsOnPurchase=Products for purchase -ProductsOnSaleOnly=Products for sale only -ProductsOnPurchaseOnly=Products for purchase only +ProductsPipeServices=Mahsulotlar | Xizmatlar +ProductsOnSale=Sotish uchun mahsulotlar +ProductsOnPurchase=Sotib olish uchun mahsulotlar +ProductsOnSaleOnly=Faqat sotiladigan mahsulotlar +ProductsOnPurchaseOnly=Faqat sotib olish uchun mahsulotlar ProductsNotOnSell=Mahsulotlar sotilmaydi va sotib olinmaydi ProductsOnSellAndOnBuy=Sotish va sotib olish uchun mahsulotlar -ServicesOnSale=Services for sale -ServicesOnPurchase=Services for purchase -ServicesOnSaleOnly=Services for sale only -ServicesOnPurchaseOnly=Services for purchase only +ServicesOnSale=Sotish bo'yicha xizmatlar +ServicesOnPurchase=Sotib olish uchun xizmatlar +ServicesOnSaleOnly=Faqat sotiladigan xizmatlar +ServicesOnPurchaseOnly=Faqat sotib olish uchun xizmatlar ServicesNotOnSell=Xizmatlar sotilmaydi va sotib olinmaydi ServicesOnSellAndOnBuy=Sotish va sotib olish uchun xizmatlar LastModifiedProductsAndServices=O'zgartirilgan so'nggi %s mahsulot / xizmatlari @@ -49,7 +49,7 @@ LastRecordedServices=Oxirgi %s yozilgan xizmatlari CardProduct0=Mahsulot CardProduct1=Xizmat Stock=Aksiya -MenuStocks=Stocks +MenuStocks=Qimmatli qog'ozlar Stocks=Mahsulotlarning zaxiralari va joylashishi (ombori) Movements=Harakatlar Sell=Sotish @@ -72,14 +72,14 @@ AppliedPricesFrom=Ilova qilingan SellingPrice=Sotish narxi SellingPriceHT=Sotish narxi (soliqdan tashqari) SellingPriceTTC=Sotish narxi (soliq bilan) -SellingMinPriceTTC=Minimum Selling price (inc. tax) +SellingMinPriceTTC=Sotishning minimal narxi (soliq bilan) CostPriceDescription=Ushbu narx sohasi (soliqdan tashqari) ushbu mahsulot kompaniyangizga o'rtacha xarajatlarni qoplash uchun ishlatilishi mumkin. Siz o'zingiz hisoblagan har qanday narx bo'lishi mumkin, masalan, o'rtacha sotib olish narxidan ortiqcha ishlab chiqarish va tarqatish narxidan. CostPriceUsage=Ushbu qiymat marjni hisoblash uchun ishlatilishi mumkin. SoldAmount=Sotilgan summa PurchasedAmount=Xarid qilingan summa NewPrice=Yangi narx MinPrice=Min. sotish narxi -EditSellingPriceLabel=Edit selling price label +EditSellingPriceLabel=Sotish narxlari yorlig'ini tahrirlash CantBeLessThanMinPrice=Sotish narxi ushbu mahsulot uchun ruxsat etilgan minimal qiymatdan past bo'lishi mumkin emas (%s soliqsiz). Agar siz juda muhim chegirma yozsangiz, bu xabar ham paydo bo'lishi mumkin. ContractStatusClosed=Yopiq ErrorProductAlreadyExists=%s mos yozuvli mahsulot allaqachon mavjud. @@ -104,12 +104,12 @@ SetDefaultBarcodeType=Shtrixli turini o'rnating BarcodeValue=Shtrixli qiymat NoteNotVisibleOnBill=Izoh (hisob-fakturalarda, takliflarda ko'rinmaydi ...) ServiceLimitedDuration=Agar mahsulot cheklangan muddati bo'lgan xizmat bo'lsa: -FillWithLastServiceDates=Fill with last service line dates +FillWithLastServiceDates=So'nggi xizmat ko'rsatish sanalari bilan to'ldiring MultiPricesAbility=Bir mahsulot / xizmat uchun bir nechta narx segmentlari (har bir mijoz bitta narx segmentida) MultiPricesNumPrices=Narxlar soni -DefaultPriceType=Base of prices per default (with versus without tax) when adding new sale prices +DefaultPriceType=Yangi sotish narxlarini qo'shganda, sukut bo'yicha narxlar bazasi (soliqsiz) AssociatedProductsAbility=To'plamlarni yoqing (bir nechta mahsulot to'plami) -VariantsAbility=Enable Variants (variations of products, for example color, size) +VariantsAbility=Variantlarni yoqish (mahsulotlarning xilma-xilligi, masalan, rang, o'lcham) AssociatedProducts=To'plamlar AssociatedProductsNumber=Ushbu to'plamni tashkil etadigan mahsulotlar soni ParentProductsNumber=Ota-ona mahsuloti soni @@ -136,12 +136,12 @@ ConfirmDeleteProductLine=Ushbu mahsulot qatorini o'chirishni xohlaysizmi? ProductSpecial=Maxsus QtyMin=Min. sotib olish miqdori PriceQtyMin=Narx miqdori min. -PriceQtyMinCurrency=Price (currency) for this qty. (no discount) +PriceQtyMinCurrency=Ushbu miqdor uchun narx (valyuta). (chegirma yo'q) VATRateForSupplierProduct=QQS stavkasi (ushbu sotuvchi / mahsulot uchun) DiscountQtyMin=Ushbu miqdor uchun chegirma. NoPriceDefinedForThisSupplier=Ushbu sotuvchi / mahsulot uchun narx / miqdor aniqlanmagan NoSupplierPriceDefinedForThisProduct=Ushbu mahsulot uchun sotuvchi narxi / miqdori aniqlanmagan -PredefinedItem=Predefined item +PredefinedItem=Oldindan belgilangan element PredefinedProductsToSell=Oldindan belgilangan mahsulot PredefinedServicesToSell=Oldindan belgilangan xizmat PredefinedProductsAndServicesToSell=Sotish uchun oldindan belgilangan mahsulotlar / xizmatlar @@ -159,7 +159,7 @@ RowMaterial=Xom ashyo ConfirmCloneProduct= %s mahsulotini yoki xizmatini klonlamoqchimisiz? CloneContentProduct=Mahsulot / xizmatning barcha asosiy ma'lumotlarini klonlash ClonePricesProduct=Klon narxlari -CloneCategoriesProduct=Clone linked tags/categories +CloneCategoriesProduct=Bog'langan teglar / toifalarni klonlash CloneCompositionProduct=Virtual mahsulotlar / xizmatlarni klonlash CloneCombinationsProduct=Mahsulot variantlarini klonlash ProductIsUsed=Ushbu mahsulot ishlatilgan @@ -171,11 +171,11 @@ SuppliersPrices=Sotuvchi narxlari SuppliersPricesOfProductsOrServices=Sotuvchi narxlari (mahsulotlar yoki xizmatlar) CustomCode=Bojxona | Tovar | HS kodi CountryOrigin=Ishlab chiqaruvchi mamlakat; ta'minotchi mamlakat -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin +RegionStateOrigin=Kelib chiqish mintaqasi +StateOrigin=Shtat | kelib chiqishi viloyati Nature=Mahsulotning tabiati (xom / ishlab chiqarilgan) -NatureOfProductShort=Nature of product -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductShort=Mahsulotning tabiati +NatureOfProductDesc=Xom ashyo yoki ishlab chiqarilgan mahsulot ShortLabel=Qisqa yorliq Unit=Birlik p=siz. @@ -198,58 +198,58 @@ m2=m² m3=m³ liter=litr l=L -unitP=Piece -unitSET=Set -unitS=Second -unitH=Hour -unitD=Day +unitP=Parcha +unitSET=O'rnatish +unitS=Ikkinchi +unitH=Soat +unitD=Kun unitG=Gram -unitM=Meter -unitLM=Linear meter -unitM2=Square meter -unitM3=Cubic meter -unitL=Liter -unitT=ton +unitM=Taymer +unitLM=Lineer metr +unitM2=Kvadrat metr +unitM3=Kub metr +unitL=Litr +unitT=tonna unitKG=kg unitG=Gram unitMG=mg -unitLB=pound -unitOZ=ounce -unitM=Meter +unitLB=funt +unitOZ=untsiya +unitM=Taymer unitDM=dm -unitCM=cm +unitCM=sm unitMM=mm unitFT=ft -unitIN=in -unitM2=Square meter +unitIN=yilda +unitM2=Kvadrat metr unitDM2=dm² -unitCM2=cm² +unitCM2=sm² unitMM2=mm² unitFT2=ft² -unitIN2=in² -unitM3=Cubic meter +unitIN2=m2 +unitM3=Kub metr unitDM3=dm³ -unitCM3=cm³ +unitCM3=sm³ unitMM3=mm³ unitFT3=ft³ unitIN3=in³ -unitOZ3=ounce -unitgallon=gallon +unitOZ3=untsiya +unitgallon=galon ProductCodeModel=Mahsulot ref shabloni ServiceCodeModel=Xizmat ko'rsatuvchi shablon CurrentProductPrice=Joriy narx AlwaysUseNewPrice=Har doim mahsulot / xizmatning joriy narxidan foydalaning AlwaysUseFixedPrice=Belgilangan narxdan foydalaning PriceByQuantity=Miqdoriga ko'ra har xil narxlar -DisablePriceByQty=Disable prices by quantity +DisablePriceByQty=Narxlarni miqdori bo'yicha o'chirib qo'ying PriceByQuantityRange=Miqdor oralig'i MultipriceRules=Segment uchun avtomatik narxlar UseMultipriceRules=Boshqa segmentlarning narxlarini birinchi segmentga muvofiq avtomatik hisoblash uchun narx segmenti qoidalaridan foydalaning (mahsulot moduli sozlamalarida belgilangan) PercentVariationOver=%% ning %s orqali o'zgarishi PercentDiscountOver=%% %s orqali chegirma -KeepEmptyForAutoCalculation=Keep empty to have this calculated automatically from weight or volume of products -VariantRefExample=Examples: COL, SIZE -VariantLabelExample=Examples: Color, Size +KeepEmptyForAutoCalculation=Buni mahsulotning og'irligi yoki hajmidan avtomatik ravishda hisoblash uchun bo'sh qoldiring +VariantRefExample=Misollar: COL, SIZE +VariantLabelExample=Misollar: Rang, o'lchov ### composition fabrication Build=Mahsulot ProductsMultiPrice=Har bir narx segmenti uchun mahsulotlar va narxlar @@ -277,7 +277,7 @@ PriceByCustomer=Har bir mijoz uchun har xil narxlar PriceCatalogue=Mahsulot / xizmat uchun bitta sotish narxi PricingRule=Narxlarni sotish qoidalari AddCustomerPrice=Xaridor tomonidan narx qo'shing -ForceUpdateChildPriceSoc=Mijozlarning sho'ba korxonalarida bir xil narxni belgilang +ForceUpdateChildPriceSoc=Mijozning sho'ba korxonalarida bir xil narxni belgilang PriceByCustomerLog=Avvalgi mijozlar narxlari jurnali MinimumPriceLimit=Minimal narx %s dan past bo'lishi mumkin emas MinimumRecommendedPrice=Minimal tavsiya etilgan narx: %s @@ -291,11 +291,12 @@ PriceExpressionEditorHelp5=Mavjud global qadriyatlar: PriceMode=Narx rejimi PriceNumeric=Raqam DefaultPrice=Standart narx -DefaultPriceLog=Log of previous default prices +DefaultPriceLog=Oldingi narxlarning jurnali ComposedProductIncDecStock=Ota-onalarni almashtirishda zaxiralarni ko'paytirish / kamaytirish ComposedProduct=Bolalar uchun mo'ljallangan mahsulotlar MinSupplierPrice=Minimal sotib olish narxi MinCustomerPrice=Minimal sotish narxi +NoDynamicPrice=Dinamik narx yo'q DynamicPriceConfiguration=Dinamik narx konfiguratsiyasi DynamicPriceDesc=Siz xaridor yoki sotuvchi narxlarini hisoblash uchun matematik formulalarni belgilashingiz mumkin. Bunday formulalar barcha matematik operatorlardan, ba'zi bir doimiy va o'zgaruvchilardan foydalanishi mumkin. Siz bu erda foydalanmoqchi bo'lgan o'zgaruvchilarni belgilashingiz mumkin. Agar o'zgaruvchiga avtomatik yangilanish kerak bo'lsa, siz Dolibarr-ga qiymatni avtomatik ravishda yangilashiga ruxsat berish uchun tashqi URL manzilini belgilashingiz mumkin. AddVariable=O'zgaruvchini qo'shish @@ -303,12 +304,12 @@ AddUpdater=Updater-ni qo'shing GlobalVariables=Global o'zgaruvchilar VariableToUpdate=Yangilanadigan o'zgaruvchi GlobalVariableUpdaters=O'zgaruvchilar uchun tashqi yangilanuvchilar -GlobalVariableUpdaterType0=JSON data -GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, -GlobalVariableUpdaterHelpFormat0=Format for request {"URL": "http://example.com/urlofjson", "VALUE": "array1,array2,targetvalue"} -GlobalVariableUpdaterType1=WebService data -GlobalVariableUpdaterHelp1=Parses WebService data from specified URL, NS specifies the namespace, VALUE specifies the location of relevant value, DATA should contain the data to send and METHOD is the calling WS method -GlobalVariableUpdaterHelpFormat1=Format for request is {"URL": "http://example.com/urlofws", "VALUE": "array,targetvalue", "NS": "http://example.com/urlofns", "METHOD": "myWSMethod", "DATA": {"your": "data", "to": "send"}} +GlobalVariableUpdaterType0=JSON ma'lumotlari +GlobalVariableUpdaterHelp0=Belgilangan URL-dan JSON ma'lumotlarini ajratadi, VALUE tegishli qiymatning joylashishini belgilaydi, +GlobalVariableUpdaterHelpFormat0=So'rov uchun format {"URL": "http://example.com/urlofjson", "VALUE": "array1, array2, targetvalue"} +GlobalVariableUpdaterType1=WebService ma'lumotlari +GlobalVariableUpdaterHelp1=Belgilangan URL-dan WebService ma'lumotlarini ajratadi, NS nomlar maydonini, VALUE tegishli qiymatning joylashishini belgilaydi, DATA jo'natiladigan ma'lumotlarni o'z ichiga olishi kerak va METHOD chaqiruvchi WS usuli +GlobalVariableUpdaterHelpFormat1=So'rov formati: {"URL": "http://example.com/urlofws", "VALUE": "array, targetvalue", "NS": "http://example.com/urlofns", "METHOD" : "myWSMethod", "DATA": {"your": "data", "to": "send"}} UpdateInterval=Yangilash oralig'i (daqiqa) LastUpdated=Oxirgi yangilanish CorrectlyUpdated=To'g'ri yangilangan @@ -320,7 +321,7 @@ WarningSelectOneDocument=Iltimos, kamida bitta hujjatni tanlang DefaultUnitToShow=Birlik NbOfQtyInProposals=Takliflar soni ClinkOnALinkOfColumn=Batafsil ko'rinishni olish uchun %s ustunining havolasini bosing ... -ProductsOrServicesTranslations=Products/Services translations +ProductsOrServicesTranslations=Mahsulotlar / xizmatlarning tarjimalari TranslatedLabel=Tarjima qilingan yorliq TranslatedDescription=Tarjima qilingan tavsif TranslatedNote=Tarjima qilingan yozuvlar @@ -328,73 +329,73 @@ ProductWeight=1 mahsulot uchun vazn ProductVolume=1 ta mahsulot uchun hajm WeightUnits=Og'irlik birligi VolumeUnits=Tovush birligi -WidthUnits=Width unit -LengthUnits=Length unit -HeightUnits=Height unit -SurfaceUnits=Surface unit +WidthUnits=Kenglik birligi +LengthUnits=Uzunlik birligi +HeightUnits=Balandlik birligi +SurfaceUnits=Yuzaki birlik SizeUnits=Hajmi birligi DeleteProductBuyPrice=Xarid narxini o'chirish ConfirmDeleteProductBuyPrice=Ushbu xarid narxini o'chirishni xohlaysizmi? -SubProduct=Sub product -ProductSheet=Product sheet -ServiceSheet=Service sheet -PossibleValues=Possible values -GoOnMenuToCreateVairants=Go on menu %s - %s to prepare attribute variants (like colors, size, ...) +SubProduct=Sub mahsulot +ProductSheet=Mahsulot varag'i +ServiceSheet=Xizmat varaqasi +PossibleValues=Mumkin bo'lgan qiymatlar +GoOnMenuToCreateVairants=Atribut variantlarini tayyorlash uchun (ranglar, o'lchamlar, ... kabi) %s - %s menyusiga o'ting. UseProductFournDesc=Add a feature to define the descriptions of products defined by the vendors in addition to descriptions for customers -ProductSupplierDescription=Vendor description for the product -UseProductSupplierPackaging=Use packaging on supplier prices (recalculate quantities according to packaging set on supplier price when adding/updating line in supplier documents) -PackagingForThisProduct=Packaging -PackagingForThisProductDesc=On supplier order, you will automaticly order this quantity (or a multiple of this quantity). Cannot be less than minimum buying quantity -QtyRecalculatedWithPackaging=The quantity of the line were recalculated according to supplier packaging +ProductSupplierDescription=Mahsulot uchun sotuvchining tavsifi +UseProductSupplierPackaging=Paketni etkazib beruvchilar narxlarida ishlating (etkazib beruvchilar hujjatlaridagi qatorni qo'shish / yangilashda etkazib beruvchining narxida belgilangan qadoqlarga muvofiq miqdorlarni qayta hisoblang) +PackagingForThisProduct=Paket +PackagingForThisProductDesc=Yetkazib beruvchining buyurtmasiga binoan siz ushbu miqdorni (yoki ushbu miqdorning ko'pligini) avtomatik ravishda buyurtma qilasiz. Minimal sotib olish miqdoridan kam bo'lishi mumkin emas +QtyRecalculatedWithPackaging=Chiziq miqdori etkazib beruvchilarning qadoqlariga muvofiq qayta hisoblab chiqilgan #Attributes -VariantAttributes=Variant attributes -ProductAttributes=Variant attributes for products -ProductAttributeName=Variant attribute %s -ProductAttribute=Variant attribute -ProductAttributeDeleteDialog=Are you sure you want to delete this attribute? All values will be deleted -ProductAttributeValueDeleteDialog=Are you sure you want to delete the value "%s" with reference "%s" of this attribute? -ProductCombinationDeleteDialog=Are you sure want to delete the variant of the product "%s"? -ProductCombinationAlreadyUsed=There was an error while deleting the variant. Please check it is not being used in any object -ProductCombinations=Variants -PropagateVariant=Propagate variants -HideProductCombinations=Hide products variant in the products selector +VariantAttributes=Variant atributlari +ProductAttributes=Mahsulotlar uchun turli xil atributlar +ProductAttributeName=Variant atributi %s +ProductAttribute=Variant atributi +ProductAttributeDeleteDialog=Ushbu xususiyatni o'chirishni xohlaysizmi? Barcha qiymatlar o'chiriladi +ProductAttributeValueDeleteDialog=Ushbu atributning "%s" mos yozuvlar bilan "%s" qiymatini o'chirishni xohlaysizmi? +ProductCombinationDeleteDialog=Haqiqatan ham mahsulotning " %s " variantini o'chirishni xohlaysizmi? +ProductCombinationAlreadyUsed=Variantni o'chirishda xatolik yuz berdi. Iltimos, u hech qanday ob'ektda ishlatilmayotganligini tekshiring +ProductCombinations=Variantlar +PropagateVariant=Variantlarni targ'ib qiling +HideProductCombinations=Mahsulot tanlovchisida mahsulot variantini yashirish ProductCombination=Variant -NewProductCombination=New variant -EditProductCombination=Editing variant -NewProductCombinations=New variants -EditProductCombinations=Editing variants -SelectCombination=Select combination -ProductCombinationGenerator=Variants generator -Features=Features -PriceImpact=Price impact -ImpactOnPriceLevel=Impact on price level %s -ApplyToAllPriceImpactLevel= Apply to all levels -ApplyToAllPriceImpactLevelHelp=By clicking here you set the same price impact on all levels -WeightImpact=Weight impact -NewProductAttribute=New attribute -NewProductAttributeValue=New attribute value -ErrorCreatingProductAttributeValue=There was an error while creating the attribute value. It could be because there is already an existing value with that reference -ProductCombinationGeneratorWarning=If you continue, before generating new variants, all previous ones will be DELETED. Already existing ones will be updated with the new values -TooMuchCombinationsWarning=Generating lots of variants may result in high CPU, memory usage and Dolibarr not able to create them. Enabling the option "%s" may help reduce memory usage. -DoNotRemovePreviousCombinations=Do not remove previous variants -UsePercentageVariations=Use percentage variations -PercentageVariation=Percentage variation -ErrorDeletingGeneratedProducts=There was an error while trying to delete existing product variants -NbOfDifferentValues=No. of different values -NbProducts=Number of products -ParentProduct=Parent product -HideChildProducts=Hide variant products -ShowChildProducts=Show variant products -NoEditVariants=Go to Parent product card and edit variants price impact in the variants tab -ConfirmCloneProductCombinations=Would you like to copy all the product variants to the other parent product with the given reference? -CloneDestinationReference=Destination product reference -ErrorCopyProductCombinations=There was an error while copying the product variants -ErrorDestinationProductNotFound=Destination product not found -ErrorProductCombinationNotFound=Product variant not found -ActionAvailableOnVariantProductOnly=Action only available on the variant of product -ProductsPricePerCustomer=Product prices per customers -ProductSupplierExtraFields=Additional Attributes (Supplier Prices) -DeleteLinkedProduct=Delete the child product linked to the combination -PMPValue=Weighted average price +NewProductCombination=Yangi variant +EditProductCombination=Variantni tahrirlash +NewProductCombinations=Yangi variantlar +EditProductCombinations=Variantlarni tahrirlash +SelectCombination=Kombinatsiyani tanlang +ProductCombinationGenerator=Variantlar generatori +Features=Xususiyatlari +PriceImpact=Narx ta'siri +ImpactOnPriceLevel=%s narx darajasiga ta'siri +ApplyToAllPriceImpactLevel= Barcha darajalarga murojaat qiling +ApplyToAllPriceImpactLevelHelp=Bu erni bosish orqali siz barcha darajalarda bir xil narx ta'sirini o'rnatdingiz +WeightImpact=Og'irlikka ta'siri +NewProductAttribute=Yangi atribut +NewProductAttributeValue=Yangi atribut qiymati +ErrorCreatingProductAttributeValue=Atribut qiymatini yaratishda xatolik yuz berdi. Ehtimol, ushbu ma'lumotnomada allaqachon mavjud qiymat mavjud +ProductCombinationGeneratorWarning=Agar davom ettirsangiz, yangi variantlarni yaratishdan oldin, avvalgi barcha ma'lumotlar O'chiriladi. Allaqachon mavjud bo'lganlar yangi qadriyatlar bilan yangilanadi +TooMuchCombinationsWarning=Ko'pgina variantlarni yaratish yuqori protsessorga, xotiradan foydalanishga va Dolibarr ularni yaratishga olib kelmasligi mumkin. "%s" parametrini yoqish xotira hajmini kamaytirishga yordam beradi. +DoNotRemovePreviousCombinations=Oldingi variantlarni olib tashlamang +UsePercentageVariations=Foizli o'zgarishlardan foydalaning +PercentageVariation=Foizning o'zgarishi +ErrorDeletingGeneratedProducts=Mavjud mahsulot variantlarini o'chirishda xatolik yuz berdi +NbOfDifferentValues=Turli xil qiymatlar soni +NbProducts=Mahsulotlar soni +ParentProduct=Asosiy mahsulot +HideChildProducts=Variant mahsulotlarini yashirish +ShowChildProducts=Variant mahsulotlarini ko'rsating +NoEditVariants=Ota-ona mahsulot kartasiga o'ting va variantlar ko'rinishida variantlar narxiga ta'sirini tahrir qiling +ConfirmCloneProductCombinations=Berilgan ma'lumot bilan mahsulotning barcha variantlarini boshqa asosiy mahsulotga nusxalashni xohlaysizmi? +CloneDestinationReference=Belgilangan mahsulot haqida ma'lumot +ErrorCopyProductCombinations=Mahsulot variantlarini nusxalashda xatolik yuz berdi +ErrorDestinationProductNotFound=Belgilangan mahsulot topilmadi +ErrorProductCombinationNotFound=Mahsulot varianti topilmadi +ActionAvailableOnVariantProductOnly=Aksiya faqat mahsulotning variantida mavjud +ProductsPricePerCustomer=Xaridorlar uchun mahsulot narxi +ProductSupplierExtraFields=Qo'shimcha atributlar (etkazib beruvchilar narxi) +DeleteLinkedProduct=Kombinatsiyaga bog'langan bolalar mahsulotini o'chirib tashlang +PMPValue=O'rtacha narx PMPValueShort=WAP diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index 3f82199372e..7557a0e4f79 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -7,9 +7,9 @@ ProjectsArea=Loyihalar maydoni ProjectStatus=Loyiha holati SharedProject=Hamma PrivateProject=Loyiha bo'yicha aloqalar -ProjectsImContactFor=Projects for which I am explicitly a contact -AllAllowedProjects=All project I can read (mine + public) -AllProjects=All projects +ProjectsImContactFor=Men aniq aloqada bo'lgan loyihalar +AllAllowedProjects=Men o'qiy oladigan barcha loyihalar (meniki + jamoat) +AllProjects=Barcha loyihalar MyProjectsDesc=Ushbu ko'rinish faqat siz aloqada bo'lgan loyihalar bilan cheklangan ProjectsPublicDesc=Ushbu ko'rinish sizga o'qishga ruxsat berilgan barcha loyihalarni taqdim etadi. TasksOnProjectsPublicDesc=Ushbu ko'rinish sizga o'qishga ruxsat berilgan loyihalar bo'yicha barcha vazifalarni taqdim etadi. @@ -24,7 +24,7 @@ TasksDesc=Ushbu ko'rinish barcha loyihalar va vazifalarni taqdim etadi (foydalan AllTaskVisibleButEditIfYouAreAssigned=Malakali loyihalar uchun barcha vazifalar ko'rinib turadi, ammo siz faqat tanlangan foydalanuvchiga berilgan topshiriq uchun vaqt kiritishingiz mumkin. Agar unga vaqt kiritishingiz kerak bo'lsa, vazifani tayinlang. OnlyYourTaskAreVisible=Faqat sizga yuklangan vazifalar ko'rinadi. Agar topshiriq bo'yicha vaqtni kiritishingiz kerak bo'lsa va agar bu erda vazifa ko'rinmasa, unda siz o'zingiz uchun vazifani tayinlashingiz kerak. ImportDatasetTasks=Loyihalarning vazifalari -ProjectCategories=Project tags/categories +ProjectCategories=Loyiha teglari / toifalari NewProject=Yangi loyiha AddProject=Loyiha yaratish DeleteAProject=Loyihani o'chirish @@ -36,16 +36,16 @@ OpenedTasks=Ochiq vazifalar OpportunitiesStatusForOpenedProjects=Status bo'yicha ochiq loyihalarning etakchisi OpportunitiesStatusForProjects=Loyihalar miqdori bo'yicha maqomi bo'yicha etakchilik qiladi ShowProject=Loyihani namoyish etish -ShowTask=Show task +ShowTask=Vazifani ko'rsatish SetProject=Loyihani o'rnating NoProject=Hech qanday loyiha aniqlanmagan yoki tegishli emas NbOfProjects=Loyihalar soni -NbOfTasks=Number of tasks +NbOfTasks=Vazifalar soni TimeSpent=O'tkazilgan vaqt TimeSpentByYou=Siz sarflagan vaqt TimeSpentByUser=Foydalanuvchi sarflagan vaqt TimesSpent=O'tkazilgan vaqt -TaskId=Task ID +TaskId=Vazifa identifikatori RefTask=Vazifa ref. LabelTask=Vazifa yorlig'i TaskTimeSpent=Vazifalarga sarflangan vaqt @@ -56,10 +56,10 @@ TasksOnOpenedProject=Ochiq loyihalar bo'yicha vazifalar WorkloadNotDefined=Ish hajmi aniqlanmagan NewTimeSpent=O'tkazilgan vaqt MyTimeSpent=Mening vaqtim o'tgan -BillTime=Bill the time spent -BillTimeShort=Bill time -TimeToBill=Time not billed -TimeBilled=Time billed +BillTime=Vaqt sarflang +BillTimeShort=Hisob-kitob vaqti +TimeToBill=Vaqt hisoblanmaydi +TimeBilled=Hisob-kitob vaqti Tasks=Vazifalar Task=Vazifa TaskDateStart=Vazifaning boshlanish sanasi @@ -68,8 +68,8 @@ TaskDescription=Vazifaning tavsifi NewTask=Yangi vazifa AddTask=Vazifa yaratish AddTimeSpent=O'tkazilgan vaqtni yarating -AddHereTimeSpentForDay=Add here time spent for this day/task -AddHereTimeSpentForWeek=Add here time spent for this week/task +AddHereTimeSpentForDay=Bu kunga / vazifaga sarflangan vaqtni qo'shing +AddHereTimeSpentForWeek=Bu erga ushbu hafta / topshiriq uchun sarflangan vaqtni qo'shing Activity=Faoliyat Activities=Vazifalar / tadbirlar MyActivities=Mening vazifalarim / faoliyatim @@ -77,19 +77,19 @@ MyProjects=Mening loyihalarim MyProjectsArea=Mening loyihalarim DurationEffective=Amal qilish muddati ProgressDeclared=Haqiqiy taraqqiyot e'lon qilindi -TaskProgressSummary=Task progress -CurentlyOpenedTasks=Curently open tasks -TheReportedProgressIsLessThanTheCalculatedProgressionByX=The declared real progress is less %s than the progress on consumption -TheReportedProgressIsMoreThanTheCalculatedProgressionByX=The declared real progress is more %s than the progress on consumption +TaskProgressSummary=Vazifaning bajarilishi +CurentlyOpenedTasks=Ochiq vazifalar +TheReportedProgressIsLessThanTheCalculatedProgressionByX=E'lon qilingan haqiqiy taraqqiyot iste'molga nisbatan kamroq %s +TheReportedProgressIsMoreThanTheCalculatedProgressionByX=E'lon qilingan haqiqiy taraqqiyot iste'molning rivojlanishiga qaraganda ko'proq %s ProgressCalculated=Iste'mol bo'yicha taraqqiyot -WhichIamLinkedTo=which I'm linked to -WhichIamLinkedToProject=which I'm linked to project +WhichIamLinkedTo=Men bilan bog'langan +WhichIamLinkedToProject=Men loyihaga bog'langanman Time=Vaqt -TimeConsumed=Consumed +TimeConsumed=Iste'mol qilingan ListOfTasks=Vazifalar ro'yxati GoToListOfTimeConsumed=Vaqt sarflanganlar ro'yxatiga o'ting -GanttView=Gantt View -ListWarehouseAssociatedProject=List of warehouses associated to the project +GanttView=Gantt Vyu +ListWarehouseAssociatedProject=Loyiha bilan bog'liq omborlar ro'yxati ListProposalsAssociatedProject=Loyiha bilan bog'liq tijorat takliflari ro'yxati ListOrdersAssociatedProject=Loyiha bilan bog'liq savdo buyurtmalar ro'yxati ListInvoicesAssociatedProject=Loyiha bilan bog'liq mijozlarning hisob-fakturalari ro'yxati @@ -97,24 +97,24 @@ ListPredefinedInvoicesAssociatedProject=Loyiha bilan bog'liq mijozlar shablonlar ListSupplierOrdersAssociatedProject=Loyiha bilan bog'liq bo'lgan buyurtmalar ro'yxati ListSupplierInvoicesAssociatedProject=Loyiha bilan bog'liq sotuvchilarning hisob-fakturalari ro'yxati ListContractAssociatedProject=Loyiha bilan bog'liq shartnomalar ro'yxati -ListShippingAssociatedProject=List of shippings related to the project +ListShippingAssociatedProject=Loyiha bilan bog'liq jo'natmalar ro'yxati ListFichinterAssociatedProject=Loyiha bilan bog'liq tadbirlar ro'yxati ListExpenseReportsAssociatedProject=Loyiha bilan bog'liq xarajatlar hisobotlari ro'yxati ListDonationsAssociatedProject=Loyiha bilan bog'liq xayr-ehsonlar ro'yxati -ListVariousPaymentsAssociatedProject=List of miscellaneous payments related to the project -ListSalariesAssociatedProject=List of payments of salaries related to the project +ListVariousPaymentsAssociatedProject=Loyiha bilan bog'liq turli xil to'lovlar ro'yxati +ListSalariesAssociatedProject=Loyiha bilan bog'liq ish haqi to'lovlari ro'yxati ListActionsAssociatedProject=Loyiha bilan bog'liq tadbirlar ro'yxati -ListMOAssociatedProject=List of manufacturing orders related to the project +ListMOAssociatedProject=Loyiha bilan bog'liq ishlab chiqarish buyurtmalari ro'yxati ListTaskTimeUserProject=Loyiha vazifalari bo'yicha sarflanadigan vaqt ro'yxati -ListTaskTimeForTask=List of time consumed on task +ListTaskTimeForTask=Vazifa bo'yicha sarflangan vaqt ro'yxati ActivityOnProjectToday=Bugungi loyihadagi faoliyat ActivityOnProjectYesterday=Kecha loyihadagi faoliyat ActivityOnProjectThisWeek=Ushbu haftadagi loyihadagi faollik ActivityOnProjectThisMonth=Ushbu oydagi loyihadagi faoliyat ActivityOnProjectThisYear=Bu yilgi loyihadagi faoliyat -ChildOfProjectTask=Child of project/task +ChildOfProjectTask=Loyiha / vazifa farzandi ChildOfTask=Vazifa farzandi -TaskHasChild=Task has child +TaskHasChild=Vazifada bola bor NotOwnerOfProject=Ushbu xususiy loyihaning egasi emas AffectedTo=Ajratilgan CantRemoveProject=Ushbu loyihani olib tashlash mumkin emas, chunki u boshqa ob'ektlar (faktura, buyurtma yoki boshqa) tomonidan havola qilinadi. '%s' yorlig'iga qarang. @@ -122,14 +122,14 @@ ValidateProject=Proyektorni tasdiqlang ConfirmValidateProject=Ushbu loyihani tasdiqlamoqchimisiz? CloseAProject=Loyihani yoping ConfirmCloseAProject=Ushbu loyihani yopmoqchi ekanligingizga aminmisiz? -AlsoCloseAProject=Also close project (keep it open if you still need to follow production tasks on it) +AlsoCloseAProject=Loyihani yoping (agar siz hali ham ishlab chiqarish vazifalarini bajarishingiz kerak bo'lsa, uni ochiq holda saqlang) ReOpenAProject=Ochiq loyiha ConfirmReOpenAProject=Ushbu loyihani qayta ochishni xohlaysizmi? ProjectContact=Loyiha aloqalari -TaskContact=Task contacts +TaskContact=Vazifa aloqalari ActionsOnProject=Loyiha bo'yicha tadbirlar YouAreNotContactOfProject=Siz ushbu xususiy loyihaning aloqasi emassiz -UserIsNotContactOfProject=User is not a contact of this private project +UserIsNotContactOfProject=Foydalanuvchi ushbu xususiy loyihaning aloqasi emas DeleteATimeSpent=O'tkazilgan vaqtni o'chirib tashlang ConfirmDeleteATimeSpent=Ushbu sarflangan vaqtni o'chirishni xohlaysizmi? DoNotShowMyTasksOnly=Menga yuklanmagan vazifalarni ham ko'ring @@ -138,10 +138,10 @@ TaskRessourceLinks=Vazifa aloqalari ProjectsDedicatedToThisThirdParty=Ushbu uchinchi tomonga bag'ishlangan loyihalar NoTasks=Ushbu loyiha uchun hech qanday vazifa yo'q LinkedToAnotherCompany=Boshqa uchinchi tomon bilan bog'langan -TaskIsNotAssignedToUser=Task not assigned to user. Use button '%s' to assign task now. +TaskIsNotAssignedToUser=Vazifa foydalanuvchiga berilmagan. Vazifani hozir tayinlash uchun ' %s ' tugmachasidan foydalaning. ErrorTimeSpentIsEmpty=O'tkazilgan vaqt bo'sh ThisWillAlsoRemoveTasks=Ushbu amal shuningdek, loyihaning barcha vazifalarini ( %s vazifalari) va sarf qilingan barcha vaqtlarni o'chirib tashlaydi. -IfNeedToUseOtherObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. +IfNeedToUseOtherObjectKeepEmpty=Agar boshqa uchinchi tomonga tegishli bo'lgan ba'zi bir ob'ektlar (hisob-faktura, buyurtma, ...) loyihani yaratish uchun bog'langan bo'lishi kerak bo'lsa, loyihani ko'p uchinchi shaxslar bo'lishini ta'minlash uchun uni bo'sh qoldiring. CloneTasks=Klon vazifalari CloneContacts=Kontaktlarni klonlash CloneNotes=Klon yozuvlari @@ -153,7 +153,7 @@ ProjectReportDate=Loyihaning yangi boshlanish sanasiga ko'ra topshiriq sanalarin ErrorShiftTaskDate=Loyihaning yangi boshlanish sanasiga ko'ra topshiriq sanasini almashtirish mumkin emas ProjectsAndTasksLines=Loyihalar va vazifalar ProjectCreatedInDolibarr=%s loyihasi yaratildi -ProjectValidatedInDolibarr=Project %s validated +ProjectValidatedInDolibarr=%s loyihasi tasdiqlangan ProjectModifiedInDolibarr=%s loyihasi o'zgartirildi TaskCreatedInDolibarr=%s vazifasi yaratildi TaskModifiedInDolibarr=Vazifa %s o'zgartirildi @@ -164,8 +164,8 @@ OpportunityProbability=Qo'rg'oshin ehtimoli OpportunityProbabilityShort=Qo'rg'oshin probab. OpportunityAmount=Qo'rg'oshin miqdori OpportunityAmountShort=Qo'rg'oshin miqdori -OpportunityWeightedAmount=Opportunity weighted amount -OpportunityWeightedAmountShort=Opp. weighted amount +OpportunityWeightedAmount=Imkoniyatni hisobga olgan holda miqdori +OpportunityWeightedAmountShort=Opp. tortilgan miqdor OpportunityAmountAverageShort=O'rtacha qo'rg'oshin miqdori OpportunityAmountWeigthedShort=Qo'rg'oshin miqdori WonLostExcluded=Yutdi / Yo'qotildi chiqarib tashlandi @@ -180,11 +180,11 @@ TypeContact_project_task_internal_TASKCONTRIBUTOR=Xissador TypeContact_project_task_external_TASKCONTRIBUTOR=Xissador SelectElement=Elementni tanlang AddElement=Elementga havola -LinkToElementShort=Link to +LinkToElementShort=Ga havola # Documents models DocumentModelBeluga=Bog'langan ob'ektlarga umumiy nuqtai uchun loyiha hujjati shabloni DocumentModelBaleine=Vazifalar uchun loyiha hujjati shabloni -DocumentModelTimeSpent=Project report template for time spent +DocumentModelTimeSpent=O'tkazilgan vaqt uchun loyiha hisoboti shabloni PlannedWorkload=Rejalashtirilgan ish hajmi PlannedWorkloadShort=Ish hajmi ProjectReferers=Tegishli narsalar @@ -192,37 +192,37 @@ ProjectMustBeValidatedFirst=Avval loyiha tasdiqlanishi kerak FirstAddRessourceToAllocateTime=Vaqt ajratish uchun foydalanuvchi resursini loyihaning aloqasi sifatida tayinlang InputPerDay=Kuniga kiritish InputPerWeek=Haftada kiritish -InputPerMonth=Input per month -InputDetail=Input detail +InputPerMonth=Oyiga kiritish +InputDetail=Kirish tafsiloti TimeAlreadyRecorded=Bu allaqachon ushbu vazifa uchun yozilgan vaqt va foydalanuvchi %s ProjectsWithThisUserAsContact=Ushbu foydalanuvchi bilan aloqa sifatida loyihalar TasksWithThisUserAsContact=Ushbu foydalanuvchiga berilgan vazifalar ResourceNotAssignedToProject=Loyihaga tayinlanmagan ResourceNotAssignedToTheTask=Vazifaga tayinlanmagan -NoUserAssignedToTheProject=No users assigned to this project -TimeSpentBy=Time spent by -TasksAssignedTo=Tasks assigned to +NoUserAssignedToTheProject=Ushbu loyihaga tayinlangan foydalanuvchilar yo'q +TimeSpentBy=O'tkazilgan vaqt +TasksAssignedTo=Belgilangan vazifalar AssignTaskToMe=O'zimga vazifa bering -AssignTaskToUser=Assign task to %s -SelectTaskToAssign=Select task to assign... +AssignTaskToUser=%s ga topshiriq bering +SelectTaskToAssign=Topshiriqni tanlang ... AssignTask=Tayinlang ProjectOverview=Umumiy nuqtai ManageTasks=Vazifalarni bajarish va / yoki sarflangan vaqt (vaqt jadvallari) haqida xabar berish uchun loyihalardan foydalaning ManageOpportunitiesStatus=Loyihalarni / imkoniyatlarni kuzatib borish uchun foydalaning ProjectNbProjectByMonth=Oy davomida yaratilgan loyihalar soni -ProjectNbTaskByMonth=No. of created tasks by month +ProjectNbTaskByMonth=Oylar davomida yaratilgan topshiriqlar soni ProjectOppAmountOfProjectsByMonth=Oylar bo'yicha etakchilar miqdori ProjectWeightedOppAmountOfProjectsByMonth=Qo'rg'oshinlarning oylik miqdori ProjectOpenedProjectByOppStatus=Ochiq loyiha | etakchi maqomi bo'yicha etakchi ProjectsStatistics=Loyihalar yoki etakchilar bo'yicha statistika -TasksStatistics=Statistics on tasks of projects or leads +TasksStatistics=Loyihalar yoki rahbarlarning vazifalari bo'yicha statistika TaskAssignedToEnterTime=Vazifa tayinlandi. Ushbu topshiriq bo'yicha vaqtni kiritish mumkin bo'lishi kerak. IdTaskTime=Id vazifasi vaqti YouCanCompleteRef=Agar siz ba'zi bir qo'shimchalar bilan refni to'ldirishni istasangiz, uni ajratish uchun belgi qo'shishingiz tavsiya etiladi, shuning uchun avtomatik raqamlash keyingi loyihalar uchun to'g'ri ishlaydi. Masalan %s-MYSUFFIX OpenedProjectsByThirdparties=Uchinchi tomonlarning ochiq loyihalari OnlyOpportunitiesShort=Faqat rahbarlik qiladi OpenedOpportunitiesShort=Ochiq chiziqlar -NotOpenedOpportunitiesShort=Not an open lead +NotOpenedOpportunitiesShort=Ochiq etakchi emas NotAnOpportunityShort=Qo'rg'oshin emas OpportunityTotalAmount=Qo'rg'oshinlarning umumiy miqdori OpportunityPonderatedAmount=Qo'rg'oshinlarning og'irligi @@ -235,43 +235,43 @@ OppStatusPENDING=Kutilmoqda OppStatusWON=Yutuq OppStatusLOST=Yo'qotilgan Budget=Byudjet -AllowToLinkFromOtherCompany=Allow to link project from other company

Supported values:
- Keep empty: Can link any project of the company (default)
- "all": Can link any projects, even projects of other companies
- A list of third-party ids separated by commas: can link all projects of these third partys (Example: 123,4795,53)
-LatestProjects=Latest %s projects -LatestModifiedProjects=Latest %s modified projects -OtherFilteredTasks=Other filtered tasks -NoAssignedTasks=No assigned tasks found (assign project/tasks to the current user from the top select box to enter time on it) -ThirdPartyRequiredToGenerateInvoice=A third party must be defined on project to be able to invoice it. -ChooseANotYetAssignedTask=Choose a task not yet assigned to you +AllowToLinkFromOtherCompany=Loyihani boshqa kompaniyadan bog'lashga ruxsat bering

Qo'llab-quvvatlanadigan qiymatlar:
- Bo'sh tuting: kompaniyaning istalgan loyihasini bog'lashi mumkin (default) a0342fccfdab " vergul bilan ajratilgan uchinchi tomon identifikatorlari: ushbu uchinchi tomonlarning barcha loyihalarini bog'lashi mumkin (Masalan: 123,4795,53)
+LatestProjects=Oxirgi %s loyihalari +LatestModifiedProjects=Oxirgi %s o'zgartirilgan loyihalar +OtherFilteredTasks=Boshqa filtrlangan vazifalar +NoAssignedTasks=Belgilangan vazifalar topilmadi (loyihani / vazifalarni joriy foydalanuvchiga vaqtni belgilash uchun yuqori tanlangan maydonchadan belgilang) +ThirdPartyRequiredToGenerateInvoice=Hisob-kitob qilish imkoniyatiga ega bo'lish uchun loyihada uchinchi shaxs aniqlanishi kerak. +ChooseANotYetAssignedTask=Sizga hali tayinlanmagan vazifani tanlang # Comments trans -AllowCommentOnTask=Allow user comments on tasks -AllowCommentOnProject=Allow user comments on projects -DontHavePermissionForCloseProject=You do not have permissions to close the project %s -DontHaveTheValidateStatus=The project %s must be open to be closed -RecordsClosed=%s project(s) closed -SendProjectRef=Information project %s -ModuleSalaryToDefineHourlyRateMustBeEnabled=Module 'Salaries' must be enabled to define employee hourly rate to have time spent valorized -NewTaskRefSuggested=Task ref already used, a new task ref is required -TimeSpentInvoiced=Time spent billed -TimeSpentForInvoice=Time spent -OneLinePerUser=One line per user -ServiceToUseOnLines=Service to use on lines -InvoiceGeneratedFromTimeSpent=Invoice %s has been generated from time spent on project -ProjectBillTimeDescription=Check if you enter timesheet on tasks of project AND you plan to generate invoice(s) from the timesheet to bill the customer of the project (do not check if you plan to create invoice that is not based on entered timesheets). Note: To generate invoice, go on tab 'Time spent' of the project and select lines to include. -ProjectFollowOpportunity=Follow opportunity -ProjectFollowTasks=Follow tasks or time spent -Usage=Usage -UsageOpportunity=Usage: Opportunity -UsageTasks=Usage: Tasks -UsageBillTimeShort=Usage: Bill time -InvoiceToUse=Draft invoice to use -NewInvoice=New invoice -OneLinePerTask=One line per task -OneLinePerPeriod=One line per period -OneLinePerTimeSpentLine=One line for each time spent declaration -RefTaskParent=Ref. Parent Task -ProfitIsCalculatedWith=Profit is calculated using -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. -SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them +AllowCommentOnTask=Vazifalar bo'yicha foydalanuvchi sharhlariga ruxsat berish +AllowCommentOnProject=Foydalanuvchilarning loyihalar bo'yicha sharhlariga ruxsat berish +DontHavePermissionForCloseProject=%s loyihasini yopish uchun sizda ruxsat yo'q +DontHaveTheValidateStatus=%s loyihasi yopilishi uchun ochiq bo'lishi kerak +RecordsClosed=%s loyihasi yopildi +SendProjectRef=Axborot loyihasi %s +ModuleSalaryToDefineHourlyRateMustBeEnabled="Ish haqi" moduli ishchilarning soatlik stavkasini aniqlash uchun sarflangan vaqtni aniqlash uchun yoqilishi kerak +NewTaskRefSuggested=Vazifa allaqachon ishlatilgan, yangi vazifa talab qilinadi +TimeSpentInvoiced=Hisob-kitob qilingan vaqt +TimeSpentForInvoice=O'tkazilgan vaqt +OneLinePerUser=Har bir foydalanuvchi uchun bitta qator +ServiceToUseOnLines=Qatorlarda foydalanish uchun xizmat +InvoiceGeneratedFromTimeSpent=%s hisob-fakturasi loyihaga sarf qilingan vaqtdan boshlab tuzildi +ProjectBillTimeDescription=Loyiha vazifalari bo'yicha ish jadvalini kiritganingizni tekshiring va loyiha buyurtmachisiga hisob-kitob qilish uchun hisob varag'idan hisob-kitob (lar) yaratishni rejalashtiryapsiz (kiritilgan ish jadvallariga asoslanmagan hisob-faktura yaratishni rejalashtirayotganingizni tekshirmang). Izoh: Hisob-fakturani yaratish uchun loyihaning "sarflangan vaqt" yorlig'iga o'ting va qo'shiladigan qatorlarni tanlang. +ProjectFollowOpportunity=Imkoniyatni kuzatib boring +ProjectFollowTasks=Vazifalarni yoki sarflangan vaqtni kuzatib boring +Usage=Foydalanish +UsageOpportunity=Foydalanish: imkoniyat +UsageTasks=Foydalanish: Vazifalar +UsageBillTimeShort=Foydalanish: hisob-kitob vaqti +InvoiceToUse=Hisob-fakturani ishlating +NewInvoice=Yangi hisob-faktura +OneLinePerTask=Har bir topshiriq uchun bitta qator +OneLinePerPeriod=Har bir davr uchun bitta qator +OneLinePerTimeSpentLine=Har safar o'tkazilgan deklaratsiya uchun bitta satr +RefTaskParent=Ref. Ota-onalarning vazifasi +ProfitIsCalculatedWith=Foyda yordamida hisoblanadi +AddPersonToTask=Vazifalarga qo'shimcha ravishda qo'shing +UsageOrganizeEvent=Foydalanish: tadbirlarni tashkil etish +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Barcha vazifalar bajarilgandan so'ng loyihani yopiq deb tasniflang (100%% taraqqiyoti) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Izoh: 100%% da barcha vazifalar mavjud loyihalar ta'sir qilmaydi: ularni qo'lda yopishingiz kerak bo'ladi. Ushbu parametr faqat ochiq loyihalarga ta'sir qiladi. +SelectLinesOfTimeSpentToInvoice=Hisob-kitob qilinmagan sarflangan vaqtni tanlang, so'ngra hisob-kitob qilish uchun "Hisob-fakturani yaratish" ommaviy harakati diff --git a/htdocs/langs/uz_UZ/propal.lang b/htdocs/langs/uz_UZ/propal.lang index 12c6f691d68..3af849ea661 100644 --- a/htdocs/langs/uz_UZ/propal.lang +++ b/htdocs/langs/uz_UZ/propal.lang @@ -5,7 +5,7 @@ ProposalShort=Taklif ProposalsDraft=Tijorat takliflari loyihasi ProposalsOpened=Tijorat takliflarini oching CommercialProposal=Tijorat taklifi -PdfCommercialProposalTitle=Commercial proposal +PdfCommercialProposalTitle=Tijorat taklifi ProposalCard=Taklif kartasi NewProp=Yangi tijorat taklifi NewPropal=Yangi taklif @@ -33,7 +33,7 @@ PropalStatusSigned=Imzolangan (hisob-kitob kerak) PropalStatusNotSigned=Imzo qo'yilmagan (yopiq) PropalStatusBilled=Hisob-kitob PropalStatusDraftShort=Qoralama -PropalStatusValidatedShort=Validated (open) +PropalStatusValidatedShort=Tasdiqlangan (ochiq) PropalStatusClosedShort=Yopiq PropalStatusSignedShort=Imzolangan PropalStatusNotSignedShort=Imzo qo'yilmagan @@ -59,11 +59,11 @@ ConfirmClonePropal= %s tijorat taklifini klonlamoqchimisiz? ConfirmReOpenProp= %s tijorat taklifini ochmoqchi ekanligingizga aminmisiz? ProposalsAndProposalsLines=Tijorat takliflari va yo'nalishlari ProposalLine=Taklif liniyasi -ProposalLines=Proposal lines +ProposalLines=Taklif satrlari AvailabilityPeriod=Mavjudligini kechiktirish SetAvailability=Mavjudligini kechiktirishni o'rnating AfterOrder=buyurtmadan keyin -OtherProposals=Other proposals +OtherProposals=Boshqa takliflar ##### Availability ##### AvailabilityTypeAV_NOW=Darhol AvailabilityTypeAV_1W=1 hafta @@ -74,19 +74,19 @@ AvailabilityTypeAV_1M=1 oy TypeContact_propal_internal_SALESREPFOLL=Vakilning keyingi taklifi TypeContact_propal_external_BILLING=Mijozlarning hisob-fakturasi bilan aloqa qilish TypeContact_propal_external_CUSTOMER=Keyingi taklif bilan mijozlar bilan bog'lanish -TypeContact_propal_external_SHIPPING=Customer contact for delivery +TypeContact_propal_external_SHIPPING=Yetkazib berish uchun mijozlar bilan bog'lanish # Document models DocModelAzurDescription=Taklifning to'liq modeli (Cyan shablonining eski tatbiqi) -DocModelCyanDescription=A complete proposal model +DocModelCyanDescription=To'liq taklif modeli DefaultModelPropalCreate=Standart model yaratish DefaultModelPropalToBill=Tijorat taklifini yopish paytida standart shablon (hisob-faktura) DefaultModelPropalClosed=Tijorat taklifini yopish paytida standart shablon (taqdim etilmagan) ProposalCustomerSignature=Yozma qabul, kompaniya muhri, sanasi va imzosi ProposalsStatisticsSuppliers=Sotuvchi takliflari statistikasi -CaseFollowedBy=Case followed by -SignedOnly=Signed only -IdProposal=Proposal ID -IdProduct=Product ID -PrParentLine=Proposal Parent Line -LineBuyPriceHT=Buy Price Amount net of tax for line +CaseFollowedBy=Keyingi ish +SignedOnly=Faqat imzolangan +IdProposal=Taklif identifikatori +IdProduct=Mahsulot identifikatori +PrParentLine=Ota-onalar qatori +LineBuyPriceHT=Sotib olish narxlari qatori uchun soliqni olib tashlagan holda diff --git a/htdocs/langs/uz_UZ/receiptprinter.lang b/htdocs/langs/uz_UZ/receiptprinter.lang index 2b9e1367331..b328df42d5b 100644 --- a/htdocs/langs/uz_UZ/receiptprinter.lang +++ b/htdocs/langs/uz_UZ/receiptprinter.lang @@ -15,12 +15,12 @@ CONNECTOR_DUMMY=Dummy printer CONNECTOR_NETWORK_PRINT=Tarmoq printeri CONNECTOR_FILE_PRINT=Mahalliy printer CONNECTOR_WINDOWS_PRINT=Mahalliy Windows printeri -CONNECTOR_CUPS_PRINT=Cups Printer +CONNECTOR_CUPS_PRINT=Kubok printeri CONNECTOR_DUMMY_HELP=Sinov uchun soxta printer, hech narsa qilmaydi CONNECTOR_NETWORK_PRINT_HELP=10.x.x.x: 9100 CONNECTOR_FILE_PRINT_HELP=/ dev / usb / lp0, / dev / usb / lp1 CONNECTOR_WINDOWS_PRINT_HELP=LPT1, COM1, smb: // FooUser: secret @ computername / workgroup / Qabul qilish printeri -CONNECTOR_CUPS_PRINT_HELP=CUPS printer name, example: HPRT_TP805L +CONNECTOR_CUPS_PRINT_HELP=CUPS printer nomi, masalan: HPRT_TP805L PROFILE_DEFAULT=Standart profil PROFILE_SIMPLE=Oddiy profil PROFILE_EPOSTEP=Epos Tep profili @@ -31,7 +31,7 @@ PROFILE_SIMPLE_HELP=Grafika yo'q oddiy profil PROFILE_EPOSTEP_HELP=Epos Tep profili PROFILE_P822D_HELP=P822D profili Grafika yo'q PROFILE_STAR_HELP=Yulduzli profil -DOL_LINE_FEED=Skip line +DOL_LINE_FEED=Chiziqni o‘tkazib yuborish DOL_ALIGN_LEFT=Matnni chapga tekislang DOL_ALIGN_CENTER=Markaziy matn DOL_ALIGN_RIGHT=Matnni o'ngga tekislang @@ -45,38 +45,38 @@ DOL_CUT_PAPER_PARTIAL=Chiptani qisman kesib oling DOL_OPEN_DRAWER=Ochiq kassa DOL_ACTIVATE_BUZZER=Zilni yoqing DOL_PRINT_QRCODE=QR kodini chop eting -DOL_PRINT_LOGO=Print logo of my company -DOL_PRINT_LOGO_OLD=Print logo of my company (old printers) -DOL_BOLD=Bold -DOL_BOLD_DISABLED=Disable bold -DOL_DOUBLE_HEIGHT=Double height size -DOL_DOUBLE_WIDTH=Double width size -DOL_DEFAULT_HEIGHT_WIDTH=Default height and width size -DOL_UNDERLINE=Enable underline -DOL_UNDERLINE_DISABLED=Disable underline -DOL_BEEP=Beep sound -DOL_PRINT_TEXT=Print text -DateInvoiceWithTime=Invoice date and time -YearInvoice=Invoice year -DOL_VALUE_MONTH_LETTERS=Invoice month in letters -DOL_VALUE_MONTH=Invoice month -DOL_VALUE_DAY=Invoice day -DOL_VALUE_DAY_LETTERS=Inovice day in letters -DOL_LINE_FEED_REVERSE=Line feed reverse -InvoiceID=Invoice ID -InvoiceRef=Invoice ref -DOL_PRINT_OBJECT_LINES=Invoice lines -DOL_VALUE_CUSTOMER_FIRSTNAME=Customer first name -DOL_VALUE_CUSTOMER_LASTNAME=Customer last name -DOL_VALUE_CUSTOMER_MAIL=Customer mail -DOL_VALUE_CUSTOMER_PHONE=Customer phone -DOL_VALUE_CUSTOMER_MOBILE=Customer mobile -DOL_VALUE_CUSTOMER_SKYPE=Customer Skype -DOL_VALUE_CUSTOMER_TAX_NUMBER=Customer tax number -DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Customer account balance -DOL_VALUE_MYSOC_NAME=Your company name -VendorLastname=Vendor last name -VendorFirstname=Vendor first name -VendorEmail=Vendor email -DOL_VALUE_CUSTOMER_POINTS=Customer points -DOL_VALUE_OBJECT_POINTS=Object points +DOL_PRINT_LOGO=Kompaniyamning logotipini chop eting +DOL_PRINT_LOGO_OLD=Kompaniyamning logotipini chop etish (eski printerlar) +DOL_BOLD=Qalin +DOL_BOLD_DISABLED=Qalin harfni o'chirib qo'ying +DOL_DOUBLE_HEIGHT=Ikki baravar balandlik +DOL_DOUBLE_WIDTH=Ikki baravar kenglik +DOL_DEFAULT_HEIGHT_WIDTH=Standart balandlik va kenglik o'lchami +DOL_UNDERLINE=Chiziqni yoqish +DOL_UNDERLINE_DISABLED=Chiziqni o‘chirish +DOL_BEEP=Ovozli signal +DOL_PRINT_TEXT=Matnni chop etish +DateInvoiceWithTime=Hisob-fakturaning sanasi va vaqti +YearInvoice=Hisob-faktura yili +DOL_VALUE_MONTH_LETTERS=Hisob-faktura oyi harflar bilan +DOL_VALUE_MONTH=Hisob-faktura oyi +DOL_VALUE_DAY=Hisob-faktura kuni +DOL_VALUE_DAY_LETTERS=Inovice kuni xatlarda +DOL_LINE_FEED_REVERSE=Qatorli uzatma teskari +InvoiceID=Hisob-faktura identifikatori +InvoiceRef=Hisob-faktura +DOL_PRINT_OBJECT_LINES=Hisob-faktura satrlari +DOL_VALUE_CUSTOMER_FIRSTNAME=Mijozning ismi +DOL_VALUE_CUSTOMER_LASTNAME=Mijozning familiyasi +DOL_VALUE_CUSTOMER_MAIL=Mijozlar pochtasi +DOL_VALUE_CUSTOMER_PHONE=Mijoz telefoni +DOL_VALUE_CUSTOMER_MOBILE=Mijoz mobil +DOL_VALUE_CUSTOMER_SKYPE=Mijozlar Skype +DOL_VALUE_CUSTOMER_TAX_NUMBER=Mijozlarning soliq raqami +DOL_VALUE_CUSTOMER_ACCOUNT_BALANCE=Mijozlar hisobidagi qoldiq +DOL_VALUE_MYSOC_NAME=Sizning kompaniyangiz nomi +VendorLastname=Sotuvchi familiyasi +VendorFirstname=Sotuvchining nomi +VendorEmail=Sotuvchi elektron pochta +DOL_VALUE_CUSTOMER_POINTS=Mijozlar ochkolari +DOL_VALUE_OBJECT_POINTS=Ob'ekt nuqtalari diff --git a/htdocs/langs/uz_UZ/receptions.lang b/htdocs/langs/uz_UZ/receptions.lang index 338602e722e..9cdcd708342 100644 --- a/htdocs/langs/uz_UZ/receptions.lang +++ b/htdocs/langs/uz_UZ/receptions.lang @@ -1,47 +1,47 @@ # Dolibarr language file - Source file is en_US - receptions -ReceptionsSetup=Product Reception setup -RefReception=Ref. reception -Reception=Reception -Receptions=Receptions -AllReceptions=All Receptions -Reception=Reception -Receptions=Receptions -ShowReception=Show Receptions -ReceptionsArea=Receptions area -ListOfReceptions=List of receptions -ReceptionMethod=Reception method -LastReceptions=Latest %s receptions -StatisticsOfReceptions=Statistics for receptions -NbOfReceptions=Number of receptions -NumberOfReceptionsByMonth=Number of receptions by month -ReceptionCard=Reception card -NewReception=New reception -CreateReception=Create reception -QtyInOtherReceptions=Qty in other receptions -OtherReceptionsForSameOrder=Other receptions for this order -ReceptionsAndReceivingForSameOrder=Receptions and receipts for this order -ReceptionsToValidate=Receptions to validate -StatusReceptionCanceled=Canceled -StatusReceptionDraft=Draft -StatusReceptionValidated=Validated (products to ship or already shipped) -StatusReceptionProcessed=Processed -StatusReceptionDraftShort=Draft -StatusReceptionValidatedShort=Validated -StatusReceptionProcessedShort=Processed -ReceptionSheet=Reception sheet -ConfirmDeleteReception=Are you sure you want to delete this reception? -ConfirmValidateReception=Are you sure you want to validate this reception with reference %s? -ConfirmCancelReception=Are you sure you want to cancel this reception? -StatsOnReceptionsOnlyValidated=Statistics conducted on receptions only validated. Date used is date of validation of reception (planed delivery date is not always known). -SendReceptionByEMail=Send reception by email -SendReceptionRef=Submission of reception %s -ActionsOnReception=Events on reception -ReceptionCreationIsDoneFromOrder=For the moment, creation of a new reception is done from the order card. -ReceptionLine=Reception line -ProductQtyInReceptionAlreadySent=Product quantity from open sales order already sent -ProductQtyInSuppliersReceptionAlreadyRecevied=Product quantity from open supplier order already received -ValidateOrderFirstBeforeReception=You must first validate the order before being able to make receptions. -ReceptionsNumberingModules=Numbering module for receptions -ReceptionsReceiptModel=Document templates for receptions -NoMorePredefinedProductToDispatch=No more predefined products to dispatch -ReceptionExist=A reception exists +ReceptionsSetup=Mahsulotni qabul qilishni sozlash +RefReception=Ref. ziyofat +Reception=Qabul qilish +Receptions=Qabullar +AllReceptions=Barcha qabullar +Reception=Qabul qilish +Receptions=Qabullar +ShowReception=Qabullarni ko'rsatish +ReceptionsArea=Qabullar maydoni +ListOfReceptions=Qabullar ro'yxati +ReceptionMethod=Qabul qilish usuli +LastReceptions=Oxirgi %s qabulxonalari +StatisticsOfReceptions=Qabul qilish uchun statistika +NbOfReceptions=Qabullar soni +NumberOfReceptionsByMonth=Oylar bo'yicha qabullar soni +ReceptionCard=Qabul qilish kartasi +NewReception=Yangi qabulxona +CreateReception=Qabulxona yaratish +QtyInOtherReceptions=Boshqa qabulxonalarda soni +OtherReceptionsForSameOrder=Ushbu buyurtma bo'yicha boshqa qabulxonalar +ReceptionsAndReceivingForSameOrder=Ushbu buyurtma uchun qabul va tushum +ReceptionsToValidate=Tasdiqlash uchun qabullar +StatusReceptionCanceled=Bekor qilindi +StatusReceptionDraft=Qoralama +StatusReceptionValidated=Tasdiqlangan (jo'natiladigan yoki allaqachon jo'natilgan mahsulotlar) +StatusReceptionProcessed=Qayta ishlangan +StatusReceptionDraftShort=Qoralama +StatusReceptionValidatedShort=Tasdiqlangan +StatusReceptionProcessedShort=Qayta ishlangan +ReceptionSheet=Qabul qilish varaqasi +ConfirmDeleteReception=Ushbu qabulxonani o'chirishni xohlaysizmi? +ConfirmValidateReception=Ushbu qabulxonani %s ma'lumotnomasi bilan tasdiqlamoqchimisiz? +ConfirmCancelReception=Haqiqatan ham ushbu ziyofatni bekor qilmoqchimisiz? +StatsOnReceptionsOnlyValidated=Qabullarda o'tkazilgan statistika faqat tasdiqlangan. Amaldagi sana - qabul qilishning tasdiqlangan sanasi (etkazib berishning rejalashtirilgan sanasi har doim ham ma'lum emas). +SendReceptionByEMail=Qabulni elektron pochta orqali yuboring +SendReceptionRef=Qabulni yuborish %s +ActionsOnReception=Qabul qilish tadbirlari +ReceptionCreationIsDoneFromOrder=Hozirda yangi qabulxonani yaratish buyurtma kartasidan amalga oshiriladi. +ReceptionLine=Qabul qilish liniyasi +ProductQtyInReceptionAlreadySent=Ochiq savdo buyurtmasidan mahsulot miqdori allaqachon yuborilgan +ProductQtyInSuppliersReceptionAlreadyRecevied=Ochiq etkazib beruvchilar buyurtmasidan olingan mahsulot miqdori allaqachon qabul qilingan +ValidateOrderFirstBeforeReception=Qabul qilishdan oldin avval buyurtmani tasdiqlashingiz kerak. +ReceptionsNumberingModules=Qabul qilish uchun raqamlash moduli +ReceptionsReceiptModel=Qabul qilish uchun hujjat shablonlari +NoMorePredefinedProductToDispatch=Yuborish uchun oldindan belgilangan mahsulotlar yo'q +ReceptionExist=Qabulxona mavjud diff --git a/htdocs/langs/uz_UZ/recruitment.lang b/htdocs/langs/uz_UZ/recruitment.lang index 6b0e8117254..dd3c47f2a26 100644 --- a/htdocs/langs/uz_UZ/recruitment.lang +++ b/htdocs/langs/uz_UZ/recruitment.lang @@ -18,59 +18,59 @@ # # Module label 'ModuleRecruitmentName' -ModuleRecruitmentName = Recruitment +ModuleRecruitmentName = Ishga qabul qilish # Module description 'ModuleRecruitmentDesc' -ModuleRecruitmentDesc = Manage and follow recruitment campaigns for new job positions +ModuleRecruitmentDesc = Yangi ish joylariga ishga qabul qilish kampaniyalarini boshqaring va kuzatib boring # # Admin page # -RecruitmentSetup = Recruitment setup -Settings = Settings -RecruitmentSetupPage = Enter here the setup of main options for the recruitment module -RecruitmentArea=Recruitement area -PublicInterfaceRecruitmentDesc=Public pages of jobs are public URLs to show and answer to open jobs. There is one different link for each open job, found on each job record. -EnablePublicRecruitmentPages=Enable public pages of open jobs +RecruitmentSetup = Ishga qabul qilishni sozlash +Settings = Sozlamalar +RecruitmentSetupPage = Ishga qabul qilish moduli uchun asosiy variantlarni sozlashni kiriting +RecruitmentArea=Ishga qabul qilish maydoni +PublicInterfaceRecruitmentDesc=Ishlarning ochiq sahifalari - bu ochiq ish joylarini ko'rsatish va ularga javob berish uchun ochiq URL manzillar. Har bir ochiq ish uchun har bir ish yozuvida bir xil havola mavjud. +EnablePublicRecruitmentPages=Ochiq ish joylarining ommaviy sahifalarini yoqing # # About page # -About = About -RecruitmentAbout = About Recruitment -RecruitmentAboutPage = Recruitment about page -NbOfEmployeesExpected=Expected nb of employees -JobLabel=Label of job position -WorkPlace=Work place -DateExpected=Expected date -FutureManager=Future manager -ResponsibleOfRecruitement=Responsible of recruitment -IfJobIsLocatedAtAPartner=If job is located at a partner place -PositionToBeFilled=Job position -PositionsToBeFilled=Job positions -ListOfPositionsToBeFilled=List of job positions -NewPositionToBeFilled=New job positions +About = Haqida +RecruitmentAbout = Ishga qabul qilish to'g'risida +RecruitmentAboutPage = Sahifa haqida yollash +NbOfEmployeesExpected=Kutilayotgan ishchilar soni +JobLabel=Ish joyining yorlig'i +WorkPlace=Ish joyi +DateExpected=Kutilayotgan sana +FutureManager=Kelajak menejeri +ResponsibleOfRecruitement=Ishga qabul qilish uchun mas'uldir +IfJobIsLocatedAtAPartner=Agar ish sherik joyda joylashgan bo'lsa +PositionToBeFilled=Ish joyi +PositionsToBeFilled=Ish joylari +ListOfPositionsToBeFilled=Ish joylari ro'yxati +NewPositionToBeFilled=Yangi ish joylari -JobOfferToBeFilled=Job position to be filled -ThisIsInformationOnJobPosition=Information of the job position to be filled -ContactForRecruitment=Contact for recruitment -EmailRecruiter=Email recruiter -ToUseAGenericEmail=To use a generic email. If not defined, the email of the responsible of recruitment will be used -NewCandidature=New application -ListOfCandidatures=List of applications -RequestedRemuneration=Requested remuneration -ProposedRemuneration=Proposed remuneration -ContractProposed=Contract proposed -ContractSigned=Contract signed -ContractRefused=Contract refused -RecruitmentCandidature=Application -JobPositions=Job positions -RecruitmentCandidatures=Applications -InterviewToDo=Interview to do -AnswerCandidature=Application answer -YourCandidature=Your application -YourCandidatureAnswerMessage=Thanks you for your application.
... -JobClosedTextCandidateFound=The job position is closed. The position has been filled. -JobClosedTextCanceled=The job position is closed. -ExtrafieldsJobPosition=Complementary attributes (job positions) -ExtrafieldsApplication=Complementary attributes (job applications) -MakeOffer=Make an offer +JobOfferToBeFilled=To'ldirilishi kerak bo'lgan ish joyi +ThisIsInformationOnJobPosition=To'ldirilishi kerak bo'lgan lavozim to'g'risida ma'lumot +ContactForRecruitment=Ishga qabul qilish uchun murojaat qiling +EmailRecruiter=Elektron pochta orqali yollovchi +ToUseAGenericEmail=Umumiy elektron pochtadan foydalanish uchun. Agar aniqlanmagan bo'lsa, ishga qabul qilish uchun mas'ul bo'lgan elektron pochtadan foydalaniladi +NewCandidature=Yangi dastur +ListOfCandidatures=Arizalar ro'yxati +RequestedRemuneration=Talab qilingan to'lov +ProposedRemuneration=Taklif qilingan ish haqi +ContractProposed=Shartnoma taklif qilingan +ContractSigned=Shartnoma imzolandi +ContractRefused=Shartnoma rad etildi +RecruitmentCandidature=Ilova +JobPositions=Ish joylari +RecruitmentCandidatures=Ilovalar +InterviewToDo=Intervyu qilish kerak +AnswerCandidature=Ariza javobi +YourCandidature=Sizning arizangiz +YourCandidatureAnswerMessage=Arizangiz uchun tashakkur.
... +JobClosedTextCandidateFound=Ish joyi yopiq. Lavozim to'ldirildi. +JobClosedTextCanceled=Ish joyi yopiq. +ExtrafieldsJobPosition=Qo'shimcha xususiyatlar (ish joylari) +ExtrafieldsApplication=Qo'shimcha atributlar (ish uchun arizalar) +MakeOffer=Taklif qiling diff --git a/htdocs/langs/uz_UZ/resource.lang b/htdocs/langs/uz_UZ/resource.lang index b74c921472e..802c5fc9a5d 100644 --- a/htdocs/langs/uz_UZ/resource.lang +++ b/htdocs/langs/uz_UZ/resource.lang @@ -5,7 +5,7 @@ DeleteResource=Resursni o'chirish ConfirmDeleteResourceElement=Ushbu element uchun manbani o'chirishni tasdiqlang NoResourceInDatabase=Ma'lumotlar bazasida manba yo'q. NoResourceLinked=Hech qanday manbaga ulanmagan -ActionsOnResource=Events about this resource +ActionsOnResource=Ushbu manbaga oid tadbirlar ResourcePageIndex=Resurslar ro'yxati ResourceSingular=Manba ResourceCard=Resurs kartasi @@ -30,10 +30,10 @@ DictionaryResourceType=Resurslar turi SelectResource=Resursni tanlang -IdResource=Id resource -AssetNumber=Serial number -ResourceTypeCode=Resource type code -ImportDataset_resource_1=Resources +IdResource=Id resursi +AssetNumber=Ishlab chiqarish raqami +ResourceTypeCode=Resurs turi kodi +ImportDataset_resource_1=Resurslar -ErrorResourcesAlreadyInUse=Some resources are in use -ErrorResourceUseInEvent=%s used in %s event +ErrorResourcesAlreadyInUse=Ba'zi manbalardan foydalanilmoqda +ErrorResourceUseInEvent=%s tadbirida ishlatiladigan %s diff --git a/htdocs/langs/uz_UZ/salaries.lang b/htdocs/langs/uz_UZ/salaries.lang index 57f46f48e75..5307e820557 100644 --- a/htdocs/langs/uz_UZ/salaries.lang +++ b/htdocs/langs/uz_UZ/salaries.lang @@ -1,24 +1,24 @@ # Dolibarr language file - Source file is en_US - salaries SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Foydalanuvchi uchinchi shaxslar uchun foydalaniladigan buxgalteriya hisobi -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Foydalanuvchi kartasida belgilangan buxgalteriya hisobi faqat Subledger buxgalteriyasi uchun ishlatiladi. Ushbu foydalanuvchi Bosh daftar uchun va Subledger buxgalteriyasining standart qiymati sifatida foydalanuvchida maxsus foydalanuvchi hisob qaydnomasi aniqlanmagan taqdirda foydalaniladi. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Ish haqi to'lovlari bo'yicha sukut bo'yicha buxgalteriya hisobi -CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=Odatiy bo'lib, Ish haqini yaratishda "Umumiy to'lovni avtomatik ravishda yaratish" parametrini bo'sh qoldiring Salary=Ish haqi Salaries=Ish haqi -NewSalary=New salary +NewSalary=Yangi ish haqi NewSalaryPayment=Yangi ish haqi kartasi -AddSalaryPayment=Add salary payment +AddSalaryPayment=Ish haqini to'lashni qo'shing SalaryPayment=Ish haqi to'lash SalariesPayments=Ish haqi bo'yicha to'lovlar -SalariesPaymentsOf=Salaries payments of %s +SalariesPaymentsOf=%s ish haqi to'lovlari ShowSalaryPayment=Ish haqini to'lashni ko'rsating THM=O'rtacha soatlik stavka TJM=O'rtacha kunlik stavka CurrentSalary=Amaldagi ish haqi THMDescription=Ushbu qiymat, agar modul loyihasi ishlatilgan bo'lsa, foydalanuvchilar tomonidan kiritilgan loyihaga sarf qilingan vaqt xarajatlarini hisoblash uchun ishlatilishi mumkin TJMDescription=Ushbu qiymat hozircha faqat ma'lumot uchun mo'ljallangan va hisoblash uchun ishlatilmaydi -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments -SalariesStatistics=Salary statistics -# Export -SalariesAndPayments=Salaries and payments +LastSalaries=Oxirgi %s ish haqi +AllSalaries=Barcha ish haqi +SalariesStatistics=Ish haqi statistikasi +SalariesAndPayments=Ish haqi va to'lovlar +ConfirmDeleteSalaryPayment=Ushbu ish haqi to'lovini o'chirmoqchimisiz? diff --git a/htdocs/langs/uz_UZ/sendings.lang b/htdocs/langs/uz_UZ/sendings.lang index fb3344d921e..cc5684f0730 100644 --- a/htdocs/langs/uz_UZ/sendings.lang +++ b/htdocs/langs/uz_UZ/sendings.lang @@ -18,19 +18,19 @@ SendingCard=Jo'natma kartasi NewSending=Yangi yuk CreateShipment=Yuklarni yarating QtyShipped=Miqdor jo'natildi -QtyShippedShort=Qty ship. +QtyShippedShort=Miqdor kema. QtyPreparedOrShipped=Miqdor tayyorlangan yoki jo'natilgan QtyToShip=Yetkazib berish uchun miqdor -QtyToReceive=Qty to receive +QtyToReceive=Qabul qilish uchun miqdor QtyReceived=Miqdor olingan QtyInOtherShipments=Miqdor boshqa jo'natmalarda KeepToShip=Yuk tashishda qoling -KeepToShipShort=Remain +KeepToShipShort=Qolmoq OtherSendingsForSameOrder=Ushbu buyurtma uchun boshqa jo'natmalar SendingsAndReceivingForSameOrder=Ushbu buyurtma uchun jo'natmalar va kvitansiyalar SendingsToValidate=Tasdiqlash uchun jo'natmalar StatusSendingCanceled=Bekor qilindi -StatusSendingCanceledShort=Canceled +StatusSendingCanceledShort=Bekor qilindi StatusSendingDraft=Qoralama StatusSendingValidated=Tasdiqlangan (jo'natiladigan yoki allaqachon jo'natilgan mahsulotlar) StatusSendingProcessed=Qayta ishlangan @@ -48,7 +48,7 @@ DateDeliveryPlanned=Rejalashtirilgan etkazib berish sanasi RefDeliveryReceipt=Yetkazib berish kvitansiyasi StatusReceipt=Vaziyatni etkazib berish kvitansiyasi DateReceived=Qabul qilingan sana qabul qilindi -ClassifyReception=Classify reception +ClassifyReception=Qabul qilishni tasniflang SendShippingByEMail=Yukni elektron pochta orqali yuboring SendShippingRef=%s jo'natmasini yuborish ActionsOnShipping=Yuk tashish bo'yicha tadbirlar @@ -66,7 +66,7 @@ ValidateOrderFirstBeforeShipment=Yuklarni jo'natishdan oldin avval buyurtmani ta # Sending methods # ModelDocument DocumentModelTyphon=Yetkazib berish kvitansiyalari uchun to'liq hujjat modeli (logotip ...) -DocumentModelStorm=More complete document model for delivery receipts and extrafields compatibility (logo...) +DocumentModelStorm=Yetkazib berish kvitansiyalari va ekstraditsiyalarning muvofiqligi uchun to'liqroq hujjat modeli (logotip ...) Error_EXPEDITION_ADDON_NUMBER_NotDefined=Doimiy EXPEDITION_ADDON_NUMBER aniqlanmagan SumOfProductVolumes=Mahsulot hajmi SumOfProductWeights=Mahsulot og'irliklari yig'indisi diff --git a/htdocs/langs/uz_UZ/sms.lang b/htdocs/langs/uz_UZ/sms.lang index 49229886551..84b2e40cf5d 100644 --- a/htdocs/langs/uz_UZ/sms.lang +++ b/htdocs/langs/uz_UZ/sms.lang @@ -48,4 +48,4 @@ SmsInfoNumero= (xalqaro format, ya'ni: +33899701761) DelayBeforeSending=Yuborishdan oldin kechikish (daqiqa) SmsNoPossibleSenderFound=Yuboruvchi topilmadi. SMS-provayderingiz sozlamalarini tekshiring. SmsNoPossibleRecipientFound=Maqsad mavjud emas. SMS-provayderingiz sozlamalarini tekshiring. -DisableStopIfSupported=Disable STOP message (if supported) +DisableStopIfSupported=STOP xabarini o'chirib qo'ying (agar qo'llab-quvvatlansa) diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index 1b6b7ba760d..be37586c73a 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -8,19 +8,19 @@ WarehouseEdit=Omborni o'zgartirish MenuNewWarehouse=Yangi ombor WarehouseSource=Manba ombori WarehouseSourceNotDefined=Hech qanday ombor aniqlanmagan, -AddWarehouse=Create warehouse +AddWarehouse=Ombor yaratish AddOne=Bittasini qo'shing -DefaultWarehouse=Default warehouse +DefaultWarehouse=Standart ombor WarehouseTarget=Maqsadli ombor ValidateSending=Yuborishni o'chirish CancelSending=Yuborishni bekor qilish DeleteSending=Yuborishni o'chirish Stock=Aksiya Stocks=Qimmatli qog'ozlar -MissingStocks=Missing stocks -StockAtDate=Stocks at date -StockAtDateInPast=Date in the past -StockAtDateInFuture=Date in the future +MissingStocks=Yo'qolgan aktsiyalar +StockAtDate=Sana bo'yicha aktsiyalar +StockAtDateInPast=O'tmishdagi sana +StockAtDateInFuture=Kelajakdagi sana StocksByLotSerial=Qurilma / seriya bo'yicha aktsiyalar LotSerial=Ko'p / seriyalar LotSerialList=Lot / seriyalar ro'yxati @@ -28,14 +28,14 @@ Movements=Harakatlar ErrorWarehouseRefRequired=Omborga mos yozuvlar nomi talab qilinadi ListOfWarehouses=Omborlar ro'yxati ListOfStockMovements=Birja harakatlari ro'yxati -ListOfInventories=List of inventories -MovementId=Movement ID -StockMovementForId=Movement ID %d -ListMouvementStockProject=List of stock movements associated to project +ListOfInventories=Zaxiralarning ro'yxati +MovementId=Harakat identifikatori +StockMovementForId=Harakat identifikatori %d +ListMouvementStockProject=Loyiha bilan bog'liq bo'lgan aktsiyalar harakati ro'yxati StocksArea=Omborlar maydoni -AllWarehouses=All warehouses -IncludeEmptyDesiredStock=Include also negative stock with undefined desired stock -IncludeAlsoDraftOrders=Include also draft orders +AllWarehouses=Barcha omborlar +IncludeEmptyDesiredStock=Belgilanmagan kerakli aktsiyalar bilan salbiy zaxiralarni ham qo'shing +IncludeAlsoDraftOrders=Shuningdek, buyurtmalar loyihasini ham qo'shing Location=Manzil LocationSummary=Joylashuvning qisqacha nomi NumberOfDifferentProducts=Noyob mahsulotlar soni @@ -45,9 +45,9 @@ LastMovements=Oxirgi harakatlar Units=Birlik Unit=Birlik StockCorrection=Qimmatli qog'ozlarni tuzatish -CorrectStock=Correct stock +CorrectStock=To'g'ri aktsiyalar StockTransfer=Qimmatli qog'ozlarni o'tkazish -TransferStock=Transfer stock +TransferStock=O'tkazma zaxiralari MassStockTransferShort=Ommaviy aktsiyalarni o'tkazish StockMovement=Birja harakati StockMovements=Birja harakatlari @@ -59,14 +59,14 @@ EnhancedValue=Qiymat EnhancedValueOfWarehouses=Omborlarning qiymati UserWarehouseAutoCreate=Foydalanuvchini yaratishda avtomatik ravishda foydalanuvchi omborini yarating AllowAddLimitStockByWarehouse=Shuningdek, har bir mahsulot uchun minimal va kerakli zaxira qiymatidan tashqari, har bir juftlik uchun minimal va kerakli stok qiymatini (mahsulot ombori) boshqaring -RuleForWarehouse=Rule for warehouses -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party -WarehouseAskWarehouseDuringPropal=Set a warehouse on Commercial proposals -WarehouseAskWarehouseDuringOrder=Set a warehouse on Sale orders -UserDefaultWarehouse=Set a warehouse on Users -MainDefaultWarehouse=Default warehouse -MainDefaultWarehouseUser=Use a default warehouse for each user -MainDefaultWarehouseUserDesc=By activating this option, during creation of a product, the warehouse assigned to the product will be defined on this one. If no warehouse is defined on the user, the default warehouse is defined. +RuleForWarehouse=Omborlar uchun qoida +WarehouseAskWarehouseOnThirparty=Uchinchi shaxslarga omborni o'rnating +WarehouseAskWarehouseDuringPropal=Tijorat takliflari bo'yicha omborni o'rnating +WarehouseAskWarehouseDuringOrder=Sotish buyurtmalariga binoan omborni o'rnating +UserDefaultWarehouse=Foydalanuvchilarga omborni o'rnating +MainDefaultWarehouse=Standart ombor +MainDefaultWarehouseUser=Har bir foydalanuvchi uchun odatiy ombordan foydalaning +MainDefaultWarehouseUserDesc=Ushbu parametrni faollashtirgan holda, mahsulotni yaratish paytida mahsulot uchun mo'ljallangan ombor aniqlanadi. Agar foydalanuvchida ombor aniqlanmagan bo'lsa, standart ombor aniqlanadi. IndependantSubProductStock=Mahsulot zaxiralari va subproduct zaxiralari mustaqil QtyDispatched=Miqdor yuborildi QtyDispatchedShort=Miqdor jo'natildi @@ -81,31 +81,31 @@ DeStockOnShipmentOnClosing=Yuk tashish yopiq bo'lsa, haqiqiy zaxiralarni kamayti ReStockOnBill=Sotuvchi fakturasini / kredit yozuvini tasdiqlash bo'yicha real zaxiralarni ko'paytiring ReStockOnValidateOrder=Xarid buyurtmalarini tasdiqlash bo'yicha haqiqiy zaxiralarni ko'paytiring ReStockOnDispatchOrder=Tovarlarni sotib olish buyurtmasi olinganidan keyin omborga qo'lda jo'natish uchun real zaxiralarni ko'paytiring -StockOnReception=Increase real stocks on validation of reception -StockOnReceptionOnClosing=Increase real stocks when reception is set to closed +StockOnReception=Qabul qilishni tasdiqlash bo'yicha haqiqiy zaxiralarni ko'paytiring +StockOnReceptionOnClosing=Qabul qilish yopiq bo'lsa, haqiqiy zaxiralarni ko'paytiring OrderStatusNotReadyToDispatch=Buyurtma hali omborlarda mahsulotlarni jo'natishga imkon beradigan maqomga ega emas yoki yo'q. StockDiffPhysicTeoric=Jismoniy va virtual zaxiralar o'rtasidagi farqni tushuntirish NoPredefinedProductToDispatch=Ushbu ob'ekt uchun oldindan belgilangan mahsulotlar yo'q. Shuning uchun stokda dispetcherlik talab qilinmaydi. DispatchVerb=Jo'natish StockLimitShort=Ogohlantirish chegarasi StockLimit=Ogohlantirish uchun stok cheklovi -StockLimitDesc=(empty) means no warning.
0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(bo'sh) ogohlantirish yo'q degan ma'noni anglatadi.
0 zaxira bo'sh bo'lishi bilanoq ogohlantirishni boshlash uchun ishlatilishi mumkin. PhysicalStock=Jismoniy aktsiyalar RealStock=Haqiqiy aktsiya -RealStockDesc=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=Jismoniy / haqiqiy zaxira - bu omborlarda mavjud bo'lgan zaxira. +RealStockWillAutomaticallyWhen=Haqiqiy zaxira ushbu qoidaga muvofiq o'zgartiriladi (Stok modulida belgilanganidek): VirtualStock=Virtual zaxira -VirtualStockAtDate=Virtual stock at date -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) -AtDate=At date +VirtualStockAtDate=Bugungi kunda virtual zaxira +VirtualStockAtDateDesc=Tanlangan sanadan oldin qayta ishlashni rejalashtirgan barcha kutilayotgan buyurtmalar tugagandan so'ng, virtual zaxiralar +VirtualStockDesc=Virtual aktsiya - bu barcha ochiq / kutilayotgan harakatlar (aktsiyalarga ta'sir ko'rsatadigan) yopilgandan so'ng mavjud bo'lgan hisoblangan zaxira (sotib olish buyurtmalari kelib tushdi, sotish buyurtmalari jo'natildi, ishlab chiqarish buyurtmalari ishlab chiqarildi va hk). +AtDate=Hozirgi kunda IdWarehouse=Idish ombori DescWareHouse=Tavsif ombori LieuWareHouse=Mahalliylashtirish ombori WarehousesAndProducts=Omborlar va mahsulotlar WarehousesAndProductsBatchDetail=Omborlar va mahsulotlar (lot / seriya bo'yicha batafsil ma'lumot bilan) AverageUnitPricePMPShort=O'rtacha narx -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=Bizning mahsulotimizga 1 dona mahsulotni kiritish uchun sarflangan o'rtacha birlik narxi. SellPriceMin=Sotish birligi narxi EstimatedStockValueSellShort=Sotish uchun qiymati EstimatedStockValueSell=Sotish uchun qiymati @@ -124,8 +124,8 @@ StockToBuy=Buyurtma qilish Replenishment=To'ldirish ReplenishmentOrders=To'ldirish buyurtmalari VirtualDiffersFromPhysical=Aksiyalarning ko'payishi / kamayishi bo'yicha jismoniy aktsiyalar va virtual aktsiyalar (jismoniy aktsiyalar + ochiq buyurtmalar) farq qilishi mumkin -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +UseRealStockByDefault=To'ldirish xususiyati uchun virtual aktsiyalar o'rniga haqiqiy aktsiyalardan foydalaning +ReplenishmentCalculation=Buyurtma miqdori (kerakli miqdor - virtual zaxira) o'rniga (kerakli miqdor - haqiqiy zaxira) bo'ladi UseVirtualStock=Virtual zaxiradan foydalaning UsePhysicalStock=Jismoniy zaxiradan foydalaning CurentSelectionMode=Joriy tanlov rejimi @@ -134,12 +134,12 @@ CurentlyUsingPhysicalStock=Jismoniy zaxiralar RuleForStockReplenishment=Qimmatli qog'ozlarni to'ldirish qoidasi SelectProductWithNotNullQty=Miqdor null bo'lmagan va sotuvchisi bo'lgan kamida bitta mahsulotni tanlang AlertOnly= Faqat ogohlantirishlar -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +IncludeProductWithUndefinedAlerts = Istalgan miqdori aniqlanmagan mahsulotlar uchun salbiy zaxiralarni ham qo'shing, ularni 0 ga qaytaring WarehouseForStockDecrease= %s ombori zaxiralarni kamaytirish uchun ishlatiladi WarehouseForStockIncrease= %s ombori zaxiralarni ko'paytirish uchun ishlatiladi ForThisWarehouse=Ushbu ombor uchun ReplenishmentStatusDesc=Bu kerakli zaxiradan past bo'lgan (yoki "faqat ogohlantirish" katagiga belgi qo'yilgan bo'lsa, ogohlantirish qiymatidan past bo'lgan) barcha mahsulotlarning ro'yxati. Belgilash katagidan foydalanib, siz farqni to'ldirish uchun sotib olish buyurtmalarini yaratishingiz mumkin. -ReplenishmentStatusDescPerWarehouse=If you want a replenishment based on desired quantity defined per warehouse, you must add a filter on the warehouse. +ReplenishmentStatusDescPerWarehouse=Agar siz ombor uchun kerakli miqdordagi miqdor bo'yicha to'ldirishni xohlasangiz, omborga filtr qo'shishingiz kerak. ReplenishmentOrdersDesc=Bu oldindan belgilangan mahsulotlarni o'z ichiga olgan barcha ochiq sotib olish buyurtmalarining ro'yxati. Bu erda faqat oldindan belgilangan mahsulotlarga ega bo'lgan ochiq buyurtmalar, shu sababli aktsiyalarga ta'sir qilishi mumkin bo'lgan buyurtmalar ko'rinadi. Replenishments=To'ldirish NbOfProductBeforePeriod=%s mahsulotining tanlangan muddatgacha zaxiradagi miqdori (<%s) @@ -154,21 +154,21 @@ StockMustBeEnoughForInvoice=Hisob-fakturaga mahsulot / xizmatni qo'shish uchun b StockMustBeEnoughForOrder=Qimmatbaho qog'ozlar darajasi buyurtma berish uchun mahsulot / xizmatni qo'shish uchun etarli bo'lishi kerak (tekshirish avtomatik ravishda o'zgartirish qoidalari qanday bo'lishidan qat'i nazar, qatorni qo'shganda joriy real zaxirada amalga oshiriladi) StockMustBeEnoughForShipment= Qimmatbaho qog'ozlar darajasi mahsulotni / xizmatni jo'natishga qo'shish uchun etarli bo'lishi kerak (tekshirish avtomatik ravishda o'zgarishi uchun qanday qoidaga rioya qilinsa, etkazib berishga chiziq qo'shilganda joriy real zaxirada tekshiriladi) MovementLabel=Harakat yorlig'i -TypeMovement=Direction of movement -DateMovement=Date of movement +TypeMovement=Harakat yo'nalishi +DateMovement=Harakat sanasi InventoryCode=Harakat yoki inventarizatsiya kodi IsInPackage=Paket ichida mavjud WarehouseAllowNegativeTransfer=Qimmatli qog'ozlar salbiy bo'lishi mumkin qtyToTranferIsNotEnough=Sizda manba omboridan etarli miqdordagi zaxira yo'q va sizning sozlamangiz salbiy zaxiralarga yo'l qo'ymaydi. -qtyToTranferLotIsNotEnough=You don't have enough stock, for this lot number, from your source warehouse and your setup does not allow negative stocks (Qty for product '%s' with lot '%s' is %s in warehouse '%s'). +qtyToTranferLotIsNotEnough=Sizda ushbu zaxira ombori uchun etarli miqdordagi zaxira yo'q va sizning sozlamangiz salbiy zaxiralarga yo'l qo'ymaydi ("%s" lot bilan "%s" mahsuloti uchun miqdori "%s" omborida %s '). ShowWarehouse=Omborni ko'rsatish MovementCorrectStock=%s mahsuloti uchun aktsiyalarni tuzatish MovementTransferStock=%s mahsulotini boshqa omborga zaxirada o'tkazish InventoryCodeShort=Inv. / Mov. kod NoPendingReceptionOnSupplierOrder=Ochiq sotib olish buyurtmasi tufayli kutish kutilmagan ThisSerialAlreadyExistWithDifferentDate=Bu ko'p / seriya raqami ( %s ) allaqachon mavjud, lekin har xil eatby yoki sellby sana ( %s topildi lekin siz %s kiriting). -OpenAll=Barcha harakatlar uchun ochiq -OpenInternal=Faqat ichki harakatlar uchun oching +OpenAnyMovement=Ochiq (barcha harakatlar) +OpenInternal=Ochiq (faqat ichki harakat) UseDispatchStatus=Xarid buyurtmalarini qabul qilishda mahsulot yo'nalishlari uchun jo'natish holatidan foydalaning (tasdiqlash / rad etish) OptionMULTIPRICESIsOn="Bir segment uchun bir nechta narxlar" opsiyasi yoqilgan. Bu shuni anglatadiki, mahsulot bir necha sotish narxiga ega, shuning uchun sotish qiymatini hisoblab bo'lmaydi ProductStockWarehouseCreated=Ogohlantirish uchun stok chegarasi va kerakli optimal stok to'g'ri yaratilgan @@ -176,83 +176,83 @@ ProductStockWarehouseUpdated=Ogohlantirish uchun kerakli limit va kerakli optima ProductStockWarehouseDeleted=Ogohlantirish uchun kerakli limit va kerakli optimal stok to'g'ri o'chirildi AddNewProductStockWarehouse=Ogohlantirish va kerakli optimal stok uchun yangi chegara o'rnating AddStockLocationLine=Miqdorni kamaytiring, so'ngra ushbu mahsulot uchun boshqa omborni qo'shish uchun bosing -InventoryDate=Inventory date -NewInventory=New inventory -inventorySetup = Inventory Setup -inventoryCreatePermission=Create new inventory -inventoryReadPermission=View inventories -inventoryWritePermission=Update inventories -inventoryValidatePermission=Validate inventory -inventoryDeletePermission=Delete inventory -inventoryTitle=Inventory -inventoryListTitle=Inventories -inventoryListEmpty=No inventory in progress -inventoryCreateDelete=Create/Delete inventory -inventoryCreate=Create new -inventoryEdit=Edit -inventoryValidate=Validated -inventoryDraft=Running -inventorySelectWarehouse=Warehouse choice +InventoryDate=Inventarizatsiya sanasi +NewInventory=Yangi inventarizatsiya +inventorySetup = Inventarizatsiyani sozlash +inventoryCreatePermission=Yangi inventarizatsiya yarating +inventoryReadPermission=Zaxiralarni ko'rish +inventoryWritePermission=Zaxiralarni yangilang +inventoryValidatePermission=Inventarizatsiyani tasdiqlash +inventoryDeletePermission=Inventarizatsiyani o'chirish +inventoryTitle=Inventarizatsiya +inventoryListTitle=Zaxiralar +inventoryListEmpty=Inventarizatsiya qilinmayapti +inventoryCreateDelete=Inventarizatsiya yaratish / o'chirish +inventoryCreate=Yangisini yarating +inventoryEdit=Tahrirlash +inventoryValidate=Tasdiqlangan +inventoryDraft=Yugurish +inventorySelectWarehouse=Omborni tanlash inventoryConfirmCreate=Create -inventoryOfWarehouse=Inventory for warehouse: %s -inventoryErrorQtyAdd=Error: one quantity is less than zero -inventoryMvtStock=By inventory -inventoryWarningProductAlreadyExists=This product is already into list -SelectCategory=Category filter -SelectFournisseur=Vendor filter -inventoryOnDate=Inventory -INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Stock movements will have the date of inventory (instead of the date of inventory validation) -inventoryChangePMPPermission=Allow to change PMP value for a product -ColumnNewPMP=New unit PMP -OnlyProdsInStock=Do not add product without stock -TheoricalQty=Theorique qty -TheoricalValue=Theorique qty -LastPA=Last BP +inventoryOfWarehouse=Ombor uchun inventarizatsiya: %s +inventoryErrorQtyAdd=Xato: bitta miqdor noldan kam +inventoryMvtStock=Inventarizatsiya bo'yicha +inventoryWarningProductAlreadyExists=Ushbu mahsulot allaqachon ro'yxatga kiritilgan +SelectCategory=Turkum filtri +SelectFournisseur=Sotuvchi filtri +inventoryOnDate=Inventarizatsiya +INVENTORY_USE_INVENTORY_DATE_FOR_DATE_OF_MVT=Qimmatli qog'ozlar harakati inventarizatsiya sanasiga ega bo'ladi (inventarizatsiya tasdiqlangan sana o'rniga) +inventoryChangePMPPermission=Mahsulot uchun PMP qiymatini o'zgartirishga ruxsat bering +ColumnNewPMP=Yangi birlik PMP +OnlyProdsInStock=Mahsulotni zaxirasiz qo'shmang +TheoricalQty=Nazariy son +TheoricalValue=Nazariy son +LastPA=Oxirgi BP CurrentPA=Curent BP -RecordedQty=Recorded Qty -RealQty=Real Qty -RealValue=Real Value -RegulatedQty=Regulated Qty -AddInventoryProduct=Add product to inventory -AddProduct=Add -ApplyPMP=Apply PMP -FlushInventory=Flush inventory -ConfirmFlushInventory=Do you confirm this action? -InventoryFlushed=Inventory flushed -ExitEditMode=Exit edition -inventoryDeleteLine=Delete line -RegulateStock=Regulate Stock -ListInventory=List -StockSupportServices=Stock management supports Services -StockSupportServicesDesc=By default, you can stock only products of type "product". You may also stock a product of type "service" if both module Services and this option are enabled. -ReceiveProducts=Receive items -StockIncreaseAfterCorrectTransfer=Increase by correction/transfer -StockDecreaseAfterCorrectTransfer=Decrease by correction/transfer -StockIncrease=Stock increase -StockDecrease=Stock decrease -InventoryForASpecificWarehouse=Inventory for a specific warehouse -InventoryForASpecificProduct=Inventory for a specific product -StockIsRequiredToChooseWhichLotToUse=Stock is required to choose which lot to use -ForceTo=Force to -AlwaysShowFullArbo=Display full tree of warehouse on popup of warehouse links (Warning: This may decrease dramatically performances) -StockAtDatePastDesc=You can view here the stock (real stock) at a given date in the past -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future -CurrentStock=Current stock -InventoryRealQtyHelp=Set value to 0 to reset qty
Keep field empty, or remove line, to keep unchanged -UpdateByScaning=Fill real qty by scaning -UpdateByScaningProductBarcode=Update by scan (product barcode) -UpdateByScaningLot=Update by scan (lot|serial barcode) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. -ImportFromCSV=Import CSV list of movement -ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... -SelectAStockMovementFileToImport=select a stock movement file to import -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
CSV character separator must be "%s" -LabelOfInventoryMovemement=Inventory %s -ReOpen=Reopen -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity -ShowAllBatchByDefault=By default, show batch details on product "stock" tab -CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration -FieldCannotBeNegative=Field "%s" cannot be negative +RecordedQty=Yozilgan Miqdor +RealQty=Haqiqiy miqdor +RealValue=Haqiqiy qiymat +RegulatedQty=Tartibga solinadigan miqdor +AddInventoryProduct=Mahsulotni inventarizatsiyaga qo'shing +AddProduct=Qo'shish +ApplyPMP=PMP-ni qo'llang +FlushInventory=Tozalash moslamalari +ConfirmFlushInventory=Siz ushbu amalni tasdiqlaysizmi? +InventoryFlushed=Inventarizatsiya qizarib ketdi +ExitEditMode=Nashrdan chiqish +inventoryDeleteLine=Chiziqni o'chirish +RegulateStock=Qimmatli qog'ozlarni tartibga solish +ListInventory=Ro'yxat +StockSupportServices=Aktsiyalarni boshqarish xizmatlarni qo'llab-quvvatlaydi +StockSupportServicesDesc=Odatiy bo'lib, siz faqat "mahsulot" turidagi mahsulotlarni to'ldirishingiz mumkin. Ikkala modul xizmatlari va ushbu parametr yoqilgan bo'lsa, siz "xizmat" turidagi mahsulotni sotib olishingiz mumkin. +ReceiveProducts=Ob'ektlarni qabul qiling +StockIncreaseAfterCorrectTransfer=Tuzatish / o'tkazish yo'li bilan oshirish +StockDecreaseAfterCorrectTransfer=Tuzatish / o'tkazish yo'li bilan kamaytiring +StockIncrease=Qimmatli qog'ozlarning ko'payishi +StockDecrease=Qimmatli qog'ozlar kamayadi +InventoryForASpecificWarehouse=Muayyan ombor uchun inventarizatsiya +InventoryForASpecificProduct=Muayyan mahsulot uchun inventarizatsiya +StockIsRequiredToChooseWhichLotToUse=Qaysi lotdan foydalanishni tanlash uchun stok talab qilinadi +ForceTo=Majburlash +AlwaysShowFullArbo=Qalqib chiqadigan omborxonada to'liq ombor daraxtini ko'rsating (Ogohlantirish: Bu ko'rsatkichlar keskin pasayishi mumkin) +StockAtDatePastDesc=Siz bu erda o'tmishda berilgan sanada aktsiyalarni (haqiqiy aktsiyalar) ko'rishingiz mumkin +StockAtDateFutureDesc=Kelajakda ushbu sanada aktsiyalarni (virtual aktsiyalar) ma'lum bir sanada ko'rishingiz mumkin +CurrentStock=Joriy aktsiyalar +InventoryRealQtyHelp=
miqdorini qayta tiklash uchun 0 qiymatini o'rnating +UpdateByScaning=Haqiqiy sonni skanerlash bilan to'ldiring +UpdateByScaningProductBarcode=Skanerlash orqali yangilash (mahsulot shtrix-kodi) +UpdateByScaningLot=Skanerlash orqali yangilash (lot | ketma-ket shtrix-kod) +DisableStockChangeOfSubProduct=Ushbu harakat paytida ushbu to'plamning barcha subproductlari uchun birja o'zgarishini o'chirib qo'ying. +ImportFromCSV=CSV harakatlar ro'yxatini import qilish +ChooseFileToImport=Faylni yuklang, so'ngra faylni manba import fayli sifatida tanlash uchun %s belgisini bosing ... +SelectAStockMovementFileToImport=import qilish uchun aktsiyalar harakati faylini tanlang +InfoTemplateImport=Yuklangan fayl quyidagi formatga ega bo'lishi kerak (* majburiy maydonlar):
Manba ombori * | Maqsadli ombor * * Mahsulot * | Miqdor * | Lot / seriya raqami
CSV belgilarni ajratuvchi " %s " bo'lishi kerak +LabelOfInventoryMovemement=Inventarizatsiya %s +ReOpen=Qayta oching +ConfirmFinish=Inventarizatsiya yopilishini tasdiqlaysizmi? Bu sizning zaxirangizni inventarizatsiyaga kiritgan haqiqiy miqdordagi yangilash uchun barcha aktsiyalar harakatlarini keltirib chiqaradi. +ObjectNotFound=%s topilmadi +MakeMovementsAndClose=Harakatlarni yarating va yoping +AutofillWithExpected=Haqiqiy miqdorni kutilgan miqdor bilan to'ldiring +ShowAllBatchByDefault=Odatiy bo'lib, mahsulot "stok" yorlig'ida partiyaning tafsilotlarini ko'rsating +CollapseBatchDetailHelp=Qimmatbaho qog'ozlar moduli konfiguratsiyasida partiyaning tafsilotlari bo'yicha standart displeyni o'rnatishingiz mumkin +FieldCannotBeNegative="%s" maydoni salbiy bo'lishi mumkin emas diff --git a/htdocs/langs/uz_UZ/stripe.lang b/htdocs/langs/uz_UZ/stripe.lang index 844762040af..95a3ce10828 100644 --- a/htdocs/langs/uz_UZ/stripe.lang +++ b/htdocs/langs/uz_UZ/stripe.lang @@ -1,72 +1,71 @@ # Dolibarr language file - Source file is en_US - stripe -StripeSetup=Stripe module setup -StripeDesc=Offer customers a Stripe online payment page for payments with credit/cebit cards via Stripe. This can be used to allow your customers to make ad-hoc payments or for payments related to a particular Dolibarr object (invoice, order, ...) -StripeOrCBDoPayment=Pay with credit card or Stripe -FollowingUrlAreAvailableToMakePayments=Following URLs are available to offer a page to a customer to make a payment on Dolibarr objects -PaymentForm=Payment form -WelcomeOnPaymentPage=Welcome to our online payment service -ThisScreenAllowsYouToPay=This screen allow you to make an online payment to %s. -ThisIsInformationOnPayment=This is information on payment to do -ToComplete=To complete -YourEMail=Email to receive payment confirmation -STRIPE_PAYONLINE_SENDEMAIL=Email notification after a payment attempt (success or fail) -Creditor=Creditor -PaymentCode=Payment code -StripeDoPayment=Pay with Stripe -YouWillBeRedirectedOnStripe=You will be redirected on secured Stripe page to input you credit card information -Continue=Next -ToOfferALinkForOnlinePayment=URL for %s payment -ToOfferALinkForOnlinePaymentOnOrder=URL to offer a %s online payment page for a sales order -ToOfferALinkForOnlinePaymentOnInvoice=URL to offer a %s online payment page for a customer invoice -ToOfferALinkForOnlinePaymentOnContractLine=URL to offer a %s online payment page for a contract line -ToOfferALinkForOnlinePaymentOnFreeAmount=URL to offer a %s online payment page of any amount with no existing object -ToOfferALinkForOnlinePaymentOnMemberSubscription=URL to offer a %s online payment page for a member subscription -ToOfferALinkForOnlinePaymentOnDonation=URL to offer a %s online payment page for payment of a donation -YouCanAddTagOnUrl=You can also add url parameter &tag=value to any of those URL (mandatory only for payment not linked to an object) to add your own payment comment tag.
For the URL of payments with no existing object, you may also add the parameter &noidempotency=1 so the same link with same tag can be used several times (some payment mode may limit the payment to 1 for each different link without this parameter) -SetupStripeToHavePaymentCreatedAutomatically=Setup your Stripe with url %s to have payment created automatically when validated by Stripe. -AccountParameter=Account parameters -UsageParameter=Usage parameters -InformationToFindParameters=Help to find your %s account information -STRIPE_CGI_URL_V2=Url of Stripe CGI module for payment -VendorName=Name of vendor -CSSUrlForPaymentForm=CSS style sheet url for payment form -NewStripePaymentReceived=New Stripe payment received -NewStripePaymentFailed=New Stripe payment tried but failed -FailedToChargeCard=Failed to charge card -STRIPE_TEST_SECRET_KEY=Secret test key -STRIPE_TEST_PUBLISHABLE_KEY=Publishable test key -STRIPE_TEST_WEBHOOK_KEY=Webhook test key -STRIPE_LIVE_SECRET_KEY=Secret live key -STRIPE_LIVE_PUBLISHABLE_KEY=Publishable live key -STRIPE_LIVE_WEBHOOK_KEY=Webhook live key -ONLINE_PAYMENT_WAREHOUSE=Stock to use for stock decrease when online payment is done
(TODO When option to decrease stock is done on an action on invoice and the online payment generate itself the invoice ?) -StripeLiveEnabled=Stripe live enabled (otherwise test/sandbox mode) -StripeImportPayment=Import Stripe payments -ExampleOfTestCreditCard=Example of credit card for test: %s => valid, %s => error CVC, %s => expired, %s => charge fails -StripeGateways=Stripe gateways -OAUTH_STRIPE_TEST_ID=Stripe Connect Client ID (ca_...) -OAUTH_STRIPE_LIVE_ID=Stripe Connect Client ID (ca_...) -BankAccountForBankTransfer=Bank account for fund payouts -StripeAccount=Stripe account -StripeChargeList=List of Stripe charges -StripeTransactionList=List of Stripe transactions -StripeCustomerId=Stripe customer id -StripePaymentModes=Stripe payment modes -LocalID=Local ID +StripeSetup=Stripe modulini sozlash +StripeDesc= Stripe orqali mijozlarga kredit / cebit kartalar bilan to'lovlarni amalga oshirish uchun Stripe onlayn to'lov sahifasini taklif eting. Bu sizning mijozlaringizga vaqtinchalik to'lovlarni amalga oshirishda yoki ma'lum bir Dolibarr ob'ekti bilan bog'liq to'lovlarda (faktura, buyurtma, ...) ruxsat berish uchun ishlatilishi mumkin. +StripeOrCBDoPayment=Kredit karta yoki Stripe orqali to'lash +FollowingUrlAreAvailableToMakePayments=Dolibarr ob'ektlarida to'lovni amalga oshirish uchun xaridorga sahifani taklif qilish uchun quyidagi URL manzillar mavjud +PaymentForm=To'lov shakli +WelcomeOnPaymentPage=Onlayn to'lov xizmatimizga xush kelibsiz +ThisScreenAllowsYouToPay=Ushbu ekran sizga %s raqamiga onlayn to'lovni amalga oshirishga imkon beradi. +ThisIsInformationOnPayment=Bu to'lash to'g'risida ma'lumot +ToComplete=Tugatish uchun +YourEMail=To'lovni tasdiqlash uchun elektron pochta xabarini yuboring +STRIPE_PAYONLINE_SENDEMAIL=To'lov amalga oshirilgandan so'ng elektron pochta xabarnomasi (muvaffaqiyatli yoki muvaffaqiyatsiz) +Creditor=Kreditor +PaymentCode=To'lov kodi +StripeDoPayment=Stripe bilan to‘lang +YouWillBeRedirectedOnStripe=Siz kredit karta ma'lumotlarini kiritish uchun xavfsiz Stripe sahifasida yo'naltirilasiz +Continue=Keyingi +ToOfferALinkForOnlinePayment=%s to'lovi uchun URL +ToOfferALinkForOnlinePaymentOnOrder=Savdo buyurtmasi uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnInvoice=Mijozlarning hisob-fakturasi uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnContractLine=Shartnoma liniyasi uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnFreeAmount=Mavjud ob'ekti bo'lmagan har qanday miqdordagi %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnMemberSubscription=Ro'yxatdan obuna uchun %s onlayn to'lov sahifasini taqdim etish uchun URL +ToOfferALinkForOnlinePaymentOnDonation=Xayr-ehson to'lash uchun %s onlayn to'lov sahifasini taqdim etadigan URL +YouCanAddTagOnUrl=O'zingizning to'lov izoh yorlig'ingizni qo'shish uchun url parametrini & tag = URL-ni qo'shishingiz mumkin (faqat ob'ekt bilan bog'lanmagan to'lov uchun majburiy).
Mavjud ob'ekti bo'lmagan to'lovlar URL manzili uchun siz & noidempotency = 1 parametrini qo'shishingiz mumkin, shuning uchun bir xil teg bilan bir xil havoladan bir necha marta foydalanish mumkin (ba'zi to'lov rejimi har bir boshqa havola uchun to'lovni 1 ga cheklashi mumkin) parametr) +SetupStripeToHavePaymentCreatedAutomatically=Stripe-ni url bilan sozlang %s Stripe tomonidan tasdiqlanganda to'lov avtomatik ravishda yaratiladi. +AccountParameter=Hisob parametrlari +UsageParameter=Foydalanish parametrlari +InformationToFindParameters=%s hisob qaydnomangiz ma'lumotlarini topishga yordam bering +STRIPE_CGI_URL_V2=To'lov uchun Url of Stripe CGI moduli +CSSUrlForPaymentForm=To'lov shakli uchun CSS uslublar varag'i url +NewStripePaymentReceived=Yangi Stripe to'lovi qabul qilindi +NewStripePaymentFailed=Yangi Stripe to'lovi amalga oshirildi, ammo muvaffaqiyatsiz tugadi +FailedToChargeCard=Kartadan zaryad olinmadi +STRIPE_TEST_SECRET_KEY=Yashirin sinov kaliti +STRIPE_TEST_PUBLISHABLE_KEY=Nashr etiladigan test kaliti +STRIPE_TEST_WEBHOOK_KEY=Webhook sinov kaliti +STRIPE_LIVE_SECRET_KEY=Yashirin kalit +STRIPE_LIVE_PUBLISHABLE_KEY=Nashr qilinadigan jonli kalit +STRIPE_LIVE_WEBHOOK_KEY=Webhook jonli kaliti +ONLINE_PAYMENT_WAREHOUSE=Onlayn to'lov amalga oshirilganda aktsiyalarni pasaytirish uchun foydalaniladigan zaxiralar +StripeLiveEnabled=Stripe jonli yoqilgan (aks holda sinov / sandbox rejimi) +StripeImportPayment=Stripe to'lovlarini import qilish +ExampleOfTestCreditCard=Sinov uchun kredit karta misoli: %s => valid, %s => error CVC, %s => muddati o'tgan, %s => zaryad ishlamayapti +StripeGateways=Stripe shlyuzlari +OAUTH_STRIPE_TEST_ID=Stripe Connect mijoz identifikatori (taxminan _...) +OAUTH_STRIPE_LIVE_ID=Stripe Connect mijoz identifikatori (taxminan _...) +BankAccountForBankTransfer=Jamg'arma to'lovlari uchun bank hisobvarag'i +StripeAccount=Stripe hisob qaydnomasi +StripeChargeList=Stripe to'lovlari ro'yxati +StripeTransactionList=Stripe operatsiyalari ro'yxati +StripeCustomerId=Stripe mijoz identifikatori +StripePaymentModes=Stripe to'lov rejimlari +LocalID=Mahalliy identifikator StripeID=Stripe ID -NameOnCard=Name on card -CardNumber=Card Number -ExpiryDate=Expiry Date +NameOnCard=kartadagi nom +CardNumber=Karta raqami +ExpiryDate=Quyidagi sanagacha foydalanilsin CVN=CVN -DeleteACard=Delete Card -ConfirmDeleteCard=Are you sure you want to delete this Credit or Debit card? -CreateCustomerOnStripe=Create customer on Stripe -CreateCardOnStripe=Create card on Stripe -ShowInStripe=Show in Stripe -StripeUserAccountForActions=User account to use for email notification of some Stripe events (Stripe payouts) -StripePayoutList=List of Stripe payouts -ToOfferALinkForTestWebhook=Link to setup Stripe WebHook to call the IPN (test mode) -ToOfferALinkForLiveWebhook=Link to setup Stripe WebHook to call the IPN (live mode) -PaymentWillBeRecordedForNextPeriod=Payment will be recorded for the next period. -ClickHereToTryAgain=Click here to try again... -CreationOfPaymentModeMustBeDoneFromStripeInterface=Due to Strong Customer Authentication rules, creation of a card must be done from Stripe backoffice. You can click here to switch on Stripe customer record: %s +DeleteACard=Kartani o'chirish +ConfirmDeleteCard=Ushbu Kredit yoki Debet kartani o'chirishni xohlaysizmi? +CreateCustomerOnStripe=Stripe-da mijoz yarating +CreateCardOnStripe=Stripe-da karta yarating +ShowInStripe=Stripe-da ko'rsatish +StripeUserAccountForActions=Stripe voqealari (Stripe to'lovlari) haqida elektron pochta orqali xabar berish uchun foydalanuvchi hisob qaydnomasi +StripePayoutList=Stripe to'lovlari ro'yxati +ToOfferALinkForTestWebhook=IPH-ga qo'ng'iroq qilish uchun Stripe WebHook-ni o'rnatish uchun havola (sinov rejimi) +ToOfferALinkForLiveWebhook=IPH-ga qo'ng'iroq qilish uchun Stripe WebHook-ni sozlash uchun havola (jonli rejim) +PaymentWillBeRecordedForNextPeriod=To'lov keyingi davr uchun qayd etiladi. +ClickHereToTryAgain= Qayta urinish uchun shu erni bosing ... +CreationOfPaymentModeMustBeDoneFromStripeInterface=Mijozlarni kuchli autentifikatsiya qilish qoidalari tufayli kartani yaratish Stripe backoffice-da amalga oshirilishi kerak. Stripe mijozlar yozuvini yoqish uchun bu erni bosishingiz mumkin: %s diff --git a/htdocs/langs/uz_UZ/supplier_proposal.lang b/htdocs/langs/uz_UZ/supplier_proposal.lang index 76e2dea549e..a3798afd3b0 100644 --- a/htdocs/langs/uz_UZ/supplier_proposal.lang +++ b/htdocs/langs/uz_UZ/supplier_proposal.lang @@ -13,7 +13,7 @@ SupplierProposalArea=Sotuvchi takliflari maydoni SupplierProposalShort=Sotuvchi taklifi SupplierProposals=Sotuvchi takliflari SupplierProposalsShort=Sotuvchi takliflari -AskPrice=Price request +AskPrice=Narx so'rovi NewAskPrice=Yangi narx bo'yicha so'rov ShowSupplierProposal=Narx so'rovini ko'rsatish AddSupplierProposal=Narx so'rovini yarating @@ -47,12 +47,12 @@ CommercialAsk=Narx so'rovi DefaultModelSupplierProposalCreate=Standart model yaratish DefaultModelSupplierProposalToBill=Narx so'rovini yopishda standart shablon (qabul qilinadi) DefaultModelSupplierProposalClosed=Narx so'rovini yopishda standart shablon (rad etilgan) -ListOfSupplierProposals=List of vendor proposal requests +ListOfSupplierProposals=Sotuvchiga takliflar so'rovlari ro'yxati ListSupplierProposalsAssociatedProject=Loyiha bilan bog'liq sotuvchilar takliflari ro'yxati SupplierProposalsToClose=Yopish uchun sotuvchilarning takliflari SupplierProposalsToProcess=Ishlab chiqaruvchilarning takliflarini qayta ishlash LastSupplierProposals=%s narxlari bo'yicha so'nggi so'rovlar AllPriceRequests=Barcha so'rovlar -TypeContact_supplier_proposal_external_SHIPPING=Vendor contact for delivery -TypeContact_supplier_proposal_external_BILLING=Vendor contact for billing -TypeContact_supplier_proposal_external_SERVICE=Representative following-up proposal +TypeContact_supplier_proposal_external_SHIPPING=Yetkazib berish uchun sotuvchiga murojaat qiling +TypeContact_supplier_proposal_external_BILLING=Hisob-kitob qilish uchun sotuvchi bilan bog'lanish +TypeContact_supplier_proposal_external_SERVICE=Vakilning keyingi taklifi diff --git a/htdocs/langs/uz_UZ/suppliers.lang b/htdocs/langs/uz_UZ/suppliers.lang index 47500b9b9b2..df1ef567d59 100644 --- a/htdocs/langs/uz_UZ/suppliers.lang +++ b/htdocs/langs/uz_UZ/suppliers.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - vendors Suppliers=Sotuvchilar SuppliersInvoice=Sotuvchi hisob-fakturasi -SupplierInvoices=Vendor invoices +SupplierInvoices=Sotuvchi hisob-fakturalari ShowSupplierInvoice=Sotuvchi fakturasini ko'rsating NewSupplier=Yangi sotuvchi History=Tarix @@ -15,7 +15,7 @@ TotalSellingPriceMinShort=Sotish narxlarining subproductlari jami SomeSubProductHaveNoPrices=Ba'zi bir kichik mahsulotlarda narx belgilanmagan AddSupplierPrice=Xarid qilish narxini qo'shing ChangeSupplierPrice=Xarid narxini o'zgartiring -SupplierPrices=Vendor prices +SupplierPrices=Sotuvchi narxlari ReferenceSupplierIsAlreadyAssociatedWithAProduct=Ushbu sotuvchi ma'lumotnomasi allaqachon mahsulot bilan bog'langan: %s NoRecordedSuppliers=Hech qanday sotuvchi yozilmagan SupplierPayment=Sotuvchining to'lovi @@ -39,11 +39,11 @@ MenuOrdersSupplierToBill=Hisob-fakturaga buyurtma sotib oling NbDaysToDelivery=Yetkazib berishning kechikishi (kunlar) DescNbDaysToDelivery=Ushbu buyurtma bo'yicha mahsulotlarni etkazib berishning eng uzoq kechikishi SupplierReputation=Sotuvchining obro'si -ReferenceReputation=Reference reputation +ReferenceReputation=Yo'naltiruvchi obro'si DoNotOrderThisProductToThisSupplier=Buyurtma bermang NotTheGoodQualitySupplier=Past sifatli ReputationForThisProduct=Obro'-e'tibor BuyerName=Xaridor nomi -AllProductServicePrices=All product / service prices -AllProductReferencesOfSupplier=All references of vendor -BuyingPriceNumShort=Vendor prices +AllProductServicePrices=Barcha mahsulot / xizmat narxlari +AllProductReferencesOfSupplier=Sotuvchining barcha ma'lumotnomalari +BuyingPriceNumShort=Sotuvchi narxlari diff --git a/htdocs/langs/uz_UZ/ticket.lang b/htdocs/langs/uz_UZ/ticket.lang index 1da32a5a99e..44910075d82 100644 --- a/htdocs/langs/uz_UZ/ticket.lang +++ b/htdocs/langs/uz_UZ/ticket.lang @@ -18,299 +18,302 @@ # Generic # -Module56000Name=Tickets -Module56000Desc=Ticket system for issue or request management +Module56000Name=Chiptalar +Module56000Desc=Chiqarish yoki so'rovlarni boshqarish uchun chiptalar tizimi -Permission56001=See tickets -Permission56002=Modify tickets -Permission56003=Delete tickets -Permission56004=Manage tickets -Permission56005=See tickets of all third parties (not effective for external users, always be limited to the third party they depend on) +Permission56001=Chiptalarni ko'ring +Permission56002=Chiptalarni o'zgartirish +Permission56003=Chiptalarni o'chirish +Permission56004=Chiptalarni boshqarish +Permission56005=Uchinchi tomonlarning chiptalarini ko'ring (tashqi foydalanuvchilar uchun samarali emas, har doim ular bog'liq bo'lgan uchinchi tomon bilan cheklaning) -TicketDictType=Ticket - Types -TicketDictCategory=Ticket - Groupes -TicketDictSeverity=Ticket - Severities -TicketDictResolution=Ticket - Resolution +TicketDictType=Chipta - turlari +TicketDictCategory=Chipta - guruhlar +TicketDictSeverity=Chipta - jiddiyliklar +TicketDictResolution=Chipta - Qaror -TicketTypeShortCOM=Commercial question -TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem -TicketTypeShortREQUEST=Change or enhancement request -TicketTypeShortPROJET=Project -TicketTypeShortOTHER=Other +TicketTypeShortCOM=Tijorat savoli +TicketTypeShortHELP=Funktsional yordam uchun so'rov +TicketTypeShortISSUE=Muammo yoki xato +TicketTypeShortPROBLEM=Muammo +TicketTypeShortREQUEST=O'zgartirish yoki takomillashtirish bo'yicha so'rov +TicketTypeShortPROJET=Loyiha +TicketTypeShortOTHER=Boshqalar -TicketSeverityShortLOW=Low -TicketSeverityShortNORMAL=Normal -TicketSeverityShortHIGH=High -TicketSeverityShortBLOCKING=Critical, Blocking +TicketSeverityShortLOW=Kam +TicketSeverityShortNORMAL=Oddiy +TicketSeverityShortHIGH=Yuqori +TicketSeverityShortBLOCKING=Muhim, blokirovka qilish -ErrorBadEmailAddress=Field '%s' incorrect -MenuTicketMyAssign=My tickets -MenuTicketMyAssignNonClosed=My open tickets -MenuListNonClosed=Open tickets +ErrorBadEmailAddress='%s' maydoni noto'g'ri +MenuTicketMyAssign=Mening chiptalarim +MenuTicketMyAssignNonClosed=Mening ochiq chiptalarim +MenuListNonClosed=Ochiq chiptalar -TypeContact_ticket_internal_CONTRIBUTOR=Contributor -TypeContact_ticket_internal_SUPPORTTEC=Assigned user -TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking -TypeContact_ticket_external_CONTRIBUTOR=External contributor +TypeContact_ticket_internal_CONTRIBUTOR=Xissador +TypeContact_ticket_internal_SUPPORTTEC=Tayinlangan foydalanuvchi +TypeContact_ticket_external_SUPPORTCLI=Mijozlar bilan aloqa / hodisalarni kuzatish +TypeContact_ticket_external_CONTRIBUTOR=Tashqi yordamchi -OriginEmail=Email source -Notify_TICKET_SENTBYMAIL=Send ticket message by email +OriginEmail=Reporter Email +Notify_TICKET_SENTBYMAIL=Elektron pochta orqali chiptani yuboring # Status -Read=Read -Assigned=Assigned -InProgress=In progress -NeedMoreInformation=Waiting for information -Answered=Answered -Waiting=Waiting -Closed=Closed -Deleted=Deleted +Read=O'qing +Assigned=Tayinlangan +InProgress=Jarayonda +NeedMoreInformation=Muxbirlarning fikri kutilmoqda +NeedMoreInformationShort=Fikr-mulohaza kutilmoqda +Answered=Javob berdi +Waiting=Kutish +Closed=Yopiq +Deleted=O'chirildi # Dict -Type=Type -Severity=Severity -TicketGroupIsPublic=Group is public -TicketGroupIsPublicDesc=If a ticket group is public, it will be visible in the form when creating a ticket from the public interface +Type=Turi +Severity=Jiddiylik +TicketGroupIsPublic=Guruh hammaga ochiq +TicketGroupIsPublicDesc=Agar chiptalar guruhi ommaviy bo'lsa, u umumiy interfeysdan chipta yaratishda shaklda ko'rinadi # Email templates -MailToSendTicketMessage=To send email from ticket message +MailToSendTicketMessage=Chipta xabaridan elektron pochta xabarini yuborish # # Admin page # -TicketSetup=Ticket module setup -TicketSettings=Settings +TicketSetup=Chipta modulini sozlash +TicketSettings=Sozlamalar TicketSetupPage= -TicketPublicAccess=A public interface requiring no identification is available at the following url -TicketSetupDictionaries=The type of ticket, severity and analytic codes are configurable from dictionaries -TicketParamModule=Module variable setup -TicketParamMail=Email setup -TicketEmailNotificationFrom=Notification email from -TicketEmailNotificationFromHelp=Used into ticket message answer by example -TicketEmailNotificationTo=Notifications email to -TicketEmailNotificationToHelp=Send email notifications to this address. -TicketNewEmailBodyLabel=Text message sent after creating a ticket -TicketNewEmailBodyHelp=The text specified here will be inserted into the email confirming the creation of a new ticket from the public interface. Information on the consultation of the ticket are automatically added. -TicketParamPublicInterface=Public interface setup -TicketsEmailMustExist=Require an existing email address to create a ticket -TicketsEmailMustExistHelp=In the public interface, the email address should already be filled in the database to create a new ticket. -PublicInterface=Public interface -TicketUrlPublicInterfaceLabelAdmin=Alternative URL for public interface -TicketUrlPublicInterfaceHelpAdmin=It is possible to define an alias to the web server and thus make available the public interface with another URL (the server must act as a proxy on this new URL) -TicketPublicInterfaceTextHomeLabelAdmin=Welcome text of the public interface -TicketPublicInterfaceTextHome=You can create a support ticket or view existing from its identifier tracking ticket. -TicketPublicInterfaceTextHomeHelpAdmin=The text defined here will appear on the home page of the public interface. -TicketPublicInterfaceTopicLabelAdmin=Interface title -TicketPublicInterfaceTopicHelp=This text will appear as the title of the public interface. -TicketPublicInterfaceTextHelpMessageLabelAdmin=Help text to the message entry -TicketPublicInterfaceTextHelpMessageHelpAdmin=This text will appear above the message input area of the user. -ExtraFieldsTicket=Extra attributes -TicketCkEditorEmailNotActivated=HTML editor is not activated. Please put FCKEDITOR_ENABLE_MAIL content to 1 to get it. -TicketsDisableEmail=Do not send emails for ticket creation or message recording -TicketsDisableEmailHelp=By default, emails are sent when new tickets or messages created. Enable this option to disable *all* email notifications -TicketsLogEnableEmail=Enable log by email -TicketsLogEnableEmailHelp=At each change, an email will be sent **to each contact** associated with the ticket. -TicketParams=Params -TicketsShowModuleLogo=Display the logo of the module in the public interface -TicketsShowModuleLogoHelp=Enable this option to hide the logo module in the pages of the public interface -TicketsShowCompanyLogo=Display the logo of the company in the public interface -TicketsShowCompanyLogoHelp=Enable this option to hide the logo of the main company in the pages of the public interface -TicketsEmailAlsoSendToMainAddress=Also send a notification to the main email address -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") -TicketsLimitViewAssignedOnly=Restrict the display to tickets assigned to the current user (not effective for external users, always be limited to the third party they depend on) -TicketsLimitViewAssignedOnlyHelp=Only tickets assigned to the current user will be visible. Does not apply to a user with tickets management rights. -TicketsActivatePublicInterface=Activate public interface -TicketsActivatePublicInterfaceHelp=Public interface allow any visitors to create tickets. -TicketsAutoAssignTicket=Automatically assign the user who created the ticket -TicketsAutoAssignTicketHelp=When creating a ticket, the user can be automatically assigned to the ticket. -TicketNumberingModules=Tickets numbering module -TicketsModelModule=Document templates for tickets -TicketNotifyTiersAtCreation=Notify third party at creation -TicketsDisableCustomerEmail=Always disable emails when a ticket is created from public interface -TicketsPublicNotificationNewMessage=Send email(s) when a new message/comment is added to a ticket -TicketsPublicNotificationNewMessageHelp=Send email(s) when a new message is added from public interface (to assigned user or the notifications email to (update) and/or the notifications email to) -TicketPublicNotificationNewMessageDefaultEmail=Notifications email to (update) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicAccess=Identifikatsiyani talab qilmaydigan umumiy interfeys quyidagi urlda mavjud +TicketSetupDictionaries=Chipta turi, jiddiyligi va analitik kodlari lug'atlarda sozlanishi mumkin +TicketParamModule=Modulning o'zgaruvchini sozlash +TicketParamMail=Elektron pochtani sozlash +TicketEmailNotificationFrom=Bildirishnoma elektron pochtasi +TicketEmailNotificationFromHelp=Misol uchun chipta xabarining javobiga ishlatilgan +TicketEmailNotificationTo=Bildirishnomalar elektron pochta manziliga +TicketEmailNotificationToHelp=Ushbu manzilga elektron pochta xabarnomalarini yuboring. +TicketNewEmailBodyLabel=Chipta yaratilgandan so'ng yuborilgan matnli xabar +TicketNewEmailBodyHelp=Bu erda ko'rsatilgan matn ommaviy interfeysdan yangi chipta yaratilganligini tasdiqlovchi elektron pochtaga kiritiladi. Chipta maslahati to'g'risidagi ma'lumotlar avtomatik ravishda qo'shiladi. +TicketParamPublicInterface=Umumiy interfeysni sozlash +TicketsEmailMustExist=Chipta yaratish uchun mavjud elektron pochta manzilini talab qiling +TicketsEmailMustExistHelp=Umumiy interfeysda elektron pochta manzili yangi chipta yaratish uchun ma'lumotlar bazasida to'ldirilgan bo'lishi kerak. +PublicInterface=Ommaviy interfeys +TicketUrlPublicInterfaceLabelAdmin=Umumiy interfeys uchun muqobil URL +TicketUrlPublicInterfaceHelpAdmin=Veb-server uchun taxallusni aniqlash va shu bilan umumiy interfeysni boshqa URL bilan ta'minlash mumkin (server ushbu yangi URL-da proksi sifatida ishlashi kerak) +TicketPublicInterfaceTextHomeLabelAdmin=Umumiy interfeysning xush kelibsiz matni +TicketPublicInterfaceTextHome=Siz qo'llab-quvvatlash chiptasini yaratishingiz yoki uning identifikatorini kuzatish chiptasidan mavjud narsalarni ko'rishingiz mumkin. +TicketPublicInterfaceTextHomeHelpAdmin=Bu erda belgilangan matn umumiy interfeysning asosiy sahifasida paydo bo'ladi. +TicketPublicInterfaceTopicLabelAdmin=Interfeys nomi +TicketPublicInterfaceTopicHelp=Ushbu matn umumiy interfeys nomi sifatida paydo bo'ladi. +TicketPublicInterfaceTextHelpMessageLabelAdmin=Xabarni kiritish uchun matnga yordam bering +TicketPublicInterfaceTextHelpMessageHelpAdmin=Ushbu matn foydalanuvchining xabarlarni kiritish maydonchasi ustida paydo bo'ladi. +ExtraFieldsTicket=Qo'shimcha atributlar +TicketCkEditorEmailNotActivated=HTML muharriri faollashtirilmagan. Iltimos, FCKEDITOR_ENABLE_MAIL tarkibini olish uchun uni 1 tagacha joylashtiring. +TicketsDisableEmail=Chipta yaratish yoki xabar yozish uchun elektron pochta xabarlarini yubormang +TicketsDisableEmailHelp=Odatiy bo'lib, elektron pochta xabarlari yangi chiptalar yoki xabarlar yaratilganda yuboriladi. * Barcha * elektron pochta xabarlarini o'chirib qo'yish uchun ushbu parametrni yoqing +TicketsLogEnableEmail=Elektron pochta orqali jurnalni yoqish +TicketsLogEnableEmailHelp=Har bir o'zgarganda, chiptaga aloqador ** har bir kontaktga ** elektron pochta orqali xabar yuboriladi. +TicketParams=Paramlar +TicketsShowModuleLogo=Modul logotipini umumiy interfeysda ko'rsatish +TicketsShowModuleLogoHelp=Logotip modulini umumiy interfeys sahifalarida yashirish uchun ushbu parametrni yoqing +TicketsShowCompanyLogo=Kompaniya logotipini ommaviy interfeysda namoyish eting +TicketsShowCompanyLogoHelp=Asosiy kompaniyaning logotipini umumiy interfeys sahifalarida yashirish uchun ushbu parametrni yoqing +TicketsEmailAlsoSendToMainAddress=Asosiy elektron pochta manziliga xabarnoma yuboring +TicketsEmailAlsoSendToMainAddressHelp="%s" sozlamalarida belgilangan manzilga elektron pochta xabarlarini yuborish uchun ushbu parametrni yoqing ("%s" yorlig'iga qarang) +TicketsLimitViewAssignedOnly=Displeyni joriy foydalanuvchiga tayinlangan chiptalar bilan cheklang (tashqi foydalanuvchilar uchun samarali emas, har doim ular bog'liq bo'lgan uchinchi shaxs bilan cheklaning) +TicketsLimitViewAssignedOnlyHelp=Faqat joriy foydalanuvchiga tayinlangan chiptalar ko'rinadi. Chiptalarni boshqarish huquqiga ega foydalanuvchiga taalluqli emas. +TicketsActivatePublicInterface=Umumiy interfeysni faollashtiring +TicketsActivatePublicInterfaceHelp=Umumiy interfeys har qanday tashrif buyuruvchilarga chiptalarni yaratishga imkon beradi. +TicketsAutoAssignTicket=Chiptani yaratgan foydalanuvchini avtomatik ravishda tayinlash +TicketsAutoAssignTicketHelp=Chiptani yaratishda foydalanuvchiga avtomatik ravishda chiptani tayinlash mumkin. +TicketNumberingModules=Chiptalarni raqamlash moduli +TicketsModelModule=Chiptalar uchun hujjatlar shablonlari +TicketNotifyTiersAtCreation=Yaratilganda uchinchi tomonga xabar bering +TicketsDisableCustomerEmail=Ochiq interfeysdan chipta yaratilganda har doim elektron pochta xabarlarini o'chirib qo'ying +TicketsPublicNotificationNewMessage=Chipta yangi xabar / sharh qo'shilganda elektron pochta xabarlarini yuboring +TicketsPublicNotificationNewMessageHelp=Umumiy interfeysdan yangi xabar qo'shilganda elektron pochta xabarlarini yuboring (tayinlangan foydalanuvchiga yoki bildirishnomalar elektron pochtasiga (yangilash) va / yoki elektron pochta xabarlariga) +TicketPublicNotificationNewMessageDefaultEmail=Bildirishnomalar elektron pochtasi (yangilash) +TicketPublicNotificationNewMessageDefaultEmailHelp=Agar chiptada foydalanuvchi tayinlanmagan bo'lsa yoki foydalanuvchi ma'lum bir elektron pochta xabariga ega bo'lmasa, har bir yangi xabar xabarnomasi uchun ushbu manzilga elektron pochta xabarini yuboring. # # Index & list page # -TicketsIndex=Tickets area -TicketList=List of tickets -TicketAssignedToMeInfos=This page display ticket list created by or assigned to current user -NoTicketsFound=No ticket found -NoUnreadTicketsFound=No unread ticket found -TicketViewAllTickets=View all tickets -TicketViewNonClosedOnly=View only open tickets -TicketStatByStatus=Tickets by status -OrderByDateAsc=Sort by ascending date -OrderByDateDesc=Sort by descending date -ShowAsConversation=Show as conversation list -MessageListViewType=Show as table list +TicketsIndex=Chiptalar maydoni +TicketList=Chiptalar ro'yxati +TicketAssignedToMeInfos=Ushbu sahifada joriy foydalanuvchi tomonidan yaratilgan yoki unga tayinlangan chiptalar ro'yxati ko'rsatilgan +NoTicketsFound=Hech qanday chipta topilmadi +NoUnreadTicketsFound=O'qilmagan chipta topilmadi +TicketViewAllTickets=Barcha chiptalarni ko'ring +TicketViewNonClosedOnly=Faqat ochiq chiptalarni ko'ring +TicketStatByStatus=Status bo'yicha chiptalar +OrderByDateAsc=Sana bo'yicha o'sish sanasi bo'yicha saralash +OrderByDateDesc=Kamayish sanasi bo'yicha saralash +ShowAsConversation=Suhbat ro'yxati sifatida ko'rsatish +MessageListViewType=Jadval ro'yxati sifatida ko'rsatish # # Ticket card # -Ticket=Ticket -TicketCard=Ticket card -CreateTicket=Create ticket -EditTicket=Edit ticket -TicketsManagement=Tickets Management -CreatedBy=Created by -NewTicket=New Ticket -SubjectAnswerToTicket=Ticket answer -TicketTypeRequest=Request type -TicketCategory=Group -SeeTicket=See ticket -TicketMarkedAsRead=Ticket has been marked as read -TicketReadOn=Read on -TicketCloseOn=Closing date -MarkAsRead=Mark ticket as read -TicketHistory=Ticket history -AssignUser=Assign to user -TicketAssigned=Ticket is now assigned -TicketChangeType=Change type -TicketChangeCategory=Change analytic code -TicketChangeSeverity=Change severity -TicketAddMessage=Add a message -AddMessage=Add a message -MessageSuccessfullyAdded=Ticket added -TicketMessageSuccessfullyAdded=Message successfully added -TicketMessagesList=Message list -NoMsgForThisTicket=No message for this ticket -Properties=Classification -LatestNewTickets=Latest %s newest tickets (not read) -TicketSeverity=Severity -ShowTicket=See ticket -RelatedTickets=Related tickets -TicketAddIntervention=Create intervention -CloseTicket=Close ticket -CloseATicket=Close a ticket -ConfirmCloseAticket=Confirm ticket closing -ConfirmDeleteTicket=Please confirm ticket deleting -TicketDeletedSuccess=Ticket deleted with success -TicketMarkedAsClosed=Ticket marked as closed -TicketDurationAuto=Calculated duration -TicketDurationAutoInfos=Duration calculated automatically from intervention related -TicketUpdated=Ticket updated -SendMessageByEmail=Send message by email -TicketNewMessage=New message -ErrorMailRecipientIsEmptyForSendTicketMessage=Recipient is empty. No email send -TicketGoIntoContactTab=Please go into "Contacts" tab to select them -TicketMessageMailIntro=Introduction -TicketMessageMailIntroHelp=This text is added only at the beginning of the email and will not be saved. -TicketMessageMailIntroLabelAdmin=Introduction to the message when sending email -TicketMessageMailIntroText=Hello,
A new response was sent on a ticket that you contact. Here is the message:
-TicketMessageMailIntroHelpAdmin=This text will be inserted before the text of the response to a ticket. -TicketMessageMailSignature=Signature -TicketMessageMailSignatureHelp=This text is added only at the end of the email and will not be saved. -TicketMessageMailSignatureText=

Sincerely,

--

-TicketMessageMailSignatureLabelAdmin=Signature of response email -TicketMessageMailSignatureHelpAdmin=This text will be inserted after the response message. -TicketMessageHelp=Only this text will be saved in the message list on ticket card. -TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. -TimeElapsedSince=Time elapsed since -TicketTimeToRead=Time elapsed before read -TicketContacts=Contacts ticket -TicketDocumentsLinked=Documents linked to ticket -ConfirmReOpenTicket=Confirm reopen this ticket ? -TicketMessageMailIntroAutoNewPublicMessage=A new message was posted on the ticket with the subject %s: -TicketAssignedToYou=Ticket assigned -TicketAssignedEmailBody=You have been assigned the ticket #%s by %s -MarkMessageAsPrivate=Mark message as private -TicketMessagePrivateHelp=This message will not display to external users -TicketEmailOriginIssuer=Issuer at origin of the tickets -InitialMessage=Initial Message -LinkToAContract=Link to a contract -TicketPleaseSelectAContract=Select a contract -UnableToCreateInterIfNoSocid=Can not create an intervention when no third party is defined -TicketMailExchanges=Mail exchanges -TicketInitialMessageModified=Initial message modified -TicketMessageSuccesfullyUpdated=Message successfully updated -TicketChangeStatus=Change status -TicketConfirmChangeStatus=Confirm the status change: %s ? -TicketLogStatusChanged=Status changed: %s to %s -TicketNotNotifyTiersAtCreate=Not notify company at create -Unread=Unread -TicketNotCreatedFromPublicInterface=Not available. Ticket was not created from public interface. -ErrorTicketRefRequired=Ticket reference name is required +Ticket=Chipta +TicketCard=Chipta kartasi +CreateTicket=Chipta yarating +EditTicket=Chiptani tahrirlash +TicketsManagement=Chiptalarni boshqarish +CreatedBy=Tomonidan yaratilgan +NewTicket=Yangi chipta +SubjectAnswerToTicket=Chipta javobi +TicketTypeRequest=So'rov turi +TicketCategory=Chiptalarni turkumlash +SeeTicket=Chiptani ko'ring +TicketMarkedAsRead=Chipta o'qilgan deb belgilandi +TicketReadOn=O'qing +TicketCloseOn=Tugatish sanasi +MarkAsRead=Chiptani o'qilgan deb belgilang +TicketHistory=Chipta tarixi +AssignUser=Foydalanuvchiga tayinlash +TicketAssigned=Endi chipta tayinlandi +TicketChangeType=Turini o'zgartirish +TicketChangeCategory=Analitik kodni o'zgartiring +TicketChangeSeverity=Zo'ravonlikni o'zgartiring +TicketAddMessage=Xabar qo'shing +AddMessage=Xabar qo'shing +MessageSuccessfullyAdded=Chipta qo'shildi +TicketMessageSuccessfullyAdded=Xabar muvaffaqiyatli qo'shildi +TicketMessagesList=Xatlar ro'yxati +NoMsgForThisTicket=Ushbu chipta uchun xabar yo'q +Properties=Tasnifi +LatestNewTickets=Eng so'nggi %s eng yangi chiptalar (o'qilmaydi) +TicketSeverity=Jiddiylik +ShowTicket=Chiptani ko'ring +RelatedTickets=Tegishli chiptalar +TicketAddIntervention=Aralashuvni yarating +CloseTicket=Chiptani yoping +CloseATicket=Chiptani yoping +ConfirmCloseAticket=Chipta yopilishini tasdiqlang +ConfirmDeleteTicket=Iltimos, chipta o'chirilishini tasdiqlang +TicketDeletedSuccess=Muvaffaqiyat bilan chipta o'chirildi +TicketMarkedAsClosed=Chipta yopiq deb belgilangan +TicketDurationAuto=Hisoblangan muddat +TicketDurationAutoInfos=Davomiylik bilan bog'liq bo'lgan muddat avtomatik ravishda hisoblab chiqiladi +TicketUpdated=Chipta yangilandi +SendMessageByEmail=Elektron pochta orqali xabar yuboring +TicketNewMessage=Yangi xabar +ErrorMailRecipientIsEmptyForSendTicketMessage=Qabul qiluvchi bo'sh. Elektron pochta xabarlari yo'q +TicketGoIntoContactTab=Ularni tanlash uchun "Kontaktlar" yorlig'iga o'ting +TicketMessageMailIntro=Kirish +TicketMessageMailIntroHelp=Ushbu matn faqat elektron pochta boshida qo'shiladi va saqlanmaydi. +TicketMessageMailIntroLabelAdmin=Elektron pochta xabarlarini yuborishda xabar bilan tanishish +TicketMessageMailIntroText=Salom,
Siz bog'langan chiptaga yangi javob yuborildi. Mana xabar:
+TicketMessageMailIntroHelpAdmin=Ushbu matn chiptaga javob matnidan oldin kiritiladi. +TicketMessageMailSignature=Imzo +TicketMessageMailSignatureHelp=Ushbu matn faqat elektron pochta oxirida qo'shiladi va saqlanmaydi. +TicketMessageMailSignatureText=

Hurmat bilan,

-

+TicketMessageMailSignatureLabelAdmin=Javob elektron pochtasining imzosi +TicketMessageMailSignatureHelpAdmin=Ushbu matn javob xabaridan keyin kiritiladi. +TicketMessageHelp=Faqat ushbu matn chipta kartasidagi xabarlar ro'yxatida saqlanadi. +TicketMessageSubstitutionReplacedByGenericValues=O'zgartirish o'zgaruvchilari umumiy qiymatlar bilan almashtiriladi. +TimeElapsedSince=O'shandan beri vaqt o'tgan +TicketTimeToRead=O'qishdan oldin o'tgan vaqt +TicketTimeElapsedBeforeSince=Oldin / keyin o'tgan vaqt +TicketContacts=Aloqa chiptasi +TicketDocumentsLinked=Chipta bilan bog'langan hujjatlar +ConfirmReOpenTicket=Ushbu chipta qayta ochilganligini tasdiqlaysizmi? +TicketMessageMailIntroAutoNewPublicMessage=%s mavzusida chiptada yangi xabar joylashtirildi: +TicketAssignedToYou=Chipta tayinlandi +TicketAssignedEmailBody=Sizga %s tomonidan # %s chiptasi tayinlangan +MarkMessageAsPrivate=Xabarni shaxsiy sifatida belgilash +TicketMessagePrivateHelp=Ushbu xabar tashqi foydalanuvchilarga ko'rsatilmaydi +TicketEmailOriginIssuer=Chiptalarning kelib chiqishi bo'yicha emitent +InitialMessage=Dastlabki xabar +LinkToAContract=Shartnomaga havola +TicketPleaseSelectAContract=Shartnomani tanlang +UnableToCreateInterIfNoSocid=Uchinchi tomon aniqlanmaganida aralashuvni yaratib bo'lmaydi +TicketMailExchanges=Pochta almashinuvi +TicketInitialMessageModified=Dastlabki xabar o'zgartirildi +TicketMessageSuccesfullyUpdated=Xabar muvaffaqiyatli yangilandi +TicketChangeStatus=Vaziyatni o'zgartirish +TicketConfirmChangeStatus=Vaziyat o'zgarishini tasdiqlang: %s? +TicketLogStatusChanged=Holat o'zgartirildi: %s dan %s ga +TicketNotNotifyTiersAtCreate=Yaratganda kompaniyani xabardor qilmang +Unread=O'qilmagan +TicketNotCreatedFromPublicInterface=Mavjud emas. Chipta umumiy interfeysdan yaratilmagan. +ErrorTicketRefRequired=Chipta ma'lumotnomasining nomi talab qilinadi # # Logs # -TicketLogMesgReadBy=Ticket %s read by %s -NoLogForThisTicket=No log for this ticket yet -TicketLogAssignedTo=Ticket %s assigned to %s -TicketLogPropertyChanged=Ticket %s modified: classification from %s to %s -TicketLogClosedBy=Ticket %s closed by %s -TicketLogReopen=Ticket %s re-open +TicketLogMesgReadBy=%s o'qigan %s chiptasi +NoLogForThisTicket=Ushbu chipta uchun jurnal yo'q +TicketLogAssignedTo=%s ga tayinlangan %s chiptasi +TicketLogPropertyChanged=%s chiptasi o'zgartirildi: %s dan %s gacha tasnif +TicketLogClosedBy=%s chiptasi %s tomonidan yopilgan +TicketLogReopen=%s chiptasi qayta ochiladi # # Public pages # -TicketSystem=Ticket system -ShowListTicketWithTrackId=Display ticket list from track ID -ShowTicketWithTrackId=Display ticket from track ID -TicketPublicDesc=You can create a support ticket or check from an existing ID. -YourTicketSuccessfullySaved=Ticket has been successfully saved! -MesgInfosPublicTicketCreatedWithTrackId=A new ticket has been created with ID %s and Ref %s. -PleaseRememberThisId=Please keep the tracking number that we might ask you later. -TicketNewEmailSubject=Ticket creation confirmation - Ref %s (public ticket ID %s) -TicketNewEmailSubjectCustomer=New support ticket -TicketNewEmailBody=This is an automatic email to confirm you have registered a new ticket. -TicketNewEmailBodyCustomer=This is an automatic email to confirm a new ticket has just been created into your account. -TicketNewEmailBodyInfosTicket=Information for monitoring the ticket -TicketNewEmailBodyInfosTrackId=Ticket tracking number: %s -TicketNewEmailBodyInfosTrackUrl=You can view the progress of the ticket by clicking the link above. -TicketNewEmailBodyInfosTrackUrlCustomer=You can view the progress of the ticket in the specific interface by clicking the following link -TicketEmailPleaseDoNotReplyToThisEmail=Please do not reply directly to this email! Use the link to reply into the interface. -TicketPublicInfoCreateTicket=This form allows you to record a support ticket in our management system. -TicketPublicPleaseBeAccuratelyDescribe=Please accurately describe the problem. Provide the most information possible to allow us to correctly identify your request. -TicketPublicMsgViewLogIn=Please enter ticket tracking ID -TicketTrackId=Public Tracking ID -OneOfTicketTrackId=One of your tracking ID -ErrorTicketNotFound=Ticket with tracking ID %s not found! -Subject=Subject -ViewTicket=View ticket -ViewMyTicketList=View my ticket list -ErrorEmailMustExistToCreateTicket=Error: email address not found in our database -TicketNewEmailSubjectAdmin=New ticket created - Ref %s (public ticket ID %s) -TicketNewEmailBodyAdmin=

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

-SeeThisTicketIntomanagementInterface=See ticket in management interface -TicketPublicInterfaceForbidden=The public interface for the tickets was not enabled -ErrorEmailOrTrackingInvalid=Bad value for tracking ID or email -OldUser=Old user -NewUser=New user -NumberOfTicketsByMonth=Number of tickets per month -NbOfTickets=Number of tickets +TicketSystem=Chipta tizimi +ShowListTicketWithTrackId=Track ID-dan chiptalar ro'yxatini ko'rsatish +ShowTicketWithTrackId=Track ID-dan chiptani ko'rsatish +TicketPublicDesc=Siz qo'llab-quvvatlash chiptasini yaratishingiz yoki mavjud bo'lgan identifikatordan tekshirishingiz mumkin. +YourTicketSuccessfullySaved=Chipta muvaffaqiyatli saqlanib qoldi! +MesgInfosPublicTicketCreatedWithTrackId=%s va Ref %s identifikatorlari bilan yangi chipta yaratildi. +PleaseRememberThisId=Iltimos, keyinroq so'rashimiz mumkin bo'lgan kuzatuv raqamini saqlang. +TicketNewEmailSubject=Chiptani yaratishni tasdiqlash - Ref %s (%s jamoat chiptasi identifikatori) +TicketNewEmailSubjectCustomer=Yangi qo'llab-quvvatlash chiptasi +TicketNewEmailBody=Bu yangi chiptani ro'yxatdan o'tkazganingizni tasdiqlovchi avtomatik elektron pochta xabaridir. +TicketNewEmailBodyCustomer=Bu sizning hisobingizda yangi chipta yaratilganligini tasdiqlovchi avtomatik elektron pochta xabaridir. +TicketNewEmailBodyInfosTicket=Chiptani kuzatish uchun ma'lumot +TicketNewEmailBodyInfosTrackId=Chiptalarni kuzatish raqami: %s +TicketNewEmailBodyInfosTrackUrl=Yuqoridagi havolani bosish orqali chipta borishi bilan tanishishingiz mumkin. +TicketNewEmailBodyInfosTrackUrlCustomer=Siz quyidagi havolani bosish orqali ma'lum bir interfeysda chipta borishini ko'rishingiz mumkin +TicketEmailPleaseDoNotReplyToThisEmail=Iltimos, ushbu elektron pochtaga to'g'ridan-to'g'ri javob bermang! Interfeysga javob berish uchun havoladan foydalaning. +TicketPublicInfoCreateTicket=Ushbu shakl sizning boshqaruv tizimimizda qo'llab-quvvatlash chiptasini yozib olishga imkon beradi. +TicketPublicPleaseBeAccuratelyDescribe=Iltimos, muammoni aniq tasvirlab bering. Sizning so'rovingizni to'g'ri aniqlab olishimiz uchun imkon qadar ko'proq ma'lumotlarni taqdim eting. +TicketPublicMsgViewLogIn=Iltimos, chiptani kuzatish guvohnomasini kiriting +TicketTrackId=Ommaviy kuzatuv identifikatori +OneOfTicketTrackId=Kuzatuv identifikatoringizdan biri +ErrorTicketNotFound=%s kuzatuv identifikatori bo'lgan chipta topilmadi! +Subject=Mavzu +ViewTicket=Chiptani ko'rish +ViewMyTicketList=Mening chiptalarim ro'yxatini ko'rish +ErrorEmailMustExistToCreateTicket=Xato: ma'lumotlar bazasida elektron pochta manzili topilmadi +TicketNewEmailSubjectAdmin=Yangi chipta yaratildi - Ref %s (%s jamoat chiptasi identifikatori) +TicketNewEmailBodyAdmin=

chiptasi # %s ID bilan yaratilgan, ma'lumotga qarang:

+SeeThisTicketIntomanagementInterface=Boshqaruv interfeysida chiptani ko'ring +TicketPublicInterfaceForbidden=Chiptalar uchun umumiy interfeys yoqilmagan +ErrorEmailOrTrackingInvalid=ID yoki elektron pochtani kuzatish uchun yomon qiymat +OldUser=Eski foydalanuvchi +NewUser=Yangi foydalanuvchi +NumberOfTicketsByMonth=Oyiga chiptalar soni +NbOfTickets=Chiptalar soni # notifications -TicketNotificationEmailSubject=Ticket %s updated -TicketNotificationEmailBody=This is an automatic message to notify you that ticket %s has just been updated -TicketNotificationRecipient=Notification recipient -TicketNotificationLogMessage=Log message -TicketNotificationEmailBodyInfosTrackUrlinternal=View ticket into interface -TicketNotificationNumberEmailSent=Notification email sent: %s +TicketNotificationEmailSubject=%s chiptasi yangilandi +TicketNotificationEmailBody=Bu sizga %s chiptasi yangilanganligi haqida xabar berish uchun avtomatik xabar +TicketNotificationRecipient=Bildirishnoma oluvchi +TicketNotificationLogMessage=Xabar jurnali +TicketNotificationEmailBodyInfosTrackUrlinternal=Interfeysda chiptani ko'rish +TicketNotificationNumberEmailSent=Bildirish xati yuborildi: %s -ActionsOnTicket=Events on ticket +ActionsOnTicket=Chiptadagi tadbirlar # # Boxes # -BoxLastTicket=Latest created tickets -BoxLastTicketDescription=Latest %s created tickets +BoxLastTicket=Oxirgi yaratilgan chiptalar +BoxLastTicketDescription=Oxirgi %s chiptalari yaratildi BoxLastTicketContent= -BoxLastTicketNoRecordedTickets=No recent unread tickets -BoxLastModifiedTicket=Latest modified tickets -BoxLastModifiedTicketDescription=Latest %s modified tickets +BoxLastTicketNoRecordedTickets=Yaqinda o'qilmagan chiptalar yo'q +BoxLastModifiedTicket=Eng so'nggi o'zgartirilgan chiptalar +BoxLastModifiedTicketDescription=Eng so'nggi o'zgartirilgan chiptalar %s BoxLastModifiedTicketContent= -BoxLastModifiedTicketNoRecordedTickets=No recent modified tickets -BoxTicketType=Distribution of open tickets by type -BoxTicketSeverity=Number of open tickets by severity -BoxNoTicketSeverity=No tickets opened -BoxTicketLastXDays=Number of new tickets by days the last %s days -BoxTicketLastXDayswidget = Number of new tickets by days the last X days -BoxNoTicketLastXDays=No new tickets the last %s days -BoxNumberOfTicketByDay=Number of new tickets by day -BoxNewTicketVSClose=Number of today's new tickets versus today's closed tickets -TicketCreatedToday=Ticket created today -TicketClosedToday=Ticket closed today +BoxLastModifiedTicketNoRecordedTickets=Yaqinda o'zgartirilgan chiptalar yo'q +BoxTicketType=Ochiq chiptalarni turlari bo'yicha taqsimlash +BoxTicketSeverity=Og'irligi bo'yicha ochiq chiptalar soni +BoxNoTicketSeverity=Hech qanday chiptalar ochilmagan +BoxTicketLastXDays=Oxirgi %s kunlar ichida yangi chiptalar soni +BoxTicketLastXDayswidget = Oxirgi X kunlardagi kunlar bo'yicha yangi chiptalar soni +BoxNoTicketLastXDays=Oxirgi %s kunida yangi chiptalar yo'q +BoxNumberOfTicketByDay=Kuniga yangi chiptalar soni +BoxNewTicketVSClose=Bugungi yangi chiptalar soni va bugungi yopiq chiptalarga nisbatan +TicketCreatedToday=Bugun yaratilgan chipta +TicketClosedToday=Bugun chipta yopildi diff --git a/htdocs/langs/uz_UZ/trips.lang b/htdocs/langs/uz_UZ/trips.lang index c4d47ce0867..6fb2b804578 100644 --- a/htdocs/langs/uz_UZ/trips.lang +++ b/htdocs/langs/uz_UZ/trips.lang @@ -10,8 +10,8 @@ ListOfFees=To'lovlar ro'yxati TypeFees=To'lov turlari ShowTrip=Xarajatlar hisobotini ko'rsatish NewTrip=Yangi xarajatlar hisoboti -LastExpenseReports=Latest %s expense reports -AllExpenseReports=All expense reports +LastExpenseReports=Oxirgi %s xarajatlar hisoboti +AllExpenseReports=Barcha xarajatlar to'g'risidagi hisobotlar CompanyVisited=Kompaniya / tashkilot tashrif buyurdi FeesKilometersOrAmout=Miqdor yoki kilometr DeleteTrip=Xarajatlar to'g'risidagi hisobotni o'chirish @@ -49,32 +49,32 @@ TF_PEAGE=Yo'l uchun haq TF_ESSENCE=Yoqilg'i TF_HOTEL=Mehmonxona TF_TAXI=Taksi -EX_KME=Mileage costs -EX_FUE=Fuel CV -EX_HOT=Hotel -EX_PAR=Parking CV -EX_TOL=Toll CV -EX_TAX=Various Taxes -EX_IND=Indemnity transportation subscription -EX_SUM=Maintenance supply -EX_SUO=Office supplies -EX_CAR=Car rental -EX_DOC=Documentation -EX_CUR=Customers receiving -EX_OTR=Other receiving -EX_POS=Postage -EX_CAM=CV maintenance and repair -EX_EMM=Employees meal -EX_GUM=Guests meal -EX_BRE=Breakfast -EX_FUE_VP=Fuel PV -EX_TOL_VP=Toll PV -EX_PAR_VP=Parking PV -EX_CAM_VP=PV maintenance and repair -DefaultCategoryCar=Default transportation mode -DefaultRangeNumber=Default range number -UploadANewFileNow=Upload a new document now -Error_EXPENSEREPORT_ADDON_NotDefined=Error, the rule for expense report numbering ref was not defined into setup of module 'Expense Report' +EX_KME=Kilometr narxi +EX_FUE=Yoqilg'i CV +EX_HOT=Mehmonxona +EX_PAR=Avtoturargohning qisqacha bayoni +EX_TOL=Pulli tarjimai hol +EX_TAX=Turli xil soliqlar +EX_IND=Kompensatsiya transportiga obuna bo'lish +EX_SUM=Ta'minot ta'minoti +EX_SUO=Ofis materiallari +EX_CAR=Avtomobil ijarasi +EX_DOC=Hujjatlar +EX_CUR=Mijozlarni qabul qilish +EX_OTR=Boshqa qabul qilish +EX_POS=Pochta aloqasi +EX_CAM=CV-ga texnik xizmat ko'rsatish va ta'mirlash +EX_EMM=Xodimlarning ovqatlanishi +EX_GUM=Mehmonlar ovqat +EX_BRE=Nonushta +EX_FUE_VP=Yoqilg'i PV +EX_TOL_VP=To'lov PV +EX_PAR_VP=Park PV +EX_CAM_VP=PVga texnik xizmat ko'rsatish va ta'mirlash +DefaultCategoryCar=Standart transport rejimi +DefaultRangeNumber=Standart oraliq raqami +UploadANewFileNow=Hozir yangi hujjatni yuklang +Error_EXPENSEREPORT_ADDON_NotDefined=Xatoliklar, "xarajatlar hisoboti" modulini o'rnatishda xarajatlar hisobotini raqamlash qoidasi aniqlanmadi ErrorDoubleDeclaration=Shunga o'xshash sana oralig'ida boshqa xarajatlar hisobotini e'lon qildingiz. AucuneLigne=Hozircha xarajatlar to'g'risida hisobot e'lon qilinmagan ModePaiement=To'lov rejimi @@ -91,7 +91,7 @@ DATE_SAVE=Tasdiqlash sanasi DATE_CANCEL=Bekor qilish sanasi DATE_PAIEMENT=To'lov sanasi BROUILLONNER=Qayta oching -ExpenseReportRef=Ref. expense report +ExpenseReportRef=Ref. xarajatlar to'g'risidagi hisobot ValidateAndSubmit=Tasdiqlang va tasdiqlash uchun topshiring ValidatedWaitingApproval=Tasdiqlangan (tasdiqlashni kutmoqda) NOT_AUTHOR=Siz ushbu xarajatlar hisobotining muallifi emassiz. Amal bekor qilindi. @@ -110,42 +110,42 @@ ExpenseReportPayment=Xarajatlar bo'yicha hisobotni to'lash ExpenseReportsToApprove=Tasdiqlash uchun xarajatlar hisobotlari ExpenseReportsToPay=To'lov uchun hisobot ConfirmCloneExpenseReport=Ushbu xarajatlar hisobotini klonlamoqchimisiz? -ExpenseReportsIk=Configuration of mileage charges -ExpenseReportsRules=Expense report rules -ExpenseReportIkDesc=You can modify the calculation of kilometers expense by category and range who they are previously defined. d is the distance in kilometers -ExpenseReportRulesDesc=You can create or update any rules of calculation. This part will be used when user will create a new expense report -expenseReportOffset=Offset -expenseReportCoef=Coefficient -expenseReportTotalForFive=Example with d = 5 -expenseReportRangeFromTo=from %d to %d -expenseReportRangeMoreThan=more than %d -expenseReportCoefUndefined=(value not defined) -expenseReportCatDisabled=Category disabled - see the c_exp_tax_cat dictionary -expenseReportRangeDisabled=Range disabled - see the c_exp_tax_range dictionay -expenseReportPrintExample=offset + (d x coef) = %s -ExpenseReportApplyTo=Apply to -ExpenseReportDomain=Domain to apply -ExpenseReportLimitOn=Limit on -ExpenseReportDateStart=Date start -ExpenseReportDateEnd=Date end -ExpenseReportLimitAmount=Limite amount -ExpenseReportRestrictive=Restrictive -AllExpenseReport=All type of expense report -OnExpense=Expense line -ExpenseReportRuleSave=Expense report rule saved -ExpenseReportRuleErrorOnSave=Error: %s -RangeNum=Range %d -ExpenseReportConstraintViolationError=Constraint violation id [%s]: %s is superior to %s %s -byEX_DAY=by day (limitation to %s) -byEX_MON=by month (limitation to %s) -byEX_YEA=by year (limitation to %s) -byEX_EXP=by line (limitation to %s) -ExpenseReportConstraintViolationWarning=Constraint violation id [%s]: %s is superior to %s %s -nolimitbyEX_DAY=by day (no limitation) -nolimitbyEX_MON=by month (no limitation) -nolimitbyEX_YEA=by year (no limitation) -nolimitbyEX_EXP=by line (no limitation) -CarCategory=Vehicle category -ExpenseRangeOffset=Offset amount: %s -RangeIk=Mileage range -AttachTheNewLineToTheDocument=Attach the line to an uploaded document +ExpenseReportsIk=Kilometr uchun to'lovlarni sozlash +ExpenseReportsRules=Xarajatlarni hisobot qilish qoidalari +ExpenseReportIkDesc=Kilometr sarfini hisob-kitobini toifasi va diapazoni bo'yicha o'zgartirishingiz mumkin. d - kilometrdagi masofa +ExpenseReportRulesDesc=Siz har qanday hisoblash qoidalarini yaratishingiz yoki yangilashingiz mumkin. Ushbu qism foydalanuvchi yangi xarajatlar hisobotini tuzganda ishlatiladi +expenseReportOffset=Ofset +expenseReportCoef=Koeffitsient +expenseReportTotalForFive= d = 5 bilan misol +expenseReportRangeFromTo=%d dan %d gacha +expenseReportRangeMoreThan=%d dan ko'proq +expenseReportCoefUndefined=(qiymat aniqlanmagan) +expenseReportCatDisabled=Kategoriya o'chirilgan - c_exp_tax_cat lug'atiga qarang +expenseReportRangeDisabled=Diapazon o'chirilgan - c_exp_tax_range lug'atiga qarang +expenseReportPrintExample=ofset + (d x koef) = %s +ExpenseReportApplyTo=Murojaat qiling +ExpenseReportDomain=Qo'llash uchun domen +ExpenseReportLimitOn=Cheklov +ExpenseReportDateStart=Sana boshlanishi +ExpenseReportDateEnd=Sana tugashi +ExpenseReportLimitAmount=Cheklangan miqdor +ExpenseReportRestrictive=Cheklovchi +AllExpenseReport=Xarajatlar bo'yicha hisobotning barcha turlari +OnExpense=Xarajatlar liniyasi +ExpenseReportRuleSave=Xarajatlar bo'yicha hisobot qoidalari saqlandi +ExpenseReportRuleErrorOnSave=Xato: %s +RangeNum=%d oralig'i +ExpenseReportConstraintViolationError=Cheklov buzilishi identifikatori [%s]: %s %s %s +byEX_DAY=kun bilan (%s chegarasi) +byEX_MON=oy bo'yicha (%s chegarasi) +byEX_YEA=yil bo'yicha (%s chegarasi) +byEX_EXP=satr bo'yicha (%s chegarasi) +ExpenseReportConstraintViolationWarning=Cheklov buzilishi identifikatori [%s]: %s %s %s +nolimitbyEX_DAY=kunga (cheklovsiz) +nolimitbyEX_MON=oy bo'yicha (cheklovsiz) +nolimitbyEX_YEA=yil bo'yicha (cheklovsiz) +nolimitbyEX_EXP=chiziq bo'yicha (cheklovsiz) +CarCategory=Avtomobillar toifasi +ExpenseRangeOffset=Ofset miqdori: %s +RangeIk=Kilometr oralig'i +AttachTheNewLineToTheDocument=Yuklangan hujjatga qatorni biriktiring diff --git a/htdocs/langs/uz_UZ/users.lang b/htdocs/langs/uz_UZ/users.lang index b285c074000..0ec452f94ac 100644 --- a/htdocs/langs/uz_UZ/users.lang +++ b/htdocs/langs/uz_UZ/users.lang @@ -12,7 +12,7 @@ PasswordChangedTo=Parol o'zgartirildi: %s SubjectNewPassword=%s uchun yangi parolingiz GroupRights=Guruh ruxsatnomalari UserRights=Foydalanuvchi ruxsatlari -Credentials=Credentials +Credentials=Ishonch yorliqlari UserGUISetup=Foydalanuvchining displeyini sozlash DisableUser=O'chirish DisableAUser=Foydalanuvchini o'chirib qo'ying @@ -45,11 +45,11 @@ NewGroup=Yangi guruh CreateGroup=Guruh yarating RemoveFromGroup=Guruhdan olib tashlash PasswordChangedAndSentTo=Parol o'zgartirildi va %s raqamiga yuborildi. -PasswordChangeRequest=Request to change password for %s +PasswordChangeRequest= %s uchun parolni o'zgartirish haqida so'rov PasswordChangeRequestSent= %s uchun %s uchun parolni o'zgartirish uchun so'rov. -IfLoginExistPasswordRequestSent=If this login is a valid account, an email to reset password has been sent. -IfEmailExistPasswordRequestSent=If this email is a valid account, an email to reset password has been sent. -ConfirmPasswordReset=Confirm password reset +IfLoginExistPasswordRequestSent=Agar ushbu kirish to'g'ri hisob bo'lsa, parolni tiklash uchun elektron pochta xabarini yuborgan. +IfEmailExistPasswordRequestSent=Agar ushbu elektron pochta manzili haqiqiy hisob bo'lsa, parolni tiklash uchun elektron pochta xabarlari yuborilgan. +ConfirmPasswordReset=Parolni tiklashni tasdiqlang MenuUsersAndGroups=Foydalanuvchilar va guruhlar LastGroupsCreated=Eng so'nggi %s guruhlari yaratildi LastUsersCreated=Oxirgi %s foydalanuvchilari yaratildi @@ -76,13 +76,13 @@ CreateInternalUserDesc=Ushbu shakl sizning kompaniyangiz / tashkilotingizda ichk InternalExternalDesc= ichki foydalanuvchisi - bu sizning kompaniyangiz / tashkilotingiz tarkibiga kiradigan foydalanuvchi yoki sizning kompaniyangiz bilan bog'liq ma'lumotlardan ko'ra ko'proq ma'lumotlarni ko'rishingiz kerak bo'lishi mumkin bo'lgan tashkilotingiz tashqarisidagi sherik foydalanuvchidir (ruxsat berish tizimi u nimani yoki nimani aniqlay oladi ko'rmayapman yoki qilmayman).
tashqi foydalanuvchisi faqat o'zi bilan bog'liq ma'lumotlarni ko'rishi kerak bo'lgan mijoz, sotuvchi yoki boshqa narsadir (Uchinchi tomon uchun tashqi foydalanuvchini yaratish uchinchi tomonning aloqa yozuvlaridan amalga oshirilishi mumkin).

Ikkala holatda ham foydalanuvchi uchun zarur bo'lgan xususiyatlarga ruxsat berishingiz kerak. PermissionInheritedFromAGroup=Ruxsat berilgan, chunki foydalanuvchi guruhlaridan biridan meros bo'lib qolgan. Inherited=Meros -UserWillBe=Created user will be +UserWillBe=Yaratilgan foydalanuvchi bo'ladi UserWillBeInternalUser=Yaratilgan foydalanuvchi ichki foydalanuvchi bo'ladi (chunki ma'lum bir uchinchi tomon bilan bog'lanmagan) UserWillBeExternalUser=Yaratilgan foydalanuvchi tashqi foydalanuvchi bo'ladi (chunki ma'lum bir uchinchi tomon bilan bog'langan) IdPhoneCaller=Telefon raqamini qidiruvchi NewUserCreated=%s foydalanuvchisi yaratildi NewUserPassword=%s uchun parolni o'zgartirish -NewPasswordValidated=Your new password have been validated and must be used now to login. +NewPasswordValidated=Sizning yangi parolingiz tasdiqlandi va kirish uchun hozir foydalanish kerak. EventUserModified=Foydalanuvchi %s o'zgartirilgan UserDisabled=Foydalanuvchi %s o'chirilgan UserEnabled=Foydalanuvchi %s faollashtirildi @@ -98,7 +98,7 @@ NameToCreate=Yaratish uchun uchinchi tomon nomi YourRole=Sizning rollaringiz YourQuotaOfUsersIsReached=Faol foydalanuvchilar kvotangizga erishildi! NbOfUsers=Foydalanuvchilar soni -NbOfPermissions=No. of permissions +NbOfPermissions=Ruxsatnomalar soni DontDowngradeSuperAdmin=Faqat superadmin faqat superadminni pasaytirishi mumkin HierarchicalResponsible=Nazoratchi HierarchicView=Ierarxik ko'rinish @@ -106,21 +106,21 @@ UseTypeFieldToChange=O'zgartirish uchun maydon turidan foydalaning OpenIDURL=OpenID URL manzili LoginUsingOpenID=Kirish uchun OpenID-dan foydalaning WeeklyHours=Ishlagan soatlari (haftasiga) -ExpectedWorkedHours=Expected hours worked per week +ExpectedWorkedHours=Kutilgan haftada ishlagan soatlari ColorUser=Foydalanuvchining rangi DisabledInMonoUserMode=Xizmat ko'rsatish rejimida o'chirilgan UserAccountancyCode=Foydalanuvchining hisobga olish kodi UserLogoff=Foydalanuvchidan chiqish UserLogged=Foydalanuvchi tizimga kirdi -DateOfEmployment=Employment date +DateOfEmployment=Ishga joylashish sanasi DateEmployment=Bandlik -DateEmploymentstart=Employment Start Date -DateEmploymentEnd=Employment End Date -RangeOfLoginValidity=Access validity date range -CantDisableYourself=You can't disable your own user record -ForceUserExpenseValidator=Force expense report validator -ForceUserHolidayValidator=Force leave request validator -ValidatorIsSupervisorByDefault=By default, the validator is the supervisor of the user. Keep empty to keep this behaviour. -UserPersonalEmail=Personal email -UserPersonalMobile=Personal mobile phone -WarningNotLangOfInterface=Warning, this is the main language the user speak, not the language of the interface he choosed to see. To change the interface language visible by this user, go on tab %s +DateEmploymentstart=Ishga kirishish sanasi +DateEmploymentEnd=Ishni tugatish sanasi +RangeOfLoginValidity=Kirishning amal qilish muddati +CantDisableYourself=O'zingizning foydalanuvchi yozuvingizni o'chirib qo'yolmaysiz +ForceUserExpenseValidator=Majburiy xarajatlar to'g'risidagi hisobotni tasdiqlovchi +ForceUserHolidayValidator=Majburiy ta'til so'rovini tasdiqlovchi +ValidatorIsSupervisorByDefault=Odatiy bo'lib, tasdiqlovchi foydalanuvchi nazoratchisi hisoblanadi. Ushbu xatti-harakatni saqlash uchun bo'sh joyni saqlang. +UserPersonalEmail=Shaxsiy elektron pochta +UserPersonalMobile=Shaxsiy mobil telefon +WarningNotLangOfInterface=Ogohlantirish, bu foydalanuvchi foydalanadigan asosiy til, u tanlagan interfeys tili emas. Ushbu foydalanuvchi tomonidan ko'rinadigan interfeys tilini o'zgartirish uchun %s yorlig'iga o'ting diff --git a/htdocs/langs/uz_UZ/website.lang b/htdocs/langs/uz_UZ/website.lang index f90fe1b8122..70776346c53 100644 --- a/htdocs/langs/uz_UZ/website.lang +++ b/htdocs/langs/uz_UZ/website.lang @@ -3,38 +3,38 @@ Shortname=Kod WebsiteSetupDesc=Bu erda siz foydalanmoqchi bo'lgan veb-saytlarni yarating. Keyin ularni tahrirlash uchun veb-saytlar menyusiga o'ting. DeleteWebsite=Veb-saytni o'chirish ConfirmDeleteWebsite=Ushbu veb-saytni o'chirishni xohlaysizmi? Uning barcha sahifalari va tarkibi ham o'chiriladi. Yuklangan fayllar (masalan, Medlar katalogiga, ECM moduliga, ...) qoladi. -WEBSITE_TYPE_CONTAINER=Type of page/container -WEBSITE_PAGE_EXAMPLE=Web page to use as example +WEBSITE_TYPE_CONTAINER=Sahifa / konteyner turi +WEBSITE_PAGE_EXAMPLE=Misol sifatida foydalanish uchun veb-sahifa WEBSITE_PAGENAME=Sahifa nomi / taxallusi -WEBSITE_ALIASALT=Alternative page names/aliases -WEBSITE_ALIASALTDesc=Use here list of other name/aliases so the page can also be accessed using this other names/aliases (for example the old name after renaming the alias to keep backlink on old link/name working). Syntax is:
alternativename1, alternativename2, ... +WEBSITE_ALIASALT=Muqobil sahifa nomlari / taxalluslari +WEBSITE_ALIASALTDesc=Bu erda boshqa ism / taxalluslar ro'yxatidan foydalaning, shunda sahifaga ushbu boshqa ismlar / taxalluslar yordamida kirish mumkin (masalan, eski havola / ismning ishlashida orqa bog'lanishni saqlab qolish uchun taxallusni o'zgartirgandan keyin eski nom). Sintaksis quyidagicha:
alternativename1, alternativename2, ... WEBSITE_CSS_URL=Tashqi CSS-faylning URL manzili WEBSITE_CSS_INLINE=CSS fayli tarkibi (barcha sahifalar uchun umumiy) -WEBSITE_JS_INLINE=Javascript file content (common to all pages) -WEBSITE_HTML_HEADER=Addition at bottom of HTML Header (common to all pages) -WEBSITE_ROBOT=Robot file (robots.txt) -WEBSITE_HTACCESS=Website .htaccess file -WEBSITE_MANIFEST_JSON=Website manifest.json file -WEBSITE_README=README.md file -WEBSITE_KEYWORDSDesc=Use a comma to separate values -EnterHereLicenseInformation=Enter here meta data or license information to fille a README.md file. if you distribute your website as a template, the file will be included into the temptate package. -HtmlHeaderPage=HTML header (specific to this page only) -PageNameAliasHelp=Name or alias of the page.
This alias is also used to forge a SEO URL when website is ran from a Virtual host of a Web server (like Apacke, Nginx, ...). Use the button "%s" to edit this alias. -EditTheWebSiteForACommonHeader=Note: If you want to define a personalized header for all pages, edit the header on the site level instead of on the page/container. +WEBSITE_JS_INLINE=Javascript fayl tarkibi (barcha sahifalar uchun umumiy) +WEBSITE_HTML_HEADER=HTML sarlavhasi ostidagi qo'shimchalar (barcha sahifalar uchun umumiy) +WEBSITE_ROBOT=Robot fayli (robots.txt) +WEBSITE_HTACCESS=Veb-sayt .htaccess fayli +WEBSITE_MANIFEST_JSON=Veb-sayt manifest.json fayli +WEBSITE_README=README.md fayli +WEBSITE_KEYWORDSDesc=Qiymatlarni ajratish uchun verguldan foydalaning +EnterHereLicenseInformation=README.md faylini to'ldirish uchun bu erga meta ma'lumotlar yoki litsenziya ma'lumotlarini kiriting. agar siz veb-saytingizni shablon sifatida tarqatsangiz, fayl vasvasaga solingan paketga kiritiladi. +HtmlHeaderPage=HTML sarlavhasi (faqat ushbu sahifaga xos) +PageNameAliasHelp=Sahifaning nomi yoki taxallusi.
Ushbu taxallus, shuningdek veb-serverning Virtual xostidan (Apacke, Nginx, ... kabi) veb-sayt ishga tushirilganda, SEO URL-ni yaratish uchun ishlatiladi. Ushbu taxallusni tahrirlash uchun " %s " tugmachasidan foydalaning. +EditTheWebSiteForACommonHeader=Izoh: Agar siz barcha sahifalar uchun moslashtirilgan sarlavhani belgilamoqchi bo'lsangiz, sarlavhani sahifa / konteyner o'rniga sayt darajasida tahrirlang. MediaFiles=Media kutubxonasi EditCss=Veb-sayt xususiyatlarini tahrirlash EditMenu=Tartibga solish menyusi -EditMedias=Edit medias +EditMedias=Medialarni tahrirlash EditPageMeta=Sahifa / konteyner xususiyatlarini tahrirlash -EditInLine=Edit inline -AddWebsite=Add website +EditInLine=Inline-ni tahrirlash +AddWebsite=Veb-sayt qo'shish Webpage=Veb-sahifa / konteyner AddPage=Sahifa / konteyner qo'shing -PageContainer=Page +PageContainer=Sahifa PreviewOfSiteNotYetAvailable=Veb-saytingizni oldindan ko'rib chiqish %s hali mavjud emas. Avval siz ' veb-sayt shablonini to'liq import qilishingiz kerak' yoki shunchaki ' sahifa / konteyner qo'shing '. RequestedPageHasNoContentYet=%s id bilan so'ralgan sahifada hali tarkib yo'q yoki .tpl.php kesh fayli o'chirildi. Buni hal qilish uchun sahifaning tarkibini tahrirlash. -SiteDeleted=Web site '%s' deleted -PageContent=Page/Contenair +SiteDeleted='%s' veb-sayti o'chirildi +PageContent=Sahifa / Contenair PageDeleted=%s veb-saytining sahifasi / Contenair '%s' o'chirildi. PageAdded=Sahifa / Contenair '%s' qo'shildi ViewSiteInNewTab=Saytni yangi varaqda ko'ring @@ -43,105 +43,105 @@ SetAsHomePage=Uy sahifasi sifatida o'rnating RealURL=Haqiqiy URL ViewWebsiteInProduction=Uy manzillaridan foydalangan holda veb-saytni ko'ring SetHereVirtualHost=Use with Apache/NGinx/...
Create on your web server (Apache, Nginx, ...) a dedicated Virtual Host with PHP enabled and a Root directory on
%s -ExampleToUseInApacheVirtualHostConfig=Example to use in Apache virtual host setup: +ExampleToUseInApacheVirtualHostConfig=Apache virtual xostini o'rnatishda foydalanish uchun misol: YouCanAlsoTestWithPHPS=Use with PHP embedded server
On develop environment, you may prefer to test the site with the PHP embedded web server (PHP 5.5 required) by running
php -S 0.0.0.0:8080 -t %s -YouCanAlsoDeployToAnotherWHP=Run your web site with another Dolibarr Hosting provider
If you don't have a web server like Apache or NGinx available on internet, you can export and import your web site onto another Dolibarr instance provided by another Dolibarr hosting provider that provide full integration with the Website module. You can find a list of some Dolibarr hosting providers on https://saas.dolibarr.org +YouCanAlsoDeployToAnotherWHP= Veb-saytingizni boshqa Dolibarr Hosting provayderi bilan boshqaring
Agar Internetda mavjud bo'lgan Apache yoki NGinx kabi veb-serveringiz bo'lmasa, veb-saytingizni boshqa Dolibarr xost-provayderi tomonidan taqdim etilgan boshqa Dolibarr nusxasi orqali eksport qilishingiz va import qilishingiz mumkin. veb-sayt moduli bilan integratsiya. saytida ba'zi Dolibarr hosting provayderlari ro'yxatini topishingiz mumkin https://saas.dolibarr.org CheckVirtualHostPerms=Check also that the virtual host user (for example www-data) has %s permissions on files into
%s -ReadPerm=Read -WritePerm=Write -TestDeployOnWeb=Test/deploy on web +ReadPerm=O'qing +WritePerm=Yozing +TestDeployOnWeb=Internetda sinov / tarqatish PreviewSiteServedByWebServer=Preview %s in a new tab.

The %s will be served by an external web server (like Apache, Nginx, IIS). You must install and setup this server before to point to directory:
%s
URL served by external server:
%s PreviewSiteServedByDolibarr= %s-ni yangi varoqda oldindan ko'rib chiqing.

%s-ga Dolibarr server tomonidan xizmat ko'rsatiladi, shuning uchun qo'shimcha veb-server (Apache, Nginx, IIS kabi) o'rnatilishi shart emas.
Noqulay narsa shundaki, sahifalarning URL manzillari foydalanuvchilar uchun qulay emas va Dolibarr-ning yo'lidan boshlanadi.
URL Dolibarr tomonidan xizmat:
%s

, bu veb-sayt xizmat veb-serverda bir virtual mezbon yaratish uchun o'z tashqi veb-server foydalanish uchun, bu katalog ball
%s
keyin bu virtual server nomini kiriting ushbu veb-saytning xususiyatlarida va "Internetda sinash / tarqatish" havolasini bosing. -VirtualHostUrlNotDefined=URL of the virtual host served by external web server not defined -NoPageYet=No pages yet -YouCanCreatePageOrImportTemplate=You can create a new page or import a full website template -SyntaxHelp=Help on specific syntax tips -YouCanEditHtmlSourceckeditor=You can edit HTML source code using the "Source" button in editor. -YouCanEditHtmlSource=
You can include PHP code into this source using tags <?php ?>. The following global variables are available: $conf, $db, $mysoc, $user, $website, $websitepage, $weblangs, $pagelangs.

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

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

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

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

To include an image stored into the documents directory, use the viewimage.php wrapper:
Example, for an image into documents/medias (open directory for public access), syntax is:
<img src="/viewimage.php?modulepart=medias&file=[relative_dir/]filename.ext">
+VirtualHostUrlNotDefined=Tashqi veb-server tomonidan xizmat ko'rsatiladigan virtual xost manzili aniqlanmagan +NoPageYet=Hali sahifalar yo'q +YouCanCreatePageOrImportTemplate=Siz yangi sahifa yaratishingiz yoki to'liq veb-sayt shablonini import qilishingiz mumkin +SyntaxHelp=Sintaksis bo'yicha aniq maslahatlar bo'yicha yordam bering +YouCanEditHtmlSourceckeditor=HTML manba kodini tahrirlashdagi "Manba" tugmasi yordamida tahrirlashingiz mumkin. +YouCanEditHtmlSource=
<? php? > a0a65d teglari yordamida ushbu manbaga PHP kodini qo'shishingiz mumkin. Quyidagi global o'zgaruvchilar mavjud: $ conf, $ db, $ mysoc, $ user, $ website, $ websitepage, $ weblangs, $ pagelangs.

Siz shuningdek boshqa sahifa / konteyner tarkibini quyidagi sintaksis bilan qo'shishingiz mumkin:
a_31c_to_of_0_0_b_0_b_0_b_b_0_b_b_0_b_0_b_0_0_b_0_0_06_c46c6c6c6c6c6cb6cbbc0bbc0cbbbc0f3cbbbc0fdbbc0cbbc0cbbbc9cbbbc9cbbc9cbbc0cbbnc ' ? >

quyidagi sintaksisi rang bilan boshqa sahifa / konteyner uchun yo'naltirishni qilish mumkin (Eslatma: ishlab chiqarish yo'riq oldin, har qanday mazmun, albatta):?
< php redirectToContainer ( 'alias_of_container_to_redirect_to'); ? hujjatlar ichiga saqlangan fayl yuklab uchun link o'z ichiga uchun
<a href = "alias_of_page_to_link_to.php" >mylink<a>

: >


sintaksisi foydalanishingiz, boshqa sahifaga bilan bog'lanish qo'shish uchun
katalog, document.php jild foydalanish: hujjatlar / ECM'de bir fayl uchun,
misol (ehtiyoj identifikatsiyadan kerak), sintaksisi:?
<a href = "/ document.php modulepart = ecm & fayl = [relative_dir / ] filename.ext ">
Hujjatlar / mediyadagi fayl (umumiy foydalanish uchun ochiq katalog) uchun sintaksis:
a039zd7 "/document.php?modulepart=medias&file=(relative_dir/ assignedfilename.ext">
Sharing havolasi bilan birgalikda foydalaniladigan fayl uchun (ochiq fayl kirish h0904f097). /document.php?hashp=publicsharekeyoffile">


Direktoriyaning hujjatlar ichiga saqlangan bir tasvir , viewimage.php jild foydalanishni o'z ichiga oladi: ochiq hujjatlar / medias yuzasidan tasvir uchun,
misoli ( umumiy foydalanish uchun sintaksis:
<img src = "/ viewimage.php? modulepart = medias&file = [relat_dir / ]00f07006" #YouCanEditHtmlSource2=
To include a image shared publicaly, use the viewimage.php wrapper:
Example with a shared key 123456789, syntax is:
<img src="/viewimage.php?hashp=12345679012...">
-YouCanEditHtmlSource2=For an image shared with a share link (open access using the sharing hash key of file), syntax is:
<img src="/viewimage.php?hashp=12345679012...">
-YouCanEditHtmlSourceMore=
More examples of HTML or dynamic code available on the wiki documentation
. -ClonePage=Clone page/container -CloneSite=Clone site -SiteAdded=Website added -ConfirmClonePage=Please enter code/alias of new page and if it is a translation of the cloned page. -PageIsANewTranslation=The new page is a translation of the current page ? -LanguageMustNotBeSameThanClonedPage=You clone a page as a translation. The language of the new page must be different than language of source page. -ParentPageId=Parent page ID -WebsiteId=Website ID -CreateByFetchingExternalPage=Create page/container by fetching page from external URL... -OrEnterPageInfoManually=Or create page from scratch or from a page template... -FetchAndCreate=Fetch and Create -ExportSite=Export website -ImportSite=Import website template -IDOfPage=Id of page +YouCanEditHtmlSource2=Almashish havolasi bilan birgalikda foydalaniladigan rasm uchun (faylning umumiy xesh tugmachasidan foydalangan holda ochiq kirish) sintaksis quyidagicha:
<img src = "/ viewimage.php? Hashp = 12345679012 ..." a0012c7dff0a0z0z00090f0f08a0f09a0f09a09a09cb08a0a09a03c09a03c09c9c9c9c9c9c08f96f96f9f08f08f0f9fdf9fdfdfdfc7fd +YouCanEditHtmlSourceMore=
-da mavjud bo'lgan HTML yoki dinamik kodlarning boshqa misollari,
. +ClonePage=Sahifani / konteynerni klonlash +CloneSite=Klon sayti +SiteAdded=Veb-sayt qo'shildi +ConfirmClonePage=Iltimos, yangi sahifaning kodini / taxallusini kiriting va agar u klonlangan sahifaning tarjimasi bo'lsa. +PageIsANewTranslation=Yangi sahifa joriy sahifaning tarjimasimi? +LanguageMustNotBeSameThanClonedPage=Siz sahifani tarjima sifatida klonlashtirasiz. Yangi sahifaning tili manba sahifasidan farq qilishi kerak. +ParentPageId=Asosiy sahifa identifikatori +WebsiteId=Veb-sayt identifikatori +CreateByFetchingExternalPage=Tashqi URL manzilidan sahifani olib, sahifa / konteyner yarating ... +OrEnterPageInfoManually=Yoki sahifani noldan yoki sahifa shablonidan yarating ... +FetchAndCreate=Olish va yaratish +ExportSite=Veb-saytni eksport qilish +ImportSite=Veb-sayt shablonini import qilish +IDOfPage=Sahifaning identifikatori Banner=Banner BlogPost=Blog post -WebsiteAccount=Website account -WebsiteAccounts=Website accounts -AddWebsiteAccount=Create web site account -BackToListForThirdParty=Back to list for the third-party -DisableSiteFirst=Disable website first -MyContainerTitle=My web site title -AnotherContainer=This is how to include content of another page/container (you may have an error here if you enable dynamic code because the embedded subcontainer may not exists) -SorryWebsiteIsCurrentlyOffLine=Sorry, this website is currently off line. Please comme back later... -WEBSITE_USE_WEBSITE_ACCOUNTS=Enable the web site account table -WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Enable the table to store web site accounts (login/pass) for each website / third party -YouMustDefineTheHomePage=You must first define the default Home page -OnlyEditionOfSourceForGrabbedContentFuture=Warning: Creating a web page by importing an external web page is reserved for experienced users. Depending on the complexity of source page, the result of importation may differ from the original. Also if the source page uses common CSS styles or conflicting javascript, it may break the look or features of the Website editor when working on this page. This method is a quicker way to create a page but it is recommended to create your new page from scratch or from a suggested page template.
Note also that the inline editor may not works correclty when used on a grabbed external page. -OnlyEditionOfSourceForGrabbedContent=Only edition of HTML source is possible when content was grabbed from an external site -GrabImagesInto=Grab also images found into css and page. -ImagesShouldBeSavedInto=Images should be saved into directory -WebsiteRootOfImages=Root directory for website images -SubdirOfPage=Sub-directory dedicated to page -AliasPageAlreadyExists=Alias page %s already exists -CorporateHomePage=Corporate Home page -EmptyPage=Empty page -ExternalURLMustStartWithHttp=External URL must start with http:// or https:// -ZipOfWebsitePackageToImport=Upload the Zip file of the website template package -ZipOfWebsitePackageToLoad=or Choose an available embedded website template package -ShowSubcontainers=Show dynamic content -InternalURLOfPage=Internal URL of page -ThisPageIsTranslationOf=This page/container is a translation of -ThisPageHasTranslationPages=This page/container has translation -NoWebSiteCreateOneFirst=No website has been created yet. Create one first. -GoTo=Go to -DynamicPHPCodeContainsAForbiddenInstruction=You add dynamic PHP code that contains the PHP instruction '%s' that is forbidden by default as dynamic content (see hidden options WEBSITE_PHP_ALLOW_xxx to increase list of allowed commands). -NotAllowedToAddDynamicContent=You don't have permission to add or edit PHP dynamic content in websites. Ask permission or just keep code into php tags unmodified. -ReplaceWebsiteContent=Search or Replace website content -DeleteAlsoJs=Delete also all javascript files specific to this website? -DeleteAlsoMedias=Delete also all medias files specific to this website? -MyWebsitePages=My website pages -SearchReplaceInto=Search | Replace into -ReplaceString=New string -CSSContentTooltipHelp=Enter here CSS content. To avoid any conflict with the CSS of the application, be sure to prepend all declaration with the .bodywebsite class. For example:

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

Note: If you have a large file without this prefix, you can use 'lessc' to convert it to append the .bodywebsite prefix everywhere. -LinkAndScriptsHereAreNotLoadedInEditor=Warning: This content is output only when site is accessed from a server. It is not used in Edit mode so if you need to load javascript files also in edit mode, just add your tag 'script src=...' into the page. -Dynamiccontent=Sample of a page with dynamic content -ImportSite=Import website template -EditInLineOnOff=Mode 'Edit inline' is %s -ShowSubContainersOnOff=Mode to execute 'dynamic content' is %s -GlobalCSSorJS=Global CSS/JS/Header file of web site -BackToHomePage=Back to home page... -TranslationLinks=Translation links -YouTryToAccessToAFileThatIsNotAWebsitePage=You try to access to a page that is not available.
(ref=%s, type=%s, status=%s) -UseTextBetween5And70Chars=For good SEO practices, use a text between 5 and 70 characters -MainLanguage=Main language -OtherLanguages=Other languages -UseManifest=Provide a manifest.json file -PublicAuthorAlias=Public author alias -AvailableLanguagesAreDefinedIntoWebsiteProperties=Available languages are defined into website properties -ReplacementDoneInXPages=Replacement done in %s pages or containers -RSSFeed=RSS Feed -RSSFeedDesc=You can get a RSS feed of latest articles with type 'blogpost' using this URL -PagesRegenerated=%s page(s)/container(s) regenerated -RegenerateWebsiteContent=Regenerate web site cache files -AllowedInFrames=Allowed in Frames -DefineListOfAltLanguagesInWebsiteProperties=Define list of all available languages into web site properties. -GenerateSitemaps=Generate website sitemap file -ConfirmGenerateSitemaps=If you confirm, you will erase the existing sitemap file... -ConfirmSitemapsCreation=Confirm sitemap generation -SitemapGenerated=Sitemap file %s generated -ImportFavicon=Favicon -ErrorFaviconType=Favicon must be png -ErrorFaviconSize=Favicon must be sized 16x16, 32x32 or 64x64 -FaviconTooltip=Upload an image which needs to be a png (16x16, 32x32 or 64x64) +WebsiteAccount=Veb-sayt qayd yozuvi +WebsiteAccounts=Veb-sayt qayd yozuvlari +AddWebsiteAccount=Veb-sayt qayd yozuvini yarating +BackToListForThirdParty=Uchinchi tomon ro'yxatiga qaytish +DisableSiteFirst=Avval veb-saytni o'chirib qo'ying +MyContainerTitle=Mening veb-saytim nomi +AnotherContainer=Boshqa sahifa / konteyner tarkibini qanday kiritish kerak (agar siz ichki kodni yoqsangiz, dinamik kodni yoqsangiz, bu erda sizda xato bo'lishi mumkin) +SorryWebsiteIsCurrentlyOffLine=Kechirasiz, ushbu veb-sayt hozirda o'chirilgan. Iltimos, keyinroq qaytib keling ... +WEBSITE_USE_WEBSITE_ACCOUNTS=Veb-sayt hisob jadvalini yoqing +WEBSITE_USE_WEBSITE_ACCOUNTSTooltip=Har bir veb-sayt / uchinchi tomon uchun veb-sayt qayd yozuvlarini (kirish / o'tish) saqlash uchun jadvalni yoqing +YouMustDefineTheHomePage=Avval standart uy sahifasini belgilashingiz kerak +OnlyEditionOfSourceForGrabbedContentFuture=Ogohlantirish: Tashqi veb-sahifani import qilish orqali veb-sahifa yaratish tajribali foydalanuvchilar uchun saqlanadi. Manba sahifasining murakkabligiga qarab, import natijasi asl nusxadan farq qilishi mumkin. Shuningdek, agar manba sahifasida odatiy CSS uslublari yoki ziddiyatli javascriptlardan foydalanilsa, u ushbu sahifada ishlash paytida veb-sayt muharriri ko'rinishini yoki xususiyatlarini buzishi mumkin. Ushbu usul sahifani yaratishning tezroq usuli hisoblanadi, ammo yangi sahifangizni noldan yoki tavsiya etilgan sahifa shablonidan yaratish tavsiya etiladi.
Shuni ham ta'kidlash kerakki, ichki muharrir olingan tashqi sahifada ishlatilganda to'g'rilanishi mumkin emas. +OnlyEditionOfSourceForGrabbedContent=Tashqi saytdan tarkib topilganda faqat HTML manbasini nashr qilish mumkin +GrabImagesInto=CSS va sahifada joylashgan rasmlarni ham oling. +ImagesShouldBeSavedInto=Rasmlar katalogga saqlanishi kerak +WebsiteRootOfImages=Veb-sayt rasmlari uchun ildiz katalogi +SubdirOfPage=Sahifaga bag'ishlangan pastki katalog +AliasPageAlreadyExists=Taxalluslar sahifasi %s allaqachon mavjud +CorporateHomePage=Korporativ uy sahifasi +EmptyPage=Sahifa bo'sh +ExternalURLMustStartWithHttp=Tashqi URL http: // yoki https: // bilan boshlanishi kerak. +ZipOfWebsitePackageToImport=Veb-sayt shablonlari to'plamining Zip faylini yuklang +ZipOfWebsitePackageToLoad=yoki mavjud veb-sayt shablonini tanlang +ShowSubcontainers=Dinamik tarkibni ko'rsatish +InternalURLOfPage=Sahifaning ichki URL manzili +ThisPageIsTranslationOf=Ushbu sahifa / konteynerning tarjimasi +ThisPageHasTranslationPages=Ushbu sahifa / konteynerning tarjimasi mavjud +NoWebSiteCreateOneFirst=Hech qanday veb-sayt yaratilmagan. Avval yarating. +GoTo=Boring +DynamicPHPCodeContainsAForbiddenInstruction=Siz sukut bo'yicha dinamik tarkib sifatida taqiqlangan ' %s ' PHP yo'riqnomasini o'z ichiga olgan dinamik PHP kodini qo'shasiz (ruxsat berilgan buyruqlar ro'yxatini oshirish uchun WEBSITE_PHP_ALLOW_xxx yashirin variantlarini ko'ring). +NotAllowedToAddDynamicContent=Veb-saytlarga PHP dinamik tarkibini qo'shish yoki tahrirlash huquqiga ega emassiz. Ruxsat so'rang yoki kodni php teglariga o'zgartirmasdan saqlang. +ReplaceWebsiteContent=Veb-sayt tarkibini qidirish yoki almashtirish +DeleteAlsoJs=Ushbu veb-saytga tegishli barcha javascript fayllari o'chirilsinmi? +DeleteAlsoMedias=Ushbu veb-saytga tegishli barcha media fayllari ham o'chirilsinmi? +MyWebsitePages=Mening veb-sahifalarim +SearchReplaceInto=Qidiruv | Ichiga almashtiring +ReplaceString=Yangi mag'lubiyat +CSSContentTooltipHelp=Bu erga CSS tarkibini kiriting. Ilovaning CSS bilan ziddiyatni oldini olish uchun barcha deklaratsiyani .bodywebsite sinfi bilan oldindan belgilab qo'ying. Masalan:

#mycssselector, input.myclass: hover {...}

bo'lishi kerak .bodywebsite #mycssselector, .bodywebsite input.mf190: hoff000 ushbu prefiksni .bodywebsite prefiksini hamma joyda qo'shish uchun "lessc" dan foydalanishingiz mumkin. +LinkAndScriptsHereAreNotLoadedInEditor=Ogohlantirish: Ushbu tarkib faqat saytga serverdan kirganda chiqariladi. U tahrirlash rejimida ishlatilmaydi, shuning uchun javascript fayllarini tahrirlash rejimida yuklashingiz kerak bo'lsa, sahifangizga 'script src = ...' tegini qo'shishingiz kifoya. +Dynamiccontent=Dinamik tarkibga ega sahifaning namunasi +ImportSite=Veb-sayt shablonini import qilish +EditInLineOnOff="Inline-ni tahrirlash" rejimi %s +ShowSubContainersOnOff="Dinamik tarkib" ni bajarish tartibi %s +GlobalCSSorJS=Veb-saytning global CSS / JS / Header fayli +BackToHomePage=Uy sahifasiga qaytish ... +TranslationLinks=Tarjima havolalari +YouTryToAccessToAFileThatIsNotAWebsitePage=Siz mavjud bo'lmagan sahifaga kirishga harakat qilasiz.
(ref = %s, type = %s, status = %s) +UseTextBetween5And70Chars=Yaxshi SEO amaliyoti uchun 5 dan 70 gacha belgidan foydalaning +MainLanguage=Asosiy til +OtherLanguages=Boshqa tillar +UseManifest=Manifest.json faylini taqdim eting +PublicAuthorAlias=Ommaviy muallif taxallusi +AvailableLanguagesAreDefinedIntoWebsiteProperties=Mavjud tillar veb-sayt xususiyatlariga qarab belgilanadi +ReplacementDoneInXPages=%s sahifalarida yoki konteynerlarda almashtirish +RSSFeed=RSS tasmasi +RSSFeedDesc=Siz ushbu blog yordamida "blogpost" turidagi so'nggi maqolalarning RSS tasmasini olishingiz mumkin +PagesRegenerated=%s sahifa / lar / qayta tiklangan konteyner (lar) +RegenerateWebsiteContent=Veb-sayt kesh fayllarini qayta yarating +AllowedInFrames=Kadrlarda ruxsat berilgan +DefineListOfAltLanguagesInWebsiteProperties=Barcha mavjud tillarning ro'yxatini veb-sayt xususiyatlariga aniqlang. +GenerateSitemaps=Veb-sayt sayt xaritasi faylini yarating +ConfirmGenerateSitemaps=Agar siz tasdiqlasangiz, mavjud sayt xaritasi faylini o'chirib tashlaysiz ... +ConfirmSitemapsCreation=Sayt xaritasini yaratishni tasdiqlang +SitemapGenerated=Sayt xaritasi fayli %s +ImportFavicon=Favikon +ErrorFaviconType=Favicon png bo'lishi kerak +ErrorFaviconSize=Favikon hajmi 16x16, 32x32 yoki 64x64 bo'lishi kerak +FaviconTooltip=Png (16x16, 32x32 yoki 64x64) bo'lishi kerak bo'lgan rasmni yuklang diff --git a/htdocs/langs/uz_UZ/withdrawals.lang b/htdocs/langs/uz_UZ/withdrawals.lang index a87fad457ff..7ecbde76347 100644 --- a/htdocs/langs/uz_UZ/withdrawals.lang +++ b/htdocs/langs/uz_UZ/withdrawals.lang @@ -1,51 +1,51 @@ # Dolibarr language file - Source file is en_US - withdrawals CustomersStandingOrdersArea=To'g'ridan-to'g'ri debet buyurtmalari bo'yicha to'lovlar SuppliersStandingOrdersArea=Kredit o'tkazish yo'li bilan to'lovlar -StandingOrdersPayment=Direct debit payment orders -StandingOrderPayment=Direct debit payment order +StandingOrdersPayment=To'g'ridan-to'g'ri debet bo'yicha to'lov topshiriqlari +StandingOrderPayment=To'g'ridan-to'g'ri debet to'lovi buyurtmasi NewStandingOrder=To'g'ridan-to'g'ri debet bo'yicha yangi buyurtma -NewPaymentByBankTransfer=New payment by credit transfer +NewPaymentByBankTransfer=Kredit o'tkazish yo'li bilan yangi to'lov StandingOrderToProcess=Qayta ishlash uchun -PaymentByBankTransferReceipts=Credit transfer orders -PaymentByBankTransferLines=Credit transfer order lines +PaymentByBankTransferReceipts=Kredit o'tkazish bo'yicha buyurtmalar +PaymentByBankTransferLines=Kredit o'tkazish bo'yicha buyurtma liniyalari WithdrawalsReceipts=To'g'ridan-to'g'ri debet buyurtmalari WithdrawalReceipt=To'g'ridan-to'g'ri debet buyurtmasi -BankTransferReceipts=Credit transfer orders -BankTransferReceipt=Credit transfer order -LatestBankTransferReceipts=Latest %s credit transfer orders +BankTransferReceipts=Kredit o'tkazish bo'yicha buyurtmalar +BankTransferReceipt=Kredit o'tkazish tartibi +LatestBankTransferReceipts=Kredit o'tkazish bo'yicha so'nggi buyurtmalar %s LastWithdrawalReceipts=Oxirgi %s to'g'ridan-to'g'ri debet fayllari -WithdrawalsLine=Direct debit order line -CreditTransferLine=Credit transfer line +WithdrawalsLine=To'g'ridan-to'g'ri debet buyurtmasi liniyasi +CreditTransferLine=Kredit o'tkazish liniyasi WithdrawalsLines=To'g'ridan-to'g'ri debet buyurtma liniyalari -CreditTransferLines=Credit transfer lines +CreditTransferLines=Kredit o'tkazish liniyalari RequestStandingOrderToTreat=To'g'ridan-to'g'ri debet to'lovlarini qayta ishlash uchun buyurtmalar RequestStandingOrderTreated=To'g'ridan-to'g'ri debet to'lovi bo'yicha so'rovlar ko'rib chiqildi -RequestPaymentsByBankTransferToTreat=Requests for credit transfer to process -RequestPaymentsByBankTransferTreated=Requests for credit transfer processed +RequestPaymentsByBankTransferToTreat=Kreditni qayta ishlashga o'tkazish to'g'risida so'rovlar +RequestPaymentsByBankTransferTreated=Kredit o'tkazish bo'yicha so'rovlar ko'rib chiqildi NotPossibleForThisStatusOfWithdrawReceiptORLine=Hozircha mumkin emas. Muayyan qatorlarda rad etish to'g'risida e'lon qilishdan oldin pulni qaytarib olish holati "hisobga olingan" deb belgilanishi kerak. NbOfInvoiceToWithdraw=To'g'ridan-to'g'ri debet buyurtmasini kutayotgan malakali mijozlarning hisob-fakturalari soni NbOfInvoiceToWithdrawWithInfo=Bank hisobvarag'i to'g'risidagi ma'lumotlarga ega bo'lgan to'g'ridan-to'g'ri debetli to'lov topshiriqlari bilan mijozlar hisobvarag'ining raqami -NbOfInvoiceToPayByBankTransfer=No. of qualified supplier invoices waiting for a payment by credit transfer -SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by credit transfer +NbOfInvoiceToPayByBankTransfer=Kredit o'tkazmasi orqali to'lovni kutayotgan malakali etkazib beruvchilarning hisob-fakturalari soni +SupplierInvoiceWaitingWithdraw=Kredit o'tkazmasi orqali to'lovni kutayotgan sotuvchi hisob-fakturasi InvoiceWaitingWithdraw=To'lov debetini kutayotgan hisob-faktura -InvoiceWaitingPaymentByBankTransfer=Invoice waiting for credit transfer +InvoiceWaitingPaymentByBankTransfer=Kredit o'tkazilishini kutayotgan hisob-faktura AmountToWithdraw=Chiqish uchun mablag ' NoInvoiceToWithdraw="%s" uchun hech qanday hisob-faktura kutilmaydi. So'rov yuborish uchun faktura kartasidagi '%s' yorlig'iga o'ting. -NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. +NoSupplierInvoiceToWithdraw="To'g'ridan-to'g'ri kredit so'rovlari" bo'lgan etkazib beruvchilarning hech qanday schyoti kutilmaydi. So'rov yuborish uchun faktura kartasidagi '%s' yorlig'iga o'ting. ResponsibleUser=Foydalanuvchi uchun javobgar WithdrawalsSetup=To'g'ridan-to'g'ri debet to'lovini sozlash -CreditTransferSetup=Credit transfer setup +CreditTransferSetup=Kredit o'tkazmalarini sozlash WithdrawStatistics=To'g'ridan-to'g'ri debet to'lovlari statistikasi -CreditTransferStatistics=Credit transfer statistics -Rejects=Rejects +CreditTransferStatistics=Kredit o'tkazmalari statistikasi +Rejects=Rad etadi LastWithdrawalReceipt=Oxirgi %s to'g'ridan-to'g'ri debet tushumlari MakeWithdrawRequest=To'g'ridan-to'g'ri debetni to'lash to'g'risida so'rov yuboring -MakeBankTransferOrder=Make a credit transfer request -WithdrawRequestsDone=%s direct debit payment requests recorded -BankTransferRequestsDone=%s credit transfer requests recorded +MakeBankTransferOrder=Kredit o'tkazish to'g'risida so'rov yuboring +WithdrawRequestsDone=%s to'g'ridan-to'g'ri debet to'lovi bo'yicha so'rovlar yozib olindi +BankTransferRequestsDone=%s kredit o'tkazish bo'yicha so'rovlar yozib olindi ThirdPartyBankCode=Uchinchi tomonning bank kodi NoInvoiceCouldBeWithdrawed=Hech qanday schyot-faktura muvaffaqiyatli hisobdan chiqarilmagan. Hisob-kitoblarning amaldagi IBANga ega kompaniyalarda ekanligini va IBAN-da %s rejimida UMR (noyob mandat ma'lumotnomasi) mavjudligini tekshiring. -WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries. +WithdrawalCantBeCreditedTwice=Ushbu pulni qaytarib olish kvitansiyasi allaqachon kreditlangan deb belgilangan; buni ikki marta bajarish mumkin emas, chunki bu takroriy to'lovlar va bank yozuvlarini yaratishi mumkin. ClassCredited=Tasniflangan kredit ClassCreditedConfirm=Ushbu olib qo'yilgan kvitansiyani sizning bank hisob raqamingizga kiritilgan deb tasniflashni xohlaganingizga ishonchingiz komilmi? TransData=Etkazish sanasi @@ -55,19 +55,19 @@ Lines=Chiziqlar StandingOrderReject=Rad etish to'g'risida xabar bering WithdrawsRefused=To'g'ridan-to'g'ri debet rad etildi WithdrawalRefused=Cheklov rad etildi -CreditTransfersRefused=Credit transfers refused +CreditTransfersRefused=Kredit o'tkazmalari rad etildi WithdrawalRefusedConfirm=Jamiyat uchun pulni rad etishni xohlaganingizga aminmisiz RefusedData=Rad etilgan sana RefusedReason=Rad etish sababi RefusedInvoicing=Rad etish uchun hisob-kitob NoInvoiceRefused=Rad etishni talab qilmang InvoiceRefused=Hisob-faktura rad etildi (rad etish mijozga etkaziladi) -StatusDebitCredit=Status debit/credit +StatusDebitCredit=Holati debet / kredit StatusWaiting=Kutish StatusTrans=Yuborildi -StatusDebited=Debited +StatusDebited=Debet qilingan StatusCredited=Kreditlangan -StatusPaid=Paid +StatusPaid=To'langan StatusRefused=Rad etildi StatusMotif0=Belgilanmagan StatusMotif1=Mablag'lar etishmayapti @@ -78,11 +78,11 @@ StatusMotif5=RIB yaroqsiz StatusMotif6=Balanssiz hisob StatusMotif7=Sud qarori StatusMotif8=Boshqa sabab -CreateForSepaFRST=Create direct debit file (SEPA FRST) -CreateForSepaRCUR=Create direct debit file (SEPA RCUR) +CreateForSepaFRST=To'g'ridan-to'g'ri debet faylini yaratish (SEPA FRST) +CreateForSepaRCUR=To'g'ridan-to'g'ri debet faylini yaratish (SEPA RCUR) CreateAll=To'g'ridan-to'g'ri debet faylini yaratish (barchasi) -CreateFileForPaymentByBankTransfer=Create file for credit transfer -CreateSepaFileForPaymentByBankTransfer=Create credit transfer file (SEPA) +CreateFileForPaymentByBankTransfer=Kredit o'tkazish uchun fayl yarating +CreateSepaFileForPaymentByBankTransfer=Kredit o'tkazish faylini yarating (SEPA) CreateGuichet=Faqat ofis CreateBanque=Faqat bank OrderWaiting=Davolashni kutish @@ -92,25 +92,25 @@ NumeroNationalEmetter=Milliy transmitter raqami WithBankUsingRIB=RIB-dan foydalangan holda bank hisobvaraqlari uchun WithBankUsingBANBIC=IBAN / BIC / SWIFT-dan foydalangan holda bank hisobvaraqlari uchun BankToReceiveWithdraw=Bank hisobvarag'ini olish -BankToPayCreditTransfer=Bank Account used as source of payments +BankToPayCreditTransfer=To'lov manbai sifatida foydalaniladigan bank hisobvarag'i CreditDate=Kredit bo'yicha WithdrawalFileNotCapable=%s mamlakatingiz uchun pul olish kvitansiyasini yaratib bo'lmadi (Sizning mamlakatingiz qo'llab-quvvatlanmaydi) ShowWithdraw=To'g'ridan-to'g'ri debet buyurtmasini ko'rsatish IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Biroq, agar hisob-fakturada hali kamida bitta to'g'ridan-to'g'ri debet to'lovi buyurtmasi qayta ishlanmagan bo'lsa, uni oldindan olib qo'yishni boshqarish uchun to'lov sifatida o'rnatilmaydi. DoStandingOrdersBeforePayments=Ushbu yorliq to'g'ridan-to'g'ri debet to'lovi buyurtmasini talab qilishga imkon beradi. Amalga oshirilgandan so'ng to'g'ridan-to'g'ri debet buyurtmasini yaratish va boshqarish uchun Bank-> To'g'ridan-to'g'ri debet orqali to'lov menyusiga o'ting. To'g'ridan-to'g'ri debet buyurtmasi yopilganda, hisob-fakturalar bo'yicha to'lov avtomatik ravishda qayd etiladi va qolgan to'lovlar bekor qilingan taqdirda hisob-kitoblar yopiladi. -DoCreditTransferBeforePayments=This tab allows you to request a credit transfer order. Once done, go into menu Bank->Payment by credit transfer to generate and manage the credit transfer order. When credit transfer order is closed, payment on invoices will be automatically recorded, and invoices closed if remainder to pay is null. +DoCreditTransferBeforePayments=Ushbu yorliq sizga kredit o'tkazish tartibini so'rashga imkon beradi. Amalga oshirilgandan so'ng, kredit o'tkazish tartibini yaratish va boshqarish uchun Bank-> Kredit o'tkazmasi orqali to'lov menyusiga o'ting. Kredit o'tkazish bo'yicha buyurtma yopilganda, hisob-fakturalar bo'yicha to'lov avtomatik ravishda qayd etiladi va qolgan to'lovlar bekor qilingan taqdirda hisob-kitoblar yopiladi. WithdrawalFile=Debet buyurtma fayli -CreditTransferFile=Credit transfer file +CreditTransferFile=Kredit o'tkazish fayli SetToStatusSent="Fayl yuborildi" holatiga o'rnating ThisWillAlsoAddPaymentOnInvoice=Bunda hisob-fakturalar bo'yicha to'lovlar qayd etiladi va agar ular to'lash muddati bekor bo'lsa, ularni "To'langan" deb tasniflanadi StatisticsByLineStatus=Chiziqlar holati bo'yicha statistika RUM=UMR -DateRUM=Mandate signature date +DateRUM=Mandat imzosi sanasi RUMLong=Noyob mandat ma'lumotnomasi RUMWillBeGenerated=Agar bo'sh bo'lsa, UMR (noyob mandat ma'lumotnomasi) bank hisobvarag'i ma'lumotlari saqlangandan so'ng hosil bo'ladi. WithdrawMode=To'g'ridan-to'g'ri debet rejimi (FRST yoki RECUR) WithdrawRequestAmount=To'g'ridan-to'g'ri debetga so'rov miqdori: -BankTransferAmount=Amount of Credit Transfer request: +BankTransferAmount=Kredit o'tkazish bo'yicha so'rov miqdori: WithdrawRequestErrorNilAmount=Bo'sh miqdor uchun to'g'ridan-to'g'ri debet so'rovi yaratib bo'lmadi. SepaMandate=SEPA to'g'ridan-to'g'ri debet mandati SepaMandateShort=SEPA mandati @@ -126,19 +126,19 @@ SEPAFrstOrRecur=To'lov turi ModeRECUR=Takroriy to'lov ModeFRST=Bir martalik to'lov PleaseCheckOne=Iltimos, bittasini tekshiring -CreditTransferOrderCreated=Credit transfer order %s created -DirectDebitOrderCreated=Direct debit order %s created -AmountRequested=Amount requested +CreditTransferOrderCreated=%s kredit o'tkazish bo'yicha buyurtma yaratildi +DirectDebitOrderCreated=To'g'ridan-to'g'ri debet buyurtmasi %s yaratildi +AmountRequested=Miqdor so‘raldi SEPARCUR=SEPA CUR SEPAFRST=SEPA FRST -ExecutionDate=Execution date -CreateForSepa=Create direct debit file -ICS=Creditor Identifier CI for direct debit -ICSTransfer=Creditor Identifier CI for bank transfer -END_TO_END="EndToEndId" SEPA XML tag - Unique id assigned per transaction -USTRD="Unstructured" SEPA XML tag -ADDDAYS=Add days to Execution Date -NoDefaultIBANFound=No default IBAN found for this third party +ExecutionDate=Ijro sanasi +CreateForSepa=To'g'ridan-to'g'ri debet faylini yarating +ICS=To'g'ridan-to'g'ri debet uchun kreditor identifikatori CI +ICSTransfer=Bank o'tkazmasi uchun kreditor identifikatori CI +END_TO_END="EndToEndId" SEPA XML yorlig'i - bitim uchun yagona identifikator +USTRD="Strukturasiz" SEPA XML yorlig'i +ADDDAYS=Ijro sanasiga kunlarni qo'shing +NoDefaultIBANFound=Ushbu uchinchi tomon uchun standart IBAN topilmadi ### Notifications InfoCreditSubject=%s to'g'ridan-to'g'ri debet to'lov topshirig'ini bank tomonidan to'lash InfoCreditMessage=%s to'g'ridan-to'g'ri debet to'lov topshirig'ini bank tomonidan to'langan
To'lov ma'lumotlari: %s @@ -148,6 +148,6 @@ InfoTransData=Miqdor: %s
usuli: %s
Sana: %s InfoRejectSubject=To'g'ridan-to'g'ri debet to'lovi buyurtmasi rad etildi InfoRejectMessage=Hello,

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

--
%s ModeWarning=Haqiqiy rejim uchun parametr o'rnatilmagan, biz ushbu simulyatsiyadan so'ng to'xtaymiz -ErrorCompanyHasDuplicateDefaultBAN=Company with id %s has more than one default bank account. No way to know wich one to use. -ErrorICSmissing=Missing ICS in Bank account %s -TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=Total amount of direct debit order differs from sum of lines +ErrorCompanyHasDuplicateDefaultBAN=%s id raqamiga ega kompaniya bir nechta standart bank hisobvarag'iga ega. Qaysi birini ishlatishni bilishning imkoni yo'q. +ErrorICSmissing=Bank hisobidagi %s yo'qolgan ICS +TotalAmountOfdirectDebitOrderDiffersFromSumOfLines=To'g'ridan-to'g'ri debet buyurtmasining umumiy miqdori satrlar yig'indisidan farq qiladi diff --git a/htdocs/langs/uz_UZ/workflow.lang b/htdocs/langs/uz_UZ/workflow.lang index 976d0e62426..5c089e446b0 100644 --- a/htdocs/langs/uz_UZ/workflow.lang +++ b/htdocs/langs/uz_UZ/workflow.lang @@ -14,12 +14,12 @@ descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Mijozlarning hisob-fakturasi t descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Mijozlarning hisob-fakturasi to'lash uchun o'rnatilganda (va agar schyot-faktura miqdori bog'langan buyurtmaning umumiy miqdori bilan bir xil bo'lsa) bog'langan manbalarni sotish buyurtmasini billing sifatida tasniflang. descWORKFLOW_ORDER_CLASSIFY_SHIPPED_SHIPPING=Bog'langan manbalarni sotish buyurtmasini jo'natma tasdiqlanganda jo'natilgan deb tasniflang (va agar barcha jo'natmalar tomonidan jo'natilgan miqdor yangilanish uchun buyurtma bilan bir xil bo'lsa) # Autoclassify purchase order -descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Classify linked source vendor proposal as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked proposal) -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Classify linked source purchase order as billed when vendor invoice is validated (and if the amount of the invoice is the same as the total amount of the linked order) -descWORKFLOW_BILL_ON_RECEPTION=Classify receptions to "billed" when a linked supplier order is validated +descWORKFLOW_ORDER_CLASSIFY_BILLED_SUPPLIER_PROPOSAL=Bog'langan manba etkazib beruvchisi taklifini sotuvchi hisob-fakturasi tasdiqlangandan keyin hisob-kitob sifatida tasniflang (va agar faktura miqdori bog'langan taklifning umumiy miqdori bilan bir xil bo'lsa) +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_SUPPLIER_ORDER=Sotib oluvchi hisob-fakturasi tasdiqlanganda bog'langan manbadan sotib olish buyurtmasini billing sifatida tasniflang (va agar schyot-fakturaning miqdori bog'langan buyurtmaning umumiy miqdori bilan bir xil bo'lsa) +descWORKFLOW_BILL_ON_RECEPTION=Bog'langan etkazib beruvchining buyurtmasi tasdiqlanganda qabullarni "hisob-kitob" ga tasniflang # Autoclose intervention -descWORKFLOW_TICKET_CLOSE_INTERVENTION=Close all interventions linked to the ticket when a ticket is closed +descWORKFLOW_TICKET_CLOSE_INTERVENTION=Chipta yopilganda chipta bilan bog'liq barcha aralashuvlarni yoping AutomaticCreation=Avtomatik yaratish AutomaticClassification=Avtomatik tasnif # Autoclassify shipment -descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Classify linked source shipment as closed when customer invoice is validated +descWORKFLOW_SHIPPING_CLASSIFY_CLOSED_INVOICE=Mijozlarning hisob-fakturasi tasdiqlanganda bog'langan manbalarni etkazib berishni yopiq deb tasniflang diff --git a/htdocs/langs/uz_UZ/zapier.lang b/htdocs/langs/uz_UZ/zapier.lang index b4cc4ccba4a..caa4ebfb810 100644 --- a/htdocs/langs/uz_UZ/zapier.lang +++ b/htdocs/langs/uz_UZ/zapier.lang @@ -13,9 +13,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -ModuleZapierForDolibarrName = Zapier for Dolibarr -ModuleZapierForDolibarrDesc = Zapier for Dolibarr module -ZapierForDolibarrSetup=Setup of Zapier for Dolibarr -ZapierDescription=Interface with Zapier -ZapierAbout=About the module Zapier -ZapierSetupPage=There is no need for a setup on Dolibarr side to use Zapier. However, you must generate and publish a package on zapier to be able to use Zapier with Dolibarr. See documentation on this wiki page. +ModuleZapierForDolibarrName = Dolibarr uchun Zapier +ModuleZapierForDolibarrDesc = Dolibarr moduli uchun zapier +ZapierForDolibarrSetup=Dolibarr uchun Zapier-ni sozlash +ZapierDescription=Zapier bilan interfeys +ZapierAbout=Zapier moduli haqida +ZapierSetupPage=Zapier-dan foydalanish uchun Dolibarr tomonida o'rnatishga hojat yo'q. Biroq, Zapier-dan Dolibarr bilan foydalanish uchun siz zapier-da paket yaratishingiz va nashr qilishingiz kerak. -dagi ushbu viki-sahifadagi -dagi hujjatlarni ko'ring. diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index 1472187c65c..a61b7477d58 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -53,6 +53,7 @@ InternalUser=Người dùng bên trong ExternalUser=Người dùng bên ngoài InternalUsers=Người dùng bên trong ExternalUsers=Người dùng bên ngoài +UserInterface=User interface GUISetup=Hiển thị SetupArea=Thiết lập UploadNewTemplate=Tải lên (các) mẫu mới @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=Chức năng SSL không có sẵn trong chương tr DownloadMoreSkins=Nhiều giao diện để tải về SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Hiển thị id chuyên nghiệp với địa chỉ -ShowVATIntaInAddress=Ẩn số VAT Cộng Đồng nội bộ với địa chỉ +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Vô hiệu hóa chế độ xem khí tượng MeteoStdMod=Chế độ tiêu chuẩn @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url được gọi khi nhấp chuột vào hình ảnh điện thoại được thực hiện. Trong URL, bạn có thể sử dụng thẻ
__PHONETO__ sẽ được thay thế bằng số điện thoại của người cần gọi
__PHONEFROM__ sẽ được thay thế bằng số điện thoại của người gọi (của bạn)
__LOGIN__ sẽ được thay thế bằng đăng nhập clicktodial (được xác định trên thẻ người dùng)
__PASS__ sẽ được thay thế bằng mật khẩu clicktodial (được xác định trên thẻ người dùng). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Chỉ sử dụng một liên kết "tel:" trên các số điện thoại -ClickToDialUseTelLinkDesc=Sử dụng phương pháp này nếu người dùng của bạn có điện thoại phần mềm hoặc giao diện phần mềm được cài đặt trên cùng một máy tính với trình duyệt và được gọi khi bạn nhấp vào liên kết trong trình duyệt bắt đầu bằng "tel:". Nếu bạn cần một giải pháp máy chủ đầy đủ (không cần cài đặt phần mềm cục bộ), bạn phải đặt giải pháp này thành "Không" và điền vào trường tiếp theo. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Điểm bán hàng CashDeskSetup=Thiết lập mô-đun Điểm bán hàng @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Khuyên dùng +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/vi_VN/banks.lang b/htdocs/langs/vi_VN/banks.lang index 49d8b63b362..bd56f7bb41e 100644 --- a/htdocs/langs/vi_VN/banks.lang +++ b/htdocs/langs/vi_VN/banks.lang @@ -115,7 +115,7 @@ TransferTo=Đến TransferFromToDone=Một chuyển khoản từ %s đến %s của %s %s đã được ghi lại. CheckTransmitter=Người gửi ValidateCheckReceipt=Kiểm tra chứng từ séc này? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Xóa biên nhận séc này? ConfirmDeleteCheckReceipt=Bạn có muốn xóa biên nhận séc này? BankChecks=Séc ngân hàng diff --git a/htdocs/langs/vi_VN/boxes.lang b/htdocs/langs/vi_VN/boxes.lang index 8a9692b7254..d648b2fe6c3 100644 --- a/htdocs/langs/vi_VN/boxes.lang +++ b/htdocs/langs/vi_VN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Đơn đặt hàng của nhà cung cấp: % BoxTitleLastModifiedCustomerBills=Hóa đơn khách hàng: %s được sửa đổi lần cuối BoxTitleLastModifiedCustomerOrders=Đơn đặt hàng bán: %s được sửa đổi lần cuối BoxTitleLastModifiedPropals=Đề xuất sửa đổi %s mới nhất -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Khách hàng hoá đơn ForCustomersOrders=Khách hàng đặt hàng ForProposals=Đề xuất diff --git a/htdocs/langs/vi_VN/cashdesk.lang b/htdocs/langs/vi_VN/cashdesk.lang index ebe9f02e17d..100cd049586 100644 --- a/htdocs/langs/vi_VN/cashdesk.lang +++ b/htdocs/langs/vi_VN/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/vi_VN/deliveries.lang b/htdocs/langs/vi_VN/deliveries.lang index 5156d289e9c..46fd7d5197d 100644 --- a/htdocs/langs/vi_VN/deliveries.lang +++ b/htdocs/langs/vi_VN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Người nhận ErrorStockIsNotEnough=Không có đủ tồn kho Shippable=Vận chuyển được NonShippable=Không vận chuyển được +ShowShippableStatus=Show shippable status ShowReceiving=Hiển thị biên nhận giao hàng NonExistentOrder=Đơn hàng không tồn tại +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index 6b10871a692..0eb21183959 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/vi_VN/eventorganization.lang b/htdocs/langs/vi_VN/eventorganization.lang index 2732b9eda3b..53b30dbd5d6 100644 --- a/htdocs/langs/vi_VN/eventorganization.lang +++ b/htdocs/langs/vi_VN/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Loại sự kiện +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/vi_VN/exports.lang b/htdocs/langs/vi_VN/exports.lang index f15be790dc6..2cdb1136e64 100644 --- a/htdocs/langs/vi_VN/exports.lang +++ b/htdocs/langs/vi_VN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Loại dòng (0 = sản phẩm, dịch vụ = 1) FileWithDataToImport=Tập tin với dữ liệu để nhập FileToImport=Tập tin nguồn để nhập dữ liệu FileMustHaveOneOfFollowingFormat=Tệp để nhập phải có một trong các định dạng sau -DownloadEmptyExample=Tải xuống tệp mẫu với thông tin nội dung trường (* là các trường bắt buộc) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Chọn định dạng tệp để sử dụng làm định dạng tệp nhập bằng cách nhấp vào biểu tượng %s để chọn ... ChooseFileToImport=Tải lên tệp sau đó nhấp vào biểu tượng %s để lựa chọn tệp là tệp nguồn nhập SourceFileFormat=Định dạng tệp nguồn diff --git a/htdocs/langs/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index d11a96b5d67..ca906feef39 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Di chuyển đường dẫn ảnh cho người dùng MigrationFieldsSocialNetworks=Di chuyển các trường người dùng mạng xã hội (%s) MigrationReloadModule=Tải lại mô-đun %s MigrationResetBlockedLog=Đặt lại mô-đun BlockedLog cho thuật toán v7 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Hiển thị các tùy chọn không khả dụng HideNotAvailableOptions=Ẩn các tùy chọn không khả dụng ErrorFoundDuringMigration=(Các) lỗi đã được báo cáo trong quá trình di chuyển nên bước tiếp theo không khả dụng. Để bỏ qua lỗi, bạn có thể nhấp vào đây , nhưng ứng dụng hoặc một số tính năng có thể không hoạt động chính xác cho đến khi lỗi được giải quyết. diff --git a/htdocs/langs/vi_VN/interventions.lang b/htdocs/langs/vi_VN/interventions.lang index a926870eaa4..282ab4f63ff 100644 --- a/htdocs/langs/vi_VN/interventions.lang +++ b/htdocs/langs/vi_VN/interventions.lang @@ -41,9 +41,7 @@ InterventionsArea=Khu vực can thiệp DraftFichinter=Dự thảo can thiệp LastModifiedInterventions=Can thiệp sửa đổi mới nhất %s FichinterToProcess=Can thiệp để xử lý -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Theo dõi liên lạc của khách hàng -# Modele numérotation PrintProductsOnFichinter=Đồng thời in các dòng loại "sản phẩm" (không chỉ dịch vụ) trên thẻ can thiệp PrintProductsOnFichinterDetails=can thiệp được tạo ra từ các đơn đặt hàng UseServicesDurationOnFichinter=Sử dụng thời hạn dịch vụ cho các can thiệp được tạo ra từ các đơn đặt hàng @@ -53,7 +51,6 @@ InterventionStatistics=Thống kê các can thiệp NbOfinterventions=Số lượng thẻ can thiệp NumberOfInterventionsByMonth=Số thẻ can thiệp theo tháng (ngày xác nhận) AmountOfInteventionNotIncludedByDefault=Số tiền can thiệp không được tính theo mặc định vào lợi nhuận (trong hầu hết các trường hợp, bảng chấm công được sử dụng để tính thời gian tiêu thụ). Thêm tùy chọn gồm PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT thành 1 vào Nhà - Thiết lập - Khác -##### Exports ##### InterId=Id Can thiệp InterRef=Tham chiếu Can thiệp. InterDateCreation=Ngày tạo Can thiệp @@ -65,3 +62,7 @@ InterLineId=ID dòng Can thiệp InterLineDate=Ngày của dòng Can thiệp InterLineDuration=Thời hạn dòng Can thiệp InterLineDesc=Mô tả dòng Can thiệp +RepeatableIntervention=Mẫu can thiệp +ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Mở lại +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/vi_VN/productbatch.lang b/htdocs/langs/vi_VN/productbatch.lang index 8d7e76e7b7c..7201a8fb3bf 100644 --- a/htdocs/langs/vi_VN/productbatch.lang +++ b/htdocs/langs/vi_VN/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Hiển thị nhật ký biến động kho cho cặp sả StockDetailPerBatch=Chi tiết tồn kho trên mỗi lô SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index c0d647c8ee7..fe2daf23a60 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Giá khác nhau cho mỗi khách hàng PriceCatalogue=Giá bán lẻ cho từng sản phẩm/dịch vụ PricingRule=Quy tắc cho giá bán AddCustomerPrice=Thêm giá theo khách hàng -ForceUpdateChildPriceSoc=Đặt giá giống nhau trên nhóm khách hàng phụ thuộc +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Nhật ký giá trước đây của khách hàng MinimumPriceLimit=Giá tối thiểu không thể thấp hơn %s MinimumRecommendedPrice=Giá đề xuất tối thiểu là: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Tăng/Giảm tồn kho trên thay đổi gốc ComposedProduct=Các sản phẩm con MinSupplierPrice=Giá mua tối thiểu MinCustomerPrice=Giá bán tối thiểu +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Cấu hình giá linh hoạt DynamicPriceDesc=Bạn có thể định nghĩa các công thức toán học để tính giá cho Khách hàng hoặc của Nhà cung cấp. Các công thức như vậy có thể sử dụng tất cả các toán tử, hằng số và biến. Ở đây, bạn có thể định nghĩa các biến bạn muốn sử dụng. Nếu biến cần cập nhật tự động, bạn có thể định rõ URL bên ngoài để cho phép Dolibarr tự động cập nhật giá trị. AddVariable=Thêm biến diff --git a/htdocs/langs/vi_VN/salaries.lang b/htdocs/langs/vi_VN/salaries.lang index b553a9fde51..e0bbab568a9 100644 --- a/htdocs/langs/vi_VN/salaries.lang +++ b/htdocs/langs/vi_VN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Tài khoản kế toán được sử dụng cho bên thứ ba của người dùng SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=Tài khoản kế toán chuyên dụng được xác định trên thẻ người dùng sẽ chỉ được sử dụng cho kế toán Sổ phụ. Tài khoản này sẽ được sử dụng cho Sổ cái chung và là giá trị mặc định của kế toán Sổ phụ nếu tài khoản kế toán chuyên dụng trên người dùng không được xác định. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Tài khoản kế toán theo mặc định cho các khoản thanh toán tiền lương +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Mức lương Salaries=Tiền lương -NewSalaryPayment=Thanh toán tiền lương mới +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Thêm thanh toán tiền lương SalaryPayment=Thanh toán tiền lương SalariesPayments=Lương thanh toán +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Hiện thanh toán tiền lương THM=Tỷ lệ trung bình mỗi giờ TJM=Tỷ lệ trung bình hàng ngày CurrentSalary=Mức lương hiện tại THMDescription=Giá trị này có thể được sử dụng để tính chi phí thời gian tiêu thụ cho một dự án được nhập bởi người dùng nếu mô-đun dự án được sử dụng TJMDescription=Giá trị này hiện chỉ là thông tin và không được sử dụng cho bất kỳ phép tính nào -LastSalaries=Thanh toán tiền lương %s mới nhất -AllSalaries=Tất cả các khoản thanh toán tiền lương +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Thống kê lương -# Export SalariesAndPayments=Lương và thanh toán +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/vi_VN/ticket.lang b/htdocs/langs/vi_VN/ticket.lang index eb59437398d..a5be7d8cb6a 100644 --- a/htdocs/langs/vi_VN/ticket.lang +++ b/htdocs/langs/vi_VN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Câu hỏi thương mại TicketTypeShortHELP=Yêu cầu trợ giúp chức năng -TicketTypeShortISSUE=Sự cố, lỗi hoặc vấn đề +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Yêu cầu thay đổi hoặc nâng cao TicketTypeShortPROJET=Dự án TicketTypeShortOTHER=Khác @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Người dùng được chỉ định TypeContact_ticket_external_SUPPORTCLI=Theo dõi liên lạc / sự cố khách hàng  TypeContact_ticket_external_CONTRIBUTOR=Người cộng tác bên ngoài -OriginEmail=Nguồn email +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Gửi tin nhắn vé qua email # Status Read=Đọc Assigned=Phân công InProgress=Trong tiến trình xử lý -NeedMoreInformation=Đang chờ thông tin +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Đã trả lời Waiting=Đang chờ Closed=Đã đóng @@ -160,7 +162,7 @@ CreatedBy=Được tạo bởi NewTicket=Vé mới SubjectAnswerToTicket=Trả lời vé TicketTypeRequest=Loại yêu cầu -TicketCategory=Nhóm +TicketCategory=Ticket categorization SeeTicket=Xem vé TicketMarkedAsRead=Vé đã được đánh dấu là đã đọc TicketReadOn=Đọc tiếp @@ -211,6 +213,7 @@ TicketMessageHelp=Chỉ văn bản này sẽ được lưu trong danh sách tin TicketMessageSubstitutionReplacedByGenericValues=Các biến thay thế được thay thế bằng các giá trị chung. TimeElapsedSince=Thời gian trôi qua kể từ khi TicketTimeToRead=Thời gian trôi qua trước khi đọc +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Liên hệ vé TicketDocumentsLinked=Tài liệu liên kết với vé ConfirmReOpenTicket=Xác nhận mở lại vé này? diff --git a/htdocs/langs/vi_VN/users.lang b/htdocs/langs/vi_VN/users.lang index 73fbed5392e..6c34f21df6c 100644 --- a/htdocs/langs/vi_VN/users.lang +++ b/htdocs/langs/vi_VN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Đăng nhập để tạo NameToCreate=Tên của bên thứ ba để tạo YourRole=Vai trò của bạn YourQuotaOfUsersIsReached=Hạn ngạch của người dùng hoạt động đã hết! -NbOfUsers=Số lượng người dùng -NbOfPermissions=Số lượng phân quyền +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Chỉ có một superadmin có thể hạ bậc một superadmin HierarchicalResponsible=Giám sát HierarchicView=Xem tính kế thừa diff --git a/htdocs/langs/vi_VN/website.lang b/htdocs/langs/vi_VN/website.lang index c88a35daf86..def041bf053 100644 --- a/htdocs/langs/vi_VN/website.lang +++ b/htdocs/langs/vi_VN/website.lang @@ -31,7 +31,7 @@ AddWebsite=Thêm trang web Webpage=Trang web / vùng chứa AddPage=Thêm trang / vùng chứa PageContainer=Trang -PreviewOfSiteNotYetAvailable=Xem trước trang web của bạn %s chưa có sẵn. Trước tiên, bạn phải ' Nhập mẫu trang web đầy đủ ' hoặc chỉ ' Thêm trang / vùng chứa '. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Trang được yêu cầu có id %s chưa có nội dung hoặc tệp bộ đệm .tpl.php đã bị xóa. Chỉnh sửa nội dung của trang để giải quyết điều này. SiteDeleted=Trang web '%s' đã bị xóa PageContent=Trang / Vùng chứa diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index be986a707fe..01242313797 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -53,6 +53,7 @@ InternalUser=内部员工用户 ExternalUser=外部用户 InternalUsers=内部员工用户 ExternalUsers=外部用户 +UserInterface=User interface GUISetup=主题 SetupArea=设置 UploadNewTemplate=上传新模板 @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL 在您的 PHP 中不可用 DownloadMoreSkins=下载更多外观主题 SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=部分翻译 MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=标准模式 @@ -1778,7 +1779,7 @@ ClickToDialSetup=点击拨号模块设置 ClickToDialUrlDesc=当点击手机图片完成时,网址会被呼叫。在网址中,您可以使用标记为
__ PHONETO __ ,这些标记将替换为要拨打电话号码的人员的电话号码
__ PHONEFROM __ 将替换为通话电话号码person(你的)
__ LOGIN __将替换为clicktodial登录(在用户卡上定义)
__ PASS __ 将替换为clicktodial密码(在用户上定义)卡)。 ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=在电话号码上链接 "tel:" -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=推荐 +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/zh_CN/banks.lang b/htdocs/langs/zh_CN/banks.lang index 958757ffeda..63419453329 100644 --- a/htdocs/langs/zh_CN/banks.lang +++ b/htdocs/langs/zh_CN/banks.lang @@ -115,7 +115,7 @@ TransferTo=至 TransferFromToDone=从%s%s转帐%s已被记录。 CheckTransmitter=发送方 ValidateCheckReceipt=验证此支票收据? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=删除此支票收据? ConfirmDeleteCheckReceipt=您确定要删除此支票收据吗? BankChecks=银行支票 diff --git a/htdocs/langs/zh_CN/boxes.lang b/htdocs/langs/zh_CN/boxes.lang index 0f72cb46cb6..d2b765df1c0 100644 --- a/htdocs/langs/zh_CN/boxes.lang +++ b/htdocs/langs/zh_CN/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=最近变更的 %s 份报价 -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=客户发票 ForCustomersOrders=客户订单 ForProposals=报价 diff --git a/htdocs/langs/zh_CN/cashdesk.lang b/htdocs/langs/zh_CN/cashdesk.lang index a3f2b9b5b87..068b5c083ca 100644 --- a/htdocs/langs/zh_CN/cashdesk.lang +++ b/htdocs/langs/zh_CN/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/zh_CN/deliveries.lang b/htdocs/langs/zh_CN/deliveries.lang index 38c9b4fc09e..af63b1c926c 100644 --- a/htdocs/langs/zh_CN/deliveries.lang +++ b/htdocs/langs/zh_CN/deliveries.lang @@ -27,5 +27,7 @@ Recipient=接收方 ErrorStockIsNotEnough=库存不足 Shippable=可运输 NonShippable=不可运输 +ShowShippableStatus=Show shippable status ShowReceiving=显示送达回执 NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index 8938226cf7c..6104b84e4fd 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/zh_CN/eventorganization.lang b/htdocs/langs/zh_CN/eventorganization.lang index 783f3173661..46e13a3af84 100644 --- a/htdocs/langs/zh_CN/eventorganization.lang +++ b/htdocs/langs/zh_CN/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = 活动类型 +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/zh_CN/exports.lang b/htdocs/langs/zh_CN/exports.lang index 11cfd2fcb7e..3836e3d001e 100644 --- a/htdocs/langs/zh_CN/exports.lang +++ b/htdocs/langs/zh_CN/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=型号明细(0 =表示产品,1 =表示服务) FileWithDataToImport=与数据文件导入 FileToImport=源文件导入 FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=源文件格式 diff --git a/htdocs/langs/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index f1b8ca9dec4..a065602c849 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=重载模块%s MigrationResetBlockedLog=重置模块BlockedLog for v7算法 +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/zh_CN/interventions.lang b/htdocs/langs/zh_CN/interventions.lang index cdeaceb4571..dc11371f4cc 100644 --- a/htdocs/langs/zh_CN/interventions.lang +++ b/htdocs/langs/zh_CN/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=线路持续时间干预 InterLineDesc=线描述干预 RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=重新打开 +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/zh_CN/productbatch.lang b/htdocs/langs/zh_CN/productbatch.lang index 2f2ebf5f722..306ab09c547 100644 --- a/htdocs/langs/zh_CN/productbatch.lang +++ b/htdocs/langs/zh_CN/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=显示成对产品/批次的动作日志 StockDetailPerBatch=每批库存详细信息 SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index 1ae64001f22..ea8d0a935c5 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=每位客户不同价格 PriceCatalogue=每产品/服务单独销售价 PricingRule=Rules for selling prices AddCustomerPrice=为客户添加价格 -ForceUpdateChildPriceSoc=在客户子公司设置相同的价格 +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=记录以前的客户价格 MinimumPriceLimit=最低价格不允许低于 %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=增加/减少父库存变化 ComposedProduct=Child products MinSupplierPrice=最低购买价格 MinCustomerPrice=最低售价 +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=动态价格配置 DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=添加变量 diff --git a/htdocs/langs/zh_CN/salaries.lang b/htdocs/langs/zh_CN/salaries.lang index 93c3171f3cd..1641f6b30d3 100644 --- a/htdocs/langs/zh_CN/salaries.lang +++ b/htdocs/langs/zh_CN/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=用于合伙人的会计帐户 SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=财务记账科目代码 +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=工资 Salaries=工资 -NewSalaryPayment=新建工资支付 +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=工资支付 SalariesPayments=工资支付 +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=显示工资支付 THM=平均时薪 TJM=平均日薪 CurrentSalary=当前薪资 THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=最新的%s工资支付 -AllSalaries=所有工资支付 +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/zh_CN/ticket.lang b/htdocs/langs/zh_CN/ticket.lang index c203431c156..72ecda956a0 100644 --- a/htdocs/langs/zh_CN/ticket.lang +++ b/htdocs/langs/zh_CN/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=商业问题 TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=项目 TicketTypeShortOTHER=其他 @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=指定用户 TypeContact_ticket_external_SUPPORTCLI=客户联系/事件跟踪 TypeContact_ticket_external_CONTRIBUTOR=外部贡献者 -OriginEmail=电邮来源 +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=阅读 Assigned=分配 InProgress=进行中 -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=回答 Waiting=等候 Closed=关闭 @@ -160,7 +162,7 @@ CreatedBy=制作: NewTicket=新票据 SubjectAnswerToTicket=票据应答 TicketTypeRequest=请求类型 -TicketCategory=组 +TicketCategory=Ticket categorization SeeTicket=查看票据 TicketMarkedAsRead=票据已标记为已读 TicketReadOn=请继续阅读 @@ -211,6 +213,7 @@ TicketMessageHelp=只有此文本将保存在故障单卡的消息列表中。 TicketMessageSubstitutionReplacedByGenericValues=替换变量由通用值替换。 TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=联系票 TicketDocumentsLinked=与票证相关的文件 ConfirmReOpenTicket=确认重新打开此票? diff --git a/htdocs/langs/zh_CN/users.lang b/htdocs/langs/zh_CN/users.lang index 849601aab96..d86f4e2bb6b 100644 --- a/htdocs/langs/zh_CN/users.lang +++ b/htdocs/langs/zh_CN/users.lang @@ -97,8 +97,8 @@ LoginToCreate=登陆创建 NameToCreate=创建合伙人名称 YourRole=您的角色 YourQuotaOfUsersIsReached=你的活跃用户达到配额! -NbOfUsers=用户数量 -NbOfPermissions=权限数量 +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=只有超级管理员可以降级超级管理员 HierarchicalResponsible=超级管理员 HierarchicView=分层视图 diff --git a/htdocs/langs/zh_CN/website.lang b/htdocs/langs/zh_CN/website.lang index b5b6277ab25..7e6f598ca4f 100644 --- a/htdocs/langs/zh_CN/website.lang +++ b/htdocs/langs/zh_CN/website.lang @@ -31,7 +31,7 @@ AddWebsite=添加网站 Webpage=网页/容器 AddPage=添加页面/容器 PageContainer=页面 -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=ID为%s的请求页面尚无内容,或者删除了缓存文件.tpl.php。编辑页面内容以解决此问题。 SiteDeleted=Web site '%s' deleted PageContent=页/ Contenair diff --git a/htdocs/langs/zh_HK/admin.lang b/htdocs/langs/zh_HK/admin.lang index be9aca94599..73004a3c8b1 100644 --- a/htdocs/langs/zh_HK/admin.lang +++ b/htdocs/langs/zh_HK/admin.lang @@ -53,6 +53,7 @@ InternalUser=Internal user ExternalUser=External user InternalUsers=Internal users ExternalUsers=External users +UserInterface=User interface GUISetup=Display SetupArea=Setup UploadNewTemplate=Upload new template(s) @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP DownloadMoreSkins=More skins to download SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=Show professional id with addresses -ShowVATIntaInAddress=Hide intra-Community VAT number with addresses +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=Partial translation MAIN_DISABLE_METEO=Disable meteorological view MeteoStdMod=Standard mode @@ -1778,7 +1779,7 @@ ClickToDialSetup=Click To Dial module setup ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with clicktodial login (defined on user card)
__PASS__ that will be replaced with clicktodial password (defined on user card). ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=Use just a link "tel:" on phone numbers -ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface installed on the same computer as the browser, and called when you click on a link in your browser that starts with "tel:". If you need a full server solution (no need of local software installation), you must set this to "No" and fill next field. +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=Point of Sale CashDeskSetup=Point of Sales module setup @@ -2133,7 +2134,8 @@ IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system co PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded +Recommended=Recommended +NotRecommended=Not recommended ARestrictedPath=A restricted path CheckForModuleUpdate=Check for external modules updates CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. @@ -2144,3 +2146,5 @@ YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You s RandomlySelectedIfSeveral=Randomly selected if several pictures are available DatabasePasswordObfuscated=Database password is obfuscated in conf file DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +APIsAreNotEnabled=APIs modules are not enabled +YouShouldSetThisToOff=You should set this to 0 or off diff --git a/htdocs/langs/zh_HK/banks.lang b/htdocs/langs/zh_HK/banks.lang index df7192bee25..a0b7942d446 100644 --- a/htdocs/langs/zh_HK/banks.lang +++ b/htdocs/langs/zh_HK/banks.lang @@ -115,7 +115,7 @@ TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. CheckTransmitter=Sender ValidateCheckReceipt=Validate this check receipt? -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=Delete this check receipt? ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt? BankChecks=Bank checks diff --git a/htdocs/langs/zh_HK/boxes.lang b/htdocs/langs/zh_HK/boxes.lang index 0c9ea302fb8..710d49bfab6 100644 --- a/htdocs/langs/zh_HK/boxes.lang +++ b/htdocs/langs/zh_HK/boxes.lang @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=Vendor Orders: last %s modified BoxTitleLastModifiedCustomerBills=Customer Invoices: last %s modified BoxTitleLastModifiedCustomerOrders=Sales Orders: last %s modified BoxTitleLastModifiedPropals=Latest %s modified proposals -BoxTitleLatestModifiedJobPositions=Latest %s modified jobs -BoxTitleLatestModifiedCandidatures=Latest %s modified candidatures +BoxTitleLatestModifiedJobPositions=Latest %s modified job positions +BoxTitleLatestModifiedCandidatures=Latest %s modified job applications ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals diff --git a/htdocs/langs/zh_HK/cashdesk.lang b/htdocs/langs/zh_HK/cashdesk.lang index aea1f02f834..c9d0f7fcd0a 100644 --- a/htdocs/langs/zh_HK/cashdesk.lang +++ b/htdocs/langs/zh_HK/cashdesk.lang @@ -127,4 +127,4 @@ AllowDelayedPayment=Allow delayed payment PrintPaymentMethodOnReceipts=Print payment method on tickets|receipts WeighingScale=Weighing scale ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHTOnReceipt = Display the column with the price excluding tax (on the receipt) diff --git a/htdocs/langs/zh_HK/deliveries.lang b/htdocs/langs/zh_HK/deliveries.lang index 1f48c01de75..cd8a36e6c70 100644 --- a/htdocs/langs/zh_HK/deliveries.lang +++ b/htdocs/langs/zh_HK/deliveries.lang @@ -27,5 +27,7 @@ Recipient=Recipient ErrorStockIsNotEnough=There's not enough stock Shippable=Shippable NonShippable=Not Shippable +ShowShippableStatus=Show shippable status ShowReceiving=Show delivery receipt NonExistentOrder=Nonexistent order +StockQuantitiesAlreadyAllocatedOnPreviousLines = Stock quantities already allocated on previous lines diff --git a/htdocs/langs/zh_HK/errors.lang b/htdocs/langs/zh_HK/errors.lang index 670f8c7a6bc..85b90ca4991 100644 --- a/htdocs/langs/zh_HK/errors.lang +++ b/htdocs/langs/zh_HK/errors.lang @@ -301,3 +301,4 @@ ErrorActionCommPropertyUserowneridNotDefined=User's owner is required ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary CheckVersionFail=Version check fail ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +ErrorNotInDictionaryPaymentConditions=Not in Payment Terms Dictionary, please modify. diff --git a/htdocs/langs/zh_HK/eventorganization.lang b/htdocs/langs/zh_HK/eventorganization.lang index 335c257b224..f361e6bc192 100644 --- a/htdocs/langs/zh_HK/eventorganization.lang +++ b/htdocs/langs/zh_HK/eventorganization.lang @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = Event type +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/zh_HK/exports.lang b/htdocs/langs/zh_HK/exports.lang index a0eb7161ef2..cb652229825 100644 --- a/htdocs/langs/zh_HK/exports.lang +++ b/htdocs/langs/zh_HK/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) FileWithDataToImport=File with data to import FileToImport=Source file to import FileMustHaveOneOfFollowingFormat=File to import must have one of following formats -DownloadEmptyExample=Download template file with field content information (* are mandatory fields) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=Choose the file format to use as import file format by clicking on the %s icon to select it... ChooseFileToImport=Upload file then click on the %s icon to select file as source import file... SourceFileFormat=Source file format diff --git a/htdocs/langs/zh_HK/install.lang b/htdocs/langs/zh_HK/install.lang index 63947dad154..c1ffee936d7 100644 --- a/htdocs/langs/zh_HK/install.lang +++ b/htdocs/langs/zh_HK/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=Migration of photo paths for users MigrationFieldsSocialNetworks=Migration of users fields social networks (%s) MigrationReloadModule=Reload module %s MigrationResetBlockedLog=Reset module BlockedLog for v7 algorithm +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=Show unavailable options HideNotAvailableOptions=Hide unavailable options ErrorFoundDuringMigration=Error(s) were reported during the migration process so next step is not available. To ignore errors, you can click here, but the application or some features may not work correctly until the errors are resolved. diff --git a/htdocs/langs/zh_HK/interventions.lang b/htdocs/langs/zh_HK/interventions.lang index e5936f8246e..51079fca278 100644 --- a/htdocs/langs/zh_HK/interventions.lang +++ b/htdocs/langs/zh_HK/interventions.lang @@ -64,3 +64,5 @@ InterLineDuration=Line duration intervention InterLineDesc=Line description intervention RepeatableIntervention=Template of intervention ToCreateAPredefinedIntervention=To create a predefined or recurring intervention, create a common intervention and convert it into intervention template +Reopen=Reopen +ConfirmReopenIntervention=Are you sure you want to open back the intervention %s? diff --git a/htdocs/langs/zh_HK/productbatch.lang b/htdocs/langs/zh_HK/productbatch.lang index 450d0285819..763af20c6b4 100644 --- a/htdocs/langs/zh_HK/productbatch.lang +++ b/htdocs/langs/zh_HK/productbatch.lang @@ -26,12 +26,10 @@ ShowLogOfMovementIfLot=Show log of movements for couple product/lot StockDetailPerBatch=Stock detail per lot SerialNumberAlreadyInUse=Serial number %s is already used for product %s TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask +CustomMasks=Option to define a different numbering mask for each product +BatchLotNumberingModules=Numbering rule for automatic generation of lot number +BatchSerialNumberingModules=Numbering rule for automatic generation of serial number (for products with property 1 unique lot/serial for each product) QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned LifeTime=Life span (in days) EndOfLife=End of life diff --git a/htdocs/langs/zh_HK/products.lang b/htdocs/langs/zh_HK/products.lang index 9638dfe5a25..fecbe7450c2 100644 --- a/htdocs/langs/zh_HK/products.lang +++ b/htdocs/langs/zh_HK/products.lang @@ -277,7 +277,7 @@ PriceByCustomer=Different prices for each customer PriceCatalogue=A single sell price per product/service PricingRule=Rules for selling prices AddCustomerPrice=Add price by customer -ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +ForceUpdateChildPriceSoc=Set same price on customer's subsidiaries PriceByCustomerLog=Log of previous customer prices MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is: %s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Child products MinSupplierPrice=Minimum buying price MinCustomerPrice=Minimum selling price +NoDynamicPrice=No dynamic price DynamicPriceConfiguration=Dynamic price configuration DynamicPriceDesc=You may define mathematical formulae to calculate Customer or Vendor prices. Such formulas can use all mathematical operators, some constants and variables. You can define here the variables you wish to use. If the variable needs an automatic update, you may define the external URL to allow Dolibarr to update the value automatically. AddVariable=Add Variable diff --git a/htdocs/langs/zh_HK/salaries.lang b/htdocs/langs/zh_HK/salaries.lang index 7c3c08a65bd..12905040b1a 100644 --- a/htdocs/langs/zh_HK/salaries.lang +++ b/htdocs/langs/zh_HK/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accounting account used for user third parties SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=The dedicated accounting account defined on user card will be used for Subledger accounting only. This one will be used for General Ledger and as default value of Subledger accounting if dedicated user accounting account on user is not defined. SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accounting account by default for wage payments +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=By default, leave empty the option "Automatically create a total payment" when creating a Salary Salary=Salary Salaries=Salaries -NewSalaryPayment=New salary payment +NewSalary=New salary +NewSalaryPayment=New salary card AddSalaryPayment=Add salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments +SalariesPaymentsOf=Salaries payments of %s ShowSalaryPayment=Show salary payment THM=Average hourly rate TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate the cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently for information only and is not used for any calculation -LastSalaries=Latest %s salary payments -AllSalaries=All salary payments +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=Salary statistics -# Export SalariesAndPayments=Salaries and payments +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/zh_HK/ticket.lang b/htdocs/langs/zh_HK/ticket.lang index 1da32a5a99e..a1bed39c21d 100644 --- a/htdocs/langs/zh_HK/ticket.lang +++ b/htdocs/langs/zh_HK/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=Ticket - Resolution TicketTypeShortCOM=Commercial question TicketTypeShortHELP=Request for functionnal help -TicketTypeShortISSUE=Issue, bug or problem +TicketTypeShortISSUE=Issue or bug +TicketTypeShortPROBLEM=Problem TicketTypeShortREQUEST=Change or enhancement request TicketTypeShortPROJET=Project TicketTypeShortOTHER=Other @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=Assigned user TypeContact_ticket_external_SUPPORTCLI=Customer contact / incident tracking TypeContact_ticket_external_CONTRIBUTOR=External contributor -OriginEmail=Email source +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=Send ticket message by email # Status Read=Read Assigned=Assigned InProgress=In progress -NeedMoreInformation=Waiting for information +NeedMoreInformation=Waiting for reporter feedback +NeedMoreInformationShort=Waiting for feedback Answered=Answered Waiting=Waiting Closed=Closed @@ -160,7 +162,7 @@ CreatedBy=Created by NewTicket=New Ticket SubjectAnswerToTicket=Ticket answer TicketTypeRequest=Request type -TicketCategory=Group +TicketCategory=Ticket categorization SeeTicket=See ticket TicketMarkedAsRead=Ticket has been marked as read TicketReadOn=Read on @@ -211,6 +213,7 @@ TicketMessageHelp=Only this text will be saved in the message list on ticket car TicketMessageSubstitutionReplacedByGenericValues=Substitutions variables are replaced by generic values. TimeElapsedSince=Time elapsed since TicketTimeToRead=Time elapsed before read +TicketTimeElapsedBeforeSince=Time elapsed before / since TicketContacts=Contacts ticket TicketDocumentsLinked=Documents linked to ticket ConfirmReOpenTicket=Confirm reopen this ticket ? diff --git a/htdocs/langs/zh_HK/users.lang b/htdocs/langs/zh_HK/users.lang index 372090ea5ad..6aeaf128838 100644 --- a/htdocs/langs/zh_HK/users.lang +++ b/htdocs/langs/zh_HK/users.lang @@ -97,8 +97,8 @@ LoginToCreate=Login to create NameToCreate=Name of third party to create YourRole=Your roles YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=No. of users -NbOfPermissions=No. of permissions +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin HierarchicalResponsible=Supervisor HierarchicView=Hierarchical view diff --git a/htdocs/langs/zh_HK/website.lang b/htdocs/langs/zh_HK/website.lang index 1e727415ec2..dc2ec2c0b3d 100644 --- a/htdocs/langs/zh_HK/website.lang +++ b/htdocs/langs/zh_HK/website.lang @@ -31,7 +31,7 @@ AddWebsite=Add website Webpage=Web page/container AddPage=Add page/container PageContainer=Page -PreviewOfSiteNotYetAvailable=Preview of your website %s not yet available. You must first 'Import a full website template' or just 'Add a page/container'. +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=Requested page with id %s has no content yet, or cache file .tpl.php was removed. Edit content of the page to solve this. SiteDeleted=Web site '%s' deleted PageContent=Page/Contenair diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index d7d1e9d7cf5..6b38f18be42 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -37,7 +37,7 @@ UnlockNewSessions=移除連線鎖定 YourSession=您的程序 Sessions=用戶程序 WebUserGroup=網頁伺服器用戶/組別 -PermissionsOnFiles=Permissions on files +PermissionsOnFiles=檔案權限 PermissionsOnFilesInWebRoot=網站根目錄中檔案的權限 PermissionsOnFile=檔案%s的權限 NoSessionFound=您的PHP設定似乎不允許列出活動程序。用於保存程序的資料夾( %s )可能受到保護(例如,通過OS權限或PHP指令open_basedir)。 @@ -53,6 +53,7 @@ InternalUser=內部用戶 ExternalUser=外部用戶 InternalUsers=內部用戶 ExternalUsers=外部用戶 +UserInterface=User interface GUISetup=顯示設定 SetupArea=設定 UploadNewTemplate=上傳新的範本 @@ -221,7 +222,7 @@ NotCompatible=此模組似乎不相容您 Dolibarr %s (適用最低版本 %s - CompatibleAfterUpdate=此模組需要升級您的 Dolibarr %s (最低版本%s -最高版本 %s)。 SeeInMarkerPlace=在市場可以看到 SeeSetupOfModule=請參閱模組%s的設定 -SetOptionTo=Set option %s to %s +SetOptionTo=將選項%s設定為%s Updated=升級 AchatTelechargement=購買 / 下載 GoModuleSetupArea=要部署/安裝新模組,請前往模組設定區域: %s 。 @@ -399,7 +400,7 @@ SecurityToken=安全的網址的金鑰 NoSmsEngine=沒有可用的簡訊發送管理器.由於依賴於外部供應商,所以預設發布版本未安裝簡訊發送管理器,但是您可以在%s上找到它們。 PDF=PDF格式 PDFDesc=生成PDF 的全域選項 -PDFOtherDesc=PDF Option specific to some modules +PDFOtherDesc=某些模組的特別PDF 選項 PDFAddressForging=規則給地址的部分 HideAnyVATInformationOnPDF=隱藏與銷售稅/營業稅相關的所有訊息 PDFRulesForSalesTax=銷售稅 / 營業稅規則 @@ -452,7 +453,7 @@ ExtrafieldParamHelpcheckbox=數值清單必須為含有關鍵字的行,數值 ( ExtrafieldParamHelpradio=數值清單必須為含有關鍵字的行,數值 (關鍵字不能為 '0')

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

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

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

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

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

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

In order to have the list depending on another list:
c_typent:libelle:id:parent_list_code|parent_column:filter -ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
Syntax: ObjectName:Classpath +ExtrafieldParamHelplink=參數必須為ObjectName:Classpath
語法 ObjectName:Classpath ExtrafieldParamHelpSeparator=保持空白以使用簡單的分隔符號
對於折疊分隔符號,將此值設定為1(預設情況下,對於新程序打開,然後為每個用戶程序保留狀態)
將其設定為2可折疊分隔符號(預設情況下,新程序已折疊,然後在每個用戶程序中保持狀態) LibraryToBuildPDF=PDF產生器程式庫 LocalTaxDesc=某些國家/地區可能會對每個發票行使用兩到三種稅收。在這種情況下,請選擇第二種和第三種稅率的類型及其稅率。可能的類型是:
1:不含營業稅的產品和服務應繳納地方稅(地方稅是根據不含稅的金額計算的)
2:適用於包括營業稅在內的產品和服務的地方稅(地方稅按金額+主稅計算)
3:不含營業稅的產品應繳納地方稅(地方稅是按不含稅的金額計算的)
4:包括營業稅在內的產品均需繳納地方稅(地方稅是按金額+主營業稅計算的)
5:不加營業稅的服務應繳納地方稅(地方稅是按不含稅的金額計算的)
6:包括營業稅在內的服務需要繳納地方稅(地方稅是按金額+稅額計算的) @@ -548,7 +549,7 @@ Module40Desc=供應商和採購管理(採購訂單和供應商發票開票) Module42Name=除錯日誌 Module42Desc=日誌記錄 (file, syslog, ...)。這些日誌是針對技術性以及除錯用途。 Module43Name=除錯列 -Module43Desc=A tool for developper adding a debug bar in your browser. +Module43Desc=開發人員用來增加瀏覽器除錯欄的工具。 Module49Name=編輯器 Module49Desc=編輯器管理 Module50Name=產品 @@ -562,7 +563,7 @@ Module53Desc=服務管理 Module54Name=合約/訂閱 Module54Desc=合約管理(服務或定期訂閱) Module55Name=條碼 -Module55Desc=Barcode or QR code management +Module55Desc=條碼或QR code管理 Module56Name=信用轉帳付款 Module56Desc=Management of payment of suppliers by Credit Transfer orders. It includes generation of SEPA file for European countries. Module57Name=銀行直接轉帳付款 @@ -648,13 +649,13 @@ Module2900Desc=GeoIP Maxmind轉換功能 Module3200Name=不可改變的檔案 Module3200Desc=啟用不可更改的商業事件日誌。事件是即時存檔的。日誌是可以匯出的鍊式事件的唯讀表格。在某些國家/地區,此模組可能是必需的。 Module3400Name=社群網路 -Module3400Desc=Enable Social Networks fields into third parties and addresses (skype, twitter, facebook, ...). +Module3400Desc=啟用合作方與地址的社群網路欄位 (skype, twitter, facebook, ...). Module4000Name=人資 Module4000Desc=人力資源管理(部門、員工合約及感受的管理) Module5000Name=多重公司 Module5000Desc=允許您管理多重公司 -Module6000Name=Inter-modules Workflow -Module6000Desc=Workflow management between different modules (automatic creation of object and/or automatic status change) +Module6000Name=內部模組工作流程 +Module6000Desc=模組工作流管理(自動建立項目和/或自動更改狀態) Module10000Name=網站 Module10000Desc=使用所見即所得編輯器建立網站(公共)。這是一個面向網站管理員或面向開發人員的CMS(最好了解HTML和CSS語言)。只需將您的Web伺服器(Apache,Nginx等)設定為指向專用的Dolibarr資料夾,即可使用您自己的網域名稱在Internet上連線。 Module20000Name=休假申請管理 @@ -849,10 +850,10 @@ Permission402=建立/修改折扣 Permission403=驗證折扣 Permission404=刪除折扣 Permission430=使用除錯欄 -Permission511=Read salaries and payments (yours and subordinates) -Permission512=Create/modify salaries and payments -Permission514=Delete salaries and payments -Permission517=Read salaries and payments everybody +Permission511=讀取薪資支付(您和您的下屬) +Permission512=建立/修改薪資資和付款 +Permission514=刪除薪資和付款 +Permission517=讀取每個人的薪資支付 Permission519=匯出薪水 Permission520=讀取借款 Permission522=建立/修改借款 @@ -1047,7 +1048,7 @@ DictionaryOpportunityStatus=專案/潛在的潛在狀態 DictionaryExpenseTaxCat=費用報表 -交通類別 DictionaryExpenseTaxRange=費用報表 - 依交通類別劃分範圍 DictionaryTransportMode=通訊報告-傳送模式 -DictionaryBatchStatus=Product lot/serial Quality Control status +DictionaryBatchStatus=產品批號/序號品質控制狀態 TypeOfUnit=單位類型 SetupSaved=設定已儲存 SetupNotSaved=設定未儲存 @@ -1191,7 +1192,7 @@ SetupDescription4=  %s-> %s

此軟體是許多模組 SetupDescription5=其他設定選單項目管理可選參數。 AuditedSecurityEvents=已審計的安全性事件 NoSecurityEventsAreAduited=無已審計的安全性事件。您可以啟用從選單 %s -Audit=Security events +Audit=安全事件 InfoDolibarr=關於 Dolibarr InfoBrowser=關於瀏覽器 InfoOS=關於作業系統 @@ -1260,8 +1261,8 @@ YourPHPDoesNotHaveSSLSupport=您的PHP中無法使用SSL功能 DownloadMoreSkins=更多佈景主題下載 SimpleNumRefModelDesc=Returns the reference number in the format %syymm-nnnn where yy is the year, mm is the month and nnnn is a sequential auto-incrementing number with no reset SimpleNumRefNoDateModelDesc=Returns the reference number in the format %s-nnnn where nnnn is a sequential auto-incrementing number with no reset -ShowProfIdInAddress=顯示帶有地址的專業ID -ShowVATIntaInAddress=隱藏帶有地址的歐盟營業稅號 +ShowProfIdInAddress=Show professional ID with addresses +ShowVATIntaInAddress=Hide intra-Community VAT number TranslationUncomplete=部分翻譯 MAIN_DISABLE_METEO=停用氣象顯示 MeteoStdMod=標準模式 @@ -1326,9 +1327,9 @@ NbOfObjectIsLowerThanNoPb=您的資料庫中有%s %s。這不需要任何特定 ComboListOptim=組合清單載入優化 SearchOptim=搜尋最佳化 YouHaveXObjectUseComboOptim=您有 %s %s 在資料庫內。您可以進入模組設定以啟用在按鍵事件上加載組合清單。 -YouHaveXObjectUseSearchOptim=You have %s %s in the database. You can add the constant %s to 1 in Home-Setup-Other. +YouHaveXObjectUseSearchOptim=您的資料庫中有%s %s。您應該在首頁-設定-其他中的%s增加常數1。 YouHaveXObjectUseSearchOptimDesc=This limits the search to the beginning of strings which makes it possible for the database to use indexes and you should get an immediate response. -YouHaveXObjectAndSearchOptimOn=You have %s %s in the database and constant %s is set to %s in Home-Setup-Other. +YouHaveXObjectAndSearchOptimOn=您在資料庫中有%s %s,並且在首頁-設定-其他中,常數%s設定為%s。 BrowserIsOK=您正在使用%s 網頁瀏覽器。此瀏覽器可以確保安全性和性能。 BrowserIsKO=您正在使用%s 網頁瀏覽器。眾所周知,此瀏覽器是安全性,性能和可靠性的錯誤選擇。我們建議使用Firefox,Chrome,Opera或Safari。 PHPModuleLoaded=PHP組件%s已載入 @@ -1440,10 +1441,10 @@ MemberMainOptions=主要選項 AdherentLoginRequired= 管理每位會員登入 AdherentMailRequired=建立新會員需要電子郵件 MemberSendInformationByMailByDefault=已勾選預設傳送電子郵件驗證成員(驗證或新訂閲) -MemberCreateAnExternalUserForSubscriptionValidated=Create an external user login for each new member subscription validated +MemberCreateAnExternalUserForSubscriptionValidated=為每個經過驗證的新會員訂閱建立一個外部用戶帳號 VisitorCanChooseItsPaymentMode=訪客可以選擇可用的付款方式 MEMBER_REMINDER_EMAIL=以電子郵件啟動自動提醒過期的訂閱。注意:必須啟用模組%s並正確設定才能發送提醒。 -MembersDocModules=Document templates for documents generated from member record +MembersDocModules=從會員記錄產生文件的文件模板 ##### LDAP setup ##### LDAPSetup=LDAP 設定 LDAPGlobalParameters=全域參數 @@ -1525,7 +1526,7 @@ LDAPFieldLoginUnix=登入(Unix系統) LDAPFieldLoginExample=範例: uid LDAPFilterConnection=搜尋過濾器 LDAPFilterConnectionExample=範例: &(objectClass=inetOrgPerson) -LDAPGroupFilterExample=Example: &(objectClass=groupOfUsers) +LDAPGroupFilterExample=範例: &(objectClass=groupOfUsers) LDAPFieldLoginSamba=登入 (samba, activedirectory) LDAPFieldLoginSambaExample=範例: samaccountname LDAPFieldFullname=全名 @@ -1619,9 +1620,9 @@ ServiceSetup=服務模組設定 ProductServiceSetup=產品和服務模組設定 NumberOfProductShowInSelect=組合選擇清單中可顯示的最大產品數量(0 =無限制) ViewProductDescInFormAbility=在表格中顯示產品描述(否則在工具提示彈出窗口中顯示) -DoNotAddProductDescAtAddLines=Do not add product description (from product card) on submit add lines on forms -OnProductSelectAddProductDesc=How to use the description of the products when adding a product as a line of a document -AutoFillFormFieldBeforeSubmit=Auto fill the description input field with the description of product +DoNotAddProductDescAtAddLines=不要在表單上增加行時加入產品描述(從產品卡中) +OnProductSelectAddProductDesc=從文件當中增加一個產品行時如何使用產品描述 +AutoFillFormFieldBeforeSubmit=自動將產品描述填入描述輸入欄位 DoNotAutofillButAutoConcat=Do not autofill the input field with description of product. Description of the product will be concatenated to the entered description automatically. DoNotUseDescriptionOfProdut=Description of the product will never be included into the description of lines of documents MergePropalProductCard=若產品/服務在提案/建議書內,啟動產品/服務中附件檔分頁選項以將產品 PDF 文件整合成報價/建議書/提案的 azur 格式 PDF @@ -1778,7 +1779,7 @@ ClickToDialSetup=點擊撥號模組設定 ClickToDialUrlDesc=當點選電話圖示時則呼叫網址。在網址中,你可使用標籤
__PHONETO__,他可取代個人撥打的電話號碼
__PHONEFROM__,他可以取代個人的電話號碼(您自己的)
__LOGIN__,他可以取代點選撥打登錄(在用戶卡中定義)
__PASS__,他可以取代點選撥打密碼(在用戶卡中定義)。 ClickToDialDesc=This module change phone numbers, when using a desktop computer, into clickable links. A click will call the number. This can be used to start the phone call when using a soft phone on your desktop or when using a CTI system based on SIP protocol for example. Note: When using a smartphone, phone numbers are always clickable. ClickToDialUseTelLink=在電話號碼中使用 "tel:" 連線 -ClickToDialUseTelLinkDesc=若您的用戶有智慧型手機或是在同一台電腦上已有通訊軟體時使用此方法,則當您在瀏覽器上點選時將連線到 "tel:" 進行呼叫。若您需要完整服務的解決方案(不需要安裝軟體到本機中),您必須設定為 "否" 及填寫下一欄位。 +ClickToDialUseTelLinkDesc=Use this method if your users have a softphone or a software interface, installed on the same computer as the browser, and called when you click on a link starting with "tel:" in your browser. If you need link that start with "sip:" or a full server solution (no need of local software installation), you must set this to "No" and fill next field. ##### Point Of Sale (CashDesk) ##### CashDesk=銷售點 CashDeskSetup=銷售點模組設定 @@ -2035,7 +2036,7 @@ NbOfEmailsInInbox=來源資料夾中的電子郵件數量 LoadThirdPartyFromName=在%s載入合作方搜尋 (僅載入) LoadThirdPartyFromNameOrCreate= 在%s載入合作方搜尋 (如果找不到就建立) WithDolTrackingID=來自Dolibarr寄送的第一封電子郵件發起的對話訊息 -WithoutDolTrackingID=Message from a conversation initiated by a first email NOT sent from Dolibarr +WithoutDolTrackingID=來自第一封電子郵件發起的對話的訊息不是從 Dolibarr 發送的 WithDolTrackingIDInMsgId=來自Dolibarr的訊息 WithoutDolTrackingIDInMsgId=未從Dolibarr傳送訊息 CreateCandidature=建立工作應用程式 @@ -2052,7 +2053,7 @@ DisabledResourceLinkContact=停用資源連結到通訊錄的功能 EnableResourceUsedInEventCheck=啟用功能以檢查事件中是否正在使用資源 ConfirmUnactivation=確認重設模組 OnMobileOnly=只在小螢幕(智慧型手機) -DisableProspectCustomerType=Disable the "Prospect + Customer" third party type (so third party must be "Prospect" or "Customer", but can't be both) +DisableProspectCustomerType=禁用“潛在+客戶”合作方類型(因此合作方必須是“潛在”或“客戶”,但不能同時使用兩種類型) MAIN_OPTIMIZEFORTEXTBROWSER=盲人簡化界面 MAIN_OPTIMIZEFORTEXTBROWSERDesc=如果您是盲人,或者通過Lynx或Links等文字瀏覽器使用此應用程式,請啟用此選項。 MAIN_OPTIMIZEFORCOLORBLIND=為色盲更改界面顏色 @@ -2074,11 +2075,11 @@ UseDebugBar=使用debug bar DEBUGBAR_LOGS_LINES_NUMBER=控制台中可保留的日誌行數 WarningValueHigherSlowsDramaticalyOutput=警告,較高的值會嚴重降低輸出速度 ModuleActivated=模組%s已啟動並顯示於界面上 -ModuleActivatedWithTooHighLogLevel=Module %s is activated with a too high logging level (try to use a lower level for better performances and security) -ModuleSyslogActivatedButLevelNotTooVerbose=Module %s is activated and log level (%s) is correct (not too verbose) +ModuleActivatedWithTooHighLogLevel=模組 %s 使用過高的日誌記錄等級啟用(嘗試使用較低的等級以獲得更好的性能和安全性) +ModuleSyslogActivatedButLevelNotTooVerbose=模組%s已啟用並且日誌等級(%s)正確(不會太冗長) IfYouAreOnAProductionSetThis=如果您在生產環境中,則應將此屬性設定為%s。 AntivirusEnabledOnUpload=在上傳的檔案已啟用了防病毒功能 -SomeFilesOrDirInRootAreWritable=Some files or directories are not in a read-only mode +SomeFilesOrDirInRootAreWritable=某些檔案或目錄不是唯讀模式 EXPORTS_SHARE_MODELS=匯出模組功能可分享此模組給所有人 ExportSetup=模組匯出設定 ImportSetup=模組匯入設定 @@ -2102,8 +2103,8 @@ MakeAnonymousPing=對Dolibarr基金會服務器進行匿名Ping'+1'(僅在安 FeatureNotAvailableWithReceptionModule=啟用接收模組後,此功能不可用 EmailTemplate=電子郵件模板 EMailsWillHaveMessageID=電子郵件將具有與此語法匹配的標籤“參考” -PDF_SHOW_PROJECT=Show project on document -ShowProjectLabel=Project Label +PDF_SHOW_PROJECT=在文件中顯示專案 +ShowProjectLabel=專案標籤 PDF_USE_ALSO_LANGUAGE_CODE=如果您要在生成同一的PDF中以兩種不同的語言複製一些文字,則必須在此處設置第二種語言讓生成的PDF在同一頁中包含兩種不同的語言,選擇的可以用來生成PDF跟另一種語言(只有少數PDF模板支援此功能)。PDF只有一種語言則留空。 FafaIconSocialNetworksDesc=在此處輸入FontAwesome圖示的代碼。如果您不知道什麼是FontAwesome,則可以使用通用值fa-address-book。 RssNote=注意:每個RSS feed定義都提供一個小部件,您必須啟用該小部件才能使其在儀表板中看到 @@ -2118,29 +2119,32 @@ SwitchThisForABetterSecurity=建議將此值變更為%s以提高安全性 DictionaryProductNature= 產品性質 CountryIfSpecificToOneCountry=國家(如果特定於給定國家) YouMayFindSecurityAdviceHere=您可以在這裡找到安全建議 -ModuleActivatedMayExposeInformation=This PHP extension may expose sensitive data. If you don't need it, disable it. -ModuleActivatedDoNotUseInProduction=A module designed for the development has been enabled. Do not enable it on a production environment. +ModuleActivatedMayExposeInformation=這個 PHP外掛可能會暴露敏感資料。如果您不需要它,請關閉它。 +ModuleActivatedDoNotUseInProduction=為研發所設計的一個模組已經啟用。請不要在正式生產環境中使用。 CombinationsSeparator=產品組合的分隔符號 SeeLinkToOnlineDocumentation=有關範例,請參見選單上的線上文件連結。 -SHOW_SUBPRODUCT_REF_IN_PDF=If the feature "%s" of module %s is used, show details of subproducts of a kit on PDF. +SHOW_SUBPRODUCT_REF_IN_PDF=如果使用模組%s中的"%s"功能,在PDF中顯示kit的子產品詳細資料 AskThisIDToYourBank=請聯絡您的銀行以獲取此ID -AdvancedModeOnly=Permision available in Advanced permission mode only -ConfFileIsReadableOrWritableByAnyUsers=The conf file is readable or writable by any users. Give permission to web server user and group only. -MailToSendEventOrganization=Event Organization -AGENDA_EVENT_DEFAULT_STATUS=Default event status when creating a event from the form -YouShouldDisablePHPFunctions=You should disable PHP functions -IfCLINotRequiredYouShouldDisablePHPFunctions=Except if you need to run system commands in custom code, you shoud disable PHP functions -PHPFunctionsRequiredForCLI=For shell purpose (like scheduled job backup or running an anitivurs program), you must keep PHP functions -NoWritableFilesFoundIntoRootDir=No writable files or directories of the common programs were found into your root directory (Good) -RecommendedValueIs=Recommended: %s -NotRecommended=Not recommanded -ARestrictedPath=A restricted path -CheckForModuleUpdate=Check for external modules updates -CheckForModuleUpdateHelp=This action will connect to editors of external modules to check if a new version is available. -ModuleUpdateAvailable=An update is available -NoExternalModuleWithUpdate=No updates found for external modules -SwaggerDescriptionFile=Swagger API description file (for use with redoc for example) -YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=You enabled deprecated WS API. You should use REST API instead. -RandomlySelectedIfSeveral=Randomly selected if several pictures are available -DatabasePasswordObfuscated=Database password is obfuscated in conf file -DatabasePasswordNotObfuscated=Database password is NOT obfuscated in conf file +AdvancedModeOnly=僅在進階權限模式下可用的權限 +ConfFileIsReadableOrWritableByAnyUsers=conf 檔案可由任何用戶讀取或寫入。請變更為Web伺服器用戶和群組擁有權限。 +MailToSendEventOrganization=事件組織 +AGENDA_EVENT_DEFAULT_STATUS=從表單建立事件時預設的事件狀態 +YouShouldDisablePHPFunctions=您應該停用 PHP 功能 +IfCLINotRequiredYouShouldDisablePHPFunctions=除非您需要在自定義代碼中執行系統命令,否則您應該停用 PHP 功能 +PHPFunctionsRequiredForCLI=對於 shell 目的(如計劃備份工作或執行掃毒程式),您必須保留 PHP 功能 +NoWritableFilesFoundIntoRootDir=在您的根目錄中找不到一般程式可寫入的檔案或目錄(好) +RecommendedValueIs=建議:%s +Recommended=推薦的 +NotRecommended=Not recommended +ARestrictedPath=受限路徑 +CheckForModuleUpdate=檢查外部模組更新 +CheckForModuleUpdateHelp=此操作將連接到外部模組的編輯器以檢查是否有新版本。 +ModuleUpdateAvailable=有可用的更新 +NoExternalModuleWithUpdate=未找到外部模組的更新 +SwaggerDescriptionFile=Swagger API 描述檔案(例如用於 redoc) +YouEnableDeprecatedWSAPIsUseRESTAPIsInstead=您啟用了已棄用的 WS API。您應該改用 REST API。 +RandomlySelectedIfSeveral=有多張圖片時隨機選擇 +DatabasePasswordObfuscated=資料庫密碼在conf檔案中為加密 +DatabasePasswordNotObfuscated=資料庫密碼在conf檔案中不是加密 +APIsAreNotEnabled=未啟用 API 模組 +YouShouldSetThisToOff=您應該將此設定為 0 或off diff --git a/htdocs/langs/zh_TW/agenda.lang b/htdocs/langs/zh_TW/agenda.lang index 9b4f589916b..0995ebd2ab4 100644 --- a/htdocs/langs/zh_TW/agenda.lang +++ b/htdocs/langs/zh_TW/agenda.lang @@ -4,7 +4,7 @@ Actions=事件 Agenda=應辦事項 TMenuAgenda=應辦事項 Agendas=應辦事項 -LocalAgenda=Default calendar +LocalAgenda=預設行事曆 ActionsOwnedBy=事件承辦人 ActionsOwnedByShort=承辦人 AffectedTo=指定給 @@ -20,7 +20,7 @@ MenuToDoActions=全部未完成事件 MenuDoneActions=全部已停止事件 MenuToDoMyActions=我的未完成事件 MenuDoneMyActions=我的已停止事件 -ListOfEvents=List of events (default calendar) +ListOfEvents=事件清單(預設行事曆) ActionsAskedBy=誰的事件報表 ActionsToDoBy=事件指定給 ActionsDoneBy=由誰完成事件 @@ -38,7 +38,7 @@ ActionsEvents=Dolibarr 會在待辦事項中自動建立行動事件 EventRemindersByEmailNotEnabled=電子郵件事件提醒未在%s模組設定中啟用。 ##### Agenda event labels ##### NewCompanyToDolibarr=合作方 %s 已建立 -COMPANY_MODIFYInDolibarr=Third party %s modified +COMPANY_MODIFYInDolibarr= 合作方%s已變更 COMPANY_DELETEInDolibarr=合作方%s已刪除 ContractValidatedInDolibarr=合約 %s 已驗證 CONTRACT_DELETEInDolibarr=合約%s已刪除 @@ -88,7 +88,7 @@ OrderDeleted=訂單已刪除 InvoiceDeleted=發票已刪除 DraftInvoiceDeleted=發票草稿已刪除 CONTACT_CREATEInDolibarr=聯絡人%s已建立 -CONTACT_MODIFYInDolibarr=Contact %s modified +CONTACT_MODIFYInDolibarr=聯絡人%s已變更 CONTACT_DELETEInDolibarr=聯絡人%s已刪除 PRODUCT_CREATEInDolibarr=產品 %s 已建立 PRODUCT_MODIFYInDolibarr=產品 %s 已修改 @@ -121,7 +121,7 @@ MRP_MO_UNVALIDATEInDolibarr=MO已設定為草稿狀態 MRP_MO_PRODUCEDInDolibarr=MO已生產 MRP_MO_DELETEInDolibarr=MO已刪除 MRP_MO_CANCELInDolibarr=MO已取消 -PAIDInDolibarr=%s paid +PAIDInDolibarr=%s已付款 ##### End agenda events ##### AgendaModelModule=事件的文件範本 DateActionStart=開始日期 @@ -133,7 +133,7 @@ AgendaUrlOptions4=logint = %s將限制輸出分配給用戶%s ( AgendaUrlOptionsProject=project=PROJECT_ID 將限制輸出為已連結專案操作 PROJECT_ID. AgendaUrlOptionsNotAutoEvent=notactiontype = systemauto排除自動事件。 AgendaUrlOptionsIncludeHolidays=設定includeholidays=1以包括假期活動。 -AgendaShowBirthdayEvents=Birthdays of contacts +AgendaShowBirthdayEvents=聯絡人生日 AgendaHideBirthdayEvents=隱藏連絡人生日 Busy=忙錄 ExportDataset_event1=待辦行程事件清單 diff --git a/htdocs/langs/zh_TW/banks.lang b/htdocs/langs/zh_TW/banks.lang index 6465e10a452..28729c4b7e7 100644 --- a/htdocs/langs/zh_TW/banks.lang +++ b/htdocs/langs/zh_TW/banks.lang @@ -115,7 +115,7 @@ TransferTo=至 TransferFromToDone=從%s%s%s%s轉帳已記錄。 CheckTransmitter=寄件人 ValidateCheckReceipt=驗證此支票收據 -ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes are possible it's done. +ConfirmValidateCheckReceipt=Are you sure that you want to submit this check receipt for validation? No changes will be possible once validated. DeleteCheckReceipt=刪除支票收據? ConfirmDeleteCheckReceipt=您確認定您要刪除此張支票收據? BankChecks=銀行支票 @@ -128,7 +128,7 @@ ConfirmDeleteTransaction=您確定要刪除此筆條目 ThisWillAlsoDeleteBankRecord=同樣也會刪除已產生的銀行條目 BankMovements=動作 PlannedTransactions=已計畫的條目 -Graph=Graphs +Graph=圖表 ExportDataset_banque_1=銀行條目和帳戶對帳單 ExportDataset_banque_2=存款單 TransactionOnTheOtherAccount=在其他帳戶的交易 diff --git a/htdocs/langs/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index a3478b05742..eba5290bb5f 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -82,8 +82,8 @@ PaymentsAlreadyDone=付款已完成 PaymentsBackAlreadyDone=退款已完成 PaymentRule=付款條件 PaymentMode=付款類型 -DefaultPaymentMode=Default Payment Type -DefaultBankAccount=Default Bank Account +DefaultPaymentMode=預設付款類型 +DefaultBankAccount=預設銀行帳戶 PaymentTypeDC=借/貸卡片 PaymentTypePP=PayPal IdPaymentMode=付款類型 (id) @@ -120,7 +120,7 @@ ConvertExcessPaidToReduc=將超額付款轉換為可用折扣 EnterPaymentReceivedFromCustomer=輸入從客戶收到的付款 EnterPaymentDueToCustomer=應付客戶款項 DisabledBecauseRemainderToPayIsZero=已關閉,因為剩餘的未付餘額為零 -PriceBase=Base price +PriceBase=基本價格 BillStatus=發票狀態 StatusOfGeneratedInvoices=已產生發票的狀態 BillStatusDraft=草稿(等待驗證) @@ -259,7 +259,7 @@ DateMaxPayment=付款到期日 DateInvoice=發票日期 DatePointOfTax=稅點 NoInvoice=沒有發票 -NoOpenInvoice=No open invoice +NoOpenInvoice=沒有未開發票 ClassifyBill=分類發票 SupplierBillsToPay=未付款的供應商發票 CustomerBillsUnpaid=尚未付款的客戶發票 @@ -377,7 +377,7 @@ DateLastGeneration=最新的產生日期 DateLastGenerationShort=最新的產生日期 MaxPeriodNumber=產生發票的最大數量 NbOfGenerationDone=已經產生完成的發票數量 -NbOfGenerationOfRecordDone=Number of record generation already done +NbOfGenerationOfRecordDone=已經完成的產生記錄數量 NbOfGenerationDoneShort=已產生完成發票數 MaxGenerationReached=已達到最大產生數量 InvoiceAutoValidate=自動驗證發票 @@ -455,7 +455,7 @@ RegulatedOn=規範於 ChequeNumber=支票編號 ChequeOrTransferNumber=支票/轉移編號 ChequeBordereau=支票行事曆 -ChequeMaker=Check/Transfer sender +ChequeMaker=支票/轉帳發件人 ChequeBank=支票銀行 CheckBank=支票 NetToBePaid=要支付的淨額 @@ -521,7 +521,7 @@ YouMustCreateStandardInvoiceFirstDesc=您必須先建立標準發票,然後將 PDFCrabeDescription=發票PDF範本Crabe。完整的發票範本(Sponge範本的舊範本) PDFSpongeDescription=發票PDF範本Sponge。完整的發票範本 PDFCrevetteDescription=發票PDF範本Crevette。狀況發票的完整發票範本 -TerreNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 +TerreNumRefModelDesc1=標準發票在格式%syymm-nnnn的退回編號和信用票據格式%syymm-nnnn中yy為年,mm為月,nnnn是一個連續自動遞增沒有中斷的數字而且不為0 MarsNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for down payment invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 TerreNumRefModelError=以$ syymm開頭的帳單已經存在,並且與該序列模型不符合。將其刪除或重新命名以啟動此模組。 CactusNumRefModelDesc1=Return number in the format %syymm-nnnn for standard invoices, %syymm-nnnn for credit notes and %syymm-nnnn for down payment invoices where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0 @@ -590,4 +590,4 @@ FacParentLine=發票的母行 SituationTotalRayToRest=剩下的不含稅 PDFSituationTitle=情況n°%d SituationTotalProgress=總進度%d %% -SearchUnpaidInvoicesWithDueDate=Search unpaid invoices with a due date = %s +SearchUnpaidInvoicesWithDueDate=搜尋到期日 = %s 的未付款發票 diff --git a/htdocs/langs/zh_TW/boxes.lang b/htdocs/langs/zh_TW/boxes.lang index d093fea93e2..7d7b10a0714 100644 --- a/htdocs/langs/zh_TW/boxes.lang +++ b/htdocs/langs/zh_TW/boxes.lang @@ -18,13 +18,13 @@ BoxLastActions=最新活動 BoxLastContracts=最新合約 BoxLastContacts=最新通訊錄/地址 BoxLastMembers=最新會員 -BoxLastModifiedMembers=Latest modified members -BoxLastMembersSubscriptions=Latest member subscriptions +BoxLastModifiedMembers=最新已修改會員 +BoxLastMembersSubscriptions=最新會員訂閱 BoxFicheInter=最新干預 BoxCurrentAccounts=開啟帳戶餘額 BoxTitleMemberNextBirthdays=本月生日(會員) -BoxTitleMembersByType=Members by type -BoxTitleMembersSubscriptionsByYear=Members Subscriptions by year +BoxTitleMembersByType=依類型會員 +BoxTitleMembersSubscriptionsByYear=依年份會員訂閱 BoxTitleLastRssInfos=來自%s的最新%s筆消息 BoxTitleLastProducts=產品/服務:最新%s筆已修改 BoxTitleProductsAlertStock=產品:庫存警報 @@ -32,8 +32,8 @@ BoxTitleLastSuppliers=最新%s位已記錄供應商 BoxTitleLastModifiedSuppliers=供應商:最新的%s位已修改 BoxTitleLastModifiedCustomers=客戶:最新%s位已修改 BoxTitleLastCustomersOrProspects=最新%s位客戶或潛在方 -BoxTitleLastCustomerBills=最近%s修改的客戶發票 -BoxTitleLastSupplierBills=最近%s修改的供應商發票 +BoxTitleLastCustomerBills=最新%s張已修改客戶發票 +BoxTitleLastSupplierBills=最新%s張已修改的供應商發票 BoxTitleLastModifiedProspects=潛在方:最新%s位已修改 BoxTitleLastModifiedMembers=最新%s位會員 BoxTitleLastFicheInter=最新%s筆已修改干預措施 @@ -46,11 +46,11 @@ BoxMyLastBookmarks=書籤:最新%s筆 BoxOldestExpiredServices=最舊的活動已過期服務 BoxLastExpiredServices=具有活動已過期服務的最新%s位最早聯絡人 BoxTitleLastActionsToDo=最新%s次動作 -BoxTitleLastContracts=Latest %s contracts which were modified -BoxTitleLastModifiedDonations=Latest %s donations which were modified -BoxTitleLastModifiedExpenses=Latest %s expense reports which were modified -BoxTitleLatestModifiedBoms=Latest %s BOMs which were modified -BoxTitleLatestModifiedMos=Latest %s Manufacturing Orders which were modified +BoxTitleLastContracts=最新%s位聯絡人已修改 +BoxTitleLastModifiedDonations=最新%s筆捐款已修改 +BoxTitleLastModifiedExpenses=最新%s筆費用報表已修改 +BoxTitleLatestModifiedBoms=最新%s筆BOM已修改 +BoxTitleLatestModifiedMos=最新%s筆生產訂單已修改 BoxTitleLastOutstandingBillReached=超過最大未償還額的客戶 BoxGlobalActivity=全球活動(發票、提案/建議書、訂單) BoxGoodCustomers=好客戶 @@ -91,8 +91,8 @@ BoxTitleLatestModifiedSupplierOrders=供應商訂單:最後修改的%s筆 BoxTitleLastModifiedCustomerBills=客戶發票:最後修改的%s張 BoxTitleLastModifiedCustomerOrders=銷售訂單:最後修改的%s筆 BoxTitleLastModifiedPropals=最新%s筆修改的提案/建議書 -BoxTitleLatestModifiedJobPositions=最新已修改的工作%s -BoxTitleLatestModifiedCandidatures=最新已修改的候選人%s +BoxTitleLatestModifiedJobPositions=最新%s筆已修改的工作職位 +BoxTitleLatestModifiedCandidatures=最新%s筆已修改的工作申請 ForCustomersInvoices=客戶發票 ForCustomersOrders=客戶訂單 ForProposals=提案/建議書 @@ -112,9 +112,9 @@ BoxTitleLastCustomerShipments=最新%s筆客戶發貨 NoRecordedShipments=沒有已記錄的客戶發貨 BoxCustomersOutstandingBillReached=達到最大客戶數 # Pages -UsersHome=Home users and groups -MembersHome=Home Membership -ThirdpartiesHome=Home Thirdparties -TicketsHome=Home Tickets -AccountancyHome=Home Accountancy +UsersHome=使用者與群組首頁 +MembersHome=會員首頁 +ThirdpartiesHome=合作方首頁 +TicketsHome=服務單首頁 +AccountancyHome=會計首頁 ValidatedProjects=已驗證的專案 diff --git a/htdocs/langs/zh_TW/cashdesk.lang b/htdocs/langs/zh_TW/cashdesk.lang index 76a92cdbec5..9aff2e91dae 100644 --- a/htdocs/langs/zh_TW/cashdesk.lang +++ b/htdocs/langs/zh_TW/cashdesk.lang @@ -41,8 +41,8 @@ Floor=樓 AddTable=新增表格 Place=地點 TakeposConnectorNecesary=需要“ TakePOS連接器” -OrderPrinters=Add a button to send the order to some given printers, without payment (for example to send an order to a kitchen) -NotAvailableWithBrowserPrinter=Not available when printer for receipt is set to browser: +OrderPrinters=增加一個按鈕將訂單傳送到某些特定的印表機,無需付款(例如將訂單傳送到廚房) +NotAvailableWithBrowserPrinter=當收據印表機設定為瀏覽器時不可用: SearchProduct=搜尋商品 Receipt=收據 Header=頁首 @@ -57,9 +57,9 @@ Paymentnumpad=輸入付款的便籤類型 Numberspad=號碼便籤 BillsCoinsPad=硬幣和紙幣便籤 DolistorePosCategory=用於Dolibarr的TakePOS模組與其他POS解決方案 -TakeposNeedsCategories=TakePOS needs at least one product categorie to work -TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS needs at least 1 product category under the category %s to work -OrderNotes=Can add some notes to each ordered items +TakeposNeedsCategories=TakePOS 需要至少一個產品類別才能正常使用 +TakeposNeedsAtLeastOnSubCategoryIntoParentCategory=TakePOS 需要在類別 %s 下至少有 1 個產品類別才能正常使用 +OrderNotes=可以為每個訂購的項目增加一些註解 CashDeskBankAccountFor=用於付款的預設帳戶 NoPaimementModesDefined=在 TakePOS 設定中未定義付款方式 TicketVatGrouped=按銷售單中的費率合計營業稅 @@ -84,7 +84,7 @@ InvoiceIsAlreadyValidated=發票已通過驗證 NoLinesToBill=無計費項目 CustomReceipt=自訂收據 ReceiptName=收據名稱 -ProductSupplements=Manage supplements of products +ProductSupplements=管理產品的補充 SupplementCategory=補充品類別 ColorTheme=顏色主題 Colorful=彩色 @@ -94,7 +94,7 @@ Browser=瀏覽器 BrowserMethodDescription=簡易列印收據。僅需幾個參數即可設定收據。通過瀏覽器列印。 TakeposConnectorMethodDescription=具有附加功能的外部模組。可以從雲端列印。 PrintMethod=列印方式 -ReceiptPrinterMethodDescription=Powerful method with a lot of parameters. Full customizable with templates. The server hosting the application can't be in the Cloud (must be able to reach the printers in your network). +ReceiptPrinterMethodDescription=具有大量參數的強大方法。完全可定制的模板。程式的伺服器不能位於雲端當中(必須能夠使用您網路中的印表機)。 ByTerminal=依照站台 TakeposNumpadUsePaymentIcon=在小鍵盤的付款按鈕上使用圖示而不是文字 CashDeskRefNumberingModules=POS銷售編號模組 @@ -102,7 +102,7 @@ CashDeskGenericMaskCodes6 =
{TN} 標籤用於增加站台 TakeposGroupSameProduct=群組相同產品線 StartAParallelSale=開啟新的平行銷售 SaleStartedAt=銷售開始於%s -ControlCashOpening=Open the "Control cash" popup when opening the POS +ControlCashOpening=開啟POS時跳出"控制收銀" CloseCashFence=關閉收銀台控制 CashReport=現金報告 MainPrinterToUse=要使用的主印表機 @@ -126,5 +126,5 @@ ModuleReceiptPrinterMustBeEnabled=必須先啟用收據印表機模組 AllowDelayedPayment=允許延遲付款 PrintPaymentMethodOnReceipts=在收據上列印付款方式 WeighingScale=秤重 -ShowPriceHT = Display the column with the price excluding tax (on screen) -ShowPriceHTOnReceipt = Display the column with the price excluding tax (on receipt) +ShowPriceHT = 顯示不包含稅金的欄位(在畫面中) +ShowPriceHTOnReceipt = 顯示不含稅價格的欄位(在收據上) diff --git a/htdocs/langs/zh_TW/commercial.lang b/htdocs/langs/zh_TW/commercial.lang index 52b15faf976..23b593d727a 100644 --- a/htdocs/langs/zh_TW/commercial.lang +++ b/htdocs/langs/zh_TW/commercial.lang @@ -29,8 +29,8 @@ ShowCustomer=顯示客戶 ShowProspect=顯示潛在方 ListOfProspects=潛在方清單 ListOfCustomers=客戶清單 -LastDoneTasks=最新%s完成的行動 -LastActionsToDo=最舊%s未完成的行動 +LastDoneTasks=最新%s筆完成的行動 +LastActionsToDo=最舊%s筆未完成的行動 DoneAndToDoActions=完成與執行事件 DoneActions=已完成的事件 ToDoActions=未完成事件 @@ -64,10 +64,11 @@ ActionAC_SHIP=以郵件發送裝運 ActionAC_SUP_ORD=以郵件發送採購訂單 ActionAC_SUP_INV=以郵件發送供應商發票 ActionAC_OTH=其他 -ActionAC_OTH_AUTO=自動插入事件 +ActionAC_OTH_AUTO=其他自動項目 ActionAC_MANUAL=手動插入的事件 ActionAC_AUTO=自動插入事件 -ActionAC_OTH_AUTOShort=自動 +ActionAC_OTH_AUTOShort=其他 +ActionAC_EVENTORGANIZATION=事件組織的事件 Stats=銷售統計 StatusProsp=潛在方狀態 DraftPropals=商業提案/建議書草稿 diff --git a/htdocs/langs/zh_TW/companies.lang b/htdocs/langs/zh_TW/companies.lang index 53a11b64ace..1242c63a563 100644 --- a/htdocs/langs/zh_TW/companies.lang +++ b/htdocs/langs/zh_TW/companies.lang @@ -179,7 +179,7 @@ ProfId1FR=Prof Id 1 (SIREN) ProfId2FR=Prof Id 2 (SIRET) ProfId3FR=Prof Id 3 (NAF, old APE) ProfId4FR=Prof Id 4 (RCS/RM) -ProfId5FR=Prof Id 5 (numéro EORI) +ProfId5FR=專業ID5(歐盟增值稅號EORI) ProfId6FR=- ProfId1ShortFR=SIREN ProfId2ShortFR=SIRET @@ -331,7 +331,7 @@ CustomerCodeDesc=客戶代碼,每個客戶都有一個號碼 SupplierCodeDesc=供應商代碼,每個供應商都有一個號碼 RequiredIfCustomer=若合作方屬於客戶或潛在方,則必需填入 RequiredIfSupplier=若合作方是供應商,則必需填入 -ValidityControledByModule=Validity controlled by the module +ValidityControledByModule=已確定由模組控制 ThisIsModuleRules=此模組的規則 ProspectToContact=需聯絡的潛在方 CompanyDeleted=已從資料庫中刪除“%s”公司。 @@ -439,22 +439,22 @@ ListSuppliersShort=供應商清單 ListProspectsShort=潛在方清單 ListCustomersShort=客戶清單 ThirdPartiesArea=合作方/通訊錄 -LastModifiedThirdParties=Latest %s Third Parties which were modified -UniqueThirdParties=Total number of Third Parties +LastModifiedThirdParties=最新已修改合作方%s +UniqueThirdParties=合作方總數 InActivity=開放 ActivityCeased=關閉 ThirdPartyIsClosed=合作方已關閉 -ProductsIntoElements=List of products/services mapped to %s +ProductsIntoElements=映射到 %s 的產品/服務清單 CurrentOutstandingBill=目前未付款帳單 OutstandingBill=未付款帳單的最大金額 OutstandingBillReached=已達最大金額的未付款帳單 OrderMinAmount=最小訂購量 -MonkeyNumRefModelDesc=Return a number in the format %syymm-nnnn for the customer code and %syymm-nnnn for the vendor code where yy is year, mm is month and nnnn is a sequencial auto-incrementing number with no break and no return to 0. +MonkeyNumRefModelDesc=為客戶代號返回格式為 %syymm-nnnn 的數字,為供應商代號返回格式為 %syymm-nnnn 的數字,其中 yy 是年,mm 是月,nnnn 是一個連續的自動遞增沒有中斷也不為0的數字,。 LeopardNumRefModelDesc=客戶/供應商編號規則不受限制,此編碼可以隨時修改。(可開啟Elephant or Monkey模組來設定編碼規則) ManagingDirectors=主管(們)姓名 (執行長, 部門主管, 總裁...) MergeOriginThirdparty=重複的客戶/供應商 (你想刪除的客戶/供應商) MergeThirdparties=合併客戶/供應商 -ConfirmMergeThirdparties=Are you sure you want to merge the chosen third party with the current one? All linked objects (invoices, orders, ...) will be moved to the current third party, after which the chosen third party will be deleted. +ConfirmMergeThirdparties=您確定要合併此合作方到目前的合作方?所有已連結的項目( 發票、訂單...)將會移到目前的合作方,並刪除被合併的合作方。 ThirdpartiesMergeSuccess=合作方已合併 SaleRepresentativeLogin=業務代表的登入 SaleRepresentativeFirstname=業務代表的名字 diff --git a/htdocs/langs/zh_TW/compta.lang b/htdocs/langs/zh_TW/compta.lang index 7182e21ce6d..cde0f870a95 100644 --- a/htdocs/langs/zh_TW/compta.lang +++ b/htdocs/langs/zh_TW/compta.lang @@ -65,7 +65,7 @@ LT2SupplierIN=SGST購買品 VATCollected=已收取營業稅 StatusToPay=付款 SpecialExpensesArea=所有特殊付款區域 -VATExpensesArea=Area for all TVA payments +VATExpensesArea=TVA 付款區域 SocialContribution=社會稅或財政稅 SocialContributions=社會稅或財政稅 SocialContributionsDeductibles=可抵扣的社會稅或財政稅 @@ -86,7 +86,7 @@ PaymentCustomerInvoice=客戶發票付款 PaymentSupplierInvoice=供應商發票付款 PaymentSocialContribution=社會/財政稅款付款 PaymentVat=營業稅付款 -AutomaticCreationPayment=Automatically record the payment +AutomaticCreationPayment=自動記錄付款 ListPayment=付款清單 ListOfCustomerPayments=客戶付款清單 ListOfSupplierPayments=供應商付款清單 @@ -135,7 +135,7 @@ NewCheckReceipt=新折扣 NewCheckDeposit=新的支票存款 NewCheckDepositOn=建立帳戶存款收據:%s NoWaitingChecks=沒有支票等待存入。 -DateChequeReceived=Check receiving date +DateChequeReceived=確認收到日期 NbOfCheques=支票數量 PaySocialContribution=支付社會/財政稅 PayVAT=支付稅金申報 @@ -146,9 +146,9 @@ ConfirmPaySalary=您確定要將此薪資卡分類為已付款嗎? DeleteSocialContribution=刪除社會或財政稅金 DeleteVAT=刪除稅金申報 DeleteSalary=刪除薪資卡 -ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment ? -ConfirmDeleteVAT=Are you sure you want to delete this VAT declaration ? -ConfirmDeleteSalary=Are you sure you want to delete this salary? +ConfirmDeleteSocialContribution=您確定要刪除此社會/財政稅款嗎? +ConfirmDeleteVAT=您確定要刪除此增值稅申報單嗎? +ConfirmDeleteSalary=您確定要刪除此薪資嗎? ExportDataset_tax_1=社會和財政稅金及繳稅 CalcModeVATDebt=%s承諾會計營業稅%s模式. CalcModeVATEngagement=%s收入-支出營業稅%s模式. @@ -250,7 +250,7 @@ ACCOUNTING_ACCOUNT_SUPPLIER=供應商合作方使用的會計科目 ACCOUNTING_ACCOUNT_SUPPLIER_Desc=合作方卡上定義的專用會計科目將僅用於子帳會計。如果未定義第三方的專用供應商會計科目,則此科目將用於“總帳”,並作為“子帳”會計的預設值。 ConfirmCloneTax=確認複製社會/財政稅 ConfirmCloneVAT=確認複製稅金申報 -ConfirmCloneSalary=Confirm the clone of a salary +ConfirmCloneSalary=確認複製薪資 CloneTaxForNextMonth=為下個月複製此稅 SimpleReport=簡易報告 AddExtraReport=其他報告(增加外國和國家客戶報告) @@ -269,7 +269,7 @@ AccountingAffectation=會計分配 LastDayTaxIsRelatedTo=稅期的最後一天 VATDue=要求營業稅 ClaimedForThisPeriod=要求的期間 -PaidDuringThisPeriod=Paid for this period +PaidDuringThisPeriod=本期支付 PaidDuringThisPeriodDesc=This is the sum of all payments linked to VAT declarations which have an end-of-period date in the selected date range ByVatRate=依營業稅率 TurnoverbyVatrate=依營業稅率開票的營業額 @@ -286,9 +286,9 @@ ReportPurchaseTurnover=已開票營業額 ReportPurchaseTurnoverCollected=採購營業額 IncludeVarpaysInResults = 在報告中包括各種付款 IncludeLoansInResults = 在報告中包括貸款 -InvoiceLate30Days = Invoices late > 30 days -InvoiceLate15Days = Invoices late > 15 days -InvoiceLateMinus15Days = Invoices late +InvoiceLate30Days = 發票延遲 > 30 天 +InvoiceLate15Days = 發票延遲 > 15 天 +InvoiceLateMinus15Days = 發票延遲 InvoiceNotLate = To be collected < 15 days InvoiceNotLate15Days = To be collected in 15 days InvoiceNotLate30Days = To be collected in 30 days diff --git a/htdocs/langs/zh_TW/deliveries.lang b/htdocs/langs/zh_TW/deliveries.lang index 489be238c4e..6d6c7d15554 100644 --- a/htdocs/langs/zh_TW/deliveries.lang +++ b/htdocs/langs/zh_TW/deliveries.lang @@ -30,3 +30,4 @@ NonShippable=無法運送 ShowShippableStatus=顯示可運送狀態 ShowReceiving=顯示交貨單 NonExistentOrder=不存在的訂單 +StockQuantitiesAlreadyAllocatedOnPreviousLines = 已在先前的行上分配庫存數量 diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index 2b1162b14e3..ae1a3d5e0f9 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -4,14 +4,14 @@ NoErrorCommitIsDone=我們保證沒有錯誤 # Errors ErrorButCommitIsDone=發現錯誤,但儘管如此我們仍進行驗證 -ErrorBadEMail=Email %s is incorrect -ErrorBadMXDomain=Email %s seems incorrect (domain has no valid MX record) -ErrorBadUrl=Url %s is incorrect +ErrorBadEMail=電子郵件 %s 不正確 +ErrorBadMXDomain=電子郵件 %s 似乎不正確(網域沒有有效的 MX 記錄) +ErrorBadUrl=網址 %s 不正確 ErrorBadValueForParamNotAString=您的參數值錯誤。一般在轉譯遺失時產生。 -ErrorRefAlreadyExists=Reference %s already exists. +ErrorRefAlreadyExists=參考%s已經存在。 ErrorLoginAlreadyExists=登入者%s已經存在。 ErrorGroupAlreadyExists=群組%s已經存在。 -ErrorEmailAlreadyExists=Email %s already exists. +ErrorEmailAlreadyExists=電子郵件 %s 已存在。 ErrorRecordNotFound=記錄沒有找到。 ErrorFailToCopyFile=無法將檔案'%s'複製到'%s' ErrorFailToCopyDir=無法將資料夾'%s' 複製到'%s'. @@ -39,7 +39,7 @@ ErrorBadSupplierCodeSyntax=供應商代碼語法錯誤 ErrorSupplierCodeRequired=需要供應商代碼 ErrorSupplierCodeAlreadyUsed=供應商代碼已使用 ErrorBadParameters=錯誤的參數 -ErrorWrongParameters=Wrong or missing parameters +ErrorWrongParameters=錯誤或缺少參數 ErrorBadValueForParameter=參數"%s"中的錯誤值 "%s'" ErrorBadImageFormat=圖片檔案格式不支援(您的PHP不支援轉換此格式圖片) ErrorBadDateFormat="%s"日期格式錯誤 @@ -47,11 +47,11 @@ ErrorWrongDate=日期不正確! ErrorFailedToWriteInDir=無法寫入資料夾%s ErrorFoundBadEmailInFile=找到電子郵件文件中的%s行語法不正確(例如電子郵件%s行 =%s) ErrorUserCannotBeDelete=無法刪除用戶。也許它與Dolibarr實體相關。 -ErrorFieldsRequired=Some required fields have been left blank. -ErrorSubjectIsRequired=The email subject is required +ErrorFieldsRequired=一些必填欄位已留空。 +ErrorSubjectIsRequired=電子郵件主題為必填 ErrorFailedToCreateDir=無法建立資料夾。檢查網頁伺服器中的用戶有權限寫入Dolibarr檔案資料夾。如果PHP使用了參數safe_mode,檢查網頁伺服器的用戶(或群組)擁有Dolibarr php檔案。 ErrorNoMailDefinedForThisUser=沒有此用戶的定義郵件 -ErrorSetupOfEmailsNotComplete=Setup of emails is not complete +ErrorSetupOfEmailsNotComplete=電子郵件設定未完成 ErrorFeatureNeedJavascript=此功能需要啟動Javascript。需要變更請前往設定 - 顯示。 ErrorTopMenuMustHaveAParentWithId0=一個類型'頂部'選單不能有一個母選單。在母選單填入0或選擇一個類型為'左'的選單。 ErrorLeftMenuMustHaveAParentId=一個類型為'左'的選單必須有一個母選單的ID。 @@ -60,7 +60,7 @@ ErrorDirNotFound=未找到資料夾%s(錯誤的路徑,錯誤的權限 ErrorFunctionNotAvailableInPHP=此功能需要函數%s,但是無法在此PHP版本中使用。 ErrorDirAlreadyExists=具有此名稱的資料夾已經存在。 ErrorFileAlreadyExists=具有此名稱的檔案已經存在。 -ErrorDestinationAlreadyExists=Another file with the name %s already exists. +ErrorDestinationAlreadyExists=檔案名稱%s已存在 ErrorPartialFile=伺服器未完整的收到檔案。 ErrorNoTmpDir=臨時指示%s不存在。 ErrorUploadBlockedByAddon=PHP / Apache的插件已阻擋上傳。 @@ -80,7 +80,7 @@ ErrorExportDuplicateProfil=此匯出設定已存在此設定檔案名稱。 ErrorLDAPSetupNotComplete=Dolibarr與LDAP的匹配不完整。 ErrorLDAPMakeManualTest=.ldif檔案已在資料夾%s中.請以命令行手動讀取以得到更多的錯誤信息。 ErrorCantSaveADoneUserWithZeroPercentage=如果填寫了“完成者”欄位,則無法使用“狀態未開始”保存操作。 -ErrorRefAlreadyExists=Reference %s already exists. +ErrorRefAlreadyExists=參考%s已經存在。 ErrorPleaseTypeBankTransactionReportName=請輸入必須在報告條目中的銀行對帳單名稱(格式YYYYMM或YYYYMMDD) ErrorRecordHasChildren=因為有子記錄所以刪除失敗。 ErrorRecordHasAtLeastOneChildOfType=項目至少有一個子類別%s @@ -118,7 +118,7 @@ ErrorCantReadFile=無法讀取檔案'%s' ErrorCantReadDir=無法讀取資料夾'%s' ErrorBadLoginPassword=錯誤的帳號或密碼 ErrorLoginDisabled=您的帳戶已被停用 -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server user. Check also the command is not protected on shell level by a security layer like apparmor. +ErrorFailedToRunExternalCommand=無法執行外部命令。檢查它是可用並且可執行在PHP的伺服器上。同樣地請確認此命令在Shell層級中不被如apparmor的安全層級保護。 ErrorFailedToChangePassword=無法更改密碼 ErrorLoginDoesNotExists=找不到登入名稱%s的用戶。 ErrorLoginHasNoEmail=這位用戶沒有電子郵件地址。程序中止。 @@ -141,8 +141,8 @@ ErrorNewValueCantMatchOldValue=新值不能等於舊值 ErrorFailedToValidatePasswordReset=重置密碼失敗。可能是重新初始化已經完成(此連結只能使用一次)。如果不是,請嘗試再重置密碼一次。 ErrorToConnectToMysqlCheckInstance=連結資料庫失敗。檢查資料庫伺服器是否正在執行(例如mysql / mariadb,您可以使用“ sudo service mysql start”命令行啟動它)。 ErrorFailedToAddContact=新增聯絡人失敗 -ErrorDateMustBeBeforeToday=The date must be lower than today -ErrorDateMustBeInFuture=The date must be greater than today +ErrorDateMustBeBeforeToday=日期必須早於今天 +ErrorDateMustBeInFuture=日期必須晚於今天 ErrorPaymentModeDefinedToWithoutSetup=付款方式已設定為%s類型,但模組“發票”尚未完整定義要為此付款方式顯示的資訊設定。 ErrorPHPNeedModule=錯誤,您的PHP必須安裝模組%s才能使用此功能。 ErrorOpenIDSetupNotComplete=您設定了Dolibarr設定檔案以允許OpenID身份驗證,但未將OpenID的服務網址定義為常數%s @@ -221,15 +221,15 @@ ErrorChooseBetweenFreeEntryOrPredefinedProduct=您必須選擇商品是否為預 ErrorDiscountLargerThanRemainToPaySplitItBefore=您嘗試使用的折扣大於剩餘的折扣。將之前的折扣分成2個較小的折扣。 ErrorFileNotFoundWithSharedLink=找不到檔案。可能是共享金鑰最近被修改或檔案被刪除了。 ErrorProductBarCodeAlreadyExists=產品條碼%s已存在於另一個產品參考上。 -ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Note also that using kits to have auto increase/decrease of subproducts is not possible when at least one subproduct (or subproduct of subproducts) needs a serial/lot number. +ErrorNoteAlsoThatSubProductCantBeFollowedByLot=請注意使用Kit時,如果一個子產品(或子產品的子產品)需要序號/批號時,無法自動增加/減少子產品。 ErrorDescRequiredForFreeProductLines=對於帶有免費產品的行,必須進行描述說明 ErrorAPageWithThisNameOrAliasAlreadyExists=此頁面/容器%s與您嘗試使用的名稱/別名相同 ErrorDuringChartLoad=載入會計科目表時出錯。如果幾個帳戶沒有被載入,您仍然可以手動輸入。 ErrorBadSyntaxForParamKeyForContent=參數keyforcontent的語法錯誤。必須具有以%s或%s開頭的值 ErrorVariableKeyForContentMustBeSet=錯誤,必須設定名稱為%s(帶有文字內容)或%s(帶有外部網址)的常數。 -ErrorURLMustEndWith=URL %s must end %s +ErrorURLMustEndWith=網址 %s 必須以 %s 結尾 ErrorURLMustStartWithHttp=網址 %s 必須以 http://或https://開始 -ErrorHostMustNotStartWithHttp=Host name %s must NOT start with http:// or https:// +ErrorHostMustNotStartWithHttp=主機名稱 %s 不能以 http:// 或 https:// 開頭 ErrorNewRefIsAlreadyUsed=錯誤,新參考已被使用 ErrorDeletePaymentLinkedToAClosedInvoiceNotPossible=錯誤,無法刪除連結到已關閉發票的付款。 ErrorSearchCriteriaTooSmall=搜尋條件太小。 @@ -247,23 +247,23 @@ ErrorBatchNoFoundEnoughQuantityForProductInWarehouse=倉庫“ %s”中產品“ ErrorOnlyOneFieldForGroupByIsPossible=“群組依據”只能使用1個欄位(其他欄位則被丟棄) ErrorTooManyDifferentValueForSelectedGroupBy=為欄位“ %s ”發現了太多不同的值(多於 %s ),因此我們不能將其用作“分組依據”。 “分組依據”欄位已刪除。也許您想將其用作X軸? ErrorReplaceStringEmpty=錯誤,要替換的字串為空 -ErrorProductNeedBatchNumber=Error, product '%s' need a lot/serial number -ErrorProductDoesNotNeedBatchNumber=Error, product '%s' does not accept a lot/serial number -ErrorFailedToReadObject=Error, failed to read object of type %s -ErrorParameterMustBeEnabledToAllwoThisFeature=Error, parameter %s must be enabled into conf/conf.php to allow use of Command Line Interface by the internal job scheduler -ErrorLoginDateValidity=Error, this login is outside the validity date range -ErrorValueLength=Length of field '%s' must be higher than '%s' -ErrorReservedKeyword=The word '%s' is a reserved keyword -ErrorNotAvailableWithThisDistribution=Not available with this distribution +ErrorProductNeedBatchNumber=錯誤,產品“ %s ”需要批號/序號 +ErrorProductDoesNotNeedBatchNumber=錯誤,產品“ %s ”不接受批號/序號 +ErrorFailedToReadObject=錯誤,無法讀取 %s 類型的項目 +ErrorParameterMustBeEnabledToAllwoThisFeature=錯誤,必須在 conf/conf.php 中啟用參數%s以允許內部命令列工作排程界面使用 +ErrorLoginDateValidity=錯誤,此登錄超過有效日期範圍 +ErrorValueLength=欄位“ %s ”的長度必須大於“ %s" +ErrorReservedKeyword=單詞“ %s ”是保留關鍵字 +ErrorNotAvailableWithThisDistribution=不適用於此發行版本 ErrorPublicInterfaceNotEnabled=未啟用公共界面 -ErrorLanguageRequiredIfPageIsTranslationOfAnother=The language of new page must be defined if it is set as a translation of another page -ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=The language of new page must not be the source language if it is set as a translation of another page -ErrorAParameterIsRequiredForThisOperation=A parameter is mandatory for this operation -ErrorDateIsInFuture=Error, the date can't be in the future -ErrorAnAmountWithoutTaxIsRequired=Error, amount is mandatory -ErrorAPercentIsRequired=Error, please fill in the percentage correctly -ErrorYouMustFirstSetupYourChartOfAccount=You must first setup your chart of account -ErrorFailedToFindEmailTemplate=Failed to find template with code name %s +ErrorLanguageRequiredIfPageIsTranslationOfAnother=如果將新頁面設定為其他頁面的翻譯,則必須定義新頁面的語言 +ErrorLanguageMustNotBeSourceLanguageIfPageIsTranslationOfAnother=如果新頁面的語言為另一頁面的翻譯,則該語言不得為來源語言 +ErrorAParameterIsRequiredForThisOperation=此操作必須有一個參數 +ErrorDateIsInFuture=錯誤,日期不能是未來 +ErrorAnAmountWithoutTaxIsRequired=錯誤,金額為必填項目 +ErrorAPercentIsRequired=錯誤,請正確填寫百分比 +ErrorYouMustFirstSetupYourChartOfAccount=您必須先設定會計項目表 +ErrorFailedToFindEmailTemplate=無法找到代號為 %s 的模板 # Warnings WarningParamUploadMaxFileSizeHigherThanPostMaxSize=您的PHP參數upload_max_filesize(%s)高於PHP參數post_max_size(%s)。這不是相同的設定。 @@ -289,15 +289,16 @@ WarningYourLoginWasModifiedPleaseLogin=您的登入名稱已修改。為了安 WarningAnEntryAlreadyExistForTransKey=此語言的翻譯密鑰條目已存在 WarningNumberOfRecipientIsRestrictedInMassAction=警告,在清單上使用批次操作時,其他收件人的數量限制為%s WarningDateOfLineMustBeInExpenseReportRange=警告,行的日期不在費用報告的範圍內 -WarningProjectDraft=Project is still in draft mode. Don't forget to validate it if you plan to use tasks. +WarningProjectDraft=專案仍處於草案模式。如果您計劃使用任務,請不要忘記驗證它。 WarningProjectClosed=專案已關閉。您必須先重新打開它。 WarningSomeBankTransactionByChequeWereRemovedAfter=在產生包括它們的收據之後,一些銀行交易將被刪除。因此支票的數量和收據的數量可能與清單中的數量和總數有所不同。 -WarningFailedToAddFileIntoDatabaseIndex=Warning, failed to add file entry into ECM database index table -WarningTheHiddenOptionIsOn=Warning, the hidden option %s is on. -WarningCreateSubAccounts=Warning, you can't create directly a sub account, you must create a third party or an user and assign them an accounting code to find them in this list -WarningAvailableOnlyForHTTPSServers=Available only if using HTTPS secured connection. -WarningModuleXDisabledSoYouMayMissEventHere=Module %s has not been enabled. So you may miss a lot of event here. -ErrorActionCommPropertyUserowneridNotDefined=User's owner is required -ErrorActionCommBadType=Selected event type (id: %n, code: %s) do not exist in Event Type dictionary -CheckVersionFail=Version check fail -ErrorWrongFileName=Name of the file cannot have __SOMETHING__ in it +WarningFailedToAddFileIntoDatabaseIndex=警告,無法將檔案條目增加到 ECM 資料庫索引表中 +WarningTheHiddenOptionIsOn=警告,隱藏選項 %s 已開啟。 +WarningCreateSubAccounts=警告,您不能直接建立子帳戶,您必須建立合作方或用戶並為其分配會計代碼才能在此清單中找到它們 +WarningAvailableOnlyForHTTPSServers=僅在使用 HTTPS 安全連線時可用。 +WarningModuleXDisabledSoYouMayMissEventHere=模組 %s 尚未啟用。所以你可能會在這裡錯過很多事件。 +ErrorActionCommPropertyUserowneridNotDefined=需要用戶的擁有者 +ErrorActionCommBadType=選擇的事件類型(id:%n,代碼:%s)在事件類型分類中不存在 +CheckVersionFail=版本檢查失敗 +ErrorWrongFileName=檔案名稱中不可以有__SOMETHING__ +ErrorNotInDictionaryPaymentConditions=不在支付條款類別中,請修改。 diff --git a/htdocs/langs/zh_TW/eventorganization.lang b/htdocs/langs/zh_TW/eventorganization.lang index 7db22c3484a..9861ca188a2 100644 --- a/htdocs/langs/zh_TW/eventorganization.lang +++ b/htdocs/langs/zh_TW/eventorganization.lang @@ -17,8 +17,8 @@ # # Generic # -ModuleEventOrganizationName = Event Organization -EventOrganizationDescription = Event Organization through Module Project +ModuleEventOrganizationName = 事件組織 +EventOrganizationDescription = 使用專案模組組織事件 EventOrganizationDescriptionLong= Manage Event organization for conference, attendees, speaker, and attendees, with public subcription page # # Menu @@ -31,7 +31,7 @@ EventOrganizationConferenceOrBoothMenuLeft = Conference Or Booth # EventOrganizationSetup = Event Organization setup Settings = 設定 -EventOrganizationSetupPage = Event Organization setup page +EventOrganizationSetupPage = 事件組織設定頁面 EVENTORGANIZATION_TASK_LABEL = Label of tasks to create automatically when project is validated EVENTORGANIZATION_TASK_LABELTooltip = When you validate an organized event, some tasks can be automatically created in the project

For example:
Send Call for Conference
Send Call for Booth
Receive call for conferences
Receive call for Booth
Open subscriptions to events for attendees
Send remind of event to speakers
Send remind of event to Booth hoster
Send remind of event to attendees EVENTORGANIZATION_CATEG_THIRDPARTY_CONF = Category to add to third-parties automatically created when someone suggests a conference @@ -86,6 +86,7 @@ DownloadICSLink = Download ICS link EVENTORGANIZATION_SECUREKEY = Secure Key of the public registration link to a conference SERVICE_BOOTH_LOCATION = Service used for the invoice row about a booth location SERVICE_CONFERENCE_ATTENDEE_SUBSCRIPTION = Service used for the invoice row about an attendee subscription to a conference +NbVotes=Number of votes # # Status # @@ -115,6 +116,9 @@ EvntOrgDuration = This conference starts on %s and ends on %s. ConferenceAttendeeFee = Conference attendee fee for the event : '%s' occurring from %s to %s. BoothLocationFee = Booth location for the event : '%s' occurring from %s to %s EventType = 事件類別 +LabelOfBooth=Booth label +LabelOfconference=Conference label +ConferenceIsNotConfirmed=Subcription not available, conference is not confirmed yet # # Vote page diff --git a/htdocs/langs/zh_TW/exports.lang b/htdocs/langs/zh_TW/exports.lang index 721e44dfde2..13c3a18d0de 100644 --- a/htdocs/langs/zh_TW/exports.lang +++ b/htdocs/langs/zh_TW/exports.lang @@ -53,7 +53,8 @@ TypeOfLineServiceOrProduct=類型(0 =產品,1 =服務) FileWithDataToImport=匯入有資料的檔案 FileToImport=欲匯入的來源檔案 FileMustHaveOneOfFollowingFormat=要匯入的檔案必須是以下格式 -DownloadEmptyExample=下載帶有欄位內容資料的範本檔案(*為必填欄位) +DownloadEmptyExample=Download template file with field content information +StarAreMandatory=* are mandatory fields ChooseFormatOfFileToImport=通過點選%s圖示選擇要匯入的檔案格式... ChooseFileToImport=上傳檔案,然後點擊%s圖示以選擇要匯入的檔案... SourceFileFormat=來源檔案格式 diff --git a/htdocs/langs/zh_TW/holiday.lang b/htdocs/langs/zh_TW/holiday.lang index 72b939ec843..e091d0dd7c4 100644 --- a/htdocs/langs/zh_TW/holiday.lang +++ b/htdocs/langs/zh_TW/holiday.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - holiday -HRM=人資 +HRM=人力資源 Holidays=休假 CPTitreMenu=休假 MenuReportMonth=月結單 @@ -40,10 +40,10 @@ TypeOfLeaveId=休假ID類型 TypeOfLeaveCode=休假代碼類型 TypeOfLeaveLabel=休假標籤類型 NbUseDaysCP=已休假天數 -NbUseDaysCPHelp=此計算考慮了字典中定義的非工作日和假期。 -NbUseDaysCPShort=已休假天數 -NbUseDaysCPShortInMonth=已休假天數(月) -DayIsANonWorkingDay=%s是非工作日 +NbUseDaysCPHelp=The calculation takes into account the non-working days and the holidays defined in the dictionary. +NbUseDaysCPShort=休假天數 +NbUseDaysCPShortInMonth=月休假天數 +DayIsANonWorkingDay=%s 是非工作日 DateStartInMonth=開始日期(月份) DateEndInMonth=結束日期(月份) EditCP=編輯 @@ -80,14 +80,14 @@ UserCP=用戶 ErrorAddEventToUserCP=增加特殊假期時發生錯誤。 AddEventToUserOkCP=特別假期的增加已經完成。 MenuLogCP=檢視變更日誌 -LogCP=可用假期更新日誌 -ActionByCP=執行者 -UserUpdateCP=對於用戶 +LogCP=Log of all updates made to "Balance of Leave" +ActionByCP=更新者 +UserUpdateCP=Updated for PrevSoldeCP=剩餘假期 NewSoldeCP=新剩餘假期 alreadyCPexist=在此期間之休假申請已完成。 -FirstDayOfHoliday=假期的第一天 -LastDayOfHoliday=假期的最後一天 +FirstDayOfHoliday=Beginning day of leave request +LastDayOfHoliday=Ending day of leave request BoxTitleLastLeaveRequests=最新%s筆已修改的休假申請 HolidaysMonthlyUpdate=每月更新 ManualUpdate=手動更新 @@ -99,13 +99,13 @@ LastHolidays=最新%s的休假申請 AllHolidays=所有休假申請 HalfDay=半天 NotTheAssignedApprover=您不是分配的批准人 -LEAVE_PAID=帶薪休假 +LEAVE_PAID=年假 LEAVE_SICK=病假 -LEAVE_OTHER=其他休假 -LEAVE_PAID_FR=帶薪休假 +LEAVE_OTHER=事假 +LEAVE_PAID_FR=年假 ## Configuration du Module ## -LastUpdateCP=假期分配的最新自動更新 -MonthOfLastMonthlyUpdate=假期分配的最新自動月更新 +LastUpdateCP=Last automatic update of leave allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leave allocation UpdateConfCPOK=已更新成功。 Module27130Name= 休假管理 Module27130Desc= 休假管理 @@ -125,10 +125,10 @@ HolidaysCanceledBody=您從%s到%s的休假申請已被取消。 FollowedByACounter=1:這種類型的休假需有計數器追蹤。計數器手動或自動遞增,並且當休假申請通過驗證後,計數器遞減。
0:沒有被計數器追蹤。 NoLeaveWithCounterDefined=沒有休假類型被定義成需要被計數器追蹤 GoIntoDictionaryHolidayTypes=前往首頁-設定-字典-休假類型以設定不同類型的休假。 -HolidaySetup=假期模組的設定 -HolidaysNumberingModules=休假申請編號模型 +HolidaySetup=Setup of module Leave +HolidaysNumberingModules=Numbering models for leave requests TemplatePDFHolidays=休假PDF範本 -FreeLegalTextOnHolidays=PDF上的自由正文 -WatermarkOnDraftHolidayCards=休假申請草案上的水印 +FreeLegalTextOnHolidays=PDF上的自由文字 +WatermarkOnDraftHolidayCards=休假申請草案上的浮水印 HolidaysToApprove=可批准假期 NobodyHasPermissionToValidateHolidays=沒有人有權限驗證假期 diff --git a/htdocs/langs/zh_TW/hrm.lang b/htdocs/langs/zh_TW/hrm.lang index 240980f71d7..9a981ea4d89 100644 --- a/htdocs/langs/zh_TW/hrm.lang +++ b/htdocs/langs/zh_TW/hrm.lang @@ -9,7 +9,7 @@ ConfirmDeleteEstablishment=您確定要刪除此營業所嗎? OpenEtablishment=開啟營業所 CloseEtablishment=關閉營業所 # Dictionary -DictionaryPublicHolidays=Leave - Public holidays +DictionaryPublicHolidays=休假 - 公共假期 DictionaryDepartment=HRM-部門清單 DictionaryFunction=人力資源管理-職位 # Module diff --git a/htdocs/langs/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index a717552589b..af06bbdb7c7 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -206,6 +206,7 @@ MigrationUserPhotoPath=移轉用戶照片路徑 MigrationFieldsSocialNetworks=移轉用戶領域社交網絡(%s) MigrationReloadModule=重新載入模組%s MigrationResetBlockedLog=為v7 algorithm重置模組"被阻止的日誌(Blocked log)" +MigrationImportOrExportProfiles=Migration of import or export profiles (%s) ShowNotAvailableOptions=顯示不可用的選項 HideNotAvailableOptions=隱藏不可用的選項 ErrorFoundDuringMigration=在移轉過程中出現了錯誤,因此無法進行下一步。要忽略錯誤,可以點擊此處 ,但是在解決錯誤之前,該應用程序或某些功能可能無法正常運行。 diff --git a/htdocs/langs/zh_TW/interventions.lang b/htdocs/langs/zh_TW/interventions.lang index 7b6e8857505..873f2fa1afd 100644 --- a/htdocs/langs/zh_TW/interventions.lang +++ b/htdocs/langs/zh_TW/interventions.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - interventions -Intervention=干預措施 -Interventions=干預措施 +Intervention=干預 +Interventions=干預 InterventionCard=干預卡 NewIntervention=新干預 AddIntervention=建立干預 @@ -41,9 +41,7 @@ InterventionsArea=干預區 DraftFichinter=干預草案 LastModifiedInterventions=最新%s已修改干預 FichinterToProcess=進行干預 -##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=後續追蹤客戶聯絡人 -# Modele numérotation PrintProductsOnFichinter=在干預卡上也列印“產品”類型的行(不僅是服務) PrintProductsOnFichinterDetails=訂單產生的干預 UseServicesDurationOnFichinter=將服務期限用於訂單產生的干預 @@ -52,8 +50,7 @@ UseDateWithoutHourOnFichinter=為干預記錄隱藏日期中的小時和分鐘 InterventionStatistics=干預統計 NbOfinterventions=干預卡數量 NumberOfInterventionsByMonth=每月干預卡的數量(驗證日期) -AmountOfInteventionNotIncludedByDefault=預設情況下,干預金額不包括在利潤中(在大多數情況下,時間表用於計算花費的時間)。將選項PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT to 1加 到首頁- 設定- 其他中以包括它們。 -##### Exports ##### +AmountOfInteventionNotIncludedByDefault=預設情況下,干預金額不包括在利潤中(在大多數情況下,時間表用於計算花費的時間)。將選項PROJECT_INCLUDE_INTERVENTION_AMOUNT_IN_PROFIT加到首頁- 設定- 其他中並設定為1以包括它們。 InterId=干預ID InterRef=干預參考 InterDateCreation=干預的建立日期 @@ -65,3 +62,7 @@ InterLineId=干預行ID InterLineDate=干預行日期 InterLineDuration=週期干預行 InterLineDesc=干預行描述 +RepeatableIntervention=干預模板 +ToCreateAPredefinedIntervention=要創建預定義或定期干預,請創建一個通用乾預並將其轉換為乾預模板 +Reopen=重新打開 +ConfirmReopenIntervention=您確定要打開干預 %s 嗎? diff --git a/htdocs/langs/zh_TW/languages.lang b/htdocs/langs/zh_TW/languages.lang index e8199dc4fd9..bd3940ba997 100644 --- a/htdocs/langs/zh_TW/languages.lang +++ b/htdocs/langs/zh_TW/languages.lang @@ -3,7 +3,8 @@ Language_am_ET=衣索比亞 Language_ar_AR=阿拉伯語 Language_ar_EG=阿拉伯語(埃及) Language_ar_SA=阿拉伯語 -Language_ar_TN=Arabic (Tunisia) +Language_ar_TN=阿拉伯語(突尼斯) +Language_ar_IQ=阿拉伯語(伊拉克) Language_az_AZ=亞塞拜然 Language_bn_BD=孟加拉語 Language_bn_IN=孟加拉語(印度) @@ -83,9 +84,10 @@ Language_ne_NP=尼泊爾語 Language_nl_BE=荷蘭語(比利時) Language_nl_NL=荷蘭人 Language_pl_PL=波蘭語 +Language_pt_AO=葡萄牙語(安哥拉) Language_pt_BR=葡萄牙語(巴西) Language_pt_PT=葡萄牙語 -Language_ro_MD=Romanian (Moldavia) +Language_ro_MD=羅馬尼亞語(摩爾達維亞) Language_ro_RO=羅馬尼亞語 Language_ru_RU=俄語 Language_ru_UA=俄語(烏克蘭) diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index 911e650e96a..68196c1bc0c 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -180,7 +180,7 @@ SaveAndNew=儲存並新增 TestConnection=測試連線 ToClone=複製 ConfirmCloneAsk=您確定要複製物件 %s? -ConfirmClone=Choose the data you want to clone: +ConfirmClone=選擇要複製的資料: NoCloneOptionsSpecified=沒有已定義要複製的資料。 Of=的 Go=前往 @@ -246,7 +246,7 @@ DefaultModel=預設文件範本 Action=事件 About=關於 Number=數量 -NumberByMonth=Total reports by month +NumberByMonth=每月報告總數 AmountByMonth=每月金額 Numero=數量 Limit=限制 @@ -278,7 +278,7 @@ DateModificationShort=修改日 IPModification=修改IP DateLastModification=最新修改日期 DateValidation=驗證日期 -DateSigning=Signing date +DateSigning=簽名日期 DateClosing=關閉日期 DateDue=截止日期 DateValue=值的日期 @@ -341,8 +341,8 @@ KiloBytes=KB MegaBytes=MB GigaBytes=GB TeraBytes=TB -UserAuthor=Ceated by -UserModif=Updated by +UserAuthor=建立者 +UserModif=更新者 b=b. Kb=Kb Mb=Mb @@ -362,7 +362,7 @@ UnitPriceHTCurrency=單價(不含)(貨幣) UnitPriceTTC=單位價格 PriceU=單價 PriceUHT=單價(淨) -PriceUHTCurrency=U.P (net) (currency) +PriceUHTCurrency=U.P(淨值)(貨幣) PriceUTTC=單價(含稅) Amount=金額 AmountInvoice=發票金額 @@ -390,8 +390,8 @@ AmountTotal=總金額 AmountAverage=平均金額 PriceQtyMinHT=最小數量價格(不含稅) PriceQtyMinHTCurrency=最小數量價格(不含稅)(貨幣) -PercentOfOriginalObject=Percent of original object -AmountOrPercent=Amount or percent +PercentOfOriginalObject=原始項目的百分比 +AmountOrPercent=金額或百分比 Percentage=百分比 Total=總計 SubTotal=小計 @@ -430,7 +430,7 @@ LT1IN=CGST LT2IN=SGST LT1GC=附加美分 VATRate=稅率 -RateOfTaxN=Rate of tax %s +RateOfTaxN=稅率%s VATCode=稅率代碼 VATNPR=NPR 稅率 DefaultTaxRate=預設稅率 @@ -730,8 +730,8 @@ MenuMembers=會員 MenuAgendaGoogle=Google 行事曆 MenuTaxesAndSpecialExpenses=稅金|特別費用 ThisLimitIsDefinedInSetup=Dolibarr 的限制(選單 首頁 - 設定 - 安全): %s Kb, PHP的限制:%s Kb -ThisLimitIsDefinedInSetupAt=Dolibarr limit (Menu %s): %s Kb, PHP limit (Param %s): %s Kb -NoFileFound=No documents uploaded +ThisLimitIsDefinedInSetupAt=Dolibarr限制 (選單%s): %s Kb, PHP限制(參數 %s): %s Kb +NoFileFound=沒有上傳文件 CurrentUserLanguage=目前語言 CurrentTheme=目前主題 CurrentMenuManager=目前選單管理器 @@ -847,7 +847,7 @@ XMoreLines=%s 行(數)被隱藏 ShowMoreLines=顯示更多/更少行數 PublicUrl=公開網址 AddBox=增加盒子 -SelectElementAndClick=Select an element and click on %s +SelectElementAndClick=選擇一個元件並且點選%s PrintFile=列印檔案 %s ShowTransaction=在銀行帳戶中顯示交易 ShowIntervention=顯示干預 @@ -858,8 +858,8 @@ Denied=已拒絕 ListOf=%s 清單 ListOfTemplates=範本清單 Gender=性別 -Genderman=Male -Genderwoman=Female +Genderman=男性 +Genderwoman=女性 Genderother=其他 ViewList=檢視清單 ViewGantt=甘特圖 @@ -906,10 +906,10 @@ ViewAccountList=檢視總帳 ViewSubAccountList=檢視子帳戶總帳 RemoveString=移除字串‘%s’ SomeTranslationAreUncomplete=提供的某些語言可能僅被部分翻譯,或者可能包含錯誤。請通過註冊https://transifex.com/projects/p/dolibarr/來進行改進,以幫助修正您的語言。 -DirectDownloadLink=Public download link -PublicDownloadLinkDesc=Only the link is required to download the file -DirectDownloadInternalLink=Private download link -PrivateDownloadLinkDesc=You need to be logged and you need permissions to view or download the file +DirectDownloadLink=公共下載連結 +PublicDownloadLinkDesc=只需要連結即可下載檔案 +DirectDownloadInternalLink=私人下載連結 +PrivateDownloadLinkDesc=您需要登錄,並且需要有查看或下載檔案的權限 Download=下載 DownloadDocument=下載文件 ActualizeCurrency=更新匯率 @@ -1022,7 +1022,7 @@ SearchIntoContacts=通訊錄 SearchIntoMembers=會員 SearchIntoUsers=用戶 SearchIntoProductsOrServices=產品或服務 -SearchIntoBatch=Lots / Serials +SearchIntoBatch=批號/序號 SearchIntoProjects=專案 SearchIntoMO=製造訂單 SearchIntoTasks=任務 @@ -1059,13 +1059,13 @@ KeyboardShortcut=快捷鍵 AssignedTo=指定人 Deletedraft=刪除草稿 ConfirmMassDraftDeletion=草稿批次刪除確認 -FileSharedViaALink=File shared with a public link +FileSharedViaALink=通過公共連結共享的檔案 SelectAThirdPartyFirst=先選擇合作方(客戶/供應商)... YouAreCurrentlyInSandboxMode=您目前在 %s "沙盒" 模式 Inventory=庫存 AnalyticCode=分析代碼 TMenuMRP=製造資源計劃(MRP) -ShowCompanyInfos=Show company infos +ShowCompanyInfos=顯示公司資訊 ShowMoreInfos=顯示更多信息 NoFilesUploadedYet=請先上傳文件 SeePrivateNote=查看私人筆記 @@ -1074,7 +1074,7 @@ ValidFrom=有效期自 ValidUntil=有效期至 NoRecordedUsers=無使用者 ToClose=關閉 -ToRefuse=To refuse +ToRefuse=拒絕 ToProcess=處理 ToApprove=核准 GlobalOpenedElemView=全域顯示 @@ -1129,11 +1129,11 @@ UpdateForAllLines=更新所有行 OnHold=On hold Civility=稱謂或頭銜 AffectTag=影響標籤 -CreateExternalUser=Create external user +CreateExternalUser=建立外部用戶 ConfirmAffectTag=批量標籤影響 ConfirmAffectTagQuestion=您確定要影響對%s所選記錄的標籤嗎? CategTypeNotFound=找不到記錄類型的標籤類型 -CopiedToClipboard=Copied to clipboard -InformationOnLinkToContract=This amount is only the total of all the lines of the contract. No notion of time is taken into consideration. -ConfirmCancel=Are you sure you want to cancel -EmailMsgID=Email MsgID +CopiedToClipboard=複製到剪貼簿 +InformationOnLinkToContract=這個金額只是合約所有行的總和。沒有考慮時間的因素。 +ConfirmCancel=您確定要取消? +EmailMsgID=電子郵件訊息 ID diff --git a/htdocs/langs/zh_TW/margins.lang b/htdocs/langs/zh_TW/margins.lang index b3cc74b2402..dc68a99e36a 100644 --- a/htdocs/langs/zh_TW/margins.lang +++ b/htdocs/langs/zh_TW/margins.lang @@ -22,7 +22,7 @@ ProductService=產品或服務 AllProducts=所有產品和服務 ChooseProduct/Service=選擇產品或服務 ForceBuyingPriceIfNull=如果未定義,強制將買入/成本價轉換為賣價 -ForceBuyingPriceIfNullDetails=If buying/cost price not provided when we add a new line, and this option is "ON", the margin will be 0 on the new line (buying/cost price = selling price). If this option is "OFF" (recommended), margin will be equal to the value suggested by default (and may be 100% if no default value can be found). +ForceBuyingPriceIfNullDetails=如果我們增加新行時未提供買入/成本價,且此選項為“ON”,則新行的利潤將為 0(買入/成本價 = 賣價)。如果此選項為“OFF”(推薦),則利潤將預設等於建議值(如果找不到預設值,則可能為 100%)。 MARGIN_METHODE_FOR_DISCOUNT=全球折扣的利潤規則 UseDiscountAsProduct=作為產品 UseDiscountAsService=作為服務 diff --git a/htdocs/langs/zh_TW/members.lang b/htdocs/langs/zh_TW/members.lang index 68771cc7892..e6b83cbef57 100644 --- a/htdocs/langs/zh_TW/members.lang +++ b/htdocs/langs/zh_TW/members.lang @@ -15,24 +15,24 @@ ErrorMemberIsAlreadyLinkedToThisThirdParty=另一名會員(名稱:%s ErrorUserPermissionAllowsToLinksToItselfOnly=出於安全原因,必須授予您編輯所有用戶的權限,以便能夠將會員連結到其他用戶。 SetLinkToUser=連結Dolibarr用戶 SetLinkToThirdParty=連接到Dolibarr合作方 -MembersCards=Business cards for members +MembersCards=會員名片 MembersList=會員清單 MembersListToValid=草案會員清單(待確認) MembersListValid=有效會員清單 MembersListUpToDate=最新訂閱的有效會員清單 MembersListNotUpToDate=訂閱過期的有效會員清單 -MembersListExcluded=List of excluded members +MembersListExcluded=排除會員的清單 MembersListResiliated=已被終止會員清單 MembersListQualified=合格會員清單 MenuMembersToValidate=草案會員 MenuMembersValidated=已驗證會員 -MenuMembersExcluded=Excluded members +MenuMembersExcluded=排除會員 MenuMembersResiliated=已終止會員 MembersWithSubscriptionToReceive=可接收訂閱會員 MembersWithSubscriptionToReceiveShort=接收訂閱 DateSubscription=訂閱日期 DateEndSubscription=訂閱結束日期 -EndSubscription=Subscription Ends +EndSubscription=訂閱結束 SubscriptionId=訂閱編號 WithoutSubscription=沒有訂閱 MemberId=會員編號 @@ -49,12 +49,12 @@ MemberStatusActiveLate=訂閱已過期 MemberStatusActiveLateShort=已過期 MemberStatusPaid=訂閱最新 MemberStatusPaidShort=最新 -MemberStatusExcluded=Excluded member -MemberStatusExcludedShort=Excluded +MemberStatusExcluded=排除會員 +MemberStatusExcludedShort=排除 MemberStatusResiliated=已終止成員 MemberStatusResiliatedShort=已終止 MembersStatusToValid=草案會員 -MembersStatusExcluded=Excluded members +MembersStatusExcluded=排除會員 MembersStatusResiliated=已終止會員 MemberStatusNoSubscription=已驗證(無需訂閱) MemberStatusNoSubscriptionShort=已驗證 @@ -83,12 +83,12 @@ WelcomeEMail=歡迎電子郵件 SubscriptionRequired=需要訂閱 DeleteType=刪除 VoteAllowed=允許投票 -Physical=Individual -Moral=Corporation -MorAndPhy=Corporation and Individual -Reenable=Re-Enable -ExcludeMember=Exclude a member -ConfirmExcludeMember=Are you sure you want to exclude this member ? +Physical=個人 +Moral=公司 +MorAndPhy=公司和個人 +Reenable=重新啟用 +ExcludeMember=排除會員 +ConfirmExcludeMember=您確定要排除此會員嗎? ResiliateMember=終止會員 ConfirmResiliateMember=您確定要終止此會員嗎? DeleteMember=刪除會員 @@ -144,7 +144,7 @@ DescADHERENT_EMAIL_TEMPLATE_MEMBER_VALIDATION=電子郵件範本,用於會員 DescADHERENT_EMAIL_TEMPLATE_SUBSCRIPTION=電子郵件範本,用於新的訂閱記錄時向會員發送電子郵件 DescADHERENT_EMAIL_TEMPLATE_REMIND_EXPIRATION=電子郵件範本, 用於訂閱即將到期時發送電子郵件提醒 DescADHERENT_EMAIL_TEMPLATE_CANCELATION=電子郵件範本,用於在會員取消時向會員發送電子郵件 -DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=Email template to use to send email to a member on member exclusion +DescADHERENT_EMAIL_TEMPLATE_EXCLUSION=用於會員排除時向會員發出電子郵件的模板 DescADHERENT_MAIL_FROM=自動發送電子郵件之發件人電子郵件 DescADHERENT_ETIQUETTE_TYPE=標籤頁格式 DescADHERENT_ETIQUETTE_TEXT=會員地址列表文字 @@ -170,31 +170,31 @@ DocForLabels=產生地址表 SubscriptionPayment=訂閱付款 LastSubscriptionDate=最新訂閱付款的日期 LastSubscriptionAmount=最新訂閱金額 -LastMemberType=Last Member type +LastMemberType=最新的會員類型 MembersStatisticsByCountries=會員統計(國家/城市) MembersStatisticsByState=會員統計(州/省) MembersStatisticsByTown=會員統計(城鎮) MembersStatisticsByRegion=會員統計(地區) -NbOfMembers=Total number of members -NbOfActiveMembers=Total number of current active members +NbOfMembers=會員總數 +NbOfActiveMembers=目前活躍會員數 NoValidatedMemberYet=無已驗證的會員 -MembersByCountryDesc=This screen shows you the statistics of members by countries. Graphs and charts depend on the availability of the Google online graph service as well as on the availability of a working internet connection. -MembersByStateDesc=This screen show you statistics of members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics of members by town. -MembersByNature=This screen show you statistics of members by nature. -MembersByRegion=This screen show you statistics of members by region. +MembersByCountryDesc=此畫面顯示依國家/地區劃分的會員統計資訊。圖形取決於Google線上圖形服務,並且僅可在網路連線正常時可用。 +MembersByStateDesc=此畫面依州/省顯示有關會員的統計資訊。 +MembersByTownDesc=此畫面顯示依城市劃分的會員統計資訊。 +MembersByNature=此畫面依性質顯示有關會員的統計資訊。 +MembersByRegion=此畫面依區域顯示有關會員的統計資訊。 MembersStatisticsDesc=選擇要讀取的統計訊息... MenuMembersStats=統計 -LastMemberDate=Latest membership date +LastMemberDate=最新入會日期 LatestSubscriptionDate=最新訂閱日期 -MemberNature=Nature of the member -MembersNature=Nature of the members -Public=Information is public +MemberNature=會員性質 +MembersNature=會員性質 +Public=資訊是公開的 NewMemberbyWeb=增加了新會員。等待核准 NewMemberForm=新會員表格 -SubscriptionsStatistics=Subscriptions statistics +SubscriptionsStatistics=訂閱統計 NbOfSubscriptions=訂閱數 -AmountOfSubscriptions=Amount collected from subscriptions +AmountOfSubscriptions=訂閱金額 TurnoverOrBudget=營業額(對於公司)或預算(對於財團) DefaultAmount=預設訂閱金額 CanEditAmount=訪客可以選擇/編輯其訂閱金額 @@ -213,5 +213,5 @@ SendReminderForExpiredSubscription=當訂閱即將到期時,通過電子郵件 MembershipPaid=本期已支付的會費(直到%s) YouMayFindYourInvoiceInThisEmail=您可在此電子郵件中找到發票 XMembersClosed=%s會員已關閉 -XExternalUserCreated=%s external user(s) created -ForceMemberNature=Force member nature (Individual or Corporation) +XExternalUserCreated=已建立%s位外部用戶 +ForceMemberNature=強制會員性質(個人或公司) diff --git a/htdocs/langs/zh_TW/mrp.lang b/htdocs/langs/zh_TW/mrp.lang index 2f4bfbfa146..f257a5fc7f3 100644 --- a/htdocs/langs/zh_TW/mrp.lang +++ b/htdocs/langs/zh_TW/mrp.lang @@ -13,7 +13,7 @@ BOMsSetup=BOM模組設定 ListOfBOMs=物料清單-BOM ListOfManufacturingOrders=製造訂單清單 NewBOM=新物料清單 -ProductBOMHelp=Product to create (or disassemble) with this BOM.
Note: Products with the property 'Nature of product' = 'Raw material' are not visible into this list. +ProductBOMHelp=使用此物料清單建立(或拆解)產品。
注記:具有"產品屬性"的產品="原料"不會顯示於此清單 BOMsNumberingModules=BOM編號範本 BOMsModelModule=BOM文件範本 MOsNumberingModules=MO編號範本 @@ -39,7 +39,7 @@ DateStartPlannedMo=計劃開始日期 DateEndPlannedMo=計劃結束日期 KeepEmptyForAsap=空白表示“盡快” EstimatedDuration=預計時間 -EstimatedDurationDesc=Estimated duration to manufacture (or disassemble) this product using this BOM +EstimatedDurationDesc=使用此物料清單製造(或拆解)此產品的預計工期 ConfirmValidateBom=您確定要使用參考%s來驗證物料清單(您將能夠使用它來建立新的製造訂單) ConfirmCloseBom=您確定要取消此物料清單(您將無法再使用它來建立新的製造訂單)? ConfirmReopenBom=您確定要重新打開此物料清單嗎(您將能夠使用它來建立新的製造訂單) @@ -63,14 +63,14 @@ ConsumeAndProduceAll=消耗並生產所有產品 Manufactured=已製造 TheProductXIsAlreadyTheProductToProduce=要增加的產品已經是要生產的產品。 ForAQuantityOf=數量為%s -ForAQuantityToConsumeOf=For a quantity to disassemble of %s +ForAQuantityToConsumeOf=%s中拆解的數量 ConfirmValidateMo=您確定要驗證此製造訂單嗎? ConfirmProductionDesc=通過點擊“%s”,您將驗證數量設定的消耗量和/或生產量。這還將更新庫存並記錄庫存動向。 ProductionForRef=生產%s AutoCloseMO=如果達到消耗和生產的數量,則自動關閉製造訂單 NoStockChangeOnServices=服務無庫存變化 ProductQtyToConsumeByMO=開放MO仍要消耗的產品數量 -ProductQtyToProduceByMO=Product quantity still to produce by open MO +ProductQtyToProduceByMO=產品數量仍由開放MO生產 AddNewConsumeLines=增加新的行來使用 ProductsToConsume=消耗的產品 ProductsToProduce=生產的產品 diff --git a/htdocs/langs/zh_TW/opensurvey.lang b/htdocs/langs/zh_TW/opensurvey.lang index 51a4283c721..ff927bfc863 100644 --- a/htdocs/langs/zh_TW/opensurvey.lang +++ b/htdocs/langs/zh_TW/opensurvey.lang @@ -1,61 +1,61 @@ # Dolibarr language file - Source file is en_US - opensurvey -Survey=Poll -Surveys=Polls -OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select the type of poll... -NewSurvey=New poll -OpenSurveyArea=Polls area -AddACommentForPoll=You can add a comment into poll... -AddComment=Add comment -CreatePoll=Create poll -PollTitle=Poll title -ToReceiveEMailForEachVote=Receive an email for each vote -TypeDate=Type date -TypeClassic=Type standard -OpenSurveyStep2=Select your dates among the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it -RemoveAllDays=Remove all days -CopyHoursOfFirstDay=Copy hours of first day -RemoveAllHours=Remove all hours -SelectedDays=Selected days -TheBestChoice=The best choice currently is -TheBestChoices=The best choices currently are -with=with -OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. -CommentsOfVoters=Comments of voters -ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) -RemovePoll=Remove poll -UrlForSurvey=URL to communicate to get a direct access to poll -PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: -CreateSurveyDate=Create a date poll -CreateSurveyStandard=Create a standard poll -CheckBox=Simple checkbox -YesNoList=List (empty/yes/no) -PourContreList=List (empty/for/against) -AddNewColumn=Add new column -TitleChoice=Choice label -ExportSpreadsheet=Export result spreadsheet -ExpireDate=極限日期 -NbOfSurveys=Number of polls -NbOfVoters=No. of voters -SurveyResults=Results -PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. -5MoreChoices=5 more choices -Against=Against -YouAreInivitedToVote=You are invited to vote for this poll -VoteNameAlreadyExists=This name was already used for this poll -AddADate=Add a date -AddStartHour=Add start hour -AddEndHour=Add end hour -votes=vote(s) -NoCommentYet=No comments have been posted for this poll yet -CanComment=Voters can comment in the poll -CanSeeOthersVote=Voters can see other people's vote -SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format:
- empty,
- "8h", "8H" or "8:00" to give a meeting's start hour,
- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. -BackToCurrentMonth=Back to current month -ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation -ErrorOpenSurveyOneChoice=Enter at least one choice -ErrorInsertingComment=There was an error while inserting your comment -MoreChoices=Enter more choices for the voters -SurveyExpiredInfo=The poll has been closed or voting delay has expired. -EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s -ShowSurvey=Show survey -UserMustBeSameThanUserUsedToVote=You must have voted and use the same user name that the one used to vote, to post a comment +Survey=調查 +Surveys=調查 +OrganizeYourMeetingEasily=輕鬆組織會議和調查。首先選擇調查的類型... +NewSurvey=新調查 +OpenSurveyArea=調查區 +AddACommentForPoll=您可以在調查中加入評論... +AddComment=增加評論 +CreatePoll=建立調查 +PollTitle=調查標題 +ToReceiveEMailForEachVote=每次投票都會收到一封電子郵件 +TypeDate=日期類型 +TypeClassic=標準類型 +OpenSurveyStep2=在空閒日中選擇日期(灰色)。所選的日期為綠色。您可以通過再次點擊來取消先前選擇的日期 +RemoveAllDays=全部刪除 +CopyHoursOfFirstDay=複制第一天的時間 +RemoveAllHours=刪除所有時間 +SelectedDays=已選擇的日子 +TheBestChoice=目前最好的選擇是 +TheBestChoices=目前最好的選擇是 +with=與 +OpenSurveyHowTo=如果您同意在此次調查中投票,則必須給出自己的名字,選擇最適合您的值,並使用該行末尾的加號按鈕進行驗證。 +CommentsOfVoters=投票人的評論 +ConfirmRemovalOfPoll=您確定要刪除此調查(以及所有投票)嗎? +RemovePoll=刪除調查 +UrlForSurvey=調查的直接網址 +PollOnChoice=您正在建立多項選擇的調查。首先為您的調查輸入所有可能的選擇: +CreateSurveyDate=建立日期調查 +CreateSurveyStandard=建立標準調查 +CheckBox=簡易勾選框 +YesNoList=清單(空/是/否) +PourContreList=清單(空/支持/反對) +AddNewColumn=增加新欄位 +TitleChoice=選擇標籤 +ExportSpreadsheet=匯出結果表格 +ExpireDate=調查截止日 +NbOfSurveys=投票次數 +NbOfVoters=投票人數 +SurveyResults=結果 +PollAdminDesc=您可以使用“編輯”按鈕更改此民意調查的所有投票行。您也可以使用%s刪除列或行。您也可以使用%s增加新列。 +5MoreChoices=再多5個選項 +Against=反對 +YouAreInivitedToVote=您被邀請參加此項調查 +VoteNameAlreadyExists=此名稱已用於此調查 +AddADate=增加日期 +AddStartHour=增加開始時間 +AddEndHour=增加結束時間 +votes=投票 +NoCommentYet=尚未有此調查的評論 +CanComment=投票者可以在調查中發表評論 +CanSeeOthersVote=投票者可以看到其他人的投票 +SelectDayDesc=對於每個選定的日期,您可以依照以下格式選擇是否選擇開會時間:
-空的
-“ 8h”,“ 8H”或“ 8:00”指定會議的開始時間,
-“ 8-11”,“ 8h-11h”,“ 8H-11H”或“ 8:00-11:00”給出會議的開始和結束時間,
-同樣的用“ 8h15-11h15”,“ 8H15-11H15”或“ 8:15-11:15”表示,但要加上分鐘。 +BackToCurrentMonth=回到目前月份 +ErrorOpenSurveyFillFirstSection=您尚未填寫建立調查的第一部分 +ErrorOpenSurveyOneChoice=輸入至少一個選項 +ErrorInsertingComment=插入您的評論時出錯 +MoreChoices=為投票者輸入更多選項 +SurveyExpiredInfo=投票已關閉或投票已到期。 +EmailSomeoneVoted=%s已填滿一行。\n您可以在以下連結找到您的調查:\n%s +ShowSurvey=顯示調查 +UserMustBeSameThanUserUsedToVote=您必須已投票並使用與投票時相同的用戶名來發表評論 diff --git a/htdocs/langs/zh_TW/orders.lang b/htdocs/langs/zh_TW/orders.lang index 2f23c61d0db..37fbc2d0e30 100644 --- a/htdocs/langs/zh_TW/orders.lang +++ b/htdocs/langs/zh_TW/orders.lang @@ -17,8 +17,8 @@ ToOrder=製作訂單 MakeOrder=製作訂單 SupplierOrder=採購訂單 SuppliersOrders=採購訂單 -SaleOrderLines=Sale order lines -PurchaseOrderLines=Puchase order lines +SaleOrderLines=銷售訂單行 +PurchaseOrderLines=採購訂單行 SuppliersOrdersRunning=目前的採購訂單 CustomerOrder=銷售訂單 CustomersOrders=銷售訂單 diff --git a/htdocs/langs/zh_TW/other.lang b/htdocs/langs/zh_TW/other.lang index 15b6f7aec08..ad8c0fde085 100644 --- a/htdocs/langs/zh_TW/other.lang +++ b/htdocs/langs/zh_TW/other.lang @@ -114,7 +114,7 @@ DemoCompanyAll=有多項活動的公司(所有主要模組) CreatedBy=由%s建立 ModifiedBy=由%s修改 ValidatedBy=由%s驗證 -SignedBy=Signed by %s +SignedBy=由%s簽署 ClosedBy=由%s關閉 CreatedById=建立的用戶ID ModifiedById=進行最新更改的用戶ID @@ -129,7 +129,7 @@ ClosedByLogin=已關閉的用戶登入名稱 FileWasRemoved=檔案%s已刪除 DirWasRemoved=資料夾%s已刪除 FeatureNotYetAvailable=此功能在目前版本中尚不可用 -FeatureNotAvailableOnDevicesWithoutMouse=Feature not available on devices without mouse +FeatureNotAvailableOnDevicesWithoutMouse=沒有滑鼠的設備上不可用的功能 FeaturesSupported=已支援功能 Width=寬度 Height=高度 @@ -184,7 +184,7 @@ EnableGDLibraryDesc=在PHP安裝上安裝或啟用GD程式庫以使用此選項 ProfIdShortDesc=Prof Id %s的資訊取決於合作方國家/地區。
例如,對於國家%s ,其代碼為%s 。 DolibarrDemo=Dolibarr的ERP / CRM的DEMO StatsByNumberOfUnits=產品/服務數量統計 -StatsByNumberOfEntities=Statistics for number of referring entities (no. of invoices, or orders...) +StatsByNumberOfEntities=參考實體數量的統計數據(發票數量或訂單數量...) NumberOfProposals=提案/建議書的數量 NumberOfCustomerOrders=銷售訂單數量 NumberOfCustomerInvoices=客戶發票數量 @@ -246,7 +246,7 @@ NewKeyIs=這是您的新登入密碼 NewKeyWillBe=您用於登入軟體的新密鑰將為 ClickHereToGoTo=點擊這裡前往%s YouMustClickToChange=您必須先點擊以下連結驗證此密碼更改 -ConfirmPasswordChange=Confirm password change +ConfirmPasswordChange=確認密碼變更 ForgetIfNothing=如果您沒有請求此更改,請忽略此電子郵件。您的憑證仍保持安全狀態。 IfAmountHigherThan=如果金額高於 %s SourcesRepository=資料庫 @@ -264,7 +264,7 @@ ContactCreatedByEmailCollector=電子郵件收集器從電子郵件MSGID %s建 ProjectCreatedByEmailCollector=電子郵件收集器從電子郵件MSGID %s建立的專案 TicketCreatedByEmailCollector=電子郵件收集器從電子郵件MSGID %s建立的服務單 OpeningHoursFormatDesc=使用-分隔營業開始時間和營業結束時間。
使用空格輸入不同的範圍。
範例:8-12 14-18 -SuffixSessionName=Suffix for session name +SuffixSessionName=程序名稱的後綴 ##### Export ##### ExportsArea=出口地區 @@ -290,4 +290,4 @@ PopuProp=依照在提案中受歡迎程度列出的產品/服務 PopuCom=依照在訂單中受歡迎程度列出的產品/服務 ProductStatistics=產品/服務統計 NbOfQtyInOrders=訂單數量 -SelectTheTypeOfObjectToAnalyze=Select an object to view its statistics... +SelectTheTypeOfObjectToAnalyze=選擇一個項目以查看其統計資訊... diff --git a/htdocs/langs/zh_TW/partnership.lang b/htdocs/langs/zh_TW/partnership.lang index 34be595010d..f28af8cf442 100644 --- a/htdocs/langs/zh_TW/partnership.lang +++ b/htdocs/langs/zh_TW/partnership.lang @@ -16,66 +16,66 @@ # # Generic # -ModulePartnershipName=Partnership management -PartnershipDescription=Module Partnership management -PartnershipDescriptionLong= Module Partnership management +ModulePartnershipName=合作夥伴關係管理 +PartnershipDescription=合作夥伴管理模組 +PartnershipDescriptionLong= 合作夥伴管理模組 -AddPartnership=Add partnership -CancelPartnershipForExpiredMembers=Partnership: Cancel partnership of members with expired subscriptions -PartnershipCheckBacklink=Partnership: Check referring backlink +AddPartnership=增加合作夥伴 +CancelPartnershipForExpiredMembers=合作夥伴:取消訂閱過期會員的合作關係 +PartnershipCheckBacklink=合作夥伴:檢查參考反向連結 # # Menu # -NewPartnership=New Partnership -ListOfPartnerships=List of partnership +NewPartnership=新合作夥伴 +ListOfPartnerships=合作夥伴清單 # # Admin page # -PartnershipSetup=Partnership setup -PartnershipAbout=About Partnership -PartnershipAboutPage=Partnership about page -partnershipforthirdpartyormember=Partner status must be set on a 'thirdparty' or a 'member' -PARTNERSHIP_IS_MANAGED_FOR=Partnership managed for -PARTNERSHIP_BACKLINKS_TO_CHECK=Backlinks to check -PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=Nb of days before cancelling status of a partnership when a subscription has expired -ReferingWebsiteCheck=Check of website referring -ReferingWebsiteCheckDesc=You can enable a feature to check that your partners has added a backlink to your website domains on their own website. +PartnershipSetup=合作夥伴設定 +PartnershipAbout=關於合作夥伴 +PartnershipAboutPage=合作夥伴關於頁面 +partnershipforthirdpartyormember=合作夥伴狀態必須設定為“合作方”或“會員” +PARTNERSHIP_IS_MANAGED_FOR=夥伴關係管理 +PARTNERSHIP_BACKLINKS_TO_CHECK=要檢查的反向連結 +PARTNERSHIP_NBDAYS_AFTER_MEMBER_EXPIRATION_BEFORE_CANCEL=訂閱到期後取消合作關係狀態前的 Nb 天 +ReferingWebsiteCheck=檢查網站參考 +ReferingWebsiteCheckDesc=您可以啟用一項功能來檢查您的合作夥伴是否在他們自己的網站上增加了指向您網站網域的反向連結。 # # Object # -DeletePartnership=Delete a partnership -PartnershipDedicatedToThisThirdParty=Partnership dedicated to this third party -PartnershipDedicatedToThisMember=Partnership dedicated to this member +DeletePartnership=刪除合作夥伴 +PartnershipDedicatedToThisThirdParty=致力於此合作方的合作夥伴 +PartnershipDedicatedToThisMember=致力於此會員的合作夥伴 DatePartnershipStart=開始日期 DatePartnershipEnd=結束日期 -ReasonDecline=Decline reason -ReasonDeclineOrCancel=Decline reason -PartnershipAlreadyExist=Partnership already exist -ManagePartnership=Manage partnership -BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website -ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership? -PartnershipType=Partnership type +ReasonDecline=拒絕原因 +ReasonDeclineOrCancel=拒絕原因 +PartnershipAlreadyExist=合作夥伴已存在 +ManagePartnership=管理合作夥伴 +BacklinkNotFoundOnPartnerWebsite=在合作夥伴網站上找不到反向連結 +ConfirmClosePartnershipAsk=您確定要取消此合作關係嗎? +PartnershipType=合作夥伴類型 # # Template Mail # -SendingEmailOnPartnershipWillSoonBeCanceled=Partnership will soon be canceled -SendingEmailOnPartnershipRefused=Partnership refused -SendingEmailOnPartnershipAccepted=Partnership accepted -SendingEmailOnPartnershipCanceled=Partnership canceled +SendingEmailOnPartnershipWillSoonBeCanceled=合作關係即將取消 +SendingEmailOnPartnershipRefused=已拒絕合作 +SendingEmailOnPartnershipAccepted=已接受合作 +SendingEmailOnPartnershipCanceled=已取消合作夥伴 -YourPartnershipWillSoonBeCanceledTopic=Partnership will soon be canceled -YourPartnershipRefusedTopic=Partnership refused -YourPartnershipAcceptedTopic=Partnership accepted -YourPartnershipCanceledTopic=Partnership canceled +YourPartnershipWillSoonBeCanceledTopic=合作關係即將取消 +YourPartnershipRefusedTopic=已拒絕合作 +YourPartnershipAcceptedTopic=已接受合作 +YourPartnershipCanceledTopic=已取消合作 -YourPartnershipWillSoonBeCanceledContent=We inform you that your partnership will soon be canceled (Backlink not found) -YourPartnershipRefusedContent=We inform you that your partnership request has been refused. -YourPartnershipAcceptedContent=We inform you that your partnership request has been accepted. -YourPartnershipCanceledContent=We inform you that your partnership has been canceled. +YourPartnershipWillSoonBeCanceledContent=我們通知您,您的合作夥伴關係即將取消(未找到反向連結) +YourPartnershipRefusedContent=我們通知您,您的合作請求已被拒絕。 +YourPartnershipAcceptedContent=我們通知您,您的合作請求已被接受。 +YourPartnershipCanceledContent=我們通知您,您的合作夥伴關係已被取消。 # # Status @@ -84,4 +84,4 @@ PartnershipDraft=草稿 PartnershipAccepted=已接受 PartnershipRefused=已拒絕 PartnershipCanceled=已取消 -PartnershipManagedFor=Partners are +PartnershipManagedFor=合作夥伴是 diff --git a/htdocs/langs/zh_TW/productbatch.lang b/htdocs/langs/zh_TW/productbatch.lang index 82f4324aa0e..31fa9757e65 100644 --- a/htdocs/langs/zh_TW/productbatch.lang +++ b/htdocs/langs/zh_TW/productbatch.lang @@ -1,10 +1,10 @@ # ProductBATCH language file - Source file is en_US - ProductBATCH ManageLotSerial=使用批次/序號數字 -ProductStatusOnBatch=Yes (lot required) -ProductStatusOnSerial=Yes (unique serial number required) +ProductStatusOnBatch=是(需要批號/序號) +ProductStatusOnSerial=是(需要唯一的批號/序號) ProductStatusNotOnBatch=不是(不使用批次/序號) -ProductStatusOnBatchShort=Lot -ProductStatusOnSerialShort=Serial +ProductStatusOnBatchShort=批號 +ProductStatusOnSerialShort=序號 ProductStatusNotOnBatchShort=No Batch=批次/序號 atleast1batchfield=有效日期或銷售日期或批次/序號 @@ -24,22 +24,20 @@ ProductLotSetup=批次/序號模組的設定 ShowCurrentStockOfLot=顯示關聯產品/批次的目前庫存 ShowLogOfMovementIfLot=顯示產品/批次的移動記錄 StockDetailPerBatch=每批次的庫存詳細資料 -SerialNumberAlreadyInUse=Serial number %s is already used for product %s -TooManyQtyForSerialNumber=You can only have one product %s for serial number %s -BatchLotNumberingModules=Options for automatic generation of batch products managed by lots -BatchSerialNumberingModules=Options for automatic generation of batch products managed by serial numbers -ManageLotMask=Custom mask -CustomMasks=Adds an option to define mask in the product card -LotProductTooltip=Adds an option in the product card to define a dedicated batch number mask -SNProductTooltip=Adds an option in the product card to define a dedicated serial number mask -QtyToAddAfterBarcodeScan=Qty to add for each barcode/lot/serial scanned -LifeTime=Life span (in days) -EndOfLife=End of life -ManufacturingDate=Manufacturing date -DestructionDate=Destruction date -FirstUseDate=First use date -QCFrequency=Quality control frequency (in days) +SerialNumberAlreadyInUse= 序號%s已經被產品%s使用 +TooManyQtyForSerialNumber=序號%s只能使用在產品%s上 +ManageLotMask=自定義遮罩 +CustomMasks=為每個產品定義不同編號遮罩的選項 +BatchLotNumberingModules=自動產生批號的編號規則 +BatchSerialNumberingModules=自動產生序號的編號規則(對每一個具有 1 個唯一批號/序號的產品) +QtyToAddAfterBarcodeScan=每一個已掃描的條碼/批號/序號要增加的數量 +LifeTime=有效期(天) +EndOfLife=已到期 +ManufacturingDate=生產日期 +DestructionDate=銷毀日期 +FirstUseDate=首次使用日期 +QCFrequency=品質控制頻率(天) #Traceability - qc status OutOfOrder=Out of order -InWorkingOrder=In working order +InWorkingOrder=在生產訂單中 diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index e34cc1f39a4..1885cb18f9d 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -43,7 +43,7 @@ ServicesOnSaleOnly=僅供銷售服務 ServicesOnPurchaseOnly=僅供採購服務 ServicesNotOnSell=無法銷售與採購之服務 ServicesOnSellAndOnBuy=可供銷售與購買之服務 -LastModifiedProductsAndServices=Latest %s products/services which were modified +LastModifiedProductsAndServices=最新%s筆已修改的產品/服務 LastRecordedProducts=最新 %s 紀錄的產品 LastRecordedServices=最新%s 紀錄的服務 CardProduct0=產品 @@ -73,12 +73,12 @@ SellingPrice=售價 SellingPriceHT=售價(不含稅) SellingPriceTTC=售價(含稅) SellingMinPriceTTC=最低售價(含稅) -CostPriceDescription=This price field (excl. tax) can be used to capture the average amount this product costs to your company. It may be any price you calculate yourself, for example, from the average buying price plus average production and distribution cost. +CostPriceDescription=此價格欄位(不含稅)可用於取得該產品給貴公司的平均價格。它可以是您自己計算的任何價格,例如,根據平均購買價格加上平均生產和分銷成本得出的價格。 CostPriceUsage=此值可用於利潤計算。 SoldAmount=銷售數量 PurchasedAmount=購買數量 NewPrice=新價格 -MinPrice=Min. selling price +MinPrice=最低售價 EditSellingPriceLabel=修改售價標籤 CantBeLessThanMinPrice=售價不能低於該產品的最低售價(%s 不含稅)。如果你輸入的折扣過高也會出現此訊息。 ContractStatusClosed=已關閉 @@ -141,7 +141,7 @@ VATRateForSupplierProduct=營業稅率(此供應商/產品) DiscountQtyMin=此數量的折扣。 NoPriceDefinedForThisSupplier=沒有此供應商/產品定義的價格/數量 NoSupplierPriceDefinedForThisProduct=沒有定義此產品供應商價格/數量 -PredefinedItem=Predefined item +PredefinedItem=預定義項目 PredefinedProductsToSell=預定義產品 PredefinedServicesToSell=預定義服務 PredefinedProductsAndServicesToSell=預定義的可銷售產品/服務 @@ -157,11 +157,11 @@ ListServiceByPopularity=熱門服務列表 Finished=成品 RowMaterial=原材料 ConfirmCloneProduct=您確定要複製產品或服務%s嗎? -CloneContentProduct=Clone all main information of the product/service +CloneContentProduct=複製產品/服務的所有主要資訊 ClonePricesProduct=複製價格 -CloneCategoriesProduct=Clone linked tags/categories -CloneCompositionProduct=Clone virtual products/services -CloneCombinationsProduct=Clone the product variants +CloneCategoriesProduct=複製已連結標籤/類別 +CloneCompositionProduct=複製虛擬產品/服務 +CloneCombinationsProduct=複製產品變異 ProductIsUsed=該產品是用於 NewRefForClone=新的產品/服務參考 SellingPrices=銷售價格 @@ -170,12 +170,12 @@ CustomerPrices=客戶價格 SuppliersPrices=供應商價格 SuppliersPricesOfProductsOrServices=供應商價格(產品或服務) CustomCode=海關|商品| HS碼 -CountryOrigin=Country of origin -RegionStateOrigin=Region of origin -StateOrigin=State|Province of origin -Nature=Nature of product (raw/manufactured) +CountryOrigin=原產地 +RegionStateOrigin=原產地 +StateOrigin=州|原產地 +Nature=產品性質(原料/成品) NatureOfProductShort=產品性質 -NatureOfProductDesc=Raw material or manufactured product +NatureOfProductDesc=原料或成品 ShortLabel=短標籤 Unit=單位 p=u. @@ -277,7 +277,7 @@ PriceByCustomer=每個客戶的價格不同 PriceCatalogue=每個產品/服務的單次銷售價格 PricingRule=售價規則 AddCustomerPrice=依客戶新增價格 -ForceUpdateChildPriceSoc=為客戶子公司設置相同的價格 +ForceUpdateChildPriceSoc=為客戶子公司設定相同的價格 PriceByCustomerLog=舊客戶價格的日誌 MinimumPriceLimit=最低價格不能低於%s MinimumRecommendedPrice=最低建議價格是:%s @@ -296,6 +296,7 @@ ComposedProductIncDecStock=母產品變更時增加/減少庫存 ComposedProduct=子產品 MinSupplierPrice=最低採購價格 MinCustomerPrice=最低銷售價格 +NoDynamicPrice=沒有動態價格 DynamicPriceConfiguration=動態價格設置 DynamicPriceDesc=您可以定義數學公式來計算客戶或供應商的價格。這樣的公式可以使用所有數學運算符,一些常數和變數。您可以在此處定義要使用的變數。如果變數需要自動更新,則可以定義外部URL以允許Dolibarr自動更新值。 AddVariable=增加變數 @@ -314,7 +315,7 @@ LastUpdated=最新更新 CorrectlyUpdated=更新成功 PropalMergePdfProductActualFile=用於增加到PDF Azur的文件是 PropalMergePdfProductChooseFile=選擇PDF文件 -IncludingProductWithTag=Include products/services with tag +IncludingProductWithTag=包含有標籤的產品/服務 DefaultPriceRealPriceMayDependOnCustomer=預設價格,實際價格可能取決於客戶 WarningSelectOneDocument=請至少選擇一份文件 DefaultUnitToShow=單位 diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 7057f38a761..5137b622b09 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -10,19 +10,19 @@ PrivateProject=專案聯絡人 ProjectsImContactFor=我是聯絡人的專案 AllAllowedProjects=我可以讀取的所有專案(我的+公共項目) AllProjects=所有專案 -MyProjectsDesc=This view is limited to the projects that you are a contact for +MyProjectsDesc=此檢視僅顯示您為聯絡人之專案 ProjectsPublicDesc=此檢視顯示您被允許讀取的所有專案。 TasksOnProjectsPublicDesc=此檢視顯示您可讀取之專案的所有任務。 ProjectsPublicTaskDesc=此檢視顯示所有您可以讀取之專案與任務。 ProjectsDesc=此檢視顯示全部專案(您的用戶權限授予您檢視所有內容)。 TasksOnProjectsDesc=此檢視顯示所有專案上的所有任務(您的用戶權限授予您檢視所有內容)。 -MyTasksDesc=This view is limited to the projects or tasks that you are a contact for +MyTasksDesc=此檢視僅顯示您是聯絡人之專案或任務 OnlyOpenedProject=僅顯示開放專案(不顯示草案或是已關閉狀態之專案) ClosedProjectsAreHidden=不顯示已關閉專案 TasksPublicDesc=此檢視顯示您可讀取之所有專案及任務。 TasksDesc=此檢視顯示所有專案及任務(您的用戶權限授予您查看所有內容)。 AllTaskVisibleButEditIfYouAreAssigned=合格專案的所有任務都可見,但是您只能輸入分配給所選用戶之任務的時間。如果需要輸入時間,請分配任務。 -OnlyYourTaskAreVisible=Only tasks assigned to you are visible. If you need to enter time on a task and if the task is not visible here, then you need to assign the task to yourself. +OnlyYourTaskAreVisible=僅顯示分配給您的任務。如果您需要輸入時間並且看不見任務,則您需要將任務分配給自己。 ImportDatasetTasks=專案任務 ProjectCategories=專案標籤/類別 NewProject=新專案 @@ -89,7 +89,7 @@ TimeConsumed=已消耗 ListOfTasks=任務清單 GoToListOfTimeConsumed=前往工作時間清單 GanttView=甘特圖 -ListWarehouseAssociatedProject=List of warehouses associated to the project +ListWarehouseAssociatedProject=與專案有關的倉庫清單 ListProposalsAssociatedProject=與專案有關的商業建議書清單 ListOrdersAssociatedProject=與專案相關的銷售訂單清單 ListInvoicesAssociatedProject=與專案相關的客戶發票清單 @@ -202,7 +202,7 @@ ResourceNotAssignedToTheTask=未分配給任務 NoUserAssignedToTheProject=沒有分配給此專案的用戶 TimeSpentBy=花費時間者 TasksAssignedTo=任務分配給 -AssignTaskToMe=Assign task to myself +AssignTaskToMe=分配任務給自己 AssignTaskToUser=將任務分配給%s SelectTaskToAssign=選擇要分配的任務... AssignTask=分配 @@ -267,11 +267,11 @@ InvoiceToUse=發票草稿 NewInvoice=新發票 OneLinePerTask=每個任務一行 OneLinePerPeriod=每個週期一行 -OneLinePerTimeSpentLine=One line for each time spent declaration +OneLinePerTimeSpentLine=一行為一筆時間花費申報 RefTaskParent=參考上層任務 ProfitIsCalculatedWith=利潤計算是使用 -AddPersonToTask=Add also to tasks -UsageOrganizeEvent=Usage: Event Organization -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=Classify project as closed when all its tasks are completed (100%% progress) -PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=Note: existing projects with all tasks at 100 %% progress won't be affected: you will have to close them manually. This option only affects open projects. -SelectLinesOfTimeSpentToInvoice=Select lines of time spent that are unbilled, then bulk action "Generate Invoice" to bill them +AddPersonToTask=也增加到任務 +UsageOrganizeEvent=用途:事件組織 +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE=當所有任務完成時將專案分類為關閉(進度100%%) +PROJECT_CLASSIFY_CLOSED_WHEN_ALL_TASKS_DONE_help=注意:所有任務進度為 100%% 的現有專案不會受到影響:您必須手動關閉它們。此選項僅影響打開的專案。 +SelectLinesOfTimeSpentToInvoice=選擇未計費的時間行,然後批次操作“產生發票”來計費 diff --git a/htdocs/langs/zh_TW/propal.lang b/htdocs/langs/zh_TW/propal.lang index ba1758df186..acdb64c9cc0 100644 --- a/htdocs/langs/zh_TW/propal.lang +++ b/htdocs/langs/zh_TW/propal.lang @@ -59,7 +59,7 @@ ConfirmClonePropal=您確定您要完整複製商業提案/建議書%s? ConfirmReOpenProp=您確定要再打開商業提案/建議書%s嗎? ProposalsAndProposalsLines=商業提案/建議書和行 ProposalLine=提案/建議書行 -ProposalLines=Proposal lines +ProposalLines=提案/建議書行 AvailabilityPeriod=交貨期 SetAvailability=設定交貨期 AfterOrder=訂單後 diff --git a/htdocs/langs/zh_TW/receptions.lang b/htdocs/langs/zh_TW/receptions.lang index 07092969024..798b7f6efcb 100644 --- a/htdocs/langs/zh_TW/receptions.lang +++ b/htdocs/langs/zh_TW/receptions.lang @@ -44,4 +44,4 @@ ValidateOrderFirstBeforeReception=您必須先驗證訂單,然後才能進行 ReceptionsNumberingModules=收貨編號模組 ReceptionsReceiptModel=收貨用文件範本 NoMorePredefinedProductToDispatch=沒有更多預定義的產品要調度 -ReceptionExist=A reception exists +ReceptionExist=有櫃台 diff --git a/htdocs/langs/zh_TW/recruitment.lang b/htdocs/langs/zh_TW/recruitment.lang index f1f347585b2..beb5762cbe2 100644 --- a/htdocs/langs/zh_TW/recruitment.lang +++ b/htdocs/langs/zh_TW/recruitment.lang @@ -50,27 +50,27 @@ PositionsToBeFilled=工作職位 ListOfPositionsToBeFilled=工作職位清單 NewPositionToBeFilled=新職位 -JobOfferToBeFilled=Job position to be filled +JobOfferToBeFilled=職位空缺 ThisIsInformationOnJobPosition=工作職位空缺訊息 ContactForRecruitment=招聘連絡人 EmailRecruiter=電子郵件招聘者 ToUseAGenericEmail=使用普通電子郵件。如果未定義,將使用招聘負責人的電子郵件 -NewCandidature=New application -ListOfCandidatures=List of applications +NewCandidature=新申請 +ListOfCandidatures=申請清單 RequestedRemuneration=要求的薪資 ProposedRemuneration=擬議薪資 ContractProposed=擬議合約 ContractSigned=合約已簽訂 -ContractRefused=Contract refused -RecruitmentCandidature=Application +ContractRefused=合約被拒絕 +RecruitmentCandidature=申請 JobPositions=工作職位 -RecruitmentCandidatures=Applications +RecruitmentCandidatures=申請 InterviewToDo=面試事項 -AnswerCandidature=Application answer -YourCandidature=Your application -YourCandidatureAnswerMessage=Thanks you for your application.
... -JobClosedTextCandidateFound=The job position is closed. The position has been filled. -JobClosedTextCanceled=The job position is closed. -ExtrafieldsJobPosition=Complementary attributes (job positions) -ExtrafieldsApplication=Complementary attributes (job applications) -MakeOffer=Make an offer +AnswerCandidature=申請回覆 +YourCandidature=您的申請 +YourCandidatureAnswerMessage=感謝您的申請。
... +JobClosedTextCandidateFound=此職位已關閉。此職位已招聘完成。 +JobClosedTextCanceled=此職位已關閉。 +ExtrafieldsJobPosition=補充屬性(職位) +ExtrafieldsApplication=補充屬性(工作申請) +MakeOffer=開價 diff --git a/htdocs/langs/zh_TW/salaries.lang b/htdocs/langs/zh_TW/salaries.lang index f741a3a051c..8770b38b150 100644 --- a/htdocs/langs/zh_TW/salaries.lang +++ b/htdocs/langs/zh_TW/salaries.lang @@ -2,20 +2,23 @@ SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=用戶合作方使用的會計帳戶 SALARIES_ACCOUNTING_ACCOUNT_PAYMENT_Desc=用戶卡上定義的專用會計帳戶將僅用於子帳會計。如果未定義用戶專用的用戶帳戶,則此帳戶將用於“總帳”,並作為“子帳”帳戶的默認值。 SALARIES_ACCOUNTING_ACCOUNT_CHARGE=默認支付薪資的會計帳戶 +CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT=預設,當建立薪資時將"自動建立所有支付"選項留空 Salary=薪資 Salaries=薪資 -NewSalaryPayment=新支付薪資 +NewSalary=新薪資 +NewSalaryPayment=新薪資卡 AddSalaryPayment=新增支付薪資 SalaryPayment=支付薪資 SalariesPayments=支付薪資 +SalariesPaymentsOf=%s 的薪資支付 ShowSalaryPayment=顯示支付薪資 THM=平均時薪 TJM=平均日薪 CurrentSalary=目前薪資 THMDescription=如果使用此模組項目,則此值可用於計算用戶輸入的項目所花費的時間成本 TJMDescription=目前數值僅用於提供信息,不用於任何計算 -LastSalaries=最新的%s支付薪資 -AllSalaries=所有支付薪資 +LastSalaries=Latest %s salaries +AllSalaries=All salaries SalariesStatistics=薪資統計 -# Export SalariesAndPayments=薪資與支付 +ConfirmDeleteSalaryPayment=Do you want to delete this salary payment ? diff --git a/htdocs/langs/zh_TW/sendings.lang b/htdocs/langs/zh_TW/sendings.lang index ef3e9fc3a8d..fcdd10a92c7 100644 --- a/htdocs/langs/zh_TW/sendings.lang +++ b/htdocs/langs/zh_TW/sendings.lang @@ -43,14 +43,14 @@ ConfirmValidateSending=您確定要使用參考%s驗證此出貨嗎? ConfirmCancelSending=您確定要取消此出貨嗎? DocumentModelMerou=Merou A5 範本 WarningNoQtyLeftToSend=警告,沒有等待出貨的產品。 -StatsOnShipmentsOnlyValidated=Statistics are only for validated shipments. Date used is the date of validation of shipment (planned delivery date is not always known) +StatsOnShipmentsOnlyValidated=統計數據僅適用於經過驗證的出貨。日期是使用出貨驗證日期(並不是總是知道計劃的出貨日期) DateDeliveryPlanned=預計交貨日期 RefDeliveryReceipt=參考交貨收據 -StatusReceipt=交貨收據狀態 +StatusReceipt=送貨單狀態 DateReceived=收貨日期 ClassifyReception=收貨分類 -SendShippingByEMail=通過電子郵件發送出貨 -SendShippingRef=提交出貨%s +SendShippingByEMail=通過電子郵件寄送出貨 +SendShippingRef=提交出貨%s ActionsOnShipping=出貨事件 LinkToTrackYourPackage=連結追踪您的包裹 ShipmentCreationIsDoneFromOrder=目前,新建立出貨已經由訂單卡完成。 diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index 39839073299..318a92ed1a9 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -60,7 +60,7 @@ EnhancedValueOfWarehouses=倉庫價值 UserWarehouseAutoCreate=新增用戶時自動新增用戶倉庫 AllowAddLimitStockByWarehouse=除了每個產品的最小和期望庫存值之外,還管理每個配對(產品倉庫)的最小和期望庫存值 RuleForWarehouse=倉庫規則 -WarehouseAskWarehouseOnThirparty=Set a warehouse on third-party +WarehouseAskWarehouseOnThirparty=為合作方設定倉庫 WarehouseAskWarehouseDuringPropal=為商業提案/建議書設定一個倉庫 WarehouseAskWarehouseDuringOrder=在銷售訂單上設定一個倉庫 UserDefaultWarehouse=在用戶上設定一個倉庫 @@ -89,15 +89,15 @@ NoPredefinedProductToDispatch=沒有此專案的預定義產品。因此無需 DispatchVerb=調度 StockLimitShort=警報限制 StockLimit=庫存限制的警報 -StockLimitDesc=(empty) means no warning.
0 can be used to trigger a warning as soon as the stock is empty. +StockLimitDesc=(空白)表示沒有警告。
0 可用於庫存為0時立即觸發警告。 PhysicalStock=實體庫存 RealStock=實際庫存 RealStockDesc=實體/實際庫存是目前倉庫中的庫存。 RealStockWillAutomaticallyWhen=實際庫存將根據以下規則(在“庫存”模組中定義)進行修改: VirtualStock=虛擬庫存 VirtualStockAtDate=截至日期的虛擬庫存 -VirtualStockAtDateDesc=Virtual stock once all the pending orders that are planned to be processed before the chosen date will be finished -VirtualStockDesc=Virtual stock is the calculated stock available once all open/pending actions (that affect stocks) are closed (purchase orders received, sales orders shipped, manufacturing orders produced, etc) +VirtualStockAtDateDesc=虛擬庫存將於即將執行的待辦訂單所選擇的日期前完成 +VirtualStockDesc=虛擬庫存是在所有未完成/待辦操作(影響庫存)關閉(收到採購訂單、銷售訂單發貨、生產製造訂單等)後計算出的庫存 AtDate=目前 IdWarehouse=編號倉庫 DescWareHouse=說明倉庫 @@ -105,7 +105,7 @@ LieuWareHouse=本地化倉庫 WarehousesAndProducts=倉庫和產品 WarehousesAndProductsBatchDetail=倉庫和產品(有批次/序列的詳細信息) AverageUnitPricePMPShort=加權平均價格 -AverageUnitPricePMPDesc=The input average unit price we had to expense to get 1 unit of product into our stock. +AverageUnitPricePMPDesc=我們取得一單位產品進入我們庫存所需要的花費為平均輸入單價 SellPriceMin=銷售單價 EstimatedStockValueSellShort=銷售價值 EstimatedStockValueSell=銷售價值 @@ -123,9 +123,9 @@ DesiredStockDesc=該庫存量將是用於補貨功能中補充庫存的值。 StockToBuy=訂購 Replenishment=補貨 ReplenishmentOrders=補貨單 -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical stock + open orders) may differ -UseRealStockByDefault=Use real stock, instead of virtual stock, for replenishment feature -ReplenishmentCalculation=Amount to order will be (desired quantity - real stock) instead of (desired quantity - virtual stock) +VirtualDiffersFromPhysical=根據新增/減少庫存選項,真實庫存與虛擬庫存(真實庫存加開放訂單)也許不同 +UseRealStockByDefault=為補貨功能使用真實庫存而不是虛擬庫存 +ReplenishmentCalculation=訂購數量將是(需求數量 - 實際庫存)而不是(需求數量 - 虛擬庫存) UseVirtualStock=使用虛擬庫存 UsePhysicalStock=使用實體庫存 CurentSelectionMode=目前選擇模式 @@ -134,7 +134,7 @@ CurentlyUsingPhysicalStock=實體庫存 RuleForStockReplenishment=補貨規則 SelectProductWithNotNullQty=選擇至少一個數量不為空的產品和一個供應商 AlertOnly= 只警告 -IncludeProductWithUndefinedAlerts = Include also negative stock for products with no desired quantity defined, to restore them to 0 +IncludeProductWithUndefinedAlerts = 也包括未定義需求數量產品的負庫存,將其恢復為 0 WarehouseForStockDecrease=倉庫%s將用於減少庫存 WarehouseForStockIncrease=倉庫%s將用於庫存增加 ForThisWarehouse=用於這個倉庫 @@ -145,7 +145,7 @@ Replenishments=補貨 NbOfProductBeforePeriod=選則期間以前產品%s庫存的數量(<%s) NbOfProductAfterPeriod=選則期間之後產品%s庫存的數量(> %s) MassMovement=全部活動 -SelectProductInAndOutWareHouse=Select a source warehouse and a target warehouse, a product and a quantity then click "%s". Once this is done for all required movements, click on "%s". +SelectProductInAndOutWareHouse=選擇一個來源倉庫,目標倉庫,產品與數量然後點選"%s"。當所有移動後完成後請點選"%s"。 RecordMovement=記錄轉移 ReceivingForSameOrder=此訂單的收據 StockMovementRecorded=庫存變動已記錄 @@ -154,7 +154,7 @@ StockMustBeEnoughForInvoice=庫存水平必須足以將產品/服務新增到發 StockMustBeEnoughForOrder=庫存水平必須足以將產品/服務新增到訂單中(將此筆加到訂單中時,無論自動庫存更改的規則如何,都要對當前實際庫存進行檢查) StockMustBeEnoughForShipment= 庫存水平必須足以將產品/服務新增到發貨中(將此筆加到發貨中時,無論自動庫存更改的規則如何,都要對當前實際庫存進行檢查) MovementLabel=產品移動標籤 -TypeMovement=Direction of movement +TypeMovement=移動方向 DateMovement=移動日期 InventoryCode=移動或庫存代碼 IsInPackage=包含在包裝中 @@ -167,8 +167,8 @@ MovementTransferStock=將產品%s庫存轉移到另一個倉庫 InventoryCodeShort=庫存/移動碼 NoPendingReceptionOnSupplierOrder=由於是未完成採購訂單,沒有待處理的接收處 ThisSerialAlreadyExistWithDifferentDate=此批號/序列號( %s )已存在,但入庫日期或出庫日期不同(找到%s,但您輸入%s )。 -OpenAll=打開所有活動 -OpenInternal=僅開啟內部活動 +OpenAnyMovement=開啟(所有移動) +OpenInternal=開啟(只有內部移動) UseDispatchStatus=產品在採購訂單接收處時,使用一個調度狀態(批准/拒絕) OptionMULTIPRICESIsOn=選項“分段價格”已啟用。這意味著一個產品有多個售價,因此無法計算出銷售價值 ProductStockWarehouseCreated=已正確產生庫存限制警報和需求最佳庫存 @@ -236,23 +236,23 @@ StockIsRequiredToChooseWhichLotToUse=庫存需要選擇要使用的批次 ForceTo=強制到 AlwaysShowFullArbo=在倉庫連結的彈出窗口上顯示完整的倉庫樹狀圖(警告:這可能會大大降低性能) StockAtDatePastDesc=您可以在此處檢視給定之過去日期的庫存(實際庫存) -StockAtDateFutureDesc=You can view here the stock (virtual stock) at a given date in the future +StockAtDateFutureDesc=您可以在此檢視未來某一天的庫存(虛擬庫存) CurrentStock=目前庫存 InventoryRealQtyHelp=將值設定為0以重置數量
保持欄位為空或刪除行以保持不變 -UpdateByScaning=Fill real qty by scaning +UpdateByScaning=使用掃描填入實際數量 UpdateByScaningProductBarcode=掃描更新(產品條碼) UpdateByScaningLot=掃描更新(批次|序列條碼) -DisableStockChangeOfSubProduct=Deactivate the stock change for all the subproducts of this Kit during this movement. +DisableStockChangeOfSubProduct=在此移動期間停止此組合所有子產品的庫存變化。 ImportFromCSV=匯入CSV移動清單 ChooseFileToImport=上傳檔案,然後點擊%s圖示以選擇要匯入的檔案... SelectAStockMovementFileToImport=選擇要匯入的庫存移動檔案 -InfoTemplateImport=Uploaded file needs to have this format (* are mandatory fields):
Source Warehouse* | Target Warehouse* | Product* | Quantity* | Lot/serial number
CSV character separator must be "%s" +InfoTemplateImport=上傳的檔案需要採用這種格式(*為必填欄位):
來源倉庫* |目標倉庫* |產品* |數量* |批號/序號
CSV 字元分隔符號必須是“ %s ” LabelOfInventoryMovemement=%s的庫存 ReOpen=重新打開 -ConfirmFinish=Do you confirm the closing of the inventory ? This will generate all stock movements to update your stock to the real qty you entered into the inventory. -ObjectNotFound=%s not found -MakeMovementsAndClose=Generate movements and close -AutofillWithExpected=Fill real quantity with expected quantity -ShowAllBatchByDefault=By default, show batch details on product "stock" tab -CollapseBatchDetailHelp=You can set batch detail default display in stocks module configuration -FieldCannotBeNegative=Field "%s" cannot be negative +ConfirmFinish=您確定要關閉此盤點嗎?這將使得產生所有庫存移動並且更新您庫存中的真實數量。 +ObjectNotFound=未發現%s +MakeMovementsAndClose=產生移動並關閉 +AutofillWithExpected=用預期數量填入實際數量 +ShowAllBatchByDefault=預設,在產品"庫存"分頁顯示批次詳細資料 +CollapseBatchDetailHelp=您可以在庫存模組設定中設定預設顯示批次詳細資料 +FieldCannotBeNegative=欄位“%s”不能為負值 diff --git a/htdocs/langs/zh_TW/supplier_proposal.lang b/htdocs/langs/zh_TW/supplier_proposal.lang index 7bb87f2607e..b029b7f1ee2 100644 --- a/htdocs/langs/zh_TW/supplier_proposal.lang +++ b/htdocs/langs/zh_TW/supplier_proposal.lang @@ -1,27 +1,28 @@ # Dolibarr language file - Source file is en_US - supplier_proposal SupplierProposal=供應商商業提案/建議書 supplier_proposalDESC=管理對供應商的價格要求 -SupplierProposalNew=新價格要求 -CommRequest=價格要求 -CommRequests=請求報價 -SearchRequest=搜尋要求 -DraftRequests=草擬要求 +SupplierProposalNew=新供應商報價 +CommRequest=供應商報價 +CommRequests=供應商報價 +SearchRequest=搜尋供應商報價 +DraftRequests=供應商報價草案 SupplierProposalsDraft=供應商提案/建議書草稿 LastModifiedRequests=最新%s的價格要求 -RequestsOpened=公開價格要求 +RequestsOpened=打開的報價 SupplierProposalArea=供應商提案/建議書區 SupplierProposalShort=供應商提案/建議書 SupplierProposals=供應商提案/建議書 SupplierProposalsShort=供應商提案/建議書 -NewAskPrice=新價格要求 -ShowSupplierProposal=顯示價格要求 -AddSupplierProposal=新增價格要求 +AskPrice=供應商報價 +NewAskPrice=新供應商報價 +ShowSupplierProposal=顯示供應商報價 +AddSupplierProposal=建立供應商價格報價 SupplierProposalRefFourn=供應商參考 SupplierProposalDate=交貨日期 SupplierProposalRefFournNotice=在關閉成為“已接受”之前,請確認供應商的參考。 -ConfirmValidateAsk=您確定要以名稱%s驗證此價格要求嗎? -DeleteAsk=刪除要求 -ValidateAsk=驗證要求 +ConfirmValidateAsk=您確定要以名稱%s驗證此供應商報價嗎? +DeleteAsk=刪除供應商報價 +ValidateAsk=驗證供應商報價 SupplierProposalStatusDraft=草案(等待驗證) SupplierProposalStatusValidated=已驗證(要求已打開) SupplierProposalStatusClosed=已關閉 @@ -32,23 +33,26 @@ SupplierProposalStatusValidatedShort=已驗證 SupplierProposalStatusClosedShort=已關閉 SupplierProposalStatusSignedShort=已接受 SupplierProposalStatusNotSignedShort=已拒絕 -CopyAskFrom=複製現有要求以建立價格要求 -CreateEmptyAsk=新增空白的要求 -ConfirmCloneAsk=您確定要複製價格請求%s嗎? -ConfirmReOpenAsk=您確定要重新打開價格請求%s嗎? -SendAskByMail=使用郵件發送價格要求 -SendAskRef=傳送價格要求%s -SupplierProposalCard=要求卡 -ConfirmDeleteAsk=您確定要刪除此價格要求%s嗎? -ActionsOnSupplierProposal=價格要求紀錄 +CopyAskFrom=複製現有報價以建立供應商報價 +CreateEmptyAsk=建立空白的供應商報價 +ConfirmCloneAsk=您確定要複製供應商報價%s嗎? +ConfirmReOpenAsk=您確定要重新打開供應商報價%s嗎? +SendAskByMail=使用郵件發送供應商報價 +SendAskRef=傳送供應商報價%s +SupplierProposalCard=供應商報價需求卡 +ConfirmDeleteAsk=您確定要刪除供應商報價%s嗎? +ActionsOnSupplierProposal=供應商報價事件 DocModelAuroreDescription=完整的需求模組(logo...) -CommercialAsk=價格要求 -DefaultModelSupplierProposalCreate=預設模型新增 -DefaultModelSupplierProposalToBill=關閉價格要求時的預設範本(已接受) -DefaultModelSupplierProposalClosed=關閉價格要求時的預設範本(已拒絕) +CommercialAsk=供應商報價 +DefaultModelSupplierProposalCreate=預設模型建立 +DefaultModelSupplierProposalToBill=關閉供應商報價時的預設範本(已接受) +DefaultModelSupplierProposalClosed=關閉供應商報價時的預設範本(已拒絕) ListOfSupplierProposals=要求供應商提案/建議書清單 ListSupplierProposalsAssociatedProject=專案中供應商提案/建議書清單 SupplierProposalsToClose=將供應商提案/建議書結案 SupplierProposalsToProcess=將處理供應商提案/建議書 -LastSupplierProposals=最新%s價格要求 -AllPriceRequests=所有要求 +LastSupplierProposals=最新%s的供應商報價 +AllPriceRequests=所有供應商報價 +TypeContact_supplier_proposal_external_SHIPPING=供應商出貨聯絡人 +TypeContact_supplier_proposal_external_BILLING=供應商發票聯絡人 +TypeContact_supplier_proposal_external_SERVICE=提案/建議書聯絡人 diff --git a/htdocs/langs/zh_TW/ticket.lang b/htdocs/langs/zh_TW/ticket.lang index ed96eadd5bc..ccc31d1e214 100644 --- a/htdocs/langs/zh_TW/ticket.lang +++ b/htdocs/langs/zh_TW/ticket.lang @@ -34,7 +34,8 @@ TicketDictResolution=服務單-決議 TicketTypeShortCOM=商業問題 TicketTypeShortHELP=請求有用的幫助 -TicketTypeShortISSUE=錯誤或問題 +TicketTypeShortISSUE=問題或錯誤 +TicketTypeShortPROBLEM=問題 TicketTypeShortREQUEST=變更或增強要求 TicketTypeShortPROJET=專案 TicketTypeShortOTHER=其他 @@ -54,14 +55,15 @@ TypeContact_ticket_internal_SUPPORTTEC=已分配用戶 TypeContact_ticket_external_SUPPORTCLI=客戶聯絡人/事件追踪 TypeContact_ticket_external_CONTRIBUTOR=外部合作者 -OriginEmail=電子郵件來源 +OriginEmail=Reporter Email Notify_TICKET_SENTBYMAIL=以電子郵件發送服務單訊息 # Status Read=已讀取 Assigned=已分配 InProgress=進行中 -NeedMoreInformation=等待訊息 +NeedMoreInformation=等待作者回覆 +NeedMoreInformationShort=等待回覆 Answered=已回覆 Waiting=等待中 Closed=已關閉 @@ -117,7 +119,7 @@ TicketsShowModuleLogoHelp=啟用此選項可在公共界面的頁面中隱藏商 TicketsShowCompanyLogo=在公共界面上顯示公司商標 TicketsShowCompanyLogoHelp=啟用此選項可在公共界面的頁面中隱藏主要公司的商標 TicketsEmailAlsoSendToMainAddress=同時向主要電子郵件地址寄送通知 -TicketsEmailAlsoSendToMainAddressHelp=Enable this option to also send an email to the address defined into setup "%s" (see tab "%s") +TicketsEmailAlsoSendToMainAddressHelp=啟用此選項會同時寄送一封Email至設定中預設的電子信箱"%s"(查看分頁"%s") TicketsLimitViewAssignedOnly=限制顯示分配給目前用戶的服務單。(對外部用戶無效,始終被限制於他們所依賴的合作方) TicketsLimitViewAssignedOnlyHelp=僅顯示分配給目前用戶的服務單。不適用於具有服務單管理權限的用戶。 TicketsActivatePublicInterface=啟用公共界面 @@ -131,7 +133,7 @@ TicketsDisableCustomerEmail=從公共界面建立服務單時,始終禁用電 TicketsPublicNotificationNewMessage=當有新的訊息/意見新增到服務單時寄送Email TicketsPublicNotificationNewMessageHelp=當公共界面有新增訊息時寄送電子郵件(給已分配用戶或寄送通知電子郵件給(更新)與/或通知電子郵件給) TicketPublicNotificationNewMessageDefaultEmail=通知電子郵件寄送到(更新) -TicketPublicNotificationNewMessageDefaultEmailHelp=Send an email to this address for each new message notifications if the ticket doesn't have a user assigned to it or if the user doesn't have any known email. +TicketPublicNotificationNewMessageDefaultEmailHelp=如果服務單未分配給用戶或是用戶沒有已知的電子郵件則為每一個新訊息提醒寄送一封電子郵件至這個信箱 # # Index & list page # @@ -160,7 +162,7 @@ CreatedBy=建立者 NewTicket=新服務單 SubjectAnswerToTicket=服務單回應 TicketTypeRequest=需求類型 -TicketCategory=群組 +TicketCategory=服務單分類 SeeTicket=查閱服務單 TicketMarkedAsRead=服務單已標記為已讀 TicketReadOn=繼續讀取 @@ -211,6 +213,7 @@ TicketMessageHelp=此段文字將會被儲存在服務單卡片的訊息清單 TicketMessageSubstitutionReplacedByGenericValues=替換變量將被替換為一般值。 TimeElapsedSince=已經過時間 TicketTimeToRead=讀取前經過的時間 +TicketTimeElapsedBeforeSince=之前/之後經過的時間 TicketContacts=聯絡人服務單 TicketDocumentsLinked=已連結到服務單的文件 ConfirmReOpenTicket=您確定要重新開啟此服務單嗎? diff --git a/htdocs/langs/zh_TW/users.lang b/htdocs/langs/zh_TW/users.lang index 9e1e3162a55..5c1503adeb5 100644 --- a/htdocs/langs/zh_TW/users.lang +++ b/htdocs/langs/zh_TW/users.lang @@ -97,8 +97,8 @@ LoginToCreate=登入建立 NameToCreate=合作方的名稱建立 YourRole=您的角色 YourQuotaOfUsersIsReached=你的活躍用戶達到配額! -NbOfUsers=用戶數 -NbOfPermissions=權限數 +NbOfUsers=Number of users +NbOfPermissions=Number of permissions DontDowngradeSuperAdmin=只有超級管理員可以降級超級管理員 HierarchicalResponsible=主管 HierarchicView=分層視圖 diff --git a/htdocs/langs/zh_TW/website.lang b/htdocs/langs/zh_TW/website.lang index cb7499b7303..196b4e91773 100644 --- a/htdocs/langs/zh_TW/website.lang +++ b/htdocs/langs/zh_TW/website.lang @@ -31,7 +31,7 @@ AddWebsite=新增網站 Webpage=網頁/容器 AddPage=新增 頁面/容器 PageContainer=頁面 -PreviewOfSiteNotYetAvailable=您的網站%s預覽尚不可用。您必須先“ 導入完整的網站模板 ”或僅“ 新增頁面/容器 ”。 +PreviewOfSiteNotYetAvailable=The preview of your website %s is not yet available. You must first 'Import a full website template' or just 'Add a page/container'. RequestedPageHasNoContentYet=要求ID為%s的頁面尚無內容,或暫存檔案.tpl.php被刪除。編輯頁面內容以解決此問題。 SiteDeleted=網站'%s'已刪除 PageContent=頁面/內容 diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php index f7930b64c9a..a17445db6cf 100644 --- a/htdocs/loan/note.php +++ b/htdocs/loan/note.php @@ -41,6 +41,8 @@ $langs->loadLangs(array("loan")); // Security check $id = GETPOST('id', 'int'); + +$hookmanager->initHooks(array('loannote')); $result = restrictedArea($user, 'loan', $id, '&loan'); $object = new Loan($db); @@ -55,7 +57,14 @@ $permissionnote = $user->rights->loan->write; // Used by the include of actions_ * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once + +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index bd0d77d3389..e3ada0c6c59 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -80,7 +80,7 @@ function realCharForNumericEntities($matches) * Warning: Such a protection can't be enough. It is not reliable as it will always be possible to bypass this. Good protection can * only be guaranted by escaping data during output. * - * @param string $val Value brut found int $_GET, $_POST or PHP_SELF + * @param string $val Brut value found into $_GET, $_POST or PHP_SELF * @param string $type 0=POST, 1=GET, 2=PHP_SELF, 3=GET without sql reserved keywords (the less tolerant test) * @return int >0 if there is an injection, 0 if none */ @@ -265,7 +265,7 @@ if (!empty($_POST["DOL_AUTOSET_COOKIE"])) { $cookiename = $tmpautoset[0]; $cookievalue = json_encode($cookiearrayvalue); //var_dump('setcookie cookiename='.$cookiename.' cookievalue='.$cookievalue); - setcookie($cookiename, empty($cookievalue) ? '' : $cookievalue, empty($cookievalue) ? 0 : (time() + (86400 * 354)), '/', null, false, true); // keep cookie 1 year and add tag httponly + setcookie($cookiename, empty($cookievalue) ? '' : $cookievalue, empty($cookievalue) ? 0 : (time() + (86400 * 354)), '/', null, (empty($dolibarr_main_force_https) ? false : true), true); // keep cookie 1 year and add tag httponly if (empty($cookievalue)) { unset($_COOKIE[$cookiename]); } @@ -448,7 +448,7 @@ if (!defined('NOTOKENRENEWAL')) { } // Save in $_SESSION['newtoken'] what will be next token. Into forms, we will add param token = $_SESSION['newtoken'] - $token = dol_hash(uniqid(mt_rand(), true)); // Generates a hash of a random number + $token = dol_hash(uniqid(mt_rand(), false), 'md5'); // Generates a hash of a random number. We don't need a secured hash, just a changing random value. $_SESSION['newtoken'] = $token; dol_syslog("NEW TOKEN generated by : " . $_SERVER['PHP_SELF'], LOG_DEBUG); } @@ -460,11 +460,15 @@ if (!defined('NOTOKENRENEWAL')) { if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->global->MAIN_SECURITY_CSRF_WITH_TOKEN)) || defined('CSRFCHECK_WITH_TOKEN')) { // Array of action code where CSRFCHECK with token will be forced (so token must be provided on url request) $arrayofactiontoforcetokencheck = array( - 'activate', 'add', 'addtimespent', 'update', 'install', - 'confirm_create_user', 'confirm_create_thirdparty', 'confirm_purge', 'confirm_reject_check', - 'delete', 'deletefilter', 'deleteoperation', 'deleteprof', 'deletepayment', 'disable', + 'activate', 'add', 'addrights', 'addtimespent', + 'confirm_create_user', 'confirm_create_thirdparty', 'confirm_delete', 'confirm_deletedir', 'confirm_deletefile', 'confirm_purge', 'confirm_reject_check', + 'delete', 'deletefilter', 'deleteoperation', 'deleteprof', 'deletepayment', 'delrights', + 'disable', 'doprev', 'donext', 'dvprev', 'dvnext', - 'enable', 'setpricelevel' + 'enable', + 'install', + 'setpricelevel', + 'update' ); $sensitiveget = false; if (in_array(GETPOST('action', 'aZ09'), $arrayofactiontoforcetokencheck)) { @@ -509,7 +513,7 @@ if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->gl //print 'Unset POST by CSRF protection in main.inc.php.'; // Do not output anything because this create problems when using the BACK button on browsers. setEventMessages('SecurityTokenHasExpiredSoActionHasBeenCanceledPleaseRetry', null, 'warnings'); //if ($conf->global->MAIN_FEATURES_LEVEL >= 1) setEventMessages('Unset POST and GET params by CSRF protection in main.inc.php (Token provided was not generated by the previous page).'."
\n".'$_SERVER[REQUEST_URI] = '.$_SERVER['REQUEST_URI'].' $_SERVER[REQUEST_METHOD] = '.$_SERVER['REQUEST_METHOD'].' GETPOST(token) = '.GETPOST('token', 'alpha').' $_SESSION[token] = '.$_SESSION['token'], null, 'warnings'); - $savid = ((int) $_POST['id']); + if (isset($_POST['id'])) $savid = ((int) $_POST['id']); unset($_POST); //unset($_POST['action']); unset($_POST['massaction']); //unset($_POST['confirm']); unset($_POST['confirmmassaction']); @@ -517,7 +521,7 @@ if ((!defined('NOCSRFCHECK') && empty($dolibarr_nocsrfcheck) && !empty($conf->gl unset($_GET['action']); unset($_GET['confirmmassaction']); unset($_GET['massaction']); - $_POST['id'] = ((int) $savid); + if (isset($savid)) $_POST['id'] = ((int) $savid); } // Note: There is another CSRF protection into the filefunc.inc.php @@ -1689,7 +1693,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr // Global js function print ''."\n"; - print ''."\n"; + print ''."\n"; // JS forced by modules (relative url starting with /) if (!empty($conf->modules_parts['js'])) { // $conf->modules_parts['js'] is array('module'=>array('file1','file2')) @@ -1698,7 +1702,7 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr $filesjs = (array) $filesjs; // To be sure filejs is an array foreach ($filesjs as $jsfile) { // jsfile is a relative path - print ''."\n".''."\n"; + print ''."\n".''."\n"; } } } @@ -1707,9 +1711,9 @@ function top_htmlhead($head, $title = '', $disablejs = 0, $disablehead = 0, $arr print ''."\n"; foreach ($arrayofjs as $jsfile) { if (preg_match('/^(http|\/\/)/i', $jsfile)) { - print ''."\n"; + print ''."\n"; } else { - print ''."\n"; + print ''."\n"; } } } @@ -1854,7 +1858,7 @@ function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER) && $conf->browser->layout != 'phone') { $qs = dol_escape_htmltag($_SERVER["QUERY_STRING"]); - if (is_array($_POST)) { + if (isset($_POST) && is_array($_POST)) { foreach ($_POST as $key => $value) { if ($key !== 'action' && $key !== 'password' && !is_array($value)) { $qs .= '&'.$key.'='.urlencode($value); @@ -2011,27 +2015,25 @@ function top_menu_user($hideloginname = 0, $urllogout = '') $dropdownBody .= ' '.$langs->trans("ShowCompanyInfos").''; $dropdownBody .= '
'; - if (!empty($conf->global->MAIN_INFO_SIREN)) { - $dropdownBody .= '
'.$langs->transcountry("ProfId1Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_SIREN).''; + if ($langs->transcountry("ProfId1", $mysoc->country_code) != '-') { + $dropdownBody .= '
'.$langs->transcountry("ProfId1", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_SIREN).''; } - if (!empty($conf->global->MAIN_INFO_SIRET)) { - $dropdownBody .= '
'.$langs->transcountry("ProfId2Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_SIRET).''; + if ($langs->transcountry("ProfId2", $mysoc->country_code) != '-') { + $dropdownBody .= '
'.$langs->transcountry("ProfId2", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_SIRET).''; } - if (!empty($conf->global->MAIN_INFO_APE)) { - $dropdownBody .= '
'.$langs->transcountry("ProfId3Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_APE).''; + if ($langs->transcountry("ProfId3", $mysoc->country_code) != '-') { + $dropdownBody .= '
'.$langs->transcountry("ProfId3", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_APE).''; } - if (!empty($conf->global->MAIN_INFO_RCS)) { - $dropdownBody .= '
'.$langs->transcountry("ProfId4Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_RCS).''; + if ($langs->transcountry("ProfId4", $mysoc->country_code) != '-') { + $dropdownBody .= '
'.$langs->transcountry("ProfId4", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_RCS).''; } - if (!empty($conf->global->MAIN_INFO_PROFID5)) { - $dropdownBody .= '
'.$langs->transcountry("ProfId5Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_PROFID5).''; + if ($langs->transcountry("ProfId5", $mysoc->country_code) != '-') { + $dropdownBody .= '
'.$langs->transcountry("ProfId5", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_PROFID5).''; } - if (!empty($conf->global->MAIN_INFO_PROFID6)) { - $dropdownBody .= '
'.$langs->transcountry("ProfId6Short", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_PROFID6).''; - } - if (!empty($conf->global->MAIN_INFO_TVAINTRA)) { - $dropdownBody .= '
'.$langs->trans("VATIntraShort").': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_TVAINTRA).''; + if ($langs->transcountry("ProfId6", $mysoc->country_code) != '-') { + $dropdownBody .= '
'.$langs->transcountry("ProfId6", $mysoc->country_code).': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_PROFID6).''; } + $dropdownBody .= '
'.$langs->trans("VATIntraShort").': '.showValueWithClipboardCPButton($conf->global->MAIN_INFO_TVAINTRA).''; $dropdownBody .= '
'; @@ -2063,7 +2065,7 @@ function top_menu_user($hideloginname = 0, $urllogout = '') $dropdownBody .= '
'.$langs->trans("ConnectedSince").': '.dol_print_date($user->datelastlogin, "dayhour", 'tzuser'); $dropdownBody .= '
'.$langs->trans("PreviousConnexion").': '.dol_print_date($user->datepreviouslogin, "dayhour", 'tzuser'); $dropdownBody .= '
'.$langs->trans("CurrentTheme").': '.$conf->theme; - $dropdownBody .= '
'.$langs->trans("CurrentMenuManager").': '.$menumanager->name; + $dropdownBody .= '
'.$langs->trans("CurrentMenuManager").': '.(isset($menumanager) ? $menumanager->name : 'unknown'); $langFlag = picto_from_langcode($langs->getDefaultLang()); $dropdownBody .= '
'.$langs->trans("CurrentUserLanguage").': '.($langFlag ? $langFlag.' ' : '').$langs->getDefaultLang(); @@ -3146,7 +3148,7 @@ if (!function_exists("llxFooter")) { } // Wrapper to add log when clicking on download or preview - if (!empty($conf->blockedlog->enabled) && is_object($object) && $object->id > 0 && $object->statut > 0) { + if (!empty($conf->blockedlog->enabled) && is_object($object) && !empty($object->id) && $object->id > 0 && $object->statut > 0) { if (in_array($object->element, array('facture'))) { // Restrict for the moment to element 'facture' print "\n\n"; ?> diff --git a/htdocs/margin/tabs/thirdpartyMargins.php b/htdocs/margin/tabs/thirdpartyMargins.php index 21e922a9fa7..1b3cc468e5c 100644 --- a/htdocs/margin/tabs/thirdpartyMargins.php +++ b/htdocs/margin/tabs/thirdpartyMargins.php @@ -142,7 +142,7 @@ if ($socid > 0) { // Total Margin print ''.$langs->trans("TotalMargin").''; - print ''; // set by jquery (see below) + print ''; // set by jquery (see below) print ''; // Margin Rate @@ -242,9 +242,9 @@ if ($socid > 0) { print "\n"; print ""; print dol_print_date($db->jdate($objp->datef), 'day').""; - print "".price(price2num($objp->selling_price, 'MT'))."\n"; - print "".price(price2num(($objp->type == 2 ? -1 : 1) * $objp->buying_price, 'MT'))."\n"; - print "".$sign.price(price2num($objp->marge, 'MT'))."\n"; + print "".price(price2num($objp->selling_price, 'MT'))."\n"; + print "".price(price2num(($objp->type == 2 ? -1 : 1) * $objp->buying_price, 'MT'))."\n"; + print "".$sign.price(price2num($objp->marge, 'MT'))."\n"; if (!empty($conf->global->DISPLAY_MARGIN_RATES)) { print "".(($marginRate === '') ? 'n/a' : $sign.price(price2num($marginRate, 'MT'))."%")."\n"; } diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index f0ecc5e4987..86546aa05a7 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -84,7 +84,7 @@ class MyObject extends CommonObject * 'foreignkey'=>'tablename.field' if the field is a foreign key (it is recommanded to name the field fk_...). * 'searchall' is 1 if we want to search in this field when making a search from the quick search button. * 'isameasure' must be set to 1 if you want to have a total on list for this field. Field type must be summable like integer or double(24,8). - * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'maxwidth200', 'wordbreak', 'tdoverflowmax200' + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'cssview'=>'wordbreak', 'csslist'=>'tdoverflowmax200' * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. diff --git a/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php b/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php index 43457d6620d..1b95a2a0c20 100644 --- a/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php +++ b/htdocs/modulebuilder/template/core/modules/mymodule/doc/pdf_standard_myobject.modules.php @@ -645,7 +645,7 @@ class pdf_standard_myobject extends ModelePDFMyObject if (!empty($object->lines[$i]->array_options)) { foreach ($object->lines[$i]->array_options as $extrafieldColKey => $extrafieldValue) { if ($this->getColumnStatus($extrafieldColKey)) { - $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey); + $extrafieldValue = $this->getExtrafieldContent($object->lines[$i], $extrafieldColKey, $outputlangs); $this->printStdColumnContent($pdf, $curY, $extrafieldColKey, $extrafieldValue); $nexY = max($pdf->GetY(), $nexY); } diff --git a/htdocs/modulebuilder/template/myobject_card.php b/htdocs/modulebuilder/template/myobject_card.php index cac59593950..b074412b6b3 100644 --- a/htdocs/modulebuilder/template/myobject_card.php +++ b/htdocs/modulebuilder/template/myobject_card.php @@ -434,10 +434,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Show object lines $result = $object->getLinesArray(); - print ' + print ' + '; diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index abc8b879d33..8f4024342d7 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -165,7 +165,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -293,7 +293,7 @@ foreach ($search as $key => $val) { } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -303,10 +303,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; @@ -327,50 +327,62 @@ $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $objec $sql .= $hookmanager->resPrint; /* If a group by is required -$sql.= " GROUP BY "; +$sql .= " GROUP BY "; foreach($object->fields as $key => $val) { - $sql.='t.'.$key.', '; + $sql .= 't.'.$key.', '; } // Add fields from extrafields -if (! empty($extrafields->attributes[$object->table_element]['label'])) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); +if (!empty($extrafields->attributes[$object->table_element]['label'])) { + foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : ''); + } } // Add where from hooks -$parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters, $object); // Note that $action and $object may have been modified by hook -$sql.=$hookmanager->resPrint; -$sql=preg_replace('/,\s*$/','', $sql); +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; +$sql = preg_replace('/,\s*$/', '', $sql); */ -$sql .= $db->order($sortfield, $sortorder); - // Count total nb of records $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + /* This old and fast method to get and count full list returns all record so use a high amount of memory. $resql = $db->query($sql); $nbtotalofrecords = $db->num_rows($resql); + */ + /* The slow method does not consume memory on mysql (not tested on pgsql) */ + /*$resql = $db->query($sql, 0, 'auto', 1); + while ($db->fetch_object($resql)) { + $nbtotalofrecords++; + }*/ + /* This fast and low memory method to get and count full list convert the sql into a sql count */ + $sqlforcount = preg_replace('/^SELECT[a-z0-9\._\s\(\),]+FROM/i', 'SELECT COUNT(*) as nbtotalofrecords FROM', $sql); + $resql = $db->query($sqlforcount); + $objforcount = $db->fetch_object($resql); + $nbtotalofrecords = $objforcount->nbtotalofrecords; if (($page * $limit) > $nbtotalofrecords) { // if total of record found is smaller than page * limit, goto and load page 0 $page = 0; $offset = 0; } + $db->free($resql); } -// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set. -if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit))) { - $num = $nbtotalofrecords; -} else { - if ($limit) { - $sql .= $db->plimit($limit + 1, $offset); - } - $resql = $db->query($sql); - if (!$resql) { - dol_print_error($db); - exit; - } - - $num = $db->num_rows($resql); +// Complete request and execute it with limit +$sql .= $db->order($sortfield, $sortorder); +if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); } +$resql = $db->query($sql); +if (!$resql) { + dol_print_error($db); + exit; +} + +$num = $db->num_rows($resql); + + // Direct jump if only one record found if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { $obj = $db->fetch_object($resql); @@ -383,7 +395,7 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ // Output page // -------------------------------------------------------------------- -llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs'); +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', ''); // Example : Adding jquery code // print ''."\n"; + print ''."\n"; + } // Load object modCodeProduct $module = (!empty($conf->global->PRODUCT_CODEPRODUCT_ADDON) ? $conf->global->PRODUCT_CODEPRODUCT_ADDON : 'mod_codeproduct_leopard'); @@ -1106,11 +1114,12 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Product specific batch number management $status_batch = GETPOST('status_batch'); if ($status_batch !== '0') { + $langs->load("admin"); $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes2"); - $tooltip .= $langs->trans("GenericMaskCodes3"); - $tooltip .= $langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes5"); + $tooltip .= '
'.$langs->trans("GenericMaskCodes2"); + $tooltip .= '
'.$langs->trans("GenericMaskCodes3"); + $tooltip .= '
'.$langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); + $tooltip .= '
'.$langs->trans("GenericMaskCodes5"); if (($conf->global->PRODUCTBATCH_LOT_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_LOT_ADDON == 'mod_lot_advanced') || ($conf->global->PRODUCTBATCH_SN_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_SN_ADDON == 'mod_sn_advanced')) { print ''.$langs->trans("ManageLotMask").''; @@ -1212,8 +1221,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$form->textwithpicto($langs->trans("StockLimit"), $langs->trans("StockLimitDesc"), 1).''; print ''; print ''; - - print ''; + print ''; // Stock desired level print ''.$form->textwithpicto($langs->trans("DesiredStock"), $langs->trans("DesiredStockDesc"), 1).''; @@ -1231,7 +1239,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if ($type == 1) { print ''.$langs->trans("Duration").''; print ''; - print $formproduct->selectMeasuringUnits("duration_unit", "time", GETPOST('duration_value', 'alpha'), 0, 1); + print $formproduct->selectMeasuringUnits("duration_unit", "time", (GETPOSTISSET('duration_value') ? GETPOSTISSET('duration_value', 'alpha') : 'h'), 0, 1); print ''; } @@ -1243,7 +1251,9 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $form->selectarray('finished', $statutarray, GETPOST('finished', 'alpha'), 1); print ''; } + } + if ($type != 1) { if (empty($conf->global->PRODUCT_DISABLE_WEIGHT)) { // Brut Weight print ''.$langs->trans("Weight").''; @@ -1301,7 +1311,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$langs->trans("CountryOrigin").''; print ''; print img_picto('', 'globe-americas', 'class="paddingrightonly"'); - print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id') : $object->country_id), 'country_id', '', 0, 'minwidth300 widthcentpercentminusx'); + print $form->select_country((GETPOSTISSET('country_id') ? GETPOST('country_id') : $object->country_id), 'country_id', '', 0, 'minwidth300 widthcentpercentminusx maxwidth500'); if ($user->admin) { print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1); } @@ -1316,6 +1326,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$form->editfieldkey('StateOrigin', 'state_id', '', $object, 0).''; } + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code); print ''; } @@ -1549,14 +1560,16 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - print ''."\n"; + } // We set country_id, country_code and country for the selected country $object->country_id = GETPOST('country_id') ? GETPOST('country_id') : $object->country_id; @@ -1626,57 +1639,66 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $statutarray = array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch"), '2' => $langs->trans("ProductStatusOnSerial")); print $form->selectarray('status_batch', $statutarray, $object->status_batch); print ''; - if ($object->status_batch !== '0') { + if (!empty($object->status_batch) || !empty($conf->use_javascript_ajax)) { + $langs->load("admin"); $tooltip = $langs->trans("GenericMaskCodes", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes2"); - $tooltip .= $langs->trans("GenericMaskCodes3"); - $tooltip .= $langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); - $tooltip .= $langs->trans("GenericMaskCodes5"); + $tooltip .= '
'.$langs->trans("GenericMaskCodes2"); + $tooltip .= '
'.$langs->trans("GenericMaskCodes3"); + $tooltip .= '
'.$langs->trans("GenericMaskCodes4a", $langs->transnoentities("Batch"), $langs->transnoentities("Batch")); + $tooltip .= '
'.$langs->trans("GenericMaskCodes5"); print ''.$langs->trans("ManageLotMask").''; - if ($object->status_batch == '1' && $conf->global->PRODUCTBATCH_LOT_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_LOT_ADDON == 'mod_lot_advanced') { - $mask = !empty($object->batch_mask) ? $object->batch_mask : $conf->global->LOT_ADVANCED_MASK; + if ($object->status_batch == '1' && getDolGlobalString('PRODUCTBATCH_LOT_USE_PRODUCT_MASKS') && getDolGlobalString('PRODUCTBATCH_LOT_ADDON') == 'mod_lot_advanced') { + $mask = !empty($object->batch_mask) ? $object->batch_mask : getDolGlobalString('LOT_ADVANCED_MASK'); } - if ($object->status_batch == '2' && $conf->global->PRODUCTBATCH_SN_USE_PRODUCT_MASKS && $conf->global->PRODUCTBATCH_SN_ADDON == 'mod_sn_advanced') { - $mask = !empty($object->batch_mask) ? $object->batch_mask : $conf->global->SN_ADVANCED_MASK; + if ($object->status_batch == '2' && getDolGlobalString('PRODUCTBATCH_SN_USE_PRODUCT_MASKS') && getDolGlobalString('PRODUCTBATCH_SN_ADDON') == 'mod_sn_advanced') { + $mask = !empty($object->batch_mask) ? $object->batch_mask : getDolGlobalString('SN_ADVANCED_MASK'); } - $inherited_mask_lot = $conf->global->LOT_ADVANCED_MASK; - $inherited_mask_sn = $conf->global->SN_ADVANCED_MASK; + $inherited_mask_lot = getDolGlobalString('LOT_ADVANCED_MASK'); + $inherited_mask_sn = getDolGlobalString('SN_ADVANCED_MASK'); print ''; print $form->textwithpicto('', $tooltip, 1, 1); - - print ''; + '; + } print ''; } } @@ -1724,6 +1746,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { // Public Url if (empty($conf->global->PRODUCT_DISABLE_PUBLIC_URL)) { print ''.$langs->trans("PublicUrl").''; + print img_picto('', 'globe', 'class="pictofixedwidth"'); print ''; print ''; } @@ -1732,6 +1755,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { if ($object->isProduct() && !empty($conf->stock->enabled)) { // Default warehouse print ''.$langs->trans("DefaultWarehouse").''; + print img_picto($langs->trans("DefaultWarehouse"), 'stock', 'class="pictofixedwidth"'); print $formproduct->selectWarehouses($object->fk_default_warehouse, 'fk_default_warehouse', 'warehouseopen', 1); print ' '; print ''; @@ -1765,7 +1789,16 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $formproduct->selectProductNature('finished', $object->finished); print ''; } + } + if (!$object->isService() && !empty($conf->bom->enabled)) { + print ''.$form->textwithpicto($langs->trans("DefaultBOM"), $langs->trans("DefaultBOMDesc", $langs->transnoentitiesnoconv("Finished"))).''; + $bomkey = "Bom:bom/class/bom.class.php:0:t.status=1 AND t.fk_product=".$object->id; + print $form->selectForForms($bomkey, 'fk_default_bom', $object->fk_default_bom, 1); + print ''; + } + + if (!$object->isService()) { if (empty($conf->global->PRODUCT_DISABLE_WEIGHT)) { // Brut Weight print ''.$langs->trans("Weight").''; @@ -1835,6 +1868,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print ''.$form->editfieldkey('StateOrigin', 'state_id', '', $object, 0).''; } + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code); print ''; print ''; @@ -2248,7 +2282,19 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print $object->getLibFinished(); print ''; } + } + if (!$object->isService() && !empty($conf->bom->enabled) && $object->finished) { + print ''.$form->textwithpicto($langs->trans("DefaultBOM"), $langs->trans("DefaultBOMDesc", $langs->transnoentitiesnoconv("Finished"))).''; + if ($object->fk_default_bom) { + $bom_static = new BOM($db); + $bom_static->fetch($object->fk_default_bom); + print $bom_static->getNomUrl(1); + } + print ''; + } + + if (!$object->isService()) { // Brut Weight if (empty($conf->global->PRODUCT_DISABLE_WEIGHT)) { print ''.$langs->trans("Weight").''; @@ -2399,7 +2445,7 @@ if (($action == 'clone' && (empty($conf->use_javascript_ajax) || !empty($conf->d // Define confirmation messages $formquestionclone = array( 'text' => $langs->trans("ConfirmClone"), - array('type' => 'text', 'name' => 'clone_ref', 'label' => $langs->trans("NewRefForClone"), 'value' => empty($tmpcode) ? $langs->trans("CopyOf").' '.$object->ref : $tmpcode, 'size'=>24), + array('type' => 'text', 'name' => 'clone_ref', 'label' => $langs->trans("NewRefForClone"), 'value' => empty($tmpcode) ? $langs->trans("CopyOf").' '.$object->ref : $tmpcode, 'morecss'=>'width150'), array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneContentProduct"), 'value' => 1), array('type' => 'checkbox', 'name' => 'clone_categories', 'label' => $langs->trans("CloneCategoriesProduct"), 'value' => 1), ); diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 5f4f13056a3..64517c25443 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -93,7 +93,7 @@ class FormProduct } $sql = "SELECT e.rowid, e.ref as label, e.description, e.fk_parent"; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { if (!empty($batch)) { $sql .= ", pb.qty as stock"; } else { @@ -104,7 +104,7 @@ class FormProduct } $sql .= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps on ps.fk_entrepot = e.rowid"; - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $sql .= " AND ps.fk_product = ".((int) $fk_product); if (!empty($batch)) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product_batch as pb on pb.fk_product_stock = ps.rowid AND pb.batch = '".$this->db->escape($batch)."'"; @@ -123,11 +123,11 @@ class FormProduct // minimum stock if ($stockMin !== false) { - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { if (!empty($batch)) { - $sql .= " AND pb.qty > ".$this->db->escape($stockMin); + $sql .= " AND pb.qty > ".((float) $stockMin); } else { - $sql .= " AND ps.reel > ".$this->db->escape($stockMin); + $sql .= " AND ps.reel > ".((float) $stockMin); } } } @@ -137,7 +137,7 @@ class FormProduct // minimum stock if ($stockMin !== false) { - $sql .= " HAVING sum(ps.reel) > ".$this->db->escape($stockMin); + $sql .= " HAVING sum(ps.reel) > ".((float) $stockMin); } } $sql .= " ORDER BY ".$orderBy; @@ -234,7 +234,7 @@ class FormProduct if (empty($conf->global->ENTREPOT_EXTRA_STATUS)) { $filterstatus = ''; } - if (!empty($fk_product)) { + if (!empty($fk_product) && $fk_product > 0) { $this->cache_warehouses = array(); } @@ -414,7 +414,7 @@ class FormProduct dol_print_error($db); return -1; } else { - $return .= ''; if ($adddefault || $adddefault === '') { $return .= ''; } @@ -447,6 +447,8 @@ class FormProduct $return .= ''; } + $return .= ajax_combobox($name); + return $return; } @@ -475,18 +477,13 @@ class FormProduct $filter = array(); $filter['t.active'] = 1; - $result = $productNature->fetchAll( - '', - '', - 0, - 0, - $filter - ); + $result = $productNature->fetchAll('', '', 0, 0, $filter); + if ($result < 0) { dol_print_error($db); return -1; } else { - $return .= ''; if ($showempty || ($selected == '' || $selected == '-1')) { $return .= ''; } - if (!empty($fk_product)) { - $productIdArray = array($fk_product); // only show lot stock for product + if (!empty($fk_product) && $fk_product > 0) { + $productIdArray = array((int) $fk_product); // only show lot stock for product } else { foreach ($this->cache_lot as $key => $value) { $productIdArray[] = $key; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index fdc50d5fe87..9bc127fdf14 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -261,6 +261,13 @@ class Product extends CommonObject */ public $finished; + /** + * fk_default_bom indicates the default bom + * + * @var int + */ + public $fk_default_bom; + /** * We must manage lot/batch number, sell-by date and so on : '1':yes '0':no * @@ -1102,6 +1109,7 @@ class Product extends CommonObject $sql .= ", batch_mask = '".$this->db->escape($this->batch_mask)."'"; $sql .= ", finished = ".((!isset($this->finished) || $this->finished < 0 || $this->finished == '') ? "null" : (int) $this->finished); + $sql .= ", fk_default_bom = ".((!isset($this->fk_default_bom) || $this->fk_default_bom < 0 || $this->fk_default_bom == '') ? "null" : (int) $this->fk_default_bom); $sql .= ", net_measure = ".($this->net_measure != '' ? "'".$this->db->escape($this->net_measure)."'" : 'null'); $sql .= ", net_measure_units = ".($this->net_measure_units != '' ? "'".$this->db->escape($this->net_measure_units)."'" : 'null'); $sql .= ", weight = ".($this->weight != '' ? "'".$this->db->escape($this->weight)."'" : 'null'); @@ -2236,7 +2244,7 @@ class Product extends CommonObject // Check parameters if (!$id && !$ref && !$ref_ext && !$barcode) { $this->error = 'ErrorWrongParameters'; - dol_syslog(get_class($this)."::fetch ".$this->error); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); return -1; } @@ -2244,7 +2252,7 @@ class Product extends CommonObject $sql .= " p.price_min, p.price_min_ttc, p.price_base_type, p.cost_price, p.default_vat_code, p.tva_tx, p.recuperableonly as tva_npr, p.localtax1_tx, p.localtax2_tx, p.localtax1_type, p.localtax2_type, p.tosell,"; $sql .= " p.tobuy, p.fk_product_type, p.duration, p.fk_default_warehouse, p.seuil_stock_alerte, p.canvas, p.net_measure, p.net_measure_units, p.weight, p.weight_units,"; $sql .= " p.length, p.length_units, p.width, p.width_units, p.height, p.height_units,"; - $sql .= " p.surface, p.surface_units, p.volume, p.volume_units, p.barcode, p.fk_barcode_type, p.finished,"; + $sql .= " p.surface, p.surface_units, p.volume, p.volume_units, p.barcode, p.fk_barcode_type, p.finished, p.fk_default_bom,"; if (empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) { $sql .= " p.accountancy_code_buy, p.accountancy_code_buy_intra, p.accountancy_code_buy_export, p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,"; } else { @@ -2286,8 +2294,9 @@ class Product extends CommonObject $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int) $conf->entity); } if ($separatedStock) { - $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product_stock as sp ON sp.fk_product = p.rowid"; + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product_stock as sp ON sp.fk_product = p.rowid AND sp.fk_entrepot IN (SELECT rowid FROM ".MAIN_DB_PREFIX."entrepot WHERE entity IN (".$this->db->sanitize($visibleWarehousesEntities)."))"; } + if ($id) { $sql .= " WHERE p.rowid = ".((int) $id); } else { @@ -2300,9 +2309,6 @@ class Product extends CommonObject $sql .= " AND p.barcode = '".$this->db->escape($barcode)."'"; } } - if ($separatedStock) { - $sql .= " AND sp.fk_entrepot IN (SELECT rowid FROM ".MAIN_DB_PREFIX."entrepot WHERE entity IN (".$this->db->sanitize($visibleWarehousesEntities)."))"; - } if ($separatedStock) { $sql .= " GROUP BY p.rowid, p.ref, p.ref_ext, p.label, p.description, p.url, p.note_public, p.note, p.customcode, p.fk_country, p.fk_state, p.lifetime, p.qc_frequency, p.price, p.price_ttc,"; $sql .= " p.price_min, p.price_min_ttc, p.price_base_type, p.cost_price, p.default_vat_code, p.tva_tx, p.recuperableonly, p.localtax1_tx, p.localtax2_tx, p.localtax1_type, p.localtax2_type, p.tosell,"; @@ -2373,6 +2379,8 @@ class Product extends CommonObject $this->localtax2_type = $obj->localtax2_type; $this->finished = $obj->finished; + $this->fk_default_bom = $obj->fk_default_bom; + $this->duration = $obj->duration; $this->duration_value = substr($obj->duration, 0, dol_strlen($obj->duration) - 1); $this->duration_unit = substr($obj->duration, -1); @@ -5285,17 +5293,6 @@ class Product extends CommonObject } $stock_commande_fournisseur = $this->stats_commande_fournisseur['qty']; } - if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && empty($conf->reception->enabled)) { - $filterStatus = '4'; - if (isset($includedraftpoforvirtual)) { - $filterStatus = '0,'.$filterStatus; - } - $result = $this->load_stats_reception(0, $filterStatus, 1); - if ($result < 0) { - dol_print_error($this->db, $this->error); - } - $stock_reception_fournisseur = $this->stats_reception['qty']; - } if (((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || !empty($conf->supplier_order->enabled) || !empty($conf->supplier_invoice->enabled)) && empty($conf->reception->enabled)) { $filterStatus = '4'; if (isset($includedraftpoforvirtual)) { diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index f10adee334e..4408afd9ff1 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2007-2021 Laurent Destailleur * Copyright (C) 2013-2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify @@ -44,8 +44,8 @@ class Productbatch extends CommonObject public $tms = ''; public $fk_product_stock; - public $sellby = ''; - public $eatby = ''; + public $sellby = ''; // dlc + public $eatby = ''; // dmd/dluo public $batch = ''; public $qty; public $warehouseid; diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index e1250f10cb3..e2539dae31c 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -51,6 +51,9 @@ if (!empty($user->socid)) { $fieldvalue = (!empty($id) ? $id : (!empty($ref) ? $ref : '')); $fieldtype = (!empty($ref) ? 'ref' : 'rowid'); +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('productcompositioncard', 'globalcard')); + $object = new Product($db); $objectid = 0; if ($id > 0 || !empty($ref)) { diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 1234deef497..97f29de72f6 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -103,6 +103,9 @@ if ($id > 0 || $ref) { $object->fetch($id, $ref); } +$usercanread = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->lire) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->lire)); +$usercancreate = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->creer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->creer)); + if ($object->id > 0) { if ($object->type == $object::TYPE_PRODUCT) { restrictedArea($user, 'produit', $object->id, 'product&product', '', ''); @@ -123,9 +126,6 @@ if ($cancel) { $action = ''; } -$usercanread = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->lire) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->lire)); -$usercancreate = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->creer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->creer)); - $parameters = array('socid'=>$socid, 'id_prod'=>$id); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) { @@ -404,13 +404,23 @@ if ($id > 0 || $ref) { print '
'; print ''; + // Type + if (!empty($conf->product->enabled) && !empty($conf->service->enabled)) { + $typeformat = 'select;0:'.$langs->trans("Product").',1:'.$langs->trans("Service"); + print ''; + } + // Cost price. Can be used for margin module for option "calculate margin on explicit cost price print ''; @@ -425,7 +435,7 @@ if ($id > 0 || $ref) { // Best buying Price print ''; - print ''; } print ''; - print ''; + print ''; + print ''; if ($i == 0) { print ''; } @@ -336,11 +337,11 @@ if ((!empty($conf->product->enabled) || !empty($conf->service->enabled)) && ($us $product_static->status_buy = $objp->tobuy; $product_static->status_batch = $objp->tobatch; - //Multilangs + // Multilangs if (!empty($conf->global->MAIN_MULTILANGS)) { $sql = "SELECT label"; $sql .= " FROM ".MAIN_DB_PREFIX."product_lang"; - $sql .= " WHERE fk_product=".$objp->rowid; + $sql .= " WHERE fk_product=".((int) $objp->rowid); $sql .= " AND lang='".$db->escape($langs->getDefaultLang())."'"; $resultd = $db->query($sql); @@ -372,7 +373,7 @@ if ((!empty($conf->product->enabled) || !empty($conf->service->enabled)) && ($us $objp->price = $price_result; } } - print ''; - print ''; - print ''; if ($conf->productbatch->enabled) { - print ''; } @@ -665,8 +770,11 @@ if ($object->id > 0) { print ''; print ''; print ''; + $qty_tmp = price2num(GETPOST("id_".$obj->rowid."_input_tmp", 'MS')) >= 0 ? GETPOST("id_".$obj->rowid."_input_tmp") : $qty_view; + print ''; } else { print $obj->qty_view; $totalfound += $obj->qty_view; @@ -685,7 +793,7 @@ if ($object->id > 0) { print ''; if ($object->status == $object::STATUS_VALIDATED) { - print '
'; + print '
'; } print ''; diff --git a/htdocs/product/inventory/list.php b/htdocs/product/inventory/list.php index 84f9bc137b6..2d6b5374caa 100644 --- a/htdocs/product/inventory/list.php +++ b/htdocs/product/inventory/list.php @@ -49,8 +49,9 @@ $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page == -1 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha') || (empty($toselect) && $massaction === '0')) { + // If $page is not defined, or '' or -1 or if we click on clear filters or if we select empty mass action $page = 0; -} // If $page is not defined, or '' or -1 or if we click on clear filters or if we select empty mass action +} $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; @@ -58,7 +59,9 @@ $pagenext = $page + 1; // Initialize technical objects $object = new Inventory($db); $extrafields = new ExtraFields($db); -$diroutputmassaction = $conf->inventory->dir_output.'/temp/massgeneration/'.$user->id; +// no inventory docs yet +// $diroutputmassaction = $conf->inventory->dir_output.'/temp/massgeneration/'.$user->id; +$diroutputmassaction = null; $hookmanager->initHooks(array('inventorylist')); // Note that conf->hooks_modules contains array // Fetch optionals attributes and labels $extrafields->fetch_name_optionals_label($object->table_element); @@ -66,31 +69,24 @@ $search_array_options = $extrafields->getOptionalsFromPost($object->table_elemen // Default sort order (if not yet defined by previous GETPOST) if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. $sortfield = "t.".key($object->fields); // Set here default search field. By default 1st field in definition. } if (!$sortorder) { $sortorder = "ASC"; } -// Security check -$socid = 0; -if ($user->socid > 0) { // Protection if external user - //$socid = $user->socid; - accessforbidden(); -} -if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { - $result = restrictedArea($user, 'stock', $objectid); -} else { - $result = restrictedArea($user, 'stock', $objectid, '', 'inventory_advance'); -} - // Initialize array of search criterias -$search_all = GETPOST("search_all", 'alpha'); +$search_all = GETPOST('search_all', 'alphanohtml'); $search = array(); foreach ($object->fields as $key => $val) { - if (GETPOST('search_'.$key, 'alpha')) { + if (GETPOST('search_'.$key, 'alpha') !== '') { $search[$key] = GETPOST('search_'.$key, 'alpha'); } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } } // List of fields to search into when doing a "search in all" @@ -101,27 +97,24 @@ foreach ($object->fields as $key => $val) { } } -// Definition of fields for list +// Definition of array of fields for columns $arrayfields = array(); foreach ($object->fields as $key => $val) { // If $val['visible']==0, then we never show the field if (!empty($val['visible'])) { - $arrayfields['t.'.$key] = array('label'=>$val['label'], 'checked'=>(($val['visible'] < 0) ? 0 : 1), 'enabled'=>($val['enabled'] && ($val['visible'] != 3)), 'position'=>$val['position']); + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); } } // Extra fields -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label']) > 0) { - foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - if (!empty($extrafields->attributes[$object->table_element]['list'][$key])) { - $arrayfields["ef.".$key] = array( - 'label'=>$extrafields->attributes[$object->table_element]['label'][$key], - 'checked'=>(($extrafields->attributes[$object->table_element]['list'][$key] < 0) ? 0 : 1), - 'position'=>$extrafields->attributes[$object->table_element]['pos'][$key], - 'enabled'=>(abs($extrafields->attributes[$object->table_element]['list'][$key]) != 3 && $extrafields->attributes[$object->table_element]['perms'][$key]) - ); - } - } -} +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; + $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); @@ -129,13 +122,26 @@ $permissiontoread = $user->rights->stock->lire; $permissiontoadd = $user->rights->stock->creer; $permissiontodelete = $user->rights->stock->supprimer; +// Security check +$socid = 0; +if ($user->socid > 0) { // Protection if external user + //$socid = $user->socid; + accessforbidden(); +} +if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { + $result = restrictedArea($user, 'stock'); +} else { + $result = restrictedArea($user, 'stock', 0, '', 'inventory_advance'); +} + /* * Actions */ if (GETPOST('cancel', 'alpha')) { - $action = 'list'; $massaction = ''; + $action = 'list'; + $massaction = ''; } if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; @@ -155,8 +161,12 @@ if (empty($reshook)) { if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers foreach ($object->fields as $key => $val) { $search[$key] = ''; + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = ''; + $search[$key.'_dtend'] = ''; + } } - $toselect = ''; + $toselect = array(); $search_array_options = array(); } if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha') @@ -184,18 +194,18 @@ $now = dol_now(); //$help_url="EN:Module_Inventory|FR:Module_Inventory_FR|ES:Módulo_Inventory"; $help_url = ''; $title = $langs->trans('ListOfInventories'); +$morejs = array(); +$morecss = array(); // Build and execute select // -------------------------------------------------------------------- $sql = 'SELECT '; -foreach ($object->fields as $key => $val) { - $sql .= 't.'.$key.', '; -} +$sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key.', ' : ''); } } // Add fields from hooks @@ -204,29 +214,48 @@ $reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $obje $sql .= preg_replace('/^,/', '', $hookmanager->resPrint); $sql = preg_replace('/,\s*$/', '', $sql); $sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t"; -if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { +if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; if ($object->ismultientitymanaged == 1) { $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; } else { $sql .= " WHERE 1 = 1"; } foreach ($search as $key => $val) { - if ($key == 'status' && $search[$key] == -1) { - continue; - } - $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if (strpos($object->fields[$key]['type'], 'integer:') === 0) { - if ($search[$key] == '-1') { - $search[$key] = ''; + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } } - $mode_search = 2; - } - if ($search[$key] != '') { - $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); } } + if ($search_all) { $sql .= natural_search(array_keys($fieldstosearchall), $search_all); } @@ -239,7 +268,7 @@ $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters, $objec $sql .= $hookmanager->resPrint; /* If a group by is required -$sql.= " GROUP BY " +$sql.= " GROUP BY "; foreach($object->fields as $key => $val) { $sql.='t.'.$key.', '; @@ -250,7 +279,7 @@ if (! empty($extrafields->attributes[$object->table_element]['label'])) { } // Add where from hooks $parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters); // Note that $action and $object may have been modified by hook +$reshook=$hookmanager->executeHooks('printFieldListGroupBy', $parameters, $object); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql=preg_replace('/,\s*$/','', $sql); */ @@ -296,7 +325,7 @@ if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $ // Output page // -------------------------------------------------------------------- -llxHeader('', $title, $help_url); +llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs'); $arrayofselected = is_array($toselect) ? $toselect : array(); @@ -321,6 +350,10 @@ if ($optioncss != '') { } // Add $param from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; // List of mass actions available $arrayofmassactions = array( @@ -337,7 +370,7 @@ if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'pr } $massactionbutton = $form->selectMassAction('', $arrayofmassactions); -print ''; +print ''."\n"; if ($optioncss != '') { print ''; } @@ -351,7 +384,7 @@ print ''; $newcardbutton = dolGetButtonTitle($langs->trans('New'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/product/inventory/card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $permissiontoadd); -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $object->picto, 0, $newcardbutton, '', $limit); +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, $object->picto, 0, $newcardbutton, '', $limit, 0, 0, 1); // Add code for pre mass action (confirmation or email presend form) $topicmail = "Information"; @@ -391,31 +424,38 @@ $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfi $selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : ''); print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table -print '
'; + print (empty($conf->global->PRODUCT_DENY_CHANGE_PRODUCT_TYPE)) ? $form->editfieldkey("Type", 'fk_product_type', $object->type, $object, 0, $typeformat) : $langs->trans('Type'); + print ''; + print $form->editfieldval("Type", 'fk_product_type', $object->type, $object, 0, $typeformat); + print '
'; $textdesc = $langs->trans("CostPriceDescription"); $textdesc .= "
".$langs->trans("CostPriceUsage"); $text = $form->textwithpicto($langs->trans("CostPrice"), $textdesc, 1, 'help', ''); print $form->editfieldkey($text, 'cost_price', $object->cost_price, $object, $usercancreate, 'amount:6'); - print '
'; + print ''; print $form->editfieldval($text, 'cost_price', $object->cost_price, $object, $usercancreate, 'amount:6'); print '
'.$langs->trans("BuyingPriceMin").''; + print ''; $product_fourn = new ProductFournisseur($db); if ($product_fourn->find_min_price_product_fournisseur($object->id) > 0) { if ($product_fourn->product_fourn_price_id > 0) { diff --git a/htdocs/product/index.php b/htdocs/product/index.php index cab4f537c5d..f08ddd217ab 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -105,7 +105,8 @@ if (!empty($conf->global->MAIN_SEARCH_FORM_ON_HOME_AREAS)) { // This may be print '
'.$langs->trans("Search").'
'; + print ''; if (isset($objp->price_base_type) && $objp->price_base_type == 'TTC') { print price($objp->price_ttc).' '.$langs->trans("TTC"); } else { diff --git a/htdocs/product/inventory/card.php b/htdocs/product/inventory/card.php index 5ec359e5d8a..067869ba5ba 100644 --- a/htdocs/product/inventory/card.php +++ b/htdocs/product/inventory/card.php @@ -49,7 +49,10 @@ if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { // Initialize technical objects $object = new Inventory($db); $extrafields = new ExtraFields($db); -$diroutputmassaction = $conf->stock->dir_output.'/temp/massgeneration/'.$user->id; +// no inventory docs yet +$includedocgeneration = false; +$diroutputmassaction = null; +// $diroutputmassaction = $conf->stock->dir_output.'/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('inventorycard', 'globalcard')); // Note that conf->hooks_modules contains array // Fetch optionals attributes and labels @@ -180,7 +183,7 @@ if ($action == 'create') { if ($backtopage) { print ''; } - if ($backtopageforcancel) { + if (!empty($backtopageforcancel)) { print ''; } @@ -261,10 +264,6 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if ($action == 'delete') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteInventory'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 1); } - // Confirmation to delete line - if ($action == 'deleteline') { - $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_deleteline', '', 0, 1); - } // Clone confirmation if ($action == 'clone') { @@ -290,7 +289,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } // Call Hook formConfirm - $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid); + $parameters = array('formConfirm' => $formconfirm); $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook if (empty($reshook)) { $formconfirm .= $hookmanager->resPrint; @@ -469,7 +468,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // List of actions on element include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; $formactions = new FormActions($db); - $somethingshown = $formactions->showactions($object, 'inventory', $socid, 1, '', $MAXEVENT, '', $morehtmlright); + $somethingshown = $formactions->showactions($object, 'inventory', 0, 1, '', $MAXEVENT, '', $morehtmlright); print ''; } diff --git a/htdocs/product/inventory/class/inventory.class.php b/htdocs/product/inventory/class/inventory.class.php index 1adc9189892..9fb74c96f83 100644 --- a/htdocs/product/inventory/class/inventory.class.php +++ b/htdocs/product/inventory/class/inventory.class.php @@ -65,24 +65,29 @@ class Inventory extends CommonObject const STATUS_CANCELED = 9; /** - * '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') + * 'type' field format ('integer', 'integer:ObjectClass:PathToClass[:AddCreateButtonOrNot[:Filter]]', 'sellist:TableName:LabelFieldName[:KeyFieldName[:KeyFieldParent[:Filter]]]', 'varchar(x)', 'double(24,8)', 'real', 'price', 'text', 'text:none', 'html', 'date', 'datetime', 'timestamp', 'duration', 'mail', 'phone', 'url', 'password') * Note: Filter can be a string like "(t.ref:like:'SO-%') or (t.date_creation:<:'20160101') or (t.nature:is:NULL)" * 'label' the translation key. - * 'enabled' is a condition when the field must be managed. + * 'picto' is code of a picto to show before value in forms + * 'enabled' is a condition when the field must be managed (Example: 1 or '$conf->global->MY_SETUP_PARAM) + * 'position' is the sort order of field. + * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). * 'visible' says if field is visible in list (Examples: 0=Not visible, 1=Visible on list and create/update/view forms, 2=Visible on list only, 3=Visible on create/update/view form only (not list), 4=Visible on list and update/view form only (not create). 5=Visible on list and view only (not create/not update). Using a negative value means field is not shown by default on list but can be selected for viewing) * 'noteditable' says if field is not editable (1 or 0) - * 'notnull' is set to 1 if not null in database. Set to -1 if we must set data to null if empty ('' or 0). - * 'default' is a default value for creation (can still be replaced by the global setup of default values) + * '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_...). - * 'position' is the sort order of field. * '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 - * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * 'css' and 'cssview' and 'csslist' is the CSS style to use on field. 'css' is used in creation and update. 'cssview' is used in view mode. 'csslist' is used for columns in lists. For example: 'maxwidth200', 'wordbreak', 'tdoverflowmax200', 'minwidth300 maxwidth500 widthcentpercentminusx' + * 'help' is a 'TranslationString' to use to show a tooltip on field. You can also use 'TranslationString:keyfortooltiponlick' for a tooltip on click. * 'showoncombobox' if value of the field must be visible into the label of the combobox that list record - * 'arrayofkeyval' to set list of value if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel") + * 'disabled' is 1 if we want to have the field locked by a 'disabled' attribute. In most cases, this is never set into the definition of $fields into class, but is set dynamically by some part of code. + * 'arrayofkeyval' to set a list of values if type is a list of predefined values. For example: array("0"=>"Draft","1"=>"Active","-1"=>"Cancel"). Note that type can be 'integer' or 'varchar' + * 'autofocusoncreate' to have field having the focus on a create form. Only 1 field should have this property set to 1. + * 'comment' is not used. You can store here any text of your choice. It is not used by application. + * + * Note: To have value dynamic, you can set value to 0 in definition and edit the value on the fly into the constructor. */ // BEGIN MODULEBUILDER PROPERTIES @@ -93,17 +98,17 @@ class Inventory extends CommonObject 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'visible'=>-1, 'enabled'=>1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>'Id',), 'ref' => array('type'=>'varchar(64)', 'label'=>'Ref', 'visible'=>1, 'enabled'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1, 'searchall'=>1, 'comment'=>'Reference of object', 'css'=>'maxwidth200'), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'visible'=>0, 'enabled'=>1, 'position'=>20, 'notnull'=>1, 'index'=>1,), - 'title' => array('type'=>'varchar(255)', 'label'=>'Label', 'visible'=>1, 'enabled'=>1, 'position'=>25, 'css'=>'minwidth300'), - 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php', 'label'=>'Warehouse', 'visible'=>1, 'enabled'=>1, 'position'=>30, 'index'=>1, 'help'=>'InventoryForASpecificWarehouse'), - 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php', 'label'=>'Product', 'visible'=>1, 'enabled'=>1, 'position'=>32, 'index'=>1, 'help'=>'InventoryForASpecificProduct'), + 'title' => array('type'=>'varchar(255)', 'label'=>'Label', 'visible'=>1, 'enabled'=>1, 'position'=>25, 'css'=>'minwidth300', 'csslist'=>'tdoverflowmax200'), + 'fk_warehouse' => array('type'=>'integer:Entrepot:product/stock/class/entrepot.class.php', 'label'=>'Warehouse', 'visible'=>1, 'enabled'=>1, 'position'=>30, 'index'=>1, 'help'=>'InventoryForASpecificWarehouse', 'picto'=>'stock', 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'csslist'=>'tdoverflowmax200'), + 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php', 'label'=>'Product', 'visible'=>1, 'enabled'=>1, 'position'=>32, 'index'=>1, 'help'=>'InventoryForASpecificProduct', 'picto'=>'product', 'css'=>'minwidth300 maxwidth500 widthcentpercentminusx', 'csslist'=>'tdoverflowmax200'), 'date_inventory' => array('type'=>'date', 'label'=>'DateValue', 'visible'=>1, 'enabled'=>1, 'position'=>35), 'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>500), 'tms' => array('type'=>'timestamp', 'label'=>'DateModification', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>501), 'date_validation' => array('type'=>'datetime', 'label'=>'DateValidation', 'visible'=>-2, 'enabled'=>1, 'position'=>502), - 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>510, 'foreignkey'=>'user.rowid'), - 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>511), - 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'visible'=>-2, 'enabled'=>1, 'position'=>512), + 'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>1, 'visible'=>-2, 'notnull'=>1, 'position'=>510, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax200'), + 'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'position'=>511, 'csslist'=>'tdoverflowmax200'), + 'fk_user_valid' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserValidation', 'visible'=>-2, 'enabled'=>1, 'position'=>512, 'csslist'=>'tdoverflowmax200'), 'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'notnull'=>-1, 'index'=>0, 'position'=>1000), 'status' => array('type'=>'integer', 'label'=>'Status', 'visible'=>4, 'enabled'=>1, 'position'=>1000, 'notnull'=>1, 'default'=>0, 'index'=>1, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Validated', 2=>'Recorded', 9=>'Canceled')) diff --git a/htdocs/product/inventory/inventory.php b/htdocs/product/inventory/inventory.php index 89394e56e29..01968855836 100644 --- a/htdocs/product/inventory/inventory.php +++ b/htdocs/product/inventory/inventory.php @@ -449,7 +449,7 @@ if ($object->id > 0) { print dol_get_fiche_end(); - print ''; + print ''; print ''; print ''; print ''; @@ -537,11 +537,116 @@ if ($object->id > 0) { // Popup for mass barcode scanning if ($action == 'updatebyscaning') { + if ($permissiontoadd) { + print ''; + } include DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $formother = new FormOther($db); print $formother->getHTMLScannerForm(); } + //Call method to undo changes in real qty + print ''; print '
'; //print '
'; @@ -616,7 +721,7 @@ if ($object->id > 0) { while ($i < $num) { $obj = $db->fetch_object($resql); - if (is_object($cacheOfWarehouses[$obj->fk_warehouse])) { + if (isset($cacheOfWarehouses[$obj->fk_warehouse])) { $warehouse_static = $cacheOfWarehouses[$obj->fk_warehouse]; } else { $warehouse_static = new Entrepot($db); @@ -625,7 +730,7 @@ if ($object->id > 0) { $cacheOfWarehouses[$warehouse_static->id] = $warehouse_static; } - if (is_object($cacheOfProducts[$obj->fk_product])) { + if (isset($cacheOfProducts[$obj->fk_product])) { $product_static = $cacheOfProducts[$obj->fk_product]; } else { $product_static = new Product($db); @@ -639,15 +744,15 @@ if ($object->id > 0) { } print '
'; + print ''; print $warehouse_static->getNomUrl(1); print ''; + print ''; print $product_static->getNomUrl(1); print ''; + print ''; print $obj->batch; print ''; + print '  '; print ''.img_delete().''; print '
'."\n"; +print '
'."\n"; // Fields title search // -------------------------------------------------------------------- print ''; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if ($key == 'status') { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; } @@ -439,14 +479,14 @@ print ''."\n"; // -------------------------------------------------------------------- print ''; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if ($key == 'status') { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { @@ -466,7 +506,7 @@ print ''."\n"; // Detect if we need a fetch on each output line $needToFetchEachLine = 0; -if (is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { +if (isset($extrafields->attributes[$object->table_element]['computed']) && is_array($extrafields->attributes[$object->table_element]['computed']) && count($extrafields->attributes[$object->table_element]['computed']) > 0) { foreach ($extrafields->attributes[$object->table_element]['computed'] as $key => $val) { if (preg_match('/\$object/', $val)) { $needToFetchEachLine++; // There is at least one compute field that use $object @@ -478,6 +518,7 @@ if (is_array($extrafields->attributes[$object->table_element]['computed']) && co // -------------------------------------------------------------------- $i = 0; $totalarray = array(); +$totalarray['nbfield'] = 0; while ($i < ($limit ? min($num, $limit) : $num)) { $obj = $db->fetch_object($resql); if (empty($obj)) { @@ -490,7 +531,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { // Show here line of result print ''; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif ($key == 'status') { @@ -503,7 +544,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; } - if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status') { + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } @@ -511,6 +552,8 @@ while ($i < ($limit ? min($num, $limit) : $num)) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -583,7 +626,8 @@ print '
'; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { - print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); - } elseif (strpos($val['type'], 'integer:') === 0) { - print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1); - } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { - print ''; + print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
'; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
'; + print '
'; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
'; } print '
'."\n"; print '
'."\n"; print ''."\n"; - +// no inventory docs yet +/* if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) { $hidegeneratedfilelistifempty = 1; if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) { @@ -603,7 +647,7 @@ if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $n print $formfile->showdocuments('massfilesarea_mymodule', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty); } - +*/ // End of page llxFooter(); $db->close(); diff --git a/htdocs/product/list.php b/htdocs/product/list.php index 4ec2fcbadb1..a975dc2c21b 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -1023,11 +1023,15 @@ if ($resql) { } // Country if (!empty($arrayfields['p.fk_country']['checked'])) { - print ''.$form->select_country($search_country, 'search_country', '', 0).''; + print ''; + print $form->select_country($search_country, 'search_country', '', 0); + print ''; } // State if (!empty($arrayfields['p.fk_state']['checked'])) { - print ''.$formcompany->select_state($search_state, $search_country).''; + print ''; + print $formcompany->select_state($search_state, $search_country); + print ''; } // Accountancy code sell if (!empty($arrayfields[$alias_product_perentity . '.accountancy_code_sell']['checked'])) { diff --git a/htdocs/product/note.php b/htdocs/product/note.php index b758f414035..c54bd3637ae 100644 --- a/htdocs/product/note.php +++ b/htdocs/product/note.php @@ -63,11 +63,19 @@ if ($object->id > 0) { } +$hookmanager->initHooks(array('productnote')); + + /* * Actions */ - -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/product/price.php b/htdocs/product/price.php index aad0311502d..03867bb65e9 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -717,8 +717,18 @@ if (!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_ $soc->id = $socid; $soc->fetch($socid); + // Type + if (!empty($conf->product->enabled) && !empty($conf->service->enabled)) { + $typeformat = 'select;0:'.$langs->trans("Product").',1:'.$langs->trans("Service"); + print ''; + print (empty($conf->global->PRODUCT_DENY_CHANGE_PRODUCT_TYPE)) ? $form->editfieldkey("Type", 'fk_product_type', $object->type, $object, 0, $typeformat) : $langs->trans('Type'); + print ''; + print $form->editfieldval("Type", 'fk_product_type', $object->type, $object, 0, $typeformat); + print ''; + } + // Selling price - print ''; + print ''; print $langs->trans("SellingPrice"); print ''; print ''; @@ -791,13 +801,33 @@ if (!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_ } } else { if (!empty($conf->global->PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL)) { // using this option is a bug. kept for backward compatibility + // Type + if (!empty($conf->product->enabled) && !empty($conf->service->enabled)) { + $typeformat = 'select;0:'.$langs->trans("Product").',1:'.$langs->trans("Service"); + print ''; + print (empty($conf->global->PRODUCT_DENY_CHANGE_PRODUCT_TYPE)) ? $form->editfieldkey("Type", 'fk_product_type', $object->type, $object, 0, $typeformat) : $langs->trans('Type'); + print ''; + print $form->editfieldval("Type", 'fk_product_type', $object->type, $object, 0, $typeformat); + print ''; + } + // We show only vat for level 1 - print ''.$langs->trans("DefaultTaxRate").''; + print ''.$langs->trans("DefaultTaxRate").''; print ''.vatrate($object->multiprices_tva_tx[1], true).''; print ''; } else { + // Type + if (!empty($conf->product->enabled) && !empty($conf->service->enabled)) { + $typeformat = 'select;0:'.$langs->trans("Product").',1:'.$langs->trans("Service"); + print ''; + print (empty($conf->global->PRODUCT_DENY_CHANGE_PRODUCT_TYPE)) ? $form->editfieldkey("Type", 'fk_product_type', $object->type, $object, 0, $typeformat) : $langs->trans('Type'); + print ''; + print $form->editfieldval("Type", 'fk_product_type', $object->type, $object, 0, $typeformat); + print ''; + } + // TVA - print ''.$langs->trans("DefaultTaxRate").''; + print ''.$langs->trans("DefaultTaxRate").''; $positiverates = ''; if (price2num($object->tva_tx)) { @@ -1108,34 +1138,41 @@ print dol_get_fiche_end(); /* * Action bar */ + + if (!$action || $action == 'delete' || $action == 'showlog_customer_price' || $action == 'showlog_default_price' || $action == 'add_customer_price' || $action == 'activate_price_by_qty' || $action == 'disable_price_by_qty') { print "\n".'
'."\n"; - if ($object->isVariant()) { - if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''; - } - } else { - if (empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { - if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''; - } - } - if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { + $parameters = array(); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been + if (empty($reshook)) { + if ($object->isVariant()) { if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''; + print ''; } - } - - if (!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { - if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''; + } else { + if (empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { + if ($user->rights->produit->creer || $user->rights->service->creer) { + print ''; + } } - if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''; + if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { + if ($user->rights->produit->creer || $user->rights->service->creer) { + print ''; + } + } + + if (!empty($conf->global->PRODUIT_MULTIPRICES) || !empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES)) { + if ($user->rights->produit->creer || $user->rights->service->creer) { + print ''; + } + + if ($user->rights->produit->creer || $user->rights->service->creer) { + print ''; + } } } } diff --git a/htdocs/product/reassortlot.php b/htdocs/product/reassortlot.php index ea9901a3794..65e69b91384 100644 --- a/htdocs/product/reassortlot.php +++ b/htdocs/product/reassortlot.php @@ -343,10 +343,10 @@ if ($resql) { print ''; print ' '; print ' '; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ' '; } - if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { print ' '; } print ' '; @@ -367,12 +367,12 @@ if ($resql) { print_liste_field_titre("Warehouse", $_SERVER["PHP_SELF"], "e.ref", $param, "", '', $sortfield, $sortorder); //print_liste_field_titre("DesiredStock", $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'',$sortfield,$sortorder, 'right ); print_liste_field_titre("Batch", $_SERVER["PHP_SELF"], "pb.batch", $param, "", '', $sortfield, $sortorder, 'center '); - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print_liste_field_titre("EatByDate", $_SERVER["PHP_SELF"], "pb.eatby", $param, "", '', $sortfield, $sortorder, 'center '); - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print_liste_field_titre("SellByDate", $_SERVER["PHP_SELF"], "pb.sellby", $param, "", '', $sortfield, $sortorder, 'center '); } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print_liste_field_titre("EatByDate", $_SERVER["PHP_SELF"], "pb.eatby", $param, "", '', $sortfield, $sortorder, 'center '); + } print_liste_field_titre("PhysicalStock", $_SERVER["PHP_SELF"], "stock_physique", $param, "", '', $sortfield, $sortorder, 'right '); // TODO Add info of running suppliers/customers orders //print_liste_field_titre("TheoreticalStock",$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'',$sortfield,$sortorder, 'right '); @@ -470,23 +470,30 @@ if ($resql) { } print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.dol_print_date($db->jdate($objp->eatby), 'day').''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.dol_print_date($db->jdate($objp->sellby), 'day').''; } + + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.dol_print_date($db->jdate($objp->eatby), 'day').''; + } + print ''; //if ($objp->seuil_stock_alerte && ($objp->stock_physique < $objp->seuil_stock_alerte)) print img_warning($langs->trans("StockTooLow")).' '; print $objp->stock_physique; print ''; + print ''; print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"'); print ''.$langs->trans("Movements").''; print ''; + print ''.$product_static->LibStatut($objp->statut, 5, 0).''; + print ''.$product_static->LibStatut($objp->tobuy, 5, 1).''; + print ''; + print "\n"; $i++; } diff --git a/htdocs/product/stats/card.php b/htdocs/product/stats/card.php index 6929c70a5ff..3e7d9045dc8 100644 --- a/htdocs/product/stats/card.php +++ b/htdocs/product/stats/card.php @@ -59,6 +59,9 @@ if (!empty($user->socid)) { $fieldvalue = (!empty($id) ? $id : $ref); $fieldtype = (!empty($ref) ? 'ref' : 'rowid'); +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('productstatscard', 'globalcard')); + $tmp = dol_getdate(dol_now()); $currentyear = $tmp['year']; if (empty($search_year)) { diff --git a/htdocs/product/stock/class/productlot.class.php b/htdocs/product/stock/class/productlot.class.php index 2a3b3cf2e20..360978ac736 100644 --- a/htdocs/product/stock/class/productlot.class.php +++ b/htdocs/product/stock/class/productlot.class.php @@ -87,7 +87,7 @@ class Productlot extends CommonObject */ public $fields = array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-2, 'noteditable'=>1, 'notnull'=> 1, 'index'=>1, 'position'=>1, 'comment'=>'Id', 'css'=>'left'), - 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php', 'label'=>'Product', 'enabled'=>1, 'visible'=>1, 'position'=>15, 'notnull'=>1, 'index'=>1, 'searchall'=>1), + 'fk_product' => array('type'=>'integer:Product:product/class/product.class.php', 'label'=>'Product', 'enabled'=>1, 'visible'=>1, 'position'=>5, 'notnull'=>1, 'index'=>1, 'searchall'=>1), 'batch' => array('type'=>'varchar(30)', 'label'=>'Batch', 'enabled'=>1, 'visible'=>1, 'notnull'=>0, 'showoncombobox'=>1, 'index'=>1, 'position'=>10, 'comment'=>'Batch', 'searchall'=>1), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'default'=>1, 'notnull'=>1, 'index'=>1, 'position'=>20), 'sellby' => array('type'=>'date', 'label'=>'SellByDate', 'enabled'=>'empty($conf->global->PRODUCT_DISABLE_SELLBY)?1:0', 'visible'=>5, 'position'=>60), @@ -402,7 +402,7 @@ class Productlot extends CommonObject $sql .= ' sellby = '.(!isset($this->sellby) || dol_strlen($this->sellby) != 0 ? "'".$this->db->idate($this->sellby)."'" : 'null').','; $sql .= ' eol_date = '.(!isset($this->eol_date) || dol_strlen($this->eol_date) != 0 ? "'".$this->db->idate($this->eol_date)."'" : 'null').','; $sql .= ' manufacturing_date = '.(!isset($this->manufacturing_date) || dol_strlen($this->manufacturing_date) != 0 ? "'".$this->db->idate($this->manufacturing_date)."'" : 'null').','; - $sql .= ' scrapping_date = '.(!isset($this->destruction_date) || dol_strlen($this->destruction_date) != 0 ? "'".$this->db->idate($this->destruction_date)."'" : 'null').','; + $sql .= ' scrapping_date = '.(!isset($this->scrapping_date) || dol_strlen($this->scrapping_date) != 0 ? "'".$this->db->idate($this->scrapping_date)."'" : 'null').','; //$sql .= ' commissionning_date = '.(!isset($this->first_use_date) || dol_strlen($this->first_use_date) != 0 ? "'".$this->db->idate($this->first_use_date)."'" : 'null').','; //$sql .= ' qc_frequency = '.(!isset($this->qc_frequency) || dol_strlen($this->qc_frequency) != 0 ? "'".$this->db->escape($this->qc_frequency)."'" : 'null').','; $sql .= ' datec = '.(!isset($this->datec) || dol_strlen($this->datec) != 0 ? "'".$this->db->idate($this->datec)."'" : 'null').','; diff --git a/htdocs/product/stock/class/productstockentrepot.class.php b/htdocs/product/stock/class/productstockentrepot.class.php index aea8c3e1f14..d8138c7f149 100644 --- a/htdocs/product/stock/class/productstockentrepot.class.php +++ b/htdocs/product/stock/class/productstockentrepot.class.php @@ -280,10 +280,10 @@ class ProductStockEntrepot extends CommonObject $sql .= ' AND '.implode(' '.$filtermode.' ', $sqlwhere); } - if (!empty($fk_product)) { - $sql .= ' AND fk_product = '.$fk_product; - } elseif (!empty($fk_entrepot)) { - $sql .= ' AND fk_entrepot = '.$fk_entrepot; + if (!empty($fk_product) && $fk_product > 0) { + $sql .= ' AND fk_product = '.((int) $fk_product); + } elseif (!empty($fk_entrepot) && $fk_entrepot > 0) { + $sql .= ' AND fk_entrepot = '.((int) $fk_entrepot); } // "elseif" used instead of "if" because getting list with specified fk_product and specified fk_entrepot would be the same as doing a fetch diff --git a/htdocs/product/stock/list.php b/htdocs/product/stock/list.php index 79f74343fb2..b8f998c0ec0 100644 --- a/htdocs/product/stock/list.php +++ b/htdocs/product/stock/list.php @@ -123,7 +123,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : 'help' ); } } diff --git a/htdocs/product/stock/massstockmove.php b/htdocs/product/stock/massstockmove.php index f2432ea25af..9f3390d34af 100644 --- a/htdocs/product/stock/massstockmove.php +++ b/htdocs/product/stock/massstockmove.php @@ -209,7 +209,7 @@ if ($action == 'createmovements' && !empty($user->rights->stock->mouvement->cree ); if ($result1 < 0) { $error++; - setEventMessages($product->errors, $product->errorss, 'errors'); + setEventMessages($product->error, $product->errors, 'errors'); } // Add stock @@ -224,7 +224,7 @@ if ($action == 'createmovements' && !empty($user->rights->stock->mouvement->cree ); if ($result2 < 0) { $error++; - setEventMessages($product->errors, $product->errorss, 'errors'); + setEventMessages($product->error, $product->errors, 'errors'); } } else { $arraybatchinfo = $product->loadBatchInfo($batch); @@ -253,7 +253,7 @@ if ($action == 'createmovements' && !empty($user->rights->stock->mouvement->cree ); if ($result1 < 0) { $error++; - setEventMessages($product->errors, $product->errorss, 'errors'); + setEventMessages($product->error, $product->errors, 'errors'); } // Add stock @@ -271,7 +271,7 @@ if ($action == 'createmovements' && !empty($user->rights->stock->mouvement->cree ); if ($result2 < 0) { $error++; - setEventMessages($product->errors, $product->errorss, 'errors'); + setEventMessages($product->error, $product->errors, 'errors'); } } } else { diff --git a/htdocs/product/stock/movement_list.php b/htdocs/product/stock/movement_list.php index 44e9e7ecea9..1096d8b9e09 100644 --- a/htdocs/product/stock/movement_list.php +++ b/htdocs/product/stock/movement_list.php @@ -136,12 +136,12 @@ $arrayfields = array( //'m.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), //'m.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500) ); -if (!empty($conf->global->PRODUCT_DISABLE_EATBY)) { - unset($arrayfields['pl.eatby']); -} if (!empty($conf->global->PRODUCT_DISABLE_SELLBY)) { unset($arrayfields['pl.sellby']); } +if (!empty($conf->global->PRODUCT_DISABLE_EATBY)) { + unset($arrayfields['pl.eatby']); +} // Security check if (!$user->rights->stock->mouvement->lire) { @@ -566,764 +566,780 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; $parameters = array(); $reshook = $hookmanager->executeHooks('printFieldListWhere', $parameters); // Note that $action and $object may have been modified by hook $sql .= $hookmanager->resPrint; -$sql .= $db->order($sortfield, $sortorder); +// Count total nb of records $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { - $result = $db->query($sql); - $nbtotalofrecords = $db->num_rows($result); + /* This old and fast method to get and count full list returns all record so use a high amount of memory. + $resql = $db->query($sql); + $nbtotalofrecords = $db->num_rows($resql); + */ + /* The slow method does not consume memory on mysql (not tested on pgsql) */ + /*$resql = $db->query($sql, 0, 'auto', 1); + while ($db->fetch_object($resql)) { + $nbtotalofrecords++; + }*/ + /* This fast and low memory method to get and count full list converts the sql into a sql count */ + $sqlforcount = preg_replace('/^SELECT[a-z0-9\._\s\(\),]+FROM/i', 'SELECT COUNT(*) as nbtotalofrecords FROM', $sql); + $resql = $db->query($sqlforcount); + $objforcount = $db->fetch_object($resql); + $nbtotalofrecords = $objforcount->nbtotalofrecords; if (($page * $limit) > $nbtotalofrecords) { // if total resultset is smaller then paging size (filtering), goto and load page 0 $page = 0; $offset = 0; } + $db->free($resql); } -$sql .= $db->plimit($limit + 1, $offset); +$sql .= $db->order($sortfield, $sortorder); +if ($limit) { + $sql .= $db->plimit($limit + 1, $offset); +} //print $sql; $resql = $db->query($sql); +if (!$resql) { + dol_print_error($db); + exit; +} -if ($resql) { - $product = new Product($db); - $object = new Entrepot($db); +$product = new Product($db); +$object = new Entrepot($db); - if ($idproduct > 0) { - $product->fetch($idproduct); +if ($idproduct > 0) { + $product->fetch($idproduct); +} +if ($id > 0 || $ref) { + $result = $object->fetch($id, $ref); + if ($result < 0) { + dol_print_error($db); } - if ($id > 0 || $ref) { - $result = $object->fetch($id, $ref); - if ($result < 0) { - dol_print_error($db); - } +} + +$num = $db->num_rows($resql); + +$arrayofselected = is_array($toselect) ? $toselect : array(); + + +$i = 0; +$help_url = 'EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; +if ($msid) { + $texte = $langs->trans('StockMovementForId', $msid); +} else { + $texte = $langs->trans("ListOfStockMovements"); + if ($id) { + $texte .= ' ('.$langs->trans("ForThisWarehouse").')'; } +} +llxHeader("", $texte, $help_url); - $num = $db->num_rows($resql); +/* + * Show tab only if we ask a particular warehouse + */ +if ($object->id > 0) { + $head = stock_prepare_head($object); - $arrayofselected = is_array($toselect) ? $toselect : array(); + print dol_get_fiche_head($head, 'movements', $langs->trans("Warehouse"), -1, 'stock'); - $i = 0; - $help_url = 'EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; - if ($msid) { - $texte = $langs->trans('StockMovementForId', $msid); - } else { - $texte = $langs->trans("ListOfStockMovements"); - if ($id) { - $texte .= ' ('.$langs->trans("ForThisWarehouse").')'; - } - } - llxHeader("", $texte, $help_url); + $linkback = ''.$langs->trans("BackToList").''; - /* - * Show tab only if we ask a particular warehouse - */ - if ($object->id > 0) { - $head = stock_prepare_head($object); + $morehtmlref = '
'; + $morehtmlref .= $langs->trans("LocationSummary").' : '.$object->lieu; - print dol_get_fiche_head($head, 'movements', $langs->trans("Warehouse"), -1, 'stock'); - - - $linkback = ''.$langs->trans("BackToList").''; - - $morehtmlref = '
'; - $morehtmlref .= $langs->trans("LocationSummary").' : '.$object->lieu; - - // Project - if (!empty($conf->projet->enabled)) { - $langs->load("projects"); - $morehtmlref .= '
'.img_picto('', 'project').' '.$langs->trans('Project').' '; - if ($usercancreate && 1 == 2) { - if ($action != 'classify') { - $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; - } - if ($action == 'classify') { - $projectid = $object->fk_project; - $morehtmlref .= '
'; - $morehtmlref .= ''; - $morehtmlref .= ''; - $morehtmlref .= $formproject->select_projects(($socid > 0 ? $socid : -1), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 1, 0, 'maxwidth500'); - $morehtmlref .= ''; - $morehtmlref .= '
'; - } else { - $morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1); - } + // Project + if (!empty($conf->projet->enabled)) { + $langs->load("projects"); + $morehtmlref .= '
'.img_picto('', 'project').' '.$langs->trans('Project').' '; + if ($usercancreate && 1 == 2) { + if ($action != 'classify') { + $morehtmlref .= ''.img_edit($langs->transnoentitiesnoconv('SetProject')).' : '; + } + if ($action == 'classify') { + $projectid = $object->fk_project; + $morehtmlref .= '
'; + $morehtmlref .= ''; + $morehtmlref .= ''; + $morehtmlref .= $formproject->select_projects(($socid > 0 ? $socid : -1), $projectid, 'projectid', 0, 0, 1, 1, 0, 0, 0, '', 1, 0, 'maxwidth500'); + $morehtmlref .= ''; + $morehtmlref .= '
'; } else { - if (!empty($object->fk_project)) { - $proj = new Project($db); - $proj->fetch($object->fk_project); - $morehtmlref .= ''; - $morehtmlref .= $proj->ref; - $morehtmlref .= ''; - } else { - $morehtmlref .= ''; - } + $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 .= ''; } } - $morehtmlref .= '
'; + } + $morehtmlref .= '
'; - $shownav = 1; - if ($user->socid && !in_array('stock', explode(',', $conf->global->MAIN_MODULES_FOR_EXTERNAL))) { - $shownav = 0; - } - - dol_banner_tab($object, 'ref', $linkback, $shownav, 'ref', 'ref', $morehtmlref); - - - print '
'; - print '
'; - print '
'; - - print ''; - - print ''; - - // Description - print ''; - - $calcproductsunique = $object->nb_different_products(); - $calcproducts = $object->nb_products(); - - // Total nb of different products - print '"; - - // Nb of products - print '"; - - print '
'.$langs->trans("Description").''.dol_htmlentitiesbr($object->description).'
'.$langs->trans("NumberOfDifferentProducts").''; - print empty($calcproductsunique['nb']) ? '0' : $calcproductsunique['nb']; - print "
'.$langs->trans("NumberOfProducts").''; - $valtoshow = price2num($calcproducts['nb'], 'MS'); - print empty($valtoshow) ? '0' : $valtoshow; - print "
'; - - print '
'; - print '
'; - print '
'; - print '
'; - - print ''; - - // Value - print '"; - - // Last movement - $sql = "SELECT MAX(m.datem) as datem"; - $sql .= " FROM ".MAIN_DB_PREFIX."stock_mouvement as m"; - $sql .= " WHERE m.fk_entrepot = ".((int) $object->id); - $resqlbis = $db->query($sql); - if ($resqlbis) { - $objbis = $db->fetch_object($resqlbis); - $lastmovementdate = $db->jdate($objbis->datem); - } else { - dol_print_error($db); - } - - print '"; - - // Other attributes - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; - - // Categories - if ($conf->categorie->enabled) { - print '"; - } - - print "
'.$langs->trans("EstimatedStockValueShort").''; - print price((empty($calcproducts['value']) ? '0' : price2num($calcproducts['value'], 'MT')), 0, $langs, 0, -1, -1, $conf->currency); - print "
'.$langs->trans("LastMovement").''; - if ($lastmovementdate) { - print dol_print_date($lastmovementdate, 'dayhour'); - } else { - print $langs->trans("None"); - } - print "
'.$langs->trans("Categories").''; - print $form->showCategories($object->id, Categorie::TYPE_WAREHOUSE, 1); - print "
"; - - print '
'; - print '
'; - print '
'; - - print '
'; - - print dol_get_fiche_end(); + $shownav = 1; + if ($user->socid && !in_array('stock', explode(',', $conf->global->MAIN_MODULES_FOR_EXTERNAL))) { + $shownav = 0; } - - /* - * Correct stock - */ - if ($action == "correction") { - include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stockcorrection.tpl.php'; - print '
'; - } - - /* - * Transfer of units - */ - if ($action == "transfert") { - include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stocktransfer.tpl.php'; - print '
'; - } + dol_banner_tab($object, 'ref', $linkback, $shownav, 'ref', 'ref', $morehtmlref); - /* - * Action bar - */ - if ((empty($action) || $action == 'list') && $id > 0) { - print "
\n"; + print '
'; + print '
'; + print '
'; - if ($user->rights->stock->mouvement->creer) { - print ''.$langs->trans("CorrectStock").''; - } + print ''; - if ($user->rights->stock->mouvement->creer) { - print ''.$langs->trans("TransferStock").''; - } + print ''; - print '
'; - } + // Description + print ''; - $param = ''; - if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { - $param .= '&contextpage='.urlencode($contextpage); - } - if ($limit > 0 && $limit != $conf->liste_limit) { - $param .= '&limit='.urlencode($limit); - } - if ($id > 0) { - $param .= '&id='.urlencode($id); - } - if ($search_date_startday) { - $param .= '&search_date_startday='.urlencode($search_date_startday); - } - if ($search_date_startmonth) { - $param .= '&search_date_startmonth='.urlencode($search_date_startmonth); - } - if ($search_date_startyear) { - $param .= '&search_date_startyear='.urlencode($search_date_startyear); - } - if ($search_date_endday) { - $param .= '&search_date_endday='.urlencode($search_date_endday); - } - if ($search_date_endmonth) { - $param .= '&search_date_endmonth='.urlencode($search_date_endmonth); - } - if ($search_date_endyear) { - $param .= '&search_date_endyear='.urlencode($search_date_endyear); - } - if ($search_movement) { - $param .= '&search_movement='.urlencode($search_movement); - } - if ($search_inventorycode) { - $param .= '&search_inventorycode='.urlencode($search_inventorycode); - } - if ($search_type_mouvement) { - $param .= '&search_type_mouvement='.urlencode($search_type_mouvement); - } - if ($search_product_ref) { - $param .= '&search_product_ref='.urlencode($search_product_ref); - } - if ($search_product) { - $param .= '&search_product='.urlencode($search_product); - } - if ($search_batch) { - $param .= '&search_batch='.urlencode($search_batch); - } - if ($search_warehouse > 0) { - $param .= '&search_warehouse='.urlencode($search_warehouse); - } - if ($search_user) { - $param .= '&search_user='.urlencode($search_user); - } - if ($idproduct > 0) { - $param .= '&idproduct='.urlencode($idproduct); - } - // Add $param from extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; + $calcproductsunique = $object->nb_different_products(); + $calcproducts = $object->nb_products(); - // List of mass actions available - $arrayofmassactions = array( - // 'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), - // 'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), - ); - // By default, we should never accept deletion of stock movement. - if (!empty($conf->global->STOCK_ALLOW_DELETE_OF_MOVEMENT) && $permissiontodelete) { - $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); - } - if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { - $arrayofmassactions = array(); - } - $massactionbutton = $form->selectMassAction('', $arrayofmassactions); + // Total nb of different products + print '"; - print ''; - if ($optioncss != '') { - print ''; - } - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if ($id > 0) { - print ''; - } + // Nb of products + print '"; - if ($id > 0) { - print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'movement', 0, '', '', $limit, 0, 0, 1); + print '
'.$langs->trans("Description").''.dol_htmlentitiesbr($object->description).'
'.$langs->trans("NumberOfDifferentProducts").''; + print empty($calcproductsunique['nb']) ? '0' : $calcproductsunique['nb']; + print "
'.$langs->trans("NumberOfProducts").''; + $valtoshow = price2num($calcproducts['nb'], 'MS'); + print empty($valtoshow) ? '0' : $valtoshow; + print "
'; + + print '
'; + print '
'; + print '
'; + print '
'; + + print ''; + + // Value + print '"; + + // Last movement + $sql = "SELECT MAX(m.datem) as datem"; + $sql .= " FROM ".MAIN_DB_PREFIX."stock_mouvement as m"; + $sql .= " WHERE m.fk_entrepot = ".((int) $object->id); + $resqlbis = $db->query($sql); + if ($resqlbis) { + $objbis = $db->fetch_object($resqlbis); + $lastmovementdate = $db->jdate($objbis->datem); } else { - print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'movement', 0, '', '', $limit, 0, 0, 1); + dol_print_error($db); } - // Add code for pre mass action (confirmation or email presend form) - $topicmail = "SendStockMovement"; - $modelmail = "movementstock"; - $objecttmp = new MouvementStock($db); - $trackid = 'mov'.$object->id; - include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; - - if ($sall) { - foreach ($fieldstosearchall as $key => $val) { - $fieldstosearchall[$key] = $langs->trans($val); - } - print '
'.$langs->trans("FilterOnInto", $sall).join(', ', $fieldstosearchall).'
'; - } - - $moreforfilter = ''; - - $parameters = array('arrayfields'=>&$arrayfields); - $reshook = $hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook - if (empty($reshook)) { - $moreforfilter .= $hookmanager->resPrint; + print '"; + + // Other attributes + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; + + // Categories + if ($conf->categorie->enabled) { + print '"; } - if (!empty($moreforfilter)) { - print '
'; - print $moreforfilter; - print '
'; + print "
'.$langs->trans("EstimatedStockValueShort").''; + print price((empty($calcproducts['value']) ? '0' : price2num($calcproducts['value'], 'MT')), 0, $langs, 0, -1, -1, $conf->currency); + print "
'.$langs->trans("LastMovement").''; + if ($lastmovementdate) { + print dol_print_date($lastmovementdate, 'dayhour'); } else { - $moreforfilter = $hookmanager->resPrint; + print $langs->trans("None"); + } + print "
'.$langs->trans("Categories").''; + print $form->showCategories($object->id, Categorie::TYPE_WAREHOUSE, 1); + print "
"; + + print '
'; + print '
'; + print '
'; + + print '
'; + + print dol_get_fiche_end(); +} + + +/* + * Correct stock + */ +if ($action == "correction") { + include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stockcorrection.tpl.php'; + print '
'; +} + +/* + * Transfer of units + */ +if ($action == "transfert") { + include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stocktransfer.tpl.php'; + print '
'; +} + + +/* + * Action bar + */ +if ((empty($action) || $action == 'list') && $id > 0) { + print "
\n"; + + if ($user->rights->stock->mouvement->creer) { + print ''.$langs->trans("CorrectStock").''; } - $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; - $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields + if ($user->rights->stock->mouvement->creer) { + print ''.$langs->trans("TransferStock").''; + } - print '
'; - print ''."\n"; + print '
'; +} - // Fields title search - print ''; +$param = ''; +if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) { + $param .= '&contextpage='.urlencode($contextpage); +} +if ($limit > 0 && $limit != $conf->liste_limit) { + $param .= '&limit='.urlencode($limit); +} +if ($id > 0) { + $param .= '&id='.urlencode($id); +} +if ($search_date_startday) { + $param .= '&search_date_startday='.urlencode($search_date_startday); +} +if ($search_date_startmonth) { + $param .= '&search_date_startmonth='.urlencode($search_date_startmonth); +} +if ($search_date_startyear) { + $param .= '&search_date_startyear='.urlencode($search_date_startyear); +} +if ($search_date_endday) { + $param .= '&search_date_endday='.urlencode($search_date_endday); +} +if ($search_date_endmonth) { + $param .= '&search_date_endmonth='.urlencode($search_date_endmonth); +} +if ($search_date_endyear) { + $param .= '&search_date_endyear='.urlencode($search_date_endyear); +} +if ($search_movement) { + $param .= '&search_movement='.urlencode($search_movement); +} +if ($search_inventorycode) { + $param .= '&search_inventorycode='.urlencode($search_inventorycode); +} +if ($search_type_mouvement) { + $param .= '&search_type_mouvement='.urlencode($search_type_mouvement); +} +if ($search_product_ref) { + $param .= '&search_product_ref='.urlencode($search_product_ref); +} +if ($search_product) { + $param .= '&search_product='.urlencode($search_product); +} +if ($search_batch) { + $param .= '&search_batch='.urlencode($search_batch); +} +if ($search_warehouse > 0) { + $param .= '&search_warehouse='.urlencode($search_warehouse); +} +if ($search_user) { + $param .= '&search_user='.urlencode($search_user); +} +if ($idproduct > 0) { + $param .= '&idproduct='.urlencode($idproduct); +} +// Add $param from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; + +// List of mass actions available +$arrayofmassactions = array( +// 'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"), +// 'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"), +); +// By default, we should never accept deletion of stock movement. +if (!empty($conf->global->STOCK_ALLOW_DELETE_OF_MOVEMENT) && $permissiontodelete) { + $arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete"); +} +if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) { + $arrayofmassactions = array(); +} +$massactionbutton = $form->selectMassAction('', $arrayofmassactions); + +print ''; +if ($optioncss != '') { + print ''; +} +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +if ($id > 0) { + print ''; +} + +if ($id > 0) { + print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'movement', 0, '', '', $limit, 0, 0, 1); +} else { + print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'movement', 0, '', '', $limit, 0, 0, 1); +} + +// Add code for pre mass action (confirmation or email presend form) +$topicmail = "SendStockMovement"; +$modelmail = "movementstock"; +$objecttmp = new MouvementStock($db); +$trackid = 'mov'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; + +if ($sall) { + foreach ($fieldstosearchall as $key => $val) { + $fieldstosearchall[$key] = $langs->trans($val); + } + print '
'.$langs->trans("FilterOnInto", $sall).join(', ', $fieldstosearchall).'
'; +} + +$moreforfilter = ''; + +$parameters = array('arrayfields'=>&$arrayfields); +$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; +} + +if (!empty($moreforfilter)) { + print '
'; + print $moreforfilter; + print '
'; +} + +$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; +$selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields + +print '
'; +print '
'."\n"; + +// Fields title search +print ''; +if (!empty($arrayfields['m.rowid']['checked'])) { + // Ref + print ''; +} +if (! empty($arrayfields['m.datem']['checked'])) { + // Date + print ''; +} +if (!empty($arrayfields['p.ref']['checked'])) { + // Product Ref + print ''; +} +if (!empty($arrayfields['p.label']['checked'])) { + // Product label + print ''; +} +// Batch +if (!empty($arrayfields['m.batch']['checked'])) { + print ''; +} +if (!empty($arrayfields['pl.eatby']['checked'])) { + print ''; +} +if (!empty($arrayfields['pl.sellby']['checked'])) { + print ''; +} +// Warehouse +if (!empty($arrayfields['e.ref']['checked'])) { + print ''; +} +if (!empty($arrayfields['m.fk_user_author']['checked'])) { + // Author + print ''; +} +if (!empty($arrayfields['m.inventorycode']['checked'])) { + // Inventory code + print ''; +} +if (!empty($arrayfields['m.label']['checked'])) { + // Label of movement + print ''; +} +if (!empty($arrayfields['origin']['checked'])) { + // Origin of movement + print ''; +} +if (!empty($arrayfields['m.fk_projet']['checked'])) { + // fk_project + print ''; +} +if (!empty($arrayfields['m.type_mouvement']['checked'])) { + // Type of movement + print ''; +} +if (!empty($arrayfields['m.value']['checked'])) { + // Qty + print ''; +} +if (!empty($arrayfields['m.price']['checked'])) { + // Price + print ''; +} + +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + +// Fields from hook +$parameters = array('arrayfields'=>$arrayfields); +$reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +// Date creation +if (!empty($arrayfields['m.datec']['checked'])) { + print ''; +} +// Date modification +if (!empty($arrayfields['m.tms']['checked'])) { + print ''; +} +// Actions +print ''; +print "\n"; + +print ''; +if (!empty($arrayfields['m.rowid']['checked'])) { + print_liste_field_titre($arrayfields['m.rowid']['label'], $_SERVER["PHP_SELF"], 'm.rowid', '', $param, '', $sortfield, $sortorder); +} +if (!empty($arrayfields['m.datem']['checked'])) { + print_liste_field_titre($arrayfields['m.datem']['label'], $_SERVER["PHP_SELF"], 'm.datem', '', $param, '', $sortfield, $sortorder, 'center '); +} +if (!empty($arrayfields['p.ref']['checked'])) { + print_liste_field_titre($arrayfields['p.ref']['label'], $_SERVER["PHP_SELF"], 'p.ref', '', $param, '', $sortfield, $sortorder); +} +if (!empty($arrayfields['p.label']['checked'])) { + print_liste_field_titre($arrayfields['p.label']['label'], $_SERVER["PHP_SELF"], 'p.label', '', $param, '', $sortfield, $sortorder); +} +if (!empty($arrayfields['m.batch']['checked'])) { + print_liste_field_titre($arrayfields['m.batch']['label'], $_SERVER["PHP_SELF"], 'm.batch', '', $param, '', $sortfield, $sortorder, 'center '); +} +if (!empty($arrayfields['pl.eatby']['checked'])) { + print_liste_field_titre($arrayfields['pl.eatby']['label'], $_SERVER["PHP_SELF"], 'pl.eatby', '', $param, '', $sortfield, $sortorder, 'center '); +} +if (!empty($arrayfields['pl.sellby']['checked'])) { + print_liste_field_titre($arrayfields['pl.sellby']['label'], $_SERVER["PHP_SELF"], 'pl.sellby', '', $param, '', $sortfield, $sortorder, 'center '); +} +if (!empty($arrayfields['e.ref']['checked'])) { + // We are on a specific warehouse card, no filter on other should be possible + print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"], "e.ref", "", $param, "", $sortfield, $sortorder); +} +if (!empty($arrayfields['m.fk_user_author']['checked'])) { + print_liste_field_titre($arrayfields['m.fk_user_author']['label'], $_SERVER["PHP_SELF"], "m.fk_user_author", "", $param, "", $sortfield, $sortorder); +} +if (!empty($arrayfields['m.inventorycode']['checked'])) { + print_liste_field_titre($arrayfields['m.inventorycode']['label'], $_SERVER["PHP_SELF"], "m.inventorycode", "", $param, "", $sortfield, $sortorder); +} +if (!empty($arrayfields['m.label']['checked'])) { + print_liste_field_titre($arrayfields['m.label']['label'], $_SERVER["PHP_SELF"], "m.label", "", $param, "", $sortfield, $sortorder); +} +if (!empty($arrayfields['origin']['checked'])) { + print_liste_field_titre($arrayfields['origin']['label'], $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder); +} +if (!empty($arrayfields['m.fk_projet']['checked'])) { + print_liste_field_titre($arrayfields['m.fk_projet']['label'], $_SERVER["PHP_SELF"], "m.fk_projet", "", $param, '', $sortfield, $sortorder); +} +if (!empty($arrayfields['m.type_mouvement']['checked'])) { + print_liste_field_titre($arrayfields['m.type_mouvement']['label'], $_SERVER["PHP_SELF"], "m.type_mouvement", "", $param, '', $sortfield, $sortorder, 'center '); +} +if (!empty($arrayfields['m.value']['checked'])) { + print_liste_field_titre($arrayfields['m.value']['label'], $_SERVER["PHP_SELF"], "m.value", "", $param, '', $sortfield, $sortorder, 'right '); +} +if (!empty($arrayfields['m.price']['checked'])) { + print_liste_field_titre($arrayfields['m.price']['label'], $_SERVER["PHP_SELF"], "m.price", "", $param, '', $sortfield, $sortorder, 'right '); +} + +// Extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; + +// Hook fields +$parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); +$reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; +if (!empty($arrayfields['m.datec']['checked'])) { + print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap '); +} +if (!empty($arrayfields['m.tms']['checked'])) { + print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap '); +} +print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch '); +print "\n"; + + +$arrayofuniqueproduct = array(); + +$i = 0; +$totalarray = array(); +while ($i < min($num, $limit)) { + $objp = $db->fetch_object($resql); + + $userstatic->id = $objp->fk_user_author; + $userstatic->login = $objp->login; + $userstatic->lastname = $objp->lastname; + $userstatic->firstname = $objp->firstname; + $userstatic->photo = $objp->photo; + $userstatic->email = $objp->user_email; + $userstatic->statut = $objp->user_status; + + $productstatic->id = $objp->rowid; + $productstatic->ref = $objp->product_ref; + $productstatic->label = $objp->produit; + $productstatic->type = $objp->type; + $productstatic->entity = $objp->entity; + $productstatic->status = $objp->tosell; + $productstatic->status_buy = $objp->tobuy; + $productstatic->status_batch = $objp->tobatch; + + $productlot->id = $objp->lotid; + $productlot->batch = $objp->batch; + $productlot->eatby = $objp->eatby; + $productlot->sellby = $objp->sellby; + + $warehousestatic->id = $objp->entrepot_id; + $warehousestatic->ref = $objp->warehouse_ref; + $warehousestatic->label = $objp->warehouse_ref; + $warehousestatic->lieu = $objp->lieu; + $warehousestatic->fk_parent = $objp->fk_parent; + $warehousestatic->statut = $objp->statut; + + $movement->type = $objp->type_mouvement; + + $arrayofuniqueproduct[$objp->rowid] = $objp->produit; + if (!empty($objp->fk_origin)) { + $origin = $movement->get_origin($objp->fk_origin, $objp->origintype); + } else { + $origin = ''; + } + + print ''; + // Id movement if (!empty($arrayfields['m.rowid']['checked'])) { - // Ref - print ''; + print ''; // This is primary not movement id } - if (! empty($arrayfields['m.datem']['checked'])) { + if (!empty($arrayfields['m.datem']['checked'])) { // Date - print ''; + print ''; } if (!empty($arrayfields['p.ref']['checked'])) { - // Product Ref - print ''; + // Product ref + print '\n"; } if (!empty($arrayfields['p.label']['checked'])) { // Product label - print ''; + print '\n"; } - // Batch if (!empty($arrayfields['m.batch']['checked'])) { - print ''; + print ''; } if (!empty($arrayfields['pl.eatby']['checked'])) { - print ''; + print ''; } if (!empty($arrayfields['pl.sellby']['checked'])) { - print ''; + print ''; } // Warehouse if (!empty($arrayfields['e.ref']['checked'])) { - print ''; + print '\n"; } + // Author if (!empty($arrayfields['m.fk_user_author']['checked'])) { - // Author - print ''; + print '\n"; } if (!empty($arrayfields['m.inventorycode']['checked'])) { // Inventory code - print ''; + print ''; } if (!empty($arrayfields['m.label']['checked'])) { // Label of movement - print ''; + print ''; } if (!empty($arrayfields['origin']['checked'])) { // Origin of movement - print ''; + print ''; } if (!empty($arrayfields['m.fk_projet']['checked'])) { // fk_project - print ''; } if (!empty($arrayfields['m.type_mouvement']['checked'])) { // Type of movement - print ''; } if (!empty($arrayfields['m.value']['checked'])) { // Qty - print ''; } if (!empty($arrayfields['m.price']['checked'])) { // Price - print ''; } // Extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; - + include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; // Fields from hook - $parameters = array('arrayfields'=>$arrayfields); - $reshook = $hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook + $parameters = array('arrayfields'=>$arrayfields, 'objp'=>$objp, '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 - if (!empty($arrayfields['m.datec']['checked'])) { - print ''; + + // Action column + print ''; - } - // Actions - print ''; + if (!$i) { + $totalarray['nbfield']++; + } + print "\n"; - - print ''; - if (!empty($arrayfields['m.rowid']['checked'])) { - print_liste_field_titre($arrayfields['m.rowid']['label'], $_SERVER["PHP_SELF"], 'm.rowid', '', $param, '', $sortfield, $sortorder); - } - if (!empty($arrayfields['m.datem']['checked'])) { - print_liste_field_titre($arrayfields['m.datem']['label'], $_SERVER["PHP_SELF"], 'm.datem', '', $param, '', $sortfield, $sortorder, 'center '); - } - if (!empty($arrayfields['p.ref']['checked'])) { - print_liste_field_titre($arrayfields['p.ref']['label'], $_SERVER["PHP_SELF"], 'p.ref', '', $param, '', $sortfield, $sortorder); - } - if (!empty($arrayfields['p.label']['checked'])) { - print_liste_field_titre($arrayfields['p.label']['label'], $_SERVER["PHP_SELF"], 'p.label', '', $param, '', $sortfield, $sortorder); - } - if (!empty($arrayfields['m.batch']['checked'])) { - print_liste_field_titre($arrayfields['m.batch']['label'], $_SERVER["PHP_SELF"], 'm.batch', '', $param, '', $sortfield, $sortorder, 'center '); - } - if (!empty($arrayfields['pl.eatby']['checked'])) { - print_liste_field_titre($arrayfields['pl.eatby']['label'], $_SERVER["PHP_SELF"], 'pl.eatby', '', $param, '', $sortfield, $sortorder, 'center '); - } - if (!empty($arrayfields['pl.sellby']['checked'])) { - print_liste_field_titre($arrayfields['pl.sellby']['label'], $_SERVER["PHP_SELF"], 'pl.sellby', '', $param, '', $sortfield, $sortorder, 'center '); - } - if (!empty($arrayfields['e.ref']['checked'])) { - // We are on a specific warehouse card, no filter on other should be possible - print_liste_field_titre($arrayfields['e.ref']['label'], $_SERVER["PHP_SELF"], "e.ref", "", $param, "", $sortfield, $sortorder); - } - if (!empty($arrayfields['m.fk_user_author']['checked'])) { - print_liste_field_titre($arrayfields['m.fk_user_author']['label'], $_SERVER["PHP_SELF"], "m.fk_user_author", "", $param, "", $sortfield, $sortorder); - } - if (!empty($arrayfields['m.inventorycode']['checked'])) { - print_liste_field_titre($arrayfields['m.inventorycode']['label'], $_SERVER["PHP_SELF"], "m.inventorycode", "", $param, "", $sortfield, $sortorder); - } - if (!empty($arrayfields['m.label']['checked'])) { - print_liste_field_titre($arrayfields['m.label']['label'], $_SERVER["PHP_SELF"], "m.label", "", $param, "", $sortfield, $sortorder); - } - if (!empty($arrayfields['origin']['checked'])) { - print_liste_field_titre($arrayfields['origin']['label'], $_SERVER["PHP_SELF"], "", "", $param, "", $sortfield, $sortorder); - } - if (!empty($arrayfields['m.fk_projet']['checked'])) { - print_liste_field_titre($arrayfields['m.fk_projet']['label'], $_SERVER["PHP_SELF"], "m.fk_projet", "", $param, '', $sortfield, $sortorder); - } - if (!empty($arrayfields['m.type_mouvement']['checked'])) { - print_liste_field_titre($arrayfields['m.type_mouvement']['label'], $_SERVER["PHP_SELF"], "m.type_mouvement", "", $param, '', $sortfield, $sortorder, 'center '); - } - if (!empty($arrayfields['m.value']['checked'])) { - print_liste_field_titre($arrayfields['m.value']['label'], $_SERVER["PHP_SELF"], "m.value", "", $param, '', $sortfield, $sortorder, 'right '); - } - if (!empty($arrayfields['m.price']['checked'])) { - print_liste_field_titre($arrayfields['m.price']['label'], $_SERVER["PHP_SELF"], "m.price", "", $param, '', $sortfield, $sortorder, 'right '); - } - - // Extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; - - // Hook fields - $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$sortfield, 'sortorder'=>$sortorder); - $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - if (!empty($arrayfields['m.datec']['checked'])) { - print_liste_field_titre($arrayfields['p.datec']['label'], $_SERVER["PHP_SELF"], "p.datec", "", $param, '', $sortfield, $sortorder, 'center nowrap '); - } - if (!empty($arrayfields['m.tms']['checked'])) { - print_liste_field_titre($arrayfields['p.tms']['label'], $_SERVER["PHP_SELF"], "p.tms", "", $param, '', $sortfield, $sortorder, 'center nowrap '); - } - print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'center maxwidthsearch '); - print "\n"; - - - $arrayofuniqueproduct = array(); - - $i = 0; - $totalarray = array(); - while ($i < min($num, $limit)) { - $objp = $db->fetch_object($resql); - - $userstatic->id = $objp->fk_user_author; - $userstatic->login = $objp->login; - $userstatic->lastname = $objp->lastname; - $userstatic->firstname = $objp->firstname; - $userstatic->photo = $objp->photo; - $userstatic->email = $objp->user_email; - $userstatic->statut = $objp->user_status; - - $productstatic->id = $objp->rowid; - $productstatic->ref = $objp->product_ref; - $productstatic->label = $objp->produit; - $productstatic->type = $objp->type; - $productstatic->entity = $objp->entity; - $productstatic->status = $objp->tosell; - $productstatic->status_buy = $objp->tobuy; - $productstatic->status_batch = $objp->tobatch; - - $productlot->id = $objp->lotid; - $productlot->batch = $objp->batch; - $productlot->eatby = $objp->eatby; - $productlot->sellby = $objp->sellby; - - $warehousestatic->id = $objp->entrepot_id; - $warehousestatic->ref = $objp->warehouse_ref; - $warehousestatic->label = $objp->warehouse_ref; - $warehousestatic->lieu = $objp->lieu; - $warehousestatic->fk_parent = $objp->fk_parent; - $warehousestatic->statut = $objp->statut; - - $movement->type = $objp->type_mouvement; - - $arrayofuniqueproduct[$objp->rowid] = $objp->produit; - if (!empty($objp->fk_origin)) { - $origin = $movement->get_origin($objp->fk_origin, $objp->origintype); - } else { - $origin = ''; - } - - print ''; - // Id movement - if (!empty($arrayfields['m.rowid']['checked'])) { - print ''; // This is primary not movement id - } - if (!empty($arrayfields['m.datem']['checked'])) { - // Date - print ''; - } - if (!empty($arrayfields['p.ref']['checked'])) { - // Product ref - print '\n"; - } - if (!empty($arrayfields['p.label']['checked'])) { - // Product label - print '\n"; - } - if (!empty($arrayfields['m.batch']['checked'])) { - print ''; - } - if (!empty($arrayfields['pl.eatby']['checked'])) { - print ''; - } - if (!empty($arrayfields['pl.sellby']['checked'])) { - print ''; - } - // Warehouse - if (!empty($arrayfields['e.ref']['checked'])) { - print '\n"; - } - // Author - if (!empty($arrayfields['m.fk_user_author']['checked'])) { - print '\n"; - } - if (!empty($arrayfields['m.inventorycode']['checked'])) { - // Inventory code - print ''; - } - if (!empty($arrayfields['m.label']['checked'])) { - // Label of movement - print ''; - } - if (!empty($arrayfields['origin']['checked'])) { - // Origin of movement - print ''; - } - if (!empty($arrayfields['m.fk_projet']['checked'])) { - // fk_project - print ''; - } - if (!empty($arrayfields['m.type_mouvement']['checked'])) { - // Type of movement - print ''; - } - if (!empty($arrayfields['m.value']['checked'])) { - // Qty - print ''; - } - if (!empty($arrayfields['m.price']['checked'])) { - // Price - print ''; - } - - // Extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; - // Fields from hook - $parameters = array('arrayfields'=>$arrayfields, 'objp'=>$objp, 'i'=>$i, 'totalarray'=>&$totalarray); - $reshook = $hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - - // Action column - print ''; - if (!$i) { - $totalarray['nbfield']++; - } - - print "\n"; - $i++; - } - $db->free($resql); - - print "
'; + print ''; + print ''; + print '
'; + print $form->selectDate($search_date_start?$search_date_start:-1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'), 'tzuserrel'); + print '
'; + print '
'; + print $form->selectDate($search_date_end?$search_date_end:-1, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'), 'tzuserrel'); + print '
'; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + //print ''; + print $formproduct->selectWarehouses($search_warehouse, 'search_warehouse', 'warehouseopen,warehouseinternal', 1, 0, 0, '', 0, 0, null, 'maxwidth200'); + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '  '; + print ''; + print '  '; + print ''; + //print ''; + print ''; + print ajax_combobox('search_type_mouvement'); + // TODO: add new function $formentrepot->selectTypeOfMovement(...) like + // print $formproduct->selectWarehouses($search_warehouse, 'search_warehouse', 'warehouseopen,warehouseinternal', 1, 0, 0, '', 0, 0, null, 'maxwidth200'); + print ''; + print ''; + print ''; + print '  '; + print ''; + print ''; + print ''; +$searchpicto = $form->showFilterAndCheckAddButtons(0); +print $searchpicto; +print '
'; - print ''; - print ''; + print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"'); + print $objp->mid; + print ''; - print '
'; - print $form->selectDate($search_date_start?$search_date_start:-1, 'search_date_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From'), 'tzuserrel'); - print '
'; - print '
'; - print $form->selectDate($search_date_end?$search_date_end:-1, 'search_date_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to'), 'tzuserrel'); - print '
'; - print '
'.dol_print_date($db->jdate($objp->datem), 'dayhour', 'tzuserrel').''; - print ''; - print ''; + print $productstatic->getNomUrl(1, 'stock', 16); + print "'; - print ''; - print ''; + print $productstatic->label; + print "'; + if ($productlot->id > 0) { + print $productlot->getNomUrl(1); + } else { + print $productlot->batch; // the id may not be defined if movement was entered when lot was not saved or if lot was removed after movement. + } + print ''; - print ''.dol_print_date($objp->eatby, 'day').''; - print ''.dol_print_date($objp->sellby, 'day').''; - //print ''; - print $formproduct->selectWarehouses($search_warehouse, 'search_warehouse', 'warehouseopen,warehouseinternal', 1, 0, 0, '', 0, 0, null, 'maxwidth200'); - print ''; + print $warehousestatic->getNomUrl(1); + print "'; - print ''; - print ''; + print $userstatic->getNomUrl(-1); + print "'; - print ''; - print 'inventorycode.'$').'&search_type_mouvement='.urlencode($objp->type_mouvement).'">'.$objp->inventorycode.''; - print ''; - print ''.$objp->label.''; - print '  '; - print ''.$origin.''; - print '  '; + print ''; + if ($objp->fk_project != 0) { + print $movement->get_origin($objp->fk_project, 'project'); + } print ''; - //print ''; - print ''; - print ajax_combobox('search_type_mouvement'); - // TODO: add new function $formentrepot->selectTypeOfMovement(...) like - // print $formproduct->selectWarehouses($search_warehouse, 'search_warehouse', 'warehouseopen,warehouseinternal', 1, 0, 0, '', 0, 0, null, 'maxwidth200'); + print ''; + print $movement->getTypeMovement(); print ''; - print ''; + print ''; + if ($objp->qty > 0) { + print ''; + print '+'; + print $objp->qty; + print ''; + } else { + print ''; + print $objp->qty; + print ''; + } print ''; - print '  '; + print ''; + if ($objp->price != 0) { + print price($objp->price); + } print ''; - print ''; + if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + $selected = 0; + if (in_array($objp->mid, $arrayofselected)) { + $selected = 1; + } + print ''; } - // Date modification - if (!empty($arrayfields['m.tms']['checked'])) { - print ''; - print ''; - $searchpicto = $form->showFilterAndCheckAddButtons(0); - print $searchpicto; print '
'; - print img_picto($langs->trans("StockMovement"), 'movement', 'class="pictofixedwidth"'); - print $objp->mid; - print ''.dol_print_date($db->jdate($objp->datem), 'dayhour', 'tzuserrel').''; - print $productstatic->getNomUrl(1, 'stock', 16); - print "'; - print $productstatic->label; - print "'; - if ($productlot->id > 0) { - print $productlot->getNomUrl(1); - } else { - print $productlot->batch; // the id may not be defined if movement was entered when lot was not saved or if lot was removed after movement. - } - print ''.dol_print_date($objp->eatby, 'day').''.dol_print_date($objp->sellby, 'day').''; - print $warehousestatic->getNomUrl(1); - print "'; - print $userstatic->getNomUrl(-1); - print "inventorycode.'$').'&search_type_mouvement='.urlencode($objp->type_mouvement).'">'.$objp->inventorycode.''.$objp->label.''.$origin.''; - if ($objp->fk_project != 0) { - print $movement->get_origin($objp->fk_project, 'project'); - } - print ''; - print $movement->getTypeMovement(); - print ''; - if ($objp->qty > 0) { - print ''; - print '+'; - print $objp->qty; - print ''; - } else { - print ''; - print $objp->qty; - print ''; - } - print ''; - if ($objp->price != 0) { - print price($objp->price); - } - print ''; - if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined - $selected = 0; - if (in_array($objp->mid, $arrayofselected)) { - $selected = 1; - } - print ''; - } - print '
"; - print '
'; - print ""; - - // Add number of product when there is a filter on period - if (count($arrayofuniqueproduct) == 1 && is_numeric($year)) { - print "
"; - - $productidselected = 0; - foreach ($arrayofuniqueproduct as $key => $val) { - $productidselected = $key; - $productlabelselected = $val; - } - $datebefore = dol_get_first_day($year ? $year : strftime("%Y", time()), $month ? $month : 1, true); - $dateafter = dol_get_last_day($year ? $year : strftime("%Y", time()), $month ? $month : 12, true); - $balancebefore = $movement->calculateBalanceForProductBefore($productidselected, $datebefore); - $balanceafter = $movement->calculateBalanceForProductBefore($productidselected, $dateafter); - - //print ''; - print $langs->trans("NbOfProductBeforePeriod", $productlabelselected, dol_print_date($datebefore, 'day', 'gmt')); - //print ''; - //print ''; - print ': '.$balancebefore; - print "
\n"; - //print ''; - //print ''; - print $langs->trans("NbOfProductAfterPeriod", $productlabelselected, dol_print_date($dateafter, 'day', 'gmt')); - //print ''; - //print ''; - print ': '.$balanceafter; - print "
\n"; - //print ''; - } -} else { - dol_print_error($db); + $i++; } +$db->free($resql); + +print ""; +print '
'; +print ""; + +// Add number of product when there is a filter on period +if (count($arrayofuniqueproduct) == 1 && is_numeric($year)) { + print "
"; + + $productidselected = 0; + foreach ($arrayofuniqueproduct as $key => $val) { + $productidselected = $key; + $productlabelselected = $val; + } + $datebefore = dol_get_first_day($year ? $year : strftime("%Y", time()), $month ? $month : 1, true); + $dateafter = dol_get_last_day($year ? $year : strftime("%Y", time()), $month ? $month : 12, true); + $balancebefore = $movement->calculateBalanceForProductBefore($productidselected, $datebefore); + $balanceafter = $movement->calculateBalanceForProductBefore($productidselected, $dateafter); + + //print ''; + print $langs->trans("NbOfProductBeforePeriod", $productlabelselected, dol_print_date($datebefore, 'day', 'gmt')); + //print ''; + //print ''; + print ': '.$balancebefore; + print "
\n"; + //print ''; + //print ''; + print $langs->trans("NbOfProductAfterPeriod", $productlabelselected, dol_print_date($dateafter, 'day', 'gmt')); + //print ''; + //print ''; + print ': '.$balanceafter; + print "
\n"; + //print ''; +} // End of page llxFooter(); diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index a00feb194a0..0e4cf4b6a20 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -77,6 +77,7 @@ $batchnumber = GETPOST('batch_number', 'san_alpha'); if (!empty($batchnumber)) { $batchnumber = trim($batchnumber); } +$cost_price = GETPOST('cost_price', 'alpha'); // Security check if ($user->socid) { @@ -113,6 +114,9 @@ $hookmanager->initHooks(array('stockproductcard', 'globalcard')); $error = 0; +$usercanread = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->lire) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->lire)); +$usercancreate = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->creer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->creer)); + if ($object->id > 0) { if ($object->type == $object::TYPE_PRODUCT) { restrictedArea($user, 'produit', $object->id, 'product&product', '', ''); @@ -139,6 +143,21 @@ if ($reshook < 0) { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } +if ($action == 'setcost_price') { + if ($id) { + $result = $object->fetch($id); + $object->cost_price = price2num($cost_price); + $result = $object->update($object->id, $user); + if ($result > 0) { + setEventMessages($langs->trans("RecordSaved"), null, 'mesgs'); + $action = ''; + } else { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } + } +} + if ($action == 'addlimitstockwarehouse' && !empty($user->rights->produit->creer)) { $seuil_stock_alerte = GETPOST('seuil_stock_alerte'); $desiredstock = GETPOST('desiredstock'); @@ -600,9 +619,9 @@ if ($id > 0 || $ref) { if (!empty($conf->product->enabled) && !empty($conf->service->enabled)) { $typeformat = 'select;0:'.$langs->trans("Product").',1:'.$langs->trans("Service"); print ''; - print (empty($conf->global->PRODUCT_DENY_CHANGE_PRODUCT_TYPE)) ? $form->editfieldkey("Type", 'fk_product_type', $object->type, $object, $usercancreate, $typeformat) : $langs->trans('Type'); + print (empty($conf->global->PRODUCT_DENY_CHANGE_PRODUCT_TYPE)) ? $form->editfieldkey("Type", 'fk_product_type', $object->type, $object, 0, $typeformat) : $langs->trans('Type'); print ''; - print $form->editfieldval("Type", 'fk_product_type', $object->type, $object, $usercancreate, $typeformat); + print $form->editfieldval("Type", 'fk_product_type', $object->type, $object, 0, $typeformat); print ''; } @@ -618,7 +637,7 @@ if ($id > 0 || $ref) { $textdesc .= "
".$langs->trans("CostPriceUsage"); $text = $form->textwithpicto($langs->trans("CostPrice"), $textdesc, 1, 'help', ''); print $form->editfieldkey($text, 'cost_price', $object->cost_price, $object, $usercancreate, 'amount:6'); - print ''; + print ''; print $form->editfieldval($text, 'cost_price', $object->cost_price, $object, $usercancreate, 'amount:6'); print ''; @@ -927,14 +946,14 @@ if (!$variants) { } print ''; print ''.$langs->trans("batch_number").''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - $colspan--; - print ''.$langs->trans("EatByDate").''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { $colspan--; print ''.$langs->trans("SellByDate").''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + $colspan--; + print ''.$langs->trans("EatByDate").''; + } print ''; print ''; print ''; @@ -1042,16 +1061,16 @@ if (!$variants) { print ''; print ''; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } print ''; print ''; @@ -1068,14 +1087,14 @@ if (!$variants) { print $product_lot_static->getNomUrl(1); print ''; $colspan = 3; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - $colspan--; - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { $colspan--; print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + $colspan--; + print ''; + } print ''; print ''; print ''; - // Eat by - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - print ''; - } - // Sell by if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + // Eat by + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + print ''; + } + if (!empty($conf->global->PRODUCT_LOT_ENABLE_TRACEABOLITY)) { print ''; print ''; diff --git a/htdocs/product/stock/productlot_list.php b/htdocs/product/stock/productlot_list.php index 58e5bd055f1..78a18ca960b 100644 --- a/htdocs/product/stock/productlot_list.php +++ b/htdocs/product/stock/productlot_list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2018-2021 Ferran Marcet * Copyright (C) 2019 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -299,7 +299,7 @@ if (is_numeric($nbtotalofrecords) && ($limit > $nbtotalofrecords || empty($limit if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all && !$page) { $obj = $db->fetch_object($resql); $id = $obj->rowid; - header("Location: ".dol_buildpath('/mymodule/myobject_card.php', 1).'?id='.$id); + header("Location: ".DOL_URL_ROOT.'/product/stock/productlot_card.php?id='.$id); exit; } diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index 824d667e934..8dc40c3c78c 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -789,7 +789,12 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $objp = $db->fetch_object($resql); if (!empty($conf->global->STOCK_SUPPORTS_SERVICES) || $objp->fk_product_type == 0) { - $prod->fetch($objp->rowid); + $result = $prod->fetch($objp->rowid); + if ($result < 0) { + dol_print_error($db); + exit; + } + $prod->load_stock('warehouseopen, warehouseinternal'.(!$usevirtualstock?', novirtual':''), $draftchecked); // Multilangs diff --git a/htdocs/product/stock/stockatdate.php b/htdocs/product/stock/stockatdate.php index d9cc186111f..4892004db72 100644 --- a/htdocs/product/stock/stockatdate.php +++ b/htdocs/product/stock/stockatdate.php @@ -356,14 +356,14 @@ print '
'; print ''.$langs->trans('Date').' '.$form->selectDate(($date ? $date : -1), 'date'); print '   '; -print img_picto('', 'product').' '; -print $langs->trans('Product').' '; -print $form->select_produits($productid, 'productid', '', 0, 0, -1, 2, '', 0, array(), 0, '1', 0, 'maxwidth300', 0, '', null, 1); +print img_picto('', 'product', 'class="pictofiwedwidth"').' '; +print ' '; +print $form->select_produits($productid, 'productid', '', 0, 0, -1, 2, '', 0, array(), 0, $langs->trans('Product'), 0, 'maxwidth300', 0, '', null, 1); print '   '; -print img_picto('', 'stock').' '; -print $langs->trans('Warehouse').' '; -print $formproduct->selectWarehouses((GETPOSTISSET('fk_warehouse') ? $fk_warehouse : 'ifone'), 'fk_warehouse', '', 1, 0, 0, '', 0, 0, null, '', null, 1, false, 'e.ref'); +print img_picto('', 'stock', 'class="pictofiwedwidth"'); +print ' '; +print $formproduct->selectWarehouses((GETPOSTISSET('fk_warehouse') ? $fk_warehouse : 'ifone'), 'fk_warehouse', '', 1, 0, 0, $langs->trans('Warehouse'), 0, 0, null, '', null, 1, false, 'e.ref'); print '
'; $parameters = array(); diff --git a/htdocs/product/stock/tpl/stockcorrection.tpl.php b/htdocs/product/stock/tpl/stockcorrection.tpl.php index 6e2ab53dd0e..05d628902fb 100644 --- a/htdocs/product/stock/tpl/stockcorrection.tpl.php +++ b/htdocs/product/stock/tpl/stockcorrection.tpl.php @@ -120,18 +120,18 @@ if (!empty($conf->productbatch->enabled) && print ''; print '
'; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } print ''; } diff --git a/htdocs/product/stock/tpl/stocktransfer.tpl.php b/htdocs/product/stock/tpl/stocktransfer.tpl.php index dcd19be4ad6..27c9b2acb21 100644 --- a/htdocs/product/stock/tpl/stocktransfer.tpl.php +++ b/htdocs/product/stock/tpl/stocktransfer.tpl.php @@ -110,16 +110,16 @@ if (!empty($conf->productbatch->enabled) && print ''; print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''; + } print ''; } diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index b2c3b0d0b2f..0cae81e36c7 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -62,98 +62,108 @@ if ($object->id > 0) { restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('producttranslationcard', 'globalcard')); + /* * Actions */ -// retour a l'affichage des traduction si annulation -if ($cancel == $langs->trans("Cancel")) { - $action = ''; +$parameters = array('id'=>$id, 'ref'=>$ref); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } - -if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) { - $object = new Product($db); - $object->fetch($id); - $object->delMultiLangs(GETPOST('langtodelete', 'alpha'), $user); - setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs'); - $action = ''; -} - -// Add translation -if ($action == 'vadd' && $cancel != $langs->trans("Cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) { - $object = new Product($db); - $object->fetch($id); - $current_lang = $langs->getDefaultLang(); - - // update de l'objet - if (GETPOST("forcelangprod") == $current_lang) { - $object->label = GETPOST("libelle"); - $object->description = dol_htmlcleanlastbr(GETPOST("desc", 'restricthtml')); - $object->other = dol_htmlcleanlastbr(GETPOST("other", 'restricthtml')); - - $object->update($object->id, $user); - } else { - $object->multilangs[GETPOST("forcelangprod")]["label"] = GETPOST("libelle"); - $object->multilangs[GETPOST("forcelangprod")]["description"] = dol_htmlcleanlastbr(GETPOST("desc", 'restricthtml')); - $object->multilangs[GETPOST("forcelangprod")]["other"] = dol_htmlcleanlastbr(GETPOST("other", 'restricthtml')); - } - - // save in database - if (GETPOST("forcelangprod")) { - $result = $object->setMultiLangs($user); - } else { - $object->error = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Language")); - $result = -1; - } - - if ($result > 0) { +if (empty($reshook)) { + // retour a l'affichage des traduction si annulation + if ($cancel == $langs->trans("Cancel")) { $action = ''; - } else { - $action = 'add'; - setEventMessages($object->error, $object->errors, 'errors'); } -} -// Edit translation -if ($action == 'vedit' && $cancel != $langs->trans("Cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) { - $object = new Product($db); - $object->fetch($id); - $current_lang = $langs->getDefaultLang(); + if ($action == 'delete' && GETPOST('langtodelete', 'alpha')) { + $object = new Product($db); + $object->fetch($id); + $object->delMultiLangs(GETPOST('langtodelete', 'alpha'), $user); + setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs'); + $action = ''; + } - foreach ($object->multilangs as $key => $value) { // enregistrement des nouvelles valeurs dans l'objet - if ($key == $current_lang) { - $object->label = GETPOST("libelle-".$key); - $object->description = dol_htmlcleanlastbr(GETPOST("desc-".$key, 'restricthtml')); - $object->other = dol_htmlcleanlastbr(GETPOST("other-".$key, 'restricthtml')); + // Add translation + if ($action == 'vadd' && $cancel != $langs->trans("Cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) { + $object = new Product($db); + $object->fetch($id); + $current_lang = $langs->getDefaultLang(); + + // update de l'objet + if (GETPOST("forcelangprod") == $current_lang) { + $object->label = GETPOST("libelle"); + $object->description = dol_htmlcleanlastbr(GETPOST("desc", 'restricthtml')); + $object->other = dol_htmlcleanlastbr(GETPOST("other", 'restricthtml')); + + $object->update($object->id, $user); } else { - $object->multilangs[$key]["label"] = GETPOST("libelle-".$key); - $object->multilangs[$key]["description"] = dol_htmlcleanlastbr(GETPOST("desc-".$key, 'restricthtml')); - $object->multilangs[$key]["other"] = dol_htmlcleanlastbr(GETPOST("other-".$key, 'restricthtml')); + $object->multilangs[GETPOST("forcelangprod")]["label"] = GETPOST("libelle"); + $object->multilangs[GETPOST("forcelangprod")]["description"] = dol_htmlcleanlastbr(GETPOST("desc", 'restricthtml')); + $object->multilangs[GETPOST("forcelangprod")]["other"] = dol_htmlcleanlastbr(GETPOST("other", 'restricthtml')); + } + + // save in database + if (GETPOST("forcelangprod")) { + $result = $object->setMultiLangs($user); + } else { + $object->error = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Language")); + $result = -1; + } + + if ($result > 0) { + $action = ''; + } else { + $action = 'add'; + setEventMessages($object->error, $object->errors, 'errors'); } } - $result = $object->setMultiLangs($user); - if ($result > 0) { - $action = ''; - } else { - $action = 'edit'; - setEventMessages($object->error, $object->errors, 'errors'); + // Edit translation + if ($action == 'vedit' && $cancel != $langs->trans("Cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) { + $object = new Product($db); + $object->fetch($id); + $current_lang = $langs->getDefaultLang(); + + foreach ($object->multilangs as $key => $value) { // enregistrement des nouvelles valeurs dans l'objet + if ($key == $current_lang) { + $object->label = GETPOST("libelle-" . $key); + $object->description = dol_htmlcleanlastbr(GETPOST("desc-" . $key, 'restricthtml')); + $object->other = dol_htmlcleanlastbr(GETPOST("other-" . $key, 'restricthtml')); + } else { + $object->multilangs[$key]["label"] = GETPOST("libelle-" . $key); + $object->multilangs[$key]["description"] = dol_htmlcleanlastbr(GETPOST("desc-" . $key, 'restricthtml')); + $object->multilangs[$key]["other"] = dol_htmlcleanlastbr(GETPOST("other-" . $key, 'restricthtml')); + } + } + + $result = $object->setMultiLangs($user); + if ($result > 0) { + $action = ''; + } else { + $action = 'edit'; + setEventMessages($object->error, $object->errors, 'errors'); + } } -} -// Delete translation -if ($action == 'vdelete' && $cancel != $langs->trans("Cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) { - $object = new Product($db); - $object->fetch($id); - $langtodelete = GETPOST('langdel', 'alpha'); + // Delete translation + if ($action == 'vdelete' && $cancel != $langs->trans("Cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) { + $object = new Product($db); + $object->fetch($id); + $langtodelete = GETPOST('langdel', 'alpha'); - $result = $object->delMultiLangs($langtodelete, $user); - if ($result > 0) { - $action = ''; - } else { - $action = 'edit'; - setEventMessages($object->error, $object->errors, 'errors'); + $result = $object->delMultiLangs($langtodelete, $user); + if ($result > 0) { + $action = ''; + } else { + $action = 'edit'; + setEventMessages($object->error, $object->errors, 'errors'); + } } } @@ -216,11 +226,15 @@ print dol_get_fiche_end(); */ print "\n".'
'."\n"; -if ($action == '') { - if ($user->rights->produit->creer || $user->rights->service->creer) { - print ''.$langs->trans("Add").''; - if ($cnt_trans > 0) { - print ''.$langs->trans("Update").''; +$parameters = array(); +$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been +if (empty($reshook)) { + if ($action == '') { + if ($user->rights->produit->creer || $user->rights->service->creer) { + print '' . $langs->trans("Add") . ''; + if ($cnt_trans > 0) { + print '' . $langs->trans("Update") . ''; + } } } } @@ -263,6 +277,9 @@ if ($action == 'edit') { } } + $parameters = array(); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + print '
'; print '
'; @@ -334,6 +351,9 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service } print '
'; - print $form->selectDate($pdluo->eatby, 'eatby', '', '', 1, '', 1, 0); - print ''; print $form->selectDate($pdluo->sellby, 'sellby', '', '', 1, '', 1, 0); print ''; + print $form->selectDate($pdluo->eatby, 'eatby', '', '', 1, '', 1, 0); + print ''.$pdluo->qty.($pdluo->qty < 0 ? ' '.img_warning() : '').''; print '
'.dol_print_date($pdluo->eatby, 'day').''.dol_print_date($pdluo->sellby, 'day').''.dol_print_date($pdluo->eatby, 'day').''.$pdluo->qty.($pdluo->qty < 0 ? ' '.img_warning() : '').''; diff --git a/htdocs/product/stock/productlot_card.php b/htdocs/product/stock/productlot_card.php index d8ac85d004d..22f32f0c8b9 100644 --- a/htdocs/product/stock/productlot_card.php +++ b/htdocs/product/stock/productlot_card.php @@ -463,16 +463,6 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print $producttmp->getNomUrl(1, 'stock')." - ".$producttmp->label; print '
'; - print $form->editfieldkey($langs->trans('EatByDate'), 'eatby', $object->eatby, $object, $user->rights->stock->creer, 'datepicker'); - print ''; - print $form->editfieldval($langs->trans('EatByDate'), 'eatby', $object->eatby, $object, $user->rights->stock->creer, 'datepicker'); - print '
'; @@ -483,6 +473,16 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea print '
'; + print $form->editfieldkey($langs->trans('EatByDate'), 'eatby', $object->eatby, $object, $user->rights->stock->creer, 'datepicker'); + print ''; + print $form->editfieldval($langs->trans('EatByDate'), 'eatby', $object->eatby, $object, $user->rights->stock->creer, 'datepicker'); + print '
'.$form->editfieldkey($langs->trans('ManufacturingDate'), 'manufacturing_date', $object->manufacturing_date, $object, $user->rights->stock->creer).''.$form->editfieldval($langs->trans('ManufacturingDate'), 'manufacturing_date', $object->manufacturing_date, $object, $user->rights->stock->creer, 'datepicker').'
'.$langs->trans("EatByDate").''; - $eatbyselected = dol_mktime(0, 0, 0, GETPOST('eatbymonth'), GETPOST('eatbyday'), GETPOST('eatbyyear')); - print $form->selectDate($eatbyselected, 'eatby', '', '', 1, ""); - print ''.$langs->trans("SellByDate").''; $sellbyselected = dol_mktime(0, 0, 0, GETPOST('sellbymonth'), GETPOST('sellbyday'), GETPOST('sellbyyear')); print $form->selectDate($sellbyselected, 'sellby', '', '', 1, ""); print ''.$langs->trans("EatByDate").''; + $eatbyselected = dol_mktime(0, 0, 0, GETPOST('eatbymonth'), GETPOST('eatbyday'), GETPOST('eatbyyear')); + print $form->selectDate($eatbyselected, 'eatby', '', '', 1, ""); + print '
'.$langs->trans("EatByDate").''; - print $form->selectDate(($d_eatby ? $d_eatby : $pdluo->eatby), 'eatby', '', '', 1, "", 1, 0, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled - print ''.$langs->trans("SellByDate").''; print $form->selectDate(($d_sellby ? $d_sellby : $pdluo->sellby), 'sellby', '', '', 1, "", 1, 0, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled print ''.$langs->trans("EatByDate").''; + print $form->selectDate(($d_eatby ? $d_eatby : $pdluo->eatby), 'eatby', '', '', 1, "", 1, 0, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled + print '
'; + $parameters = array(); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + print dol_get_fiche_end(); print '
'; diff --git a/htdocs/projet/ajax/projects.php b/htdocs/projet/ajax/projects.php index 5264fa02596..d933e6f55a0 100644 --- a/htdocs/projet/ajax/projects.php +++ b/htdocs/projet/ajax/projects.php @@ -82,7 +82,7 @@ if (empty($mode) || $mode != 'gettasks') { // Mode to get list of tasks if ($mode == 'gettasks') { $formproject = new FormProjets($db); - $formproject->selectTasks((!empty($$socid) ? $socid : -1), 0, 'taskid', 24, 1, '1', 1, 0, 0, 'maxwidth500', GETPOST('projectid', 'int'), ''); + $formproject->selectTasks((!empty($socid) ? $socid : -1), 0, 'taskid', 24, 1, '1', 1, 0, 0, 'maxwidth500', GETPOST('projectid', 'int'), ''); return; } diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 3c2d5b02829..b14fcfc73fd 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -89,6 +89,8 @@ $socid = GETPOST('socid', 'int'); //if ($user->socid > 0) $socid = $user->socid; // For external user, no check is done on company because readability is managed by public status of project and assignement. restrictedArea($user, 'projet', $object->id, 'projet&project'); +$permissiondellink = $user->rights->projet->creer; // Used by the include of actions_dellink.inc.php + /* * Actions @@ -121,6 +123,8 @@ if (empty($reshook)) { $action = ''; } + include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once + if ($action == 'add' && $user->rights->projet->creer) { $error = 0; if (!GETPOST('ref')) { @@ -132,9 +136,11 @@ if (empty($reshook)) { $error++; } - if (GETPOST('opp_amount') != '' && !(GETPOST('opp_status') > 0)) { - $error++; - setEventMessages($langs->trans("ErrorOppStatusRequiredIfAmount"), null, 'errors'); + if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { + if (GETPOST('opp_amount') != '' && !(GETPOST('opp_status') > 0)) { + $error++; + setEventMessages($langs->trans("ErrorOppStatusRequiredIfAmount"), null, 'errors'); + } } // Create with status validated immediatly @@ -270,9 +276,11 @@ if (empty($reshook)) { } } - if ($object->opp_amount && ($object->opp_status <= 0)) { - $error++; - setEventMessages($langs->trans("ErrorOppStatusRequiredIfAmount"), null, 'errors'); + if (!empty($conf->global->PROJECT_USE_OPPORTUNITIES)) { + if ($object->opp_amount && ($object->opp_status <= 0)) { + $error++; + setEventMessages($langs->trans("ErrorOppStatusRequiredIfAmount"), null, 'errors'); + } } if (!$error) { @@ -511,7 +519,7 @@ if ($action == 'create' && $user->rights->projet->creer) { // Ref $suggestedref = (GETPOST("ref") ? GETPOST("ref") : $defaultref); - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print ' '.$form->textwithpicto('', $langs->trans("YouCanCompleteRef", $suggestedref)); print ''; @@ -796,7 +804,7 @@ if ($action == 'create' && $user->rights->projet->creer) { // Ref $suggestedref = $object->ref; print ''.$langs->trans("Ref").''; - print ''; + print ''; print ' '.$form->textwithpicto('', $langs->trans("YouCanCompleteRef", $suggestedref)); print ''; diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index ce2db90fa5d..4f52dd48057 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -744,7 +744,8 @@ class Project extends CommonObject 'datefieldname' => $datefieldname, 'dates' => $dates, 'datee' => $datee, - 'fk_projet' => $projectkey + 'fk_projet' => $projectkey, + 'ids' => $ids, ); $reshook = $hookmanager->executeHooks('getElementList', $parameters, $object, $action); if ($reshook > 0) { @@ -2050,7 +2051,7 @@ class Project extends CommonObject $response->nbtodo++; $project_static->statut = $obj->status; - $project_static->opp_status = $obj->opp_status; + $project_static->opp_status = $obj->fk_opp_status; $project_static->datee = $this->db->jdate($obj->datee); if ($project_static->hasDelay()) { diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index ac3da9eca68..5b92b9cccdf 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -116,6 +116,7 @@ class Task extends CommonObject public $timespent_datehour; // More accurate start date (same than timespent_date but includes hours, minutes and seconds) public $timespent_withhour; // 1 = we entered also start hours for timesheet line public $timespent_fk_user; + public $timespent_thm; public $timespent_note; public $comments = array(); @@ -1224,6 +1225,7 @@ class Task extends CommonObject $ret = -2; } + // Update hourly rate of this time spent entry $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task_time"; $sql .= " SET thm = (SELECT thm FROM ".MAIN_DB_PREFIX."user WHERE rowid = ".((int) $this->timespent_fk_user).")"; // set average hour rate of user $sql .= " WHERE rowid = ".((int) $tasktime_id); @@ -1437,6 +1439,7 @@ class Task extends CommonObject $sql .= " ptt.task_duration,"; $sql .= " ptt.fk_user,"; $sql .= " ptt.note,"; + $sql .= " ptt.thm,"; $sql .= " pt.rowid as task_id,"; $sql .= " pt.ref as task_ref,"; $sql .= " pt.label as task_label,"; @@ -1447,7 +1450,7 @@ class Task extends CommonObject $sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as ptt, ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet as p"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON p.fk_soc = s.rowid"; $sql .= " WHERE ptt.fk_task = pt.rowid AND pt.fk_projet = p.rowid"; - $sql .= " AND ptt.fk_user = ".$userobj->id; + $sql .= " AND ptt.fk_user = ".((int) $userobj->id); $sql .= " AND pt.entity IN (".getEntity('project').")"; if ($morewherefilter) { $sql .= $morewherefilter; @@ -1483,6 +1486,7 @@ class Task extends CommonObject $newobj->timespent_withhour = $obj->task_date_withhour; $newobj->timespent_duration = $obj->task_duration; $newobj->timespent_fk_user = $obj->fk_user; + $newobj->timespent_thm = $obj->thm; // hourly rate $newobj->timespent_note = $obj->note; $arrayres[] = $newobj; @@ -1575,10 +1579,12 @@ class Task extends CommonObject } if ($ret == 1 && ($this->timespent_old_duration != $this->timespent_duration)) { - $newDuration = $this->timespent_duration - $this->timespent_old_duration; - + // Recalculate amount of time spent for task and update denormalized field $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task"; $sql .= " SET duration_effective = (SELECT SUM(task_duration) FROM ".MAIN_DB_PREFIX."projet_task_time as ptt where ptt.fk_task = ".((int) $this->id).")"; + if (isset($this->progress)) { + $sql .= ", progress = ".((float) $this->progress); // Do not overwrite value if not provided + } $sql .= " WHERE rowid = ".((int) $this->id); dol_syslog(get_class($this)."::updateTimeSpent", LOG_DEBUG); @@ -1587,6 +1593,17 @@ class Task extends CommonObject $this->db->rollback(); $ret = -2; } + + // Update hourly rate of this time spent entry, but only if it was not set initialy + $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task_time"; + $sql .= " SET thm = (SELECT thm FROM ".MAIN_DB_PREFIX."user WHERE rowid = ".((int) $this->timespent_fk_user).")"; // set average hour rate of user + $sql .= " WHERE (thm IS NULL OR thm = 0) AND rowid = ".((int) $this->timespent_id); + + dol_syslog(get_class($this)."::addTimeSpent", LOG_DEBUG); + if (!$this->db->query($sql)) { + $this->error = $this->db->lasterror(); + $ret = -2; + } } if ($ret >= 0) { @@ -2152,7 +2169,7 @@ class Task extends CommonObject $now = dol_now(); - $datetouse = ($this->date_end > 0) ? $this->date_end : ($this->datee > 0 ? $this->datee : 0); + $datetouse = ($this->date_end > 0) ? $this->date_end : ((isset($this->datee) && $this->datee > 0) ? $this->datee : 0); return ($datetouse > 0 && ($datetouse < ($now - $conf->projet->task->warning_delay))); } diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index a6e3af11979..7fcfe3bc92b 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -1030,7 +1030,7 @@ foreach ($listofreferent as $key => $value) { $addform .= ''; $addform .= ''; $addform .= ''; - $addform .= ''; + $addform .= ''; $addform .= '
'.$langs->trans("SelectElement").''.$selectList.'
'; $addform .= ''; $addform .= '
'; @@ -1039,7 +1039,7 @@ foreach ($listofreferent as $key => $value) { if (empty($conf->global->PROJECT_CREATE_ON_OVERVIEW_DISABLED) && $urlnew) { $addform .= '
'; if ($testnew) { - $addform .= ''.($buttonnew ? $langs->trans($buttonnew) : $langs->trans("Create")).''; + $addform .= ''.($buttonnew ? $langs->trans($buttonnew) : $langs->trans("Create")).''; } elseif (empty($conf->global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { $addform .= ''.($buttonnew ? $langs->trans($buttonnew) : $langs->trans("Create")).''; } diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index 39a47e969a8..6d7ec7d351e 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -167,7 +167,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } diff --git a/htdocs/projet/note.php b/htdocs/projet/note.php index 8b65156570a..9fee6615c40 100644 --- a/htdocs/projet/note.php +++ b/htdocs/projet/note.php @@ -46,6 +46,7 @@ if (!empty($conf->global->PROJECT_ALLOW_COMMENT_ON_PROJECT) && method_exists($ob // Security check $socid = 0; //if ($user->socid > 0) $socid = $user->socid; // For external user, no check is done on company because readability is managed by public status of project and assignement. +$hookmanager->initHooks(array('projetnote')); $result = restrictedArea($user, 'projet', $id, 'projet&project'); $permissionnote = $user->rights->projet->creer; // Used by the include of actions_setnotes.inc.php @@ -55,7 +56,13 @@ $permissionnote = $user->rights->projet->creer; // Used by the include of action * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/projet/tasks/note.php b/htdocs/projet/tasks/note.php index 4d581afc30a..f1fc0c31524 100644 --- a/htdocs/projet/tasks/note.php +++ b/htdocs/projet/tasks/note.php @@ -44,6 +44,9 @@ $socid = 0; if (!$user->rights->projet->lire) { accessforbidden(); } + +$hookmanager->initHooks(array('projettasknote')); + //$result = restrictedArea($user, 'projet', $id, '', 'task'); // TODO ameliorer la verification $object = new Task($db); @@ -89,7 +92,13 @@ $permissionnote = ($user->rights->projet->creer || $user->rights->projet->all->c * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 2cfb39bf437..0947ae5da1d 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -262,10 +262,10 @@ if (($action == 'updateline' || $action == 'updatesplitline') && !$cancel && $us $object->timespent_duration = GETPOSTINT("new_durationhour") * 60 * 60; // We store duration in seconds $object->timespent_duration += (GETPOSTINT("new_durationmin") ? GETPOSTINT('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")); + $object->timespent_date = dol_mktime(GETPOST("timelinehour", 'int'), GETPOST("timelinemin", 'int'), 0, GETPOST("timelinemonth", 'int'), GETPOST("timelineday", 'int'), GETPOST("timelineyear", 'int')); $object->timespent_withhour = 1; } else { - $object->timespent_date = dol_mktime(12, 0, 0, GETPOST("timelinemonth"), GETPOST("timelineday"), GETPOST("timelineyear")); + $object->timespent_date = dol_mktime(12, 0, 0, GETPOST("timelinemonth", 'int'), GETPOST("timelineday", 'int'), GETPOST("timelineyear", 'int')); } $object->timespent_fk_user = GETPOST("userid_line", 'int'); @@ -354,6 +354,13 @@ if ($action == 'confirm_generateinvoice') { $prodDurationHours = 1.0; if ($idprod > 0) { $tmpproduct->fetch($idprod); + + if (empty($tmpproduct->duration_value)) { + $error++; + $langs->load("errors"); + setEventMessages($langs->trans("ErrorDurationForServiceNotDefinedCantCalculateHourlyPrice"), null, 'errors'); + } + if ($tmpproduct->duration_unit == 'i') { $prodDurationHours = 1. / 60; } @@ -381,6 +388,8 @@ if ($action == 'confirm_generateinvoice') { $localtax1 = $dataforprice['localtax1']; $localtax2 = $dataforprice['localtax2']; } else { + $prodDurationHours = 1; + $pu_ht = 0; $txtva = get_default_tva($mysoc, $projectstatic->thirdparty); $localtax1 = get_default_localtax($mysoc, $projectstatic->thirdparty, 1); @@ -483,14 +492,14 @@ if ($action == 'confirm_generateinvoice') { break; } } - } elseif ($generateinvoicemode == 'onelinepertask') { + } elseif ($generateinvoicemode == 'onelinepertask') { // One line for each different task $arrayoftasks = array(); foreach ($toselect as $key => $value) { // Get userid, timepent - $object->fetchTimeSpent($value); - // $object->id is the task id + $object->fetchTimeSpent($value); // Call method to get list of timespent for a timespent line id (We use the utiliy method found into Task object) + // $object->id is now the task id $arrayoftasks[$object->id]['timespent'] += $object->timespent_duration; - $arrayoftasks[$object->id]['totalvaluetodivideby3600'] += $object->timespent_duration * $object->timespent_thm; + $arrayoftasks[$object->id]['totalvaluetodivideby3600'] += ($object->timespent_duration * $object->timespent_thm); } foreach ($arrayoftasks as $task_id => $value) { @@ -500,24 +509,46 @@ if ($action == 'confirm_generateinvoice') { $qtyhour = $value['timespent'] / 3600; $qtyhourtext = convertSecondToTime($value['timespent'], 'all', $conf->global->MAIN_DURATION_OF_WORKDAY); - // If no unit price known - if (empty($pu_ht)) { - $pu_ht = price2num($value['totalvaluetodivideby3600'] / 3600, 'MU'); + if ($idprod > 0) { + // If a product is defined, we msut use the $prodDurationHours and $pu_ht of product (already set previously). + $pu_ht_for_task = $pu_ht; + // If we want to reuse the value of timespent (so use same price than cost price) + if (!empty($conf->global->PROJECT_TIME_SPENT_INTO_INVOICE_USE_VALUE)) { + $pu_ht_for_task = price2num($value['totalvaluetodivideby3600'] / $value['timespent'], 'MU') * $prodDurationHours; + } + $pa_ht = price2num($value['totalvaluetodivideby3600'] / $value['timespent'], 'MU') * $prodDurationHours; + } else { + // If not product used, we use the hour unit for duration and unit price. + $pu_ht_for_task = 0; + // If we want to reuse the value of timespent (so use same price than cost price) + if (!empty($conf->global->PROJECT_TIME_SPENT_INTO_INVOICE_USE_VALUE)) { + $pu_ht_for_task = price2num($value['totalvaluetodivideby3600'] / $value['timespent'], 'MU'); + } + $pa_ht = price2num($value['totalvaluetodivideby3600'] / $value['timespent'], 'MU'); } // Add lines + $date_start = ''; + $date_end = ''; $lineName = $ftask->ref.' - '.$ftask->label; - $lineid = $tmpinvoice->addline($lineName, $pu_ht, round($qtyhour / $prodDurationHours, 2), $txtva, $localtax1, $localtax2, ($idprod > 0 ? $idprod : 0)); - - // Update lineid into line of timespent - $sql = 'UPDATE '.MAIN_DB_PREFIX.'projet_task_time SET invoice_line_id = '.((int) $lineid).', invoice_id = '.((int) $tmpinvoice->id); - $sql .= ' WHERE rowid IN ('.$db->sanitize(join(',', $toselect)).')'; - $result = $db->query($sql); - if (!$result) { + $lineid = $tmpinvoice->addline($lineName, $pu_ht_for_task, price2num($qtyhour / $prodDurationHours, 'MS'), $txtva, $localtax1, $localtax2, ($idprod > 0 ? $idprod : 0), 0, $date_start, $date_end, 0, 0, '', 'HT', 0, 1, -1, 0, '', 0, 0, null, $pa_ht); + if ($lineid < 0) { $error++; - setEventMessages($db->lasterror(), null, 'errors'); + setEventMessages($tmpinvoice->error, $tmpinvoice->errors, 'errors'); break; } + + if (!$error) { + // Update lineid into line of timespent + $sql = 'UPDATE '.MAIN_DB_PREFIX.'projet_task_time SET invoice_line_id = '.((int) $lineid).', invoice_id = '.((int) $tmpinvoice->id); + $sql .= ' WHERE rowid IN ('.$db->sanitize(join(',', $toselect)).')'; + $result = $db->query($sql); + if (!$result) { + $error++; + setEventMessages($db->lasterror(), null, 'errors'); + break; + } + } } } } @@ -1042,7 +1073,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) { print ''; if ($projectstatic->thirdparty->id > 0) { - print ''; + print '
'; print ''; print ''; - $date1 = $db->jdate($task_time->task_date); $date2 = $db->jdate($task_time->task_datehour); + print ''; + // Date if (!empty($arrayfields['t.task_date']['checked'])) { print ''; if (!$i) { $totalarray['nbfield']++; diff --git a/htdocs/public/eventorganization/attendee_subscription.php b/htdocs/public/eventorganization/attendee_subscription.php index 19bb2007bda..afdfdb9f806 100644 --- a/htdocs/public/eventorganization/attendee_subscription.php +++ b/htdocs/public/eventorganization/attendee_subscription.php @@ -205,7 +205,7 @@ if ($reshook < 0) { } // Action called when page is submitted -if (empty($reshook) && $action == 'add') { +if (empty($reshook) && $action == 'add' && $conference->status==2) { $error = 0; $urlback = ''; @@ -473,25 +473,27 @@ print $langs->trans("EvntOrgWelcomeMessage", $conference->label); print '
'; print $langs->trans("EvntOrgDuration", dol_print_date($conference->datep), dol_print_date($conference->datef)); print ''; - dol_htmloutput_errors($errmsg); -// Print form -print ''."\n"; -print ''; -print ''; -print ''; -print ''; -print ''; +if ($conference->status!=2) { + print $langs->trans("ConferenceIsNotConfirmed"); +} else { + // Print form + print '' . "\n"; + print ''; + print ''; + print ''; + print ''; + print ''; -print '
'; + print '
'; -print '
'.$langs->trans("FieldsWithAreMandatory", '*').'
'; -//print $langs->trans("FieldsWithIsForPublic",'**').'
'; + print '
' . $langs->trans("FieldsWithAreMandatory", '*') . '
'; + //print $langs->trans("FieldsWithIsForPublic",'**').'
'; -print dol_get_fiche_head(''); + print dol_get_fiche_head(''); -print ''; -print '
'; print $langs->trans('DateInvoice'); @@ -1464,11 +1495,11 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) { break; } - print '
'; @@ -1504,7 +1535,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) { $totalarray['nbfield']++; } } - } else { + } elseif ($action !== 'createtime') { print ''; } @@ -1592,9 +1623,13 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) { // Value spent if (!empty($arrayfields['value']['checked'])) { + $langs->load("salaries"); + print ''; $value = price2num($task_time->thm * $task_time->task_duration / 3600, 'MT', 1); + print 'thm).'">'; print price($value, 1, $langs, 1, -1, -1, $conf->currency); + print ''; print '
'."\n"; + print '
' . "\n"; -// Email -print ''."\n"; -// Company -print ''."\n"; -// Address -print ''."\n"; -// Zip / Town -print ''; -// Country -print '' . "\n"; + // Company + print '' . "\n"; + // Address + print '' . "\n"; + // Zip / Town + print ''; + // Country + print ''; -// State -if (empty($conf->global->SOCIETE_DISABLE_STATE)) { - print ''; + // State + if (empty($conf->global->SOCIETE_DISABLE_STATE)) { + print ''; + } + + print "
'.$langs->trans("Email").'*
'.$langs->trans("Company"); -if (!empty(floatval($project->price_registration))) { - print '*'; -} -print '
'.$langs->trans("Address").''."\n"; -print '
'.$langs->trans('Zip').' / '.$langs->trans('Town').''; -print $formcompany->select_ziptown(GETPOST('zipcode'), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6, 1); -print ' / '; -print $formcompany->select_ziptown(GETPOST('town'), 'town', array('zipcode', 'selectcountry_id', 'state_id'), 0, 1); -print '
'.$langs->trans('Country').'*'; -$country_id = GETPOST('country_id'); -if (!$country_id && !empty($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE)) { - $country_id = getCountry($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE, 2, $db, $langs); -} -if (!$country_id && !empty($conf->geoipmaxmind->enabled)) { - $country_code = dol_user_country(); - //print $country_code; - if ($country_code) { - $new_country_id = getCountry($country_code, 3, $db, $langs); - //print 'xxx'.$country_code.' - '.$new_country_id; - if ($new_country_id) { - $country_id = $new_country_id; + // Email + print '
' . $langs->trans("Email") . '*
' . $langs->trans("Company"); + if (!empty(floatval($project->price_registration))) { + print '*'; + } + print '
' . $langs->trans("Address") . '' . "\n"; + print '
' . $langs->trans('Zip') . ' / ' . $langs->trans('Town') . ''; + print $formcompany->select_ziptown(GETPOST('zipcode'), 'zipcode', array('town', 'selectcountry_id', 'state_id'), 6, 1); + print ' / '; + print $formcompany->select_ziptown(GETPOST('town'), 'town', array('zipcode', 'selectcountry_id', 'state_id'), 0, 1); + print '
' . $langs->trans('Country') . '*'; + $country_id = GETPOST('country_id'); + if (!$country_id && !empty($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE)) { + $country_id = getCountry($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE, 2, $db, $langs); + } + if (!$country_id && !empty($conf->geoipmaxmind->enabled)) { + $country_code = dol_user_country(); + //print $country_code; + if ($country_code) { + $new_country_id = getCountry($country_code, 3, $db, $langs); + //print 'xxx'.$country_code.' - '.$new_country_id; + if ($new_country_id) { + $country_id = $new_country_id; + } } } -} -$country_code = getCountry($country_id, 2, $db, $langs); -print $form->select_country($country_id, 'country_id'); -print '
'.$langs->trans('State').''; - if ($country_code) { - print $formcompany->select_state(GETPOST("state_id"), $country_code); - } else { - print ''; - } + $country_code = getCountry($country_id, 2, $db, $langs); + print $form->select_country($country_id, 'country_id'); print '
' . $langs->trans('State') . ''; + if ($country_code) { + print $formcompany->select_state(GETPOST("state_id"), $country_code); + } else { + print ''; + } + print '
\n"; + + print dol_get_fiche_end(); + + // Save + print '
'; + print ''; + if (!empty($backtopage)) { + print '     '; + } + print '
'; + + + print "\n"; + print "
"; + print '
'; } -print "\n"; - -print dol_get_fiche_end(); - -// Save -print '
'; -print ''; -if (!empty($backtopage)) { - print '     '; -} -print '
'; - - -print "\n"; -print "
"; -print '
'; - - llxFooterVierge(); $db->close(); diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index 1fbf420888d..5a7340bbe34 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -813,6 +813,111 @@ if ($ispaymentok) { $postactionmessages[] = 'Invoice paid '.$tmptag['INV'].' was not found'; $ispostactionok = -1; } + } elseif (array_key_exists('ORD', $tmptag) && $tmptag['ORD'] > 0) { + include_once DOL_DOCUMENT_ROOT . '/commande/class/commande.class.php'; + $object = new Commande($db); + $result = $object->fetch($tmptag['ORD']); + if ($result) { + $FinalPaymentAmt = $_SESSION["FinalPaymentAmt"]; + + $paymentTypeId = 0; + if ($paymentmethod == 'paybox') $paymentTypeId = $conf->global->PAYBOX_PAYMENT_MODE_FOR_PAYMENTS; + if ($paymentmethod == 'paypal') $paymentTypeId = $conf->global->PAYPAL_PAYMENT_MODE_FOR_PAYMENTS; + if ($paymentmethod == 'stripe') $paymentTypeId = $conf->global->STRIPE_PAYMENT_MODE_FOR_PAYMENTS; + if (empty($paymentTypeId)) { + $paymentType = $_SESSION["paymentType"]; + if (empty($paymentType)) $paymentType = 'CB'; + $paymentTypeId = dol_getIdFromCode($db, $paymentType, 'c_paiement', 'code', 'id', 1); + } + + $currencyCodeType = $_SESSION['currencyCodeType']; + + // Do action only if $FinalPaymentAmt is set (session variable is cleaned after this page to avoid duplicate actions when page is POST a second time) + if (!empty($conf->facture->enabled)) { + if (!empty($FinalPaymentAmt) && $paymentTypeId > 0 ) { + include_once DOL_DOCUMENT_ROOT . '/compta/facture/class/facture.class.php'; + $invoice = new Facture($db); + $result = $invoice->createFromOrder($object, $user); + if ($result > 0) { + $object->classifyBilled($user); + $invoice->validate($user); + // Creation of payment line + include_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php'; + $paiement = new Paiement($db); + $paiement->datepaye = $now; + if ($currencyCodeType == $conf->currency) { + $paiement->amounts = array($invoice->id => $FinalPaymentAmt); // Array with all payments dispatching with invoice id + } else { + $paiement->multicurrency_amounts = array($invoice->id => $FinalPaymentAmt); // Array with all payments dispatching + + $postactionmessages[] = 'Payment was done in a different currency that currency expected of company'; + $ispostactionok = -1; + $error++; + } + $paiement->paiementid = $paymentTypeId; + $paiement->num_payment = ''; + $paiement->note_public = 'Online payment ' . dol_print_date($now, 'standard') . ' from ' . $ipaddress; + $paiement->ext_payment_id = $TRANSACTIONID; + $paiement->ext_payment_site = ''; + + if (!$error) { + $paiement_id = $paiement->create($user, 1); // This include closing invoices and regenerating documents + if ($paiement_id < 0) { + $postactionmessages[] = $paiement->error . ' ' . join("
\n", $paiement->errors); + $ispostactionok = -1; + $error++; + } else { + $postactionmessages[] = 'Payment created'; + $ispostactionok = 1; + } + } + + if (!$error && !empty($conf->banque->enabled)) { + $bankaccountid = 0; + if ($paymentmethod == 'paybox') $bankaccountid = $conf->global->PAYBOX_BANK_ACCOUNT_FOR_PAYMENTS; + elseif ($paymentmethod == 'paypal') $bankaccountid = $conf->global->PAYPAL_BANK_ACCOUNT_FOR_PAYMENTS; + elseif ($paymentmethod == 'stripe') $bankaccountid = $conf->global->STRIPE_BANK_ACCOUNT_FOR_PAYMENTS; + + if ($bankaccountid > 0) { + $label = '(CustomerInvoicePayment)'; + if ($object->type == Facture::TYPE_CREDIT_NOTE) $label = '(CustomerInvoicePaymentBack)'; // Refund of a credit note + $result = $paiement->addPaymentToBank($user, 'payment', $label, $bankaccountid, '', ''); + if ($result < 0) { + $postactionmessages[] = $paiement->error . ' ' . join("
\n", $paiement->errors); + $ispostactionok = -1; + $error++; + } else { + $postactionmessages[] = 'Bank transaction of payment created'; + $ispostactionok = 1; + } + } else { + $postactionmessages[] = 'Setup of bank account to use in module ' . $paymentmethod . ' was not set. No way to record the payment.'; + $ispostactionok = -1; + $error++; + } + } + + if (!$error) { + $db->commit(); + } else { + $db->rollback(); + } + } else { + $postactionmessages[] = 'Failed to create invoice form order ' . $tmptag['ORD'] . '.'; + $ispostactionok = -1; + } + } else { + $postactionmessages[] = 'Failed to get a valid value for "amount paid" (' . $FinalPaymentAmt . ') or "payment type" (' . $paymentType . ') to record the payment of order ' . $tmptag['ORD'] . '. May be payment was already recorded.'; + $ispostactionok = -1; + } + } else { + $postactionmessages[] = 'Invoice module is not enable'; + $ispostactionok = -1; + } + } else { + $postactionmessages[] = 'Order paid ' . $tmptag['ORD'] . ' was not found'; + $ispostactionok = -1; + } } elseif (array_key_exists('DON', $tmptag) && $tmptag['DON'] > 0) { include_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; $don = new Don($db); @@ -1031,6 +1136,8 @@ if ($ispaymentok) { if ($resultattendee < 0) { setEventMessages(null, $attendeetovalidate->errors, "errors"); } else { + $attendeetovalidate->amount=$FinalPaymentAmt; + $attendeetovalidate->update($user); $attendeetovalidate->validate($user); // Sending mail @@ -1051,8 +1158,9 @@ if ($ispaymentok) { $arraydefaultmessage = null; $labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT; + if (!empty($labeltouse)) { - $arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, ''); + $arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, ''); } if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) { @@ -1066,7 +1174,7 @@ if ($ispaymentok) { $subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs); $texttosend = make_substitutions($msg, $substitutionarray, $outputlangs); - $sendto = $thirdparty->email; + $sendto = $attendeetovalidate->email; $from = $conf->global->MAILING_EMAIL_FROM; $urlback = $_SERVER["REQUEST_URI"]; @@ -1233,7 +1341,7 @@ if ($ispaymentok) { $labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_AFT_SUBS_EVENT; if (!empty($labeltouse)) { - $arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, ''); + $arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, ''); } if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) { @@ -1302,6 +1410,12 @@ if ($ispaymentok) { $error++; } // End call triggers + } elseif (get_class($object) == 'stdClass') { + //In some case $object is not instanciate (for paiement on custom object) We need to deal with payment + include_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; + $paiement = new Paiement($db); + $result = $paiement->call_trigger('PAYMENTONLINE_PAYMENT_OK', $user); + if ($result < 0) $error++; } print $langs->trans("YourPaymentHasBeenRecorded")."
\n"; diff --git a/htdocs/public/project/suggestbooth.php b/htdocs/public/project/suggestbooth.php index 6329441778f..c695ea9cec1 100644 --- a/htdocs/public/project/suggestbooth.php +++ b/htdocs/public/project/suggestbooth.php @@ -81,9 +81,8 @@ $email = GETPOST("email"); $societe = GETPOST("societe"); $label = GETPOST("label"); $note = GETPOST("note"); -$datestart = GETPOST("datestart"); -$dateend = GETPOST("dateend"); - +$datestart = dol_mktime(0, 0, 0, GETPOST('datestartmonth', 'int'), GETPOST('datestartday', 'int'), GETPOST('datestartyear', 'int')); +$dateend = dol_mktime(23, 59, 59, GETPOST('dateendmonth', 'int'), GETPOST('dateendday', 'int'), GETPOST('dateendyear', 'int')); $id = GETPOST('id'); $project = new Project($db); @@ -225,13 +224,19 @@ if (empty($reshook) && $action == 'add') { $error++; $errmsg .= $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Note"))."
\n"; } - if (!GETPOST("datestart")) { + if (empty($datestart)) { $error++; $errmsg .= $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("DateStart"))."
\n"; + } elseif ($datestart < $project->date_start) { + $error++; + $errmsg .= $langs->trans("DateMustBeAfterThan", $langs->transnoentitiesnoconv("DateStart"), dol_print_date($project->date_start))."
\n"; } - if (!GETPOST("dateend")) { + if (empty($dateend)) { $error++; $errmsg .= $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("DateEnd"))."
\n"; + } elseif ($dateend > dol_mktime(23, 59, 59, dol_print_date($project->date_end, '%m'), dol_print_date($project->date_end, '%d'), dol_print_date($project->date_end, '%Y'))) { + $error++; + $errmsg .= $langs->trans("DateMustBeBeforeThan", $langs->transnoentitiesnoconv("DateEnd"), dol_print_date($project->date_end))."
\n"; } if (!GETPOST("email")) { $error++; @@ -376,7 +381,7 @@ if (empty($reshook) && $action == 'add') { $conforbooth->fk_project = $project->id; $conforbooth->note = $note; $conforbooth->fk_action = $eventtype; - $conforbooth->datep =$datestart; + $conforbooth->datep = $datestart; $conforbooth->datep2 = $dateend; $conforbooth->datec = dol_now(); $conforbooth->tms = dol_now(); @@ -405,6 +410,7 @@ if (empty($reshook) && $action == 'add') { $facture->paye = 0; $facture->date = dol_now(); $facture->cond_reglement_id = $contact->cond_reglement_id; + $facture->fk_project = $project->id; if (empty($facture->cond_reglement_id)) { $paymenttermstatic = new PaymentTerm($contact->db); @@ -422,7 +428,7 @@ if (empty($reshook) && $action == 'add') { $error++; } else { $db->commit(); - $facture->add_object_linked($contact->element, $contact->id); + $facture->add_object_linked($conforbooth->element, $conforbooth->id); } } @@ -435,7 +441,7 @@ if (empty($reshook) && $action == 'add') { $contact->errors = $facture->errors; $error++; } - if (!$error) { + /*if (!$error) { $valid = true; $sourcetouse = 'boothlocation'; $reftouse = $facture->id; @@ -449,54 +455,12 @@ if (empty($reshook) && $action == 'add') { } Header("Location: ".$redirection); exit; - } + }*/ } } else { // If no price has been set for the booth, we confirm it as suggested and we update $conforbooth->status = ConferenceOrBooth::STATUS_SUGGESTED; $conforbooth->update($user); - // Sending mail - require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; - $formmail = new FormMail($db); - // Set output language - $outputlangs = new Translate('', $conf); - $outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang); - // Load traductions files required by page - $outputlangs->loadLangs(array("main", "members")); - // Get email content from template - $arraydefaultmessage = null; - - $labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH; - if (!empty($labeltouse)) { - $arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, ''); - } - - if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) { - $subject = $arraydefaultmessage->topic; - $msg = $arraydefaultmessage->content; - } - - $substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty); - complete_substitutions_array($substitutionarray, $outputlangs, $object); - - $subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs); - $texttosend = make_substitutions($msg, $substitutionarray, $outputlangs); - - $sendto = $thirdparty->email; - $from = $conf->global->MAILING_EMAIL_FROM; - $urlback = $_SERVER["REQUEST_URI"]; - - $ishtml = dol_textishtml($texttosend); // May contain urls - - $mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml); - - $result = $mailfile->sendfile(); - if ($result) { - dol_syslog("EMail sent to ".$sendto, LOG_DEBUG, 0, '_payment'); - } else { - dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment'); - } } } } @@ -504,6 +468,50 @@ if (empty($reshook) && $action == 'add') { } if (!$error) { $db->commit(); + + // Sending mail + require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + // Set output language + $outputlangs = new Translate('', $conf); + $outputlangs->setDefaultLang(empty($thirdparty->default_lang) ? $mysoc->default_lang : $thirdparty->default_lang); + // Load traductions files required by page + $outputlangs->loadLangs(array("main", "members")); + // Get email content from template + $arraydefaultmessage = null; + + $labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_BOOTH; + if (!empty($labeltouse)) { + $arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, ''); + } + + if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) { + $subject = $arraydefaultmessage->topic; + $msg = $arraydefaultmessage->content; + } + + $substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $thirdparty); + complete_substitutions_array($substitutionarray, $outputlangs, $object); + + $subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs); + $texttosend = make_substitutions($msg, $substitutionarray, $outputlangs); + + $sendto = $thirdparty->email; + $from = $conf->global->MAILING_EMAIL_FROM; + $urlback = $_SERVER["REQUEST_URI"]; + + $ishtml = dol_textishtml($texttosend); // May contain urls + + $mailfile = new CMailFile($subjecttosend, $sendto, $from, $texttosend, array(), array(), array(), '', '', 0, $ishtml); + + $result = $mailfile->sendfile(); + if ($result) { + dol_syslog("EMail sent to ".$sendto, LOG_DEBUG, 0, '_payment'); + } else { + dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment'); + } + $securekeyurl = dol_hash($conf->global->EVENTORGANIZATION_SECUREKEY.'conferenceorbooth'.$id, 2); $redirection = $dolibarr_main_url_root.'/public/eventorganization/subscriptionok.php?id='.$id.'&securekey='.$securekeyurl; Header("Location: ".$redirection); @@ -569,7 +577,7 @@ jQuery(document).ready(function () { print ''."\n"; // Name -print ''; +print ''; print ''; print ''; // Email @@ -577,21 +585,6 @@ print ''."\n"; -// Type of event -print ''."\n"; -print ''; -// Label -print ''."\n"; -print ''."\n"; -// Note -print ''."\n"; -print ''."\n"; -// Start Date -print ''."\n"; -print ''."\n"; -// End Date -print ''."\n"; -print ''."\n"; // Address print ''."\n"; @@ -603,9 +596,8 @@ print $formcompany->select_ziptown(GETPOST('town'), 'town', array('zipcode', 'se print ''; // Country print ''; } +// Type of event +print ''."\n"; +print ''; +// Label +print ''."\n"; +print ''."\n"; +// Note +print ''."\n"; +print ''."\n"; +// Start Date +print ''."\n"; +print ''."\n"; +// End Date +print ''."\n"; +print ''."\n"; print "
lastname).'" autofocus="autofocus">
'.$langs->trans("Email").'*'.$langs->trans("Company").'*'; print '
'.$langs->trans("EventType").'*'.FORM::selectarray('eventtype', $arrayofeventtype, $eventtype).'
'.$langs->trans("Label").'*
'.$langs->trans("Note").'*
'.$langs->trans("DateStart").'*
'.$langs->trans("DateEnd").'*
'.$langs->trans("Address").''."\n"; print '
'.$langs->trans('Country'); -if (!empty(floatval($project->price_booth))) { - print '*'; -} +print '*'; + print ''; $country_id = GETPOST('country_id'); if (!$country_id && !empty($conf->global->MEMBER_NEWFORM_FORCECOUNTRYCODE)) { @@ -635,6 +627,33 @@ if (empty($conf->global->SOCIETE_DISABLE_STATE)) { } print '
'.$langs->trans("EventType").'*'.FORM::selectarray('eventtype', $arrayofeventtype, $eventtype).'
'.$langs->trans("LabelOfBooth").'*
'.$langs->trans("Description").'*
'.$langs->trans("DateStart").'*'; +if (!empty($project->date_start)) { + print '('.$langs->trans('Min'). ' '.dol_print_date($project->date_start).')'; +} +print ''; +print $form->selectDate((empty($datestart)?$project->date_start:$datestart), 'datestart'); +print '
'.$langs->trans("DateEnd").'*'; +if (!empty($project->date_end)) { + print '('.$langs->trans('Max'). ' '.dol_print_date($project->date_end).')'; +} +print ''; +print $form->selectDate(empty($dateend)?$project->date_end:$dateend, 'dateend'); +print '
\n"; diff --git a/htdocs/public/project/suggestconference.php b/htdocs/public/project/suggestconference.php index 00b093ba215..399969bc80d 100644 --- a/htdocs/public/project/suggestconference.php +++ b/htdocs/public/project/suggestconference.php @@ -409,7 +409,7 @@ if (empty($reshook) && $action == 'add') { $labeltouse = $conf->global->EVENTORGANIZATION_TEMPLATE_EMAIL_ASK_CONF; if (!empty($labeltouse)) { - $arraydefaultmessage = $formmail->getEMailTemplate($db, 'eventorganization_send', $user, $outputlangs, $labeltouse, 1, ''); + $arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, ''); } if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) { @@ -508,11 +508,11 @@ jQuery(document).ready(function () { print ''."\n"; // Last Name -print ''; +print ''; print ''; print ''; // First Name -print ''; +print ''; print ''; print ''; // Email @@ -520,21 +520,6 @@ print ''."\n"; -// Type of event -print ''."\n"; -print ''; -// Label -print ''."\n"; -print ''."\n"; -// Note -print ''."\n"; -print ''."\n"; -// Start Date -print ''."\n"; -print ''."\n"; -// End Date -print ''."\n"; -print ''."\n"; // Address print ''."\n"; @@ -574,6 +559,22 @@ if (empty($conf->global->SOCIETE_DISABLE_STATE)) { } print ''; } +// Type of event +print ''."\n"; +print ''; +// Label +print ''."\n"; +print ''."\n"; +// Note +print ''."\n"; +print ''."\n"; +// Start Date +print ''."\n"; +print ''."\n"; +// End Date +print ''."\n"; +print ''."\n"; + print "
lastname).'" autofocus="autofocus">
firstname).'" autofocus="autofocus">
'.$langs->trans("Email").'*'.$langs->trans("Company").'*'; print '
'.$langs->trans("EventType").'*'.FORM::selectarray('eventtype', $arrayofeventtype, $eventtype).'
'.$langs->trans("Label").'*
'.$langs->trans("Note").'*
'.$langs->trans("DateStart").'
'.$langs->trans("DateEnd").'
'.$langs->trans("Address").''."\n"; print '
'.$langs->trans("EventType").'*'.FORM::selectarray('eventtype', $arrayofeventtype, $eventtype).'
'.$langs->trans("LabelOfconference").'*
'.$langs->trans("Description").'*
'.$langs->trans("DateStart").'
'.$langs->trans("DateEnd").'
\n"; diff --git a/htdocs/public/test/badges.php b/htdocs/public/test/badges.php index fd0add00af1..2190b96db7e 100644 --- a/htdocs/public/test/badges.php +++ b/htdocs/public/test/badges.php @@ -20,7 +20,9 @@ if (!defined('NOREQUIREAJAX')) { if (!defined('NOSESSION')) { define('NOSESSION', '1'); } - +if (!defined('NOREQUIREMENU')) { + define('NOREQUIREMENU', '1'); +} session_cache_limiter('public'); require_once '../../main.inc.php'; @@ -30,19 +32,9 @@ if ($dolibarr_main_prod) { accessforbidden(); } + +llxHeader('', 'Documentation and examples for theme'); ?> - - - - - - - - - - - -

Badges

Documentation and examples for badges, our small count and labeling component.

@@ -342,5 +334,4 @@ if ($dolibarr_main_prod) {
- - \ No newline at end of file + +
+

Button for action

+

Documentation and examples for buttons.

+ +

Example of simple usage

+ +

Buttons for user allowed to click.

+ +
+ My default action'; + $actionType = 'default'; + $n++; + $id = 'mybuttonid'.$n; + $url = '#'.$id; + $userRight = 1; + $params = array(); + + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight); + + + $html = ' My delete action'; + $actionType = 'delete'; + $n++; + $id = 'mybuttonid'.$n; + $url = $_SERVER['PHP_SELF'] . '?token='.newToken().'#'.$id; + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight); + + + $html = ' My danger action'; + $actionType = 'danger'; + $n++; + $id = 'mybuttonid'.$n; + $url = $_SERVER['PHP_SELF'] . '?token='.newToken().'#'.$id; + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight); + + ?> +
+ +

Buttons for user NOT allowed to click.

+ +
+ My default action'; + $actionType = 'default'; + $n++; + $id = 'mybuttonid'.$n; + $url = '#'.$id; + $userRight = 0; + + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight); + + + $html = ' My delete action'; + $actionType = 'delete'; + $n++; + $id = 'mybuttonid'.$n; + $url = $_SERVER['PHP_SELF'] . '?token='.newToken().'#'.$id; + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight); + + + $html = ' My danger action'; + $actionType = 'danger'; + $n++; + $id = 'mybuttonid'.$n; + $url = $_SERVER['PHP_SELF'] . '?token='.newToken().'#'.$id; + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight); + + ?> +
+ + +

Example of confirm dialog

+ +

Buttons for user allowed to click.

+ +
+ My default action'; + $actionType = 'default'; + $n++; + $id = 'mybuttonid'.$n; + $url = '#'.$id; + $userRight = 1; + $params = array( + 'confirm' => true + ); + + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight, $params); + + + $html = ' My delete action'; + $actionType = 'delete'; + $n++; + $id = 'mybuttonid'.$n; + $url = $_SERVER['PHP_SELF'] . '?token='.newToken().'#'.$id; + + $params = array( + 'confirm' => array( + 'url' => 'your confirm action url', + 'title' => 'Your title to display', + 'action-btn-label' => 'Your confirm label', + 'cancel-btn-label' => 'Your cancel label', + 'content' => 'Content to display with HTML compatible
  • test 01
  • test 02
  • test 03
' + ) + ); + + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight, $params); + + ?> +
+ +

Buttons for user NOT allowed to click.

+ +
+ My default action'; + $actionType = 'default'; + $n++; + $id = 'mybuttonid'.$n; + $url = '#'.$id; + $userRight = 0; + $params = array( + 'confirm' => true + ); + + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight, $params); + + + $html = ' My delete action'; + $actionType = 'delete'; + $n++; + $id = 'mybuttonid'.$n; + $url = $_SERVER['PHP_SELF'] . '?token='.newToken().'#'.$id; + + $params = array( + 'confirm' => array( + 'url' => 'your confirm action url', + 'title' => 'Your title to display', + 'action-btn-label' => 'Your confirm label', + 'cancel-btn-label' => 'Your cancel label', + 'content' => 'Content to display with HTML compatible
  • test 01
  • test 02
  • test 03
' + ) + ); + + print dolGetButtonAction($label, $html, $actionType, $url, $id, $userRight, $params); + + ?> +
+ + +
+ +global->MAIN_INFO_SOCIETE_NOM.'<'.$conf->global->TICKET_NOTIFICATION_EMAIL_FROM.'>'; + $from = $conf->global->MAIN_INFO_SOCIETE_NOM.' <'.$conf->global->TICKET_NOTIFICATION_EMAIL_FROM.'>'; $replyto = $from; $sendtocc = ''; $deliveryreceipt = 0; @@ -298,7 +298,6 @@ if (empty($reshook) && $action == 'create_ticket' && GETPOST('add', 'alpha')) { } $message_admin .= ''; - $message_admin .= ''; $message_admin .= '

'.$langs->trans('Message').' :
'.$object->message.'

'; $message_admin .= '

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

'; @@ -390,7 +389,7 @@ if ($action != "infos_success") { print '
'; print $langs->trans("ErrorFieldRequired", $langs->transnoentities("TicketEmailNotificationFrom")).'
'; print $langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentities("Ticket")); - print '
'; + print '
'; } else { print '
'.$langs->trans('TicketPublicInfoCreateTicket').'
'; $formticket->showForm(0, 'edit', 1); diff --git a/htdocs/public/ticket/view.php b/htdocs/public/ticket/view.php index 3fec075160b..6485f9fcee2 100644 --- a/htdocs/public/ticket/view.php +++ b/htdocs/public/ticket/view.php @@ -262,8 +262,10 @@ if ($action == "view_ticket" || $action == "presend" || $action == "close" || $a // Category print ''.$langs->trans("Category").''; - print img_picto('', 'category', 'class="pictofixedwidth"'); - print dol_escape_htmltag($object->dao->category_label); + if ($object->dao->category_label) { + print img_picto('', 'category', 'class="pictofixedwidth"'); + print dol_escape_htmltag($object->dao->category_label); + } print ''; // Severity diff --git a/htdocs/reception/card.php b/htdocs/reception/card.php index c9a638e7cde..57ef8981393 100644 --- a/htdocs/reception/card.php +++ b/htdocs/reception/card.php @@ -999,12 +999,12 @@ if ($action == 'create') { } if (!empty($conf->productbatch->enabled)) { print ''.$langs->trans("batch_number").''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print ''.$langs->trans("EatByDate").''; - } if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''.$langs->trans("SellByDate").''; } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print ''.$langs->trans("EatByDate").''; + } } print "\n"; } @@ -1153,12 +1153,12 @@ if ($action == 'create') { if (!empty($conf->productbatch->enabled)) { if (!empty($product->status_batch)) { print ''; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print ''; print $form->selectDate($dispatchLines[$indiceAsked]['DLC'], 'dlc'.$indiceAsked, '', '', 1, ""); print ''; } - if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { print ''; print $form->selectDate($dispatchLines[$indiceAsked]['DLUO'], 'dluo'.$indiceAsked, '', '', 1, ""); print ''; @@ -1829,14 +1829,14 @@ if ($action == 'create') { print ''.$formproduct->selectWarehouses($lines[$i]->fk_entrepot, 'entl'.$line_id, '', 1, 0, $lines[$i]->fk_product, '', 1).''; // Batch number managment if ($conf->productbatch->enabled && !empty($lines[$i]->product->status_batch)) { - print '
'; - if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { - print $langs->trans('EatByDate').' : '; - print $form->selectDate($lines[$i]->eatby, 'dlc'.$line_id, '', '', 1, "").'
'; - } + print '
'; if (empty($conf->global->PRODUCT_DISABLE_SELLBY)) { print $langs->trans('SellByDate').' : '; - print $form->selectDate($lines[$i]->sellby, 'dluo'.$line_id, '', '', 1, ""); + print $form->selectDate($lines[$i]->sellby, 'dlc'.$line_id, '', '', 1, "").'
'; + } + if (empty($conf->global->PRODUCT_DISABLE_EATBY)) { + print $langs->trans('EatByDate').' : '; + print $form->selectDate($lines[$i]->eatby, 'dluo'.$line_id, '', '', 1, ""); } print ''; } diff --git a/htdocs/reception/note.php b/htdocs/reception/note.php index f343e56e14d..2c1eb55d7b3 100644 --- a/htdocs/reception/note.php +++ b/htdocs/reception/note.php @@ -67,6 +67,11 @@ $permissionnote = $user->rights->reception->creer; // Used by the include of act if ($user->socid > 0) { $socid = $user->socid; } + + +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('receptionnote')); + if ($origin == 'reception') { $result = restrictedArea($user, $origin, $object->id); } else { @@ -87,7 +92,13 @@ if ($origin == 'reception') { * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/recruitment/class/recruitmentjobposition.class.php b/htdocs/recruitment/class/recruitmentjobposition.class.php index 2f180bcc8ec..892ba4121e9 100644 --- a/htdocs/recruitment/class/recruitmentjobposition.class.php +++ b/htdocs/recruitment/class/recruitmentjobposition.class.php @@ -101,13 +101,13 @@ class RecruitmentJobPosition extends CommonObject public $fields = array( 'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>'1', 'position'=>1, 'notnull'=>1, 'visible'=>0, 'noteditable'=>'1', 'index'=>1, 'comment'=>"Id"), 'entity' => array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'position'=>5, 'notnull'=>1, 'default'=>'1', 'index'=>1), - 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>4, 'noteditable'=>'1', 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Reference of object"), + 'ref' => array('type'=>'varchar(128)', 'label'=>'Ref', 'enabled'=>'1', 'position'=>10, 'notnull'=>1, 'visible'=>4, 'noteditable'=>'1', 'default'=>'(PROV)', 'index'=>1, 'searchall'=>1, 'showoncombobox'=>'1', 'comment'=>"Reference of object", 'css'=>'nowraponall'), 'label' => array('type'=>'varchar(255)', 'label'=>'JobLabel', 'enabled'=>'1', 'position'=>30, 'notnull'=>1, 'visible'=>1, 'searchall'=>1, 'css'=>'minwidth500', 'csslist'=>'tdoverflowmax300', 'showoncombobox'=>'2', 'autofocusoncreate'=>1), 'qty' => array('type'=>'integer', 'label'=>'NbOfEmployeesExpected', 'enabled'=>'1', 'position'=>45, 'notnull'=>1, 'visible'=>1, 'default'=>'1', 'isameasure'=>'1', 'css'=>'maxwidth75imp'), 'fk_project' => array('type'=>'integer:Project:projet/class/project.class.php:1', 'label'=>'Project', 'enabled'=>'1', 'position'=>52, 'notnull'=>-1, 'visible'=>-1, 'index'=>1, 'css'=>'maxwidth500', 'picto'=>'project'), - 'fk_user_recruiter' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'ResponsibleOfRecruitement', 'enabled'=>'1', 'position'=>54, 'notnull'=>1, 'visible'=>1, 'foreignkey'=>'user.rowid', 'csslist'=>'tdoverflowmax150'), + 'fk_user_recruiter' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'ResponsibleOfRecruitement', 'enabled'=>'1', 'position'=>54, 'notnull'=>1, 'visible'=>1, 'foreignkey'=>'user.rowid', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax150', 'picto'=>'user'), 'email_recruiter' => array('type'=>'varchar(255)', 'label'=>'EmailRecruiter', 'enabled'=>'1', 'position'=>54, 'notnull'=>0, 'visible'=>-1, 'help'=>'ToUseAGenericEmail', 'picto'=>'email'), - 'fk_user_supervisor' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'FutureManager', 'enabled'=>'1', 'position'=>55, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'user.rowid',), + 'fk_user_supervisor' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'FutureManager', 'enabled'=>'1', 'position'=>55, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'user.rowid', 'css'=>'maxwidth500', 'csslist'=>'tdoverflowmax150', 'picto'=>'user'), 'fk_establishment' => array('type'=>'integer:Establishment:hrm/class/establishment.class.php', 'label'=>'Establishment', 'enabled'=>'$conf->hrm->enabled', 'position'=>56, 'notnull'=>0, 'visible'=>-1, 'foreignkey'=>'establishment.rowid',), 'fk_soc' => array('type'=>'integer:Societe:societe/class/societe.class.php:1:status=1 AND entity IN (__SHARED_ENTITIES__)', 'label'=>'WorkPlace', 'enabled'=>'1', 'position'=>57, 'notnull'=>-1, 'visible'=>-1, 'css'=>'maxwidth500', 'index'=>1, 'help'=>"IfJobIsLocatedAtAPartner", 'picto'=>'company'), 'date_planned' => array('type'=>'date', 'label'=>'DateExpected', 'enabled'=>'1', 'position'=>60, 'notnull'=>0, 'visible'=>1,), diff --git a/htdocs/recruitment/recruitmentcandidature_card.php b/htdocs/recruitment/recruitmentcandidature_card.php index a1e98ded601..a84644d30cb 100644 --- a/htdocs/recruitment/recruitmentcandidature_card.php +++ b/htdocs/recruitment/recruitmentcandidature_card.php @@ -264,6 +264,7 @@ if (empty($reshook)) { $nuser->birth = $object->date_birth; $nuser->salary = $object->remuneration_proposed; $nuser->fk_user = $jobposition->fk_user_supervisor; // Supervisor + $nuser->email = $object->email; $result = $nuser->create($user); diff --git a/htdocs/recruitment/recruitmentcandidature_note.php b/htdocs/recruitment/recruitmentcandidature_note.php index d4c18155c5d..19808ca1b59 100644 --- a/htdocs/recruitment/recruitmentcandidature_note.php +++ b/htdocs/recruitment/recruitmentcandidature_note.php @@ -94,7 +94,13 @@ $result = restrictedArea($user, 'recruitment', $object->id, 'recruitment_recruit * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/recruitment/recruitmentindex.php b/htdocs/recruitment/recruitmentindex.php index d3f97e6f3d1..6e9ee616327 100644 --- a/htdocs/recruitment/recruitmentindex.php +++ b/htdocs/recruitment/recruitmentindex.php @@ -183,7 +183,7 @@ if ($conf->use_javascript_ajax) { print '
'; print ''; - print ''."\n"; + print ''."\n"; $listofstatus = array(0, 1, 3, 5, 8, 9); foreach ($listofstatus as $status) { $dataseries[] = array(dol_html_entity_decode($staticrecruitmentcandidature->LibStatut($status, 1), ENT_QUOTES | ENT_HTML5), (isset($vals[$status]) ? (int) $vals[$status] : 0)); diff --git a/htdocs/recruitment/recruitmentjobposition_list.php b/htdocs/recruitment/recruitmentjobposition_list.php index 7ccad1de16a..c82c8312b40 100644 --- a/htdocs/recruitment/recruitmentjobposition_list.php +++ b/htdocs/recruitment/recruitmentjobposition_list.php @@ -103,8 +103,9 @@ $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters $page = 0; -} // If $page is not defined, or '' or -1 or if we click on clear filters +} $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; @@ -123,6 +124,7 @@ $search_array_options = $extrafields->getOptionalsFromPost($object->table_elemen // Default sort order (if not yet defined by previous GETPOST) if (!$sortfield) { + reset($object->fields); // Reset is required to avoid key() to return null. $sortfield = "t.".key($object->fields); // Set here default search field. By default 1st field in definition. } if (!$sortorder) { @@ -146,17 +148,18 @@ foreach ($object->fields as $key => $val) { } } -// Definition of fields for list +// Definition of array of fields for columns $arrayfields = array(); foreach ($object->fields as $key => $val) { // If $val['visible']==0, then we never show the field if (!empty($val['visible'])) { - $visible = dol_eval($val['visible'], 1); + $visible = (int) dol_eval($val['visible'], 1); $arrayfields['t.'.$key] = array( 'label'=>$val['label'], 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), - 'position'=>$val['position'] + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } @@ -164,7 +167,7 @@ foreach ($object->fields as $key => $val) { include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; $object->fields = dol_sort_array($object->fields, 'position'); -$arrayfields['nbapplications'] = array('label'=>'Applications', 'checked'=>1, 'enabled'=>1, 'position'=>90); +$arrayfields['nbapplications'] = array('type'=>'integer', 'label'=>'Applications', 'checked'=>1, 'enabled'=>1, 'position'=>90, 'csslist'=>'right'); $arrayfields = dol_sort_array($arrayfields, 'position'); $permissiontoread = $user->rights->recruitment->recruitmentjobposition->read; @@ -184,7 +187,8 @@ $result = restrictedArea($user, 'recruitment', 0, 'recruitment_recruitmentjobpos */ if (GETPOST('cancel', 'alpha')) { - $action = 'list'; $massaction = ''; + $action = 'list'; + $massaction = ''; } if (!GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction = ''; @@ -238,13 +242,11 @@ $title = $langs->trans('ListOfPositionsToBeFilled'); // Build and execute select // -------------------------------------------------------------------- $sql = 'SELECT '; -foreach ($object->fields as $key => $val) { - $sql .= 't.'.$key.', '; -} +$sql .= $object->getFieldList('t'); // Add fields from extrafields if (!empty($extrafields->attributes[$object->table_element]['label'])) { foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) { - $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : ''); + $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? ", ef.".$key.' as options_'.$key.', ' : ''); } } // Add fields from hooks @@ -258,24 +260,42 @@ $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."recruitment_recruitmentcandidature as rc O if (isset($extrafields->attributes[$object->table_element]['label']) && is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) { $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)"; } +// Add table from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListFrom', $parameters, $object); // Note that $action and $object may have been modified by hook +$sql .= $hookmanager->resPrint; if ($object->ismultientitymanaged == 1) { $sql .= " WHERE t.entity IN (".getEntity($object->element).")"; } else { $sql .= " WHERE 1 = 1"; } foreach ($search as $key => $val) { - if ($key == 'status' && $search[$key] == -1) { - continue; - } - $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); - if (strpos($object->fields[$key]['type'], 'integer:') === 0) { - if ($search[$key] == '-1') { - $search[$key] = ''; + if (array_key_exists($key, $object->fields)) { + if ($key == 'status' && $search[$key] == -1) { + continue; + } + $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); + if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { + $search[$key] = ''; + } + $mode_search = 2; + } + if ($search[$key] != '') { + $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); + } + } else { + if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); + if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { + if (preg_match('/_dtstart$/', $key)) { + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; + } + if (preg_match('/_dtend$/', $key)) { + $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; + } + } } - $mode_search = 2; - } - if ($search[$key] != '') { - $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search)); } } if ($search_all) { @@ -372,6 +392,10 @@ if ($optioncss != '') { } // Add $param from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; +// Add $param from hooks +$parameters = array(); +$reshook = $hookmanager->executeHooks('printFieldListSearchParam', $parameters, $object); // Note that $action and $object may have been modified by hook +$param .= $hookmanager->resPrint; // List of mass actions available $arrayofmassactions = array( @@ -449,30 +473,38 @@ print '
'.$langs->trans("Statistics").' - '.$langs->trans("Candidatures").'
'.$langs->trans("Statistics").' - '.$langs->trans("RecruitmentCandidatures").'
'; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if ($key == 'status') { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { print ''; } } // Extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; + // Fields from hook $parameters = array('arrayfields'=>$arrayfields); $reshook = $hookmanager->executeHooks('printFieldListOption', $parameters, $object); // Note that $action and $object may have been modified by hook @@ -492,14 +524,14 @@ print ''."\n"; // -------------------------------------------------------------------- print ''; foreach ($object->fields as $key => $val) { - $cssforfield = (empty($val['css']) ? '' : $val['css']); + $cssforfield = (empty($val['csslist']) ? (empty($val['css']) ? '' : $val['css']) : $val['csslist']); if ($key == 'status') { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'center'; } elseif (in_array($val['type'], array('timestamp'))) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; - } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') { + } elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID' && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } if (!empty($arrayfields['t.'.$key]['checked'])) { @@ -513,7 +545,7 @@ $parameters = array('arrayfields'=>$arrayfields, 'param'=>$param, 'sortfield'=>$ $reshook = $hookmanager->executeHooks('printFieldListTitle', $parameters, $object); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; if (!empty($arrayfields['nbapplications']['checked'])) { - print ''; + print ''; } // Action column print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n"; @@ -561,7 +593,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { $cssforfield .= ($cssforfield ? ' ' : '').'nowrap'; } - if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $key != 'status') { + if (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && !in_array($key, array('rowid', 'status')) && empty($val['arrayofkeyval'])) { $cssforfield .= ($cssforfield ? ' ' : '').'right'; } //if (in_array($key, array('fk_soc', 'fk_user', 'fk_warehouse'))) $cssforfield = 'tdoverflowmax100'; @@ -570,6 +602,8 @@ while ($i < ($limit ? min($num, $limit) : $num)) { print ''; if ($key == 'status') { print $object->getLibStatut(5); + } elseif ($key == 'rowid') { + print $object->showOutputField($val, $key, $object->id, ''); } else { print $object->showOutputField($val, $key, $object->$key, ''); } @@ -602,7 +636,7 @@ while ($i < ($limit ? min($num, $limit) : $num)) { } // Action column print ''; } else { - print ''; + print ''; } // Default mode of payment diff --git a/htdocs/salaries/class/paymentsalary.class.php b/htdocs/salaries/class/paymentsalary.class.php index e2b199780f0..76236bb88aa 100644 --- a/htdocs/salaries/class/paymentsalary.class.php +++ b/htdocs/salaries/class/paymentsalary.class.php @@ -477,7 +477,7 @@ class PaymentSalary extends CommonObject * All payment properties must have been set first like after a call to create(). * * @param User $user Object of user making payment - * @param string $mode 'payment_sc' + * @param string $mode 'payment_salary' * @param string $label Label to use in bank record * @param int $accountid Id of bank account to do link with * @param string $emetteur_nom Name of transmitter @@ -516,8 +516,8 @@ class PaymentSalary extends CommonObject $this->datev ); - // Mise a jour fk_bank dans llx_paiement. - // On connait ainsi le paiement qui a genere l'ecriture bancaire + // Update fk_bank into llx_paiement_salary. + // so we know the payment that was used to generated the bank entry. if ($bank_line_id > 0) { $result = $this->update_fk_bank($bank_line_id); if ($result <= 0) { @@ -525,9 +525,12 @@ class PaymentSalary extends CommonObject dol_print_error($this->db); } - // Add link 'payment', 'payment_supplier', 'payment_sc' in bank_url between payment and bank transaction + // Add link 'payment_salary' in bank_url between payment and bank transaction $url = ''; - if ($mode == 'payment_salary') $url = DOL_URL_ROOT.'/salaries/payment_salary/card.php?id='; + if ($mode == 'payment_salary') { + $url = DOL_URL_ROOT.'/salaries/payment_salary/card.php?id='; + } + if ($url) { $result = $acc->add_url_line($bank_line_id, $this->id, $url, '(paiement)', $mode); if ($result <= 0) { @@ -536,14 +539,31 @@ class PaymentSalary extends CommonObject } } - // Add link 'company' in bank_url between invoice and bank transaction (for each invoice concerned by payment) - $linkaddedforthirdparty = array(); + // Add link 'user' in bank_url between user and bank transaction foreach ($this->amounts as $key => $value) { - if ($mode == 'payment_salary') { - $salary = new Salary($this->db); - $salary->fetch($key); - $result = $acc->add_url_line($bank_line_id, $salary->id, DOL_URL_ROOT.'/salaries/card.php?id=', '('.$salary->label.')', 'salary'); - if ($result <= 0) dol_print_error($this->db); + if (!$error) { + if ($mode == 'payment_salary') { + $salary = new Salary($this->db); + $salary->fetch($key); + $salary->fetch_user($salary->fk_user); + + $fuser = $salary->user; + + if ($fuser->id > 0) { + $result = $acc->add_url_line( + $bank_line_id, + $fuser->id, + DOL_URL_ROOT.'/user/card.php?id=', + $fuser->getFullName($langs), + 'user' + ); + } + if ($result <= 0) { + $this->error = $this->db->lasterror(); + dol_syslog(get_class($this) . '::addPaymentToBank ' . $this->error); + $error++; + } + } } } } else { diff --git a/htdocs/salaries/class/salary.class.php b/htdocs/salaries/class/salary.class.php index 2f87fdd99d2..cc50c57ec84 100644 --- a/htdocs/salaries/class/salary.class.php +++ b/htdocs/salaries/class/salary.class.php @@ -88,6 +88,12 @@ class Salary extends CommonObject */ public $fk_user_modif; + /** + * @var user User + */ + public $user; + + const STATUS_UNPAID = 0; const STATUS_PAID = 1; @@ -502,6 +508,9 @@ class Salary extends CommonObject if ($this->datesp && $this->dateep) { $label .= '
'.$langs->trans('Period').': '.dol_print_date($this->datesp, 'day').' - '.dol_print_date($this->dateep, 'day'); } + if (isset($this->amount)) { + $label .= '
'.$langs->trans('Amount').': '.price($this->amount); + } $url = DOL_URL_ROOT.'/salaries/card.php?id='.$this->id; diff --git a/htdocs/salaries/list.php b/htdocs/salaries/list.php index 690f8df4c8c..7a8b3ebca10 100644 --- a/htdocs/salaries/list.php +++ b/htdocs/salaries/list.php @@ -140,7 +140,7 @@ foreach ($object->fields as $key => $val) { 'checked'=>(($visible < 0) ? 0 : 1), 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), 'position'=>$val['position'], - 'help'=>$val['help'] + 'help'=> isset($val['help']) ? $val['help'] : '' ); } } diff --git a/htdocs/salaries/payments.php b/htdocs/salaries/payments.php index bfc795ebcef..f129e6304ab 100644 --- a/htdocs/salaries/payments.php +++ b/htdocs/salaries/payments.php @@ -124,6 +124,22 @@ foreach ($object->fields as $key => $val) { } } +// Definition of array of fields for columns +$arrayfields = array(); +foreach ($object->fields as $key => $val) { + // If $val['visible']==0, then we never show the field + if (!empty($val['visible'])) { + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); + } +} + $permissiontoread = $user->rights->salaries->read; $permissiontoadd = $user->rights->salaries->write; $permissiontodelete = $user->rights->salaries->delete; @@ -666,11 +682,13 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php'; // If no record found if ($num == 0) { - $colspan = 1; - foreach ($arrayfields as $key => $val) { if (!empty($val['checked'])) { + /*$colspan = 1; + foreach ($arrayfields as $key => $val) { + if (!empty($val['checked'])) { $colspan++; - } - } + } + }*/ + $colspan = 12; print ''; } diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index 8e1d03411cd..b62c277cdf2 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -495,10 +495,22 @@ if (empty($reshook)) { $object->webservices_key = GETPOST('webservices_key', 'san_alpha'); if (GETPOSTISSET('accountancy_code_sell')) { - $object->accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); + $accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); + + if (empty($accountancy_code_sell) || $accountancy_code_sell == '-1') { + $object->accountancy_code_sell = ''; + } else { + $object->accountancy_code_sell = $accountancy_code_sell; + } } if (GETPOSTISSET('accountancy_code_buy')) { - $object->accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); + $accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); + + if (empty($accountancy_code_buy) || $accountancy_code_buy == '-1') { + $object->accountancy_code_buy = ''; + } else { + $object->accountancy_code_buy = $accountancy_code_buy; + } } // Incoterms @@ -554,7 +566,7 @@ if (empty($reshook)) { } // We set country_id, country_code and country for the selected country - $object->country_id = GETPOST('country_id') != '' ?GETPOST('country_id') : $mysoc->country_id; + $object->country_id = GETPOST('country_id', 'int') != '' ? GETPOST('country_id', 'int') : $mysoc->country_id; if ($object->country_id) { $tmparray = getCountry($object->country_id, 'all'); $object->country_code = $tmparray['code']; @@ -1058,10 +1070,22 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $object->default_lang = GETPOST('default_lang'); if (GETPOSTISSET('accountancy_code_sell')) { - $object->accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); + $accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); + + if (empty($accountancy_code_sell) || $accountancy_code_sell == '-1') { + $object->accountancy_code_sell = ''; + } else { + $object->accountancy_code_sell = $accountancy_code_sell; + } } if (GETPOSTISSET('accountancy_code_buy')) { - $object->accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); + $accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); + + if (empty($accountancy_code_buy) || $accountancy_code_buy == '-1') { + $object->accountancy_code_buy = ''; + } else { + $object->accountancy_code_buy = $accountancy_code_buy; + } } $object->logo = (isset($_FILES['photo']) ?dol_sanitizeFileName($_FILES['photo']['name']) : ''); @@ -1385,6 +1409,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { } if ($object->country_id) { + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code); } else { print $countrynotdefined; @@ -1784,10 +1809,22 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $object->webservices_key = GETPOST('webservices_key', 'san_alpha'); if (GETPOSTISSET('accountancy_code_sell')) { - $object->accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); + $accountancy_code_sell = GETPOST('accountancy_code_sell', 'alpha'); + + if (empty($accountancy_code_sell) || $accountancy_code_sell == '-1') { + $object->accountancy_code_sell = ''; + } else { + $object->accountancy_code_sell = $accountancy_code_sell; + } } if (GETPOSTISSET('accountancy_code_buy')) { - $object->accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); + $accountancy_code_buy = GETPOST('accountancy_code_buy', 'alpha'); + + if (empty($accountancy_code_buy) || $accountancy_code_buy == '-1') { + $object->accountancy_code_buy = ''; + } else { + $object->accountancy_code_buy = $accountancy_code_buy; + } } //Incoterms @@ -1822,7 +1859,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { $sub2 = 1; } - if ($conf->use_javascript_ajax) { + if (!empty($conf->use_javascript_ajax)) { print "\n".''; } } @@ -866,7 +904,7 @@ var selectedline=0; var selectedtext=""; var placeid= 0 ? $placeid : 0); ?>; $(document).ready(function() { - var idoflineadded = ; + var idoflineadded = ; $('.posinvoiceline').click(function(){ console.log("Click done on "+this.id); @@ -992,7 +1030,7 @@ function TakeposPrinting(id){ receipt=data.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, ''); $.ajax({ type: "POST", - url: 'http://global->TAKEPOS_PRINT_SERVER; ?>:8111/print', + url: 'http://:8111/print', data: receipt }); }); @@ -1003,7 +1041,7 @@ function TakeposConnector(id){ $.get("/takepos/ajax/ajax.php?action=printinvoiceticket&term=&id="+id+"&token=", function(data, status) { $.ajax({ type: "POST", - url: 'global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php', + url: '/printer/index.php', data: 'invoice='+data }); }); @@ -1058,9 +1096,10 @@ $( document ).ready(function() { $sql .= $db->order('datec', 'ASC'); $resql = $db->query($sql); if ($resql) { + $max_sale = 0; while ($obj = $db->fetch_object($resql)) { echo '$("#customerandsales").append(\''; - echo 'jdate($obj->datec), '%H:%M', 'tzuser'))).'" onclick="place=\\\''; + echo 'jdate($obj->datec), '%H:%M', 'tzuser')).' - '.$obj->ref).'" onclick="place=\\\''; $num_sale = str_replace(")", "", str_replace("(PROV-POS".$_SESSION["takeposterminal"]."-", "", $obj->ref)); echo $num_sale; if (str_replace("-", "", $num_sale) > $max_sale) { @@ -1141,6 +1180,23 @@ $( document ).ready(function() { }); + +global->TAKEPOS_CUSTOMER_DISPLAY)) { + echo "function CustomerDisplay(){"; + echo "var line1='".$CUSTOMER_DISPLAY_line1."'.substring(0,20);"; + echo "line1=line1.padEnd(20);"; + echo "var line2='".$CUSTOMER_DISPLAY_line2."'.substring(0,20);"; + echo "line2=line2.padEnd(20);"; + echo "$.ajax({ + type: 'GET', + data: { text: line1+line2 }, + url: '".getDolGlobalString('TAKEPOS_PRINT_SERVER')."/display/index.php', + });"; + echo "}"; +} +?> + use_javascript_ajax)) { print "\n".''."\n"; - print ''."\n"; + print ''."\n"; } -print ''."\n"; +print ''."\n"; print '
'; print '
'; if (!empty($val['arrayofkeyval']) && is_array($val['arrayofkeyval'])) { print $form->selectarray('search_'.$key, $val['arrayofkeyval'], (isset($search[$key]) ? $search[$key] : ''), $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth100', 1); - } elseif (strpos($val['type'], 'integer:') === 0) { - print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth150', 1); - } elseif (!preg_match('/^(date|timestamp)/', $val['type'])) { + } elseif ((strpos($val['type'], 'integer:') === 0) || (strpos($val['type'], 'sellist:') === 0)) { + print $object->showInputField($val, $key, (isset($search[$key]) ? $search[$key] : ''), '', '', 'search_', 'maxwidth125', 1); + } elseif (!preg_match('/^(date|timestamp|datetime)/', $val['type'])) { print ''; + } elseif (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + print '
'; + print $form->selectDate($search[$key.'_dtstart'] ? $search[$key.'_dtstart'] : '', "search_".$key."_dtstart", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print '
'; + print '
'; + print $form->selectDate($search[$key.'_dtend'] ? $search[$key.'_dtend'] : '', "search_".$key."_dtend", 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print '
'; } print '
'.$langs->trans("Applications").''.$langs->trans("Applications").''; - if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined $selected = 0; if (in_array($object->id, $arrayofselected)) { $selected = 1; diff --git a/htdocs/recruitment/recruitmentjobposition_note.php b/htdocs/recruitment/recruitmentjobposition_note.php index 9dbcd0e1180..dc7cdaef4ae 100644 --- a/htdocs/recruitment/recruitmentjobposition_note.php +++ b/htdocs/recruitment/recruitmentjobposition_note.php @@ -99,7 +99,13 @@ $result = restrictedArea($user, 'recruitment', $object->id, 'recruitment_recruit * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/resource/note.php b/htdocs/resource/note.php index 07819b1d0b4..b43c9f8cb37 100644 --- a/htdocs/resource/note.php +++ b/htdocs/resource/note.php @@ -40,6 +40,9 @@ $action = GETPOST('action', 'aZ09'); if ($user->socid) { $socid = $user->socid; } +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context +$hookmanager->initHooks(array('resourcenote')); + $result = restrictedArea($user, 'resource', $id, 'resource'); $object = new DolResource($db); @@ -52,7 +55,13 @@ $permissionnote = $user->rights->resource->write; // Used by the include of acti * Actions */ -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/htdocs/salaries/card.php b/htdocs/salaries/card.php index aff3e4cce92..d3c7ba504cb 100755 --- a/htdocs/salaries/card.php +++ b/htdocs/salaries/card.php @@ -729,7 +729,7 @@ if ($id) { if ($action == 'edit') { print '
' . $langs->trans("Amount") . '
' . $langs->trans("Amount") . '' . price($object->amount, 0, $outputlangs, 1, -1, -1, $conf->currency) . '
' . $langs->trans("Amount") . '' . price($object->amount, 0, $langs, 1, -1, -1, $conf->currency) . '
'.$langs->trans("NoRecordFound").'
'; if ($sectionwithinvoicelink && ($mobilepage == "invoice" || $mobilepage == "")) { @@ -1164,10 +1220,10 @@ if ($sectionwithinvoicelink && ($mobilepage == "invoice" || $mobilepage == "")) print ''; print ''; -if ($_SESSION["basiclayout"] != 1) { +if (empty($_SESSION["basiclayout"]) || $_SESSION["basiclayout"] != 1) { print ''; print ''; - if ($conf->global->TAKEPOS_SHOW_HT) { + if (getDolGlobalString('TAKEPOS_SHOW_HT')) { print '\n"; -if ($_SESSION["basiclayout"] == 1) { +if (!empty($_SESSION["basiclayout"]) && $_SESSION["basiclayout"] == 1) { if ($mobilepage == "cats") { require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $categorie = new Categorie($db); @@ -1311,13 +1367,14 @@ if ($_SESSION["basiclayout"] == 1) { if ($placeid > 0) { //In Phone basic layout hide some content depends situation - if ($_SESSION["basiclayout"] == 1 && $mobilepage != "invoice" && $action != "order") { + if (!empty($_SESSION["basiclayout"]) && $_SESSION["basiclayout"] == 1 && $mobilepage != "invoice" && $action != "order") { return; } if (is_array($invoice->lines) && count($invoice->lines)) { print ''."\n"; $tmplines = array_reverse($invoice->lines); + $htmlsupplements = array(); foreach ($tmplines as $line) { if ($line->fk_parent_line != false) { $htmlsupplements[$line->fk_parent_line] .= 'fk_parent_line] .= ''; $htmlsupplements[$line->fk_parent_line] .= ''; $htmlsupplements[$line->fk_parent_line] .= ''; @@ -1358,7 +1415,7 @@ if ($placeid > 0) { } $htmlforlines .= '" id="'.$line->id.'">'; $htmlforlines .= ''; - if ($conf->global->TAKEPOS_SHOW_HT) { + if (getDolGlobalString('TAKEPOS_SHOW_HT')) { $htmlforlines .= ''; } $htmlforlines .= ''."\n"; - $htmlforlines .= $htmlsupplements[$line->id]; + $htmlforlines .= empty($htmlsupplements[$line->id]) ? '' : empty($htmlsupplements[$line->id]); print $htmlforlines; } diff --git a/htdocs/takepos/pay.php b/htdocs/takepos/pay.php index ba8ac8f82f7..773118e670f 100644 --- a/htdocs/takepos/pay.php +++ b/htdocs/takepos/pay.php @@ -255,6 +255,20 @@ if ($conf->global->TAKEPOS_NUMPAD == 0) { }); }, 2500); } + +global->TAKEPOS_CUSTOMER_DISPLAY)) { + echo "var line1='".$langs->trans('TotalTTC')."'.substring(0,20);"; + echo "line1=line1.padEnd(20);"; + echo "var line2='".price($invoice->total_ttc, 1, '', 1, -1, -1)."'.substring(0,20);"; + echo "line2=line2.padEnd(20);"; + echo "$.ajax({ + type: 'GET', + data: { text: line1+line2 }, + url: '".getDolGlobalString('TAKEPOS_PRINT_SERVER')."/display/index.php', + });"; +} +?>
diff --git a/htdocs/theme/eldy/badges.inc.php b/htdocs/theme/eldy/badges.inc.php index dcb61499b63..58317deba15 100644 --- a/htdocs/theme/eldy/badges.inc.php +++ b/htdocs/theme/eldy/badges.inc.php @@ -258,9 +258,9 @@ function _createStatusBadgeCss($statusName, $statusVarNamePrefix = '', $commentL print $cssPrefix.".badge-status".$statusName." {\n"; print " color: ".$thisBadgeTextColor." !important;\n"; if (in_array((string) $statusName, $TBadgeBorderOnly)) { - print " border-color: ".$thisBadgeBorderColor.";\n"; + print " border-color: ".$thisBadgeBorderColor." !important;\n"; } - print " background-color: ".$thisBadgeBackgroundColor.";\n"; + print " background-color: ".$thisBadgeBackgroundColor." !important;\n"; print "}\n"; print $cssPrefix.".font-status".$statusName." {\n"; @@ -269,14 +269,14 @@ function _createStatusBadgeCss($statusName, $statusVarNamePrefix = '', $commentL print $cssPrefix.".badge-status".$statusName.".focus, ".$cssPrefix.".badge-status".$statusName.":focus {\n"; print " outline: 0;\n"; - print " box-shadow: 0 0 0 0.2rem ".colorHexToRgb($thisBadgeBackgroundColor, 0.5).";\n"; + print " box-shadow: 0 0 0 0.2rem ".colorHexToRgb($thisBadgeBackgroundColor, 0.5)." !important;\n"; print "}\n"; print $cssPrefix.".badge-status".$statusName.":focus, ".$cssPrefix.".badge-status".$statusName.":hover {\n"; print " color: ".$thisBadgeTextColor." !important;\n"; //print " background-color: " . colorDarker($thisBadgeBackgroundColor, 10) . ";\n"; if (in_array((string) $statusName, $TBadgeBorderOnly)) { - print " border-color: ".colorDarker($thisBadgeBorderColor, 10).";\n"; + print " border-color: ".colorDarker($thisBadgeBorderColor, 10)." !important;\n"; } print "}\n"; } diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 3742807345c..200007f6878 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -209,7 +209,7 @@ input, select { margin-bottom: 1px; margin-top: 1px; } -#mainbody input.button:not(.buttongen):not(.bordertransp) { +#mainbody input.button:not(.buttongen):not(.bordertransp), #mainbody a.button:not(.buttongen):not(.bordertransp) { background: var(--butactionbg); color: #FFF !important; border-radius: 3px; @@ -646,6 +646,12 @@ textarea.centpercent { .small, small { font-size: 85%; } +.large { + font-size: 125%; +} +.double { + font-size: 2em; +} .h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small { font-size: 65%; @@ -735,6 +741,9 @@ textarea.centpercent { .paddingleft2 { padding-: 2px; } +.paddingleft2imp { + padding-: 2px !important; +} .paddingright { padding-: 4px; } @@ -2642,7 +2651,7 @@ table.login_table_securitycode tr td { } div.backgroundsemitransparent { - background:rgba(255,255,255,0.68); + background:rgba(255, 255, 255, 0.7); padding-left: 10px; padding-right: 10px; } @@ -3924,6 +3933,11 @@ table.noborder.paymenttable { box-shadow: 1px 1px 7px #CCC !important; } +.boxshadow { + -webkit-box-shadow: 0px 0px 5px #888; + box-shadow: 0px 0px 5px #888; +} + div.tabBar .noborder { -webkit-box-shadow: 0px 0px 0px #DDD !important; box-shadow: 0px 0px 0px #DDD !important; @@ -4527,6 +4541,9 @@ div#card-errors { .ui-dialog-content { } +.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable { + z-index: 1002 !important; /* Default 101 with jquery, top menu have a z-index of 1000 */ +} /* ============================================================================== */ /* For content of image preview */ diff --git a/htdocs/theme/md/badges.inc.php b/htdocs/theme/md/badges.inc.php index fd1b1122a17..4a36177e852 100644 --- a/htdocs/theme/md/badges.inc.php +++ b/htdocs/theme/md/badges.inc.php @@ -261,9 +261,9 @@ function _createStatusBadgeCss($statusName, $statusVarNamePrefix = '', $commentL print $cssPrefix.".badge-status".$statusName." {\n"; print " color: ".$thisBadgeTextColor." !important;\n"; if (in_array((string) $statusName, $TBadgeBorderOnly)) { - print " border-color: ".$thisBadgeBorderColor.";\n"; + print " border-color: ".$thisBadgeBorderColor." !important;\n"; } - print " background-color: ".$thisBadgeBackgroundColor.";\n"; + print " background-color: ".$thisBadgeBackgroundColor." !important;\n"; print "}\n"; print $cssPrefix.".font-status".$statusName." {\n"; @@ -272,14 +272,14 @@ function _createStatusBadgeCss($statusName, $statusVarNamePrefix = '', $commentL print $cssPrefix.".badge-status".$statusName.".focus, ".$cssPrefix.".badge-status".$statusName.":focus {\n"; print " outline: 0;\n"; - print " box-shadow: 0 0 0 0.2rem ".colorHexToRgb($thisBadgeBackgroundColor, 0.5).";\n"; + print " box-shadow: 0 0 0 0.2rem ".colorHexToRgb($thisBadgeBackgroundColor, 0.5)." !important;\n"; print "}\n"; print $cssPrefix.".badge-status".$statusName.":focus, ".$cssPrefix.".badge-status".$statusName.":hover {\n"; print " color: ".$thisBadgeTextColor." !important;\n"; //print " background-color: ".colorDarker($thisBadgeBackgroundColor, 10).";\n"; if (in_array((string) $statusName, $TBadgeBorderOnly)) { - print " border-color: ".colorDarker($thisBadgeBorderColor, 10).";\n"; + print " border-color: ".colorDarker($thisBadgeBorderColor, 10)." !important;\n"; } print "}\n"; } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 5ad564ea5c0..dfa8b00f9eb 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -789,6 +789,9 @@ textarea.centpercent { .small, small { font-size: 85%; } +.large { + font-size: 125%; +} .h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small { font-size: 65%; @@ -875,12 +878,18 @@ textarea.centpercent { .paddingleft2 { padding-: 2px; } +.paddingleft2imp { + padding-: 2px !important; +} .paddingright { padding-: 4px; } .paddingright2 { padding-: 2px; } +.paddingright2imp { + padding-: 2px !important; +} .marginleft2 { margin-: 2px; } @@ -1507,10 +1516,10 @@ table[summary="list_of_modules"] .fa-cog { div.divphotoref { padding-right: 10px !important; } - + .hideonsmartphone { display: none; } .hideonsmartphoneimp { display: none !important; } - + select.minwidth100imp, select.minwidth100, select.minwidth200, select.minwidth200imp, select.minwidth300 { width: calc(100% - 40px) !important; display: inline-block; @@ -1519,11 +1528,11 @@ table[summary="list_of_modules"] .fa-cog { width: calc(100% - 70px) !important; display: inline-block; } - + input.maxwidthinputfileonsmartphone { width: 175px; } - + .poweredbyimg { width: 48px; } @@ -1862,7 +1871,7 @@ div.login_block { div.backgroundsemitransparent { - background:rgba(255,255,255,0.6); + background:rgba(255, 255, 255, 0.7); padding-left: 10px; padding-right: 10px; } @@ -3090,11 +3099,11 @@ div.tabsElem a { } div.tabBar { color: #; - padding-top: 16px; - padding-left: 16px; - padding-right: 16px; - padding-bottom: 16px; - margin: 0px 0px 16px 0px; + padding-top: 21px; + padding-left: 24px; + padding-right: 24px; + padding-bottom: 18px; + margin: 0px 0px 18px 0px; -webkit-border-radius: 3px; border-radius: 3px; border-right: 1px solid #BBB; @@ -3439,9 +3448,9 @@ tr.liste_titre_filter td.liste_titre { } .liste_titre_create td, .liste_titre_create th, .liste_titre_create .tagtd { - /*border-top-width: 1px; + border-top-width: 1px; border-top-color: rgb(); - border-top-style: solid;*/ + border-top-style: solid; } .liste_titre_add td, .liste_titre_add th, .liste_titre_add .tagtd { @@ -3830,7 +3839,7 @@ div.liste_titre_bydiv, .liste_titre div.tagtr, tr.liste_titre, tr.liste_titre_se { background: rgb(); font-weight: ; - border-bottom: 1px solid #FDFFFF; + /* border-bottom: 1px solid #FDFFFF; */ color: rgb(); font-family: ; @@ -3943,6 +3952,11 @@ tr.liste_sub_total, tr.liste_sub_total td { box-shadow: 2px 2px 5px #CCC !important; } +.boxshadow { + -webkit-box-shadow: 0px 0px 5px #888; + box-shadow: 0px 0px 5px #888; +} + div.tabBar .noborder { -webkit-box-shadow: 0px 0px 0px #f4f4f4 !important; box-shadow: 0px 0px 0px #f4f4f4 !important; @@ -4469,6 +4483,9 @@ div#card-errors { font-size: px !important; } +.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front.ui-dialog-buttons.ui-draggable { + z-index: 1002 !important; /* Default 101 with jquery, top menu have a z-index of 1000 */ +} /* ============================================================================== */ /* For content of image preview */ diff --git a/htdocs/theme/md/theme_vars.inc.php b/htdocs/theme/md/theme_vars.inc.php index 9e98a863737..fd37b6376dd 100644 --- a/htdocs/theme/md/theme_vars.inc.php +++ b/htdocs/theme/md/theme_vars.inc.php @@ -65,6 +65,9 @@ $colortext = '0,0,0'; $colortextlink = '0,0,120'; $fontsize = '14'; $fontsizesmaller = '11'; +$topMenuFontSize = '1.1em'; +$toolTipBgColor = 'rgba(255, 255, 255, 0.96)'; +$toolTipFontColor = '#333'; // text color $textSuccess = '#28a745'; @@ -83,9 +86,15 @@ $badgeInfo = '#17a2b8'; $badgeDark = '#343a40'; $badgeLight = '#f8f9fa'; +// badge color ajustement for color blind +$colorblind_deuteranopes_badgeSuccess = '#37de5d'; //! text color black +$colorblind_deuteranopes_badgeSuccess_textColor7 = '#000'; +$colorblind_deuteranopes_badgeWarning = '#e4e411'; +$colorblind_deuteranopes_badgeDanger = $badgeDanger; // currently not tested with a color blind people so use default color + /* default color for status : After a quick check, somme status can have oposite function according to objects * So this badges status uses default value according to theme eldy status img -* TODO: use color definition vars above for define badges color status X -> expemple $badgeStatusValidate, $badgeStatusClosed, $badgeStatusActive .... +* TODO: use color definition vars above for define badges color status X -> exemple $badgeStatusValidate, $badgeStatusClosed, $badgeStatusActive .... */ $badgeStatus0 = '#cbd3d3'; $badgeStatus1 = '#bc9526'; @@ -99,3 +108,9 @@ $badgeStatus8 = '#993013'; $badgeStatus9 = '#e7f0f0'; $badgeStatus10 = '#993013'; $badgeStatus11 = '#15a540'; + +// status color ajustement for color blind +$colorblind_deuteranopes_badgeStatus4 = $colorblind_deuteranopes_badgeStatus7 = $colorblind_deuteranopes_badgeSuccess; //! text color black +$colorblind_deuteranopes_badgeStatus_textColor4 = $colorblind_deuteranopes_badgeStatus_textColor7 = '#000'; +$colorblind_deuteranopes_badgeStatus1 = $colorblind_deuteranopes_badgeWarning; +$colorblind_deuteranopes_badgeStatus_textColor1 = '#000'; diff --git a/htdocs/ticket/card.php b/htdocs/ticket/card.php index 5faa7b201b7..8a11ac23e23 100644 --- a/htdocs/ticket/card.php +++ b/htdocs/ticket/card.php @@ -31,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; if (!empty($conf->projet->enabled)) { include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; include_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; @@ -187,6 +188,11 @@ if (empty($reshook)) { $object->email_from = $user->email; $notifyTiers = GETPOST("notify_tiers_at_create", 'alpha'); $object->notify_tiers_at_create = empty($notifyTiers) ? 0 : 1; + $fk_user_assign = GETPOST("fk_user_assign", 'int'); + if ($fk_user_assign > 0) { + $object->fk_user_assign = $fk_user_assign; + $object->fk_statut = $object::STATUS_ASSIGNED; + } $object->fk_project = $projectid; @@ -202,6 +208,10 @@ if (empty($reshook)) { $contactid = GETPOST('contactid', 'int'); $type_contact = GETPOST("type", 'alpha'); + // Category association + $categories = GETPOST('categories', 'array'); + $object->setCategories($categories); + if ($contactid > 0 && $type_contact) { $typeid = (GETPOST('typecontact') ? GETPOST('typecontact') : GETPOST('type')); $result = $object->add_contact($contactid, $typeid, 'external'); @@ -312,7 +322,11 @@ if (empty($reshook)) { $object->severity_code = GETPOST('severity_code', 'alpha'); $ret = $object->update($user); - if ($ret <= 0) { + if ($ret > 0) { + // Category association + $categories = GETPOST('categories', 'array'); + $object->setCategories($categories); + } else { $error++; } @@ -426,10 +440,10 @@ if (empty($reshook)) { } } - if ($action == "confirm_close" && GETPOST('confirm', 'alpha') == 'yes' && $user->rights->ticket->write) { + if (($action == "confirm_close" || $action == "confirm_abandon") && GETPOST('confirm', 'alpha') == 'yes' && $user->rights->ticket->write) { $object->fetch(GETPOST('id', 'int'), '', GETPOST('track_id', 'alpha')); - if ($object->close($user)) { + if ($object->close($user, ($action == "confirm_abandon" ? 1 : 0))) { setEventMessages($langs->trans('TicketMarkedAsClosed'), null, 'mesgs'); $url = 'card.php?action=view&track_id='.GETPOST('track_id', 'alpha'); @@ -473,7 +487,7 @@ if (empty($reshook)) { } // Set parent company - if ($action == 'set_thirdparty' && $user->rights->societe->creer) { + if ($action == 'set_thirdparty' && $user->rights->ticket->write) { 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'); @@ -749,7 +763,7 @@ if ($action == 'create' || $action == 'presend') { print '
'; print ''; */ -} elseif (empty($action) || $action == 'view' || $action == 'addlink' || $action == 'dellink' || $action == 'presend' || $action == 'presend_addmessage' || $action == 'close' || $action == 'delete' || $action == 'editcustomer' || $action == 'progression' || $action == 'reopen' +} elseif (empty($action) || $action == 'view' || $action == 'addlink' || $action == 'dellink' || $action == 'presend' || $action == 'presend_addmessage' || $action == 'close' || $action == 'abandon' || $action == 'delete' || $action == 'editcustomer' || $action == 'progression' || $action == 'reopen' || $action == 'editsubject' || $action == 'edit_extras' || $action == 'update_extras' || $action == 'edit_extrafields' || $action == 'set_extrafields' || $action == 'classify' || $action == 'sel_contract' || $action == 'edit_message_init' || $action == 'set_status' || $action == 'dellink') { if ($res > 0) { // or for unauthorized internals users @@ -764,6 +778,13 @@ if ($action == 'create' || $action == 'presend') { print '
'; } } + // Confirmation abandon + if ($action == 'abandon') { + print $form->formconfirm($url_page_current."?track_id=".$object->track_id, $langs->trans("AbandonTicket"), $langs->trans("ConfirmAbandonTicket"), "confirm_abandon", '', '', 1); + if ($ret == 'html') { + print '
'; + } + } // Confirmation delete if ($action == 'delete') { print $form->formconfirm($url_page_current."?track_id=".$object->track_id, $langs->trans("Delete"), $langs->trans("ConfirmDeleteTicket"), "confirm_delete_ticket", '', '', 1); @@ -1054,6 +1075,13 @@ if ($action == 'create' || $action == 'presend') { print ''; } + // Categories + if ($conf->categorie->enabled) { + print '
"; + } + // Other attributes include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php'; @@ -1119,15 +1147,21 @@ if ($action == 'create' || $action == 'presend') { } else { // Type print ''; // Group print ''; // Severity print ''; } print '
'; // In phone version only show when it is invoice page -if ($mobilepage == "invoice" || $mobilepage == "") { +if (empty($mobilepage) || $mobilepage == "invoice") { print ''; } -if ($conf->global->TAKEPOS_BAR_RESTAURANT) { +if (getDolGlobalString('TAKEPOS_BAR_RESTAURANT')) { $sql = "SELECT floor, label FROM ".MAIN_DB_PREFIX."takepos_floor_tables where rowid=".((int) $place); $resql = $db->query($sql); $obj = $db->fetch_object($resql); @@ -1190,14 +1246,14 @@ if ($conf->global->TAKEPOS_BAR_RESTAURANT) { print $langs->trans("Products"); } print ''.$langs->trans('ReductionShort').''.$langs->trans('Qty').''; print '' . $langs->trans('TotalHTShort') . '
'; // In phone version only show when it is invoice page - if ($mobilepage == "invoice" || $mobilepage == "") { + if (empty($mobilepage) || $mobilepage == "invoice") { print '' . price($invoice->total_ht, 1, '', 1, -1, -1, $conf->currency) . ''; if (!empty($conf->multicurrency->enabled) && $_SESSION["takeposcustomercurrency"] != "" && $conf->currency != $_SESSION["takeposcustomercurrency"]) { //Only show customer currency if multicurrency module is enabled, if currency selected and if this currency selected is not the same as main currency @@ -1213,9 +1269,9 @@ if ($_SESSION["basiclayout"] != 1) { print '
'; print ''.$langs->trans('TotalTTCShort').'
'; // In phone version only show when it is invoice page - if ($mobilepage == "invoice" || $mobilepage == "") { + if (empty($mobilepage) || $mobilepage == "invoice") { print ''.price($invoice->total_ttc, 1, '', 1, -1, -1, $conf->currency).''; - if (!empty($conf->multicurrency->enabled) && $_SESSION["takeposcustomercurrency"] != "" && $conf->currency != $_SESSION["takeposcustomercurrency"]) { + if (!empty($conf->multicurrency->enabled) && !empty($_SESSION["takeposcustomercurrency"]) && $conf->currency != $_SESSION["takeposcustomercurrency"]) { //Only show customer currency if multicurrency module is enabled, if currency selected and if this currency selected is not the same as main currency include_once DOL_DOCUMENT_ROOT.'/multicurrency/class/multicurrency.class.php'; $multicurrency = new MultiCurrency($db); @@ -1231,7 +1287,7 @@ if ($_SESSION["basiclayout"] != 1) { print "
'.vatrate($line->remise_percent, true).''.$line->qty.''.price($line->total_ttc).''; - if ($_SESSION["basiclayout"] == 1) { + if (!empty($_SESSION["basiclayout"]) && $_SESSION["basiclayout"] == 1) { $htmlforlines .= ''.$line->qty." x "; } if (isset($line->product_type)) { @@ -1400,10 +1457,10 @@ if ($placeid > 0) { if (!empty($line->array_options['options_order_notes'])) { $htmlforlines .= "
(".$line->array_options['options_order_notes'].")"; } - if ($_SESSION["basiclayout"] == 1) { + if (!empty($_SESSION["basiclayout"]) && $_SESSION["basiclayout"] == 1) { $htmlforlines .= '
  '; } - if ($_SESSION["basiclayout"] != 1) { + if (empty($_SESSION["basiclayout"]) || $_SESSION["basiclayout"] != 1) { $moreinfo = ''; $moreinfo .= $langs->transcountry("TotalHT", $mysoc->country_code).': '.price($line->total_ht); if ($line->vat_src_code) { @@ -1454,10 +1511,10 @@ if ($placeid > 0) { } $htmlforlines .= ''; $htmlforlines .= price($line->total_ht, 1, '', 1, -1, -1, $conf->currency); - if (!empty($conf->multicurrency->enabled) && $_SESSION["takeposcustomercurrency"] != "" && $conf->currency != $_SESSION["takeposcustomercurrency"]) { + if (!empty($conf->multicurrency->enabled) && !empty($_SESSION["takeposcustomercurrency"]) && $conf->currency != $_SESSION["takeposcustomercurrency"]) { //Only show customer currency if multicurrency module is enabled, if currency selected and if this currency selected is not the same as main currency include_once DOL_DOCUMENT_ROOT.'/multicurrency/class/multicurrency.class.php'; $multicurrency = new MultiCurrency($db); @@ -1468,7 +1525,7 @@ if ($placeid > 0) { } $htmlforlines .= ''; $htmlforlines .= price($line->total_ttc, 1, '', 1, -1, -1, $conf->currency); - if (!empty($conf->multicurrency->enabled) && $_SESSION["takeposcustomercurrency"] != "" && $conf->currency != $_SESSION["takeposcustomercurrency"]) { + if (!empty($conf->multicurrency->enabled) && !empty($_SESSION["takeposcustomercurrency"]) && $conf->currency != $_SESSION["takeposcustomercurrency"]) { //Only show customer currency if multicurrency module is enabled, if currency selected and if this currency selected is not the same as main currency include_once DOL_DOCUMENT_ROOT.'/multicurrency/class/multicurrency.class.php'; $multicurrency = new MultiCurrency($db); @@ -1478,7 +1535,7 @@ if ($placeid > 0) { $htmlforlines .= '
'.$langs->trans("Categories").''; + print $form->showCategories($object->id, Categorie::TYPE_TICKET, 1); + print "
'.$langs->trans("Type").''; - print $langs->getLabelFromKey($db, 'TicketTypeShort'.$object->type_code, 'c_ticket_type', 'code', 'label', $object->type_code); + if (!empty($object->type_code)) { + print $langs->getLabelFromKey($db, 'TicketTypeShort'.$object->type_code, 'c_ticket_type', 'code', 'label', $object->type_code); + } print '
'.$langs->trans("TicketCategory").''; - print $langs->getLabelFromKey($db, 'TicketCategoryShort'.$object->category_code, 'c_ticket_category', 'code', 'label', $object->category_code); + if (!empty($object->category_code)) { + print $langs->getLabelFromKey($db, 'TicketCategoryShort'.$object->category_code, 'c_ticket_category', 'code', 'label', $object->category_code); + } print '
'.$langs->trans("TicketSeverity").''; - print $langs->getLabelFromKey($db, 'TicketSeverityShort'.$object->severity_code, 'c_ticket_severity', 'code', 'label', $object->severity_code); + if (!empty($object->severity_code)) { + print $langs->getLabelFromKey($db, 'TicketSeverityShort'.$object->severity_code, 'c_ticket_severity', 'code', 'label', $object->severity_code); + } print '
'; // End table actions @@ -1296,8 +1330,13 @@ if ($action == 'create' || $action == 'presend') { print ''; } + // Abadon ticket if statut is read + if ($object->fk_statut > 0 && $object->fk_statut < Ticket::STATUS_CLOSED && $user->rights->ticket->write) { + print ''; + } + // Re-open ticket - if (!$user->socid && $object->fk_statut == Ticket::STATUS_CLOSED && !$user->socid) { + if (!$user->socid && ($object->fk_statut == Ticket::STATUS_CLOSED || $object->fk_statut == Ticket::STATUS_CANCELED) && !$user->socid) { print ''; } diff --git a/htdocs/ticket/class/actions_ticket.class.php b/htdocs/ticket/class/actions_ticket.class.php index b787a437899..d7d971b4edc 100644 --- a/htdocs/ticket/class/actions_ticket.class.php +++ b/htdocs/ticket/class/actions_ticket.class.php @@ -408,7 +408,7 @@ class ActionsTicket if ($status == 1) { $urlforbutton = $_SERVER['PHP_SELF'].'?track_id='.$object->track_id.'&action=mark_ticket_read'; // To set as read, we use a dedicated action } else { - $urlforbutton = $_SERVER['PHP_SELF'].'?track_id='.$object->track_id.'&action=set_status&token='.newToken().'&new_status='.$status; + $urlforbutton = $_SERVER['PHP_SELF'].'?track_id='.$object->track_id.'&action=confirm_set_status&token='.newToken().'&new_status='.$status; } print ''; diff --git a/htdocs/ticket/class/ticket.class.php b/htdocs/ticket/class/ticket.class.php index 89f239db6c6..e8a1b53ed82 100644 --- a/htdocs/ticket/class/ticket.class.php +++ b/htdocs/ticket/class/ticket.class.php @@ -218,8 +218,8 @@ class Ticket extends CommonObject const STATUS_IN_PROGRESS = 3; const STATUS_NEED_MORE_INFO = 5; const STATUS_WAITING = 7; // on hold - const STATUS_CLOSED = 8; - const STATUS_CANCELED = 9; + const STATUS_CLOSED = 8; // Closed - Solved + const STATUS_CANCELED = 9; // Closed - Not solved /** @@ -272,8 +272,8 @@ class Ticket extends CommonObject 'message' => array('type'=>'text', 'label'=>'Message', 'visible'=>-2, 'enabled'=>1, 'position'=>540, 'notnull'=>-1,), 'email_msgid' => array('type'=>'varchar(255)', 'label'=>'EmailMsgID', 'visible'=>-2, 'enabled'=>1, 'position'=>540, 'notnull'=>-1, 'help'=>'EmailMsgIDDesc'), 'progress' => array('type'=>'varchar(100)', 'label'=>'Progression', 'visible'=>-1, 'enabled'=>1, 'position'=>540, 'notnull'=>-1, 'css'=>'right', 'help'=>"", 'isameasure'=>1), - 'resolution' => array('type'=>'integer', 'label'=>'Resolution', 'visible'=>-1, 'enabled'=>1, 'position'=>550, 'notnull'=>1), - 'fk_statut' => array('type'=>'integer', 'label'=>'Status', 'visible'=>1, 'enabled'=>1, 'position'=>600, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array(0 => 'Unread', 1 => 'Read', 3 => 'Answered', 4 => 'Assigned', 5 => 'InProgress', 6 => 'Waiting', 8 => 'Closed', 9 => 'Deleted')), + 'resolution' => array('type'=>'integer', 'label'=>'Resolution', 'visible'=>-1, 'enabled'=>'$conf->global->TICKET_ENABLE_RESOLUTION', 'position'=>550, 'notnull'=>1), + 'fk_statut' => array('type'=>'integer', 'label'=>'Status', 'visible'=>1, 'enabled'=>1, 'position'=>600, 'notnull'=>1, 'index'=>1, 'arrayofkeyval'=>array(0 => 'Unread', 1 => 'Read', 3 => 'Answered', 4 => 'Assigned', 5 => 'InProgress', 6 => 'Waiting', 8 => 'SolvedClosed', 9 => 'Deleted')), 'import_key' =>array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>1, 'visible'=>-2, 'position'=>900), ); // END MODULEBUILDER PROPERTIES @@ -286,6 +286,8 @@ class Ticket extends CommonObject */ public function __construct($db) { + global $conf; + $this->db = $db; $this->statuts_short = array( @@ -295,7 +297,7 @@ class Ticket extends CommonObject self::STATUS_IN_PROGRESS => 'InProgress', self::STATUS_WAITING => 'OnHold', self::STATUS_NEED_MORE_INFO => 'NeedMoreInformationShort', - self::STATUS_CLOSED => 'Closed', + self::STATUS_CLOSED => 'SolvedClosed', self::STATUS_CANCELED => 'Canceled' ); $this->statuts = array( @@ -305,7 +307,7 @@ class Ticket extends CommonObject self::STATUS_IN_PROGRESS => 'InProgress', self::STATUS_WAITING => 'OnHold', self::STATUS_NEED_MORE_INFO => 'NeedMoreInformation', - self::STATUS_CLOSED => 'Closed', + self::STATUS_CLOSED => 'SolvedClosed', self::STATUS_CANCELED => 'Canceled' ); } @@ -459,7 +461,7 @@ class Ticket extends CommonObject $sql .= " ".(!isset($this->progress) ? '0' : "'".$this->db->escape($this->progress)."'").","; $sql .= " ".(!isset($this->timing) ? 'NULL' : "'".$this->db->escape($this->timing)."'").","; $sql .= " ".(!isset($this->type_code) ? 'NULL' : "'".$this->db->escape($this->type_code)."'").","; - $sql .= " ".(!isset($this->category_code) ? 'NULL' : "'".$this->db->escape($this->category_code)."'").","; + $sql .= " ".(empty($this->category_code) || $this->category_code == '-1' ? 'NULL' : "'".$this->db->escape($this->category_code)."'").","; $sql .= " ".(!isset($this->severity_code) ? 'NULL' : "'".$this->db->escape($this->severity_code)."'").","; $sql .= " ".(!isset($this->datec) || dol_strlen($this->datec) == 0 ? 'NULL' : "'".$this->db->idate($this->datec)."'").","; $sql .= " ".(!isset($this->date_read) || dol_strlen($this->date_read) == 0 ? 'NULL' : "'".$this->db->idate($this->date_read)."'").","; @@ -1177,7 +1179,7 @@ class Ticket extends CommonObject } // Cache deja charge - $sql = "SELECT rowid, code, label, use_default, pos, description, public, active"; + $sql = "SELECT rowid, code, label, use_default, pos, description, public, active, force_severity, fk_parent"; $sql .= " FROM ".MAIN_DB_PREFIX."c_ticket_category"; $sql .= " WHERE active > 0"; $sql .= " ORDER BY pos"; @@ -1196,6 +1198,8 @@ class Ticket extends CommonObject $this->cache_category_tickets[$obj->rowid]['pos'] = $obj->pos; $this->cache_category_tickets[$obj->rowid]['public'] = $obj->public; $this->cache_category_tickets[$obj->rowid]['active'] = $obj->active; + $this->cache_category_tickets[$obj->rowid]['force_severity'] = $obj->force_severity; + $this->cache_category_tickets[$obj->rowid]['fk_parent'] = $obj->fk_parent; $i++; } return $num; @@ -1747,21 +1751,22 @@ class Ticket extends CommonObject /** * Close a ticket * - * @param User $user User that close - * @return int <0 if KO, >0 if OK + * @param User $user User that close + * @param int $mode 0=Close solved, 1=Close abandonned + * @return int <0 if KO, >0 if OK */ - public function close(User $user) + public function close(User $user, $mode = 0) { global $conf, $langs; - if ($this->fk_statut != Ticket::STATUS_CLOSED) { // not closed + if ($this->fk_statut != Ticket::STATUS_CLOSED && $this->fk_statut != Ticket::STATUS_CANCELED) { // not closed $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."ticket"; - $sql .= " SET fk_statut=".Ticket::STATUS_CLOSED.", progress=100, date_close='".$this->db->idate(dol_now())."'"; - $sql .= " WHERE rowid = ".$this->id; + $sql .= " SET fk_statut=".($mode ? Ticket::STATUS_CANCELED : Ticket::STATUS_CLOSED).", progress=100, date_close='".$this->db->idate(dol_now())."'"; + $sql .= " WHERE rowid = ".((int) $this->id); - dol_syslog(get_class($this)."::close sql=".$sql); + dol_syslog(get_class($this)."::close mode=".$mode); $resql = $this->db->query($sql); if ($resql) { $error = 0; @@ -2497,6 +2502,51 @@ class Ticket extends CommonObject return array('listofpaths'=>$listofpaths, 'listofnames'=>$listofnames, 'listofmimes'=>$mimetype); } + /** + * Sets object to supplied categories. + * + * Deletes object from existing categories not supplied. + * Adds it to non existing supplied categories. + * Existing categories are left untouch. + * + * @param int[]|int $categories Category or categories IDs + * @return void + */ + public function setCategories($categories) + { + // Handle single category + if (!is_array($categories)) { + $categories = array($categories); + } + + // Get current categories + include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + $c = new Categorie($this->db); + $existing = $c->containing($this->id, Categorie::TYPE_TICKET, 'id'); + + // Diff + if (is_array($existing)) { + $to_del = array_diff($existing, $categories); + $to_add = array_diff($categories, $existing); + } else { + $to_del = array(); // Nothing to delete + $to_add = $categories; + } + + // Process + foreach ($to_del as $del) { + if ($c->fetch($del) > 0) { + $c->del_type($this, Categorie::TYPE_TICKET); + } + } + foreach ($to_add as $add) { + if ($c->fetch($add) > 0) { + $c->add_type($this, Categorie::TYPE_TICKET); + } + } + + return; + } /** * Add new message on a ticket (private/public area). Can also send it be email if GETPOST('send_email', 'int') is set. diff --git a/htdocs/ticket/index.php b/htdocs/ticket/index.php index c3027e5044b..756f8e10879 100644 --- a/htdocs/ticket/index.php +++ b/htdocs/ticket/index.php @@ -50,6 +50,7 @@ $socid = 0; if ($user->socid) { $socid = $user->socid; } +$userid = $user->id; // Security check $result = restrictedArea($user, 'ticket', 0, '', '', '', ''); @@ -96,7 +97,7 @@ if (in_array('DOLUSERCOOKIE_ticket_by_status', $autosetarray)) { $endyear = GETPOST($param_year, 'int'); $shownb = GETPOST($param_shownb, 'alpha'); $showtot = GETPOST($param_showtot, 'alpha'); -} else { +} elseif (!empty($_COOKIE['DOLUSERCOOKIE_ticket_by_status'])) { $tmparray = json_decode($_COOKIE['DOLUSERCOOKIE_ticket_by_status'], true); $endyear = $tmparray['year']; $shownb = $tmparray['shownb']; @@ -104,6 +105,7 @@ if (in_array('DOLUSERCOOKIE_ticket_by_status', $autosetarray)) { } if (empty($shownb) && empty($showtot)) { $showtot = 1; + $shownb = 0; } $nowarray = dol_getdate(dol_now(), true); diff --git a/htdocs/ticket/list.php b/htdocs/ticket/list.php index 84ea65fef71..5a55a1ab324 100644 --- a/htdocs/ticket/list.php +++ b/htdocs/ticket/list.php @@ -45,9 +45,9 @@ $show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk $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') : 'tickep#selectedfieldstlist'; // To manage different context of search +$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : 'tickep#selectedfieldstlist'; // 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') +$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print') $id = GETPOST('id', 'int'); $msg_id = GETPOST('msg_id', 'int'); @@ -73,8 +73,9 @@ $sortfield = GETPOST('sortfield', 'aZ09comma'); $sortorder = GETPOST('sortorder', 'aZ09comma'); $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); if (empty($page) || $page < 0 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha')) { + // If $page is not defined, or '' or -1 or if we click on clear filters $page = 0; -} // If $page is not defined, or '' or -1 or if we click on clear filters +} $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; @@ -107,12 +108,16 @@ if (GETPOST('search_fk_status', 'alpha') == 'non_closed') { } // Initialize array of search criterias -$search_all = trim(GETPOSTISSET("search_all") ?GETPOSTISSET("search_all", 'alpha') : GETPOST('sall')); +$search_all = (GETPOSTISSET("search_all") ? GETPOST("search_all", 'alpha') : GETPOST('sall')); $search = array(); foreach ($object->fields as $key => $val) { - if (GETPOST('search_'.$key, 'alpha')) { + if (GETPOST('search_'.$key, 'alpha') !== '') { $search[$key] = GETPOST('search_'.$key, 'alpha'); } + if (preg_match('/^(date|timestamp|datetime)/', $val['type'])) { + $search[$key.'_dtstart'] = dol_mktime(0, 0, 0, GETPOST('search_'.$key.'_dtstartmonth', 'int'), GETPOST('search_'.$key.'_dtstartday', 'int'), GETPOST('search_'.$key.'_dtstartyear', 'int')); + $search[$key.'_dtend'] = dol_mktime(23, 59, 59, GETPOST('search_'.$key.'_dtendmonth', 'int'), GETPOST('search_'.$key.'_dtendday', 'int'), GETPOST('search_'.$key.'_dtendyear', 'int')); + } } // List of fields to search into when doing a "search in all" @@ -126,12 +131,19 @@ $fieldstosearchall['s.name_alias'] = "AliasNameShort"; $fieldstosearchall['s.zip'] = "Zip"; $fieldstosearchall['s.town'] = "Town"; -// Definition of fields for list +// Definition of array of fields for columns $arrayfields = array(); foreach ($object->fields as $key => $val) { // If $val['visible']==0, then we never show the field if (!empty($val['visible'])) { - $arrayfields['t.'.$key] = array('label'=>$val['label'], 'checked'=>(($val['visible'] < 0) ? 0 : 1), 'enabled'=>$val['enabled'], 'position'=>$val['position']); + $visible = (int) dol_eval($val['visible'], 1); + $arrayfields['t.'.$key] = array( + 'label'=>$val['label'], + 'checked'=>(($visible < 0) ? 0 : 1), + 'enabled'=>($visible != 3 && dol_eval($val['enabled'], 1)), + 'position'=>$val['position'], + 'help'=> isset($val['help']) ? $val['help'] : '' + ); } } // Extra fields @@ -139,8 +151,6 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php'; $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); -//if ($socid > 0) $arrayfields['t.fk_soc']['enabled']=0; -//if ($projectid > 0) $arrayfields['t.fk_project']['enabled']=0; // Security check @@ -798,7 +808,7 @@ foreach ($object->fields as $key => $val) { if (!empty($search[$key])) { $selectedarray = array_values($search[$key]); } - print Form::multiselectarray('search_fk_statut', $arrayofstatus, $selectedarray, 0, 0, 'minwidth100 maxwidth150', 1, 0, '', '', ''); + print Form::multiselectarray('search_fk_statut', $arrayofstatus, $selectedarray, 0, 0, 'minwidth100imp maxwidth150', 1, 0, '', '', ''); print ''; } elseif ($key == "fk_soc") { print ''; diff --git a/htdocs/user/agenda_extsites.php b/htdocs/user/agenda_extsites.php index b474bdfc678..928db5449d8 100644 --- a/htdocs/user/agenda_extsites.php +++ b/htdocs/user/agenda_extsites.php @@ -188,7 +188,7 @@ print ''; print ""; print ""; print ""; -print "'; +print "'; print "'; print ''; print ""; diff --git a/htdocs/user/bank.php b/htdocs/user/bank.php index 0b179653487..0eaf3d533a9 100644 --- a/htdocs/user/bank.php +++ b/htdocs/user/bank.php @@ -366,12 +366,12 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac $payment_salary = new PaymentSalary($db); $salary = new Salary($db); - $sql = "SELECT s.rowid as sid, s.ref as sref, s.label, s.datesp, s.dateep, s.paye, SUM(ps.amount) as alreadypaid"; + $sql = "SELECT s.rowid as sid, s.ref as sref, s.label, s.datesp, s.dateep, s.paye, s.amount, SUM(ps.amount) as alreadypaid"; $sql .= " FROM ".MAIN_DB_PREFIX."salary as s"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."payment_salary as ps ON (s.rowid = ps.fk_salary)"; $sql .= " WHERE s.fk_user = ".$object->id; $sql .= " AND s.entity IN (".getEntity('salary').")"; - $sql .= " GROUP BY s.rowid, s.ref, s.label, s.datesp, s.dateep, s.paye"; + $sql .= " GROUP BY s.rowid, s.ref, s.label, s.datesp, s.dateep, s.paye, s.amount"; $sql .= " ORDER BY s.dateep DESC"; $resql = $db->query($sql); @@ -381,7 +381,7 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac print '
".$langs->trans("Parameter")."".$langs->trans("Name")."".$langs->trans("ExtSiteUrlAgenda").'
'." (".$langs->trans("Example").': http://yoursite/agenda/agenda.ics)
".$langs->trans("ExtSiteUrlAgenda").'
'." (".$langs->trans("Example").': https://externalcalendar/agenda/agenda.ics)
".$form->textwithpicto($langs->trans("FixTZ"), $langs->trans("FillFixTZOnlyIfRequired"), 1).''.$langs->trans("Color").'
'; print ''; - print ''; print '\n"; - print ''; + print ''; print ''; $i++; } @@ -560,7 +556,7 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac print_liste_field_titre("RIB"); print_liste_field_titre("IBAN"); print_liste_field_titre("BIC"); - print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', '', '', $sortfield, $sortorder, 'maxwidthsearch '); + print_liste_field_titre('', $_SERVER["PHP_SELF"], "", '', '', '', '', '', 'maxwidthsearch '); print "\n"; if ($account->id > 0) { diff --git a/htdocs/user/card.php b/htdocs/user/card.php index 135e2072fdf..cb7aa69949c 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -314,8 +314,8 @@ if (empty($reshook)) { $id = $object->create($user); if ($id > 0) { - if (GETPOST('password')) { - $object->setPassword($user, GETPOST('password')); + if (GETPOST('password', 'none')) { + $object->setPassword($user, GETPOST('password', 'none')); } if (!empty($conf->categorie->enabled)) { // Categories association @@ -1040,6 +1040,7 @@ if ($action == 'create' || $action == 'adduserldap') { // State if (empty($conf->global->USER_DISABLE_STATE)) { print ''; } @@ -1420,10 +1421,12 @@ if ($action == 'create' || $action == 'adduserldap') { if ($object->socid > 0) { $type = $langs->trans("External"); } + print ''; print $type; if ($object->ldap_sid) { print ' ('.$langs->trans("DomainUser").')'; } + print ''; print ''."\n"; // Ldap sid @@ -1434,7 +1437,7 @@ if ($action == 'create' || $action == 'adduserldap') { } // Employee - print ''."\n"; @@ -1448,8 +1451,12 @@ if ($action == 'create' || $action == 'adduserldap') { print ''.$langs->trans("None").''; } else { $huser = new User($db); - $huser->fetch($object->fk_user); - print $huser->getNomUrl(1); + if ($object->fk_user > 0) { + $huser->fetch($object->fk_user); + print $huser->getNomUrl(1); + } else { + print ''.$langs->trans("None").''; + } } print ''; print "\n"; @@ -1533,7 +1540,7 @@ if ($action == 'create' || $action == 'adduserldap') { // Salary print ''; print ''; print "\n"; } @@ -1796,7 +1803,7 @@ if ($action == 'create' || $action == 'adduserldap') { print dol_print_date($object->datepreviouslogin, "dayhour").' ('.$langs->trans("Previous").'), '; } if ($object->datelastlogin) { - print dol_print_date($object->datelastlogin, "dayhour").' ('.$langs->trans("Current").')'; + print dol_print_date($object->datelastlogin, "dayhour").' ('.$langs->trans("Currently").')'; } print ''; print "\n"; @@ -2363,6 +2370,7 @@ if ($action == 'create' || $action == 'adduserldap') { if (empty($conf->global->USER_DISABLE_STATE)) { print ''; print '\n"; @@ -222,8 +223,11 @@ if ($resql) { print ''; } print ''; - print ''; + print ''; print ''; + print ''; print ''; print "\n"; $i++; diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php index 618d705bfcf..e2c419b0543 100644 --- a/htdocs/user/group/perms.php +++ b/htdocs/user/group/perms.php @@ -22,9 +22,13 @@ /** * \file htdocs/user/group/perms.php - * \brief Onglet user et permissions de la fiche utilisateur + * \brief Page to set permissions of a user group record */ +if (!defined('CSRFCHECK_WITH_TOKEN')) { + define('CSRFCHECK_WITH_TOKEN', '1'); // Force use of CSRF protection with tokens even for GET +} + require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php'; @@ -41,6 +45,10 @@ $module = GETPOST('module', 'alpha'); $rights = GETPOST('rights', 'int'); $contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'groupperms'; // To manage different context of search +if (!isset($id) || empty($id)) { + accessforbidden(); +} + // Define if user can read permissions $canreadperms = ($user->admin || $user->rights->user->user->lire); // Define if user can modify group permissions @@ -53,12 +61,15 @@ if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { $caneditperms = ($user->admin || $user->rights->user->group_advance->write); } +// Security check +//$result = restrictedArea($user, 'user', $id, 'usergroup', ''); if (!$canreadperms) { accessforbidden(); } $object = new Usergroup($db); $object->fetch($id); +$object->getrights(); $entity = $conf->entity; @@ -79,7 +90,7 @@ if ($reshook < 0) { if (empty($reshook)) { if ($action == 'addrights' && $caneditperms) { $editgroup = new Usergroup($db); - $result = $editgroup->fetch($id); + $result = $editgroup->fetch($object->id); if ($result > 0) { $result = $editgroup->addrights($rights, $module, '', $entity); if ($result < 0) { @@ -88,6 +99,9 @@ if (empty($reshook)) { } else { dol_print_error($db); } + + $user->clearrights(); + $user->getrights(); } if ($action == 'delrights' && $caneditperms) { @@ -101,11 +115,14 @@ if (empty($reshook)) { } else { dol_print_error($db); } + + $user->clearrights(); + $user->getrights(); } } -/** +/* * View */ @@ -114,11 +131,6 @@ $form = new Form($db); llxHeader('', $langs->trans("Permissions")); if ($object->id > 0) { - /* - * Affichage onglets - */ - $object->getrights(); // Reload permission - $head = group_prepare_head($object); $title = $langs->trans("Group"); print dol_get_fiche_head($head, 'rights', $title, -1, 'group'); @@ -165,8 +177,8 @@ if ($object->id > 0) { $sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r,"; $sql .= " ".MAIN_DB_PREFIX."usergroup_rights as gr"; $sql .= " WHERE gr.fk_id = r.id"; - $sql .= " AND gr.entity = ".$entity; - $sql .= " AND gr.fk_usergroup = ".$object->id; + $sql .= " AND gr.entity = ".((int) $entity); + $sql .= " AND gr.fk_usergroup = ".((int) $object->id); dol_syslog("get user perms", LOG_DEBUG); $result = $db->query($sql); @@ -186,6 +198,10 @@ if ($object->id > 0) { dol_print_error($db); } + /* + * Part to add/remove permissions + */ + $linkback = ''.$langs->trans("BackToList").''; dol_banner_tab($object, 'id', $linkback, $user->rights->user->user->lire || $user->admin); @@ -193,9 +209,6 @@ if ($object->id > 0) { print '
'; print '
'; - /* - * Ecran ajout/suppression permission - */ print '
'; + print ''; print ''; @@ -389,16 +389,17 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac while ($i < $num && $i < $MAXLIST) { $objp = $db->fetch_object($resql); - $payment_salary->id = $objp->rowid; - $payment_salary->ref = $objp->ref; - $payment_salary->datep = $db->jdate($objp->datep); - $salary->id = $objp->sid; $salary->ref = $objp->sref ? $objp->sref : $objp->sid; $salary->label = $objp->label; $salary->datesp = $db->jdate($objp->datesp); $salary->dateep = $db->jdate($objp->dateep); $salary->paye = $objp->paye; + $salary->amount = $objp->amount; + + $payment_salary->id = $objp->rowid; + $payment_salary->ref = $objp->ref; + $payment_salary->datep = $db->jdate($objp->datep); print ''; print '\n"; print '\n"; - //print ''; + print ''; print ''; print ''; @@ -416,7 +417,7 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac $db->free($resql); if ($num <= 0) { - print '
'.$langs->trans("LastSalaries", ($num <= $MAXLIST ? "" : $MAXLIST)).''.$langs->trans("AllSalaries").''.$num.''; print '
'.$langs->trans("LastSalaries", ($num <= $MAXLIST ? "" : $MAXLIST)).''.$langs->trans("AllSalaries").''.$num.'
'; @@ -407,7 +408,7 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac print ''.dol_print_date($db->jdate($objp->datesp), 'day')."'.dol_print_date($db->jdate($objp->dateep), 'day')."'.price($objp->amount).''.price($objp->amount).''.$salary->getLibStatut(5, $objp->alreadypaid).'
'.$langs->trans("None").''; + print ''.$langs->trans("None").''; } print "
"; } else { @@ -424,9 +425,7 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac } } - /* - * Last holidays - */ + // Latest leave requests if (!empty($conf->holiday->enabled) && ($user->rights->holiday->readall || ($user->rights->holiday->read && $object->id == $user->id)) ) { @@ -478,9 +477,7 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac } } - /* - * Last expense report - */ + // Latest expense report if (!empty($conf->expensereport->enabled) && ($user->rights->expensereport->readall || ($user->rights->expensereport->lire && $object->id == $user->id)) ) { @@ -509,14 +506,13 @@ if ($action != 'edit' && $action != 'create') { // If not bank account yet, $ac $exp->id = $objp->rowid; $exp->ref = $objp->ref; - $exp->fk_type = $objp->fk_type; $exp->status = $objp->status; print '
'; print $exp->getNomUrl(1); print ''.dol_print_date($db->jdate($objp->date_debut), 'day')."'.price($objp->total_ttc).''.price($objp->total_ttc).''.$exp->LibStatut($objp->status, 5).'
'.$form->editfieldkey('State', 'state_id', '', $object, 0).''; + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code, 'state_id'); print '
'.$langs->trans("Employee").''; + print '
'.$langs->trans("Employee").''; print 'employee ? ' checked="checked"' : '').'>'; //print yn($object->employee); print '
'.$langs->trans("Salary").''; - print ($object->salary != '' ? img_picto('', 'salary', 'class="pictofixedwidth paddingright"').price($object->salary, '', $langs, 1, -1, -1, $conf->currency) : ''); + print ($object->salary != '' ? img_picto('', 'salary', 'class="pictofixedwidth paddingright"').''.price($object->salary, '', $langs, 1, -1, -1, $conf->currency) : '').''; print '
'.$form->editfieldkey('State', 'state_id', '', $object, 0).''; if ($caneditfield) { + print img_picto('', 'state', 'class="pictofixedwidth"'); print $formcompany->select_state($object->state_id, $object->country_code, 'state_id'); } else { print $object->state_label; diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 37ce6544cd0..816d3dc3e27 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -442,7 +442,7 @@ class User extends CommonObject if ($entity < 0) { if ((empty($conf->multicompany->enabled) || empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) && (!empty($user->entity))) { - $sql .= " WHERE u.entity IN (0, ".$this->db->sanitize($conf->entity).")"; + $sql .= " WHERE u.entity IN (0, ".((int) $conf->entity).")"; } else { $sql .= " WHERE u.entity IS NOT NULL"; // multicompany is on in transverse mode or user making fetch is on entity 0, so user is allowed to fetch anywhere into database } @@ -451,7 +451,7 @@ class User extends CommonObject if (!empty($conf->multicompany->enabled) && !empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE)) { $sql .= " WHERE u.entity IS NOT NULL"; // multicompany is on in transverse mode or user making fetch is on entity 0, so user is allowed to fetch anywhere into database } else { - $sql .= " WHERE u.entity IN (0, ".$this->db->sanitize(($entity != '' && $entity >= 0) ? $entity : $conf->entity).")"; // search in entity provided in parameter + $sql .= " WHERE u.entity IN (0, ".((int) (($entity != '' && $entity >= 0) ? $entity : $conf->entity)).")"; // search in entity provided in parameter } } @@ -1280,6 +1280,10 @@ class User extends CommonObject $langs->load("errors"); $this->error = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Login")); return -1; + } elseif (preg_match('/[,@<>"\']/', $this->login)) { + $langs->load("errors"); + $this->error = $langs->trans("ErrorBadCharIntoLoginName"); + return -1; } $this->datec = dol_now(); @@ -1669,6 +1673,10 @@ class User extends CommonObject $langs->load("errors"); $this->error = $langs->trans("ErrorFieldRequired", 'Login'); return -1; + } elseif (preg_match('/[,@<>"\']/', $this->login)) { + $langs->load("errors"); + $this->error = $langs->trans("ErrorBadCharIntoLoginName"); + return -1; } $this->db->begin(); @@ -2109,8 +2117,8 @@ class User extends CommonObject $outputlangs = new Translate("", $conf); if (isset($this->conf->MAIN_LANG_DEFAULT) - && $this->conf->MAIN_LANG_DEFAULT != 'auto') { // If user has defined its own language (rare because in most cases, auto is used) - $outputlangs->getDefaultLang($this->conf->MAIN_LANG_DEFAULT); + && $this->conf->MAIN_LANG_DEFAULT != 'auto') { // If user has defined its own language (rare because in most cases, auto is used) + $outputlangs->getDefaultLang($this->conf->MAIN_LANG_DEFAULT); } if ($this->conf->MAIN_LANG_DEFAULT) { @@ -2184,7 +2192,7 @@ class User extends CommonObject '', '', $trackid - ); + ); if ($mailfile->sendfile()) { return 1; @@ -3222,7 +3230,7 @@ class User extends CommonObject foreach ($this->users as $key => $val) { if (preg_match('/'.$keyfilter1.'/', $val['fullpath']) || preg_match('/'.$keyfilter2.'/', $val['fullpath']) || preg_match('/'.$keyfilter3.'/', $val['fullpath']) || preg_match('/'.$keyfilter4.'/', $val['fullpath'])) { - unset($this->users[$key]); + unset($this->users[$key]); } } } @@ -3298,7 +3306,7 @@ class User extends CommonObject $i = 0; $cursor_user = $id_user; $useridfound = array($id_user); - while (!empty($this->parentof[$cursor_user])) { + while (!empty($this->parentof[$cursor_user]) && !empty($this->users[$this->parentof[$cursor_user]])) { if (in_array($this->parentof[$cursor_user], $useridfound)) { dol_syslog("The hierarchy of user has a recursive loop", LOG_WARNING); return -1; // Should not happen. Protection against looping hierarchy diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index 083b1bcc18c..1f0bb2891c6 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -711,7 +711,7 @@ class UserGroup extends CommonObject * Use this->id,this->lastname, this->firstname * * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo, -3=Only photo very small) - * @param string $option On what the link point to ('nolink', ) + * @param string $option On what the link point to ('nolink', 'permissions') * @param integer $notooltip 1=Disable tooltip on picto and name * @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 @@ -730,12 +730,16 @@ class UserGroup extends CommonObject $result = ''; $label = ''; $label .= '
'; - $label .= ''.$langs->trans("Group").'
'; + $label .= img_picto('', 'group').' '.$langs->trans("Group").'
'; $label .= ''.$langs->trans('Name').': '.$this->name; $label .= '
'.$langs->trans("Description").': '.$this->note; $label .= '
'; - $url = DOL_URL_ROOT.'/user/group/card.php?id='.$this->id; + if ($option == 'permissions') { + $url = DOL_URL_ROOT.'/user/group/perms.php?id='.$this->id; + } else { + $url = DOL_URL_ROOT.'/user/group/card.php?id='.$this->id; + } if ($option != 'nolink') { // Add param to save lastsearch_values or not diff --git a/htdocs/user/clicktodial.php b/htdocs/user/clicktodial.php index 0a9a65a2852..79450f2d811 100644 --- a/htdocs/user/clicktodial.php +++ b/htdocs/user/clicktodial.php @@ -150,7 +150,9 @@ if ($id > 0) { if (!empty($user->admin)) { print '
ClickToDial URL'; - $url = $conf->global->CLICKTODIAL_URL; + if (!empty($conf->global->CLICKTODIAL_URL)) { + $url = $conf->global->CLICKTODIAL_URL; + } if (!empty($object->clicktodial_url)) { $url = $object->clicktodial_url; } diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 0e60e70e42a..5c1e16e4a0c 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -428,6 +428,7 @@ if ($action == 'create') { * Group members */ + print '
'; // You can use div-table-responsive-no-min if you dont need reserved height for your table print ''; print ''; print ''; @@ -440,7 +441,7 @@ if ($action == 'create') { if (!empty($object->members)) { foreach ($object->members as $useringroup) { print ''; - print ''; } print "
'.$langs->trans("Login").'
'; + print ''; print $useringroup->getNomUrl(-1, '', 0, 0, 24, 0, 'login'); if ($useringroup->admin && !$useringroup->entity) { print img_picto($langs->trans("SuperAdministrator"), 'redstar'); @@ -465,6 +466,7 @@ if ($action == 'create') { print '
'.$langs->trans("None").'
"; + print '
'; } print "
"; diff --git a/htdocs/user/group/list.php b/htdocs/user/group/list.php index 302d697c563..04fa0035418 100644 --- a/htdocs/user/group/list.php +++ b/htdocs/user/group/list.php @@ -35,6 +35,7 @@ $sall = trim((GETPOST('search_all', 'alphanohtml') != '') ?GETPOST('search_all', $search_group = GETPOST('search_group'); $optioncss = GETPOST('optioncss', 'alpha'); $massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) +$contextpage = GETPOST('optioncss', 'aZ09'); // Defini si peux lire/modifier utilisateurs et permisssions $caneditperms = ($user->admin || $user->rights->user->user->creer); @@ -122,7 +123,7 @@ if (empty($reshook)) { llxHeader(); -$sql = "SELECT g.rowid, g.nom as name, g.note, g.entity, g.datec, COUNT(DISTINCT ugu.fk_user) as nb, COUNT(DISTINCT ugr.fk_id) as nbpermissions"; +$sql = "SELECT g.rowid, g.nom as name, g.note, g.entity, g.datec, g.tms as datem, COUNT(DISTINCT ugu.fk_user) as nb, COUNT(DISTINCT ugr.fk_id) as nbpermissions"; $sql .= " FROM ".MAIN_DB_PREFIX."usergroup as g"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ugu ON ugu.fk_usergroup = g.rowid"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_rights as ugr ON ugr.fk_usergroup = g.rowid"; @@ -137,7 +138,7 @@ if (!empty($search_group)) { if ($sall) { $sql .= natural_search(array("g.nom", "g.note"), $sall); } -$sql .= " GROUP BY g.rowid, g.nom, g.note, g.entity, g.datec"; +$sql .= " GROUP BY g.rowid, g.nom, g.note, g.entity, g.datec, g.tms"; $sql .= $db->order($sortfield, $sortorder); $resql = $db->query($sql); @@ -168,7 +169,6 @@ if ($resql) { print ''; print ''; print ''; - print ''; print ''; print_barre_liste($text, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, "", $num, $nbtotalofrecords, 'object_group', 0, $newcardbutton, '', $limit, 0, 0, 1); @@ -197,6 +197,7 @@ if ($resql) { print_liste_field_titre("NbOfUsers", $_SERVER["PHP_SELF"], "nb", $param, "", '', $sortfield, $sortorder, 'center '); print_liste_field_titre("NbOfPermissions", $_SERVER["PHP_SELF"], "nbpermissions", $param, "", '', $sortfield, $sortorder, 'center '); print_liste_field_titre("DateCreationShort", $_SERVER["PHP_SELF"], "g.datec", $param, "", '', $sortfield, $sortorder, 'center '); + print_liste_field_titre("DateLastModification", $_SERVER["PHP_SELF"], "g.tms", $param, "", '', $sortfield, $sortorder, 'center '); print_liste_field_titre("", $_SERVER["PHP_SELF"]); print "
'.$mc->label.''.$obj->nb.''.$obj->nbpermissions.''; + print ''.$obj->nbpermissions.''; + print ''.dol_print_date($db->jdate($obj->datec), "dayhour").''.dol_print_date($db->jdate($obj->datem), "dayhour").'
'; @@ -235,26 +248,26 @@ if ($object->id > 0) { print ''; if ($caneditperms) { print ''; } print ''; print ''; if ($user->admin) { - print ''; + print ''; } print ''."\n"; - $sql = "SELECT r.id, r.libelle as label, r.module"; + $sql = "SELECT r.id, r.libelle as label, r.module, r.perms, r.subperms, r.module_position, r.bydefault"; $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; + $sql .= " AND r.entity = ".((int) $entity); if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { $sql .= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is disable } - $sql .= " ORDER BY r.module, r.id"; + $sql .= " ORDER BY r.family_position, r.module_position, r.module, r.id"; $result = $db->query($sql); if ($result) { @@ -265,13 +278,16 @@ if ($object->id > 0) { while ($i < $num) { $obj = $db->fetch_object($result); - // If line is for a module that doe snot existe anymore (absent of includes/module), we ignore it + // If line is for a module that does not exist anymore (absent of includes/module), we ignore it if (empty($modules[$obj->module])) { $i++; continue; } - if ($oldmod <> $obj->module) { + $objMod = $modules[$obj->module]; + + // Break found, it's a new module to catch + if (isset($obj->module) && ($oldmod <> $obj->module)) { $oldmod = $obj->module; // Break detected, we get objMod @@ -286,21 +302,22 @@ if ($object->id > 0) { print ''; if ($caneditperms) { print ''; } else { print ''; } - print ''; + print ''; + print ''; // Permission id if ($user->admin) { print ''; } - print ''; + print ''."\n"; } print ''."\n"; @@ -315,7 +332,7 @@ if ($object->id > 0) { if (in_array($obj->id, $permsgroupbyentity[$entity])) { // Own permission by group if ($caneditperms) { - print ''; @@ -326,7 +343,7 @@ if ($object->id > 0) { } else { // Do not own permission if ($caneditperms) { - print ''; @@ -336,7 +353,7 @@ if ($object->id > 0) { } else { // Do not own permission if ($caneditperms) { - print ''; @@ -344,12 +361,25 @@ if ($object->id > 0) { print ''; } - $permlabel = ($conf->global->MAIN_USE_ADVANCED_PERMS && ($langs->trans("PermissionAdvanced".$obj->id) != ("PermissionAdvanced".$obj->id)) ? $langs->trans("PermissionAdvanced".$obj->id) : (($langs->trans("Permission".$obj->id) != ("Permission".$obj->id)) ? $langs->trans("Permission".$obj->id) : $langs->trans($obj->label))); - print ''; + // Description of permission + $permlabel = (!empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ($langs->trans("PermissionAdvanced".$obj->id) != ("PermissionAdvanced".$obj->id)) ? $langs->trans("PermissionAdvanced".$obj->id) : (($langs->trans("Permission".$obj->id) != ("Permission".$obj->id)) ? $langs->trans("Permission".$obj->id) : $langs->trans($obj->label))); + print ''; // Permission id if ($user->admin) { - print ''; + print ''; } print ''."\n"; diff --git a/htdocs/user/hierarchy.php b/htdocs/user/hierarchy.php index 6073ca4c88f..0413fda69b0 100644 --- a/htdocs/user/hierarchy.php +++ b/htdocs/user/hierarchy.php @@ -42,9 +42,11 @@ if ($user->socid > 0) { $socid = $user->socid; } -$sall = trim((GETPOST('search_all', 'alphanohtml') != '') ?GETPOST('search_all', 'alphanohtml') : GETPOST('sall', 'alphanohtml')); -$search_user = GETPOST('search_user', 'alpha'); $optioncss = GETPOST('optioncss', 'alpha'); +$contextpage = GETPOST('optioncss', 'aZ09'); +$sortfield = GETPOST('sortfield', 'aZ09comma'); +$sortorder = GETPOST('sortorder', 'aZ09comma'); +$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); // Load mode employee $mode = GETPOST("mode", 'alpha'); @@ -94,7 +96,7 @@ if (!is_array($user_arbo) && $user_arbo < 0) { $data[] = array('rowid'=>0, 'fk_menu'=>-1, 'title'=>"racine", 'mainmenu'=>'', 'leftmenu'=>'', 'fk_mainmenu'=>'', 'fk_leftmenu'=>''); foreach ($fulltree as $key => $val) { $userstatic->id = $val['id']; - $userstatic->ref = $val['label']; + $userstatic->ref = $val['id']; $userstatic->login = $val['login']; $userstatic->firstname = $val['firstname']; $userstatic->lastname = $val['lastname']; @@ -146,6 +148,8 @@ if (!is_array($user_arbo) && $user_arbo < 0) { $newcardbutton = ''; $newcardbutton .= dolGetButtonTitle($langs->trans('NewUser'), '', 'fa fa-plus-circle', DOL_URL_ROOT.'/user/card.php?action=create'.($mode == 'employee' ? '&employee=1' : '').'&leftmenu=', '', $canadduser); + $morehtmlright = ''; + $morehtmlright .= dolGetButtonTitle($langs->trans("List"), '', 'fa fa-list paddingleft imgforviewmode', DOL_URL_ROOT.'/user/list.php'.(($search_statut != '' && $search_statut >= 0) ? '?search_statut='.$search_statut : '')); $param = array('morecss'=>'marginleftonly btnTitleSelected'); $morehtmlright .= dolGetButtonTitle($langs->trans("HierarchicView"), '', 'fa fa-stream paddingleft imgforviewmode', DOL_URL_ROOT.'/user/hierarchy.php'.(($search_statut != '' && $search_statut >= 0) ? '?search_statut='.$search_statut : ''), '', 1, $param); diff --git a/htdocs/user/notify/card.php b/htdocs/user/notify/card.php index 978c2d990b7..73c9d817ae8 100644 --- a/htdocs/user/notify/card.php +++ b/htdocs/user/notify/card.php @@ -226,13 +226,14 @@ if ($result > 0) { // List of notifications enabled for contacts $sql = "SELECT n.rowid, n.type,"; $sql .= " a.code, a.label,"; - $sql .= " c.rowid as userid, c.lastname, c.firstname, c.email"; + $sql .= " c.rowid as userid, c.entity, c.login, c.lastname, c.firstname, c.email, c.statut as status"; $sql .= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,"; $sql .= " ".MAIN_DB_PREFIX."notify_def as n,"; $sql .= " ".MAIN_DB_PREFIX."user c"; $sql .= " WHERE a.rowid = n.fk_action"; $sql .= " AND c.rowid = n.fk_user"; $sql .= " AND c.rowid = ".$object->id; + $sql .= " AND c.entity IN (".getEntity('user').')'; $resql = $db->query($sql); if ($resql) { @@ -311,6 +312,9 @@ if ($result > 0) { $userstatic->id = $obj->userid; $userstatic->lastname = $obj->lastname; $userstatic->firstname = $obj->firstname; + $userstatic->email = $obj->email; + $userstatic->statut = $obj->status; + print ''; print ''; diff --git a/htdocs/user/passwordforgotten.php b/htdocs/user/passwordforgotten.php index cb149f1e481..32fa93cb8a6 100644 --- a/htdocs/user/passwordforgotten.php +++ b/htdocs/user/passwordforgotten.php @@ -87,14 +87,14 @@ if (empty($reshook)) { // Validate new password if ($action == 'validatenewpassword' && $username && $passworduidhash) { $edituser = new User($db); - $result = $edituser->fetch('', $_GET["username"]); + $result = $edituser->fetch('', $username); if ($result < 0) { $message = '
'.dol_escape_htmltag($langs->trans("ErrorLoginDoesNotExists", $username)).'
'; } else { global $dolibarr_main_instance_unique_id; //print $edituser->pass_temp.'-'.$edituser->id.'-'.$dolibarr_main_instance_unique_id.' '.$passworduidhash; - if (dol_verifyHash($edituser->pass_temp.'-'.$edituser->id.'-'.$dolibarr_main_instance_unique_id, $passworduidhash)) { + if ($edituser->pass_temp && dol_verifyHash($edituser->pass_temp.'-'.$edituser->id.'-'.$dolibarr_main_instance_unique_id, $passworduidhash)) { // Clear session unset($_SESSION['dol_login']); $_SESSION['dol_loginmesg'] = $langs->trans('NewPasswordValidated'); // Save message for the session page @@ -128,7 +128,7 @@ if (empty($reshook)) { } if ($result <= 0 && $edituser->error == 'USERNOTFOUND') { - $message = ''; // Permission and tick @@ -407,7 +407,7 @@ if ($result) { print ''; - } elseif (is_array($permsgroupbyentity[$entity])) { + } elseif (isset($permsgroupbyentity[$entity]) && is_array($permsgroupbyentity[$entity])) { if (in_array($obj->id, $permsgroupbyentity[$entity])) { // Permission granted by group if ($caneditperms) { print '
'.$langs->trans("Module").''; - print ''.$langs->trans("All").""; + print ''.$langs->trans("All").""; print '/'; - print ''.$langs->trans("None").""; + print ''.$langs->trans("None").""; print ' '.$langs->trans("Permissions").''.$langs->trans("ID").'
'; - print 'module.'">'.$langs->trans("All").""; + print 'module.'&token='.newToken().'">'.$langs->trans("All").""; print '/'; - print 'module.'">'.$langs->trans("None").""; + print 'module.'&token='.newToken().'">'.$langs->trans("None").""; print '    
id.'">'; + print 'id.'&confirm=yes&token='.newToken().'">'; //print img_edit_remove($langs->trans("Remove")); print img_picto($langs->trans("Remove"), 'switch_on'); print 'id.'">'; + print 'id.'&confirm=yes&token='.newToken().'">'; //print img_edit_add($langs->trans("Add")); print img_picto($langs->trans("Add"), 'switch_off'); print 'id.'">'; + print 'id.'&confirm=yes&token='.newToken().'">'; //print img_edit_add($langs->trans("Add")); print img_picto($langs->trans("Add"), 'switch_off'); print ' '.$permlabel.''; + print $permlabel; + if (!empty($conf->global->MAIN_USE_ADVANCED_PERMS)) { + if (preg_match('/_advance$/', $obj->perms)) { + print ' ('.$langs->trans("AdvancedModeOnly").')'; + } + } + print ''.$obj->id.''; + $htmltext = $langs->trans("ID").': '.$obj->id; + $htmltext .= '
'.$langs->trans("Permission").': user->rights->'.$obj->module.'->'.$obj->perms.($obj->subperms ? '->'.$obj->subperms : ''); + print $form->textwithpicto('', $htmltext); + //print ''.$obj->id.''; + print '
'.$userstatic->getNomUrl(1); if ($obj->type == 'email') { if (isValidEmail($obj->email)) { @@ -437,7 +441,7 @@ if ($result > 0) { } print '
'; - if ($optioncss != '') { + if (isset($optioncss) && $optioncss != '') { print ''; } print ''; diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index b492e31177f..72f9b075be9 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -370,10 +370,12 @@ if ($action == 'edit') { print empty($dolibarr_main_demo) ? '' : ' disabled="disabled"'; // Disabled for demo print '> '.$langs->trans("UsePersonalValue").'
'; - if (!empty($tmparray[$object->conf->MAIN_LANDING_PAGE])) { - print $langs->trans($tmparray[$object->conf->MAIN_LANDING_PAGE]); - } else { - print $object->conf->MAIN_LANDING_PAGE; + if (!empty($object->conf->MAIN_LANDING_PAGE)) { + if (!empty($tmparray[$object->conf->MAIN_LANDING_PAGE])) { + print $langs->trans($tmparray[$object->conf->MAIN_LANDING_PAGE]); + } else { + print $object->conf->MAIN_LANDING_PAGE; + } } //print $form->selectarray('MAIN_LANDING_PAGE', $tmparray, (! empty($object->conf->MAIN_LANDING_PAGE)?$object->conf->MAIN_LANDING_PAGE:''), 0, 0, 0, '', 1); print '
'; - //print img_object('', $picto, 'class="pictoobjectwidth"').' '.$objMod->getName(); + //print img_object('', $picto, 'class="inline-block pictoobjectwidth"').' '.$objMod->getName(); print ''; print img_picto($langs->trans("Active"), 'tick'); print ''; diff --git a/htdocs/variants/combinations.php b/htdocs/variants/combinations.php index 0d9de5d857f..c29fc519258 100644 --- a/htdocs/variants/combinations.php +++ b/htdocs/variants/combinations.php @@ -30,10 +30,13 @@ $langs->loadLangs(array("products", "other")); $id = GETPOST('id', 'int'); $valueid = GETPOST('valueid', 'int'); $ref = GETPOST('ref', 'alpha'); -$weight_impact = GETPOST('weight_impact', 'alpha'); -$price_impact = GETPOST('price_impact', 'alpha'); +$weight_impact = price2num(GETPOST('weight_impact', 'alpha'), 2); $price_impact_percent = (bool) GETPOST('price_impact_percent'); - +if ($price_impact_percent) { + $price_impact = price2num(GETPOST('price_impact', 'alpha'), 2); +} else { + $price_impact = price2num(GETPOST('price_impact', 'alpha'), 'MU'); +} $level_price_impact = GETPOST('level_price_impact', 'array'); $level_price_impact_percent = GETPOST('level_price_impact_percent', 'array'); diff --git a/htdocs/variants/list.php b/htdocs/variants/list.php index dcf4fdcdb43..ecb42ba25e2 100644 --- a/htdocs/variants/list.php +++ b/htdocs/variants/list.php @@ -16,8 +16,8 @@ */ require '../main.inc.php'; -require DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -require DOL_DOCUMENT_ROOT.'/variants/class/ProductAttribute.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/variants/class/ProductAttribute.class.php'; $action = GETPOST('action', 'aZ09'); $object = new ProductAttribute($db); diff --git a/htdocs/viewimage.php b/htdocs/viewimage.php index e01bad39d77..9c584f5b8bb 100644 --- a/htdocs/viewimage.php +++ b/htdocs/viewimage.php @@ -282,10 +282,14 @@ if (preg_match('/\.\./', $fullpath_original_file) || preg_match('/[<>|]/', $full if ($modulepart == 'barcode') { - $generator = GETPOST("generator", "alpha"); - $code = GETPOST("code", 'none'); // This can be rich content (qrcode, datamatrix, ...) - $encoding = GETPOST("encoding", "alpha"); - $readable = GETPOST("readable", 'alpha') ?GETPOST("readable", "alpha") : "Y"; + $generator = GETPOST("generator", "aZ09"); + $encoding = GETPOST("encoding", "aZ09"); + $readable = GETPOST("readable", 'aZ09') ? GETPOST("readable", "aZ09") : "Y"; + if (in_array($encoding, array('EAN8', 'EAN13'))) { + $code = GETPOST("code", 'alphanohtml'); + } else { + $code = GETPOST("code", 'none'); // This can be rich content (qrcode, datamatrix, ...) + } if (empty($generator) || empty($encoding)) { print 'Error: Parameter "generator" or "encoding" not defined'; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index aa2b357a794..23be98a3b8c 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -2326,7 +2326,7 @@ if ($action == 'generatesitemaps' && $usercanedit) { $domainname = $objp->virtualhost; } if (! preg_match('/^http/i', $domainname)) { - $domainname .= 'https://'.$domainname; + $domainname = 'https://'.$domainname; } //$pathofpage = $dolibarr_main_url_root.'/'.$pageurl.'.php'; diff --git a/htdocs/website/samples/wrapper.php b/htdocs/website/samples/wrapper.php index 4802755608f..34f6db8d044 100644 --- a/htdocs/website/samples/wrapper.php +++ b/htdocs/website/samples/wrapper.php @@ -226,9 +226,9 @@ if ($rss) { // Find the subdirectory name as the reference include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $check_access = dol_check_secure_access_document($modulepart, $original_file, $entity, $refname); - $accessallowed = $check_access['accessallowed']; - $sqlprotectagainstexternals = $check_access['sqlprotectagainstexternals']; - $fullpath_original_file = $check_access['original_file']; // $fullpath_original_file is now a full path name + $accessallowed = empty($check_access['accessallowed']) ? '' : $check_access['accessallowed']; + $sqlprotectagainstexternals = empty($check_access['sqlprotectagainstexternals']) ? '' : $check_access['sqlprotectagainstexternals']; + $fullpath_original_file = empty($check_access['original_file']) ? '' : $check_access['original_file']; // $fullpath_original_file is now a full path name if ($hashp) { $accessallowed = 1; // When using hashp, link is public so we force $accessallowed $sqlprotectagainstexternals = ''; diff --git a/htdocs/workstation/workstation_list.php b/htdocs/workstation/workstation_list.php index fda05400421..d305e0c2c33 100755 --- a/htdocs/workstation/workstation_list.php +++ b/htdocs/workstation/workstation_list.php @@ -254,7 +254,7 @@ foreach ($search as $key => $val) { } $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0); if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) { - if ($search[$key] == '-1' || $search[$key] === '0') { + if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) { $search[$key] = ''; } $mode_search = 2; @@ -264,10 +264,10 @@ foreach ($search as $key => $val) { } } else { if (preg_match('/(_dtstart|_dtend)$/', $key) && $search[$key] != '') { - $columnName=preg_replace('/(_dtstart|_dtend)$/', '', $key); + $columnName = preg_replace('/(_dtstart|_dtend)$/', '', $key); if (preg_match('/^(date|timestamp|datetime)/', $object->fields[$columnName]['type'])) { if (preg_match('/_dtstart$/', $key)) { - $sql .= " AND t." . $columnName . " >= '" . $db->idate($search[$key]) . "'"; + $sql .= " AND t.".$columnName." >= '".$db->idate($search[$key])."'"; } if (preg_match('/_dtend$/', $key)) { $sql .= " AND t." . $columnName . " <= '" . $db->idate($search[$key]) . "'"; diff --git a/htdocs/workstation/workstation_note.php b/htdocs/workstation/workstation_note.php index 18fa87b5ea6..7e1b765bf82 100755 --- a/htdocs/workstation/workstation_note.php +++ b/htdocs/workstation/workstation_note.php @@ -68,8 +68,13 @@ restrictedArea($user, $object->element, $object->id, $object->table_element, 'wo /* * Actions */ - -include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +$reshook = $hookmanager->executeHooks('doActions', array(), $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) { + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); +} +if (empty($reshook)) { + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once +} /* diff --git a/scripts/accountancy/export-thirdpartyaccount.php b/scripts/accountancy/export-thirdpartyaccount.php index 6df1f5ca4b8..46dd481566d 100755 --- a/scripts/accountancy/export-thirdpartyaccount.php +++ b/scripts/accountancy/export-thirdpartyaccount.php @@ -96,9 +96,12 @@ if (empty($date_start) || empty($date_end)) { // We define date_start and date_e $date_start = dol_get_first_day($year_start, 10, false); $date_end = dol_get_last_day($year_start, 12, false); } -} else { } +/* + * Main + */ + llxHeader(); $form = new Form($db); @@ -186,9 +189,6 @@ if ($resql) { $i++; } - /* - * View - */ $thirdpartystatic = new Societe($db); diff --git a/scripts/company/sync_contacts_dolibarr2ldap.php b/scripts/company/sync_contacts_dolibarr2ldap.php index 53ec46ddcd8..e161a813ec7 100755 --- a/scripts/company/sync_contacts_dolibarr2ldap.php +++ b/scripts/company/sync_contacts_dolibarr2ldap.php @@ -69,6 +69,11 @@ foreach ($argv as $key => $val) { $now = $argv[1]; +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + print "Mails sending disabled (useless in batch mode)\n"; $conf->global->MAIN_DISABLE_ALL_MAILS = 1; // On bloque les mails print "\n"; diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 80f586a6788..a4e015745ca 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -108,6 +108,11 @@ if ($key != $conf->global->CRON_KEY) { exit(-1); } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-only mode\n"; + exit(-1); +} + // If param userlogin is reserved word 'firstadmin' if ($userlogin == 'firstadmin') { $sql = 'SELECT login, entity from '.MAIN_DB_PREFIX.'user WHERE admin = 1 and statut = 1 ORDER BY entity LIMIT 1'; diff --git a/scripts/emailings/mailing-send.php b/scripts/emailings/mailing-send.php index 0d59a1b5db5..876895d7c87 100755 --- a/scripts/emailings/mailing-send.php +++ b/scripts/emailings/mailing-send.php @@ -86,6 +86,11 @@ if (!empty($conf->global->MAILING_DELAY)) { if ($conf->global->MAILING_LIMIT_SENDBYCLI == '-1') { } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-only mode\n"; + exit(-1); +} + $user = new User($db); // for signature, we use user send as parameter if (!empty($login)) { diff --git a/scripts/emailings/reset-invalid-emails.php b/scripts/emailings/reset-invalid-emails.php index 6eb31abe995..0e7fdb4e6bf 100755 --- a/scripts/emailings/reset-invalid-emails.php +++ b/scripts/emailings/reset-invalid-emails.php @@ -57,6 +57,7 @@ require_once DOL_DOCUMENT_ROOT."/comm/mailing/class/mailing.class.php"; $version = DOL_VERSION; $error = 0; + /* * Main */ @@ -71,6 +72,11 @@ if (!in_array($type, array('all', 'thirdparties', 'contacts', 'users', 'members' exit(-1); } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $db->begin(); diff --git a/scripts/invoices/email_unpaid_invoices_to_customers.php b/scripts/invoices/email_unpaid_invoices_to_customers.php index 41c84ee4d41..4657c16bd65 100755 --- a/scripts/invoices/email_unpaid_invoices_to_customers.php +++ b/scripts/invoices/email_unpaid_invoices_to_customers.php @@ -80,6 +80,11 @@ if ($mode != 'confirm') { $conf->global->MAIN_DISABLE_ALL_MAILS = 1; } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $sql = "SELECT f.ref, f.total_ttc, f.date_lim_reglement as due_date,"; $sql .= " s.rowid as sid, s.nom as name, s.email, s.default_lang"; if ($targettype == 'contacts') { diff --git a/scripts/invoices/email_unpaid_invoices_to_representatives.php b/scripts/invoices/email_unpaid_invoices_to_representatives.php index 3cc9ad1a0eb..606ac32ca66 100755 --- a/scripts/invoices/email_unpaid_invoices_to_representatives.php +++ b/scripts/invoices/email_unpaid_invoices_to_representatives.php @@ -76,6 +76,11 @@ if ($mode != 'confirm') { $conf->global->MAIN_DISABLE_ALL_MAILS = 1; } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $sql = "SELECT f.ref, f.total_ttc, f.date_lim_reglement as due_date, s.nom as name, s.email, s.default_lang,"; $sql .= " u.rowid as uid, u.lastname, u.firstname, u.email, u.lang"; $sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; diff --git a/scripts/invoices/rebuild_merge_pdf.php b/scripts/invoices/rebuild_merge_pdf.php index 309de5fe4bd..b19398eda50 100755 --- a/scripts/invoices/rebuild_merge_pdf.php +++ b/scripts/invoices/rebuild_merge_pdf.php @@ -52,6 +52,7 @@ $langs->load("main"); $version = DOL_VERSION; $error = 0; + /* * Main */ @@ -66,6 +67,11 @@ if (!isset($argv[1])) { exit(-1); } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $diroutputpdf = $conf->facture->dir_output.'/temp'; $newlangid = 'en_EN'; // To force a new lang id $filter = array(); diff --git a/scripts/members/sync_members_dolibarr2ldap.php b/scripts/members/sync_members_dolibarr2ldap.php index 4ecbe2e9b08..66c245cf3eb 100755 --- a/scripts/members/sync_members_dolibarr2ldap.php +++ b/scripts/members/sync_members_dolibarr2ldap.php @@ -68,6 +68,11 @@ foreach ($argv as $key => $val) { } } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $now = $argv[1]; print "Mails sending disabled (useless in batch mode)\n"; diff --git a/scripts/members/sync_members_ldap2dolibarr.php b/scripts/members/sync_members_ldap2dolibarr.php index be312ec1932..b40a267d62e 100755 --- a/scripts/members/sync_members_ldap2dolibarr.php +++ b/scripts/members/sync_members_ldap2dolibarr.php @@ -146,6 +146,11 @@ if ($typeid <= 0) { exit(-2); } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + if (!$confirmed) { print "Hit Enter to continue or CTRL+C to stop...\n"; $input = trim(fgets(STDIN)); diff --git a/scripts/members/sync_members_types_dolibarr2ldap.php b/scripts/members/sync_members_types_dolibarr2ldap.php index cec998abda5..3d592673296 100755 --- a/scripts/members/sync_members_types_dolibarr2ldap.php +++ b/scripts/members/sync_members_types_dolibarr2ldap.php @@ -70,6 +70,12 @@ dol_syslog($script_file." launched with arg ".join(',', $argv)); * } */ +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + + $sql = "SELECT rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."adherent_type"; diff --git a/scripts/members/sync_members_types_ldap2dolibarr.php b/scripts/members/sync_members_types_ldap2dolibarr.php index 9aea20fb209..12a83633725 100755 --- a/scripts/members/sync_members_types_ldap2dolibarr.php +++ b/scripts/members/sync_members_types_ldap2dolibarr.php @@ -88,6 +88,11 @@ foreach ($argv as $key => $val) { } } +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + print "Mails sending disabled (useless in batch mode)\n"; $conf->global->MAIN_DISABLE_ALL_MAILS = 1; // On bloque les mails print "\n"; diff --git a/scripts/website/migrate-news-joomla2dolibarr.php b/scripts/website/migrate-news-joomla2dolibarr.php index 605f982bd16..bb02274a6a3 100755 --- a/scripts/website/migrate-news-joomla2dolibarr.php +++ b/scripts/website/migrate-news-joomla2dolibarr.php @@ -63,8 +63,18 @@ include_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php'; include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php'; include_once DOL_DOCUMENT_ROOT.'/core/lib/website2.lib.php'; + +/* + * Main + */ + $langs->load('main'); +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $joomlaserverinfoarray = preg_split('/(:|@|\/)/', $joomlaserverinfo); $joomlalogin = $joomlaserverinfoarray[0]; $joomlapass = $joomlaserverinfoarray[1]; diff --git a/scripts/website/regenerate-pages.php b/scripts/website/regenerate-pages.php index 46b9283a4cf..b37e17bf78a 100755 --- a/scripts/website/regenerate-pages.php +++ b/scripts/website/regenerate-pages.php @@ -58,8 +58,18 @@ include_once DOL_DOCUMENT_ROOT.'/website/class/website.class.php'; include_once DOL_DOCUMENT_ROOT.'/website/class/websitepage.class.php'; include_once DOL_DOCUMENT_ROOT.'/core/lib/website2.lib.php'; + +/* + * Main + */ + $langs->load('main'); +if (!empty($dolibarr_main_db_readonly)) { + print "Error: instance in read-onyl mode\n"; + exit(-1); +} + $website = new Website($db); $result = $website->fetch(0, $websiteref); if ($result <= 0) { diff --git a/test/README b/test/README index 012d8cf44e2..5c18fe96506 100644 --- a/test/README +++ b/test/README @@ -30,11 +30,19 @@ If not using Eclipse, to install PHPUnit manually: > sudo pear upgrade-all > sudo pear install --alldeps phpunit/PHPUnit + * Run Unit tests: > cd test/phpunit > phpunit MyFileTest.php If using Eclipse, select the test and click on menu "Run external tools and choose PHPUnit". +* Example to run phpunit 7.0 from composer using php version 8.0: +> cd ~/tmp +> composer -i phpunit +> cd test/phpunit +> /usr/bin/php8.0 ~/tmp/htdocs/includes/phpunit/phpunit/phpunit MyFileTest.php + + * Generate a report of Unit tests code coverage done by one tested class: > cd test > phpunit -d memory_limit=-1 -d max_input_time=1800 -d max_execution_time=1800 --configuration ./phpunit/phpunittest.xml --coverage-html ./report ./report/logs/phpunit.xml phpunit/MyClassTest.php diff --git a/test/phpunit/FormAdminTest.php b/test/phpunit/FormAdminTest.php index 79019e1e7ed..7217f3b57e2 100644 --- a/test/phpunit/FormAdminTest.php +++ b/test/phpunit/FormAdminTest.php @@ -139,7 +139,7 @@ class FormAdminTest extends PHPUnit\Framework\TestCase $db=$this->savdb; $localobject=new FormAdmin($this->savdb); - $result=$localobject->select_paper_format('', 'paperformat_id', 'A4'); + $result=$localobject->select_paper_format('', 'paperformat_id', 'A4', 0, 1); $this->assertEquals($result, ''); print __METHOD__." result=".$result."\n"; diff --git a/test/phpunit/HolidayTest.php b/test/phpunit/HolidayTest.php index 418b81f8b41..4fbd57c212b 100644 --- a/test/phpunit/HolidayTest.php +++ b/test/phpunit/HolidayTest.php @@ -366,6 +366,6 @@ class HolidayTest extends PHPUnit\Framework\TestCase $localobjecta->updateConfCP('lastUpdate', '20100101120000'); $result = $localobjecta->updateBalance(); - $this->assertEquals($result, 1); + $this->assertEquals($result, 0); } } diff --git a/test/phpunit/ModulesTest.php b/test/phpunit/ModulesTest.php index 79e3013ae11..8fd67576a7e 100644 --- a/test/phpunit/ModulesTest.php +++ b/test/phpunit/ModulesTest.php @@ -136,13 +136,16 @@ class ModulesTest extends PHPUnit\Framework\TestCase $langs=$this->savlangs; $db=$this->savdb; - $modulelist=array('Accounting','Adherent','Agenda','Api','Asset','Banque','Barcode','BlockedLog','Bookmark', - 'CashDesk','Categorie','ClickToDial','Collab','Commande','Comptabilite','Contrat','Cron','DataPolicy','Dav','Deplacement','DocumentGeneration','Don','DynamicPrices', - 'ECM','EmailCollector','Expedition','ExpenseReport','Export','ExternalRss','ExternalSite', - 'Facture','Fckeditor','Ficheinter','Fournisseur','FTP','GeoIPMaxmind','Gravatar','Holiday','HRM','Import','Incoterm','Label','Ldap','Loan', - 'Mailing','MailmanSpip','Margin','ModuleBuilder','MultiCurrency', - 'Notification','Oauth','OpenSurvey','Paybox','Paypal','Prelevement','Printing','Product','ProductBatch','Projet','Propale','ReceiptPrinter','Resource', - 'Salaries','Service','SocialNetworks','Societe','Stock','Stripe','SupplierProposal','Syslog','TakePos','Tax','Ticket','User','Variants','WebServices','WebServicesClient','Website','Workflow'); + $modulelist=array('Accounting','Adherent','Agenda','Api','Asset','Banque','Barcode','BlockedLog','Bom','Bookmark', + 'Categorie','ClickToDial','Collab','Commande','Comptabilite','Contrat','Cron','DataPolicy','Dav','DebugBar','Deplacement','DocumentGeneration','Don','DynamicPrices', + 'ECM','EmailCollector','EventOrganization','Expedition','ExpenseReport','Export','ExternalRss','ExternalSite', + 'Facture','Fckeditor','Ficheinter','Fournisseur','FTP','GeoIPMaxmind','Gravatar','Holiday','HRM','Import','Incoterm','Intracommreport', + 'KnowledgeManagement','Label','Ldap','Loan', + 'Mailing','MailmanSpip','Margin','ModuleBuilder','Mrp','MultiCurrency', + 'Notification','Oauth','OpenSurvey','Paybox','PaymentByBankTransfer','Paypal','Prelevement','Printing','Product','ProductBatch','Projet','Propale', + 'ReceiptPrinter','Reception','Recruitment','Resource', + 'Salaries','Service','SocialNetworks','Societe','Stock','Stripe','SupplierProposal','Syslog', + 'TakePos','Tax','Ticket','User','Variants','WebServices','WebServicesClient','Website','Workflow','Workstation','Zapier'); foreach ($modulelist as $modlabel) { require_once DOL_DOCUMENT_ROOT.'/core/modules/mod'.$modlabel.'.class.php'; $class='mod'.$modlabel; diff --git a/test/phpunit/SecurityTest.php b/test/phpunit/SecurityTest.php index 08d4ec88703..44b391148f5 100644 --- a/test/phpunit/SecurityTest.php +++ b/test/phpunit/SecurityTest.php @@ -321,6 +321,10 @@ class SecurityTest extends PHPUnit\Framework\TestCase $test="XSS"; $result=testSqlAndScriptInject($test, 0); $this->assertGreaterThanOrEqual($expectedresult, $result, 'Error on testSqlAndScriptInject lll'); + + $test="Text with ' encoded with the numeric html entity converted into text entity ' (like when submited by CKEditor)"; + $result=testSqlAndScriptInject($test, 0); // result must be 0 + $this->assertEquals(0, $result, 'Error on testSqlAndScriptInject mmm'); } /** @@ -336,6 +340,10 @@ class SecurityTest extends PHPUnit\Framework\TestCase $langs=$this->savlangs; $db=$this->savdb; + // Force default mode + $conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML = 0; + $conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES = 0; + $_COOKIE["id"]=111; $_GET["param1"]="222"; $_POST["param1"]="333"; @@ -358,6 +366,8 @@ class SecurityTest extends PHPUnit\Framework\TestCase $_POST["param12"]='aaa'; $_POST["param13"]='n n > < " XSS'; $_POST["param13b"]='n n > < " XSS'; + $_POST["param14"]="Text with ' encoded with the numeric html entity converted into text entity ' (like when submited by CKEditor)"; + $_POST["param15"]=" src=>0xbeefed"; //$_POST["param13"]='javascript%26colon%26%23x3B%3Balert(1)'; //$_POST["param14"]='javascripT&javascript#x3a alert(1)'; @@ -475,7 +485,7 @@ class SecurityTest extends PHPUnit\Framework\TestCase // Test with restricthtml we must remove html open/close tag and content but not htmlentities (we can decode html entities for ascii chars like n) $result=GETPOST("param6", 'restricthtml'); - print __METHOD__." result=".$result."\n"; + print __METHOD__." result param6=".$result."\n"; $this->assertEquals('">', $result); $result=GETPOST("param7", 'restricthtml'); @@ -494,6 +504,33 @@ class SecurityTest extends PHPUnit\Framework\TestCase print __METHOD__." result=".$result."\n"; $this->assertEquals('n n > < " XSS', $result, 'Test 13b that HTML entities are decoded with restricthtml, but only for common alpha chars'); + $result=GETPOST("param14", 'restricthtml'); + print __METHOD__." result=".$result."\n"; + $this->assertEquals("Text with ' encoded with the numeric html entity converted into text entity ' (like when submited by CKEditor)", $result, 'Test 14'); + + $result=GETPOST("param15", 'restricthtml'); // src=>0xbeefed + print __METHOD__." result=".$result."\n"; + $this->assertEquals("0xbeefed", $result, 'Test 15a'); // The GETPOST return a harmull string + + // Test with restricthtml + MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES to test disabling of bad atrributes + $conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML = 1; + + $result=GETPOST("param15", 'restricthtml'); + print __METHOD__." result=".$result."\n"; + $this->assertEquals('InvalidHTMLString', $result, 'Test 15b'); + + unset($conf->global->MAIN_RESTRICTHTML_ONLY_VALID_HTML); + + // Test with restricthtml + MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES to test disabling of bad atrributes + $conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES = 1; + + $result=GETPOST("param15", 'restricthtml'); + print __METHOD__." result=".$result."\n"; + $this->assertEquals('0xbeefed', $result, 'Test 15b'); + + unset($conf->global->MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES); + + // Special test for GETPOST of backtopage, backtolist or backtourl parameter $_POST["backtopage"]='//www.google.com'; @@ -789,8 +826,8 @@ class SecurityTest extends PHPUnit\Framework\TestCase $result=dol_sanitizeFileName('bad file | evilaction'); $this->assertEquals('bad file _ evilaction', $result); - $result=dol_sanitizeFileName('bad file --evilparam'); - $this->assertEquals('bad file _evilparam', $result); + $result=dol_sanitizeFileName('bad file -evilparam --evilparam ---evilparam ----evilparam'); + $this->assertEquals('bad file _evilparam _evilparam _evilparam _evilparam', $result); } /** diff --git a/test/phpunit/imap_header.txt b/test/phpunit/imap_header.txt new file mode 100644 index 00000000000..5891c66a3da --- /dev/null +++ b/test/phpunit/imap_header.txt @@ -0,0 +1,75 @@ +Delivered-To: testldrdev@gmail.com +Received: by 2002:ab3:5782:0:0:0:0:0 with SMTP id e2csp698208ltc; Thu, 15 Jul + 2021 13:49:41 -0700 (PDT) +X-Received: by 2002:a63:eb51:: with SMTP id b17mr490127pgk.288.1626382180943; + Thu, 15 Jul 2021 13:49:40 -0700 (PDT) +ARC-Seal: i=1; a=rsa-sha256; t=1626382180; cv=none; d=google.com; + s=arc-20160816; + b=rEpZkUN9MvFJ+8ckMD+urx6epAp5zUAICUiJjTY9yAAwmp54gZ9XYu/qoVgqVe5rAU + oayiqojPUzHArxaIlmftWyK4kF6ErAQxMZocn944kHeCGOigIB2y+u+ij3Ip4Vg6PW62 + 4cATlnRoDTpnckwrXHnOonzSEHunE2smZgtujdNJ/1p/vbmhByQl3Kg71NzCLzdE3nr6 + PYQNl/XbTL4BUpKBsbPCbJDNeNOqu/FHBI3R7Nfoy+HDY9LR+aYBR4N6jBQMKyKM32JJ + 2yrN9ky6N1n2xfvD4lnbqDyqvgWjmTGP+Dk+UAUeAj3YsS/hM2z41UA9xicPoC/B+Wft XWPQ== +ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; + s=arc-20160816; h=to:from:subject:message-id:feedback-id:date:mime-version + :dkim-signature; bh=jzUFV8bCmEmAeTpb8amH8O1QwkNos0xYlYqLtpP6SBc=; + b=cLnW/O5/vTbct4uiVIanDpvITsoy5pp8c0Cy3ZKppY1t2U0bCaedhyI9LkbwXU0ytU + i+qgnSrwydhnvY8Yy13KDUkVtjU9dxmQ/YDYBsLjS7WeFEy9OQkIqCR1czmUoUSEPbgr + d/tsVEPg/LwHW74WuG6vUVRidF9XBBQqQHR7ADCvo4DQKRURzpeDF4ggDceiWfhpYjbZ + Un//GKujM5WGfV7kkqfprw5UsVG8+pjbKdnTwsCKJ3htju9eYXANf4Odn/kjA5OjP3l3 + fuqCeus0fSyUw9T4DLe4knRxReOL+MfjQc65ATjFlOfl/9/CPauSFkmPrGKeUHi7m2bA rVCQ== +ARC-Authentication-Results: i=1; mx.google.com; dkim=pass + header.i=@accounts.google.com header.s=20161025 header.b=XOpeYXK3; spf=pass + (google.com: domain of + 3zj_wyagtcnmef-ivgcprttflekj.xffxcv.tfdkvjkcuiuvmxdrzc.tfd@gaia.bounces.google.com + designates 209.85.220.73 as permitted sender) + smtp.mailfrom=3ZJ_wYAgTCnMef-iVgcpRTTflekj.XffXcV.TfdkVjkcUiUVmXdRZc.Tfd@gaia.bounces.google.com; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=accounts.google.com +Return-Path: <3ZJ_wYAgTCnMef-iVgcpRTTflekj.XffXcV.TfdkVjkcUiUVmXdRZc.Tfd@gaia.bounces.google.com> +Received: from mail-sor-f73.google.com (mail-sor-f73.google.com. + [209.85.220.73]) by mx.google.com with SMTPS id + m24sor3147147pls.67.2021.07.15.13.49.40 for (Google + Transport Security); Thu, 15 Jul 2021 13:49:40 -0700 (PDT) +Received-SPF: pass (google.com: domain of + 3zj_wyagtcnmef-ivgcprttflekj.xffxcv.tfdkvjkcuiuvmxdrzc.tfd@gaia.bounces.google.com + designates 209.85.220.73 as permitted sender) client-ip=209.85.220.73; +Authentication-Results: mx.google.com; dkim=pass header.i=@accounts.google.com + header.s=20161025 header.b=XOpeYXK3; spf=pass (google.com: domain of + 3zj_wyagtcnmef-ivgcprttflekj.xffxcv.tfdkvjkcuiuvmxdrzc.tfd@gaia.bounces.google.com + designates 209.85.220.73 as permitted sender) + smtp.mailfrom=3ZJ_wYAgTCnMef-iVgcpRTTflekj.XffXcV.TfdkVjkcUiUVmXdRZc.Tfd@gaia.bounces.google.com; + dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=accounts.google.com +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=accounts.google.com; + s=20161025; h=mime-version:date:feedback-id:message-id:subject:from:to; + bh=jzUFV8bCmEmAeTpb8amH8O1QwkNos0xYlYqLtpP6SBc=; + b=XOpeYXK3QbrfDh9/pqAG7UruMxyCVah4Lj5tfBPHRh8C6AvzStTVsgRTFzPGuxB9cq + XRneLOf3kYKud2kkKMNShaG+/t65suM2MTo3q81Qvt9N6n8motuXmnLnNM7kVCaXM//s + BxZjiL4nXdjrQBF0N7wcns7xFS+J9pKZbfbm0BaUV32Kb7ef63PQHwhE+au4ytUynBqj + hxfA977RfwEXbFmUInVRJ6IJhMoygnx/Y10AccV0TuuLtnNKJIsPFv04SJcOclwaNJ3H + 69GSdpRSNJyqn7Rzm4va6l4Lxhjfjzm7+IVzMx717A5e8dLiLjxftCRS1F6EXTeYUvQ+ QcUQ== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; + s=20161025; + h=x-gm-message-state:mime-version:date:feedback-id:message-id:subject + :from:to; bh=jzUFV8bCmEmAeTpb8amH8O1QwkNos0xYlYqLtpP6SBc=; + b=uWWatGm2u/TYFa5pXhZCPJ59bmYVNEj9qv3Z5wiotMZ7pWc9mR0LYGgD99IjNs7E0G + hhv+GwtrMGft69VPG4GyUbmd7pm27G+ykFu2kLfB5lTRhZNjaqeLLkIS4KgbTlAsJJ7q + UNrIvPgpAksxnY79qtneThZOTI4o0s+V94A5T5p3/PN99YXq22RxE/aHCIpMIj/NyJeJ + RUGdEaiAjQXuG70ekiFAy2cePOI+WCFZEfYmq6vAJO4y285ID/ovjv4cpFIqTu3QFb/u + gdZFQriVXnKyZryLbjN1PlpK0772vsatNh5jC8GgOsJjSqJmZLNR5urtUlnRmTaJ8hoV F3lA== +X-Gm-Message-State: AOAM5338zSEHryX6TtcvwcYlbrnaMvleKLH9RhoGJaqMLvXSPlD7sWEt + pW5IuEivfKUIAHzbl8HeQWtM86OUvsPb26Z/ddNWtw== +X-Google-Smtp-Source: ABdhPJxfD6pBcAwUGMIoqNyPu3KT+9RON4ujFwzRhm3eCKUYxpRR+2hPoCLgdMzCE1TnOL7ShV3hLBEBAQzFtzZ6ue8glg== +MIME-Version: 1.0 +X-Received: by 2002:a17:902:ed82:b029:ef:48c8:128e with SMTP id + e2-20020a170902ed82b02900ef48c8128emr4950093plj.72.1626382180494; Thu, 15 Jul + 2021 13:49:40 -0700 (PDT) +Date: Thu, 15 Jul 2021 20:49:40 GMT +X-Account-Notification-Type: 46-anexp#nret-fa +Feedback-ID: 46-anexp#nret-fa:account-notifier +X-Notifications: 56c00ab9d6600000 +X-Notifications-Bounce-Info: ARgXy4C6Xm7P0JA65M5w_0EB-KbSHnYA8DuTVsZzaMJT7AktG4DWNKZC7qYb4FkrhakLBYzS11Hsoc4qaJocq__FbWMZwTVOmo9d1gWCxx2JMJOgcGQxMKdQ_UVnkuDZugVRr6nih0prpV8OI7Y0ijFI5KVo1M_9f-HXojR-v_jydOpt3lpHGJ-AIQ +Message-ID: +Subject: =?UTF-8?B?QWxlcnRlIGRlIHPDqWN1cml0w6k=?= +From: Google +To: testldrdev@gmail.com +Content-Type: multipart/alternative; boundary="000000000000232f0005c72f9c4b" diff --git a/test/phpunit/imap_htmlmsg.txt b/test/phpunit/imap_htmlmsg.txt new file mode 100644 index 00000000000..fe6eb0de8d3 --- /dev/null +++ b/test/phpunit/imap_htmlmsg.txt @@ -0,0 +1 @@ +
Clé de sécurité ajoutée pour la validation en deux étapes
testldrdev@gmail.com
Si vous n'avez pas ajouté de clé de sécurité, quelqu'un utilise peut-être votre compte. Vérifiez et sécurisez votre compte dès maintenant.
Vous pouvez aussi voir l'activité liée à la sécurité de votre compte ici :
https://myaccount.google.com/notifications
Cet e-mail vous a été envoyé pour vous informer de modifications importantes apportées à votre compte et aux services Google que vous utilisez.


\ No newline at end of file diff --git a/test/phpunit/imap_plaintext.txt b/test/phpunit/imap_plaintext.txt new file mode 100644 index 00000000000..33d44eb847c --- /dev/null +++ b/test/phpunit/imap_plaintext.txt @@ -0,0 +1 @@ +[image: Google] Clé de sécurité ajoutée pour la validation en deux étapes testldrdev@gmail.com Si vous n'avez pas ajouté de clé de sécurité, quelqu'un utilise peut-être votre compte. Vérifiez et sécurisez votre compte dès maintenant. Consulter l'activité Vous pouvez aussi voir l'activité liée à la sécurité de votre compte ici : https://myaccount.google.com/notifications Cet e-mail vous a été envoyé pour vous informer de modifications importantes apportées à votre compte et aux services Google que vous utilisez. © 2021 Google Ireland Ltd., Gordon House, Barrow Street, Dublin 4, Ireland \ No newline at end of file