Compare commits

...

122 Commits

Author SHA1 Message Date
Damiano Chintala
30c0174628 extended person attributes to employees 2021-07-26 00:23:32 +02:00
Damiano Chintala
ee4715f4da extended person attributes to suppliers 2021-07-26 00:23:32 +02:00
Damiano Chintala
0ac338d5c8 added person attributes on customers 2021-07-26 00:23:32 +02:00
Damiano Chintala
8c080930c9 added person attributes MVC structure 2021-07-26 00:23:32 +02:00
Damiano Chintala
4e51a13eb7 created person attributes migration 2021-07-26 00:23:32 +02:00
Jeroen Peelaerts
1547272665 Check username before employee creation (#3239) 2021-07-23 00:59:40 +02:00
Jeroen Peelaerts
8675aa82df Attribute value encoding fix (#3241) 2021-07-22 19:01:59 +02:00
gurulenin
5acafd4ea8 Translated using Weblate (Tamil)
Currently translated at 100.0% (29 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/ta/
2021-07-22 18:45:40 +02:00
gurulenin
2db50d69d0 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/ta/
2021-07-22 18:45:40 +02:00
Jeroen Peelaerts
c6d0582fcb Add category column to item summary report (#3240) 2021-07-21 23:22:53 +02:00
Emin Tufan Çetin
3fbfd8c917 Translated using Weblate (Turkish)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/tr/
2021-07-18 11:06:10 +02:00
Emin Tufan Çetin
c38fc60f6a Translated using Weblate (Turkish)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/tr/
2021-07-18 11:06:10 +02:00
Emin Tufan Çetin
346a34121f Translated using Weblate (Turkish)
Currently translated at 100.0% (77 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/tr/
2021-07-18 11:06:10 +02:00
Emin Tufan Çetin
9c9c2e8b81 Translated using Weblate (Turkish)
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/tr/
2021-07-18 11:06:09 +02:00
Emin Tufan Çetin
510a01e2b5 Translated using Weblate (Turkish)
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/tr/
2021-07-18 11:06:09 +02:00
Emin Tufan Çetin
93014dc4d8 Translated using Weblate (Turkish)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/tr/
2021-07-18 11:06:08 +02:00
Emin Tufan Çetin
294f63bd31 Translated using Weblate (Turkish)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/tr/
2021-07-18 11:06:08 +02:00
Emin Tufan Çetin
1b7531c7f4 Translated using Weblate (Turkish)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/tr/
2021-07-18 11:06:08 +02:00
Emin Tufan Çetin
6d1eeb3c62 Translated using Weblate (Turkish)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/tr/
2021-07-18 11:06:07 +02:00
Emin Tufan Çetin
3ada6f8372 Translated using Weblate (Turkish)
Currently translated at 100.0% (302 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/tr/
2021-07-18 11:06:07 +02:00
Emin Tufan Çetin
d15d001b5b Translated using Weblate (Turkish)
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/tr/
2021-07-18 11:06:06 +02:00
BudsieBuds
29d6138951 Translated using Weblate (Dutch)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl/
2021-07-17 04:55:34 +02:00
BudsieBuds
d6a4161416 Translated using Weblate (Dutch)
Currently translated at 96.1% (74 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/nl/
2021-07-17 04:55:34 +02:00
BudsieBuds
0604ad121b Translated using Weblate (Dutch)
Currently translated at 99.3% (300 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/nl/
2021-07-17 04:55:34 +02:00
teddy tang
ffdc8f0bd5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-15 06:59:54 +02:00
teddy tang
83d1194d0c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (77 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/zh_Hant/
2021-07-15 06:59:54 +02:00
gurulenin
e90b58f110 Translated using Weblate (Tamil)
Currently translated at 98.7% (76 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/ta/
2021-07-15 06:59:53 +02:00
gurulenin
bee3c7ede0 Translated using Weblate (Tamil)
Currently translated at 100.0% (139 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/ta/
2021-07-15 06:59:53 +02:00
gurulenin
bfc1c2e55e Translated using Weblate (Tamil)
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/ta/
2021-07-15 06:59:53 +02:00
teddy tang
8d0c5c6ee9 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (11 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/zh_Hant/
2021-07-15 06:59:53 +02:00
teddy tang
f87c90fdec Translated using Weblate (Chinese (Traditional))
Currently translated at 96.0% (290 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-15 06:59:52 +02:00
FrancescoUK
cb560949ac Translated using Weblate (English (United Kingdom))
Currently translated at 92.2% (71 of 77 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/en_GB/
2021-07-14 23:56:52 +02:00
FrancescoUK
4d5a2f15c2 Translated using Weblate (English (United Kingdom))
Currently translated at 54.5% (6 of 11 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/en_GB/
2021-07-14 23:56:52 +02:00
FrancescoUK
defb484640 Translated using Weblate (English (United Kingdom))
Currently translated at 98.6% (298 of 302 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/en_GB/
2021-07-14 23:56:52 +02:00
Jeroen Peelaerts
57fb2c98fa Move expenses categories to office menu group 2021-07-14 23:43:36 +02:00
Jeroen Peelaerts
c3bdff6fb4 Fix escape sequence in Polish 2021-07-14 15:50:34 +02:00
teddy tang
4ecfbc2398 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (78 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/zh_Hant/
2021-07-14 14:06:17 +02:00
gurulenin
41152a5b12 Translated using Weblate (Tamil)
Currently translated at 99.4% (179 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ta/
2021-07-14 14:06:17 +02:00
teddy tang
797ac4c9d4 Translated using Weblate (Chinese (Traditional))
Currently translated at 80.5% (240 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-14 14:06:17 +02:00
gurulenin
13be0a1b0c Translated using Weblate (Tamil)
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/ta/
2021-07-14 14:06:17 +02:00
gurulenin
b6ac9e5909 Translated using Weblate (Tamil)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/ta/
2021-07-14 14:06:17 +02:00
gurulenin
3debc57ca8 Translated using Weblate (Tamil)
Currently translated at 100.0% (298 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/ta/
2021-07-14 14:06:17 +02:00
teddy tang
fd1e942273 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (110 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-14 14:06:17 +02:00
gurulenin
c641b1762c Translated using Weblate (Tamil)
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/ta/
2021-07-14 14:06:17 +02:00
gurulenin
6ee8757b12 Translated using Weblate (Tamil)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/ta/
2021-07-14 14:06:17 +02:00
teddy tang
ee575b5109 Translated using Weblate (Chinese (Traditional))
Currently translated at 90.6% (126 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-14 14:06:17 +02:00
Jeroen Peelaerts
e11eba978f Sync language files 2021-07-14 08:35:04 +02:00
Jeroen Peelaerts
a4234a3129 Fix minification (#3213)
Upgrade grunt, grunt-cli and grunt-uglify

Only copy bootswatch 5 using npm.  Remove unused dependencies and tasks
(apigen, mocha, wd, phantomjs). This should decrease the container size.
2021-07-14 08:35:04 +02:00
BudsieBuds
ba8cb0ef86 Create codeql-analysis.yml 2021-07-14 08:35:04 +02:00
BudsieBuds
2eee6313e0 Converted login to BS5 and other changes
Converted the login view to Bootstrap and Bootswatch 5. Added an option to change the login form style. Shifted some translations around and added new ones. Partially moved from Bower to NPM, added new branding logo's. Some other small changes and optimizations.
2021-07-14 08:35:04 +02:00
Jeroen Peelaerts
95f19d6063 Force html2canvas version (#3236) 2021-07-14 00:18:00 +02:00
jacekz123
8a854d1912 Translated using Weblate (Polish)
Currently translated at 2.7% (1 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/pl/
2021-07-13 18:03:01 +02:00
jacekz123
80f8dd9b37 Translated using Weblate (Polish)
Currently translated at 2.5% (1 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/pl/
2021-07-13 18:03:00 +02:00
jacekz123
94e9d35314 Translated using Weblate (Polish)
Currently translated at 3.8% (2 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/pl/
2021-07-13 18:03:00 +02:00
jacekz123
8b5b4f9279 Translated using Weblate (Polish)
Currently translated at 5.5% (2 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/pl/
2021-07-13 18:03:00 +02:00
jacekz123
b3e4b72b30 Translated using Weblate (Polish)
Currently translated at 1.1% (2 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/pl/
2021-07-13 18:03:00 +02:00
jacekz123
ffd511bd06 Translated using Weblate (Polish)
Currently translated at 1.2% (1 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/pl/
2021-07-13 18:02:59 +02:00
jacekz123
393cee62aa Translated using Weblate (Polish)
Currently translated at 55.0% (11 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/pl/
2021-07-13 18:02:58 +02:00
jacekz123
870aad2d67 Translated using Weblate (Polish)
Currently translated at 12.5% (1 of 8 strings)

Translation: opensourcepos/bootstrap_tables
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/bootstrap_tables/pl/
2021-07-13 18:02:58 +02:00
jacekz123
789eb82940 Translated using Weblate (Polish)
Currently translated at 3.4% (1 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/pl/
2021-07-13 18:02:58 +02:00
jacekz123
89783bc190 Translated using Weblate (Polish)
Currently translated at 8.3% (1 of 12 strings)

Translation: opensourcepos/messages
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/messages/pl/
2021-07-13 18:02:57 +02:00
jacekz123
d11824ffd4 Translated using Weblate (Polish)
Currently translated at 1.9% (1 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/pl/
2021-07-13 18:02:57 +02:00
jacekz123
d0093253a1 Translated using Weblate (Polish)
Currently translated at 2.2% (1 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/pl/
2021-07-13 18:02:57 +02:00
jacekz123
1f7529baf9 Translated using Weblate (Polish)
Currently translated at 8.6% (12 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/pl/
2021-07-13 18:02:57 +02:00
jacekz123
feba68b08f Translated using Weblate (Polish)
Currently translated at 2.8% (1 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/pl/
2021-07-13 18:02:56 +02:00
jacekz123
37cf26b10a Translated using Weblate (Polish)
Currently translated at 12.5% (1 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/pl/
2021-07-13 18:02:56 +02:00
jacekz123
f80f3a9cab Translated using Weblate (Polish)
Currently translated at 4.7% (1 of 21 strings)

Translation: opensourcepos/suppliers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/suppliers/pl/
2021-07-13 18:02:55 +02:00
teddy tang
74a4bfac85 Translated using Weblate (Chinese (Traditional))
Currently translated at 74.1% (221 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-12 12:00:34 +02:00
teddy tang
fa347aa281 Translated using Weblate (Chinese (Traditional))
Currently translated at 88.1% (97 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-12 12:00:33 +02:00
teddy tang
c1f1e6306e Translated using Weblate (Chinese (Traditional))
Currently translated at 84.1% (117 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-12 12:00:32 +02:00
teddy tang
dc9d66f3de Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/zh_Hant/
2021-07-12 08:06:57 +02:00
teddy tang
a4f52b765c Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/zh_Hant/
2021-07-12 08:06:57 +02:00
teddy tang
e023b081c5 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (20 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
9c6f1e4429 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (2 of 2 strings)

Translation: opensourcepos/error
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/error/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
962a323694 Translated using Weblate (Chinese (Traditional))
Currently translated at 82.7% (91 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
49a99c68ff Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (180 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/zh_Hant/
2021-07-12 08:06:56 +02:00
teddy tang
44024b0929 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (68 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
4e52c2f036 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
37e757128b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
394bd671aa Translated using Weblate (Chinese (Traditional))
Currently translated at 73.4% (219 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-12 08:06:55 +02:00
teddy tang
d0b29d39bf Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (35 of 35 strings)

Translation: opensourcepos/employees
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/employees/zh_Hant/
2021-07-12 08:06:54 +02:00
teddy tang
eb970b2315 Translated using Weblate (Chinese (Traditional))
Currently translated at 77.6% (108 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-12 08:06:54 +02:00
teddy tang
c0c2001754 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/zh_Hant/
2021-07-12 08:06:54 +02:00
teddy tang
ec51bb3991 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/zh_Hant/
2021-07-12 08:06:53 +02:00
teddy tang
4ce569d76e Translated using Weblate (Chinese (Traditional))
Currently translated at 58.3% (21 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/zh_Hant/
2021-07-09 17:20:46 +02:00
teddy tang
c08e32d016 Translated using Weblate (Chinese (Traditional))
Currently translated at 66.6% (24 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/zh_Hant/
2021-07-09 17:20:46 +02:00
Ali Alsalman
8a495ffce6 Translated using Weblate (Arabic)
Currently translated at 98.8% (178 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/ar_LB/
2021-07-09 17:20:45 +02:00
teddy tang
ea1528f5b9 Translated using Weblate (Chinese (Traditional))
Currently translated at 90.0% (18 of 20 strings)

Translation: opensourcepos/datepicker
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/datepicker/zh_Hant/
2021-07-09 17:20:45 +02:00
teddy tang
e59dbdf47e Translated using Weblate (Chinese (Traditional))
Currently translated at 79.0% (87 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
0e29a7950a Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (7 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
3d32536292 Translated using Weblate (Chinese (Traditional))
Currently translated at 71.8% (214 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
be24044076 Translated using Weblate (Chinese (Traditional))
Currently translated at 98.5% (67 of 68 strings)

Translation: opensourcepos/giftcards
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/giftcards/zh_Hant/
2021-07-09 17:20:44 +02:00
teddy tang
3986aa8e0a Translated using Weblate (Chinese (Traditional))
Currently translated at 76.9% (107 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/zh_Hant/
2021-07-09 17:20:43 +02:00
teddy tang
d7e40cbe43 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (39 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/zh_Hant/
2021-07-09 17:20:42 +02:00
teddy tang
f61307d380 Translated using Weblate (Chinese (Traditional))
Currently translated at 82.0% (64 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/zh_Hant/
2021-07-09 17:20:42 +02:00
Ir. Anggun Nugroho, M.Kom
ebae2eab5d Translated using Weblate (Indonesian)
Currently translated at 99.0% (109 of 110 strings)

Translation: opensourcepos/items
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/items/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
795e030e07 Translated using Weblate (Indonesian)
Currently translated at 100.0% (72 of 72 strings)

Translation: opensourcepos/common
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/common/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
0a91c0009f Translated using Weblate (Indonesian)
Currently translated at 100.0% (36 of 36 strings)

Translation: opensourcepos/cashups
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/cashups/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
5cea9a7555 Translated using Weblate (Indonesian)
Currently translated at 98.0% (51 of 52 strings)

Translation: opensourcepos/customers
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/customers/id/
2021-07-08 00:27:05 +02:00
Ir. Anggun Nugroho, M.Kom
9838045683 Translated using Weblate (Indonesian)
Currently translated at 99.4% (179 of 180 strings)

Translation: opensourcepos/sales
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/sales/id/
2021-07-08 00:27:04 +02:00
Ir. Anggun Nugroho, M.Kom
e33c10e8c4 Translated using Weblate (Indonesian)
Currently translated at 87.5% (7 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/id/
2021-07-07 22:23:41 +02:00
Ir. Anggun Nugroho, M.Kom
d680b78e49 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: opensourcepos/receivings
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/receivings/id/
2021-07-07 22:01:53 +02:00
jeffyeh
4d7561d311 Translated using Weblate (Chinese (Traditional))
Currently translated at 66.6% (24 of 36 strings)

Translation: opensourcepos/item_kits
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/item_kits/zh_Hant/
2021-07-07 17:10:13 +02:00
jeffyeh
ad37b2cc24 Translated using Weblate (Chinese (Traditional))
Currently translated at 74.3% (29 of 39 strings)

Translation: opensourcepos/module
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/module/zh_Hant/
2021-07-07 17:10:13 +02:00
jeffyeh
562d760174 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (19 of 19 strings)

Translation: opensourcepos/expenses_categories
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses_categories/zh_Hant/
2021-07-07 17:10:13 +02:00
jeffyeh
3ea32e7444 Translated using Weblate (Chinese (Traditional))
Currently translated at 71.8% (214 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-07 17:10:12 +02:00
jeffyeh
2953cf47ed Translated using Weblate (Chinese (Traditional))
Currently translated at 28.5% (2 of 7 strings)

Translation: opensourcepos/enum
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/enum/zh_Hant/
2021-07-07 17:10:12 +02:00
jeffyeh
0066447fdb Translated using Weblate (Chinese (Traditional))
Currently translated at 63.7% (190 of 298 strings)

Translation: opensourcepos/config
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/config/zh_Hant/
2021-07-07 12:22:53 +02:00
jeffyeh
8af2466b20 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (44 of 44 strings)

Translation: opensourcepos/expenses
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/expenses/zh_Hant/
2021-07-07 12:22:52 +02:00
jeffyeh
fb7fd0fc38 Translated using Weblate (Chinese (Traditional))
Currently translated at 64.1% (50 of 78 strings)

Translation: opensourcepos/taxes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/taxes/zh_Hant/
2021-07-07 12:22:52 +02:00
William Levesque
52c08e9210 Translated using Weblate (French)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/fr/
2021-07-06 16:58:06 +02:00
William Levesque
f17388e755 Translated using Weblate (French)
Currently translated at 93.1% (27 of 29 strings)

Translation: opensourcepos/attributes
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/attributes/fr/
2021-07-06 16:58:06 +02:00
Jeroen Peelaerts
a39b3ec1bc Fallback to english if translations are missing (#3205) 2021-07-04 22:18:46 +02:00
Jeroen Peelaerts
ddc7215424 Make Dockerfile windows compatible 2021-07-04 22:18:46 +02:00
khao_lek
2e09cd31c2 Translated using Weblate (Thai)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/th/
2021-07-02 13:44:39 +02:00
Jeroen Peelaerts
7726adbd6f Revert compose container to 3.3.4 2021-06-29 22:33:02 +02:00
Ricardo Vargas
7bce75f5b6 Translated using Weblate (Spanish (Mexico))
Currently translated at 16.5% (23 of 139 strings)

Translation: opensourcepos/reports
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/reports/es_MX/
2021-06-21 13:23:12 +02:00
jekkos
ef612fb0c9 Update package.json 2021-06-12 11:35:14 +02:00
jekkos
107745d683 Update grunt to 1.4
A CVE was found in the old version of Grunt. Update to the latest.
2021-06-12 11:35:14 +02:00
Jeroen Peelaerts
1117c39c27 Upgrade node & grunt buildbox (#3208) 2021-06-12 10:34:52 +02:00
BudsieBuds
ae93341f75 Translated using Weblate (Dutch)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/nl/
2021-06-09 23:20:00 +02:00
BudsieBuds
d24624d1f6 Translated using Weblate (English)
Currently translated at 100.0% (8 of 8 strings)

Translation: opensourcepos/login
Translate-URL: https://translate.opensourcepos.org/projects/opensourcepos/login/en/
2021-06-09 23:20:00 +02:00
366 changed files with 4371 additions and 1426 deletions

71
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '21 12 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

2
.gitignore vendored
View File

@@ -13,6 +13,7 @@ generate_langauges.php
dist/
docs/
public/bower_components
npm_modules
*.patch
patches/
translations/
@@ -37,3 +38,4 @@ auth.json
/docker/data/database/db/*
/docker/data/certbot/conf/*
/docker/data/ospos/app/*
.DS_Store

View File

@@ -16,7 +16,7 @@ script:
- docker run --rm -v $(pwd):/app jekkos/composer composer install
- docker run --rm -v $(pwd):/app jekkos/composer php bin/install.php translations develop
- sed -i "s/'\(dev\)'/'$rev'/g" application/config/config.php
- docker run --rm -it -v $(pwd):/app -w /app digitallyseamless/nodejs-bower-grunt
- docker run --rm -it -v $(pwd):/app -w /app opensourcepos/node-grunt-bower
sh -c "npm install && bower install && grunt package"
- docker build . --target ospos -t ospos
- docker-compose -f docker-compose.test.yml up --abort-on-container-exit
@@ -24,12 +24,12 @@ env:
global:
- DOCKER_COMPOSE_VERSION=1.21.1
- TAG=$(echo ${TRAVIS_BRANCH} | sed s/feature\\///)
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6 HEAD`
after_success:
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" && docker tag "ospos:latest"
"jekkos/opensourcepos:$TAG" && docker push "jekkos/opensourcepos:$TAG"
before_deploy:
- version=$(grep application_version application/config/config.php | sed "s/.*=\s'\(.*\)';/\1/g")
- date=`date +%Y%m%d%H%M%S` && branch=${TRAVIS_BRANCH} && rev=`git rev-parse --short=6 HEAD`
- TRAVIS_TAG=$(echo $branch.$version)
- git tag -f "$branch.$version"
- sudo mv dist/opensourcepos.zip "dist/opensourcepos.$branch.$version.zip"

View File

@@ -10,7 +10,6 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
RUN a2enmod rewrite
RUN docker-php-ext-install mysqli bcmath intl gd
RUN echo "date.timezone = \"\${PHP_TIMEZONE}\"" > /usr/local/etc/php/conf.d/timezone.ini
RUN echo -e “$(hostname -i)\t$(hostname) $(hostname).localhost” >> /etc/hosts
WORKDIR /app
COPY . /app

View File

@@ -58,10 +58,55 @@ module.exports = function(grunt) {
}
}
},
copy: {
themes: {
files: [
{
expand: true,
cwd: 'node_modules/bootstrap-5/dist/css',
src: ['bootstrap.css', 'bootstrap.min.css'],
dest: 'public/dist/bootswatch-5/bootstrap/',
filter: 'isFile'
},
{
expand: true,
cwd: 'node_modules/bootswatch-5/dist',
src: ['**/bootstrap.css', '**/bootstrap.min.css'],
dest: 'public/dist/bootswatch-5/',
filter: 'isFile'
}
],
},
licenses: {
files: [{
expand: true,
src: 'LICENSE',
dest: 'public/license/',
filter: 'isFile',},
{
expand: true,
cwd: 'node_modules/bootstrap-5',
src: 'LICENSE',
dest: 'public/license/',
rename: function(dest, src) { return dest + src.replace('LICENSE', 'bootstrap-5.license'); },
filter: 'isFile'
},
{
expand: true,
cwd: 'node_modules/bootswatch-5',
src: 'LICENSE',
dest: 'public/license/',
rename: function(dest, src) { return dest + src.replace('LICENSE', 'bootswatch-5.license'); },
filter: 'isFile'
},
],
},
},
cssmin: {
target: {
files: {
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css']
'public/dist/<%= pkg.name %>.min.css': ['tmp/opensourcepos_bower.css', 'public/css/*.css', '!public/css/login.css', '!public/css/login.min.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
'public/css/login.min.css': ['public/css/login.css']
}
}
},
@@ -71,7 +116,7 @@ module.exports = function(grunt) {
separator: ';'
},
files: {
'tmp/<%= pkg.name %>.js': ['tmp/opensourcepos_bower.js', 'public/js/jquery*', 'public/js/*.js']
'tmp/<%= pkg.name %>.js': ['public/dist/jquery/jquery.js', 'tmp/opensourcepos_bower.js', 'public/js/*.js']
}
},
sql: {
@@ -114,7 +159,7 @@ module.exports = function(grunt) {
closeTag: '<!-- end css template tags -->',
ignorePath: '../../../public/'
},
src: ['public/css/*.css', '!public/css/login.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
src: ['public/css/*.css', '!public/css/login.css', '!public/css/login.min.css', '!public/css/invoice_email.css', '!public/css/barcode_font.css', '!public/css/darkly.css'],
dest: 'application/views/partial/header.php',
},
mincss_header: {
@@ -135,7 +180,7 @@ module.exports = function(grunt) {
closeTag: '<!-- end css template tags -->',
ignorePath: '../../public/'
},
src: ['public/css/login.css'],
src: 'public/css/login.min.css',
dest: 'application/views/login.php'
},
js: {
@@ -145,7 +190,7 @@ module.exports = function(grunt) {
closeTag: '<!-- end js template tags -->',
ignorePath: '../../../public/'
},
src: ['public/js/jquery*', 'public/js/*.js'],
src: ['public/dist/bootstrap/js/*.min.js', 'public/js/jquery*', 'public/js/*.js'],
dest: 'application/views/partial/header.php'
},
minjs: {
@@ -159,18 +204,6 @@ module.exports = function(grunt) {
dest: 'application/views/partial/header.php'
}
},
mochaWebdriver: {
options: {
timeout: 1000 * 60 * 3
},
test : {
options: {
usePhantom: true,
usePromises: true
},
src: ['test/**/*.js']
}
},
watch: {
files: ['<%= jshint.files %>'],
tasks: ['jshint']
@@ -222,15 +255,6 @@ module.exports = function(grunt) {
}
}
},
apigen: {
generate:{
options: {
apigenPath: 'vendor/bin/',
source: 'application',
destination: 'docs'
}
}
},
compress: {
main: {
options: {
@@ -247,6 +271,8 @@ module.exports = function(grunt) {
'!/public/images/menubar/png/',
'!/public/dist/bootswatch/',
'/public/dist/bootswatch/*/*.css',
'!/public/dist/bootswatch-5/',
'/public/dist/bootswatch-5/*/*.css',
'database/**',
'*.txt',
'*.md',
@@ -264,16 +290,13 @@ module.exports = function(grunt) {
});
require('load-grunt-tasks')(grunt);
grunt.loadNpmTasks('grunt-mocha-webdriver');
grunt.loadNpmTasks('grunt-composer');
grunt.loadNpmTasks('grunt-apigen');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
grunt.registerTask('default', ['wiredep', 'bower_concat', 'bowercopy', 'copy', 'concat', 'uglify', 'cssmin', 'tags', 'cachebreaker']);
grunt.registerTask('update', ['composer:update', 'bower:update']);
grunt.registerTask('genlicense', ['clean:license', 'license', 'bower-licensechecker']);
grunt.registerTask('package', ['default', 'compress']);
grunt.registerTask('packages', ['composer:update']);
grunt.registerTask('gendocs', ['apigen:generate']);
};

28
LICENSE
View File

@@ -26,12 +26,12 @@ Copyright (c) 2013 Ramel
Copyright (c) 2012-2014 pappastech
Copyright (c) 2012 Alain
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
@@ -40,13 +40,12 @@ You cannot claim copyright or ownership of the Software.
Versions ≥ 3.3.2:
Footer signatures "© 2010 - 2021 · opensourcepos.org · 3.3.3 - 6909c8"
Footer signatures "© 2010 - 2021 · opensourcepos.org · 3.3.3 - 6909c8"
In the format of: "© 2010 - Current Year · opensourcepos.org · Version - Commit"
and/or
"· opensourcepos.org ·"
with version, hash and URL link to the official website of the project MUST BE RETAINED,
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
@@ -61,9 +60,10 @@ and/or
with version, hash and URL link to the original distribution of the code MUST BE RETAINED,
MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -159,5 +159,6 @@ $autoload['model'] = array(
'Tax',
'Tax_category',
'Tax_code',
'Tax_jurisdiction'
'Tax_jurisdiction',
'Person_attribute'
);

View File

@@ -42,16 +42,24 @@ class Attributes extends Secure_Controller
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function save_attribute_value($attribute_value)
public function save_attribute_value()
{
$success = $this->Attribute->save_value(urldecode($attribute_value), $this->input->post('definition_id'), $this->input->post('item_id'), $this->input->post('attribute_id'));
$success = $this->Attribute->save_value(
$this->input->post('attribute_value'),
$this->input->post('definition_id'),
$this->input->post('item_id'),
$this->input->post('attribute_id')
);
echo json_encode(array('success' => $success != 0));
}
public function delete_attribute_value($attribute_value)
public function delete_attribute_value()
{
$success = $this->Attribute->delete_value($attribute_value, $this->input->post('definition_id'));
$success = $this->Attribute->delete_value(
$this->input->post('attribute_value'),
$this->input->post('definition_id')
);
echo json_encode(array('success' => $success));
}

View File

@@ -184,7 +184,7 @@ class Config extends Secure_Controller
if($dirinfo->isDir() && !$dirinfo->isDot() && $dirinfo->getFileName() != 'fonts')
{
$file = $this->xss_clean($dirinfo->getFileName());
$themes[$file] = $file;
$themes[$file] = ucfirst($file);
}
}
@@ -283,6 +283,7 @@ class Config extends Secure_Controller
{
$batch_save_data = array(
'theme' => $this->input->post('theme'),
'login_form' => $this->input->post('login_form'),
'default_sales_discount_type' => $this->input->post('default_sales_discount_type') != NULL,
'default_sales_discount' => $this->input->post('default_sales_discount'),
'default_receivings_discount_type' => $this->input->post('default_receivings_discount_type') != NULL,

View File

@@ -223,6 +223,55 @@ class Customers extends Persons
$this->load->view("customers/form", $data);
}
/*
Adds Person_attributes to customer controller
*/
public function person_attributes($customer_id = -1)
{
$data['person_id'] = $customer_id;
$definition_ids = json_decode($this->input->post('definition_ids'), TRUE);
$data['definition_values'] = $this->Person_attribute->get_person_attributes_by_person($customer_id) + $this->Person_attribute->get_values_by_definitions($definition_ids);
$data['definition_names'] = $this->Person_attribute->get_definition_names();
foreach($data['definition_values'] as $definition_id => $definition_value)
{
$person_attribute_value = $this->Person_attribute->get_person_attribute_value($customer_id, $definition_id);
$person_attribute_id = (empty($person_attribute_value) || empty($person_attribute_value->person_attribute_id)) ? NULL : $person_attribute_value->person_attribute_id;
$values = &$data['definition_values'][$definition_id];
$values['person_attribute_id'] = $person_attribute_id;
$values['person_attribute_value'] = $person_attribute_value;
$values['selected_value'] = '';
if ($definition_value['definition_type'] == DROPDOWN)
{
$values['values'] = $this->Person_attribute->get_definition_values($definition_id);
$link_value = $this->Person_attribute->get_link_value($customer_id, $definition_id);
$values['selected_value'] = (empty($link_value)) ? '' : $link_value->person_attribute_id;
}
if (!empty($definition_ids[$definition_id]))
{
$values['selected_value'] = $definition_ids[$definition_id];
}
unset($data['definition_names'][$definition_id]);
}
$this->load->view('person_attributes/person', $data);
}
/*
Inserts/updates a customer
*/
@@ -275,12 +324,47 @@ class Customers extends Persons
// New customer
if($customer_id == -1)
{
// Save person attributes for new customer
$customer_id = $person_data['person_id'];
$person_attribute_links = $this->input->post('person_attribute_links') != NULL ? $this->input->post('person_attribute_links') : array();
$person_attribute_ids = $this->input->post('person_attribute_ids');
$this->Person_attribute->delete_link($customer_id);
foreach($person_attribute_links as $definition_id => $person_attribute_id)
{
$definition_type = $this->Person_attribute->get_info($definition_id)->definition_type;
if($definition_type != DROPDOWN)
{
$person_attribute_id = $this->Person_attribute->save_value($person_attribute_id, $definition_id, $customer_id, $person_attribute_ids[$definition_id], $definition_type);
}
$this->Person_attribute->save_link($customer_id, $definition_id, $person_attribute_id);
}
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('customers_successful_adding') . ' ' . $first_name . ' ' . $last_name,
'id' => $this->xss_clean($customer_data['person_id'])));
}
else // Existing customer
{
// Update Person_attributes for existing Customer
$person_attribute_links = $this->input->post('person_attribute_links') != NULL ? $this->input->post('person_attribute_links') : array();
$person_attribute_ids = $this->input->post('person_attribute_ids');
$this->Person_attribute->delete_link($customer_id);
foreach($person_attribute_links as $definition_id => $person_attribute_id)
{
$definition_type = $this->Person_attribute->get_info($definition_id)->definition_type;
if($definition_type != DROPDOWN)
{
$person_attribute_id = $this->Person_attribute->save_value($person_attribute_id, $definition_id, $customer_id, $person_attribute_ids[$definition_id], $definition_type);
}
$this->Person_attribute->save_link($customer_id, $definition_id, $person_attribute_id);
}
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('customers_successful_updating') . ' ' . $first_name . ' ' . $last_name,
'id' => $customer_id));
@@ -352,8 +436,9 @@ class Customers extends Persons
public function csv()
{
$name = 'import_customers.csv';
$data = file_get_contents('../' . $name);
force_download($name, $data);
$allowed_person_attributes = $this->Person_attribute->get_definition_names(FALSE);
$data = generate_import_customers_csv($allowed_person_attributes);
force_download($name, $data, TRUE);
}
public function csv_import()
@@ -361,7 +446,7 @@ class Customers extends Persons
$this->load->view('customers/form_csv_import', NULL);
}
public function do_csv_import()
public function do_csv_file()
{
if($_FILES['file_path']['error'] != UPLOAD_ERR_OK)
{
@@ -369,49 +454,51 @@ class Customers extends Persons
}
else
{
if(($handle = fopen($_FILES['file_path']['tmp_name'], 'r')) !== FALSE)
if(file_exists($_FILES['file_path']['tmp_name']))
{
// Skip the first row as it's the table description
fgetcsv($handle);
$i = 1;
$line_array = get_csv_file($_FILES['file_path']['tmp_name']);
$failCodes = array();
$keys = $line_array[0];
$failCodes = array();
while(($data = fgetcsv($handle)) !== FALSE)
$this->db->trans_begin();
for($i = 1; $i < count($line_array); $i++)
{
// XSS file data sanity check
$data = $this->xss_clean($data);
$invalidated = FALSE;
$consent = $data[3] == '' ? 0 : 1;
$line = array_combine($keys,$this->xss_clean($line_array[$i])); //Build a XSS-cleaned associative array with the row to use to assign values
if(sizeof($data) >= 16 && $consent)
//check for consent in file upload, y == yes , empty field == no
$consent = $line['Consent'] == '' ? 0 : 1;
if($consent)
{
$email = strtolower($data[4]);
$email = strtolower($line['Email']);
$person_data = array(
'first_name' => $data[0],
'last_name' => $data[1],
'gender' => $data[2],
'first_name' => $line['First Name'],
'last_name' => $line['Last Name'],
'gender' => $line['Gender'],
'email' => $email,
'phone_number' => $data[5],
'address_1' => $data[6],
'address_2' => $data[7],
'city' => $data[8],
'state' => $data[9],
'zip' => $data[10],
'country' => $data[11],
'comments' => $data[12]
'phone_number' => $line['Phone Number'],
'address_1' => $line['Address 1'],
'address_2' => $line['Address2'],
'city' => $line['City'],
'state' => $line['State'],
'zip' => $line['Zip'],
'country' => $line['Country'],
'comments' => $line['Comments']
);
$customer_data = array(
'consent' => $consent,
'company_name' => $data[13],
'discount' => $data[15],
'discount_type' => $data[16],
'taxable' => $data[17] == '' ? 0 : 1,
'company_name' => $line['Company'],
'discount' => $line['Discount'],
'discount_type' => $line['Discount_Type'],
'taxable' => $line['Taxable'] == '' ? 0 : 1,
'date' => date('Y-m-d H:i:s'),
'employee_id' => $this->Employee->get_logged_in_employee_info()->person_id
);
$account_number = $data[14];
$account_number = $line['Account Number'];
// don't duplicate people with same email
$invalidated = $this->Customer->check_email_exists($email);
@@ -422,36 +509,37 @@ class Customers extends Persons
$invalidated &= $this->Customer->check_account_number_exists($account_number);
}
}
else
if(!$invalidated)
{
$invalidated = TRUE;
$invalidated = $this->data_error_check($line, $person_data);
}
if($invalidated)
{
$failCodes[] = $i;
}
elseif($this->Customer->save_customer($person_data, $customer_data))
//Save to database
if(!$invalidated && $this->Customer->save_customer($person_data, $customer_data))
{
// save person_attributes to customer
$this->save_person_attribute_data($line, $customer_data);
// save customer to Mailchimp selected list
$this->mailchimp_lib->addOrUpdateMember($this->_list_id, $person_data['email'], $person_data['first_name'], '', $person_data['last_name']);
}
//Insert or update customer failure
else
{
$failCodes[] = $i;
$failed_row = $i+1;
$failCodes[] = $failed_row;
log_message("ERROR","CSV Item import failed on line ". $failed_row .". This customer was not imported.");
}
++$i;
}
if(count($failCodes) > 0)
{
$message = $this->lang->line('customers_csv_import_partially_failed') . ' (' . count($failCodes) . '): ' . implode(', ', $failCodes);
$this->db->trans_rollback();
echo json_encode(array('success' => FALSE, 'message' => $message));
}
else
{
$this->db->trans_commit();
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('customers_csv_import_success')));
}
}
@@ -461,5 +549,141 @@ class Customers extends Persons
}
}
}
/**
* Checks the entire line of data in an import file for errors
*
* @param array $line
* @param array $person_data
*
* @return bool Returns FALSE if all data checks out and TRUE when there is an error in the data
*/
private function data_error_check($line, $person_data)
{
//Check for empty required fields
$check_for_empty = array(
$person_data['first_name'],
$person_data['last_name']
);
foreach($check_for_empty as $key => $val)
{
if (empty($val))
{
log_message("ERROR","Empty required value");
return TRUE; //Return fail on empty required fields
}
}
//Build array of fields to check for numerics
$check_for_numeric_values = array(
$person_data['gender'],
$customer_data['discount'],
$customer_data['discount_type']
);
//Check for non-numeric values which require numeric
foreach($check_for_numeric_values as $value)
{
if(!is_numeric($value) && $value != '')
{
log_message("ERROR","non-numeric: '$value' when numeric is required");
return TRUE;
}
}
//Check Person attribute Data
$definition_names = $this->Person_attribute->get_definition_names();
unset($definition_names[-1]);
foreach($definition_names as $definition_name)
{
if(!empty($line['person_attribute_' . $definition_name]))
{
$person_attribute_data = $this->Person_attribute->get_definition_by_name($definition_name)[0];
$person_attribute_type = $person_attribute_data['definition_type'];
$person_attribute_value = $line['person_attribute_' . $definition_name];
if($person_attribute_type == 'DROPDOWN')
{
$dropdown_values = $this->Person_attribute->get_definition_values($person_attribute_data['definition_id']);
$dropdown_values[] = '';
if(in_array($person_attribute_value, $dropdown_values) === FALSE && !empty($person_attribute_value))
{
log_message("ERROR","Value: '$person_attribute_value' is not an acceptable DROPDOWN value");
return TRUE;
}
}
else if($person_attribute_type == 'DECIMAL')
{
if(!is_numeric($person_attribute_value) && !empty($person_attribute_value))
{
log_message("ERROR","'$person_attribute_value' is not an acceptable DECIMAL value");
return TRUE;
}
}
else if($person_attribute_type == 'DATETIME')
{
if(strtotime($person_attribute_value) === FALSE && !empty($person_attribute_value))
{
log_message("ERROR","'$person_attribute_value' is not an acceptable DATETIME value.");
return TRUE;
}
}
}
}
return FALSE;
}
/**
* Saves person_attribute data found in the CSV import.
*
* @param line
* @param failCodes
* @param person_attribute_data
*/
private function save_person_attribute_data($line, $customer_data )
{
$definition_names = $this->Person_attribute->get_definition_names();
unset($definition_names[-1]);
foreach($definition_names as $definition_name)
{
//Create person_attribute value
if(!empty($line['person_attribute_' . $definition_name]) || $line['person_attribute_' . $definition_name] == '0')
{
$person_attribute_data = $this->Person_attribute->get_definition_by_name($definition_name)[0];
//CHECKBOX Person_attribute types (zero value creates person_attribute and marks it as unchecked)
if($person_attribute_data['definition_type'] == 'CHECKBOX')
{
//FALSE and '0' value creates checkbox and marks it as unchecked.
if(strcasecmp($line['person_attribute_' . $definition_name],'FALSE') == 0 || $line['person_attribute_' . $definition_name] == '0')
{
$line['person_attribute_' . $definition_name] = '0';
}
else
{
$line['person_attribute_' . $definition_name] = '1';
}
$status = $this->Person_attribute->save_value($line['person_attribute_' . $definition_name], $person_attribute_data['definition_id'], $customer_data['person_id'], FALSE, $person_attribute_data['definition_type']);
}
//All other Person_attribute types (0 value means person_attribute not created)
elseif(!empty($line['person_attribute_' . $definition_name]))
{
$status = $this->Person_attribute->save_value($line['person_attribute_' . $definition_name], $person_attribute_data['definition_id'], $customer_data['person_id'], FALSE, $person_attribute_data['definition_type']);
}
if($status === FALSE)
{
return FALSE;
}
}
}
}
}
?>

View File

@@ -86,6 +86,54 @@ class Employees extends Persons
$this->load->view('employees/form', $data);
}
/*
Adds Person_attributes to employee controller
*/
public function person_attributes($employee_id = -1)
{
$data['person_id'] = $employee_id;
$definition_ids = json_decode($this->input->post('definition_ids'), TRUE);
$data['definition_values'] = $this->Person_attribute->get_person_attributes_by_person($employee_id) + $this->Person_attribute->get_values_by_definitions($definition_ids);
$data['definition_names'] = $this->Person_attribute->get_definition_names();
foreach($data['definition_values'] as $definition_id => $definition_value)
{
$person_attribute_value = $this->Person_attribute->get_person_attribute_value($employee_id, $definition_id);
$person_attribute_id = (empty($person_attribute_value) || empty($person_attribute_value->person_attribute_id)) ? NULL : $person_attribute_value->person_attribute_id;
$values = &$data['definition_values'][$definition_id];
$values['person_attribute_id'] = $person_attribute_id;
$values['person_attribute_value'] = $person_attribute_value;
$values['selected_value'] = '';
if ($definition_value['definition_type'] == DROPDOWN)
{
$values['values'] = $this->Person_attribute->get_definition_values($definition_id);
$link_value = $this->Person_attribute->get_link_value($employee_id, $definition_id);
$values['selected_value'] = (empty($link_value)) ? '' : $link_value->person_attribute_id;
}
if (!empty($definition_ids[$definition_id]))
{
$values['selected_value'] = $definition_ids[$definition_id];
}
unset($data['definition_names'][$definition_id]);
}
$this->load->view('person_attributes/person', $data);
}
/*
Inserts/updates an employee
*/
@@ -154,12 +202,46 @@ class Employees extends Persons
// New employee
if($employee_id == -1)
{
// Save person_attributes for new employee
$employee_id = $person_data['person_id'];
$person_attribute_links = $this->input->post('person_attribute_links') != NULL ? $this->input->post('person_attribute_links') : array();
$person_attribute_ids = $this->input->post('person_attribute_ids');
$this->Person_attribute->delete_link($employee_id);
foreach($person_attribute_links as $definition_id => $person_attribute_id)
{
$definition_type = $this->Person_attribute->get_info($definition_id)->definition_type;
if($definition_type != DROPDOWN)
{
$person_attribute_id = $this->Person_attribute->save_value($person_attribute_id, $definition_id, $employee_id, $person_attribute_ids[$definition_id], $definition_type);
}
$this->Person_attribute->save_link($employee_id, $definition_id, $person_attribute_id);
}
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('employees_successful_adding') . ' ' . $first_name . ' ' . $last_name,
'id' => $this->xss_clean($employee_data['person_id'])));
}
else // Existing employee
{
// Update person attributes for existing employee
$person_attribute_links = $this->input->post('person_attribute_links') != NULL ? $this->input->post('person_attribute_links') : array();
$person_attribute_ids = $this->input->post('person_attribute_ids');
$this->Person_attribute->delete_link($employee_id);
foreach($person_attribute_links as $definition_id => $person_attribute_id)
{
$definition_type = $this->Person_attribute->get_info($definition_id)->definition_type;
if($definition_type != DROPDOWN)
{
$person_attribute_id = $this->Person_attribute->save_value($person_attribute_id, $definition_id, $employee_id, $person_attribute_ids[$definition_id], $definition_type);
}
$this->Person_attribute->save_link($employee_id, $definition_id, $person_attribute_id);
}
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('employees_successful_updating') . ' ' . $first_name . ' ' . $last_name,
'id' => $employee_id));

View File

@@ -0,0 +1,184 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once("Secure_Controller.php");
class Person_attributes extends Secure_Controller
{
public function __construct()
{
parent::__construct('person_attributes');
}
public function index()
{
$data['table_headers'] = $this->xss_clean(get_person_attribute_definition_manage_table_headers());
$this->load->view('person_attributes/manage', $data);
}
/**
* Returns person table data rows. This will be called with AJAX.
*/
public function search()
{
$search = $this->input->get('search');
$limit = $this->input->get('limit');
$offset = $this->input->get('offset');
$sort = $this->input->get('sort');
$order = $this->input->get('order');
$person_attributes = $this->Person_attribute->search($search, $limit, $offset, $sort, $order);
$total_rows = $this->Person_attribute->get_found_rows($search);
$data_rows = array();
foreach($person_attributes->result() as $person_attribute)
{
$person_attribute->definition_flags = $this->_get_person_attributes($person_attribute->definition_flags);
$data_rows[] = get_person_attribute_definition_data_row($person_attribute, $this);
}
$data_rows = $this->xss_clean($data_rows);
echo json_encode(array('total' => $total_rows, 'rows' => $data_rows));
}
public function save_person_attribute_value($person_attribute_value)
{
$success = $this->Person_attribute->save_value(urldecode($person_attribute_value), $this->input->post('definition_id'), $this->input->post('person_id'), $this->input->post('person_attribute_id'));
echo json_encode(array('success' => $success != 0));
}
public function delete_person_attribute_value($person_attribute_value)
{
$success = $this->Person_attribute->delete_value($person_attribute_value, $this->input->post('definition_id'));
echo json_encode(array('success' => $success));
}
public function save_definition($definition_id = NO_DEFINITION_ID)
{
$definition_flags = 0;
$flags = (empty($this->input->post('definition_flags'))) ? array() : $this->input->post('definition_flags');
foreach($flags as $flag)
{
$definition_flags |= $flag;
}
//Save definition data
$definition_data = array(
'definition_name' => $this->input->post('definition_name'),
'definition_unit' => $this->input->post('definition_unit') != '' ? $this->input->post('definition_unit') : NULL,
'definition_flags' => $definition_flags,
'definition_fk' => $this->input->post('definition_group') != '' ? $this->input->post('definition_group') : NULL
);
if ($this->input->post('definition_type') != null)
{
$definition_data['definition_type'] = DEFINITION_TYPES[$this->input->post('definition_type')];
}
$definition_name = $this->xss_clean($definition_data['definition_name']);
if($this->Person_attribute->save_definition($definition_data, $definition_id))
{
//New definition
if($definition_id == 0)
{
$definition_values = json_decode($this->input->post('definition_values'));
foreach($definition_values as $definition_value)
{
$this->Person_attribute->save_value($definition_value, $definition_data['definition_id']);
}
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('person_attributes_definition_successful_adding').' '.
$definition_name, 'id' => $definition_data['definition_id']));
}
//Existing definition
else
{
echo json_encode(array('success' => TRUE, 'message' => $this->lang->line('person_attributes_definition_successful_updating').' '.
$definition_name, 'id' => $definition_id));
}
}
//Failure
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('person_attributes_definition_error_adding_updating', $definition_name), 'id' => -1));
}
}
public function suggest_person_attribute($definition_id)
{
$suggestions = $this->xss_clean($this->Person_attribute->get_suggestions($definition_id, $this->input->get('term')));
echo json_encode($suggestions);
}
public function get_row($row_id)
{
$person_attribute_definition_info = $this->Person_attribute->get_info($row_id);
$person_attribute_definition_info->definition_flags = $this->_get_person_attributes($person_attribute_definition_info->definition_flags);
$data_row = $this->xss_clean(get_person_attribute_definition_data_row($person_attribute_definition_info));
echo json_encode($data_row);
}
private function _get_person_attributes($definition_flags = 0)
{
$definition_flag_names = array();
foreach (Person_attribute::get_definition_flags() as $id => $term)
{
if ($id & $definition_flags)
{
$definition_flag_names[$id] = $this->lang->line('person_attributes_' . strtolower($term) . '_visibility');
}
}
return $definition_flag_names;
}
public function view($definition_id = NO_DEFINITION_ID)
{
$info = $this->Person_attribute->get_info($definition_id);
foreach(get_object_vars($info) as $property => $value)
{
$info->$property = $this->xss_clean($value);
}
$data['definition_id'] = $definition_id;
$data['definition_values'] = $this->Person_attribute->get_definition_values($definition_id);
$data['definition_group'] = $this->Person_attribute->get_definitions_by_type(GROUP, $definition_id);
$data['definition_group'][''] = $this->lang->line('common_none_selected_text');
$data['definition_info'] = $info;
$show_all = Person_attribute::SHOW_IN_CUSTOMERS | Person_attribute::SHOW_IN_EMPLOYEES | Person_attribute::SHOW_IN_SUPPLIERS;
$data['definition_flags'] = $this->_get_person_attributes($show_all);
$selected_flags = $info->definition_flags === '' ? $show_all : $info->definition_flags;
$data['selected_definition_flags'] = $this->_get_person_attributes($selected_flags);
$this->load->view("person_attributes/form", $data);
}
public function delete_value($person_attribute_id)
{
return $this->Person_attribute->delete_value($person_attribute_id);
}
public function delete()
{
$person_attributes_to_delete = $this->input->post('ids');
if($this->Person_attribute->delete_definition_list($person_attributes_to_delete))
{
$message = $this->lang->line('person_attributes_definition_successful_deleted') . ' ' . count($person_attributes_to_delete) . ' ' . $this->lang->line('person_attributes_definition_one_or_multiple');
echo json_encode(array('success' => TRUE, 'message' => $message));
}
else
{
echo json_encode(array('success' => FALSE, 'message' => $this->lang->line('person_attributes_definition_cannot_be_deleted')));
}
}
}

View File

@@ -230,6 +230,7 @@ class Reports extends Secure_Controller
{
$tabular_data[] = $this->xss_clean(array(
'item_name' => $row['name'],
'category' => $row['category'],
'unit_price' => $row['unit_price'],
'quantity' => to_quantity_decimals($row['quantity_purchased']),
'subtotal' => to_currency($row['subtotal']),

View File

@@ -84,6 +84,55 @@ class Suppliers extends Persons
$this->load->view("suppliers/form", $data);
}
/*
Adds Person_attributes to supplier controller
*/
public function person_attributes($supplier_id = -1)
{
$data['person_id'] = $supplier_id;
$definition_ids = json_decode($this->input->post('definition_ids'), TRUE);
$data['definition_values'] = $this->Person_attribute->get_person_attributes_by_person($supplier_id) + $this->Person_attribute->get_values_by_definitions($definition_ids);
$data['definition_names'] = $this->Person_attribute->get_definition_names();
foreach($data['definition_values'] as $definition_id => $definition_value)
{
$person_attribute_value = $this->Person_attribute->get_person_attribute_value($supplier_id, $definition_id);
$person_attribute_id = (empty($person_attribute_value) || empty($person_attribute_value->person_attribute_id)) ? NULL : $person_attribute_value->person_attribute_id;
$values = &$data['definition_values'][$definition_id];
$values['person_attribute_id'] = $person_attribute_id;
$values['person_attribute_value'] = $person_attribute_value;
$values['selected_value'] = '';
if ($definition_value['definition_type'] == DROPDOWN)
{
$values['values'] = $this->Person_attribute->get_definition_values($definition_id);
$link_value = $this->Person_attribute->get_link_value($supplier_id, $definition_id);
$values['selected_value'] = (empty($link_value)) ? '' : $link_value->person_attribute_id;
}
if (!empty($definition_ids[$definition_id]))
{
$values['selected_value'] = $definition_ids[$definition_id];
}
unset($data['definition_names'][$definition_id]);
}
$this->load->view('person_attributes/person', $data);
}
/*
Inserts/updates a supplier
@@ -128,12 +177,46 @@ class Suppliers extends Persons
//New supplier
if($supplier_id == -1)
{
// Save person attributes for new supplier
$supplier_id = $person_data['person_id'];
$person_attribute_links = $this->input->post('person_attribute_links') != NULL ? $this->input->post('person_attribute_links') : array();
$person_attribute_ids = $this->input->post('person_attribute_ids');
$this->Person_attribute->delete_link($supplier_id);
foreach($person_attribute_links as $definition_id => $person_attribute_id)
{
$definition_type = $this->Person_attribute->get_info($definition_id)->definition_type;
if($definition_type != DROPDOWN)
{
$person_attribute_id = $this->Person_attribute->save_value($person_attribute_id, $definition_id, $supplier_id, $person_attribute_ids[$definition_id], $definition_type);
}
$this->Person_attribute->save_link($supplier_id, $definition_id, $person_attribute_id);
}
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('suppliers_successful_adding') . ' ' . $supplier_data['company_name'],
'id' => $supplier_data['person_id']));
}
else //Existing supplier
{
// Update person attributes for existing supplier
$person_attribute_links = $this->input->post('person_attribute_links') != NULL ? $this->input->post('person_attribute_links') : array();
$person_attribute_ids = $this->input->post('person_attribute_ids');
$this->Person_attribute->delete_link($supplier_id);
foreach($person_attribute_links as $definition_id => $person_attribute_id)
{
$definition_type = $this->Person_attribute->get_info($definition_id)->definition_type;
if($definition_type != DROPDOWN)
{
$person_attribute_id = $this->Person_attribute->save_value($person_attribute_id, $definition_id, $supplier_id, $person_attribute_ids[$definition_id], $definition_type);
}
$this->Person_attribute->save_link($supplier_id, $definition_id, $person_attribute_id);
}
echo json_encode(array('success' => TRUE,
'message' => $this->lang->line('suppliers_successful_updating') . ' ' . $supplier_data['company_name'],
'id' => $supplier_id));

View File

@@ -10,10 +10,17 @@ class MY_Lang extends CI_Lang
$CI->config->set_item('language', $idiom);
$loaded = $this->is_loaded;
$this->is_loaded = array();
foreach($loaded as $file)
{
$this->load(strtr($file, '', '_lang.php'));
$filename = strtr($file, '', '_lang.php');
$this->load($filename, 'english');
$array = $this->load($filename, $idiom, TRUE);
foreach($array as $lang_key => $lang_value) {
if ($lang_value != '') {
$this->language[$lang_key] = $lang_value;
}
}
}
}
}

View File

@@ -50,6 +50,38 @@ function generate_attribute_headers($attribute_names)
return $attribute_headers;
}
/**
* Generates the header content for the import_customers.csv file
*
* @return string Comma separated headers for the CSV file
*/
function generate_import_customers_csv($person_attributes)
{
$csv_headers = pack("CCC",0xef,0xbb,0xbf); //Encode the Byte-Order Mark (BOM) so that UTF-8 File headers display properly in Microsoft Excel
$csv_headers .= '"First Name","Last Name",Gender,Consent,Email,"Phone Number","Address 1",Address2,City,State,Zip,Country,Comments,Company,"Account Number",Discount,Discount_Type,Taxable';
$csv_headers .= generate_person_attribute_headers($person_attributes);
return $csv_headers;
}
/**
* Generates a list of person attribute names as a string
*
* @return string Comma-separated list of person_attribute names
*/
function generate_person_attribute_headers($person_attribute_names)
{
$person_attribute_headers = "";
unset($person_attribute_names[-1]);
foreach($person_attribute_names as $person_attribute_name)
{
$person_attribute_headers .= ',"person_attribute_' . $person_attribute_name . '"';
}
return $person_attribute_headers;
}
/**
* Read the contents of a given CSV formatted file into a two-dimensional array
*

View File

@@ -174,6 +174,8 @@ function get_people_manage_table_headers()
{
$CI =& get_instance();
$definition_names = $CI->Person_attribute->get_definitions_by_flags(Person_attribute::SHOW_IN_EMPLOYEES);
$headers = array(
array('people.person_id' => $CI->lang->line('common_id')),
array('last_name' => $CI->lang->line('common_last_name')),
@@ -187,6 +189,11 @@ function get_people_manage_table_headers()
$headers[] = array('messages' => '', 'sortable' => FALSE);
}
foreach($definition_names as $definition_id => $definition_name)
{
$headers[] = array($definition_id => $definition_name, 'sortable' => TRUE);
}
return transform_headers($headers);
}
@@ -197,8 +204,9 @@ function get_person_data_row($person)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
$definition_names = $CI->Person_attribute->get_definitions_by_flags(Person_attribute::SHOW_IN_EMPLOYEES);
return array (
$columns = array (
'people.person_id' => $person->person_id,
'last_name' => $person->last_name,
'first_name' => $person->first_name,
@@ -210,6 +218,8 @@ function get_person_data_row($person)
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
return $columns + expand_person_attribute_values($definition_names, (array) $person);
}
@@ -220,6 +230,8 @@ function get_customer_manage_table_headers()
{
$CI =& get_instance();
$definition_names = $CI->Person_attribute->get_definitions_by_flags(Person_attribute::SHOW_IN_CUSTOMERS);
$headers = array(
array('people.person_id' => $CI->lang->line('common_id')),
array('last_name' => $CI->lang->line('common_last_name')),
@@ -234,6 +246,11 @@ function get_customer_manage_table_headers()
$headers[] = array('messages' => '', 'sortable' => FALSE);
}
foreach($definition_names as $definition_id => $definition_name)
{
$headers[] = array($definition_id => $definition_name, 'sortable' => TRUE);
}
return transform_headers($headers);
}
@@ -246,7 +263,9 @@ function get_customer_data_row($person, $stats)
$controller_name = strtolower(get_class($CI));
return array (
$definition_names = $CI->Person_attribute->get_definitions_by_flags(Person_attribute::SHOW_IN_CUSTOMERS);
$columns = array (
'people.person_id' => $person->person_id,
'last_name' => $person->last_name,
'first_name' => $person->first_name,
@@ -258,6 +277,8 @@ function get_customer_data_row($person, $stats)
'edit' => anchor($controller_name."/view/$person->person_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
));
return $columns + expand_person_attribute_values($definition_names, (array) $person);
}
@@ -268,6 +289,8 @@ function get_suppliers_manage_table_headers()
{
$CI =& get_instance();
$definition_names = $CI->Person_attribute->get_definitions_by_flags(Person_attribute::SHOW_IN_SUPPLIERS);
$headers = array(
array('people.person_id' => $CI->lang->line('common_id')),
array('company_name' => $CI->lang->line('suppliers_company_name')),
@@ -284,6 +307,11 @@ function get_suppliers_manage_table_headers()
$headers[] = array('messages' => '');
}
foreach($definition_names as $definition_id => $definition_name)
{
$headers[] = array($definition_id => $definition_name, 'sortable' => TRUE);
}
return transform_headers($headers);
}
@@ -296,7 +324,9 @@ function get_supplier_data_row($supplier)
$controller_name = strtolower(get_class($CI));
return array (
$definition_names = $CI->Person_attribute->get_definitions_by_flags(Person_attribute::SHOW_IN_SUPPLIERS);
$columns = array (
'people.person_id' => $supplier->person_id,
'company_name' => $supplier->company_name,
'agency_name' => $supplier->agency_name,
@@ -310,6 +340,8 @@ function get_supplier_data_row($supplier)
'edit' => anchor($controller_name."/view/$supplier->person_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>"modal-dlg", 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update')))
);
return $columns + expand_person_attribute_values($definition_names, (array) $supplier);
}
@@ -613,6 +645,95 @@ function get_attribute_definition_data_row($attribute)
);
}
/*
Get html data row for person_attributes
*/
function parse_person_attribute_values($columns, $row) {
$person_attribute_values = array();
foreach($columns as $column) {
if (array_key_exists($column, $row))
{
$person_attribute_value = explode('|', $row[$column]);
$person_attribute_values = array_merge($person_attribute_values, $person_attribute_value);
}
}
return $person_attribute_values;
}
function expand_person_attribute_values($definition_names, $row)
{
$values = parse_person_attribute_values(array('person_attribute_values', 'person_attribute_dtvalues', 'person_attribute_dvalues'), $row);
$indexed_values = array();
foreach($values as $person_attribute_value)
{
$exploded_value = explode('_', $person_attribute_value);
if(sizeof($exploded_value) > 1)
{
$indexed_values[$exploded_value[0]] = $exploded_value[1];
}
}
$person_attribute_values = array();
foreach($definition_names as $definition_id => $definition_name)
{
if(isset($indexed_values[$definition_id]))
{
$person_attribute_value = $indexed_values[$definition_id];
$person_attribute_values["$definition_id"] = $person_attribute_value;
}
}
return $person_attribute_values;
}
function get_person_attribute_definition_manage_table_headers()
{
$CI =& get_instance();
$headers = array(
array('definition_id' => $CI->lang->line('person_attributes_definition_id')),
array('definition_name' => $CI->lang->line('person_attributes_definition_name')),
array('definition_type' => $CI->lang->line('person_attributes_definition_type')),
array('definition_flags' => $CI->lang->line('person_attributes_definition_flags')),
array('definition_group' => $CI->lang->line('person_attributes_definition_group')),
);
return transform_headers($headers);
}
function get_person_attribute_definition_data_row($person_attribute)
{
$CI =& get_instance();
$controller_name = strtolower(get_class($CI));
if(count($person_attribute->definition_flags) == 0)
{
$definition_flags = $CI->lang->line('common_none_selected_text');
}
else if($person_attribute->definition_type == GROUP)
{
$definition_flags = "-";
}
else
{
$definition_flags = implode(', ', $person_attribute->definition_flags);
}
return array (
'definition_id' => $person_attribute->definition_id,
'definition_name' => $person_attribute->definition_name,
'definition_type' => $person_attribute->definition_type,
'definition_group' => $person_attribute->definition_group,
'definition_flags' => $definition_flags,
'edit' => anchor("$controller_name/view/$person_attribute->definition_id", '<span class="glyphicon glyphicon-edit"></span>',
array('class'=>'modal-dlg', 'data-btn-submit' => $CI->lang->line('common_submit'), 'title'=>$CI->lang->line($controller_name.'_update'))
)
);
}
/*
Get the header for the expense categories tabular view
*/

View File

@@ -26,8 +26,8 @@ function load_config()
$CI->config->set_item('language_code', 'en-US');
}
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language());
_load_language_files($CI, '../application/language', current_language_code());
_load_language_files($CI, '../vendor/codeigniter/framework/system/language', current_language(), FALSE);
_load_language_files($CI, '../application/language', current_language_code(), TRUE);
//Set timezone from config database
if($CI->config->item('timezone'))
@@ -46,16 +46,33 @@ function load_config()
* @param $CI
* @param $path
* @param $language
* @param $fallback
*/
function _load_language_files($CI, $path, $language)
function _load_language_files($CI, $path, $language, $fallback)
{
$map = directory_map($path . DIRECTORY_SEPARATOR . $language);
foreach($map as $file)
{
if(!is_array($file) && substr(strrchr($file, '.'), 1) == 'php')
{
$CI->lang->load(strtr($file, '', '_lang.php'), $language);
$filename = strtr($file, '', '_lang.php');
if ($fallback) {
$CI->lang->load($filename, 'en-US');
$array = $CI->lang->load($filename, $language, TRUE);
foreach($array as $lang_key => $lang_value) {
if ($lang_value !== '') {
$CI->lang->language[$lang_key] = $lang_value;
}
}
}
else
{
$CI->lang->load($filename, $language);
}
}
}
}

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "النوع";
$lang["common_gender_female"] = "أنثى";
$lang["common_gender_male"] = "ذكر";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "كود";
$lang["common_import"] = "استيراد";
$lang["common_import_change_file"] = "تغيير";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "الاسم الأخير مطلوب.";
$lang["common_last_page"] = "الأخيرة";
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
$lang["common_list_of"] = "قائمة بـ";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "خروج";
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
$lang["common_new"] = "جديد";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "سياسة الاسترجاع";
$lang["common_search"] = "بحث";
$lang["common_search_options"] = "خيارات البحث";
$lang["common_searched_for"] = "بحث عن";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "المحافظة";
$lang["common_submit"] = "حفظ";
$lang["common_total_spent"] = "مجموع الصرف";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1 مايو";
$lang["config_financial_year_nov"] = "1 نوفمبر";
$lang["config_financial_year_oct"] = "1 أكتوبر";
$lang["config_financial_year_sep"] = "1 سبتمبر";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "صفحة تسجيل الدخول ريكابتشا";
$lang["config_gcaptcha_secret_key"] = "مفتاح السرية ريكابتشا";
$lang["config_gcaptcha_secret_key_required"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
$lang["config_info"] = "معلومات";
$lang["config_info_configuration"] = "معلومات الشركة";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "التكامل";
$lang["config_integrations_configuration"] = "تكامل";
$lang["config_invoice"] = "الفاتورة";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "معلومات التهيئة الإقليمية"
$lang["config_location"] = "المخزون";
$lang["config_location_configuration"] = "أماكن المخزون";
$lang["config_location_info"] = "معلومات تهيئة الأماكن";
$lang["config_login_form"] = "";
$lang["config_logout"] = "هل تريد عمل نسخة إحتياطية قبل الخروج؟ اضغط [نعم] لعمل النسخة أو [الغاء] للخروج.";
$lang["config_mailchimp"] = "mailchimp ميل تشامب";
$lang["config_mailchimp_api_key"] = "mailchimp مفتاح";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
$lang["config_tax_id"] = "الرقم الضريبي";
$lang["config_tax_included"] = "شامل الضريبة";
$lang["config_theme"] = "السمة";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "فاصل الاف";
$lang["config_timezone"] = "المنطقة الزمنية";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "رمز التحقق غير صحيح.";
$lang["login_invalid_installation"] = "يوجد مشكلة بالتنصيب, الرجاء التحقق من ملف php.ini.";
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح.";
$lang["login_login"] = "دخول";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "كلمة السر";
$lang["login_username"] = "اسم المستخدم";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "المبلغ المدفوع";
$lang["sales_authorized_signature"] = "توقيع معتمد";
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
$lang["sales_cash"] = "نقدى";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "ايداع نقدي";
$lang["sales_cash_filter"] = "نقدى";
$lang["sales_change_due"] = "الباقى";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "النوع";
$lang["common_gender_female"] = "أنثى";
$lang["common_gender_male"] = "ذكر";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "كود";
$lang["common_import"] = "استيراد";
$lang["common_import_change_file"] = "تغيير";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "الاسم الأخير مطلوب.";
$lang["common_last_page"] = "الأخيرة";
$lang["common_learn_about_project"] = "للتعرف على أخر المعلومات حول المشروع.";
$lang["common_list_of"] = "قائمة بـ";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "خروج";
$lang["common_migration_needed"] = "سيبدأ ترحيل قاعدة البيانات إلى ٪1 بعد تسجيل الدخول.";
$lang["common_new"] = "جديد";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "سياسة الاسترجاع";
$lang["common_search"] = "بحث";
$lang["common_search_options"] = "خيارات البحث";
$lang["common_searched_for"] = "بحث عن";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "المحافظة";
$lang["common_submit"] = "حفظ";
$lang["common_total_spent"] = "مجموع الصرف";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1 مايو";
$lang["config_financial_year_nov"] = "1 نوفمبر";
$lang["config_financial_year_oct"] = "1 أكتوبر";
$lang["config_financial_year_sep"] = "1 سبتمبر";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "صفحة تسجيل الدخول ريكابتشا";
$lang["config_gcaptcha_secret_key"] = "مفتاح السرية ريكابتشا";
$lang["config_gcaptcha_secret_key_required"] = "مفتاح السرية ريكابتشا هو حقل مطلوب";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "تشمل الدعم لرمز نظام منسق";
$lang["config_info"] = "معلومات";
$lang["config_info_configuration"] = "معلومات الشركة";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "التكامل";
$lang["config_integrations_configuration"] = "تكامل";
$lang["config_invoice"] = "الفاتورة";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "معلومات التهيئة الإقليمية"
$lang["config_location"] = "المخزون";
$lang["config_location_configuration"] = "أماكن المخزون";
$lang["config_location_info"] = "معلومات تهيئة الأماكن";
$lang["config_login_form"] = "";
$lang["config_logout"] = "هل تريد عمل نسخة إحتياطية قبل الخروج؟ اضغط [نعم] لعمل النسخة أو [الغاء] للخروج.";
$lang["config_mailchimp"] = "mailchimp ميل تشامب";
$lang["config_mailchimp_api_key"] = "mailchimp مفتاح";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "العلامة العشرية للضريبة";
$lang["config_tax_id"] = "الرقم الضريبي";
$lang["config_tax_included"] = "شامل الضريبة";
$lang["config_theme"] = "السمة";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "فاصل الاف";
$lang["config_timezone"] = "المنطقة الزمنية";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "رمز التحقق غير صحيح.";
$lang["login_invalid_installation"] = "يوجد مشكلة بالتنصيب, الرجاء التحقق من ملف php.ini.";
$lang["login_invalid_username_and_password"] = "اسم مستخدم/كلمة سر غير صحيح.";
$lang["login_login"] = "دخول";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "كلمة السر";
$lang["login_username"] = "اسم المستخدم";
$lang["login_welcome"] = "";

View File

@@ -10,10 +10,11 @@ $lang["sales_amount_tendered"] = "المبلغ المدفوع";
$lang["sales_authorized_signature"] = "توقيع معتمد";
$lang["sales_cancel_sale"] = "الغاء عملية البيع";
$lang["sales_cash"] = "نقدى";
$lang["sales_cash_adjustment"] = "تعديل الدفع";
$lang["sales_cash_deposit"] = "ايداع نقدي";
$lang["sales_cash_filter"] = "نقدى";
$lang["sales_change_due"] = "الباقى";
$lang["sales_change_price"] = "";
$lang["sales_change_price"] = "تغيير سعر البيع";
$lang["sales_check"] = "شيك";
$lang["sales_check_balance"] = "تذكير بموعد الشيك";
$lang["sales_check_filter"] = "شيك";
@@ -25,13 +26,13 @@ $lang["sales_confirm_delete"] = "هل تريد حذف عمليات البيع ا
$lang["sales_confirm_restore"] = "هل انت متاكد من استعادة عملية البيع؟";
$lang["sales_credit"] = "بطاقة إئتمانية";
$lang["sales_credit_deposit"] = "ايداع ببطاقة ائتمان";
$lang["sales_credit_filter"] = "";
$lang["sales_credit_filter"] = "بطاقة بنكية";
$lang["sales_customer"] = "العميل";
$lang["sales_customer_address"] = "العنوان";
$lang["sales_customer_discount"] = "الخصم";
$lang["sales_customer_email"] = "البريد الإلكترونى";
$lang["sales_customer_location"] = "المكان";
$lang["sales_customer_mailchimp_status"] = "حالة ميل تشيمب";
$lang["sales_customer_mailchimp_status"] = "حالة بريد ميل تشيمب";
$lang["sales_customer_optional"] = "(مطلوب للدفعات المستحقة)";
$lang["sales_customer_required"] = "(اجباري)";
$lang["sales_customer_total"] = "المجموع";
@@ -53,26 +54,26 @@ $lang["sales_discount_included"] = "% خصم";
$lang["sales_discount_short"] = "%";
$lang["sales_due"] = "مستحق";
$lang["sales_due_filter"] = "مستحق";
$lang["sales_edit"] = "تحرير";
$lang["sales_edit_item"] = "تحرير صنف";
$lang["sales_edit_sale"] = "تحرير عملية بيع";
$lang["sales_edit"] = "تعديل";
$lang["sales_edit_item"] = "تعديل مادة";
$lang["sales_edit_sale"] = "تعديل عملية بيع";
$lang["sales_email_receipt"] = "إرسال الايصال بالبريد الالكترونى";
$lang["sales_employee"] = "الموظف";
$lang["sales_entry"] = "ادخال";
$lang["sales_error_editing_item"] = "خطاء فى تحرير الصنف";
$lang["sales_find_or_scan_item"] = "بحث/مسح باركود صنف";
$lang["sales_find_or_scan_item_or_receipt"] = "بحث/مسح باركود صنف أو ايصال";
$lang["sales_error_editing_item"] = "خطاء فى تعديل المادة";
$lang["sales_find_or_scan_item"] = "بحث/مسح باركود المادة";
$lang["sales_find_or_scan_item_or_receipt"] = "بحث/مسح باركود المادة أو الايصال";
$lang["sales_giftcard"] = "بطاقة هدية";
$lang["sales_giftcard_balance"] = "رصيد بطاقة الهدية";
$lang["sales_giftcard_number"] = "رقم بطاقة الهدية";
$lang["sales_group_by_category"] = "تصفية حسب الفئة";
$lang["sales_group_by_type"] = "تجميع حسب النوع";
$lang["sales_group_by_category"] = "ترتيب حسب الفئة";
$lang["sales_group_by_type"] = "ترتيب حسب النوع";
$lang["sales_hsn"] = "رمز نظام منسق";
$lang["sales_id"] = "كود عملية البيع";
$lang["sales_id"] = "رقم عملية البيع";
$lang["sales_include_prices"] = "يشمل الاسعار؟";
$lang["sales_invoice"] = "فاتورة";
$lang["sales_invoice_confirm"] = "هذه الفاتورة سوف ترسل إلى";
$lang["sales_invoice_enable"] = "إنشاء فاتورة";
$lang["sales_invoice_enable"] = "رقم فاتورة";
$lang["sales_invoice_filter"] = "الفواتير";
$lang["sales_invoice_no_email"] = "هذا العميل ليس لدية بريد الكترونى صالح.";
$lang["sales_invoice_number"] = "فاتورة رقم #";
@@ -85,32 +86,32 @@ $lang["sales_invoice_type_invoice"] = "الفاتورة (invoice.php)";
$lang["sales_invoice_type_tax_invoice"] = "الفاتورة الضريبية (tax_invoice.php)";
$lang["sales_invoice_unsent"] = "فشل إرسال الفاتورة إلى";
$lang["sales_invoice_update"] = "إعادة العد";
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من الصنف.";
$lang["sales_item_name"] = "اسم الصنف";
$lang["sales_item_number"] = "صنف #";
$lang["sales_item_out_of_stock"] = "لايوجد مخزون من الصنف.";
$lang["sales_item_insufficient_of_stock"] = "لايوجد مخزون كافى من المادة.";
$lang["sales_item_name"] = "اسم المادة";
$lang["sales_item_number"] = "مادة رقم #";
$lang["sales_item_out_of_stock"] = "لايوجد مخزون من المادة.";
$lang["sales_mode"] = "وضع التسجيل";
$lang["sales_must_enter_numeric"] = "يجب إدخال رقم للمبلغ الفعلى المدفوع.";
$lang["sales_must_enter_numeric_giftcard"] = "رقم بطاقة الهدية يجب أن يكون رقم.";
$lang["sales_must_enter_numeric_giftcard"] = "رمز بطاقة الهدية يجب أن يكتون ارقام فقط.";
$lang["sales_new_customer"] = "عميل جديد";
$lang["sales_new_item"] = "صنف جديد";
$lang["sales_new_item"] = "مادة جديدة";
$lang["sales_no_description"] = "بدون وصف";
$lang["sales_no_filter"] = "الكل";
$lang["sales_no_items_in_cart"] = "لايوجد أصناف فى السلة.";
$lang["sales_no_items_in_cart"] = "لايوجد اي مادة فى السلة.";
$lang["sales_no_sales_to_display"] = "لاتوجد عمليات بيع لعرضها.";
$lang["sales_none_selected"] = "لم تقم بإختيار أى عمليات بيع لحذفها.";
$lang["sales_nontaxed_ind"] = "";
$lang["sales_not_authorized"] = "هذه العملية لا يمكن فعلها لعدم تخويلك.";
$lang["sales_not_authorized"] = "ليس لديك صلاحية.";
$lang["sales_one_or_multiple"] = "عمليات بيع";
$lang["sales_payment"] = "طريقة الدفع";
$lang["sales_payment_amount"] = "المبلغ";
$lang["sales_payment_amount"] = "القيمة";
$lang["sales_payment_not_cover_total"] = "المبلغ المدفوع لايغطى المبلغ الإجمالى.";
$lang["sales_payment_type"] = "طريقة";
$lang["sales_payments_total"] = "إجمالى المدفوعات";
$lang["sales_price"] = "السعر";
$lang["sales_print_after_sale"] = "اطبع بعد عملية البيع";
$lang["sales_quantity"] = "الكمية";
$lang["sales_quantity_less_than_reorder_level"] = "تحذير: الكمية/العدد المطلوب غير متوفر لهذا الصنف.";
$lang["sales_quantity_less_than_reorder_level"] = "تحذير: الكمية أقل من الحد المطلوب لهذه المادة.";
$lang["sales_quantity_less_than_zero"] = "تحذير! الكمية المطلوبة غير كافية، بإمكانك إتمام عملية البيع ، لكن تحقق من مخزنك.";
$lang["sales_quantity_of_items"] = "عدد ال 1% من الاصناف";
$lang["sales_quote"] = "عرض اسعار";
@@ -123,10 +124,10 @@ $lang["sales_receipt_no_email"] = "هذا العميل ليس له اي بريد
$lang["sales_receipt_number"] = "إيصال بيع";
$lang["sales_receipt_sent"] = "تم إرسال الإيصال إلى";
$lang["sales_receipt_unsent"] = "فشل إرسال الإيصال إلى";
$lang["sales_refund"] = "";
$lang["sales_register"] = "مسجل المبيعات";
$lang["sales_refund"] = "نوع/سبب الاسترجاع";
$lang["sales_register"] = "سجل المبيعات";
$lang["sales_remove_customer"] = "حذف عميل";
$lang["sales_return"] = "إرتجاع";
$lang["sales_return"] = "إسترجاع";
$lang["sales_rewards"] = "نقاط المكافئة";
$lang["sales_rewards_balance"] = "رصيد نقاط المكافئة";
$lang["sales_sale"] = "بيع";
@@ -145,7 +146,7 @@ $lang["sales_show_receipt"] = "عرض الإيصال";
$lang["sales_start_typing_customer_name"] = "ابداء بكتابة اسم العميل...";
$lang["sales_start_typing_item_name"] = "ابداء بكتابة اسم أو مسح باركود الصنف...";
$lang["sales_stock"] = "المخزن";
$lang["sales_stock_location"] = "مكان المخزون";
$lang["sales_stock_location"] = "موقع التخزين";
$lang["sales_sub_total"] = "المجموع الفرعي";
$lang["sales_successfully_deleted"] = "لقد تم الحذف بنجاح";
$lang["sales_successfully_restored"] = "لقد تمت عملية الاستعادة بنجاح";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Cins";
$lang["common_gender_female"] = "Q";
$lang["common_gender_male"] = "K";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "ID";
$lang["common_import"] = "Daxil et";
$lang["common_import_change_file"] = "Dəyiş";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Soyad tələb olunur.";
$lang["common_last_page"] = "Son";
$lang["common_learn_about_project"] = "Proyekt haqqında ən son məlumatı öyrənmək.";
$lang["common_list_of"] = "Siyahısı";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Çıxış";
$lang["common_migration_needed"] = "Girişdən sonra bazaya %1 köçməsi başlayacaq.";
$lang["common_new"] = "Yenisi";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Qaytarma siyasəti";
$lang["common_search"] = "Axtarış";
$lang["common_search_options"] = "Axtarış variantları";
$lang["common_searched_for"] = "Axtarıldı";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Əyalət";
$lang["common_submit"] = "Təsdiqlə";
$lang["common_total_spent"] = "Ümumi xərc";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1 May";
$lang["config_financial_year_nov"] = "1 Noyabr";
$lang["config_financial_year_oct"] = "1 Oktyabr";
$lang["config_financial_year_sep"] = "1 Sentyabr";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Giriş Səyfəsi reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Gizli Açarı";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Gizli Açar olan sahə boş qala bilməz";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "Şəkil yükləmə məhdudiyyətləri";
$lang["config_include_hsn"] = "HSN Kodlarına dəstək verin";
$lang["config_info"] = "Məlumat";
$lang["config_info_configuration"] = "Dükan İnformasiyası";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "İnteqrasiya";
$lang["config_integrations_configuration"] = "Üçüncü tərəf inteqrasiya";
$lang["config_invoice"] = "Faktura";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Lokallaşdırma Konfiqurasiya Məlumatı";
$lang["config_location"] = "Fond";
$lang["config_location_configuration"] = "Anbar Yerləri";
$lang["config_location_info"] = "Yer Konfiqurasiya Məlumatı";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Çıxışdan əvvəl məlumatlari ehtiyat bazasına köçürmək istəyirsinizmi? Çıxış üçün Bekap və ya [Ləğv] üçün [OK]' düyməsinə basın.";
$lang["config_mailchimp"] = "Mailçimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API Açarı";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Vaxt";
$lang["config_tax_id"] = "Vergi İD";
$lang["config_tax_included"] = "Vergi Daxildir";
$lang["config_theme"] = "Vebsayt";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Minliklər Ayıran";
$lang["config_timezone"] = "Vaxt Zonası";
$lang["config_timezone_error"] = "OSPOS Saat qurşağı Yerli saat qurşağınızdan fərqlidir.";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["item_kits_add_item"] = "Mal Əlavə Etmək";
$lang["item_kits_all"] = "Hamısı";
$lang["item_kits_cannot_be_deleted"] = "Dəst Mal (lar) silinə bilməz.";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "Yanlış, Mən robot deyiləm.";
$lang["login_invalid_installation"] = "Quraşdırma düzgün deyil, php.ini faylını yoxlayın.";
$lang["login_invalid_username_and_password"] = "Ad və ya şifrə səhvdir.";
$lang["login_login"] = "Giriş";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Şifrə";
$lang["login_username"] = "İstifadəçi";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Ödənilən məbləğ";
$lang["sales_authorized_signature"] = "Səlahiyyətli İmza";
$lang["sales_cancel_sale"] = "İmtina";
$lang["sales_cash"] = "Nəğd pullar";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Nağd depozit";
$lang["sales_cash_filter"] = "Nəğd Pul";
$lang["sales_change_due"] = "Qalıq";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["tables_all"] = "Всичко/и";
$lang["tables_columns"] = "Колони";
$lang["tables_hide_show_pagination"] = "Скриване / Показване на страници";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["common_address_1"] = "Адрес 1";
$lang["common_address_2"] = "Адрес 2";
$lang["common_city"] = "Град";
@@ -27,6 +28,7 @@ $lang["common_gender"] = "Пол";
$lang["common_gender_female"] = "Ж";
$lang["common_gender_male"] = "М";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Номер";
$lang["common_import"] = "Внос";
$lang["common_import_change_file"] = "Промяна";
@@ -40,6 +42,8 @@ $lang["common_last_name_required"] = "Фамилия е задължително
$lang["common_last_page"] = "Последна";
$lang["common_learn_about_project"] = "за да научите най-новата информация за проекта.";
$lang["common_list_of"] = "Списък с";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Излизане от профила";
$lang["common_migration_needed"] = "Мигриране на база данни ще започне след влизане.";
$lang["common_new"] = "Нов";
@@ -60,6 +64,8 @@ $lang["common_return_policy"] = "Условия за връщане";
$lang["common_search"] = "Търсене";
$lang["common_search_options"] = "Опции за търсене";
$lang["common_searched_for"] = "Търсене за";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Щат";
$lang["common_submit"] = "Изпращане";
$lang["common_total_spent"] = "Общо изразходвани";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1st of May";
$lang["config_financial_year_nov"] = "1st of November";
$lang["config_financial_year_oct"] = "1st of October";
$lang["config_financial_year_sep"] = "1st of September";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "";
$lang["config_info"] = "Information";
$lang["config_info_configuration"] = "Store Information";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "";
$lang["config_integrations_configuration"] = "";
$lang["config_invoice"] = "Invoice";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Localization Configuration Information";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Stock Locations";
$lang["config_location_info"] = "Location Configuration Information";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API Key";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "";
$lang["config_tax_included"] = "Tax Included";
$lang["config_theme"] = "Theme";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Thousands Separator";
$lang["config_timezone"] = "Timezone";
$lang["config_timezone_error"] = "";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_account_number"] = "Сметка #";
$lang["customers_account_number_duplicate"] = "Номерът на сметката вече е в базата данни.";
$lang["customers_available_points"] = "Налични точки";

View File

@@ -1,9 +1,13 @@
<?php
<?php
$lang["login_gcaptcha"] = "Не съм робот.";
$lang["login_go"] = "Go";
$lang["login_invalid_gcaptcha"] = "Invalid I'm not a robot.";
$lang["login_invalid_installation"] = "The installation is not correct, check your php.ini file.";
$lang["login_invalid_username_and_password"] = "Invalid Username or Password.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Password";
$lang["login_username"] = "Username";
$lang["login_welcome"] = "";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_available_points"] = "Налични точки";
$lang["rewards_package"] = "Награди";
$lang["rewards_remaining_balance"] = "Оставащата стойност на точките за награда е ";
@@ -9,6 +10,7 @@ $lang["sales_amount_tendered"] = "Предоставена сума";
$lang["sales_authorized_signature"] = "Оторизиран подпис";
$lang["sales_cancel_sale"] = "Отказ";
$lang["sales_cash"] = "В брой";
$lang["sales_cash_adjustment"] = "Корекция на пари в брой";
$lang["sales_cash_deposit"] = "Депозит в брой";
$lang["sales_cash_filter"] = "В брой";
$lang["sales_change_due"] = "Промяна на дължимото";
@@ -178,4 +180,3 @@ $lang["sales_work_order_number"] = "Номер работна поръчка";
$lang["sales_work_order_number_duplicate"] = "Номерът на работната поръчка трябва да е уникален.";
$lang["sales_work_order_sent"] = "Работната поръчка е изпратена до";
$lang["sales_work_order_unsent"] = "Работната поръчка не бе изпратена до";
$lang["sales_cash_adjustment"] = "Корекция на пари в брой";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Pol";
$lang["common_gender_female"] = "Ž";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Uvoz";
$lang["common_import_change_file"] = "Promjena";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Prezime je obavezno";
$lang["common_last_page"] = "Poslednja";
$lang["common_learn_about_project"] = "da biste saznali najnovije informacije o projektu";
$lang["common_list_of"] = "Lista";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Odjava";
$lang["common_migration_needed"] = "Premještanje baze podataka na %1 počinje nakon prijave.";
$lang["common_new"] = "Novi";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Povratna informacija";
$lang["common_search"] = "Traži";
$lang["common_search_options"] = "Opcije pretrage";
$lang["common_searched_for"] = "Traženo";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Entitet";
$lang["common_submit"] = "Prihvati";
$lang["common_total_spent"] = "Ukupno potrošeno";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1. Maj";
$lang["config_financial_year_nov"] = "1. Novembar";
$lang["config_financial_year_oct"] = "1. Oktobar";
$lang["config_financial_year_sep"] = "1. Septembar";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Stranica za prijavu reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA tajni ključ";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA tajni ključ je obavezno polje";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "Ograničenja za učitavanje slike";
$lang["config_include_hsn"] = "Uključite podršku za HSN kodove";
$lang["config_info"] = "Informacije";
$lang["config_info_configuration"] = "Info o web trgovini";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "Integracije";
$lang["config_integrations_configuration"] = "Integracije trećih strana";
$lang["config_invoice"] = "Faktura";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Info o lokalnoj konfiguraciji";
$lang["config_location"] = "Skladište";
$lang["config_location_configuration"] = "Lokacije skladišta";
$lang["config_location_info"] = "Informacije o konfiguraciji lokacije";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Zar ne želite da napravite rezervnu kopiju prije odjave? Kliknite [OK] za sigurnosnu kopiju, [Cancel] da biste se odjavili.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API ključ";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Poreske decimale";
$lang["config_tax_id"] = "Poreska identifikacija";
$lang["config_tax_included"] = "Uključen porez";
$lang["config_theme"] = "Tema";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Separator za hiljade";
$lang["config_timezone"] = "Vremenska zona";
$lang["config_timezone_error"] = "Vremenska zona OSPOS razlikuje se od vaše lokalne vremenske zone.";

View File

@@ -12,6 +12,10 @@ $lang["customers_confirm_delete"] = "Želite li izbrisati izabranog kupca?";
$lang["customers_confirm_restore"] = "Da li ste sigurni da želite da povratite izabranog kupca?";
$lang["customers_consent"] = "Pristanak na registraciju";
$lang["customers_consent_required"] = "Prihvatanje registracije je obavezno polje.";
$lang["customers_csv_import_failed"] = "Greška kod uvoza iz CSV-a";
$lang["customers_csv_import_nodata_wrongformat"] = "Vaša učitana datoteka nema podataka ili je pogrešnog formata";
$lang["customers_csv_import_partially_failed"] = "Većina kupaca je uvezena. Ali neki nisu, evo liste";
$lang["customers_csv_import_success"] = "Uvoz kupaca je uspješan";
$lang["customers_customer"] = "Kupac";
$lang["customers_date"] = "Datum";
$lang["customers_discount"] = "Popust";
@@ -21,10 +25,6 @@ $lang["customers_discount_type"] = "Tip popusta";
$lang["customers_email_duplicate"] = "E-mail adresa već postoji u bazi podataka.";
$lang["customers_employee"] = "Zaposlenik";
$lang["customers_error_adding_updating"] = "Greška kod dodavanja/ažuriranja kupca";
$lang["customers_csv_import_failed"] = "Greška kod uvoza iz CSV-a";
$lang["customers_csv_import_nodata_wrongformat"] = "Vaša učitana datoteka nema podataka ili je pogrešnog formata";
$lang["customers_csv_import_partially_failed"] = "Većina kupaca je uvezena. Ali neki nisu, evo liste";
$lang["customers_csv_import_success"] = "Uvoz kupaca je uspješan";
$lang["customers_import_items_csv"] = "Uvezi kupce iz CSV datoteke";
$lang["customers_mailchimp_activity_click"] = "Klik na e-mail";
$lang["customers_mailchimp_activity_lastopen"] = "Zadnji otvoreni e-mail";

View File

@@ -42,8 +42,8 @@ $lang["items_image"] = "Slika";
$lang["items_import_items_csv"] = "Uvezi artikle iz CSV datoteke";
$lang["items_info_provided_by"] = "Informacije pruža";
$lang["items_inventory"] = "Zaliha";
$lang["items_inventory_comments"] = "Komentari";
$lang["items_inventory_CSV_import_quantity"] = "Količina uvezena iz CSV-a";
$lang["items_inventory_comments"] = "Komentari";
$lang["items_inventory_data_tracking"] = "Praćenje podataka zalihe";
$lang["items_inventory_date"] = "Datum";
$lang["items_inventory_employee"] = "Zaposlenik";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "Pogrešno ja nisam robot.";
$lang["login_invalid_installation"] = "Instalacija nije ispravna, provjerite vašu php.ini datoteku.";
$lang["login_invalid_username_and_password"] = "Pogrešno korisničko ime ili lozinka";
$lang["login_login"] = "Prijava";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Lozinka";
$lang["login_username"] = "Korisničko ime";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Ponuđeni iznos";
$lang["sales_authorized_signature"] = "Ovlašćeni potpis";
$lang["sales_cancel_sale"] = "Otkaži";
$lang["sales_cash"] = "Gotovina";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Polog gotovine";
$lang["sales_cash_filter"] = "Gotovina";
$lang["sales_change_due"] = "Kusur";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Pohlaví";
$lang["common_gender_female"] = "Ž";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Změnit";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Příjmení je vyžadováno.";
$lang["common_last_page"] = "Poslední";
$lang["common_learn_about_project"] = "pro získání dalších informací k projektu.";
$lang["common_list_of"] = "Seznam";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Odhlásit";
$lang["common_migration_needed"] = "";
$lang["common_new"] = "Nový";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Podmínky pro vrácení";
$lang["common_search"] = "Hledat";
$lang["common_search_options"] = "Volby pro hledání";
$lang["common_searched_for"] = "Hledat";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Stát";
$lang["common_submit"] = "Odeslat";
$lang["common_total_spent"] = "Celkem utraceno";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "";
$lang["config_financial_year_nov"] = "";
$lang["config_financial_year_oct"] = "";
$lang["config_financial_year_sep"] = "";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "";
$lang["config_gcaptcha_secret_key"] = "";
$lang["config_gcaptcha_secret_key_required"] = "";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "";
$lang["config_info"] = "";
$lang["config_info_configuration"] = "";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "";
$lang["config_integrations_configuration"] = "";
$lang["config_invoice"] = "";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "";
$lang["config_location"] = "";
$lang["config_location_configuration"] = "";
$lang["config_location_info"] = "";
$lang["config_login_form"] = "";
$lang["config_logout"] = "";
$lang["config_mailchimp"] = "";
$lang["config_mailchimp_api_key"] = "";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "";
$lang["config_tax_id"] = "";
$lang["config_tax_included"] = "";
$lang["config_theme"] = "";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "";
$lang["config_timezone"] = "";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "Špatné zadání.";
$lang["login_invalid_installation"] = "Instalace není v pořádku, zkontrolujte soubor php.ini.";
$lang["login_invalid_username_and_password"] = "Neplatné jméno nebo heslo.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Heslo";
$lang["login_username"] = "Uživatelské jméno";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Uhrazeno";
$lang["sales_authorized_signature"] = "";
$lang["sales_cancel_sale"] = "Zrušit";
$lang["sales_cash"] = "Hotovost";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "";
$lang["sales_cash_filter"] = "Hotově";
$lang["sales_change_due"] = "Zbývá";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Køn";
$lang["common_gender_female"] = "Kvinde";
$lang["common_gender_male"] = "Mand";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Skift";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Efternavn er et obligatorisk felt.";
$lang["common_last_page"] = "Sidste";
$lang["common_learn_about_project"] = "for at lære det seneste information om projektet.";
$lang["common_list_of"] = "Liste af";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Log ud";
$lang["common_migration_needed"] = "En database migration til %1 vil starte efter du er logget ind.";
$lang["common_new"] = "Ny";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Returpolitik";
$lang["common_search"] = "Søg";
$lang["common_search_options"] = "Søgeindstillinger";
$lang["common_searched_for"] = "Søgt efter";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Stat";
$lang["common_submit"] = "Indsend";
$lang["common_total_spent"] = "Samlet brugt";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1st of May";
$lang["config_financial_year_nov"] = "1st of November";
$lang["config_financial_year_oct"] = "1st of October";
$lang["config_financial_year_sep"] = "1st of September";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "Include Support for HSN Codes";
$lang["config_info"] = "Information";
$lang["config_info_configuration"] = "Store Information";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "Integrations";
$lang["config_integrations_configuration"] = "Third Party Integrations";
$lang["config_invoice"] = "Invoice";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Localization Configuration Information";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Stock Locations";
$lang["config_location_info"] = "Location Configuration Information";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API Key";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "Tax Id";
$lang["config_tax_included"] = "Tax Included";
$lang["config_theme"] = "Theme";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Thousands Separator";
$lang["config_timezone"] = "Timezone";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "";
$lang["login_invalid_installation"] = "";
$lang["login_invalid_username_and_password"] = "";
$lang["login_login"] = "";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "";
$lang["login_username"] = "";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "";
$lang["sales_authorized_signature"] = "";
$lang["sales_cancel_sale"] = "";
$lang["sales_cash"] = "";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "";
$lang["sales_cash_filter"] = "";
$lang["sales_change_due"] = "";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Geschlecht";
$lang["common_gender_female"] = "F";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Change";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Nachname ist erforderlich";
$lang["common_last_page"] = "Letzte";
$lang["common_learn_about_project"] = "für neueste Nachrichten zum Projekt";
$lang["common_list_of"] = "Liste von";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Logout";
$lang["common_migration_needed"] = "";
$lang["common_new"] = "Neu";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Rücknahmepolitik";
$lang["common_search"] = "Suche";
$lang["common_search_options"] = "Suchkriterien";
$lang["common_searched_for"] = "Gescuht nach";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "BL/Kanton";
$lang["common_submit"] = "Senden";
$lang["common_total_spent"] = "";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "";
$lang["config_financial_year_nov"] = "";
$lang["config_financial_year_oct"] = "";
$lang["config_financial_year_sep"] = "";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "";
$lang["config_gcaptcha_secret_key"] = "";
$lang["config_gcaptcha_secret_key_required"] = "";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "";
$lang["config_info"] = "Instellungen";
$lang["config_info_configuration"] = "Instellungen";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "";
$lang["config_integrations_configuration"] = "";
$lang["config_invoice"] = "Rechnungs";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Info Länderkonfiguration";
$lang["config_location"] = "Lagerort";
$lang["config_location_configuration"] = "Lagerort";
$lang["config_location_info"] = "Lagerort-Information";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Wollen Sie eine Sicherung machen vor dem Beenden? Klicke [OK] für Sicherung";
$lang["config_mailchimp"] = "";
$lang["config_mailchimp_api_key"] = "";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "";
$lang["config_tax_included"] = "MWSt inbegriffen";
$lang["config_theme"] = "Design";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Tausendertrennzeichen";
$lang["config_timezone"] = "Zeitzone";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "";
$lang["login_invalid_installation"] = "";
$lang["login_invalid_username_and_password"] = "Ungültiger Benutzername/Passwort";
$lang["login_login"] = "Login";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Passwort";
$lang["login_username"] = "Benutzername";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Erhalten";
$lang["sales_authorized_signature"] = "";
$lang["sales_cancel_sale"] = "Annullieren";
$lang["sales_cash"] = "Bar";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "";
$lang["sales_cash_filter"] = "Bar";
$lang["sales_change_due"] = "Wechselgeld";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Geschlecht";
$lang["common_gender_female"] = "W";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "ID";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Ändern";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Nachname ist erforderlich.";
$lang["common_last_page"] = "Letzte";
$lang["common_learn_about_project"] = "für neueste Nachrichten zum Projekt.";
$lang["common_list_of"] = "Liste von";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Ausloggen";
$lang["common_migration_needed"] = "Eine Datenbankmigration auf %1 wird nach der Anmeldung gestartet.";
$lang["common_new"] = "Neu";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Rücknahmeerklärung";
$lang["common_search"] = "Suche";
$lang["common_search_options"] = "Suchkriterien";
$lang["common_searched_for"] = "Gescuht nach";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "BL/Kanton";
$lang["common_submit"] = "Senden";
$lang["common_total_spent"] = "Gesamtausgaben";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1. Mai";
$lang["config_financial_year_nov"] = "1. November";
$lang["config_financial_year_oct"] = "1. Oktober";
$lang["config_financial_year_sep"] = "1. September";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Login reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA: Geheimer Schlüssel";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key wird benötigt";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "Unterstützung für HSN-Codes einbinden";
$lang["config_info"] = "Informationen";
$lang["config_info_configuration"] = "Generelle Einstellungen";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "Integrationen";
$lang["config_integrations_configuration"] = "Drittanbieter Integrationen";
$lang["config_invoice"] = "Rechnungs";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Info Länderkonfiguration";
$lang["config_location"] = "Lagerort";
$lang["config_location_configuration"] = "Lagerort";
$lang["config_location_info"] = "Lagerort-Information";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Wollen Sie vor dem Beenden eine Sicherung erstellen? Klicke [OK] für Sicherung.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp API Schlüssel";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Steuer Dezimalstellen";
$lang["config_tax_id"] = "Steuer ID";
$lang["config_tax_included"] = "MWSt inbegriffen";
$lang["config_theme"] = "Design";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Tausendertrennzeichen";
$lang["config_timezone"] = "Zeitzone";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "Ich bin kein Roboter ist ungültig.";
$lang["login_invalid_installation"] = "Die Installation ist nicht korrekt, überprüfen Sie Ihre php.ini-Datei.";
$lang["login_invalid_username_and_password"] = "Ungültiger Benutzername oder Passwort.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Passwort";
$lang["login_username"] = "Benutzername";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Erhalten";
$lang["sales_authorized_signature"] = "Unterschrift";
$lang["sales_cancel_sale"] = "Annullieren";
$lang["sales_cash"] = "Bar";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Bareinzahlung";
$lang["sales_cash_filter"] = "Bar";
$lang["sales_change_due"] = "Wechselgeld";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Φύλο";
$lang["common_gender_female"] = "Θ";
$lang["common_gender_male"] = "Α";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Εισαγωγή";
$lang["common_import_change_file"] = "Αλλαγή";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Το Επίθετο απαιτείται."
$lang["common_last_page"] = "Τελευταίο";
$lang["common_learn_about_project"] = "ώστε να ενημερωθείτε για τις τελευταίες πληροφορίες του έργου.";
$lang["common_list_of"] = "Λίστα από";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Έξοδος";
$lang["common_migration_needed"] = "Η ενσωμάτωση της βάσης δεδομένων σε %1 θα ξεκινήσει μετά την είσοδο.";
$lang["common_new"] = "Νέο";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Πολιτική Επιστροφών";
$lang["common_search"] = "Αναζήτηση";
$lang["common_search_options"] = "Επιλογές αναζήτησης";
$lang["common_searched_for"] = "Αναζητήσατε για";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Περιοχή/Νομός";
$lang["common_submit"] = "Καταχώριση";
$lang["common_total_spent"] = "Σύνολο εξόδων";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "";
$lang["config_financial_year_nov"] = "";
$lang["config_financial_year_oct"] = "";
$lang["config_financial_year_sep"] = "";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "";
$lang["config_gcaptcha_secret_key"] = "";
$lang["config_gcaptcha_secret_key_required"] = "";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "";
$lang["config_info"] = "";
$lang["config_info_configuration"] = "";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "";
$lang["config_integrations_configuration"] = "";
$lang["config_invoice"] = "";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "";
$lang["config_location"] = "";
$lang["config_location_configuration"] = "";
$lang["config_location_info"] = "";
$lang["config_login_form"] = "";
$lang["config_logout"] = "";
$lang["config_mailchimp"] = "";
$lang["config_mailchimp_api_key"] = "";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "";
$lang["config_tax_id"] = "";
$lang["config_tax_included"] = "";
$lang["config_theme"] = "";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "";
$lang["config_timezone"] = "";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "";
$lang["login_invalid_installation"] = "";
$lang["login_invalid_username_and_password"] = "";
$lang["login_login"] = "";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "";
$lang["login_username"] = "";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Ποσό Είσπραξης";
$lang["sales_authorized_signature"] = "Εγκεκριμένη Υπογραφή";
$lang["sales_cancel_sale"] = "Ακύρωση";
$lang["sales_cash"] = "Μετρητά";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Προκαταβολή Μετρητών";
$lang["sales_cash_filter"] = "Μετρητά";
$lang["sales_change_due"] = "Ποσό Επιστροφής";

View File

@@ -27,7 +27,8 @@ $lang["common_gender"] = "Gender";
$lang["common_gender_female"] = "F";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_id"] = "Id";
$lang["common_icon"] = "Icon";
$lang["common_id"] = "ID";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Change";
$lang["common_import_csv"] = "CSV Import";
@@ -40,6 +41,8 @@ $lang["common_last_name_required"] = "Last Name is a required field";
$lang["common_last_page"] = "Last";
$lang["common_learn_about_project"] = "to learn the latest information about the project";
$lang["common_list_of"] = "List of";
$lang["common_logo"] = "Logo";
$lang["common_logo_mark"] = "Mark";
$lang["common_logout"] = "Logout";
$lang["common_migration_needed"] = "A database migration to %1 will start after login";
$lang["common_new"] = "New";
@@ -60,6 +63,8 @@ $lang["common_return_policy"] = "Return Policy";
$lang["common_search"] = "Search";
$lang["common_search_options"] = "Search options";
$lang["common_searched_for"] = "Searched for";
$lang["common_software_short"] = "OSPOS";
$lang["common_software_title"] = "Open Source Point of Sale";
$lang["common_state"] = "County";
$lang["common_submit"] = "Submit";
$lang["common_total_spent"] = "Total Spent";

View File

@@ -126,6 +126,7 @@ $lang["config_financial_year_may"] = "1st of May";
$lang["config_financial_year_nov"] = "1st of November";
$lang["config_financial_year_oct"] = "1st of October";
$lang["config_financial_year_sep"] = "1st of September";
$lang["config_floating_labels"] = "Floating Labels";
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
@@ -145,6 +146,7 @@ $lang["config_image_restrictions"] = "Image Upload Restrictions";
$lang["config_include_hsn"] = "Include Support for HSN Codes";
$lang["config_info"] = "Information";
$lang["config_info_configuration"] = "Shop Information";
$lang["config_input_groups"] = "Input Groups";
$lang["config_integrations"] = "Integrations";
$lang["config_integrations_configuration"] = "Third Party Integrations";
$lang["config_invoice"] = "Invoice";
@@ -174,6 +176,7 @@ $lang["config_locale_info"] = "Localisation Configuration Information";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Stock Locations";
$lang["config_location_info"] = "Location Configuration Information";
$lang["config_login_form"] = "Login Form Style";
$lang["config_logout"] = "Don't you want to make a backup before logging out? Click [OK] to backup, [Cancel] to logout";
$lang["config_mailchimp"] = "MailChimp";
$lang["config_mailchimp_api_key"] = "MailChimp API Key";
@@ -288,6 +291,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "Tax Id";
$lang["config_tax_included"] = "Tax Included";
$lang["config_theme"] = "Theme";
$lang["config_theme_preview"] = "Preview Theme:";
$lang["config_thousands_separator"] = "Thousands Separator";
$lang["config_timezone"] = "Timezone";
$lang["config_timezone_error"] = "OSPOS Timezone is Different from your Local Timezone.";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_account_number"] = "Account #";
$lang["customers_account_number_duplicate"] = "Account Number is already present in the database";
$lang["customers_available_points"] = "Available points";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["expenses_add_item"] = "Add Expense";
$lang["expenses_amount"] = "Amount";
$lang["expenses_amount_number"] = "Amount must be a number";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["item_kits_add_item"] = "Add Item";
$lang["item_kits_all"] = "All";
$lang["item_kits_cannot_be_deleted"] = "Item Kit(s) delete failed";

View File

@@ -1,10 +1,12 @@
<?php
<?php
$lang["login_gcaptcha"] = "I'm not a robot";
$lang["login_go"] = "Go";
$lang["login_invalid_gcaptcha"] = "Invalid I'm not a robot";
$lang["login_invalid_gcaptcha"] = "Please verify that you are not a robot.";
$lang["login_invalid_installation"] = "The installation is not correct, check your php.ini file";
$lang["login_invalid_username_and_password"] = "Invalid Username or Password";
$lang["login_invalid_username_and_password"] = "Invalid username and/or password.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "Logout";
$lang["login_migration_needed"] = "A database migration to %1 will start after login.";
$lang["login_password"] = "Password";
$lang["login_username"] = "Username";
$lang["login_welcome"] = "Welcome to %1!";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_available_points"] = "Available Points";
$lang["rewards_package"] = "Rewards";
$lang["rewards_remaining_balance"] = "Reward Points remaining value is ";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["common_address_1"] = "Address 1";
$lang["common_address_2"] = "Address 2";
$lang["common_city"] = "City";
@@ -27,7 +28,8 @@ $lang["common_gender"] = "Gender";
$lang["common_gender_female"] = "F";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_id"] = "Id";
$lang["common_icon"] = "Icon";
$lang["common_id"] = "ID";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Change";
$lang["common_import_csv"] = "CSV Import";
@@ -40,8 +42,10 @@ $lang["common_last_name_required"] = "Last Name is a required field.";
$lang["common_last_page"] = "Last";
$lang["common_learn_about_project"] = "to learn the latest information about the project.";
$lang["common_list_of"] = "List of";
$lang["common_logout"] = "Logout";
$lang["common_migration_needed"] = "A database migration to %1 will start after login.";
$lang["common_logo"] = "Logo";
$lang["common_logo_mark"] = "Mark";
$lang["common_logout"] = "";
$lang["common_migration_needed"] = "";
$lang["common_new"] = "New";
$lang["common_no"] = "";
$lang["common_no_persons_to_display"] = "There are no people to display.";
@@ -60,6 +64,8 @@ $lang["common_return_policy"] = "Return Policy";
$lang["common_search"] = "Search";
$lang["common_search_options"] = "Search options";
$lang["common_searched_for"] = "Searched for";
$lang["common_software_short"] = "OSPOS";
$lang["common_software_title"] = "Open Source Point of Sale";
$lang["common_state"] = "State";
$lang["common_submit"] = "Submit";
$lang["common_total_spent"] = "Total Spent";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["config_address"] = "Company Address";
$lang["config_address_required"] = "Company address is a required field.";
$lang["config_all_set"] = "All file permissions are set correctly!";
@@ -126,6 +127,7 @@ $lang["config_financial_year_may"] = "1st of May";
$lang["config_financial_year_nov"] = "1st of November";
$lang["config_financial_year_oct"] = "1st of October";
$lang["config_financial_year_sep"] = "1st of September";
$lang["config_floating_labels"] = "Floating Labels";
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
@@ -145,6 +147,7 @@ $lang["config_image_restrictions"] = "Image Upload Restrictions";
$lang["config_include_hsn"] = "Include Support for HSN Codes";
$lang["config_info"] = "Information";
$lang["config_info_configuration"] = "Store Information";
$lang["config_input_groups"] = "Input Groups";
$lang["config_integrations"] = "Integrations";
$lang["config_integrations_configuration"] = "Third Party Integrations";
$lang["config_invoice"] = "Invoice";
@@ -174,6 +177,7 @@ $lang["config_locale_info"] = "Localization Configuration Information";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Stock Locations";
$lang["config_location_info"] = "Location Configuration Information";
$lang["config_login_form"] = "Login Form Style";
$lang["config_logout"] = "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.";
$lang["config_mailchimp"] = "MailChimp";
$lang["config_mailchimp_api_key"] = "MailChimp API Key";
@@ -288,6 +292,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "Tax Id";
$lang["config_tax_included"] = "Tax Included";
$lang["config_theme"] = "Theme";
$lang["config_theme_preview"] = "Preview Theme:";
$lang["config_thousands_separator"] = "Thousands Separator";
$lang["config_timezone"] = "Timezone";
$lang["config_timezone_error"] = "OSPOS Timezone is Different from your Local Timezone.";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_account_number"] = "Account #";
$lang["customers_account_number_duplicate"] = "Account Number is already present in the database.";
$lang["customers_available_points"] = "Available Points";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["expenses_add_item"] = "Add Expense";
$lang["expenses_amount"] = "Amount";
$lang["expenses_amount_number"] = "Amount must be a number";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["items_add_minus"] = "Inventory to add or subtract.";
$lang["items_allow_alt_description"] = "Allow Alternate Description";
$lang["items_amount_entry"] = "Amount Entry";

View File

@@ -2,9 +2,12 @@
$lang["login_gcaptcha"] = "I'm not a robot.";
$lang["login_go"] = "Go";
$lang["login_invalid_gcaptcha"] = "Invalid I'm not a robot.";
$lang["login_invalid_gcaptcha"] = "Please verify that you are not a robot.";
$lang["login_invalid_installation"] = "The installation is not correct, check your php.ini file.";
$lang["login_invalid_username_and_password"] = "Invalid Username or Password.";
$lang["login_invalid_username_and_password"] = "Invalid username and/or password.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "Logout";
$lang["login_migration_needed"] = "A database migration to %1 will start after login.";
$lang["login_password"] = "Password";
$lang["login_username"] = "Username";
$lang["login_welcome"] = "Welcome to %1!";

View File

@@ -39,3 +39,5 @@ $lang["module_suppliers"] = "Suppliers";
$lang["module_suppliers_desc"] = "Add, Update, Delete, and Search Suppliers.";
$lang["module_taxes"] = "Taxes";
$lang["module_taxes_desc"] = "Configure Sales Taxes.";
$lang["module_person_attributes"] = "Person Attributes";
$lang["module_person_attributes_desc"] = "Add, Update, Delete, and Search Person Attributes.";

View File

@@ -0,0 +1,30 @@
<?php
$lang["person_attributes_person_attribute_value_invalid_chars"] = "Person Attribute value cannot contain '_' or '|'";
$lang["person_attributes_confirm_delete"] = "Are you sure you want to delete the selected person_attribute(s)?";
$lang["person_attributes_confirm_restore"] = "Are you sure you want to restore the selected person attribute(s)?";
$lang["person_attributes_definition_cannot_be_deleted"] = "Could not delete selected person attribute(s)";
$lang["person_attributes_definition_error_adding_updating"] = "Person Attribute %1 could not be added or updated. Please check the error log.";
$lang["person_attributes_definition_flags"] = "Person Attribute Visibility";
$lang["person_attributes_definition_group"] = "Group";
$lang["person_attributes_definition_id"] = "Id";
$lang["person_attributes_definition_name"] = "Add Person Attribute";
$lang["person_attributes_definition_name_required"] = "Person Attribute name is a required field";
$lang["person_attributes_definition_one_or_multiple"] = "person_attribute(s)";
$lang["person_attributes_definition_successful_adding"] = "You have successfully added item";
$lang["person_attributes_definition_successful_deleted"] = "You have successfully deleted";
$lang["person_attributes_definition_successful_updating"] = "You have successfully updated person attribute";
$lang["person_attributes_definition_type"] = "Person Attribute Type";
$lang["person_attributes_definition_type_required"] = "Person Attribute type is a required field";
$lang["person_attributes_definition_unit"] = "Measurement Unit";
$lang["person_attributes_definition_values"] = "Person Attribute Values";
$lang["person_attributes_new"] = "New Person Attribute";
$lang["person_attributes_no_person_attributes_to_display"] = "No Items to display";
$lang["person_attributes_receipt_visibility"] = "Receipt";
$lang["person_attributes_show_in_customers"] = "Show in customers";
$lang["person_attributes_show_in_customers_visibility"] = "Customers";
$lang["person_attributes_show_in_employees"] = "Show in employees";
$lang["person_attributes_show_in_employees_visibility"] = "Employees";
$lang["person_attributes_show_in_suppliers"] = "Show in suppliers";
$lang["person_attributes_show_in_suppliers_visibility"] = "Suppliers";
$lang["person_attributes_update"] = "Update Person Attribute";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_available_points"] = "Available Points";
$lang["rewards_package"] = "Rewards";
$lang["rewards_remaining_balance"] = "Reward Points remaining value is ";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["attributes_attribute_value_invalid_chars"] = "El valor del atributo no puede contener ':' o '|'";
$lang["attributes_confirm_delete"] = "¿Está seguro de que desea borrar los atributos seleccionados?";
$lang["attributes_confirm_restore"] = "¿Está seguro de que desea restaurar los atributos seleccionados?";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["tables_all"] = "Todos";
$lang["tables_columns"] = "Columnas";
$lang["tables_hide_show_pagination"] = "Ocultar/Mostrar paginación";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["cashups_amount"] = "Cantidad";
$lang["cashups_amount_number"] = "Cantidad debe ser un numero";
$lang["cashups_amount_required"] = "Cantidad es un campo obligatorio.";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["common_address_1"] = "Dirección 1";
$lang["common_address_2"] = "Dirección 2";
$lang["common_city"] = "Ciudad";
@@ -27,6 +28,7 @@ $lang["common_gender"] = "Género";
$lang["common_gender_female"] = "F";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Importar";
$lang["common_import_change_file"] = "Cambiar";
@@ -40,6 +42,8 @@ $lang["common_last_name_required"] = "Apellidos es un campo requerido.";
$lang["common_last_page"] = "Ultima";
$lang["common_learn_about_project"] = "para leer la información más reciente acerca del proyecto.";
$lang["common_list_of"] = "Lista de";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Salir";
$lang["common_migration_needed"] = "La migración de la base de datos hacia %1 comenzará después de iniciar sesión.";
$lang["common_new"] = "Nuevo";
@@ -60,6 +64,8 @@ $lang["common_return_policy"] = "Política de Devolución";
$lang["common_search"] = "Buscar";
$lang["common_search_options"] = "Opciones de búsqueda";
$lang["common_searched_for"] = "Buscado";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Estado";
$lang["common_submit"] = "Enviar";
$lang["common_total_spent"] = "Total gastado";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["config_address"] = "Dirección del Comercio";
$lang["config_address_required"] = "Dirección del Comercio es requerida.";
$lang["config_all_set"] = "¡Todos los permisos de archivo están configurados correctamente!";
@@ -126,6 +127,7 @@ $lang["config_financial_year_may"] = "1º de Mayo";
$lang["config_financial_year_nov"] = "1º de Noviembre";
$lang["config_financial_year_oct"] = "1º de Octubre";
$lang["config_financial_year_sep"] = "1º de Septiembre";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Inicio de sesión con reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "Llave secreta reCAPTCHA";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key es requerida si se usa";
@@ -145,6 +147,7 @@ $lang["config_image_restrictions"] = "Restricciones de carga de imágenes";
$lang["config_include_hsn"] = "Incluir Soporte para Códigos HSN";
$lang["config_info"] = "Información";
$lang["config_info_configuration"] = "Información del Comercio";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "Componentes Integrados";
$lang["config_integrations_configuration"] = "Componentes de Terceros Integrados";
$lang["config_invoice"] = "Factura";
@@ -174,6 +177,7 @@ $lang["config_locale_info"] = "Informacion de la configuracion de la zona";
$lang["config_location"] = "Inventario";
$lang["config_location_configuration"] = "Ubicación de Inventario";
$lang["config_location_info"] = "Información de Configuración de Ubicación";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Desea hacer un respaldo antes de salir? Pulsa [OK] para respaldar o [Cancelar] para salir.";
$lang["config_mailchimp"] = "Correo Chimp";
$lang["config_mailchimp_api_key"] = "Clave de la API Mailchimp";
@@ -288,6 +292,7 @@ $lang["config_tax_decimals"] = "Decimales de impuestos";
$lang["config_tax_id"] = "Identificador del Impuesto";
$lang["config_tax_included"] = "Impuestos incluidos";
$lang["config_theme"] = "Tema";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Separador de miles";
$lang["config_timezone"] = "Zona Horaria";
$lang["config_timezone_error"] = "";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "Inválido, no soy un robot.";
$lang["login_invalid_installation"] = "La instalación no es correcta, comprueba el fichero php.ini.";
$lang["login_invalid_username_and_password"] = "Usuario o Contraseña no válidos.";
$lang["login_login"] = "Iniciar Sesión";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Contraseña";
$lang["login_username"] = "Usuario";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "Cantidad Recibida";
$lang["sales_authorized_signature"] = "Firma Autorizada";
$lang["sales_cancel_sale"] = "Cancelar Venta";
$lang["sales_cash"] = "Efectivo";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "Deposito Efectivo";
$lang["sales_cash_filter"] = "Efectivo";
$lang["sales_change_due"] = "Cambio";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Género";
$lang["common_gender_female"] = "M";
$lang["common_gender_male"] = "H";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Importar";
$lang["common_import_change_file"] = "Cambiar";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "El/Los Apellido(s) es un campo requerido."
$lang["common_last_page"] = "Último";
$lang["common_learn_about_project"] = "para conocer la última información sobre el proyecto.";
$lang["common_list_of"] = "Lista de";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Cerrar Sesión";
$lang["common_migration_needed"] = "La migración de la base de datos a %1 comenzará luego de acceder.";
$lang["common_new"] = "Nuevo(a)";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Política de Devoluciones";
$lang["common_search"] = "Buscar";
$lang["common_search_options"] = "Opciones de búsqueda";
$lang["common_searched_for"] = "Buscado por";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "Estado";
$lang["common_submit"] = "Enviar";
$lang["common_total_spent"] = "Total Gastado";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["config_address"] = "Dirección de la Empresa";
$lang["config_address_required"] = "La Dirección de la Empresa es un campo requerido.";
$lang["config_all_set"] = "All file permissions are set correctly!";
@@ -126,6 +127,7 @@ $lang["config_financial_year_may"] = "1st of May";
$lang["config_financial_year_nov"] = "1st of November";
$lang["config_financial_year_oct"] = "1st of October";
$lang["config_financial_year_sep"] = "1st of September";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Login Page reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "reCAPTCHA Secret Key";
$lang["config_gcaptcha_secret_key_required"] = "reCAPTCHA Secret Key is a required field";
@@ -145,6 +147,7 @@ $lang["config_image_restrictions"] = "Restricciones de carga de imágenes";
$lang["config_include_hsn"] = "Include Support for HSN Codes";
$lang["config_info"] = "Information";
$lang["config_info_configuration"] = "Store Information";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "Integraciones";
$lang["config_integrations_configuration"] = "Integraciones Externas";
$lang["config_invoice"] = "Invoice";
@@ -174,6 +177,7 @@ $lang["config_locale_info"] = "Localization Configuration Information";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Stock Locations";
$lang["config_location_info"] = "Location Configuration Information";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Do you want to make a backup before logging out? Click [OK] to backup or [Cancel] to logout.";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "Mailchimp Clave API";
@@ -288,6 +292,7 @@ $lang["config_tax_decimals"] = "Tax Decimals";
$lang["config_tax_id"] = "Tax Id";
$lang["config_tax_included"] = "Tax Included";
$lang["config_theme"] = "Theme";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Thousands Separator";
$lang["config_timezone"] = "Timezone";
$lang["config_timezone_error"] = "La zona horaria de OSPOS es diferente a su zona horaria local.";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["item_kits_add_item"] = "Agregar Artículo";
$lang["item_kits_all"] = "Todo";
$lang["item_kits_cannot_be_deleted"] = "Borrado de Kit(s) de Artículos fallido.";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "";
$lang["login_invalid_installation"] = "";
$lang["login_invalid_username_and_password"] = "";
$lang["login_login"] = "";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "";
$lang["login_username"] = "";
$lang["login_welcome"] = "";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["reports_all"] = "Todas";
$lang["reports_authority"] = "Autoridad";
$lang["reports_canceled"] = "Cancelado";
@@ -37,7 +38,7 @@ $lang["reports_discount_type"] = "";
$lang["reports_discounts"] = "";
$lang["reports_discounts_summary_report"] = "";
$lang["reports_earned"] = "";
$lang["reports_employee"] = "";
$lang["reports_employee"] = "Empleado";
$lang["reports_employees"] = "";
$lang["reports_employees_summary_report"] = "";
$lang["reports_expenses"] = "";

View File

@@ -1,4 +1,5 @@
<?php
<?php
$lang["customers_available_points"] = "Puntos Disponibles";
$lang["rewards_package"] = "Premios";
$lang["rewards_remaining_balance"] = "Puntos de recompensa sobrante son: ";
@@ -9,6 +10,7 @@ $lang["sales_amount_tendered"] = "Cantidad Recibida";
$lang["sales_authorized_signature"] = "Firma Autorizada";
$lang["sales_cancel_sale"] = "Cancelar";
$lang["sales_cash"] = "Efectivo";
$lang["sales_cash_adjustment"] = "Ajuste de efectivo";
$lang["sales_cash_deposit"] = "Deposito en Efectivo";
$lang["sales_cash_filter"] = "Efectivo";
$lang["sales_change_due"] = "Cambio";
@@ -178,4 +180,3 @@ $lang["sales_work_order_number"] = "Número de orden de trabajo";
$lang["sales_work_order_number_duplicate"] = "El número de orden de trabajo debe ser único.";
$lang["sales_work_order_sent"] = "Orden de trabajo enviada a";
$lang["sales_work_order_unsent"] = "Fallo al enviar la orden de trabajo a";
$lang["sales_cash_adjustment"] = "Ajuste de efectivo";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "جنس";
$lang["common_gender_female"] = "خانم";
$lang["common_gender_male"] = "آقا";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "شناسه";
$lang["common_import"] = "وارد كردن";
$lang["common_import_change_file"] = "تغییر";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "نام خانوادگی یک فیلد ضر
$lang["common_last_page"] = "آخر";
$lang["common_learn_about_project"] = "برای یادگیری آخرین اطلاعات در مورد پروژه.";
$lang["common_list_of"] = "فهرست";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "خروج";
$lang["common_migration_needed"] = "انتقال پایگاه داده به٪ 1 پس از ورود به سیستم آغاز می شود.";
$lang["common_new"] = "جدید";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "خط مشی بازگشت";
$lang["common_search"] = "جستجو کردن";
$lang["common_search_options"] = "گزینه های جستجو";
$lang["common_searched_for"] = "جستجو شد";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "دولت";
$lang["common_submit"] = "ارسال";
$lang["common_total_spent"] = "جمع هزینه";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "اول ماه مه";
$lang["config_financial_year_nov"] = "اول نوامبر";
$lang["config_financial_year_oct"] = "اول اکتبر";
$lang["config_financial_year_sep"] = "اول سپتامبر";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "صفحه ورود کپچا";
$lang["config_gcaptcha_secret_key"] = "کلید مخفی کپچا";
$lang["config_gcaptcha_secret_key_required"] = "کلید مخفی کپچا یک زمینه مورد نیاز است";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "محدودیتهای آپلود تصویر
$lang["config_include_hsn"] = "شامل پشتیبانی از کدهای اچ‌اس‌ان";
$lang["config_info"] = "اطلاعات";
$lang["config_info_configuration"] = "اطلاعات فروشگاه";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "ادغام";
$lang["config_integrations_configuration"] = "ادغام های شخص ثالث";
$lang["config_invoice"] = "صورتحساب";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "اطلاعات پیکربندی محلی سازی
$lang["config_location"] = "موجودی";
$lang["config_location_configuration"] = "محل سهام";
$lang["config_location_info"] = "اطلاعات پیکربندی موقعیت مکانی";
$lang["config_login_form"] = "";
$lang["config_logout"] = "آیا می خواهید قبل از ورود ، نسخه پشتیبان تهیه کنید؟ برای پشتیبان گیری یا [لغو] برای ورود به سیستم ، روی [اوکی] کلیک کنید";
$lang["config_mailchimp"] = "Mailchimp";
$lang["config_mailchimp_api_key"] = "کلید ای‌پی‌آی میل‌چیمپ";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "اعشار مالیاتی";
$lang["config_tax_id"] = "شناسه مالیاتی";
$lang["config_tax_included"] = "با احتساب مالیات";
$lang["config_theme"] = "موضوع";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "هزاران نفر";
$lang["config_timezone"] = "منطقه زمانی";
$lang["config_timezone_error"] = "منطقه زمانی اوسپوس با منطقه زمانی محلی شما متفاوت است.";

View File

@@ -6,5 +6,8 @@ $lang["login_invalid_gcaptcha"] = "نامعتبر من یک روبات نیست
$lang["login_invalid_installation"] = "نصب صحیح نیست ، پرونده php.ini خود را بررسی کنید.";
$lang["login_invalid_username_and_password"] = "نام کاربری یا گذرواژه نامعتبر است.";
$lang["login_login"] = "وارد شدن";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "کلمه عبور";
$lang["login_username"] = "نام کاربری";
$lang["login_welcome"] = "";

View File

@@ -10,6 +10,7 @@ $lang["sales_amount_tendered"] = "مبلغ مناقصه";
$lang["sales_authorized_signature"] = "امضای مجاز";
$lang["sales_cancel_sale"] = "لغو";
$lang["sales_cash"] = "نقدی";
$lang["sales_cash_adjustment"] = "";
$lang["sales_cash_deposit"] = "سپرده نقدی";
$lang["sales_cash_filter"] = "نقدی";
$lang["sales_change_due"] = "تغییر بدهی";

View File

@@ -1,31 +1,31 @@
<?php
$lang["attributes_attribute_value_invalid_chars"] = "";
$lang["attributes_confirm_delete"] = "";
$lang["attributes_confirm_restore"] = "";
$lang["attributes_definition_cannot_be_deleted"] = "";
$lang["attributes_definition_error_adding_updating"] = "";
$lang["attributes_definition_flags"] = "";
$lang["attributes_definition_group"] = "";
$lang["attributes_definition_id"] = "";
$lang["attributes_definition_name"] = "";
$lang["attributes_definition_name_required"] = "";
$lang["attributes_definition_one_or_multiple"] = "";
$lang["attributes_definition_successful_adding"] = "";
$lang["attributes_definition_successful_deleted"] = "";
$lang["attributes_definition_successful_updating"] = "";
$lang["attributes_definition_type"] = "";
$lang["attributes_definition_type_required"] = "";
$lang["attributes_definition_unit"] = "";
$lang["attributes_definition_values"] = "";
$lang["attributes_new"] = "";
$lang["attributes_no_attributes_to_display"] = "";
$lang["attributes_receipt_visibility"] = "";
$lang["attributes_show_in_items"] = "";
$lang["attributes_show_in_items_visibility"] = "";
$lang["attributes_show_in_receipt"] = "";
$lang["attributes_show_in_receivings"] = "";
$lang["attributes_show_in_receivings_visibility"] = "";
$lang["attributes_show_in_sales"] = "";
$lang["attributes_show_in_sales_visibility"] = "";
$lang["attributes_update"] = "";
$lang["attributes_attribute_value_invalid_chars"] = "La valeur de l'attribut ne doit pas contenir '_' ou '|'";
$lang["attributes_confirm_delete"] = "Êtes-vous certain que vous voulez supprimer le(s) attribut(s) sélectionné(s)?";
$lang["attributes_confirm_restore"] = "Êtes-vous certain que vous voulez restaurer le(s) attribut(s) sélectionné(s)?";
$lang["attributes_definition_cannot_be_deleted"] = "Le(s) attribut(s) sélectionné(s) n'ont pas pu être supprimé(s)";
$lang["attributes_definition_error_adding_updating"] = "L'attribut %1 n'a pas pu être ajouté ou mis-à-jour. Veuillez vérifier le journal des erreurs.";
$lang["attributes_definition_flags"] = "Visibilité de l'attribut";
$lang["attributes_definition_group"] = "Groupe";
$lang["attributes_definition_id"] = "ID";
$lang["attributes_definition_name"] = "Ajouter un attribut";
$lang["attributes_definition_name_required"] = "Le nom de l'attribut est requis";
$lang["attributes_definition_one_or_multiple"] = "attribut(s)";
$lang["attributes_definition_successful_adding"] = "Vous avez ajouté l'item avec succès";
$lang["attributes_definition_successful_deleted"] = "Vous avez supprimé avec succès";
$lang["attributes_definition_successful_updating"] = "Vous avez mis-à-jour l'attribut avec succès";
$lang["attributes_definition_type"] = "Type d'attribut";
$lang["attributes_definition_type_required"] = "Le type d'attribut est requis";
$lang["attributes_definition_unit"] = "Unité de mesure";
$lang["attributes_definition_values"] = "Valeurs de l'attribut";
$lang["attributes_new"] = "Nouvel attribut";
$lang["attributes_no_attributes_to_display"] = "Aucun attribut à afficher";
$lang["attributes_receipt_visibility"] = "Reçu";
$lang["attributes_show_in_items"] = "Afficher dans les items";
$lang["attributes_show_in_items_visibility"] = "Items";
$lang["attributes_show_in_receipt"] = "Afficher dans le reçu";
$lang["attributes_show_in_receivings"] = "Afficher dans les réceptions";
$lang["attributes_show_in_receivings_visibility"] = "Réceptions";
$lang["attributes_show_in_sales"] = "Afficher dans les ventes";
$lang["attributes_show_in_sales_visibility"] = "Ventes";
$lang["attributes_update"] = "Mettre à jour l'attribut";

View File

@@ -28,6 +28,7 @@ $lang["common_gender"] = "Genre";
$lang["common_gender_female"] = "F";
$lang["common_gender_male"] = "M";
$lang["common_gender_undefined"] = "";
$lang["common_icon"] = "";
$lang["common_id"] = "Id";
$lang["common_import"] = "Import";
$lang["common_import_change_file"] = "Changer";
@@ -41,6 +42,8 @@ $lang["common_last_name_required"] = "Le nom de famille est un champ obligatoire
$lang["common_last_page"] = "Dernier";
$lang["common_learn_about_project"] = "pour les dernières informations sur le projet.";
$lang["common_list_of"] = "Liste de";
$lang["common_logo"] = "";
$lang["common_logo_mark"] = "";
$lang["common_logout"] = "Déconnexion";
$lang["common_migration_needed"] = "Une migration de la base de donnée vers %1 démarrera après le connexion.";
$lang["common_new"] = "Nouveau";
@@ -61,6 +64,8 @@ $lang["common_return_policy"] = "Politique de Reprise";
$lang["common_search"] = "Recherche";
$lang["common_search_options"] = "Options de recherche";
$lang["common_searched_for"] = "Recherché";
$lang["common_software_short"] = "";
$lang["common_software_title"] = "";
$lang["common_state"] = "État";
$lang["common_submit"] = "Envoyer";
$lang["common_total_spent"] = "Dépenses Totales";

View File

@@ -127,6 +127,7 @@ $lang["config_financial_year_may"] = "1er mai";
$lang["config_financial_year_nov"] = "1er novembre";
$lang["config_financial_year_oct"] = "1er octobre";
$lang["config_financial_year_sep"] = "1er septembre";
$lang["config_floating_labels"] = "";
$lang["config_gcaptcha_enable"] = "Page de connexion reCAPTCHA";
$lang["config_gcaptcha_secret_key"] = "clé secrète reCAPTCHA";
$lang["config_gcaptcha_secret_key_required"] = "La clé secrète reCAPTCHA est un champ obligatoire";
@@ -146,6 +147,7 @@ $lang["config_image_restrictions"] = "";
$lang["config_include_hsn"] = "";
$lang["config_info"] = "Entreprise";
$lang["config_info_configuration"] = "Çonfiguration de l'Entreprise";
$lang["config_input_groups"] = "";
$lang["config_integrations"] = "";
$lang["config_integrations_configuration"] = "";
$lang["config_invoice"] = "Facture";
@@ -175,6 +177,7 @@ $lang["config_locale_info"] = "Informations de configuration de localisation";
$lang["config_location"] = "Stock";
$lang["config_location_configuration"] = "Emplacements de stock";
$lang["config_location_info"] = "Informations de configuration de l'emplacement";
$lang["config_login_form"] = "";
$lang["config_logout"] = "Voulez-vous faire une sauvegarde avant de vous déconnecter? Cliquez sur [OK] pour sauvegarder ou sur [Annuler] pour vous déconnecter.";
$lang["config_mailchimp"] = "MailChimp";
$lang["config_mailchimp_api_key"] = "Clé API Mailchimp";
@@ -289,6 +292,7 @@ $lang["config_tax_decimals"] = "Décimales fiscales";
$lang["config_tax_id"] = "";
$lang["config_tax_included"] = "Taxe inclu";
$lang["config_theme"] = "Thème";
$lang["config_theme_preview"] = "";
$lang["config_thousands_separator"] = "Séparateur de milliers";
$lang["config_timezone"] = "Fuseau Horaire";
$lang["config_timezone_error"] = "";

View File

@@ -2,9 +2,12 @@
$lang["login_gcaptcha"] = "Je ne suis pas un robot.";
$lang["login_go"] = "Lancer";
$lang["login_invalid_gcaptcha"] = "Invalide, je ne suis pas un robot.";
$lang["login_invalid_installation"] = "";
$lang["login_invalid_gcaptcha"] = "Veuillez vérifier que vous n'êtes pas un robot.";
$lang["login_invalid_installation"] = "Cette installation est incorrecte, veuillez vérifier votre fichier php.ini.";
$lang["login_invalid_username_and_password"] = "Entrée invalide.";
$lang["login_login"] = "Login";
$lang["login_logout"] = "";
$lang["login_migration_needed"] = "";
$lang["login_password"] = "Mot de passe";
$lang["login_username"] = "Nom d'utilisateur";
$lang["login_welcome"] = "";

Some files were not shown because too many files have changed in this diff Show More