Compare commits

...

265 Commits

Author SHA1 Message Date
Sylvia van Os
e66c5e36fb Release Catima 2.24.0 2023-06-10 10:44:42 +02:00
Sylvia van Os
fd0ca37a6a Merge branch 'main' of github.com:CatimaLoyalty/Android 2023-06-08 20:26:39 +02:00
Sylvia van Os
e926a397a7 Add missing dates to CHANGELOG 2023-06-08 20:26:31 +02:00
Sylvia van Os
4f9a6b307f Merge pull request #1358 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-06-08 19:59:39 +02:00
Clxff H3r4ld0
df60f6adc2 Translated using Weblate (Indonesian)
Currently translated at 93.4% (114 of 122 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2023-06-08 16:49:14 +02:00
Clxff H3r4ld0
d6287a3cf1 Translated using Weblate (Indonesian)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2023-06-08 16:49:14 +02:00
Sylvia van Os
7f81d727f0 Merge pull request #1357 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-06-07 18:37:15 +02:00
Sylvia van Os
03239f0cab Fix dark mode rendering glitch (#1355) 2023-06-07 18:35:30 +02:00
Sylvia van Os
4b6497cba2 Merge pull request #1356 from obfusk/gha-ubuntu-openjdk
CI: use OpenJDK 17 from Ubuntu
2023-06-07 18:31:29 +02:00
109247019824
99008291fb Translated using Weblate (Bulgarian)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-06-07 15:49:23 +02:00
solokot
079049722c Translated using Weblate (Russian)
Currently translated at 100.0% (122 of 122 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-06-07 15:49:23 +02:00
FineFindus
73200e1ac3 Translated using Weblate (German)
Currently translated at 100.0% (122 of 122 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2023-06-07 15:49:23 +02:00
frablock
39b816ddb1 Translated using Weblate (French)
Currently translated at 99.1% (121 of 122 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2023-06-07 15:49:23 +02:00
Hubert Maciejewicz
be43c1633d Translated using Weblate (Polish)
Currently translated at 98.6% (283 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2023-06-07 15:49:23 +02:00
J. Lavoie
f6c9613731 Translated using Weblate (French)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2023-06-07 15:49:23 +02:00
FineFindus
99de8cffd8 Translated using Weblate (German)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2023-06-07 15:49:23 +02:00
FC Stegerman
a867265c66 CI: use OpenJDK 17 from Ubuntu 2023-06-07 13:19:40 +02:00
Sylvia van Os
f43df37c80 Merge pull request #1353 from obfusk/patch-4
CI: add 5m timeout (before retry) to unit test that gets stuck
2023-06-06 23:31:39 +02:00
FC Stegerman
cb70b1229f CI: add 5m timeout (before retry) to unit test that gets stuck 2023-06-05 18:58:58 +00:00
Ziad OUALHADJ
b0b54a1065 Fixed the sorting option to match the other filters 2023-06-05 20:22:07 +02:00
Sylvia van Os
4ccfa7fb84 Merge pull request #1352 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-06-05 19:35:12 +02:00
Sylvia van Os
9932b10652 Fix broken translation 2023-06-05 19:15:18 +02:00
Mai Tnt
60fe6a13ff Translated using Weblate (Croatian)
Currently translated at 97.9% (281 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2023-06-05 12:22:44 +02:00
Slávek Banko
0bf30f08a1 Translated using Weblate (Czech)
Currently translated at 100.0% (122 of 122 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-06-05 12:22:43 +02:00
solokot
112fca041b Translated using Weblate (Russian)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-06-05 12:22:38 +02:00
Heimen Stoffels
59af5cb07b Translated using Weblate (Dutch)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-06-05 12:22:38 +02:00
Slávek Banko
9182837ae8 Translated using Weblate (Czech)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2023-06-05 12:22:37 +02:00
Mr. Adil
3f3d85c8b6 Translated using Weblate (Bengali)
Currently translated at 31.7% (89 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn/
2023-06-05 09:53:14 +02:00
Jason Li
29c068df47 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (121 of 121 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2023-06-05 09:53:13 +02:00
Jason Li
03a480f3b9 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2023-06-05 09:53:13 +02:00
Slávek Banko
0feb0fcd16 Translated using Weblate (Czech)
Currently translated at 100.0% (121 of 121 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-06-05 09:53:13 +02:00
J. Lavoie
7f1a221fec Translated using Weblate (Italian)
Currently translated at 99.6% (279 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2023-06-05 09:53:13 +02:00
J. Lavoie
7b52338669 Translated using Weblate (French)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2023-06-05 09:53:13 +02:00
J. Lavoie
0a2925eafa Translated using Weblate (German)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2023-06-05 09:53:13 +02:00
Sylvia van Os
92f37376a6 Merge pull request #1351 from obfusk/patch-3
README: explicitly say "OpenJDK 17", not just "Java 17"
2023-06-04 22:00:20 +02:00
FC Stegerman
08fbc30a29 README: explicitly say "OpenJDK 17", not just "Java 17" 2023-06-04 19:07:43 +00:00
Sylvia van Os
91dbcf339f Catima uses Java 17 to build 2023-06-04 20:59:26 +02:00
Sylvia van Os
24fe6886c9 Lower fullscreen bottom padding to reduce the chance of overlapping UI elements
Partially fixes https://github.com/CatimaLoyalty/Android/issues/1332
2023-06-04 19:20:00 +02:00
Sylvia van Os
270546d022 Update screenshots 2023-06-04 19:00:59 +02:00
Sylvia van Os
fe278324f3 Merge pull request #1349 from CatimaLoyalty/create-pull-request/patch-1685896355
Update Fastlane changelogs
2023-06-04 18:34:52 +02:00
TheLastProject
c7c18a0a14 Update Fastlane changelogs 2023-06-04 16:32:35 +00:00
Sylvia van Os
d6fcb71722 Merge pull request #1347 from CatimaLoyalty/feature/detailSettings
Support selecting exactly which details to view in main view
2023-06-04 18:32:20 +02:00
Sylvia van Os
32ce1e02aa Smaller store name font on main screen 2023-06-04 18:14:23 +02:00
Sylvia van Os
8a8faac201 Merge pull request #1345 from obfusk/dialog-top-padding
add top content padding to dialogs
2023-06-04 16:11:31 +02:00
Sylvia van Os
2793f38d19 Move store name below card image 2023-06-04 14:55:26 +02:00
Sylvia van Os
654e3f7843 Improve text readability on icon 2023-06-04 11:20:17 +02:00
Sylvia van Os
2a6fe92b1b Support selecting exactly which details to view in main view 2023-06-04 11:06:35 +02:00
Sylvia van Os
b3cd102332 Merge pull request #1348 from CatimaLoyalty/create-pull-request/patch-1685860707
Update contributors
2023-06-04 11:03:31 +02:00
TheLastProject
e12bfa81dc Update contributors 2023-06-04 06:38:26 +00:00
FC Stegerman
e859e7849d add top content padding to dialogs 2023-06-03 23:14:49 +02:00
Sylvia van Os
7a4c9ce84f Release Catima 2.23.3 2023-06-03 17:12:27 +02:00
Sylvia van Os
6419ca7d11 Merge pull request #1341 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-06-03 15:59:03 +02:00
Clxff H3r4ld0
d1b23c712a Translated using Weblate (Indonesian)
Currently translated at 94.1% (113 of 120 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2023-06-03 15:44:42 +02:00
Sabri Ünal
ef5b525401 Translated using Weblate (Turkish)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2023-06-03 15:44:42 +02:00
frablock
a8d5cb9ef8 Translated using Weblate (French)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2023-06-03 15:44:42 +02:00
Sylvia van Os
42090310d4 Merge pull request #1340 from CatimaLoyalty/create-pull-request/patch-1685795604
Update Fastlane changelogs
2023-06-03 14:34:32 +02:00
TheLastProject
9d8da2a451 Update Fastlane changelogs 2023-06-03 12:33:24 +00:00
Sylvia van Os
fb488af2b7 Fix barcode being invisible on square screens
See https://github.com/CatimaLoyalty/Android/issues/1339
2023-06-03 14:33:04 +02:00
Sylvia van Os
71052c9f69 Merge pull request #1338 from CatimaLoyalty/create-pull-request/patch-1685789977
Update Fastlane changelogs
2023-06-03 13:00:10 +02:00
TheLastProject
2a285f6d21 Update Fastlane changelogs 2023-06-03 10:59:37 +00:00
Sylvia van Os
e668ae7d9d Update CHANGELOG 2023-06-03 12:59:20 +02:00
Sylvia van Os
4a197c542a Merge pull request #1329 from obfusk/patch-2
make checkBox_reverse font size match sort type radio buttons
2023-06-03 12:58:44 +02:00
Sylvia van Os
720c6b6510 Merge pull request #1337 from obfusk/view-card-id
LoyaltyCardViewActivity: use "Card ID" as title for dialog
2023-06-02 20:24:14 +02:00
FC Stegerman
d932ebb9f2 LoyaltyCardViewActivity: use "Card ID" as title for dialog 2023-06-02 20:17:04 +02:00
Poorva Patidar
77b6d8724b Made barcode value text Selectable (#1331) 2023-06-02 19:57:51 +02:00
Swayam Khare
5ff002da51 Added margin to EditText in AlertDialog (#1328) 2023-06-02 19:47:23 +02:00
Sylvia van Os
16b3fbdf9c Merge pull request #1334 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-06-02 08:32:18 +02:00
109247019824
4f11eceb3b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-06-02 06:47:46 +02:00
Eryk Michalak
c11d777bcc Translated using Weblate (Polish)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2023-06-02 06:47:46 +02:00
Sylvia van Os
49cda90ac6 Merge pull request #1330 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-31 21:13:11 +02:00
Balázs Meskó
63e4f4fd0d Translated using Weblate (Hungarian)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-05-31 20:49:42 +02:00
109247019824
c44845582c Translated using Weblate (Bulgarian)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-05-31 20:49:42 +02:00
solokot
b0771d3b01 Translated using Weblate (Russian)
Currently translated at 100.0% (120 of 120 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-05-31 20:49:42 +02:00
FC Stegerman
285a7a9aa7 make checkBox_reverse font size match sort type radio buttons 2023-05-31 15:40:04 +00:00
Sylvia van Os
818c5e1643 Merge branch 'main' of github.com:TheLastProject/loyalty-card-locker 2023-05-30 18:54:50 +02:00
Sylvia van Os
7ffaf65635 Use regular title in info dialog 2023-05-30 18:54:42 +02:00
Sylvia van Os
bf50dcbaf3 Merge pull request #1321 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-30 18:25:02 +02:00
Balanda Nazarii
3e83035cf6 Translated using Weblate (Ukrainian)
Currently translated at 98.3% (118 of 120 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2023-05-30 13:24:00 +02:00
Sylvia van Os
e921aab322 Release Catima 2.23.2 2023-05-30 12:59:21 +02:00
Sylvia van Os
1ea125d7f9 Merge pull request #1317 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-30 12:48:13 +02:00
Sylvia van Os
c828ec516c Merge pull request #1319 from CatimaLoyalty/create-pull-request/patch-1685442708
Update Fastlane changelogs
2023-05-30 12:32:31 +02:00
TheLastProject
5704ce1381 Update Fastlane changelogs 2023-05-30 10:31:47 +00:00
Sylvia van Os
ca33184e81 Merge branch 'main' of github.com:TheLastProject/loyalty-card-locker 2023-05-30 12:31:31 +02:00
Sylvia van Os
82db76f3a9 Fix long barcode values causing barcode to scale down to nothing 2023-05-30 12:31:21 +02:00
Sylvia van Os
ab6955cf9b Fix set icon menu sometimes re-opening after returning from image cropper 2023-05-30 12:29:55 +02:00
Enol P
a1c81c3223 Translated using Weblate (Asturian)
Currently translated at 0.8% (1 of 120 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ast/
2023-05-30 12:06:46 +02:00
Enol P
43e7114f16 Translated using Weblate (Asturian)
Currently translated at 30.3% (85 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ast/
2023-05-30 12:06:46 +02:00
Slávek Banko
d1b84097f6 Translated using Weblate (Czech)
Currently translated at 100.0% (120 of 120 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-05-30 12:06:45 +02:00
solokot
2c9b3896c9 Translated using Weblate (Russian)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-05-30 12:06:40 +02:00
Heimen Stoffels
3dbee69847 Translated using Weblate (Dutch)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-05-30 12:06:39 +02:00
Slávek Banko
4f9414ab4f Translated using Weblate (Czech)
Currently translated at 100.0% (280 of 280 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2023-05-30 12:06:39 +02:00
Enol P
5a4043bf90 Added translation using Weblate (Asturian) 2023-05-30 02:00:59 +02:00
Balanda Nazarii
f742639925 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-05-30 00:10:19 +02:00
Eryk Michalak
e50cca781e Translated using Weblate (Polish)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2023-05-30 00:10:19 +02:00
Sylvia van Os
1abff7c900 Merge pull request #1316 from CatimaLoyalty/create-pull-request/patch-1685381842
Update Fastlane changelogs
2023-05-29 19:40:10 +02:00
TheLastProject
8f24fcee96 Update Fastlane changelogs 2023-05-29 17:37:22 +00:00
Sylvia van Os
f3e1bfc503 Improve button styling in Groups screen 2023-05-29 19:37:03 +02:00
Sylvia van Os
65e3b87df4 Merge branch 'main' of github.com:TheLastProject/loyalty-card-locker 2023-05-29 18:20:08 +02:00
Sylvia van Os
2dbe9ebb8a Fix text and icon alignment on home screen 2023-05-29 18:06:49 +02:00
Sylvia van Os
ccfbe1f679 Merge pull request #1315 from CatimaLoyalty/create-pull-request/patch-1685369384
Update Fastlane changelogs
2023-05-29 16:27:57 +02:00
TheLastProject
3a4467db83 Update Fastlane changelogs 2023-05-29 14:09:44 +00:00
Sylvia van Os
419d28163e Long-press card icon in view activity to change it 2023-05-29 16:09:27 +02:00
Sylvia van Os
89483c4c4e Merge branch 'main' of github.com:TheLastProject/loyalty-card-locker 2023-05-28 21:18:24 +02:00
Sylvia van Os
4e921eb5d7 Update fastlane 2023-05-28 21:18:16 +02:00
Sylvia van Os
0cf266c6f1 Merge pull request #1314 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-28 14:24:58 +02:00
Slávek Banko
20f9f971a1 Translated using Weblate (Czech)
Currently translated at 100.0% (119 of 119 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-05-28 12:49:56 +02:00
Heimen Stoffels
0150ca81cf Translated using Weblate (Dutch)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-05-28 12:49:56 +02:00
Sylvia van Os
4fd6092f8d Merge pull request #1313 from CatimaLoyalty/create-pull-request/patch-1685258004
Update contributors
2023-05-28 10:33:47 +02:00
TheLastProject
a488003e4a Update contributors 2023-05-28 07:13:23 +00:00
Sylvia van Os
9e0e8bab75 Release Catima 2.23.1 2023-05-27 17:53:03 +02:00
Sylvia van Os
0eca05d656 Merge pull request #1310 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-27 12:45:32 +02:00
Sylvia van Os
1c5d102a59 Fix lint 2023-05-27 12:39:20 +02:00
Eudes-alencar
400d0f4e22 Translated using Weblate (Portuguese)
Currently translated at 100.0% (118 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-05-27 12:31:19 +02:00
Clxff H3r4ld0
4c0593d333 Translated using Weblate (Indonesian)
Currently translated at 94.0% (111 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2023-05-27 12:31:19 +02:00
Eudes-alencar
87d82b1b6d Translated using Weblate (Portuguese)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt/
2023-05-27 12:31:19 +02:00
WaldiS
8ea4a3309d Translated using Weblate (Polish)
Currently translated at 99.6% (287 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2023-05-27 12:31:19 +02:00
Sylvia van Os
18088b30bd Delete unused resources 2023-05-25 22:43:58 +02:00
Sylvia van Os
875309bc5e Merge pull request #1309 from CatimaLoyalty/create-pull-request/patch-1685044413
Update Fastlane changelogs
2023-05-25 22:04:46 +02:00
TheLastProject
95520a7051 Update Fastlane changelogs 2023-05-25 19:53:32 +00:00
Sylvia van Os
ab9391db38 Update libraries
It seems Material 1.9.0 slightly changes some paddings, so created new
screenshots
2023-05-25 21:52:38 +02:00
Sylvia van Os
e43e4b37ae Merge branch 'main' of github.com:TheLastProject/loyalty-card-locker 2023-05-25 21:28:47 +02:00
Sylvia van Os
f2d856b661 Actually properly remove font scale setting 2023-05-25 21:20:32 +02:00
Sylvia van Os
8c6c5fb767 Merge pull request #1308 from obfusk/patch-1
fix typo in RELEASE_STEPS.md
2023-05-25 21:10:41 +02:00
FC Stegerman
bb4ec8f8be fix typo in RELEASE_STEPS.md 2023-05-25 18:55:53 +00:00
Sylvia van Os
e5fd277198 Release Catima 2.23.0 2023-05-25 19:01:37 +02:00
Sylvia van Os
93b089c646 Merge pull request #1306 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-25 18:12:36 +02:00
Clxff Heraldo
5e37a9b89f Translated using Weblate (Indonesian)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2023-05-25 18:05:27 +02:00
Slávek Banko
27cc7b9008 Translated using Weblate (Czech)
Currently translated at 100.0% (118 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-05-25 18:05:27 +02:00
Slávek Banko
0749bbd432 Translated using Weblate (Czech)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2023-05-25 18:05:27 +02:00
Sylvia van Os
9b1e0537c9 Merge pull request #1305 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-24 18:00:00 +02:00
Balázs Meskó
3b2b45f08f Translated using Weblate (Hungarian)
Currently translated at 25.4% (30 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hu/
2023-05-24 13:50:37 +02:00
Milo Ivir
60a5e60ae0 Translated using Weblate (Croatian)
Currently translated at 2.5% (3 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hr/
2023-05-24 13:50:37 +02:00
Milo Ivir
77513d5528 Translated using Weblate (Croatian)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2023-05-24 13:50:37 +02:00
丛林意志
15fa483490 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (118 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2023-05-24 13:50:37 +02:00
SilverFS
40ba47d60c Translated using Weblate (Dutch)
Currently translated at 11.8% (14 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nl/
2023-05-24 13:50:37 +02:00
solokot
986327d141 Translated using Weblate (Russian)
Currently translated at 100.0% (118 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-05-24 13:50:37 +02:00
Jean Mareilles
36f0dde3b2 Translated using Weblate (French)
Currently translated at 99.1% (117 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2023-05-24 13:50:37 +02:00
Giovanni Donisi
f0a695a616 Translated using Weblate (Italian)
Currently translated at 99.6% (287 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2023-05-24 13:50:37 +02:00
Jean Mareilles
810b0f3c14 Translated using Weblate (French)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2023-05-24 13:50:37 +02:00
Mateo Gomez
fcf08a8900 Translated using Weblate (Spanish)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2023-05-24 13:50:37 +02:00
Sylvia van Os
939bf6a788 Merge pull request #1304 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-22 20:15:09 +02:00
Minecraft boom
935f899d0f Translated using Weblate (Arabic)
Currently translated at 97.2% (280 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-05-22 06:54:30 +02:00
Balázs Meskó
6c8d79ef36 Translated using Weblate (Hungarian)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-05-22 06:54:30 +02:00
Oğuz Ersen
178707b482 Translated using Weblate (Turkish)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2023-05-22 06:54:30 +02:00
109247019824
0f2c9cb63d Translated using Weblate (Bulgarian)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-05-22 06:54:30 +02:00
丛林意志
0869a00f0c Translated using Weblate (Chinese (Simplified))
Currently translated at 99.1% (117 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2023-05-22 06:54:30 +02:00
丛林意志
b63b8c4ea7 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2023-05-22 06:54:30 +02:00
solokot
76d77a2af4 Translated using Weblate (Russian)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-05-22 06:54:30 +02:00
Heimen Stoffels
dade0b7a54 Translated using Weblate (Dutch)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-05-22 06:54:30 +02:00
Artūras Kalenda
68801d6958 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (288 of 288 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/lt/
2023-05-22 06:54:30 +02:00
Sylvia van Os
5c3ec85043 Merge pull request #1303 from CatimaLoyalty/create-pull-request/patch-1684674032
Update Fastlane changelogs
2023-05-21 15:02:20 +02:00
TheLastProject
6332e396cb Update Fastlane changelogs 2023-05-21 13:00:31 +00:00
Sylvia van Os
7f022feb6a Fix crash when using "Take a photo" with disabled camera app 2023-05-21 15:00:11 +02:00
Sylvia van Os
1fa8487474 Bump AGP 2023-05-21 14:48:20 +02:00
Sylvia van Os
0e040a73eb Merge branch 'main' of github.com:TheLastProject/loyalty-card-locker 2023-05-21 14:34:51 +02:00
Sylvia van Os
65acb885af Fix crash on disabled camera app 2023-05-21 14:34:39 +02:00
Sylvia van Os
ee28957cbd Merge pull request #1302 from CatimaLoyalty/create-pull-request/patch-1684649320
Update contributors
2023-05-21 09:23:27 +02:00
TheLastProject
0e9f4d9f2b Update contributors 2023-05-21 06:08:39 +00:00
Sylvia van Os
58974cf738 Merge pull request #1301 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-20 13:32:23 +02:00
Balázs Meskó
c56c931a70 Translated using Weblate (Hungarian)
Currently translated at 15.2% (18 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hu/
2023-05-20 11:53:50 +02:00
Quentin PAGÈS
c83e8b6682 Translated using Weblate (Occitan)
Currently translated at 34.8% (100 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/oc/
2023-05-20 11:53:50 +02:00
109247019824
449ab86b5a Translated using Weblate (Bulgarian)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-05-20 11:53:50 +02:00
solokot
8f18bbe0ac Translated using Weblate (Russian)
Currently translated at 100.0% (118 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-05-20 11:53:50 +02:00
Altons
992e61b88a Translated using Weblate (French)
Currently translated at 97.4% (115 of 118 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2023-05-20 11:53:50 +02:00
solokot
47b92fb38c Translated using Weblate (Russian)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-05-20 11:53:50 +02:00
Heimen Stoffels
b9963bb967 Translated using Weblate (Dutch)
Currently translated at 100.0% (287 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-05-20 11:53:50 +02:00
Carlo Cuoghi
d642d57b85 Translated using Weblate (Italian)
Currently translated at 98.2% (282 of 287 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2023-05-20 11:53:50 +02:00
Sylvia van Os
9e0e8f6d7f Redo all screenshots with exact same Material colour 2023-05-18 22:54:38 +02:00
Sylvia van Os
e486755e6a Merge pull request #1273 from CatimaLoyalty/feature/donationLink
Add donation link on non-Google installs
2023-05-18 21:44:48 +02:00
Sylvia van Os
1bb803ef0a Add donation link on non-Google installs
Inspired by https://git.zx2c4.com/wireguard-android/commit/?id=dc1860c74dd67e18a66fe9e243eeffa689bef043
2023-05-18 19:33:06 +02:00
Sylvia van Os
f729f9758b Merge pull request #1299 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.10.3
Bump org.robolectric:robolectric from 4.10.2 to 4.10.3
2023-05-18 19:03:47 +02:00
Sylvia van Os
abe3bc7d87 Merge pull request #1300 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-18 19:03:27 +02:00
Balázs Meskó
454bb6a1aa Translated using Weblate (Hungarian)
Currently translated at 7.6% (9 of 117 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hu/
2023-05-18 18:52:16 +02:00
Balázs Meskó
2d4d4e2309 Translated using Weblate (Hungarian)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-05-18 18:52:16 +02:00
IllusiveMan196
e7c4010e8d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (117 of 117 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2023-05-18 18:52:16 +02:00
dependabot[bot]
cc363e0c04 Bump org.robolectric:robolectric from 4.10.2 to 4.10.3
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.10.2 to 4.10.3.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.10.2...robolectric-4.10.3)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-18 02:58:51 +00:00
Sylvia van Os
deacc4a69b Merge pull request #1298 from CatimaLoyalty/create-pull-request/patch-1684361188
Update Fastlane changelogs
2023-05-18 00:26:17 +02:00
TheLastProject
ac6e6e0985 Update Fastlane changelogs 2023-05-17 22:06:27 +00:00
Sylvia van Os
fd37a2708f Update CHANGELOG 2023-05-18 00:06:13 +02:00
Sylvia van Os
85ea314dc9 Merge pull request #1294 from pokegh0st/fix/preferences
Update Settings screen to use Material You design
2023-05-18 00:05:22 +02:00
Sylvia van Os
7fd5fe6ee0 Merge pull request #1290 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.10.2
Bump org.robolectric:robolectric from 4.10.1 to 4.10.2
2023-05-17 21:17:10 +02:00
Sylvia van Os
2c35ad3044 Merge pull request #1297 from CatimaLoyalty/create-pull-request/patch-1684350973
Update Fastlane changelogs
2023-05-17 21:16:47 +02:00
TheLastProject
210e305bae Update Fastlane changelogs 2023-05-17 19:16:13 +00:00
Sylvia van Os
b48de921fc Redesign of home screen and view UI (#1296)
* Redesign of home screen and view UI

* Update screenshots and CHANGELOG

* Make spotbugs happy

* Fix double store name announcement
2023-05-17 21:15:56 +02:00
Sylvia van Os
ebc2bfcbbb Merge pull request #1295 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-16 20:01:45 +02:00
Subhradeep Bera
b1ec67928f Translated using Weblate (Bengali (India))
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-05-16 19:51:02 +02:00
pokegh0st
2beafe954b fix: Change dialog windows to Material 3 2023-05-16 18:52:07 +03:00
pokegh0st
25b6c4d8cc fix: Change switches to Material 3 2023-05-15 19:49:00 +03:00
Sylvia van Os
a3f1b9c0b9 Merge pull request #1293 from CatimaLoyalty/create-pull-request/patch-1684044523
Update contributors
2023-05-14 09:45:50 +02:00
TheLastProject
14d5545c88 Update contributors 2023-05-14 06:08:42 +00:00
Sylvia van Os
0977b9d20a Merge pull request #1292 from CatimaLoyalty/create-pull-request/patch-1683439738
Update contributors
2023-05-07 10:38:07 +02:00
Sylvia van Os
bad0990dfb Merge pull request #1291 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-05-07 10:37:50 +02:00
TheLastProject
98c34abd66 Update contributors 2023-05-07 06:08:58 +00:00
Clxff Heraldo
b4d1463453 Translated using Weblate (Indonesian)
Currently translated at 94.0% (110 of 117 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2023-05-07 06:54:09 +02:00
dependabot[bot]
659b86e31a Bump org.robolectric:robolectric from 4.10.1 to 4.10.2
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.10.1 to 4.10.2.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.10.1...robolectric-4.10.2)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 02:58:25 +00:00
Sylvia van Os
d63e269172 Merge pull request #1286 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.10.1
Bump org.robolectric:robolectric from 4.10 to 4.10.1
2023-05-03 18:17:01 +02:00
dependabot[bot]
77aa768c5c Bump org.robolectric:robolectric from 4.10 to 4.10.1
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.10 to 4.10.1.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.10...robolectric-4.10.1)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 02:58:28 +00:00
Sylvia van Os
8c74d4c2d0 Merge pull request #1283 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-04-30 13:44:34 +02:00
Sylvia van Os
a6280108ec Delete invalid translation 2023-04-30 13:37:44 +02:00
Sylvia van Os
829630219f Merge pull request #1284 from CatimaLoyalty/create-pull-request/patch-1682832840
Update contributors
2023-04-30 11:11:14 +02:00
TheLastProject
22a736d7fd Update contributors 2023-04-30 05:34:00 +00:00
Gael Caraballo
4418492e7c Translated using Weblate (Catalan)
Currently translated at 19.3% (54 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ca/
2023-04-30 06:52:58 +02:00
Cap Amr Karam
c21e12bbf0 Translated using Weblate (Arabic)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-04-30 06:52:58 +02:00
liva
9af05be128 Translated using Weblate (Latvian)
Currently translated at 98.2% (274 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/lv/
2023-04-30 06:52:58 +02:00
Sylvia van Os
e036443233 Merge pull request #1280 from CatimaLoyalty/create-pull-request/patch-1682233171
Update contributors
2023-04-23 11:01:43 +02:00
TheLastProject
7e605f284d Update contributors 2023-04-23 06:59:30 +00:00
Sylvia van Os
e712b8e18d Update fastlane 2023-04-19 17:44:53 +02:00
Sylvia van Os
2ff137ee04 Merge pull request #1278 from CatimaLoyalty/simplify_tests
Move all import unit test strings to their own files
2023-04-18 18:42:15 +02:00
Sylvia van Os
3b45802a7f Move all import unit test strings to their own files
They should've been files from the start, because you import files, not
text string.
2023-04-17 20:48:27 +02:00
Sylvia van Os
0de4847f6a Merge pull request #1276 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-04-16 22:02:19 +02:00
Projjal Moitra
47e2566043 Translated using Weblate (Bengali (India))
Currently translated at 78.4% (219 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-04-16 20:49:48 +02:00
Sylvia van Os
18c17796b9 Merge pull request #1275 from CatimaLoyalty/fix/unitTestsTarget
Ensure unit tests use targetSdk instead of API 23 (Android 6)
2023-04-16 16:11:34 +02:00
Sylvia van Os
4b2b999653 Ensure unit tests use targetSdk instead of API 23 (Android 6) 2023-04-16 15:20:30 +02:00
Sylvia van Os
3b51121c9e Merge pull request #1274 from CatimaLoyalty/create-pull-request/patch-1681625007
Update contributors
2023-04-16 09:45:59 +02:00
TheLastProject
2fc9581643 Update contributors 2023-04-16 06:03:27 +00:00
Sylvia van Os
68f3f37e23 Merge pull request #1272 from CatimaLoyalty/fix/ci
Fix CI build
2023-04-14 21:10:04 +02:00
Sylvia van Os
38658d0aa7 Fix CI build 2023-04-14 21:02:53 +02:00
Sylvia van Os
339750e97c Update AGP to 8.0.0 2023-04-14 20:56:29 +02:00
Sylvia van Os
510995a5c5 Release Catima 2.22.1 2023-04-14 18:38:48 +02:00
Sylvia van Os
a039d5de9e Merge pull request #1270 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-04-14 18:10:52 +02:00
Projjal Moitra
df11bd8f69 Translated using Weblate (Bengali (India))
Currently translated at 73.8% (206 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-04-14 17:48:15 +02:00
Sylvia van Os
17c80573bd Merge pull request #1269 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.10
Bump org.robolectric:robolectric from 4.9.2 to 4.10
2023-04-12 17:36:52 +02:00
dependabot[bot]
bc71c02e87 Bump org.robolectric:robolectric from 4.9.2 to 4.10
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.9.2 to 4.10.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.9.2...robolectric-4.10)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 02:59:34 +00:00
Sylvia van Os
d892fe40ba Merge pull request #1268 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-04-11 18:08:38 +02:00
SC
06839f6ddb Translated using Weblate (Portuguese)
Currently translated at 100.0% (117 of 117 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-04-11 16:54:22 +02:00
Projjal Moitra
ee57703ffc Translated using Weblate (Bengali (India))
Currently translated at 72.0% (201 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-04-11 16:54:22 +02:00
solokot
e780f5fb87 Translated using Weblate (Russian)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-04-11 16:54:22 +02:00
Sylvia van Os
6b9a0a0696 Merge pull request #1266 from CatimaLoyalty/deps/update_spotbugs
Update spotbugs
2023-04-10 22:38:01 +02:00
Sylvia van Os
6653a940ed Make spotbugs happy 2023-04-10 21:36:35 +02:00
Sylvia van Os
47821752f0 Merge pull request #1267 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-04-10 13:19:47 +02:00
Sylvia van Os
bf05bd7e56 Fix lint 2023-04-10 13:12:10 +02:00
Projjal Moitra
2dd622b9c4 Translated using Weblate (Bengali (India))
Currently translated at 68.1% (190 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-04-10 09:53:13 +02:00
Sylvia van Os
643527a7fb Translated using Weblate (Bengali (India))
Currently translated at 68.1% (190 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-04-10 09:53:13 +02:00
Slávek Banko
0aae4c9c64 Translated using Weblate (Czech)
Currently translated at 100.0% (117 of 117 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-04-10 09:53:13 +02:00
solokot
14c5b756f7 Translated using Weblate (Russian)
Currently translated at 100.0% (117 of 117 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-04-10 09:53:13 +02:00
Sylvia van Os
ded3c63ec5 Translated using Weblate (Bengali)
Currently translated at 31.1% (87 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn/
2023-04-10 09:53:13 +02:00
يوسف لطفي
e3a22e425b Translated using Weblate (Arabic)
Currently translated at 98.5% (275 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-04-10 09:53:13 +02:00
Projjal Moitra
275d387f3c Translated using Weblate (Bengali (India))
Currently translated at 62.7% (175 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn_IN/
2023-04-10 09:53:13 +02:00
Mobashir Raihan
fbbad75c15 Translated using Weblate (Bengali)
Currently translated at 31.5% (88 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn/
2023-04-10 09:53:13 +02:00
Sylvia van Os
a55e9da067 Merge pull request #1265 from CatimaLoyalty/create-pull-request/patch-1681019014
Update contributors
2023-04-09 08:52:12 +02:00
TheLastProject
a5116395c8 Update contributors 2023-04-09 05:43:33 +00:00
dependabot[bot]
5cf41ed664 Bump com.github.spotbugs from 4.7.5 to 5.0.14
Bumps com.github.spotbugs from 4.7.5 to 5.0.14.

---
updated-dependencies:
- dependency-name: com.github.spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 16:44:16 +00:00
Sylvia van Os
bbde3ec3b8 Merge pull request #1260 from CatimaLoyalty/create-pull-request/patch-1680713019
Update Fastlane changelogs
2023-04-05 18:43:53 +02:00
TheLastProject
db56d56e3b Update Fastlane changelogs 2023-04-05 16:43:39 +00:00
Sylvia van Os
f4c0628366 Merge pull request #1259 from CatimaLoyalty/library_updates
Update all libraries
2023-04-05 18:43:20 +02:00
Sylvia van Os
1e6641a884 Disable MissingQuantity due to Weblate bug
See https://github.com/WeblateOrg/weblate/issues/7520
2023-04-04 22:57:54 +02:00
Sylvia van Os
b9bd3f5967 Update all libraries 2023-04-04 22:22:51 +02:00
Sylvia van Os
28eaac0c67 Merge pull request #1257 from CatimaLoyalty/create-pull-request/patch-1680414497
Update contributors
2023-04-02 09:59:58 +02:00
TheLastProject
5690ca03e7 Update contributors 2023-04-02 05:48:17 +00:00
Sylvia van Os
71f7b21112 Merge pull request #1256 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-03-31 19:54:27 +02:00
Slávek Banko
f9ece83f2b Translated using Weblate (Czech)
Currently translated at 100.0% (116 of 116 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-03-30 17:42:01 +02:00
Sylvia van Os
3bab0f43eb Merge pull request #1255 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-03-26 14:53:46 +02:00
SC
941fa929dd Translated using Weblate (Portuguese)
Currently translated at 100.0% (116 of 116 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-03-26 14:42:11 +02:00
Szia Tomi
46846d2448 Translated using Weblate (Hungarian)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-03-26 14:42:11 +02:00
Sylvia van Os
7b7c1b88b9 Merge pull request #1254 from CatimaLoyalty/create-pull-request/patch-1679813344
Update contributors
2023-03-26 12:33:46 +02:00
TheLastProject
0926bb71e1 Update contributors 2023-03-26 06:49:04 +00:00
Sylvia van Os
cfc4ce7c3c Merge pull request #1251 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-03-20 12:50:12 +01:00
109247019824
1f217dd846 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (279 of 279 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-03-20 01:05:23 +01:00
Michael Moroni
6c74b95e90 Translated using Weblate (Italian)
Currently translated at 62.0% (72 of 116 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/it/
2023-03-20 01:05:23 +01:00
Denis Shilin
9fca77d561 Translated using Weblate (Russian)
Currently translated at 100.0% (116 of 116 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-03-20 01:05:23 +01:00
Altons
1f0873aab4 Translated using Weblate (French)
Currently translated at 98.2% (114 of 116 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2023-03-20 01:05:23 +01:00
Sylvia van Os
ca3a09740a Merge pull request #1250 from CatimaLoyalty/create-pull-request/patch-1679204700
Update contributors
2023-03-19 11:04:38 +01:00
TheLastProject
c104de839e Update contributors 2023-03-19 05:45:00 +00:00
Sylvia van Os
0f4380c1e2 Merge pull request #1249 from CatimaLoyalty/fix/stocard_export_name
Fix Stocard export filenames
2023-03-18 17:59:46 +01:00
Sylvia van Os
64e3b047d9 Fix Stocard export filenames
Stocard renamed their exports to no longer contain sync, only your user
id.
2023-03-18 17:48:53 +01:00
435 changed files with 3034 additions and 2107 deletions

View File

@@ -10,6 +10,9 @@ on:
branches:
- main
env:
JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64
jobs:
build:
@@ -20,17 +23,17 @@ jobs:
- name: Fail on bad translations
run: if grep -ri "&lt;xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi
- uses: gradle/wrapper-validation-action@v1
- name: set up JDK 11
uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: '11'
- name: set up OpenJDK 17
run: |
sudo apt-get update
sudo apt-get install -y openjdk-17-jdk-headless
sudo update-alternatives --auto java
- name: Build
run: ./gradlew assembleRelease
- name: Check lint
run: ./gradlew lintRelease
- name: Run unit tests
run: ./gradlew testReleaseUnitTest || ./gradlew testReleaseUnitTest
run: timeout 5m ./gradlew testReleaseUnitTest || ./gradlew testReleaseUnitTest
- name: SpotBugs
run: ./gradlew spotbugsRelease
- name: Archive test results

View File

@@ -1,44 +1,73 @@
# Changelog
## v2.22.0 - 118
## v2.24.0 - 124 (2023-06-10)
- Support selecting exactly which details to view in card overview
## v2.23.3 - 123 (2023-06-03)
- Minor UI improvements
- Fix new design not being usable on devices with square screens
## v2.23.2 - 122 (2023-05-30)
- Long-press card icon in view activity to change it
- Improve button styling in Groups screen
- Fix long barcode values causing barcode to scale down to nothing
## v2.23.1 - 121 (2023-05-27)
- Update used libraries
## v2.23.0 - 120 (2023-05-25)
- Complete redesign of main and loyalty card view screens
- Material You design for the settings screen
- Fix crash when using "Take a photo" with disabled camera app
## v2.22.1 - 119 (2023-04-14)
- Use Material You colours on more devices (Google library update)
## v2.22.0 - 118 (2023-03-18)
- Support setting start of card validity
- Fix Stocard import (Stocard's export format changed)
## v2.21.2 - 117
## v2.21.2 - 117 (2023-01-27)
- Remove unnecessary permissions
- Target Android 13
## v2.21.1 - 116
## v2.21.1 - 116 (2022-12-06)
- Fix quick spend dialog not allowing , separator
- Support loading image from file manager
## v2.21.0 - 115
## v2.21.0 - 115 (2022-11-06)
- Open image in gallery on long-press
- Apply Material style to dialogs
- Support creating card by sharing an image to Catima
- Add quick spend button to card screen
## v2.20.0 - 114
## v2.20.0 - 114 (2022-09-21)
- Add Monochrome icon for Android 13
- Improve first launch screen
- Fidme import fixes
## v2.19.0 - 113
## v2.19.0 - 113 (2022-08-14)
- Add previous and next buttons to the loyalty card view
- Fix foreground colour on edit button
- Replace floppy disk save icon with checkmark
## v2.18.2 - 112
## v2.18.2 - 112 (2022-07-29)
- Make the possibility to set a custom header more visible
## v2.18.1 - 111
## v2.18.1 - 111 (2022-07-24)
- Arabic language support
- Display archived card count in group overview
@@ -48,11 +77,11 @@
- Fix crash when leaving cardview in RTL layouts for cards with expiry or balance
- Fix back arrow in card view pointing the wrong way in RTL layouts
## v2.17.1 - 109
## v2.17.1 - 109 (2022-06-28)
- Fix incorrect text colour on "No barcode" button
## v2.17.0 - 108
## v2.17.0 - 108 (2022-06-24)
- Add card duplication feature
- Don't allow choosing expiry before 1970 (they never worked anyway)

View File

@@ -3,21 +3,21 @@ GEM
specs:
CFPropertyList (3.0.6)
rexml
addressable (2.8.1)
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.701.0)
aws-sdk-core (3.170.0)
aws-partitions (1.771.0)
aws-sdk-core (3.173.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.62.0)
aws-sdk-kms (1.64.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.119.0)
aws-sdk-s3 (1.122.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
@@ -36,7 +36,7 @@ GEM
unf (>= 0.0.5, < 1.0.0)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.98.0)
excon (0.99.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@@ -65,8 +65,8 @@ GEM
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.211.0)
fastimage (2.2.7)
fastlane (2.213.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -90,7 +90,7 @@ GEM
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
plist (>= 3.1.0, < 4.0.0)
@@ -106,9 +106,9 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.32.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-core (0.10.0)
google-apis-androidpublisher_v3 (0.42.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -117,10 +117,10 @@ GEM
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.16.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-playcustomapp_v1 (0.12.0)
google-apis-core (>= 0.9.1, < 2.a)
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
@@ -128,7 +128,7 @@ GEM
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.44.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
@@ -137,7 +137,7 @@ GEM
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.3.0)
googleauth (1.5.2)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
@@ -150,17 +150,17 @@ GEM
httpclient (2.8.3)
jmespath (1.6.2)
json (2.6.3)
jwt (2.6.0)
jwt (2.7.0)
memoist (0.16.2)
mini_magick (4.12.0)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.0.0)
multipart-post (2.3.0)
nanaimo (0.3.0)
naturally (2.2.1)
optparse (0.1.1)
os (1.1.4)
plist (3.6.0)
plist (3.7.0)
public_suffix (5.0.1)
rake (13.0.6)
representable (3.2.0)

View File

@@ -19,8 +19,8 @@ android {
applicationId "me.hackerchick.catima"
minSdk 21
targetSdk 33
versionCode 118
versionName "2.22.0"
versionCode 124
versionName "2.24.0"
vectorDrawables.useSupportLibrary true
multiDexEnabled true
@@ -58,9 +58,6 @@ android {
targetCompatibility JavaVersion.VERSION_11
}
lintOptions {
lintConfig file("lint.xml")
}
sourceSets {
test {
@@ -80,28 +77,31 @@ android {
includeAndroidResources true
}
}
lint {
lintConfig file('lint.xml')
}
namespace 'protect.card_locker'
}
dependencies {
// AndroidX
implementation 'androidx.appcompat:appcompat:1.6.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.exifinterface:exifinterface:1.3.5'
implementation 'androidx.exifinterface:exifinterface:1.3.6'
implementation 'androidx.palette:palette:1.0.0'
implementation 'androidx.preference:preference:1.2.0'
implementation 'com.google.android.material:material:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'com.github.yalantis:ucrop:2.2.8'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.6'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
// Splash Screen
implementation 'androidx.core:core-splashscreen:1.0.0'
implementation 'androidx.core:core-splashscreen:1.0.1'
// Third-party
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'
implementation 'com.google.zxing:core:3.5.1'
implementation 'org.apache.commons:commons-csv:1.9.0'
implementation 'com.jaredrummler:colorpicker:1.1.0'
implementation 'com.github.invissvenska:NumberPickerPreference:1.0.4'
implementation 'net.lingala.zip4j:zip4j:2.11.5'
// SpotBugs
@@ -110,7 +110,7 @@ dependencies {
// Testing
testImplementation 'androidx.test:core:1.5.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.9.2'
testImplementation 'org.robolectric:robolectric:4.10.3'
}
tasks.withType(SpotBugsTask) {

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="protect.card_locker">
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />

View File

@@ -39,6 +39,13 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setTag("https://catima.app/privacy-policy/");
binding.reportError.setTag("https://github.com/CatimaLoyalty/Android/issues");
binding.rate.setTag("https://play.google.com/store/apps/details?id=me.hackerchick.catima");
binding.donate.setTag("https://catima.app/contribute/#donating");
boolean installedFromGooglePlay = Utils.installedFromGooglePlay(this);
// Hide Google Play rate button if not on Google Play
binding.rate.setVisibility(installedFromGooglePlay ? View.VISIBLE : View.GONE);
// Hide donate button on Google Play (Google Play doesn't allow donation links)
binding.donate.setVisibility(installedFromGooglePlay ? View.GONE : View.VISIBLE);
bindClickListeners();
}
@@ -74,6 +81,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setOnClickListener(openExternalBrowser);
binding.reportError.setOnClickListener(openExternalBrowser);
binding.rate.setOnClickListener(openExternalBrowser);
binding.donate.setOnClickListener(openExternalBrowser);
binding.credits.setOnClickListener(view -> showCredits());
}
@@ -86,6 +94,8 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setOnClickListener(null);
binding.reportError.setOnClickListener(null);
binding.rate.setOnClickListener(null);
binding.donate.setOnClickListener(null);
binding.credits.setOnClickListener(null);
}

View File

@@ -0,0 +1,5 @@
package protect.card_locker;
public interface BarcodeImageWriterResultCallback {
void onBarcodeImageWriterResult(boolean success);
}

View File

@@ -42,12 +42,12 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
private final int imageHeight;
private final int imageWidth;
private final boolean showFallback;
private final Runnable callback;
private final BarcodeImageWriterResultCallback callback;
BarcodeImageWriterTask(
Context context, ImageView imageView, String cardIdString,
CatimaBarcode barcodeFormat, TextView textView,
boolean showFallback, Runnable callback, boolean roundCornerPadding
boolean showFallback, BarcodeImageWriterResultCallback callback, boolean roundCornerPadding
) {
mContext = context;
@@ -282,7 +282,7 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
}
if (callback != null) {
callback.run();
callback.onBarcodeImageWriterResult(isSuccesful);
}
}

View File

@@ -81,7 +81,7 @@ public class CardShortcutConfigure extends CatimaAppCompatActivity implements Lo
@Override
public boolean onCreateOptionsMenu(Menu inputMenu) {
getMenuInflater().inflate(R.menu.card_details_menu, inputMenu);
Utils.updateMenuCardDetailsButtonState(inputMenu.findItem(R.id.action_unfold), mAdapter.showingDetails());
return super.onCreateOptionsMenu(inputMenu);
}
@@ -89,8 +89,8 @@ public class CardShortcutConfigure extends CatimaAppCompatActivity implements Lo
public boolean onOptionsItemSelected(MenuItem inputItem) {
int id = inputItem.getItemId();
if (id == R.id.action_unfold) {
mAdapter.showDetails(!mAdapter.showingDetails());
if (id == R.id.action_shown_details) {
mAdapter.showSelectDetailDisplayDialog();
invalidateOptionsMenu();
return true;

View File

@@ -1,6 +1,5 @@
package protect.card_locker;
import android.annotation.SuppressLint;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
@@ -69,10 +68,9 @@ public class CardsOnPowerScreenService extends ControlsProviderService {
subscriber.onSubscribe(new NoOpSubscription());
for (String controlId : controlIds) {
Control control;
try {
Integer cardId = this.controlIdToCardId(controlId);
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, cardId);
Integer cardId = this.controlIdToCardId(controlId);
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, cardId);
if (card != null) {
Intent openIntent = new Intent(this, LoyaltyCardViewActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.putExtra("id", card.id);
@@ -85,7 +83,7 @@ public class CardsOnPowerScreenService extends ControlsProviderService {
.setControlTemplate(new StatelessTemplate(controlId))
.setCustomIcon(Icon.createWithBitmap(getIcon(this, card)))
.build();
} catch (NullPointerException ignored) {
} else {
Intent mainScreenIntent = new Intent(this, MainActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(getBaseContext(), -1, mainScreenIntent, PendingIntent.FLAG_IMMUTABLE);

View File

@@ -7,6 +7,7 @@ import android.database.sqlite.SQLiteDatabase;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
@@ -17,7 +18,6 @@ import protect.card_locker.databinding.GroupLayoutBinding;
import protect.card_locker.preferences.Settings;
public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.GroupListItemViewHolder> {
Settings mSettings;
public final Context mContext;
private final GroupAdapterListener mListener;
SQLiteDatabase mDatabase;
@@ -25,7 +25,6 @@ public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.Gro
public GroupCursorAdapter(Context inputContext, Cursor inputCursor, GroupAdapterListener inputListener) {
super(inputCursor, DBHelper.LoyaltyCardDbGroups.ORDER);
setHasStableIds(true);
mSettings = new Settings(inputContext);
mContext = inputContext;
mListener = inputListener;
mDatabase = new DBHelper(inputContext).getReadableDatabase();
@@ -63,8 +62,6 @@ public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.Gro
}
inputHolder.mCardCount.setText(cardCountText);
inputHolder.mName.setTextSize(mSettings.getFontSizeMax(mSettings.getMediumFont()));
inputHolder.mCardCount.setTextSize(mSettings.getFontSizeMax(mSettings.getSmallFont()));
applyClickEvents(inputHolder);
}
@@ -88,7 +85,7 @@ public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.Gro
public static class GroupListItemViewHolder extends RecyclerView.ViewHolder {
public TextView mName, mCardCount;
public ImageButton mMoveUp, mMoveDown, mEdit, mDelete;
public Button mMoveUp, mMoveDown, mEdit, mDelete;
public GroupListItemViewHolder(GroupLayoutBinding groupLayoutBinding) {
super(groupLayoutBinding.getRoot());

View File

@@ -123,7 +123,7 @@ public class ImportURIHelper {
}
return new LoyaltyCard(-1, store, note, validFrom, expiry, balance, balanceType, cardId, barcodeId, barcodeType, headerColor, 0, Utils.getUnixTime(), 100, 0);
} catch (NullPointerException | NumberFormatException | UnsupportedEncodingException | ArrayIndexOutOfBoundsException ex) {
} catch (NumberFormatException | UnsupportedEncodingException | ArrayIndexOutOfBoundsException ex) {
throw new InvalidObjectException("Not a valid import URI");
}
}

View File

@@ -18,12 +18,14 @@ import android.widget.TextView;
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.util.ArrayList;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.BlendModeColorFilterCompat;
@@ -31,23 +33,23 @@ import androidx.core.graphics.BlendModeCompat;
import androidx.recyclerview.widget.RecyclerView;
import protect.card_locker.databinding.LoyaltyCardLayoutBinding;
import protect.card_locker.preferences.Settings;
public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCursorAdapter.LoyaltyCardListItemViewHolder> {
private int mCurrentSelectedIndex = -1;
Settings mSettings;
boolean mDarkModeEnabled;
public final Context mContext;
private final CardAdapterListener mListener;
protected SparseBooleanArray mSelectedItems;
protected SparseBooleanArray mAnimationItemsIndex;
private boolean mReverseAllAnimations = false;
private boolean mShowDetails;
private boolean mShowNameBelowThumbnail;
private boolean mShowNote;
private boolean mShowBalance;
private boolean mShowValidity;
public LoyaltyCardCursorAdapter(Context inputContext, Cursor inputCursor, CardAdapterListener inputListener) {
super(inputCursor, DBHelper.LoyaltyCardDbIds.ID);
setHasStableIds(true);
mSettings = new Settings(inputContext);
mContext = inputContext;
mListener = inputListener;
mSelectedItems = new SparseBooleanArray();
@@ -60,29 +62,100 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
swapCursor(inputCursor);
}
private void saveDetailState(int stateId, boolean value) {
SharedPreferences cardDetailsPref = mContext.getSharedPreferences(
mContext.getString(R.string.sharedpreference_card_details),
Context.MODE_PRIVATE);
SharedPreferences.Editor cardDetailsPrefEditor = cardDetailsPref.edit();
cardDetailsPrefEditor.putBoolean(mContext.getString(stateId), value);
cardDetailsPrefEditor.apply();
}
public void refreshState() {
// Retrieve user details preference
SharedPreferences cardDetailsPref = mContext.getSharedPreferences(
mContext.getString(R.string.sharedpreference_card_details),
Context.MODE_PRIVATE);
mShowDetails = cardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show), true);
mShowNameBelowThumbnail = cardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_name_below_thumbnail), false);
mShowNote = cardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_note), true);
mShowBalance = cardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_balance), true);
mShowValidity = cardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_validity), true);
}
public void showDetails(boolean show) {
mShowDetails = show;
public void showNameBelowThumbnail(boolean show) {
mShowNameBelowThumbnail = show;
notifyDataSetChanged();
// Store in Shared Preference to restore next adapter launch
SharedPreferences cardDetailsPref = mContext.getSharedPreferences(
mContext.getString(R.string.sharedpreference_card_details),
Context.MODE_PRIVATE);
SharedPreferences.Editor cardDetailsPrefEditor = cardDetailsPref.edit();
cardDetailsPrefEditor.putBoolean(mContext.getString(R.string.sharedpreference_card_details_show), show);
cardDetailsPrefEditor.apply();
saveDetailState(R.string.sharedpreference_card_details_show_name_below_thumbnail, show);
}
public boolean showingDetails() {
return mShowDetails;
public boolean showingNameBelowThumbnail() {
return mShowNameBelowThumbnail;
}
public void showNote(boolean show) {
mShowNote = show;
notifyDataSetChanged();
saveDetailState(R.string.sharedpreference_card_details_show_note, show);
}
public boolean showingNote() {
return mShowNote;
}
public void showBalance(boolean show) {
mShowBalance = show;
notifyDataSetChanged();
saveDetailState(R.string.sharedpreference_card_details_show_balance, show);
}
public boolean showingBalance() {
return mShowBalance;
}
public void showValidity(boolean show) {
mShowValidity = show;
notifyDataSetChanged();
saveDetailState(R.string.sharedpreference_card_details_show_validity, show);
}
public boolean showingValidity() {
return mShowValidity;
}
public void showSelectDetailDisplayDialog() {
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(mContext);
builder.setTitle(R.string.action_show_details);
builder.setMultiChoiceItems(
new String[]{
mContext.getString(R.string.show_name_below_image_thumbnail),
mContext.getString(R.string.show_note),
mContext.getString(R.string.show_balance),
mContext.getString(R.string.show_validity)
},
new boolean[]{
showingNameBelowThumbnail(),
showingNote(),
showingBalance(),
showingValidity()
},
(dialogInterface, i, b) -> {
switch (i) {
case 0: showNameBelowThumbnail(b); break;
case 1: showNote(b); break;
case 2: showBalance(b); break;
case 3: showValidity(b); break;
default: throw new IndexOutOfBoundsException("No such index exists in LoyaltyCardCursorAdapter show details view");
}
}
);
builder.setPositiveButton(R.string.ok, (dialog, i) -> dialog.dismiss());
AlertDialog dialog = builder.create();
dialog.show();
}
@NonNull
@@ -106,42 +179,41 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.mDivider.setVisibility(View.GONE);
LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(inputCursor);
Bitmap icon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
inputHolder.setStoreField(loyaltyCard.store);
if (mShowDetails && !loyaltyCard.note.isEmpty()) {
if (mShowNameBelowThumbnail && icon != null) {
inputHolder.setStoreField(loyaltyCard.store);
} else {
inputHolder.setStoreField(null);
}
if (mShowNote && !loyaltyCard.note.isEmpty()) {
inputHolder.setNoteField(loyaltyCard.note);
} else {
inputHolder.setNoteField(null);
}
if (mShowDetails && !loyaltyCard.balance.equals(new BigDecimal("0"))) {
if (mShowBalance && !loyaltyCard.balance.equals(new BigDecimal("0"))) {
inputHolder.setExtraField(inputHolder.mBalanceField, Utils.formatBalance(mContext, loyaltyCard.balance, loyaltyCard.balanceType), null);
} else {
inputHolder.setExtraField(inputHolder.mBalanceField, null, null);
}
if (mShowDetails && loyaltyCard.validFrom != null) {
if (mShowValidity && loyaltyCard.validFrom != null) {
inputHolder.setExtraField(inputHolder.mValidFromField, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.validFrom), Utils.isNotYetValid(loyaltyCard.validFrom) ? Color.RED : null);
} else {
inputHolder.setExtraField(inputHolder.mValidFromField, null, null);
}
if (mShowDetails && loyaltyCard.expiry != null) {
if (mShowValidity && loyaltyCard.expiry != null) {
inputHolder.setExtraField(inputHolder.mExpiryField, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.expiry), Utils.hasExpired(loyaltyCard.expiry) ? Color.RED : null);
} else {
inputHolder.setExtraField(inputHolder.mExpiryField, null, null);
}
setHeaderHeight(inputHolder, mShowDetails);
Bitmap cardIcon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
if (cardIcon != null) {
inputHolder.mCardIcon.setImageBitmap(cardIcon);
inputHolder.mCardIcon.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
inputHolder.mCardIcon.setImageBitmap(Utils.generateIcon(mContext, loyaltyCard.store, loyaltyCard.headerColor).getLetterTile());
inputHolder.mCardIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
inputHolder.setIconBackgroundColor(loyaltyCard.headerColor != null ? loyaltyCard.headerColor : R.attr.colorPrimary);
inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText);
inputHolder.setIconBackgroundColor(loyaltyCard.headerColor != null ? loyaltyCard.headerColor : androidx.appcompat.R.attr.colorPrimary);
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
@@ -153,19 +225,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.mRow.requestLayout();
}
private void setHeaderHeight(LoyaltyCardListItemViewHolder inputHolder, boolean expanded) {
int iconHeight;
if (expanded) {
iconHeight = ViewGroup.LayoutParams.MATCH_PARENT;
} else {
iconHeight = (int) mContext.getResources().getDimension(R.dimen.cardThumbnailSize);
}
inputHolder.mIconLayout.getLayoutParams().height = expanded ? 0 : iconHeight;
inputHolder.mCardIcon.getLayoutParams().height = iconHeight;
inputHolder.mTickIcon.getLayoutParams().height = iconHeight;
}
private void applyClickEvents(LoyaltyCardListItemViewHolder inputHolder, final int inputPosition) {
inputHolder.mRow.setOnClickListener(inputView -> mListener.onRowClicked(inputPosition));
@@ -241,16 +300,14 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
public class LoyaltyCardListItemViewHolder extends RecyclerView.ViewHolder {
public TextView mStoreField, mNoteField, mBalanceField, mValidFromField, mExpiryField;
public TextView mCardText, mStoreField, mNoteField, mBalanceField, mValidFromField, mExpiryField;
public ImageView mCardIcon, mStarBackground, mStarBorder, mTickIcon, mArchivedBackground;
public MaterialCardView mRow, mIconLayout;
public MaterialCardView mRow;
public ConstraintLayout mStar, mArchived;
public View mDivider;
private int mIconBackgroundColor;
protected LoyaltyCardListItemViewHolder(LoyaltyCardLayoutBinding loyaltyCardLayoutBinding, CardAdapterListener inputListener) {
super(loyaltyCardLayoutBinding.getRoot());
View inputView = loyaltyCardLayoutBinding.getRoot();
@@ -261,8 +318,8 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
mBalanceField = loyaltyCardLayoutBinding.balance;
mValidFromField = loyaltyCardLayoutBinding.validFrom;
mExpiryField = loyaltyCardLayoutBinding.expiry;
mIconLayout = loyaltyCardLayoutBinding.iconLayout;
mCardIcon = loyaltyCardLayoutBinding.thumbnail;
mCardText = loyaltyCardLayoutBinding.thumbnailText;
mStar = loyaltyCardLayoutBinding.star;
mStarBackground = loyaltyCardLayoutBinding.starBackground;
mStarBorder = loyaltyCardLayoutBinding.starBorder;
@@ -285,20 +342,15 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
return;
}
int size = mSettings.getFontSizeMax(mSettings.getSmallFont());
field.setVisibility(View.VISIBLE);
field.setText(text);
field.setTextSize(size);
field.setTextColor(color != null ? color : MaterialColors.getColor(mContext, R.attr.colorSecondary, ContextCompat.getColor(mContext, mDarkModeEnabled ? R.color.md_theme_dark_secondary : R.color.md_theme_light_secondary)));
field.setTextColor(color != null ? color : MaterialColors.getColor(mContext, com.google.android.material.R.attr.colorSecondary, ContextCompat.getColor(mContext, mDarkModeEnabled ? R.color.md_theme_dark_secondary : R.color.md_theme_light_secondary)));
int drawableSize = dpToPx((size * 24) / 14, mContext);
mDivider.setVisibility(View.VISIBLE);
field.setVisibility(View.VISIBLE);
Drawable icon = field.getCompoundDrawables()[0];
if (icon != null) {
icon.mutate();
icon.setBounds(0, 0, drawableSize, drawableSize);
field.setCompoundDrawablesRelative(icon, null, null, null);
if (color != null) {
@@ -312,8 +364,12 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
}
public void setStoreField(String text) {
mStoreField.setText(text);
mStoreField.setTextSize(mSettings.getFontSizeMax(mSettings.getMediumFont()));
if (text == null) {
mStoreField.setVisibility(View.GONE);
} else {
mStoreField.setVisibility(View.VISIBLE);
mStoreField.setText(text);
}
mStoreField.requestLayout();
}
@@ -323,7 +379,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
} else {
mNoteField.setVisibility(View.VISIBLE);
mNoteField.setText(text);
mNoteField.setTextSize(mSettings.getFontSizeMax(mSettings.getSmallFont()));
}
mNoteField.requestLayout();
}

View File

@@ -1,6 +1,5 @@
package protect.card_locker;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DatePickerDialog;
@@ -24,6 +23,7 @@ import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
@@ -31,6 +31,7 @@ import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
@@ -73,7 +74,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.appcompat.widget.Toolbar;
@@ -85,7 +85,7 @@ import protect.card_locker.async.TaskHandler;
import protect.card_locker.databinding.LayoutChipChoiceBinding;
import protect.card_locker.databinding.LoyaltyCardEditActivityBinding;
public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements BarcodeImageWriterResultCallback {
private LoyaltyCardEditActivityBinding binding;
private static final String TAG = "Catima";
@@ -100,6 +100,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
private final String STATE_FRONT_IMAGE_REMOVED = "frontImageRemoved";
private final String STATE_BACK_IMAGE_REMOVED = "backImageRemoved";
private final String STATE_ICON_REMOVED = "iconRemoved";
private final String STATE_OPEN_SET_ICON_MENU = "openSetIconMenu";
private final String TEMP_CAMERA_IMAGE_NAME = LoyaltyCardEditActivity.class.getSimpleName() + "_camera_image.jpg";
private final String TEMP_CROP_IMAGE_NAME = LoyaltyCardEditActivity.class.getSimpleName() + "_crop_image.png";
@@ -120,6 +121,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
public static final String BUNDLE_ID = "id";
public static final String BUNDLE_DUPLICATE_ID = "duplicateId";
public static final String BUNDLE_UPDATE = "update";
public static final String BUNDLE_OPEN_SET_ICON_MENU = "openSetIconMenu";
public static final String BUNDLE_CARDID = "cardId";
public static final String BUNDLE_BARCODEID = "barcodeId";
public static final String BUNDLE_BARCODETYPE = "barcodeType";
@@ -154,6 +156,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
int loyaltyCardId;
boolean updateLoyaltyCard;
boolean duplicateFromLoyaltyCardId;
boolean openSetIconMenu;
String cardId;
String barcodeId;
String barcodeType;
@@ -171,8 +174,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
AlertDialog confirmExitDialog = null;
boolean validBalance = true;
Runnable barcodeImageGenerationFinishedCallback;
HashMap<String, Currency> currencies = new HashMap<>();
LoyaltyCard tempLoyaltyCard;
@@ -242,6 +243,8 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
updateLoyaltyCard = b != null && b.getBoolean(BUNDLE_UPDATE, false);
duplicateFromLoyaltyCardId = b != null && b.getBoolean(BUNDLE_DUPLICATE_ID, false);
openSetIconMenu = b != null && b.getBoolean(BUNDLE_OPEN_SET_ICON_MENU, false);
cardId = b != null ? b.getString(BUNDLE_CARDID) : null;
barcodeId = b != null ? b.getString(BUNDLE_BARCODEID) : null;
barcodeType = b != null ? b.getString(BUNDLE_BARCODETYPE) : null;
@@ -288,6 +291,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
savedInstanceState.putInt(STATE_FRONT_IMAGE_REMOVED, mFrontImageRemoved ? 1 : 0);
savedInstanceState.putInt(STATE_BACK_IMAGE_REMOVED, mBackImageRemoved ? 1 : 0);
savedInstanceState.putInt(STATE_ICON_REMOVED, mIconRemoved ? 1 : 0);
savedInstanceState.putInt(STATE_OPEN_SET_ICON_MENU, openSetIconMenu ? 1 : 0);
}
@Override
@@ -305,6 +309,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
mFrontImageRemoved = savedInstanceState.getInt(STATE_FRONT_IMAGE_REMOVED) == 1;
mBackImageRemoved = savedInstanceState.getInt(STATE_BACK_IMAGE_REMOVED) == 1;
mIconRemoved = savedInstanceState.getInt(STATE_ICON_REMOVED) == 1;
openSetIconMenu = savedInstanceState.getInt(STATE_OPEN_SET_ICON_MENU) == 1;
}
@Override
@@ -350,13 +355,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
enterButton = binding.enterButton;
barcodeImageGenerationFinishedCallback = () -> {
if (!(boolean) barcodeImage.getTag()) {
barcodeImageLayout.setVisibility(View.GONE);
Toast.makeText(LoyaltyCardEditActivity.this, getString(R.string.wrongValueForBarcodeType), Toast.LENGTH_LONG).show();
}
};
storeFieldEdit.addTextChangedListener(new SimpleTextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
@@ -495,10 +493,20 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
builder.setTitle(R.string.setBarcodeId);
final EditText input = new EditText(LoyaltyCardEditActivity.this);
input.setInputType(InputType.TYPE_CLASS_TEXT);
FrameLayout container = new FrameLayout(LoyaltyCardEditActivity.this);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
int contentPadding = getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
params.leftMargin = contentPadding;
params.topMargin = contentPadding / 2;
params.rightMargin = contentPadding;
input.setLayoutParams(params);
container.addView(input);
if (tempLoyaltyCard.barcodeId != null) {
input.setText(tempLoyaltyCard.barcodeId);
}
builder.setView(input);
builder.setView(container);
builder.setPositiveButton(getString(R.string.ok), (dialog, which) -> {
// If the user manually changes the barcode again make sure we disable the
@@ -672,16 +680,16 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
}
mCropperOptions.setAspectRatioOptions(selectedByDefault,
new AspectRatio(null, 1, 1),
new AspectRatio(getResources().getString(R.string.ucrop_label_original).toUpperCase(), sourceWidth, sourceHeight),
new AspectRatio(getResources().getString(com.yalantis.ucrop.R.string.ucrop_label_original).toUpperCase(), sourceWidth, sourceHeight),
new AspectRatio(getResources().getString(R.string.card).toUpperCase(), 85.6f, 53.98f)
);
// Fix theming
int colorPrimary = MaterialColors.getColor(this, R.attr.colorPrimary, ContextCompat.getColor(this, R.color.md_theme_light_primary));
int colorOnPrimary = MaterialColors.getColor(this, R.attr.colorOnPrimary, ContextCompat.getColor(this, R.color.md_theme_light_onPrimary));
int colorSurface = MaterialColors.getColor(this, R.attr.colorSurface, ContextCompat.getColor(this, R.color.md_theme_light_surface));
int colorOnSurface = MaterialColors.getColor(this, R.attr.colorOnSurface, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
int colorPrimary = MaterialColors.getColor(this, androidx.appcompat.R.attr.colorPrimary, ContextCompat.getColor(this, R.color.md_theme_light_primary));
int colorOnPrimary = MaterialColors.getColor(this, com.google.android.material.R.attr.colorOnPrimary, ContextCompat.getColor(this, R.color.md_theme_light_onPrimary));
int colorSurface = MaterialColors.getColor(this, com.google.android.material.R.attr.colorSurface, ContextCompat.getColor(this, R.color.md_theme_light_surface));
int colorOnSurface = MaterialColors.getColor(this, com.google.android.material.R.attr.colorOnSurface, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
int colorBackground = MaterialColors.getColor(this, android.R.attr.colorBackground, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
mCropperOptions.setToolbarColor(colorSurface);
mCropperOptions.setStatusBarColor(colorSurface);
@@ -908,12 +916,19 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
}
onResuming = false;
// Fake click on the edit icon to cause the set icon option to pop up if the icon was
// long-pressed in the view activity
if (openSetIconMenu) {
openSetIconMenu = false;
thumbnail.callOnClick();
}
}
protected void setColorFromIcon() {
Object icon = thumbnail.getTag();
if (icon != null && (icon instanceof Bitmap)) {
int headerColor = Utils.getHeaderColorFromImage((Bitmap) icon, tempLoyaltyCard.headerColor != null ? tempLoyaltyCard.headerColor : R.attr.colorPrimary);
int headerColor = Utils.getHeaderColorFromImage((Bitmap) icon, tempLoyaltyCard.headerColor != null ? tempLoyaltyCard.headerColor : androidx.appcompat.R.attr.colorPrimary);
updateTempState(LoyaltyCardField.headerColor, headerColor);
@@ -1131,7 +1146,12 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
Uri photoURI = FileProvider.getUriForFile(LoyaltyCardEditActivity.this, BuildConfig.APPLICATION_ID, Utils.createTempFile(this, TEMP_CAMERA_IMAGE_NAME));
mRequestedImage = type;
mPhotoTakerLauncher.launch(photoURI);
try {
mPhotoTakerLauncher.launch(photoURI);
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(), R.string.cameraPermissionDeniedTitle, Toast.LENGTH_LONG).show();
Log.e(TAG, "No activity found to handle intent", e);
}
}
private void selectImageFromGallery(int type) {
@@ -1152,6 +1172,14 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
}
}
@Override
public void onBarcodeImageWriterResult(boolean success) {
if (!success) {
barcodeImageLayout.setVisibility(View.GONE);
Toast.makeText(LoyaltyCardEditActivity.this, getString(R.string.wrongValueForBarcodeType), Toast.LENGTH_LONG).show();
}
}
class EditCardIdAndBarcode implements View.OnClickListener {
@Override
public void onClick(View v) {
@@ -1549,13 +1577,13 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
barcodeImage.getViewTreeObserver().removeOnGlobalLayoutListener(this);
Log.d(TAG, "ImageView size now known");
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, barcodeImageGenerationFinishedCallback, true);
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, LoyaltyCardEditActivity.this, true);
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
}
});
} else {
Log.d(TAG, "ImageView size known known, creating barcode");
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, barcodeImageGenerationFinishedCallback, true);
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, this, true);
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
}
}

View File

File diff suppressed because it is too large Load Diff

View File

@@ -15,18 +15,15 @@ import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import android.view.GestureDetector;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.CheckBox;
import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.view.ActionMode;
import androidx.appcompat.widget.SearchView;
@@ -50,7 +47,7 @@ import protect.card_locker.databinding.MainActivityBinding;
import protect.card_locker.databinding.SortingOptionBinding;
import protect.card_locker.preferences.SettingsActivity;
public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCardCursorAdapter.CardAdapterListener, GestureDetector.OnGestureListener {
public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCardCursorAdapter.CardAdapterListener {
private MainActivityBinding binding;
private ArchiveActivityBinding archiveActivityBinding;
private ContentMainBinding contentMainBinding;
@@ -63,7 +60,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
private LoyaltyCardCursorAdapter mAdapter;
private ActionMode mCurrentActionMode;
private SearchView mSearchView;
private GestureDetector mGestureDetector;
private int mLoyaltyCardCount = 0;
protected String mFilter = "";
protected Object mGroup = null;
@@ -282,19 +278,11 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
}
});
mGestureDetector = new GestureDetector(this, this);
View.OnTouchListener gestureTouchListener = (v, event) -> mGestureDetector.onTouchEvent(event);
mHelpSection = contentMainBinding.helpSection;
mNoMatchingCardsText = contentMainBinding.noMatchingCardsText;
mNoGroupCardsText = contentMainBinding.noGroupCardsText;
mCardList = contentMainBinding.list;
mNoMatchingCardsText.setOnTouchListener(gestureTouchListener);
mCardList.setOnTouchListener(gestureTouchListener);
mNoGroupCardsText.setOnTouchListener(gestureTouchListener);
mAdapter = new LoyaltyCardCursorAdapter(this, null, this);
mCardList.setAdapter(mAdapter);
registerForContextMenu(mCardList);
@@ -375,18 +363,28 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
// Start of active tab logic
updateTabGroups(groupsTabLayout);
// Restore settings from Shared Preference
// Restore selected tab from Shared Preference
SharedPreferences activeTabPref = getApplicationContext().getSharedPreferences(
getString(R.string.sharedpreference_active_tab),
Context.MODE_PRIVATE);
selectedTab = activeTabPref.getInt(getString(R.string.sharedpreference_active_tab), 0);
// Restore sort preferences from Shared Preferences
// If one of the sorting prefererences has never been set or is set to an invalid value,
// stick to the defaults.
SharedPreferences sortPref = getApplicationContext().getSharedPreferences(
getString(R.string.sharedpreference_sort),
Context.MODE_PRIVATE);
try {
mOrder = DBHelper.LoyaltyCardOrder.valueOf(sortPref.getString(getString(R.string.sharedpreference_sort_order), null));
mOrderDirection = DBHelper.LoyaltyCardOrderDirection.valueOf(sortPref.getString(getString(R.string.sharedpreference_sort_direction), null));
} catch (IllegalArgumentException | NullPointerException ignored) {
String orderString = sortPref.getString(getString(R.string.sharedpreference_sort_order), null);
String orderDirectionString = sortPref.getString(getString(R.string.sharedpreference_sort_direction), null);
if (orderString != null && orderDirectionString != null) {
try {
mOrder = DBHelper.LoyaltyCardOrder.valueOf(orderString);
mOrderDirection = DBHelper.LoyaltyCardOrderDirection.valueOf(orderDirectionString);
} catch (IllegalArgumentException ignored) {
}
}
mGroup = null;
@@ -434,7 +432,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
}
private void displayCardSetupOptions(Menu menu, boolean shouldShow) {
for (int id : new int[]{R.id.action_search, R.id.action_unfold, R.id.action_sort}) {
for (int id : new int[]{R.id.action_search, R.id.action_shown_details, R.id.action_sort}) {
menu.findItem(id).setVisible(shouldShow);
}
}
@@ -520,38 +518,41 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
// Check if an image was shared to us
if (Intent.ACTION_SEND.equals(receivedAction)) {
if (receivedType.startsWith("image/")) {
BarcodeValues barcodeValues;
try {
Bitmap bitmap;
try {
Uri data = intent.getParcelableExtra(Intent.EXTRA_STREAM);
bitmap = Utils.retrieveImageFromUri(this, data);
} catch (IOException e) {
Log.e(TAG, "Error getting data from image file");
e.printStackTrace();
Toast.makeText(this, R.string.errorReadingImage, Toast.LENGTH_LONG).show();
finish();
return;
}
barcodeValues = Utils.getBarcodeFromBitmap(bitmap);
if (barcodeValues.isEmpty()) {
Log.i(TAG, "No barcode found in image file");
Toast.makeText(this, R.string.noBarcodeFound, Toast.LENGTH_LONG).show();
finish();
return;
}
} catch (NullPointerException e) {
Toast.makeText(this, R.string.errorReadingImage, Toast.LENGTH_LONG).show();
finish();
return;
}
processBarcodeValues(barcodeValues, null);
} else {
if (!receivedType.startsWith("image/")) {
Log.e(TAG, "Wrong mime-type");
return;
}
BarcodeValues barcodeValues;
Bitmap bitmap;
Uri data = intent.getParcelableExtra(Intent.EXTRA_STREAM);
if (data == null) {
Toast.makeText(this, R.string.errorReadingImage, Toast.LENGTH_LONG).show();
finish();
return;
}
try {
bitmap = Utils.retrieveImageFromUri(this, data);
} catch (IOException e) {
Log.e(TAG, "Error getting data from image file");
e.printStackTrace();
Toast.makeText(this, R.string.errorReadingImage, Toast.LENGTH_LONG).show();
finish();
return;
}
barcodeValues = Utils.getBarcodeFromBitmap(bitmap);
if (barcodeValues.isEmpty()) {
Log.i(TAG, "No barcode found in image file");
Toast.makeText(this, R.string.noBarcodeFound, Toast.LENGTH_LONG).show();
finish();
return;
}
processBarcodeValues(barcodeValues, null);
}
}
@@ -596,7 +597,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
getMenuInflater().inflate(R.menu.archive_menu, inputMenu);
}
Utils.updateMenuCardDetailsButtonState(inputMenu.findItem(R.id.action_unfold), mAdapter.showingDetails());
displayCardSetupOptions(inputMenu, mLoyaltyCardCount > 0);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
@@ -649,8 +649,8 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
onBackPressed();
}
if (id == R.id.action_unfold) {
mAdapter.showDetails(!mAdapter.showingDetails());
if (id == R.id.action_shown_details) {
mAdapter.showSelectDetailDisplayDialog();
invalidateOptionsMenu();
return true;
@@ -755,83 +755,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
updateLoyaltyCardList(false);
}
@Override
public boolean onDown(MotionEvent e) {
return false;
}
@Override
public void onShowPress(MotionEvent e) {
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
@Override
public void onLongPress(MotionEvent e) {
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
Log.d(TAG, "On fling");
// Don't swipe if we have too much vertical movement
if (Math.abs(velocityY) > (0.75 * Math.abs(velocityX))) {
return false;
}
if (groupsTabLayout.getTabCount() < 2) {
return false;
}
Integer currentTab = groupsTabLayout.getSelectedTabPosition();
Log.d("onFling", "Current Tab " + currentTab);
// Swipe right
if (velocityX < -150) {
Log.d("onFling", "Right Swipe detected " + velocityX);
Integer nextTab = currentTab + 1;
if (nextTab == groupsTabLayout.getTabCount()) {
groupsTabLayout.selectTab(groupsTabLayout.getTabAt(0));
} else {
groupsTabLayout.selectTab(groupsTabLayout.getTabAt(nextTab));
}
return true;
}
// Swipe left
if (velocityX > 150) {
Log.d("onFling", "Left Swipe detected " + velocityX);
Integer nextTab = currentTab - 1;
if (nextTab < 0) {
groupsTabLayout.selectTab(groupsTabLayout.getTabAt(groupsTabLayout.getTabCount() - 1));
} else {
groupsTabLayout.selectTab(groupsTabLayout.getTabAt(nextTab));
}
return true;
}
return false;
}
@Override
public void onRowLongClicked(int inputPosition) {
enableActionMode(inputPosition);

View File

@@ -21,7 +21,6 @@ import java.util.HashMap;
import java.util.Map;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.RecyclerView;
@@ -160,7 +159,7 @@ public class ManageGroupActivity extends CatimaAppCompatActivity implements Mana
@Override
public boolean onCreateOptionsMenu(Menu inputMenu) {
getMenuInflater().inflate(R.menu.card_details_menu, inputMenu);
Utils.updateMenuCardDetailsButtonState(inputMenu.findItem(R.id.action_unfold), mAdapter.showingDetails());
return super.onCreateOptionsMenu(inputMenu);
}
@@ -168,8 +167,8 @@ public class ManageGroupActivity extends CatimaAppCompatActivity implements Mana
public boolean onOptionsItemSelected(MenuItem inputItem) {
int id = inputItem.getItemId();
if (id == R.id.action_unfold) {
mAdapter.showDetails(!mAdapter.showingDetails());
if (id == R.id.action_shown_details) {
mAdapter.showSelectDetailDisplayDialog();
invalidateOptionsMenu();
return true;

View File

@@ -150,8 +150,10 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
params.leftMargin = 50;
params.rightMargin = 50;
int contentPadding = getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
params.leftMargin = contentPadding;
params.topMargin = contentPadding / 2;
params.rightMargin = contentPadding;
input.setLayoutParams(params);
container.addView(input);

View File

@@ -21,7 +21,6 @@ import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
@@ -194,27 +193,22 @@ public class ScanActivity extends CatimaAppCompatActivity {
private void handleActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
BarcodeValues barcodeValues;
BarcodeValues barcodeValues = Utils.parseSetBarcodeActivityResult(requestCode, resultCode, intent, this);
try {
barcodeValues = Utils.parseSetBarcodeActivityResult(requestCode, resultCode, intent, this);
} catch (NullPointerException e) {
Toast.makeText(this, R.string.errorReadingImage, Toast.LENGTH_LONG).show();
if (barcodeValues.isEmpty()) {
return;
}
if (!barcodeValues.isEmpty()) {
Intent manualResult = new Intent();
Bundle manualResultBundle = new Bundle();
manualResultBundle.putString(BarcodeSelectorActivity.BARCODE_CONTENTS, barcodeValues.content());
manualResultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, barcodeValues.format());
if (addGroup != null) {
manualResultBundle.putString(LoyaltyCardEditActivity.BUNDLE_ADDGROUP, addGroup);
}
manualResult.putExtras(manualResultBundle);
ScanActivity.this.setResult(RESULT_OK, manualResult);
finish();
Intent manualResult = new Intent();
Bundle manualResultBundle = new Bundle();
manualResultBundle.putString(BarcodeSelectorActivity.BARCODE_CONTENTS, barcodeValues.content());
manualResultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, barcodeValues.format());
if (addGroup != null) {
manualResultBundle.putString(LoyaltyCardEditActivity.BUNDLE_ADDGROUP, addGroup);
}
manualResult.putExtras(manualResultBundle);
ScanActivity.this.setResult(RESULT_OK, manualResult);
finish();
}
public void addManually(View view) {
@@ -251,7 +245,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedClickableArea.setOnClickListener(show ? v -> {
navigateToSystemPermissionSetting();
} : null);
customBarcodeScannerBinding.cardInputContainer.setBackgroundColor(show ? obtainThemeAttribute(R.attr.colorSurface) : Color.TRANSPARENT);
customBarcodeScannerBinding.cardInputContainer.setBackgroundColor(show ? obtainThemeAttribute(com.google.android.material.R.attr.colorSurface) : Color.TRANSPARENT);
customBarcodeScannerBinding.cameraPermissionDeniedLayout.getRoot().setVisibility(show ? View.VISIBLE : View.GONE);
}

View File

@@ -53,8 +53,8 @@ public class UCropWrapper extends UCropActivity {
AppCompatImageView controlsBackgroundImage = (AppCompatImageView) check;
// everything gathered and are as expected, now perform color patching
Utils.patchColors(this);
int colorSurface = MaterialColors.getColor(this, R.attr.colorSurface, ContextCompat.getColor(this, R.color.md_theme_light_surface));
int colorOnSurface = MaterialColors.getColor(this, R.attr.colorOnSurface, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
int colorSurface = MaterialColors.getColor(this, com.google.android.material.R.attr.colorSurface, ContextCompat.getColor(this, R.color.md_theme_light_surface));
int colorOnSurface = MaterialColors.getColor(this, com.google.android.material.R.attr.colorOnSurface, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
Drawable controlsBackgroundImageDrawable = controlsBackgroundImage.getBackground();
controlsBackgroundImageDrawable.mutate();

View File

@@ -15,10 +15,12 @@ import android.net.Uri;
import android.os.Build;
import android.os.LocaleList;
import android.provider.MediaStore;
import android.text.format.DateUtils;
import android.util.Log;
import android.util.TypedValue;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.RawRes;
@@ -46,7 +48,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.NumberFormat;
@@ -114,6 +115,17 @@ public class Utils {
return ColorUtils.calculateLuminance(backgroundColor) > LUMINANCE_MIDPOINT;
}
/**
* Returns the Barcode format and content based on the result of an activity.
* It shows toasts to notify the end-user as needed itself and will return an empty
* BarcodeValues object if the activity was cancelled or nothing could be found.
*
* @param requestCode
* @param resultCode
* @param intent
* @param context
* @return BarcodeValues
*/
static public BarcodeValues parseSetBarcodeActivityResult(int requestCode, int resultCode, Intent intent, Context context) {
String contents;
String format;
@@ -125,9 +137,15 @@ public class Utils {
if (requestCode == Utils.BARCODE_IMPORT_FROM_IMAGE_FILE) {
Log.i(TAG, "Received image file with possible barcode");
Uri data = intent.getData();
if (data == null) {
Log.e(TAG, "Intent did not contain any data");
Toast.makeText(context, R.string.errorReadingImage, Toast.LENGTH_LONG).show();
return new BarcodeValues(null, null);
}
Bitmap bitmap;
try {
Uri data = intent.getData();
bitmap = retrieveImageFromUri(context, data);
} catch (IOException e) {
Log.e(TAG, "Error getting data from image file");
@@ -542,22 +560,12 @@ public class Utils {
activity.findViewById(android.R.id.content).setBackgroundColor(typedValue.data);
}
public static void updateMenuCardDetailsButtonState(MenuItem item, boolean currentlyExpanded) {
if (currentlyExpanded) {
item.setIcon(R.drawable.ic_baseline_unfold_less_24);
item.setTitle(R.string.action_hide_details);
} else {
item.setIcon(R.drawable.ic_baseline_unfold_more_24);
item.setTitle(R.string.action_show_details);
}
}
public static int getHeaderColorFromImage(Bitmap image, int fallback) {
if (image == null) {
return fallback;
}
return new Palette.Builder(image).generate().getDominantColor(R.attr.colorPrimary);
return new Palette.Builder(image).generate().getDominantColor(androidx.appcompat.R.attr.colorPrimary);
}
public static int getRandomHeaderColor(Context context) {
@@ -584,4 +592,38 @@ public class Utils {
return result.toString();
}
public static void setIconOrTextWithBackground(Context context, LoyaltyCard loyaltyCard, Bitmap icon, ImageView backgroundOrIcon, TextView textWhenNoImage) {
if (icon != null) {
Log.d("onResume", "setting icon image");
textWhenNoImage.setVisibility(View.GONE);
backgroundOrIcon.setImageBitmap(icon);
backgroundOrIcon.setBackgroundColor(Color.TRANSPARENT);
} else {
textWhenNoImage.setVisibility(View.VISIBLE);
int headerColor = loyaltyCard.headerColor != null ? loyaltyCard.headerColor : LetterBitmap.getDefaultColor(context, loyaltyCard.store);
backgroundOrIcon.setImageBitmap(null);
backgroundOrIcon.setBackgroundColor(headerColor);
textWhenNoImage.setText(loyaltyCard.store);
textWhenNoImage.setTextColor(Utils.needsDarkForeground(headerColor) ? Color.BLACK : Color.WHITE);
}
}
public static boolean installedFromGooglePlay(Context context) {
try {
String packageName = context.getPackageName();
String installer;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
installer = context.getPackageManager().getInstallSourceInfo(packageName).getInstallingPackageName();
} else {
installer = context.getPackageManager().getInstallerPackageName(packageName);
}
return installer.equals("com.android.vending");
} catch (Throwable ignored) {
return false;
}
}
}

View File

@@ -8,22 +8,14 @@ public class CSVHelpers {
/**
* Extract a string from the items array. The index into the array
* is determined by looking up the index in the fields map using the
* "key" as the key. If no such key exists, defaultValue is returned
* if it is not null. Otherwise, a FormatException is thrown.
* "key" as the key. If no such key exists, defaultValue is returned.
*/
static String extractString(String key, CSVRecord record, String defaultValue)
throws FormatException {
String toReturn = defaultValue;
static String extractString(String key, CSVRecord record, String defaultValue) {
if (record.isMapped(key)) {
toReturn = record.get(key);
} else {
if (defaultValue == null) {
throw new FormatException("Field not used but expected: " + key);
}
return record.get(key);
}
return toReturn;
return defaultValue;
}
/**
@@ -32,15 +24,15 @@ public class CSVHelpers {
* "key" as the key. If no such key exists, or the data is not a valid
* int, a FormatException is thrown.
*/
static Integer extractInt(String key, CSVRecord record, boolean nullIsOk)
static Integer extractInt(String key, CSVRecord record)
throws FormatException {
if (record.isMapped(key) == false) {
if (!record.isMapped(key)) {
throw new FormatException("Field not used but expected: " + key);
}
String value = record.get(key);
if (value.isEmpty() && nullIsOk) {
return null;
if (value.isEmpty()) {
throw new FormatException("Field is empty: " + key);
}
try {
@@ -56,15 +48,15 @@ public class CSVHelpers {
* "key" as the key. If no such key exists, or the data is not a valid
* int, a FormatException is thrown.
*/
static Long extractLong(String key, CSVRecord record, boolean nullIsOk)
static Long extractLong(String key, CSVRecord record)
throws FormatException {
if (record.isMapped(key) == false) {
if (!record.isMapped(key)) {
throw new FormatException("Field not used but expected: " + key);
}
String value = record.get(key);
if (value.isEmpty() && nullIsOk) {
return null;
if (value.isEmpty()) {
throw new FormatException("Field is empty: " + key);
}
try {

View File

@@ -77,7 +77,7 @@ public class CatimaImporter implements Importer {
int version = parseVersion(bufferedReader);
switch (version) {
case 1:
parseV1(context, database, bufferedReader);
parseV1(database, bufferedReader);
break;
case 2:
parseV2(context, database, bufferedReader);
@@ -87,12 +87,12 @@ public class CatimaImporter implements Importer {
}
}
public void parseV1(Context context, SQLiteDatabase database, BufferedReader input) throws IOException, FormatException, InterruptedException {
public void parseV1(SQLiteDatabase database, BufferedReader input) throws IOException, FormatException, InterruptedException {
final CSVParser parser = new CSVParser(input, CSVFormat.RFC4180.builder().setHeader().build());
try {
for (CSVRecord record : parser) {
importLoyaltyCard(context, database, record);
importLoyaltyCard(database, record);
if (Thread.currentThread().isInterrupted()) {
throw new InterruptedException();
@@ -214,7 +214,7 @@ public class CatimaImporter implements Importer {
}
for (CSVRecord record : records) {
importLoyaltyCard(context, database, record);
importLoyaltyCard(database, record);
}
}
@@ -276,9 +276,9 @@ public class CatimaImporter implements Importer {
* Import a single loyalty card into the database using the given
* session.
*/
private void importLoyaltyCard(Context context, SQLiteDatabase database, CSVRecord record)
throws IOException, FormatException {
int id = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.ID, record, false);
private void importLoyaltyCard(SQLiteDatabase database, CSVRecord record)
throws FormatException {
int id = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.ID, record);
String store = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.STORE, record, "");
if (store.isEmpty()) {
@@ -286,25 +286,38 @@ public class CatimaImporter implements Importer {
}
String note = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.NOTE, record, "");
Date validFrom = null;
Long validFromLong;
try {
validFrom = new Date(CSVHelpers.extractLong(DBHelper.LoyaltyCardDbIds.VALID_FROM, record, true));
} catch (NullPointerException | FormatException e) {
validFromLong = CSVHelpers.extractLong(DBHelper.LoyaltyCardDbIds.VALID_FROM, record);
} catch (FormatException ignored) {
validFromLong = null;
}
if (validFromLong != null) {
validFrom = new Date(validFromLong);
}
Date expiry = null;
Long expiryLong;
try {
expiry = new Date(CSVHelpers.extractLong(DBHelper.LoyaltyCardDbIds.EXPIRY, record, true));
} catch (NullPointerException | FormatException e) {
expiryLong = CSVHelpers.extractLong(DBHelper.LoyaltyCardDbIds.EXPIRY, record);
} catch (FormatException ignored) {
expiryLong = null;
}
if (expiryLong != null) {
expiry = new Date(expiryLong);
}
BigDecimal balance;
try {
balance = new BigDecimal(CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BALANCE, record, null));
} catch (FormatException _e) {
// These fields did not exist in versions 1.8.1 and before
// We catch this exception so we can still import old backups
balance = new BigDecimal("0");
// These fields did not exist in versions 1.8.1 and before
// We default to 0 so we can still import old backups
BigDecimal balance = new BigDecimal("0");
String balanceString = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BALANCE, record, null);
if (balanceString != null) {
try {
balance = new BigDecimal(CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BALANCE, record, null));
} catch (NumberFormatException ignored) {
}
}
Currency balanceType = null;
@@ -330,14 +343,14 @@ public class CatimaImporter implements Importer {
}
Integer headerColor = null;
if (record.isMapped(DBHelper.LoyaltyCardDbIds.HEADER_COLOR)) {
headerColor = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.HEADER_COLOR, record, true);
try {
headerColor = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.HEADER_COLOR, record);
} catch (FormatException ignored) {
}
int starStatus = 0;
try {
starStatus = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.STAR_STATUS, record, false);
starStatus = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.STAR_STATUS, record);
} catch (FormatException _e) {
// This field did not exist in versions 0.28 and before
// We catch this exception so we can still import old backups
@@ -346,7 +359,7 @@ public class CatimaImporter implements Importer {
int archiveStatus = 0;
try {
archiveStatus = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.ARCHIVE_STATUS, record, false);
archiveStatus = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIds.ARCHIVE_STATUS, record);
} catch (FormatException _e) {
// This field did not exist in versions 2.16.3 and before
// We catch this exception so we can still import old backups
@@ -355,7 +368,7 @@ public class CatimaImporter implements Importer {
Long lastUsed = 0L;
try {
lastUsed = CSVHelpers.extractLong(DBHelper.LoyaltyCardDbIds.LAST_USED, record, false);
lastUsed = CSVHelpers.extractLong(DBHelper.LoyaltyCardDbIds.LAST_USED, record);
} catch (FormatException _e) {
// This field did not exist in versions 2.5.0 and before
// We catch this exception so we can still import old backups
@@ -371,6 +384,10 @@ public class CatimaImporter implements Importer {
private void importGroup(SQLiteDatabase database, CSVRecord record) throws FormatException {
String id = CSVHelpers.extractString(DBHelper.LoyaltyCardDbGroups.ID, record, null);
if (id == null) {
throw new FormatException("Group has no ID: " + record);
}
DBHelper.insertGroup(database, id);
}
@@ -379,9 +396,13 @@ public class CatimaImporter implements Importer {
* session.
*/
private void importCardGroupMapping(SQLiteDatabase database, CSVRecord record) throws FormatException {
Integer cardId = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIdsGroups.cardID, record, false);
int cardId = CSVHelpers.extractInt(DBHelper.LoyaltyCardDbIdsGroups.cardID, record);
String groupId = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIdsGroups.groupID, record, null);
if (groupId == null) {
throw new FormatException("Group has no ID: " + record);
}
List<Group> cardGroups = DBHelper.getLoyaltyCardGroups(database, cardId);
cardGroups.add(DBHelper.getGroup(database, groupId));
DBHelper.setLoyaltyCardGroups(database, cardId, cardGroups);

View File

@@ -63,30 +63,6 @@ public class Settings {
return AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM;
}
public double getFontSizeScale() {
return getInt(R.string.settings_key_max_font_size_scale, R.integer.settings_max_font_size_scale_pct) / 100.0;
}
public int getSmallFont() {
return 14;
}
public int getMediumFont() {
return 28;
}
public int getLargeFont() {
return 40;
}
public int getFontSizeMin(int fontSize) {
return (int) (Math.round(fontSize / 2.0) - 1);
}
public int getFontSizeMax(int fontSize) {
return (int) Math.round(fontSize * getFontSizeScale());
}
public boolean useMaxBrightnessDisplayingBarcode() {
return getBoolean(R.string.settings_key_display_barcode_max_brightness, true);
}

View File

@@ -13,18 +13,13 @@ import java.util.List;
import java.util.Locale;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentResultListener;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import kotlin.Suppress;
import nl.invissvenska.numberpickerpreference.NumberDialogPreference;
import nl.invissvenska.numberpickerpreference.NumberPickerPreferenceDialogFragment;
import protect.card_locker.CatimaAppCompatActivity;
import protect.card_locker.MainActivity;
import protect.card_locker.R;
@@ -164,30 +159,5 @@ public class SettingsActivity extends CatimaAppCompatActivity {
activity.recreate();
}
}
@Override
@SuppressWarnings("deprecation") // setTargetFragment
// androidx.preference.PreferenceDialogFragmentCompat uses the deprecated method
// `getTargetFragment()`, which throws if `setTargetFragment()` isn't used before.
// While this isn't fixed on upstream, suppress the deprecation warning
// https://issuetracker.google.com/issues/181793702
public void onDisplayPreferenceDialog(Preference preference) {
if (preference instanceof NumberDialogPreference) {
NumberDialogPreference dialogPreference = (NumberDialogPreference) preference;
DialogFragment dialogFragment = NumberPickerPreferenceDialogFragment
.newInstance(
dialogPreference.getKey(),
dialogPreference.getMinValue(),
dialogPreference.getMaxValue(),
dialogPreference.getStepValue(),
dialogPreference.getUnitText()
);
dialogFragment.setTargetFragment(this, 0);
dialogFragment.show(getParentFragmentManager(), DIALOG_FRAGMENT_TAG);
} else {
super.onDisplayPreferenceDialog(preference);
}
}
}
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" android:useLevel="true"
android:dither="true">
<size android:height="12dip" android:width="12dip"/>
<solid android:color="@android:color/white"/>
</shape>

View File

@@ -1,5 +1,5 @@
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
<path android:fillColor="@android:color/white" android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/>
</vector>

View File

@@ -0,0 +1,24 @@
<layer-list xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="?attr/colorSurface" />
<corners
android:bottomLeftRadius="28dp"
android:bottomRightRadius="28dp"
android:topLeftRadius="28dp"
android:topRightRadius="28dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="@color/m3_popupmenu_overlay_color"
tools:ignore="PrivateResource" />
<corners
android:bottomLeftRadius="28dp"
android:bottomRightRadius="28dp"
android:topLeftRadius="28dp"
android:topRightRadius="28dp" />
</shape>
</item>
</layer-list>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M15.41,7.41L14,6l-6,6 6,6 1.41,-1.41L10.83,12z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z"/>

View File

@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z"/>
</vector>

View File

@@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>

View File

@@ -1,5 +0,0 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z"/>
</vector>

View File

@@ -1,5 +1,5 @@
<vector android:autoMirrored="true" android:height="24dp" android:tint="?attr/colorControlNormal"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
<path android:fillColor="@android:color/white" android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"/>
</vector>

View File

@@ -1,5 +1,5 @@
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,17c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6h1.9c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM18,20L6,20L6,10h12v10z"/>
<path android:fillColor="@android:color/white" android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/>
</vector>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" android:useLevel="true"
android:dither="true">
<size android:height="8dip" android:width="8dip"/>
<solid android:color="@android:color/white"/>
</shape>

View File

@@ -271,6 +271,36 @@
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/donate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<TextView
android:id="@+id/donate_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/donate"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/rate"
android:layout_width="match_parent"

View File

@@ -37,36 +37,48 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
<Button
android:id="@+id/moveUp"
android:layout_width="@dimen/cardThumbnailSize"
android:layout_height="@dimen/cardThumbnailSize"
style="?attr/materialIconButtonFilledStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
app:icon="@drawable/ic_baseline_arrow_drop_up_24"
app:iconGravity="textStart"
app:tint="?attr/colorOnPrimary"
android:contentDescription="@string/moveUp"/>
<ImageButton
<Button
android:id="@+id/moveDown"
android:layout_width="@dimen/cardThumbnailSize"
android:layout_height="@dimen/cardThumbnailSize"
style="?attr/materialIconButtonFilledStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
app:icon="@drawable/ic_baseline_arrow_drop_down_24"
app:iconGravity="textStart"
app:tint="?attr/colorOnPrimary"
android:contentDescription="@string/moveDown"/>
<ImageButton
<Button
android:id="@+id/edit"
android:layout_width="@dimen/cardThumbnailSize"
android:layout_height="@dimen/cardThumbnailSize"
style="?attr/materialIconButtonFilledStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_mode_edit_white_24dp"
app:icon="@drawable/ic_mode_edit_white_24dp"
app:iconGravity="textStart"
app:tint="?attr/colorOnPrimary"
android:contentDescription="@string/edit"/>
<ImageButton
<Button
android:id="@+id/delete"
android:layout_width="@dimen/cardThumbnailSize"
android:layout_height="@dimen/cardThumbnailSize"
style="?attr/materialIconButtonFilledStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:srcCompat="@drawable/ic_delete_white_24dp"
app:icon="@drawable/ic_delete_white_24dp"
app:iconGravity="textStart"
app:tint="?attr/colorOnPrimary"
android:contentDescription="@string/delete"/>
</LinearLayout>

View File

@@ -9,8 +9,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp">
android:layout_height="wrap_content">
<com.google.android.material.card.MaterialCardView
android:id="@+id/icon_layout"
@@ -24,7 +23,6 @@
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:importantForAccessibility="no"
android:id="@+id/thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -36,6 +34,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/thumbnail_text"
android:importantForAccessibility="no"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textStyle="bold"
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="12sp"
app:autoSizeMaxTextSize="100sp"
app:autoSizeStepGranularity="2sp"
android:gravity="center"
android:maxLines="1"
android:layout_margin="20dp" />
<ImageView
android:importantForAccessibility="no"
android:id="@+id/selected_thumbnail"
@@ -124,7 +136,10 @@
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:textAppearance="?attr/textAppearanceHeadline1"
android:textAppearance="?attr/textAppearanceHeadlineSmall"
android:textColor="?android:attr/textColorSecondary"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintTop_toBottomOf="@+id/icon_layout"
app:layout_constraintBottom_toTopOf="@+id/note"
app:layout_constraintEnd_toEndOf="parent"
@@ -167,6 +182,7 @@
android:id="@+id/balance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
@@ -186,6 +202,7 @@
android:id="@+id/validFrom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
@@ -205,6 +222,7 @@
android:id="@+id/expiry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"

View File

@@ -6,215 +6,199 @@
android:id="@+id/coordinator_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fitsSystemWindows="true">
android:fitsSystemWindows="false">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:clipChildren="false"
android:clipToPadding="false"
android:fitsSystemWindows="true"
android:weightSum="1.0">
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar_landscape"
android:layout_width="fill_parent"
android:layout_height="?actionBarSize"
android:background="@android:color/transparent"
android:fitsSystemWindows="false"
android:paddingTop="0dp"
android:visibility="gone"
app:contentInsetStart="72.0dip"
app:layout_collapseMode="pin" />
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
style="?attr/toolbarStyle" />
</com.google.android.material.appbar.AppBarLayout>
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="fill_parent"
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:layout_marginBottom="100dp"
android:orientation="vertical"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp">
<LinearLayout
android:id="@+id/icon_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"
android:minHeight="56.0dip"
app:contentScrim="?colorPrimary"
app:expandedTitleGravity="top"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp">
android:layout_marginBottom="20dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/storeName"
<Space
android:layout_width="50dp"
android:layout_height="0dp"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<com.google.android.material.card.MaterialCardView
android:id="@+id/icon_holder"
android:layout_width="match_parent"
android:layout_height="0dp"
app:cardCornerRadius="8dp"
android:layout_margin="10dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="85.6f:53.98f">
<ImageView
android:id="@+id/icon_image"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<TextView
android:id="@+id/icon_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textStyle="bold"
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="12sp"
app:autoSizeMaxTextSize="100sp"
app:autoSizeStepGranularity="2sp"
android:gravity="center"
android:maxLines="1"
android:layout_margin="20dp" />
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
<Space
android:layout_width="50dp"
android:layout_height="0dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp">
<!-- We don't use these buttons for Talkback -->
<ImageButton
android:importantForAccessibility="no"
android:id="@+id/main_left_button"
android:layout_width="50dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_baseline_chevron_left_24"
android:background="@android:color/transparent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/card_holder"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<com.google.android.material.card.MaterialCardView
android:id="@+id/main_card_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="8dp"
android:layout_margin="10dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="4dp"
android:orientation="vertical">
<ImageView
android:id="@+id/main_image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/card_id_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_large"
android:ellipsize="end"
android:singleLine="true"
android:gravity="center"/>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- We don't use these buttons for Talkback -->
<ImageButton
android:importantForAccessibility="no"
android:id="@+id/main_right_button"
android:layout_width="50dp"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_baseline_chevron_right_24"
android:background="@android:color/transparent"/>
</LinearLayout>
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/fullscreen_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:importantForAccessibility="no"
android:id="@+id/fullscreen_image"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/scaler_guideline"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/scaler_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.5"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/fullscreen_button_minimize"
android:layout_marginBottom="25dp"
android:layout_marginStart="15.0dip"
android:layout_marginEnd="15.0dip">
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/height"/>
<SeekBar
android:id="@+id/barcode_scaler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="?actionBarSize"
android:layout_marginBottom="?actionBarSize"
android:ellipsize="end"
android:maxLines="1"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="40sp"
app:layout_collapseMode="parallax" />
android:contentDescription="@string/setBarcodeHeight"
android:max="100" />
</LinearLayout>
<androidx.appcompat.widget.Toolbar
android:id="@id/toolbar"
android:layout_width="fill_parent"
android:layout_height="?actionBarSize"
android:background="@android:color/transparent"
app:contentInsetStart="72.0dip"
app:layout_collapseMode="pin" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<ImageView
android:id="@+id/icon_image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_alignParentTop="true"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:srcCompat="@drawable/ic_launcher_foreground"
tools:ignore="ContentDescription" />
<FrameLayout
android:clipChildren="false"
android:clipToPadding="false"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/centerGuideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.5"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/scalerGuideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.75"/>
<ImageButton
android:id="@+id/maximizeButton"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="15.0dip"
android:layout_marginTop="10dp"
android:layout_marginEnd="15.0dip"
android:background="?attr/colorPrimary"
android:contentDescription="@string/moveBarcodeToTopOfScreen"
android:padding="0dp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/mainImage"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
app:tint="?attr/colorOnPrimary"
tools:visibility="visible" />
<ImageView
android:id="@+id/mainImage"
android:layout_width="match_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginStart="15.0dip"
android:layout_marginEnd="15.0dip"
app:layout_constraintBottom_toTopOf="@+id/centerGuideline"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/maximizeButton"/>
<ImageButton
android:id="@+id/minimizeButton"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="15.0dip"
android:layout_marginTop="10dp"
android:layout_marginEnd="15.0dip"
android:background="?attr/colorPrimary"
android:contentDescription="@string/moveBarcodeToCenterOfScreen"
android:padding="0dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/mainImage"
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
app:tint="?attr/colorOnPrimary"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/dotIndicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="15.0dip"
android:layout_marginTop="10dp"
android:layout_marginEnd="15.0dip"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/minimizeButton"
tools:visibility="visible" />
<SeekBar
android:id="@+id/barcodeScaler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/inputPadding"
android:layout_marginStart="15.0dip"
android:layout_marginEnd="15.0dip"
android:contentDescription="@string/set_scale"
android:max="100"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/scalerGuideline" />
<TextView
android:id="@+id/cardIdView"
android:enabled="true"
android:textIsSelectable="true"
android:focusable="true"
android:longClickable="true"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginLeft="10.0dip"
android:layout_marginRight="10.0dip"
android:paddingBottom="80dp"
app:layout_constraintTop_toBottomOf="@+id/dotIndicator"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:textAlignment="center"
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="@dimen/singleCardCardIdTextSizeMin"
app:autoSizeMaxTextSize="@dimen/singleCardCardIdTextSizeMax"
android:ellipsize="end"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<View
android:id="@+id/drop_shadow_actionbar"
android:layout_width="fill_parent"
android:layout_height="5.0dip"
android:layout_gravity="top"/>
</FrameLayout>
<ImageButton
android:id="@+id/fullscreen_button_minimize"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_baseline_expand_more_24"
android:tooltipText="@string/moveDown"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="25dp"
android:background="@android:color/transparent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.bottomappbar.BottomAppBar
android:id="@+id/bottom_app_bar"
@@ -230,7 +214,7 @@
app:fabAlignmentMode="center">
<ImageButton
android:id="@+id/button_previous"
android:id="@+id/bottom_app_bar_previous_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
@@ -242,7 +226,7 @@
android:visibility="gone" />
<ImageButton
android:id="@+id/button_show_info"
android:id="@+id/bottom_app_bar_info_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
@@ -254,7 +238,7 @@
android:visibility="gone" />
<ImageButton
android:id="@+id/button_next"
android:id="@+id/bottom_app_bar_next_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
@@ -266,7 +250,7 @@
android:visibility="gone" />
<ImageButton
android:id="@+id/button_update_balance"
android:id="@+id/bottom_app_bar_update_balance_button"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.materialswitch.MaterialSwitch xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/switchWidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:focusable="false" />

View File

@@ -12,10 +12,11 @@
android:id="@+id/checkBox_reverse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:paddingLeft="20dp"
android:layout_marginStart="20dp"
android:paddingStart="20dp"
android:text="@string/reverse"
android:textSize="19sp"/>
android:textSize="16sp"
android:textColor="?attr/colorOnSurfaceVariant"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -10,9 +10,9 @@
app:showAsAction="always|collapseActionView"
android:visible="false"/>
<item
android:id="@+id/action_unfold"
android:title="@string/action_hide_details"
android:icon="@drawable/ic_baseline_unfold_less_24"
android:id="@+id/action_shown_details"
android:title="@string/action_show_details"
android:icon="@drawable/baseline_visibility_24"
app:showAsAction="always"
android:visible="false"/>
<item

View File

@@ -1,9 +1,9 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_unfold"
android:title="@string/action_hide_details"
android:icon="@drawable/ic_baseline_unfold_less_24"
android:id="@+id/action_shown_details"
android:title="@string/action_show_details"
android:icon="@drawable/baseline_visibility_24"
app:showAsAction="always"
android:visible="true"/>
</menu>

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_delete"
android:icon="@drawable/ic_delete_white_24dp"
android:title="@string/delete"
app:showAsAction="always"/>
</menu>

View File

@@ -4,13 +4,13 @@
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_share_white"
android:icon="@drawable/ic_share"
android:title="@string/share"
app:showAsAction="always"/>
<item
android:id="@+id/action_star_unstar"
android:icon="@drawable/ic_unstarred_white"
android:icon="@drawable/ic_unstarred"
android:title="@string/star"
app:showAsAction="always" />

View File

@@ -10,9 +10,9 @@
app:showAsAction="always|collapseActionView"
android:visible="false"/>
<item
android:id="@+id/action_unfold"
android:title="@string/action_hide_details"
android:icon="@drawable/ic_baseline_unfold_less_24"
android:id="@+id/action_shown_details"
android:title="@string/action_show_details"
android:icon="@drawable/baseline_visibility_24"
app:showAsAction="always"
android:visible="false"/>
<item

View File

@@ -16,8 +16,8 @@ Gediminas Murauskas
Petr Novák
Joel A
Taco
pfaffenrodt
laralem
pfaffenrodt
Nyatsuki
gallegonovato
HudobniVolk
@@ -28,15 +28,20 @@ Sergio Paredes
Aayush Gupta
huuhaa
Quentin PAGÈS
Clxff H3r4ld0
Balázs Meskó
Alexander Ivanov
arshbeerSingh
Denis Shilin
Freddo espresso
Giovanni Donisi
Projjal Moitra
Silvério Santos
Miha Frangež
Arnis Jaundzeikars
Eryk Michalak
Arnis Jaundžeikars
Kefir2105
sr093906
Giovanni Donisi
mdvhimself
Katarzyna
echo r"0xX4H" | rev
@@ -47,9 +52,11 @@ waffshappen
Robin
Eric
ati3
(Cliff Heraldo)
enolp
Evgeniy Khramov
FC Stegerman
Jane Kong
Jean Mareilles
Jiri Grönroos
K. Herbert
Lisa A.
@@ -59,8 +66,8 @@ Still Hsu
String E. Fighter
Tapu
Yurical
Eryk Michalak
rr-vesp
丛林意志
alajemba-vik
/usr/local/ΕΨΗΕΛΩΝ
Adolfo Jayme-Barrientos
@@ -69,19 +76,22 @@ KovalevArtem
Artem M.
Astrohops1
BMN
balaraz
BootVirtual
Clonewayx
D. Domig
Diego
Eudes-alencar
Fede Pujol
francescbassas
Jean-Luc Tibaux
Jesse Davids
Lukas Grassauer
bittin
Luna Jernberg
Marnick L'Eau
Michalis
Michał
Milo Ivir
Mohamed A. Salah
the7thNightmare
Rishi Agarwal
@@ -101,27 +111,31 @@ ce i moa
inesre
lgasp
phlostically
pokeghost
sal0max
Ágata Leuck
BmBKun
Aditya Das
asier123123131
Kevin Sicong Jiang
Tomer Ben-Rachel
Tom Sawyer
tfuxu
Ahmed Saleh
Airat
Alexander
sNiXx
Angela Enogieru
AnimeshChatterjee1
Animesh Chatterjee
Artūras Kalenda
Ashish Yadav
Asier
Aya Elsaadany
Biren
Booc Sylvan
Brage Nesteby Reitan
Cap Amr Karam
Carlo Maria Cuoghi Barbagli
CherryMonster222
Colgrave
Csaba
Mylou53
danieluhrinyi
@@ -129,6 +143,7 @@ Kasina Dheeraj
Donno
Flav
Franciszek Stefan
Gael Caraballo
Grzegorz
gneiss15
Hamustra Scans
@@ -136,10 +151,8 @@ HowITsDone
Izzy
Jacek
Jacopo Gennaro Esposito
Jasielprogramador
Jean Mareilles
Jean-Baptiste
人工知能
Kung-chih
Karvjorm
krkk
Laura Ferraz
@@ -147,18 +160,23 @@ Lucas da Costa
Manan Jhaveri
Marco
BRBsoup
Mateo Gomez
Mattia
Md. Al-Amin
Michael Gangolf
3DN1M
Minecraft boom
Mobashir Raihan
Moi Toi
DivideEtImpera
Nicolas
Nosnahc
pa4k
pbeckmann
Peer Beckmann
Piotr Strebski
Piotr Zet
Poorva Patidar
Quang Nguyen
Ratnesh
Reza
@@ -166,25 +184,33 @@ Rohan Babbar
Ronak Upadhyay
Rose Liverman
SKULD
Sabri Ünal
Salem Malus
Samarth Asthan
Shailendra Maurya
SilverFS
Simone Dotto
Subhashish Anand
TenTraicion
Subhradeep Bera
Swayam Khare
SziaTomi
Mehedi Hasan
Titas Pažereckas
Tom Sawyer
atakujonc
Tony C
Tymofii Lytvynenko
Vancha March
Waldemar Stoczkowski
Yevgeny M
Yusril A
ahmed-awad26
Avik Kundu
diksha-2911
Frablock
gbonaspetti
gittyboy-cell
huang ivan
liva
lucafont2
mtrmirez
opsik
@@ -199,6 +225,7 @@ Truestorybaby
tygyh
unstartdev
wmilan 17
يوسف لطفي
luoyang3
JaeBeom An
JungHee Lee

View File

@@ -48,7 +48,6 @@
<string name="app_copyright_old">بناء على Loyalty Card Keychain
\nحقوق النشر © 2016-2020 Branden Archer</string>
<string name="app_license">البرمجيات الحرة متروكة الحقوق, ترخيص +GPLv3</string>
<string name="app_revision_fmt">معلومات المراجعة: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_libraries">مكتبات الطرف الثالث الحرة: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">اختار الباركود</string>
<string name="enterBarcodeInstructions">أدخل بطاقة هوية ، واختر نوع الباركود أدناه ، أو \"لا يوجد باركود\".</string>
@@ -63,7 +62,6 @@
<string name="settings_portrait_orientation">الوضع الرأسي</string>
<string name="settings_landscape_orientation">الوضع الأفقي</string>
<string name="settings_theme">مظهر</string>
<string name="settings_max_font_size_scale">اقصي. حجم الخط</string>
<string name="settings_display_barcode_max_brightness">عرض مشرق علي الباركود</string>
<string name="importSuccessful">تم استيراد البيانات</string>
<string name="exportSuccessful">تم تصدير البيانات</string>
@@ -93,7 +91,7 @@
<string name="importFidme">الاستيراد من FidMe</string>
<string name="importFidmeMessage">حدد ملفك <i>fidme-export-request-xxxxxx.zip</i> تصدير من FidMe للاستيراد ، ثم حدد أنواع الباركود يدويًا بعد ذلك.
\nقم بإنشائه من ملف تعريف FidMe الخاص بك عن طريق اختيار حماية البيانات ثم الضغط على استخراج بياناتي أولاً.</string>
<string name="importStocardMessage">حدد ملفك <i>***-sync.zip</i> تصدير من Stocard للاستيراد.
<string name="importStocardMessage">حدد ملفك <i>***.zip</i> تصدير من Stocard للاستيراد.
\nاحصل عليه عن طريق إرسال بريد إلكتروني إلى support@stocardapp.com لطلب تصدير بياناتك.</string>
<string name="importVoucherVault">الاستيراد من Voucher Vault</string>
<string name="importVoucherVaultMessage">حدد ملفك <i>vouchervault.json</i> تصدير من Voucher Vault للاستيراد.
@@ -136,9 +134,6 @@
<string name="app_contributors">أصبح ممكنًا بواسطة: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">فرز</string>
<string name="showMoreInfo">اظهر المعلومات</string>
<string name="hideMoreInfo">إخفاء المعلومات</string>
<string name="swipeToSwitchImages">امسح لتبديل الصور, اضغط لفترة طويلة لفتح الصورة في تطبيق المعرض</string>
<string name="sort_by_balance">الرصيد</string>
<string name="reverse">... بترتيب معكوس</string>
<string name="sort_by">صنف حسب</string>
<string name="settings_oled_dark">خلفية سوداء نقية لمظهر داكن</string>
@@ -150,7 +145,6 @@
<string name="shortcutSelectCard">اختر بطاقة</string>
<string name="options">خيارات</string>
<string name="starred">مميز بنجمة</string>
<string name="set_scale">ضبط النطاق</string>
<string name="include_if_asking_support">إذا كنت ترغب في طلب الدعم ، فقم بتضمين المعلومات التالية:</string>
<string name="duplicateCard">كرر</string>
<string name="archive">ضع الي الأرشيف</string>
@@ -212,7 +206,6 @@
<string name="app_resources">موارد الطرف الثالث الحرة: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="settings_follow_system_orientation">نظام المتابعة</string>
<string name="groups">مجموعات</string>
<string name="barcode">باركود</string>
<string name="settings_keep_screen_on">حافظ على الشاشة قيد التشغيل</string>
<string name="intent_import_card_from_url_share_text">اريد مشاركة بطاقة معك</string>
<string name="groupsList">مجموعات: <xliff:g>%s</xliff:g></string>
@@ -234,7 +227,6 @@
<string name="balanceSentence">الرصيد: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">تنتهي: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">منتهي الصلاحية: <xliff:g>%s</xliff:g></string>
<string name="moveBarcodeToCenterOfScreen">قم بتوسيط الرمز الشريطي على الشاشة</string>
<plurals name="balancePoints">
<item quantity="zero"><xliff:g>%s</xliff:g> نقطة</item>
<item quantity="one"><xliff:g>%s</xliff:g> نقطة</item>
@@ -291,4 +283,10 @@
<string name="updateBalance">تحديث الرصيد</string>
<string name="updateBalanceHint">أدخل المبلغ</string>
<string name="storageReadPermissionRequired">الصلاحيه للوصل للتخزين مطلوبة لهذا الاجراء</string>
<string name="validFromDate">عربيه</string>
<string name="cameraPermissionRequired">إذن للوصول إلى الكاميرا اللازمة لهذا الإجراء…</string>
<string name="anyDate">أي تاريخ</string>
<string name="chooseValidFromDate">اختر صالح من التاريخ</string>
<string name="validFromSentence">صالح من:<xliff:g>%s</xliff:g></string>
<string name="height">الطول:</string>
</resources>

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="storeName">Nome</string>
<string name="note">Nota</string>
<string name="noMatchingGiftCards">Nun hai nengún resultáu. Prueba a camudar la busca.</string>
<string name="barcodeType">Tipu de códigu de barres</string>
<string name="noBarcode">Ensin códigu de barres</string>
<string name="star">Meter en Favoritos</string>
<string name="confirm">Confirmar</string>
<string name="deleteConfirmation">¿Quies desaniciar esta tarxeta permanentemente\?</string>
<string name="importExport">Importar/Esportar</string>
<string name="noCardIdError">Nun s\'introduxo nenguna ID</string>
<string name="exportFailed">Num se pudo facer la esportación</string>
<string name="importFailedTitle">La importación falló</string>
<string name="exportOptionExplanation">Los datos escríbense nel llugar qu\'escueyas.</string>
<string name="app_license">Software llibre llicenciao cola GPLv3+</string>
<string name="action_search">Buscar</string>
<string name="action_add">Amestar</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> na seleición</item>
<item quantity="other"><xliff:g>%d</xliff:g> na seleición</item>
</plurals>
<string name="noGiftCards">Calca\'l botón «+» p\'amestar una tarxeta o impórtales dende\'l menú «⋮».</string>
<string name="cardId">ID</string>
<string name="barcodeNoBarcode">Nun hai nengún códigu de barres</string>
<string name="save">Guardar</string>
<string name="edit">Editar</string>
<string name="delete">Desaniciar</string>
<plurals name="deleteCardsTitle">
<item quantity="one"></item>
<item quantity="other"></item>
</plurals>
<string name="unstar">Quitar de Favoritos</string>
<string name="cancel">Encaboxar</string>
<string name="importFailed">Nun se pudo facer la importación</string>
<string name="noCardExistsError">Nun se pudo atopar esa tarxeta</string>
<string name="all">Too</string>
<string name="noStoreError">Nun s\'introduxo nengún nome</string>
<string name="sendLabel">Unviar…</string>
<string name="editCardTitle">Editar la tarxeta</string>
<string name="ok">D\'acuerdu</string>
<string name="exportFailedTitle">La esportación falló</string>
<string name="noCameraPermissionDirectToSystemSetting">Pa escaniar códigos de barres, Catima tien d\'acceder a la cámara. Toca equí pa camudar la configuración de los permisos.</string>
<string name="debug_version_fmt">Versión: <xliff:g id="version">%s</xliff:g></string>
<string name="importing">Importando…</string>
<string name="exporting">Esportando…</string>
<string name="storageReadPermissionRequired">Esta aición precisa\'l permisu pa lleer l\'almacenamientu…</string>
<string name="cameraPermissionRequired">Esta aición precisa l\'accesu a la cámara…</string>
<string name="cameraPermissionDeniedTitle">Nun se pudo acceder a la cámara</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_copyright_old">Básase en Loyalty Card Keychain
\ncopyright © 20162020 Branden Archer</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="settings">Configuración</string>
<string name="settings_theme">Estilu</string>
</resources>

View File

@@ -68,16 +68,14 @@
<string name="balance">Наличност</string>
<string name="errorReadingImage">Изображението е нечетимо</string>
<string name="noBarcodeFound">Не е намерен щрихкод</string>
<string name="moveBarcodeToCenterOfScreen">Премества щрихкода в центъра на екрана</string>
<string name="moveBarcodeToTopOfScreen">Премества щрихкода най-горе на екрана</string>
<string name="never">Не изтича</string>
<string name="chooseExpiryDate">Дата на изтичане</string>
<string name="expiryDate">Валидност</string>
<string name="chooseExpiryDate">Определена дата</string>
<string name="expiryDate">Валидна до</string>
<string name="editBarcode">Редактиране на щрихкод</string>
<string name="barcode">Щрихкод</string>
<string name="card">Карта</string>
<string name="groupsList">Списъци: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Валидност: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Валидна до: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Изтекла: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Наличност: <xliff:g>%s</xliff:g></string>
<string name="noGroups">Докоснете бутона +, за да добавите списък.</string>
@@ -85,10 +83,9 @@
<string name="groups">Списъци</string>
<string name="enter_group_name">Въведете име на списъка</string>
<string name="intent_import_card_from_url_share_text">Искам да споделя тази карта с вас</string>
<string name="settings_display_barcode_max_brightness">Увеличаване на яркостта при видим щрихкод</string>
<string name="settings_keep_screen_on">Поддържане на екрана включен</string>
<string name="settings_disable_lockscreen_while_viewing_card">Предотвратяване на заключване на екрана</string>
<string name="settings_max_font_size_scale">Максимален размер на шрифта</string>
<string name="settings_display_barcode_max_brightness">Максимална яркост при видим щрихкод</string>
<string name="settings_keep_screen_on">Без изключване на екрана</string>
<string name="settings_disable_lockscreen_while_viewing_card">Без заключване на екрана</string>
<string name="settings_dark_theme">Тъмна</string>
<string name="settings_light_theme">Светла</string>
<string name="settings_system_theme">Системна</string>
@@ -127,7 +124,6 @@
<string name="importOptionFilesystemExplanation">Изберете определен файл от файловата система.</string>
<string name="app_resources">Свободни ресурси: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Свободни библиотеки: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_revision_fmt">Компилация: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="debug_version_fmt">Издание: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">Относно <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Всички права запазени © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
@@ -152,7 +148,7 @@
<string name="importVoucherVault">Внасяне от Voucher Vault</string>
<string name="importVoucherVaultMessage">Изберете файла <i>vouchervault.json</i>, предварително изнесен от Voucher Vault.
\nСъздайте такъв файл от меню „Export“ във Voucher Vault.</string>
<string name="importStocardMessage">Изберете файла <i>***-sync.zip</i>, предварително изнесен от Stocard.
<string name="importStocardMessage">Изберете файла <i>***.zip</i>, предварително изнесен от Stocard.
\nПолучете го като изпратите писмо на support@stocardapp.com с искане за изнасяне вашите данни.</string>
<string name="importLoyaltyCardKeychainMessage">Изберете файла <i>LoyaltyCardKeychain.csv</i>, предварително изнесен от Loyalty Card Keychain.
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Loyalty Card Keychain като изберете Изнасяне.</string>
@@ -183,10 +179,8 @@
<string name="settings_locale">Език</string>
<string name="noGroupCards">Групата е празна</string>
<string name="barcodeImageDescriptionWithType">Изображение на щрихкод от вид <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">За да размените изображенията - плъзнете, а за да ги отворите в галерията - задръжте</string>
<string name="sort_by">Сортиране по</string>
<string name="reverse">…в обратен ред</string>
<string name="sort_by_balance">Наличност</string>
<string name="sort_by_expiry">Валидност</string>
<string name="sort_by_most_recently_used">Последно използване</string>
<string name="sort_by_name">Наименование</string>
@@ -202,8 +196,8 @@
<string name="and_data_usage">и използване на данни</string>
<string name="help_translate_this_app">Помогнете за превода на приложението</string>
<string name="exportPasswordHint">Въведете парола</string>
<string name="exportPassword">Задаване на парола за защита на изнесеното (по избор)</string>
<string name="setIcon">Задаване на пиктограма</string>
<string name="exportPassword">Защитете архива с парола (по желание)</string>
<string name="setIcon">Задаване на миниатюра</string>
<string name="editGroup">Променяне на списъка: <xliff:g>%s</xliff:g></string>
<string name="group_name_already_in_use">Има списък с това име</string>
<string name="group_updated">Промените са запазени</string>
@@ -216,22 +210,20 @@
<string name="translate_platform">в Weblate</string>
<string name="shortcutSelectCard">Избор на карта</string>
<string name="starred">Със звезда</string>
<string name="set_scale">Мащаб</string>
<string name="showMoreInfo">Показване на информация</string>
<string name="hideMoreInfo">Скриване на информация</string>
<string name="options">Настройки</string>
<string name="card_ids_copied">Идентификаторите са копирани</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> точка</item>
<item quantity="other"><xliff:g>%s</xliff:g> точки</item>
</plurals>
<string name="settings_oled_dark">Чисто черен фон за тъмната тема</string>
<string name="settings_oled_dark">Черен фон за тъмната тема</string>
<string name="include_if_asking_support">Ако искате да потърсите поддръжка, включете следната информация:</string>
<string name="settings_card_orientation">Положение на щрихкода</string>
<string name="settings_card_orientation">Завъртане на щрихкода</string>
<string name="settings_follow_system_orientation">Според системата</string>
<string name="settings_portrait_orientation">Портретно</string>
<string name="settings_landscape_orientation">Пейзажно</string>
<string name="settings_lock_on_opening_orientation">Използване на положението, използвано при отваряне на картата</string>
<string name="settings_portrait_orientation">Портрет</string>
<string name="settings_landscape_orientation">Пейзаж</string>
<string name="settings_lock_on_opening_orientation">Като при отваряне на картата</string>
<string name="duplicateCard">Дублиране</string>
<string name="archive">Архивиране</string>
<string name="unarchive">Изваждане от архива</string>
@@ -267,5 +259,18 @@
<string name="validFromDate">Валидна от</string>
<string name="anyDate">Без значение от датата</string>
<string name="validFromSentence">Валидна от: <xliff:g>%s</xliff:g></string>
<string name="chooseValidFromDate">Изберете датата, от която е валидна</string>
<string name="chooseValidFromDate">Определена дата</string>
<string name="height">Височина:</string>
<string name="switchToFrontImage">Показване на предната страна</string>
<string name="switchToBackImage">Показване на задната страна</string>
<string name="switchToBarcode">Показване на щрихкода</string>
<string name="openFrontImageInGalleryApp">Отваряне на изображението на предната страна в приложението галерия</string>
<string name="openBackImageInGalleryApp">Отваряне на изображението на задната страна в приложението галерия</string>
<string name="setBarcodeHeight">Задаване на височина на щрихкода</string>
<string name="donate">Даряване</string>
<string name="icon_header_click_text">Задръжте, за да промените миниатюрата</string>
<string name="show_note">Показване на бележката</string>
<string name="show_balance">Показване на баланса</string>
<string name="show_validity">Показване на валидността</string>
<string name="show_name_below_image_thumbnail">Показване на името под миниатюрата</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="save">সংরক্ষণ</string>
<string name="cancel">বাতিল</string>
<string name="unstar">তারা মুক্ত</string>
@@ -8,20 +8,19 @@
<string name="barcodeType">বারকোড ধরন</string>
<string name="note">বিঃদ্রঃ</string>
<string name="storeName">দোকানের নাম</string>
<string name="noMatchingGiftCards">কোন ম্যাচিং উপহার কার্ড নেই</string>
<string name="noGiftCards">উপহার কার্ড নেই</string>
<string name="noMatchingGiftCards">কোনো ফলাফল পাওয়া যায়নি। অনুসন্ধানের বাক্যটি বদলে দেখুন।</string>
<string name="noGiftCards">প্লাস বোতামটি টিপে একটি কার্ড যোগ করুন বা ⋮ মেনু থেকে কিছু নিয়ে আসুন।</string>
<string name="action_add">কর্ম যোগ</string>
<string name="all">সব</string>
<string name="noGroupCards">গোষ্ঠী কার্ড নেই</string>
<string name="noGroups">গোষ্ঠীগুলি নেই</string>
<string name="noGroupCards">এই গ্রুপটি খালি</string>
<string name="noGroups">+ যোগ বোতামটি টিপে গ্রুপ যোগ করুন যাতে তাদের শ্রেণীকরণ করা যায়।</string>
<string name="groups">গোষ্ঠীগুলি</string>
<string name="enter_group_name">গোষ্ঠী নাম লিখুন </string>
<string name="exportSuccessful">রপ্তানি সফল</string>
<string name="importSuccessful">আগম সফল</string>
<string name="exportSuccessful">তথ্য রপ্তানি করা শেষ</string>
<string name="importSuccessful">তথ্য আনা শেষ</string>
<string name="intent_import_card_from_url_share_text">url শেয়ার টেক্সট থেকে ইন্টেন্ট ইম্পোর্ট কার্ড</string>
<string name="settings_disable_lockscreen_while_viewing_card"> কার্ড দেখা কালিন লকস্ক্রিন নিষ্ক্রিয়</string>
<string name="settings_disable_lockscreen_while_viewing_card">স্ক্রীন লক হতে দেবেন না</string>
<string name="settings_keep_screen_on">সেটিংস পর্দা খোলা রাখুন</string>
<string name="settings_max_font_size_scale">সর্বোচ্চ হরফ আকার</string>
<string name="settings_light_theme">সাদাটে থিম</string>
<string name="settings_system_theme">যন্ত্রর থিম</string>
<string name="settings_theme">থিম</string>
@@ -32,11 +31,11 @@
<string name="importStocard">স্টো কার্ড আমদানি করুন</string>
<string name="importVoucherVault">আমদানি ভাউচার ভল্ট</string>
<string name="barcodeId">বারকোড আইডি</string>
<string name="sameAsCardId">কার্ড আইডির মতো</string>
<string name="sameAsCardId">আইডি আর এটা এক</string>
<string name="setBarcodeId">বারকোড আইডি সেট করুন</string>
<string name="unsupportedBarcodeType">অসমর্থিত বারকোড টাইপ</string>
<string name="unsupportedBarcodeType">এই বারকোডের টাইপটি এখন দেখানো যাচ্ছে না। অ্যাপের পরের সংস্করণে হয়ত এটি সমর্থন করা যেতে পারে।</string>
<string name="wrongValueForBarcodeType">বারকোড টাইপের জন্য ভুল মান</string>
<string name="copy_to_clipboard_multiple_toast">ক্লিপবোর্ড একাধিক টোস্টে অনুলিপি করুন</string>
<string name="copy_to_clipboard_multiple_toast">আইডিগুলি ক্লিপবোর্ডে কপি হল</string>
<string name="intent_import_card_from_url_share_multiple_text">url থেকে ইন্টেন্ট ইম্পোর্ট কার্ড একাধিক টেক্সট শেয়ার করে</string>
<string name="frontImageDescription">সামনের চিত্র</string>
<string name="backImageDescription">পিছনের চিত্র</string>
@@ -45,12 +44,12 @@
<string name="setBackImage">পিছনের ছবি স্থাপন</string>
<string name="removeImage">ছবি অপসারণ</string>
<string name="takePhoto">ছবি নেত্তয়া</string>
<string name="updateBarcodeQuestionTitle">হালনাগাদ বারকোড প্রশ্ন শিরোনাম</string>
<string name="updateBarcodeQuestionText">হালনাগাদ বারকোড প্রশ্ন টেক্সট </string>
<string name="updateBarcodeQuestionTitle">বারকোডের মানটি আপডেট করবেন\?</string>
<string name="updateBarcodeQuestionText">আপনি আইডিটি পাল্টেছেন, এটির কোনো বারকোড দিয়ে কি এখনের বারকোডটি আপডেট করে দেবেন\?</string>
<string name="yes">হাঁ</string>
<string name="no">না</string>
<string name="passwordRequired">পাসওয়ার্ড প্রয়োজন</string>
<string name="failedGeneratingShareURL">শেয়ার ইউআরএল তৈরি করতে ব্যর্থ হয়েছে</string>
<string name="failedGeneratingShareURL">শেয়ার করার ইউআরএল তৈরি করা গেল না। অনুগ্রহ করে এটিকে রিপোর্ট করে দিন।</string>
<string name="turn_flashlight_on">টর্চলাইট চালু করুন</string>
<string name="turn_flashlight_off">টর্চলাইট বন্ধ করুন</string>
<string name="settings_locale">লোকেল</string>
@@ -65,11 +64,10 @@
<string name="settings_green_theme">সবুজ থিম</string>
<string name="settings_brown_theme">বাদামী থিম</string>
<string name="sort">সাজান</string>
<string name="swipeToSwitchImages">ছবি পরিবর্তন করতে সোয়াইপ করুন</string>
<string name="sort_by_name">নামের দ্বারা সাজান</string>
<string name="sort_by_most_recently_used">সর্বাধিক সম্প্রতি ব্যবহৃত দ্বারা সাজান</string>
<string name="sort_by_expiry">মেয়াদ শেষ করে সাজান</string>
<string name="reverse">বিপরীত</string>
<string name="reverse">...উল্টো ক্রমে</string>
<string name="sort_by">ক্রমানুসার</string>
<string name="noCardExistsError">কার্ডটি পাওয়া যায়নি</string>
<string name="noStoreError">স্টোরেজ ত্রুটি নেই</string>
@@ -80,7 +78,7 @@
<string name="sendLabel">পাঠান…</string>
<string name="share">ভাগ</string>
<string name="copy_to_clipboard">নকল করুন ক্লিপবোর্ড এ</string>
<string name="deleteConfirmation">নিশ্চিতকরণ মুছে দিন</string>
<string name="deleteConfirmation">এই কার্ডটি চিরকালের জন্য মুছে দেবো\?</string>
<string name="confirm">নিশ্চিত করুন</string>
<string name="delete">মুছে ফেলুন</string>
<string name="edit">সম্পাদনা</string>
@@ -92,13 +90,174 @@
<string name="deleteTitle">কার্ড ডিলিট করুন</string>
<string name="ok">ঠিক আছে</string>
<string name="about">সম্পর্কিত</string>
<string name="debug_version_fmt">সংস্করণ:
\n<xliff:g id="version">
\n%s</xliff:g></string>
<string name="debug_version_fmt">সংস্করণ: <xliff:g id="version">%s</xliff:g></string>
<string name="importOptionApplicationButton">অন্য অ্যাপ ব্যাবহার করুন</string>
<string name="moveUp">উপরে উঠান</string>
<string name="moveDown">নিচে নামান</string>
<string name="barcode">বারকোড</string>
<string name="expiryDate">মেয়াদোত্তীর্ণ তারিখ</string>
<string name="noBarcodeFound">কোনো বারকোড পাওয়া যায়নি</string>
<string name="cameraPermissionRequired">এই কাজটির জন্য ক্যামেরা ব্যবহার করার অনুমতি লাগবে…</string>
<string name="noCameraPermissionDirectToSystemSetting">বারকোড স্ক্যান করার জন্য, কাটিমাকে ফোনের ক্যামেরা ব্যবহার করার অনুমতি দিতে হবে। এইখানে টাচ করে আপনার অনুমতি সেটিংস পালটে নিন।</string>
<string name="importOptionApplicationExplanation">আপনার প্রিয় ফাইল ম্যানেজার বা আর যেকোনো অ্যাপ দিয়ে একটি ফাইল খুলুন।</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">মেধাস্বত্ব © ২০১৯-<xliff:g>%d</xliff:g> সিলভিয়া ভান অস</string>
<string name="app_license">কপিলেফ্ট করা মুক্ত সফটওয়্যার, জিপিএলের ৩য় এবং তার অধিক সংস্করণে লাইসেন্স করা</string>
<string name="enterBarcodeInstructions">আইডিটি লিখুন আর নয় নিচ থেকে একটি বারকোডের প্রকার বা \"কোনো বারকোড নেই\", নির্বাচন করুন।</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">এই <xliff:g>%d</xliff:g>টি কার্ড কি চিরকালের জন্য মুছে দেবো\?</item>
<item quantity="other">এই <xliff:g>%d</xliff:g>টি কার্ড কি চিরকালের জন্য মুছে দেবো\?</item>
</plurals>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> একটি নির্বাচিত</item>
<item quantity="other"><xliff:g>%d</xliff:g> টি নির্বাচিত</item>
</plurals>
<plurals name="deleteCardsTitle">
<item quantity="one"><xliff:g>%d</xliff:g>টি কার্ড মুছে ফেলুন</item>
<item quantity="other"><xliff:g>%d</xliff:g>টি কার্ড মুছে ফেলুন</item>
</plurals>
<string name="cameraPermissionDeniedTitle">ফোনের ক্যামেরা ব্যবহার করা যাচ্ছে না</string>
<string name="importOptionFilesystemExplanation">ফোনের স্টোরেজ থেকে নির্দিষ্ট একটি ফাইল আনুন।</string>
<string name="app_libraries">মুক্ত লাইব্রেরি যেগুলি আমার নয়: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="about_title_fmt"><xliff:g id="app_name">%s</xliff:g>টির ব্যাপারে</string>
<string name="app_resources">মুক্ত সম্পদ যেগুলি আমার নয়: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="thumbnailDescription">থাম্বনেইল</string>
<string name="settings_card_orientation">বারকোড অভিমুখ</string>
<string name="settings_follow_system_orientation">সিস্টেমের অনুসারে</string>
<string name="settings_portrait_orientation">প্রতিকৃতি</string>
<string name="barcodeImageDescriptionWithType">ছবি <xliff:g>%s</xliff:g> বারকোড</string>
<string name="exportName">রপ্তানি</string>
<string name="failedParsingImportUriError">আমদানির ইউআরআই বোঝা যাচ্ছে না</string>
<string name="importExport">আমদানি/রপ্তানি</string>
<string name="cardShortcut">কার্ড শর্টকাট</string>
<string name="exportFailed">বার করা যাচ্ছে না</string>
<string name="copy_to_clipboard_toast">আইডি ক্লিপবোর্ডে নকল করা হল</string>
<string name="noCardIdError">কোনো আইডি দওয়া হয়নি</string>
<string name="importExportHelp">নিজের তথ্য অন্য কোথাও সংরক্ষণ করে রাখলে পরে সেটা অন্য ফোনে আবার নিয়ে নাওয়া যাই।</string>
<string name="importFailed">আনা যাচ্ছে না</string>
<string name="noGiftCardsGroup">কিছু কার্ড বানান আর এই গ্রুপে স্থির করুন।</string>
<string name="scanCardBarcode">বারকোড স্ক্যান করুন</string>
<string name="importSuccessfulTitle">আনা শেষ</string>
<string name="importFailedTitle">আনা ব্যর্থ</string>
<string name="exportSuccessfulTitle">বার করা শেষ</string>
<string name="exportFailedTitle">বার করা ব্যর্থ</string>
<string name="importing">আনা হচ্ছে…</string>
<string name="exporting">বার করা হচ্ছে…</string>
<string name="storageReadPermissionRequired">এই কাজটির জন্য ফোনের স্টোরেজ দেখার অনুমতি লাগবে…</string>
<string name="exportOptionExplanation">তথ্যটি আপনার পছন্দের জায়গায় রাখা হবে।</string>
<string name="importOptionFilesystemTitle">ফোনের স্টোরেজ থেকে আনুন</string>
<string name="importOptionFilesystemButton">ফোনের স্টোরেজ থেকে</string>
<string name="importOptionApplicationTitle">অন্য অ্যাপ ব্যবহার করুন</string>
<string name="app_copyright_old">লয়ালটি কার্ড কিচ্যেনের উপর ভিত্তি করে
\nমেধাস্বত্ব © ২০১৬-২০২০ ব্রানডেন আর্চার</string>
<string name="selectBarcodeTitle">বারকোড নির্বাচন করুন</string>
<string name="settings">সেটিংস</string>
<string name="settings_dark_theme">অন্ধকার</string>
<string name="settings_landscape_orientation">অনুভূমিক</string>
<string name="settings_lock_on_opening_orientation">কার্ড খোলার সময় যে অভিমুখ থাকে সেটিতে লক করে দেবেন</string>
<string name="group_name_already_in_use">গ্রুপটির নাম আগে একবার ব্যবহার করে ফেলেছেন</string>
<string name="group_edit">গ্রুপ সম্পাদনা করুন</string>
<string name="group_updated">গ্রুপটি আপডেট করা হল</string>
<string name="group_name_is_empty">গ্রুপের একটি নাম থাকতে হবে</string>
<string name="deleteConfirmationGroup">গ্রুপটি মুছে দেবেন\?</string>
<string name="failedOpeningFileManager">প্রথমে একটি ফাইল ম্যানেজার ইনস্টল করুন।</string>
<string name="leaveWithoutSaveConfirmation">সংরক্ষণ না করেই চলে যাবেন\?</string>
<string name="addManually">নিজে হাতে আইডি লিখুন</string>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g>টি কার্ড</item>
<item quantity="other"><xliff:g>%d</xliff:g>টি কার্ড</item>
</plurals>
<string name="leaveWithoutSaveTitle">প্রস্থান</string>
<string name="settings_display_barcode_max_brightness">বারকোড উজ্জ্বল করুন</string>
<string name="editGroup">যেই গ্রুপ সম্পাদনা করা হচ্ছে: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">মেয়াদ শেষ হয়ে গিয়েছে: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">বারকোড সম্পাদন করুন</string>
<string name="never">কখনই না</string>
<string name="addFromImage">গ্যালারি থেকে ছবি বাছুন</string>
<string name="groupsList">গ্রুপগুলি: <xliff:g>%s</xliff:g></string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> পয়েন্ট</item>
<item quantity="other"><xliff:g>%s</xliff:g> পয়েন্ট</item>
</plurals>
<string name="expiryStateSentence">মেয়াদ শেষ হবে: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">ব্যালেন্স: <xliff:g>%s</xliff:g></string>
<string name="chooseExpiryDate">মেয়াদ শেষ হওয়ার তারিখ মনোনীত করুন</string>
<string name="moveBarcodeToTopOfScreen">বারকোডটি স্ক্রিনের উপরে উঠিয়ে দিন</string>
<string name="errorReadingImage">ছবিটি স্ক্যান করা যাচ্ছে না</string>
<string name="privacy_policy_popup_text">ব্যক্তিগত তথ্যের গোপনীয়তা নীতি নোটিশ (কিছু অ্যাপ স্টোরের এটি লাগে):
\n
\nকোন তথ্য একেবারেই সংগ্রহ করা হয় না, যা যে কেউ নিশ্চিত করতে পারবেন কারন আমাদের অ্যাপ মুক্ত সফটওয়্যার।</string>
<string name="balance">ব্যালান্স</string>
<string name="points">পয়েন্ট</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> কোনো বৈধ ব্যালান্স মনে হচ্ছে না।</string>
<string name="chooseImportType">এখান থেকে তথ্য আমদানি করুন</string>
<string name="app_loyalty_card_keychain">আনুগত্য কার্ড কীচেন</string>
<string name="privacy_policy">ব্যক্তিগত তথ্যের গোপনীয়তা নীতি</string>
<string name="accept">গ্রহণ</string>
<string name="failedToRetrieveImageFile">ছবি ফাইল পুনরুদ্ধার করতে ব্যর্থ হয়েছে</string>
<string name="on_github">GitHub -এ</string>
<string name="importLoyaltyCardKeychainMessage">আমদানি করতে লয়্যালটি কার্ড কীচেন থেকে আপনার <i>LoyaltyCardKeychain.csv</i> এক্সপোর্ট নির্বাচন করুন।
\nলয়্যালটি কার্ড কীচেনের আমদানি/রপ্তানি মেনু থেকে প্রথমে সেখানে রপ্তানি টিপে এটি তৈরি করুন।</string>
<string name="selectColor">রঙ নির্বাচন করুন</string>
<string name="unarchived">কার্ড সংরক্ষণাগারমুক্ত করা হয়েছে</string>
<string name="archiveList">সংরক্ষণাগার</string>
<string name="report_error">ভুল প্রতিবেদন</string>
<string name="failedLaunchingPhotoPicker">একটি সমর্থিত গ্যালারি অ্যাপ খুঁজে পাওয়া যায়নি</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> card (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> cards (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
</plurals>
<string name="nextCard">পরবর্তী</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">সংরক্ষণাগার দেখুন (<xliff:g>%1$d</xliff:g> কার্ড)</item>
<item quantity="other">সংরক্ষণাগার দেখুন (<xliff:g>%1$d</xliff:g> কার্ডগুলি)</item>
</plurals>
<string name="failedToOpenUrl">প্রথমে একটি ওয়েব ব্রাউজার ইন্সটল করুন</string>
<string name="newBalanceSentence">নতুন ব্যালেন্স: <xliff:g>%s</xliff:g></string>
<string name="chooseValidFromDate">তারিখ থেকে বৈধ নির্বাচন করুন</string>
<string name="validFromSentence">এর থেকে বৈধ: <xliff:g>%s</xliff:g></string>
<string name="version_history">সংস্করণ ইতিহাস</string>
<string name="credits">ক্রেডিট</string>
<string name="help_translate_this_app">এই অ্যাপটি অনুবাদ করতে সাহায্য করুন</string>
<string name="showMoreInfo">তথ্য দেখান</string>
<string name="app_contributors">এর দ্বারা সম্ভব হয়েছে: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="importCards">কার্ড আমদানি করুন</string>
<string name="importFidmeMessage">FidMe থেকে আমদানি করতে আপনার <i>fidme-export-request-xxxxxx.zip</i> রপ্তানি নির্বাচন করুন এবং পরে বারকোডের ধরন ম্যানুয়ালি নির্বাচন করুন।
\nআপনার FidMe প্রোফাইল থেকে ডেটা সুরক্ষা নির্বাচন করে এবং তারপর প্রথমে আমার ডেটা বের করুন টিপে এটি তৈরি করুন।</string>
<string name="importCatimaMessage">ক্যাটিমা থেকে আমদানি করতে আপনার <i>catima.zip</i> রপ্তানি নির্বাচন করুন।
\nঅন্য Catima অ্যাপের আমদানি/রপ্তানি মেনু থেকে প্রথমে সেখানে রপ্তানি টিপে এটি তৈরি করুন।</string>
<string name="importStocardMessage">আমদানি করতে Stocard থেকে আপনার <i>***.zip</i> এক্সপোর্ট নির্বাচন করুন।
\nআপনার ডেটা রপ্তানির জন্য জিজ্ঞাসা করে support@stocardapp.com ই-মেইল করে এটি পান।</string>
<string name="importVoucherVaultMessage">আমদানি করতে ভাউচার ভল্ট থেকে আপনার <i>vouchervault.json</i> এক্সপোর্ট নির্বাচন করুন।
\nপ্রথমে ভাউচার ভল্টে এক্সপোর্ট টিপে এটি তৈরি করুন।</string>
<string name="settings_oled_dark">অন্ধকার থিমের জন্য খাঁটি কালো পটভূমি</string>
<string name="setIcon">আইকন সেট করুন</string>
<string name="settings_grey_theme">ধূসর</string>
<string name="updateBalance">ব্যালেন্স আপডেট করুন</string>
<string name="barcodeLongPressMessage">গ্যালারি অ্যাপে শুধুমাত্র ছবি খোলা যাবে</string>
<string name="translate_platform">Weblate-এ</string>
<string name="on_google_play">Google Play-তে</string>
<string name="action_show_details">বিস্তারিত দেখাও</string>
<string name="action_hide_details">আড়াল বিস্তারিত</string>
<string name="shortcutSelectCard">একটি কার্ড নির্বাচন করুন</string>
<string name="options">অপশন</string>
<string name="starred">তারকাচিহ্নিত</string>
<string name="duplicateCard">নকল</string>
<string name="include_if_asking_support">আপনি যদি সমর্থনের জন্য অনুরোধ করতে চান তবে নিম্নলিখিত তথ্যগুলি অন্তর্ভুক্ত করুন:</string>
<string name="importFidme">FidMe থেকে আমদানি করুন</string>
<string name="validFromDate">বৈধ হবে</string>
<string name="anyDate">যেকোনো তারিখ</string>
<string name="previousCard">আগে</string>
<string name="exportPassword">আপনার রপ্তানি রক্ষা করার জন্য একটি পাসওয়ার্ড সেট করুন (ঐচ্ছিক)</string>
<string name="exportPasswordHint">পাসওয়ার্ড লিখুন</string>
<string name="license">লাইসেন্স</string>
<string name="source_repository">Source Repository</string>
<string name="and_data_usage">এবং ডেটা ব্যবহার</string>
<string name="rate_this_app">এই অ্যাপ্লিকেশন রেট করুন</string>
<string name="archive">সংরক্ষণ করুন</string>
<string name="unarchive">সংরক্ষণাগারমুক্ত করুন</string>
<string name="archived">কার্ড সংরক্ষণাগারভুক্ত</string>
<string name="noUnarchivedCardsMessage">আর্কাইভ করা কোনো কার্ড নেই</string>
<string name="welcome">Catima-তে স্বাগতম</string>
<string name="updateBalanceTitle">আপনি কত খরচ করেছেন\?</string>
<string name="updateBalanceHint">পরিমান লিখুন</string>
<string name="currentBalanceSentence">বর্তমান ব্যালেন্স: <xliff:g>%s</xliff:g></string>
</resources>

View File

@@ -18,7 +18,6 @@
<string name="sort_by_name">নাম</string>
<string name="previousCard">পূর্ববর্তী</string>
<string name="all">সকল</string>
<string name="barcode">বারকোড</string>
<string name="never">কখনো না</string>
<string name="currency">মুদ্রা</string>
<string name="settings_violet_theme">বেগুনি</string>
@@ -52,4 +51,8 @@
<item quantity="other"><xliff:g>%d</xliff:g> কার্ডগুলো মুছুন</item>
</plurals>
<string name="deleteTitle">কার্ড মুছুন</string>
</resources>
<string name="noGiftCards">একটি কার্ড যোগ করতে + প্লাস বোতামে ক্লিক করুন বা ⋮ মেনু থেকে আমদানি করুন।</string>
<string name="cardShortcut">কার্ড শর্টকাট</string>
<string name="noCardsMessage">প্রথমে একটি কার্ড যোগ করুন</string>
<string name="card_ids_copied">আইডি কপি করা হয়েছে</string>
</resources>

View File

@@ -21,7 +21,6 @@
<string name="intent_import_card_from_url_share_text">Želim podijeliti čestitku s tobom</string>
<string name="settings_disable_lockscreen_while_viewing_card">Spriječi zaključavanje ekrana</string>
<string name="settings_keep_screen_on">Zadrži ekran</string>
<string name="settings_max_font_size_scale">Max. veliäťina fonta</string>
<string name="settings_light_theme">Svjetlo</string>
<string name="settings_system_theme">Sistem</string>
<string name="settings_theme">Tema</string>
@@ -65,7 +64,6 @@
<string name="settings_green_theme">Zeleno</string>
<string name="settings_brown_theme">Braun</string>
<string name="sort">Poništi sortiranje</string>
<string name="swipeToSwitchImages">Swipe ili long press za prebacivanje slika</string>
<string name="sort_by_name">Ime</string>
<string name="sort_by_most_recently_used">Nedavno Korišten</string>
<string name="sort_by_expiry">Sajam</string>

View File

@@ -13,4 +13,5 @@
<string name="deleteTitle">Elimina la targeta</string>
<string name="welcome">Benvingut a Catima</string>
<string name="noGiftCards">Cliqueu el botó + més per afegir una targeta, o importeu-ne des del ⋮ menú.</string>
<string name="photos">Fotos</string>
</resources>

View File

@@ -39,18 +39,15 @@
<string name="app_license">Copyleftovaný svobodný software s licencí GPLv3+</string>
<string name="about_title_fmt">O aplikaci <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Verze: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informace o revizi: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Vyberte čárový kód</string>
<string name="copy_to_clipboard_toast">ID zkopírováno do schránky</string>
<string name="deleteTitle">Smazat kartu</string>
<string name="deleteConfirmation">Opravdu chcete smazat tuto kartu\?</string>
<string name="moveBarcodeToCenterOfScreen">Vycentrovat čárový kód na obrazovce</string>
<string name="moveBarcodeToTopOfScreen">Přesunout čárový kód do horní části obrazovky</string>
<string name="chooseExpiryDate">Zvolte datum vypršení platnosti</string>
<string name="never">Nikdy</string>
<string name="expiryDate">Vypršení platnosti</string>
<string name="editBarcode">Upravit čárový kód</string>
<string name="barcode">Kód</string>
<string name="app_resources">Svobodné zdroje třetích stran: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Svobodné knihovny třetích stran: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_copyright_old">Založeno na Loyalty Card Keychain
@@ -84,7 +81,6 @@
<string name="intent_import_card_from_url_share_text">Chci s Vámi sdílet kartu</string>
<string name="settings_disable_lockscreen_while_viewing_card">Bránit uzamykání obrazovky</string>
<string name="settings_keep_screen_on">Udržovat obrazovku zapnutou</string>
<string name="settings_max_font_size_scale">Maximální velikost písma</string>
<string name="settings_dark_theme">Tmavý</string>
<string name="settings_light_theme">Světlý</string>
<string name="settings_system_theme">Podle systému</string>
@@ -135,7 +131,7 @@
<string name="importVoucherVaultMessage">Vyberte k importu svůj <i>vouchervault.json</i> exportovaný z Voucher Vault.
\nVytvoříte jej tak, že nejprve stisknete tlačítko Exportovat v aplikaci Voucher Vault.</string>
<string name="importVoucherVault">Import z Voucher Vault</string>
<string name="importStocardMessage">Vyberte k importu svůj <i>***-sync.zip</i> exportovaný z aplikace Stocard.
<string name="importStocardMessage">Vyberte k importu svůj <i>***.zip</i> exportovaný z aplikace Stocard.
\nZískejte ji zasláním e-mailu na adresu support@stocardapp.com s žádostí o export vašich dat.</string>
<string name="importStocard">Import ze Stocard</string>
<string name="importLoyaltyCardKeychainMessage">Vyberte k importu <i>LoyaltyCardKeychain.csv</i> exportovaný z Loyalty Card Keychain.
@@ -189,11 +185,9 @@
<string name="noGroupCards">Tato skupina je prázdná</string>
<string name="sort_by">Seřadit podle</string>
<string name="reverse">…v obráceném pořadí</string>
<string name="sort_by_balance">Zůstatek</string>
<string name="sort_by_expiry">Vypršení</string>
<string name="sort_by_most_recently_used">Naposledy použité</string>
<string name="sort_by_name">Název</string>
<string name="swipeToSwitchImages">Přejetím přepínáte obrázky, dlouhým stisknutím otevřete obrázek v aplikaci pro galerii</string>
<string name="sort">Seřadit</string>
<string name="barcodeImageDescriptionWithType">Obrázek čárového kódu <xliff:g>%s</xliff:g></string>
<string name="version_history">Historie verzí</string>
@@ -209,7 +203,7 @@
<string name="exportPassword">Nastavení hesla pro ochranu exportu (volitelné)</string>
<string name="exportPasswordHint">Zadejte heslo</string>
<string name="selectColor">Vybrat barvu</string>
<string name="setIcon">Nastavit ikonu</string>
<string name="setIcon">Nastavit miniaturu</string>
<string name="group_edit">Upravit skupinu</string>
<string name="group_name_already_in_use">Název skupiny je již použitý</string>
<string name="group_name_is_empty">Název skupiny nemůže být prázdný</string>
@@ -221,9 +215,7 @@
<string name="action_hide_details">Skrýt detaily</string>
<string name="translate_platform">na Weblate</string>
<string name="showMoreInfo">Zobrazit podrobnosti</string>
<string name="hideMoreInfo">Skrýt podrobnosti</string>
<string name="starred">S hvězdičkou</string>
<string name="set_scale">Nastavení měřítka</string>
<string name="options">Volby</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> bod</item>
@@ -275,4 +267,17 @@
<string name="anyDate">Jakékoliv datum</string>
<string name="chooseValidFromDate">Vyberte datum počátku platnosti</string>
<string name="validFromSentence">Platnost od: <xliff:g>%s</xliff:g></string>
<string name="height">Výška:</string>
<string name="switchToFrontImage">Přepnout na přední obrázek</string>
<string name="switchToBackImage">Přepnout na zadní obrázek</string>
<string name="switchToBarcode">Přepnout na čárový kód</string>
<string name="openFrontImageInGalleryApp">Otevřít přední obrázek v galerii</string>
<string name="openBackImageInGalleryApp">Otevřít zadní obrázek v galerii</string>
<string name="setBarcodeHeight">Nastavit výšku čárového kódu</string>
<string name="donate">Přispět</string>
<string name="icon_header_click_text">Dlouhým stisknutím miniaturu upravíte</string>
<string name="show_name_below_image_thumbnail">Zobrazit název pod obrázkem miniatury</string>
<string name="show_note">Zobrazit poznámku</string>
<string name="show_validity">Zobrazit platnost</string>
<string name="show_balance">Zobrazit zůstatek</string>
</resources>

View File

@@ -46,7 +46,6 @@
<string name="app_license">Freie Software, lizensiert unter der GPLv3+</string>
<string name="about_title_fmt">Über <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Revisionsinfo: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Barcode auswählen</string>
<string name="copy_to_clipboard_toast">ID in die Zwischenablage kopiert</string>
<string name="thumbnailDescription">Vorschaubild</string>
@@ -93,13 +92,11 @@
<string name="points">Punkte</string>
<string name="currency">Währung</string>
<string name="balance">Guthaben</string>
<string name="moveBarcodeToCenterOfScreen">Barcode auf dem Bildschirm zentrieren</string>
<string name="moveBarcodeToTopOfScreen">Barcode auf dem Bildschirm oben fixieren</string>
<string name="chooseExpiryDate">Ablaufdatum wählen</string>
<string name="never">Nie</string>
<string name="expiryDate">Ablaufdatum</string>
<string name="editBarcode">Barcode ändern</string>
<string name="barcode">Strichcode</string>
<string name="card">Karte</string>
<string name="balanceSentence">Guthaben: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Abgelaufen: <xliff:g>%s</xliff:g></string>
@@ -129,7 +126,6 @@
<string name="errorReadingImage">Bildverarbeitung fehlgeschlagen</string>
<string name="noBarcodeFound">Kein Barcode erkannt</string>
<string name="addFromImage">Bild aus der Galerie wählen</string>
<string name="settings_max_font_size_scale">Maximale Schriftgröße</string>
<string name="unsupportedBarcodeType">Dieser Barcodetyp kann noch nicht angezeigt werden. Wir hoffen das Format in einer zukünftigen Version zu unterstützen.</string>
<string name="wrongValueForBarcodeType">Der Wert ist für den gewählten Barcodetyp leider nicht gültig</string>
<string name="app_resources">Freie Ressourcen von Drittanbietern: <xliff:g id="app_resources_list">%s</xliff:g></string>
@@ -150,7 +146,7 @@
<string name="frontImageDescription">Bild auf der Vorseite</string>
<string name="backImageDescription">Bild auf der Rückseite</string>
<string name="passwordRequired">Bitte gib das Passwort ein</string>
<string name="importStocardMessage">Wähle deinen <i>***-sync.zip</i>-Export aus Stocard zum Importieren aus.
<string name="importStocardMessage">Wähle deinen <i>***.zip</i>-Export aus Stocard zum Importieren aus.
\nSie erhalten ihn, indem du eine E-Mail an support@stocardapp.com sendest und um einen Export deiner Daten bitten.</string>
<string name="importStocard">Von Stocard importieren</string>
<string name="turn_flashlight_off">Licht ausschalten</string>
@@ -184,9 +180,7 @@
<string name="settings_theme_color">Designfarbe</string>
<string name="app_contributors">Ermöglicht durch: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> Barcode</string>
<string name="swipeToSwitchImages">Wischen zum Wechseln der Bilder, Halten zum Öffnen des Bildes in der Galerie</string>
<string name="sort_by">Sortieren nach</string>
<string name="sort_by_balance">Kontostand</string>
<string name="sort_by_expiry">Ablaufdatum</string>
<string name="sort_by_most_recently_used">Zuletzt verwendet</string>
<string name="sort_by_name">Name</string>
@@ -210,15 +204,13 @@
<string name="editGroup">Gruppe wird bearbeitet: <xliff:g>%s</xliff:g></string>
<string name="group_edit">Gruppe bearbeiten</string>
<string name="noGiftCardsGroup">Erstelle einige Karten und ordne sie dann hier der Gruppe zu.</string>
<string name="setIcon">Symbol einstellen</string>
<string name="setIcon">Vorschau setzen</string>
<string name="selectColor">Farbe auswählen</string>
<string name="action_show_details">Details anzeigen</string>
<string name="action_hide_details">Details ausblenden</string>
<string name="translate_platform">auf Weblate</string>
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
<string name="options">Optionen</string>
<string name="hideMoreInfo">Infos ausblenden</string>
<string name="set_scale">Größe festlegen</string>
<string name="showMoreInfo">Infos anzeigen</string>
<string name="starred">als Favorit</string>
<plurals name="balancePoints">
@@ -268,4 +260,17 @@
<string name="validFromSentence">Gültig ab: <xliff:g>%s</xliff:g></string>
<string name="chooseValidFromDate">Gültig-ab-Datum wählen</string>
<string name="anyDate">Beliebiges Datum</string>
<string name="icon_header_click_text">Langes Drücken zum Bearbeiten der Vorschau</string>
<string name="switchToBarcode">Umschalten auf Barcode</string>
<string name="openFrontImageInGalleryApp">Vorderes Bild in der Galerie öffnen</string>
<string name="openBackImageInGalleryApp">Hinteres Bild in der Galerie öffnen</string>
<string name="height">Höhe:</string>
<string name="switchToFrontImage">Zum vorderen Bild wechseln</string>
<string name="switchToBackImage">Zum hinteren Bild wechseln</string>
<string name="setBarcodeHeight">Barcode-Höhe einstellen</string>
<string name="donate">Spenden</string>
<string name="show_note">Notiz anzeigen</string>
<string name="show_balance">Betrag anzeigen</string>
<string name="show_validity">Gültigkeitsdauer anziegen</string>
<string name="show_name_below_image_thumbnail">Namen unter Bildvorschau anzeigen</string>
</resources>

View File

@@ -42,7 +42,6 @@
<string name="app_license">Άδεια χρήσης υπό GPLv3+</string>
<string name="about_title_fmt">Σχετικά με <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Έκδοση: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Πληροφορίες Αναθεώρησης: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Επιλέξτε Barcode</string>
<string name="copy_to_clipboard_toast">Ο κωδικός αντιγράφτηκε στο πρόχειρο</string>
<string name="thumbnailDescription">Μικρογραφία</string>
@@ -51,7 +50,6 @@
<string name="settings_dark_theme">Σκοτεινό</string>
<string name="settings_light_theme">Φωτεινό</string>
<string name="settings_system_theme">Σύστημα</string>
<string name="barcode">Γραμμικός κώδικας</string>
<string name="deleteTitle">Διαγραφή Κάρτας</string>
<string name="deleteConfirmation">Μόνιμη διαγραφή της κάρτας;</string>
<string name="action_search">Αναζήτηση</string>
@@ -84,8 +82,6 @@
<string name="expiryDate">Ημερομηνία λήξης</string>
<string name="settings_keep_screen_on">Κράτα την οθόνη ανοιχτή</string>
<string name="leaveWithoutSaveTitle">Έξοδος</string>
<string name="swipeToSwitchImages">Σύρετε για να αλλάξετε εικόνες, κρατήστε για να ανοίξετε μια εικόνα στην συλλογή</string>
<string name="sort_by_balance">Υπόλοιπο</string>
<string name="reverse">... σε αντίθετη σειρά</string>
<string name="version_history">Ιστορικό έκδοσης</string>
<string name="sort_by">Ταξινόμηση κατά</string>
@@ -97,7 +93,6 @@
<string name="report_error">Αναφορά Σφάλματος</string>
<string name="starred">Αγαπημένα</string>
<string name="translate_platform">στο Weblate</string>
<string name="set_scale">Ορίστε κλίμακα</string>
<string name="importLoyaltyCardKeychain">Εισαγωγή από Loyalty Card Keychain</string>
<string name="importLoyaltyCardKeychainMessage">Επιλέξτε την <i>LoyaltyCardKeychain.csv</i> εξαγωγή από το Loyalty Card Keychain για εισαγωγή.
\nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής στο Loyalty Card Keychain επιλέγοντας Εξαγωγή.</string>
@@ -113,7 +108,6 @@
<string name="updateBarcodeQuestionText">Αλλάξατε τον κωδικό. Θέλετε να ενημερώσετε και τον γραμμοκώδικα στην ίδια τιμή;</string>
<string name="action_show_details">Εμφάνιση λεπτομερειών</string>
<string name="options">Επιλογές</string>
<string name="hideMoreInfo">Απόκρυψη πληροφοριών</string>
<string name="noGroupCards">Αυτή η ομάδα είναι άδεια</string>
<string name="settings_display_barcode_max_brightness">Επιπλέον φωτισμός γραμμοκώδικα</string>
<string name="group_name_is_empty">Το όνομα ομάδας δεν γίνεται να είναι κενό</string>
@@ -140,7 +134,7 @@
</plurals>
<string name="importCatimaMessage">Επιλέξτε την <i>catima.zip</i> εξαγωγή από το Catima για εισαγωγή
\nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής μιας άλλης εφαρμογής Catima κάνοντας εξαγωγή εκεί πρώτα.</string>
<string name="importStocardMessage">Επιλέξτε την <i>***-sync.zip</i> εξαγωγή από το Stocard για εισαγωγή.
<string name="importStocardMessage">Επιλέξτε την <i>***.zip</i> εξαγωγή από το Stocard για εισαγωγή.
\nΠάρτε το στέλνοντας email στο: support@stocardapp.com ζητώντας μια εξαγωγή αρχείων των δεδομένων σας.</string>
<string name="intent_import_card_from_url_share_multiple_text">Θέλω να μοιραστώ μερικές κάρτες μαζί σου</string>
<string name="editGroup">Επεξεργασία Ομάδας: <xliff:g>%s</xliff:g></string>
@@ -196,7 +190,6 @@
<string name="settings_landscape_orientation">Οριζόντια</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Πνευματικά δικαιώματα © 2019-<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="settings_lock_on_opening_orientation">Κλείδωμα τωρινού προσανατολισμού όταν ανοίγει μία κάρτα</string>
<string name="settings_max_font_size_scale">Μέγιστο μέγεθος γραμματοσειράς</string>
<string name="intent_import_card_from_url_share_text">Θέλω να μοιραστώ μία κάρτα μαζί σου</string>
<string name="enter_group_name">Εισάγετε όνομα ομάδας</string>
<string name="groups">Ομάδες</string>
@@ -211,7 +204,6 @@
<string name="editBarcode">Επεξεργασία γραμμοκώδικα</string>
<string name="chooseExpiryDate">Επιλέξτε ημερομηνία λήξης</string>
<string name="moveBarcodeToTopOfScreen">Μετακίνηση του γραμμοκώδικα στο πάνω μέρος της οθόνης</string>
<string name="moveBarcodeToCenterOfScreen">Κεντράρισμα του γραμμοκώδικα στην οθόνη</string>
<string name="noBarcodeFound">Δεν βρέθηκε γραμμοκώδικας</string>
<string name="balance">Υπόλοιπο</string>
<string name="importCatima">Εισαγωγή από Catima</string>

View File

@@ -31,7 +31,6 @@
<string name="points">Poentoj</string>
<string name="currency">Valuto</string>
<string name="editBarcode">Redakti strekokodon</string>
<string name="barcode">Strekokodo</string>
<string name="card">Karto</string>
<string name="never">Neniam</string>
<string name="groupsList">Grupoj: <xliff:g>%s</xliff:g></string>
@@ -53,7 +52,6 @@
<string name="deleteConfirmation">Ĉu forigi ĉi tiun karton\?</string>
<string name="deleteTitle">Forigi karton</string>
<string name="settings_display_barcode_max_brightness">Heligi barcode vido</string>
<string name="settings_max_font_size_scale">Max. tiparo grandeco</string>
<string name="starImage">Preferata stelo</string>
<string name="thumbnailDescription">Bildeto por karto</string>
<string name="app_copyright_old">Bazita sur Lojaleco Karto Keychain

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="barcode">Código de barras</string>
<string name="ok">OK</string>
<string name="barcodeNoBarcode">No hay código de barra</string>
<string name="storeName">Nombre</string>

View File

@@ -62,7 +62,6 @@
<string name="barcodeType">Tipo de código de barras</string>
<string name="noMatchingGiftCards">Sin resultados. Intente cambiar su búsqueda.</string>
<string name="action_search">Buscar</string>
<string name="app_revision_fmt">Información de la revisión: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="noGroups">Pulse en el botón «+» para añadir grupos de categorización.</string>
<string name="starImage">Estrella favorita</string>
<string name="thumbnailDescription">Miniatura</string>
@@ -88,27 +87,24 @@
<item quantity="other"><xliff:g>%d</xliff:g> tarjetas</item>
</plurals>
<string name="points">Puntos</string>
<string name="moveBarcodeToCenterOfScreen">Centre el código de barras en la pantalla</string>
<string name="moveBarcodeToTopOfScreen">Mueva el código de barras a la zona superior de la pantalla</string>
<string name="chooseExpiryDate">Elegir fecha de caducidad</string>
<string name="never">Nunca</string>
<string name="expiryDate">Fecha de caducidad</string>
<string name="editBarcode">Editar el código de barras</string>
<string name="barcode">Código de barras</string>
<string name="card">Tarjeta</string>
<string name="expiryStateSentenceExpired">Expirado: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Derechos de autor © 2019-<xliff:g>%d</xliff:g> de Sylvia van Os</string>
<string name="app_resources">Recursos de terceros libres: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Bibliotecas de terceros libres: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="settings_max_font_size_scale">Tam. de fuente máximo</string>
<string name="importCatimaMessage">Seleccione su <i>catima.zip</i> exportado desde Catima para importarlo.
\nCréalo primero desde el menú Importar/Exportar de otra app de Catima al presionar Exportar desde allí.</string>
<string name="importFidmeMessage">Seleccione su <i>fidme-export-request-xxxxxx.zip</i> exportado desde FidMe para importar, y luego escoja los tipos de códigos de barras manualmente.
\nCréalo primero desde tu perfil de FidMe eligiendo Protección de datos y pulsa Extraer mis datos.</string>
<string name="importLoyaltyCardKeychainMessage">Seleccione su <i>LoyaltyCardKeychain.csv</i> exportado desde Loyalty Card Keychain para importarlo.
\nCréalo primero desde el menú Importar/Exportar en Loyalty Card Keychain pulsando Exportar desde allí.</string>
<string name="importStocardMessage">Seleccione su exportación <i>*-sync.zip</i> de Stocard para importarla.
<string name="importStocardMessage">Seleccione su exportación <i>*.zip</i> de Stocard para importarla.
\nConsígalo enviando un correo electrónico a support@stocardapp.com solicitando una exportación de sus datos.</string>
<string name="importVoucherVaultMessage">Seleccione su <i>vouchervault.json</i> exportado desde Voucher Vault para importarlo.
\nCréalo pulsando primero Exportar en Voucher Vault.</string>
@@ -203,19 +199,16 @@
<string name="settings_lock_on_opening_orientation">Bloqueo a la orientación utilizada al abrir la tarjeta</string>
<string name="sort_by_most_recently_used">Lo más reciente que se ha utilizado</string>
<string name="sort_by_expiry">Caducidad</string>
<string name="sort_by_balance">Saldo</string>
<string name="version_history">Historial de versiones</string>
<string name="help_translate_this_app">Ayuda a traducir esta aplicación</string>
<string name="and_data_usage">y el uso de datos</string>
<string name="shortcutSelectCard">Seleccione una tarjeta</string>
<string name="showMoreInfo">Mostrar información</string>
<string name="hideMoreInfo">Ocultar información</string>
<string name="reverse">… en orden inverso</string>
<string name="credits">Créditos</string>
<string name="sort_by_name">Nombre</string>
<string name="license">Licencia</string>
<string name="source_repository">Repositorio de fuente</string>
<string name="set_scale">Ajustar la escala</string>
<string name="on_github">En GitHub</string>
<string name="on_google_play">en Google Play</string>
<string name="report_error">Informar de un error</string>
@@ -225,7 +218,6 @@
<string name="selectColor">Seleccione el color</string>
<string name="setIcon">Establecer icono</string>
<string name="sort">Ordenar</string>
<string name="swipeToSwitchImages">Desliza para cambiar de imagen, mantén presionado para abrir la imagen en la aplicación de la galería</string>
<string name="sort_by">Ordenar por</string>
<string name="rate_this_app">Califica esta aplicación</string>
<string name="options">Opciones</string>
@@ -275,4 +267,12 @@
<string name="validFromDate">Válido desde</string>
<string name="chooseValidFromDate">Elija una fecha válida desde</string>
<string name="validFromSentence">Válido desde: <xliff:g>%s</xliff:g></string>
<string name="height">Altura:</string>
<string name="switchToFrontImage">Cambiar a imagen frontal</string>
<string name="openFrontImageInGalleryApp">Abrir imagen frontal en la aplicación de la galería</string>
<string name="openBackImageInGalleryApp">Abrir imagen trasera en la aplicación de la galería</string>
<string name="setBarcodeHeight">Ajustar la altura del código de barras</string>
<string name="donate">Donar</string>
<string name="switchToBarcode">Cambiar a código de barras</string>
<string name="switchToBackImage">Cambiar a imagen trasera</string>
</resources>

View File

@@ -36,13 +36,11 @@
<string name="balance">Saldo</string>
<string name="errorReadingImage">Kuvaa ei voitu lukea</string>
<string name="noBarcodeFound">Viivakoodia ei löytynyt</string>
<string name="moveBarcodeToCenterOfScreen">Keskitä viivakoodi näytölle</string>
<string name="moveBarcodeToTopOfScreen">Siirrä viivakoodi näytön yläosaan</string>
<string name="chooseExpiryDate">Valitse viimeinen voimassaolopäivä</string>
<string name="never">Ei koskaan</string>
<string name="expiryDate">Viimeinen voimassaolopäivä</string>
<string name="editBarcode">Muokkaa viivakoodia</string>
<string name="barcode">Viivakoodi</string>
<string name="card">Kortti</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Vanhentunut: <xliff:g>%s</xliff:g></string>
@@ -70,7 +68,6 @@
<string name="settings_disable_lockscreen_while_viewing_card">Estä näytön lukitus</string>
<string name="settings_keep_screen_on">Pidä näyttö päällä</string>
<string name="settings_display_barcode_max_brightness">Kirkasta viivakoodinäkymää</string>
<string name="settings_max_font_size_scale">Fontin enimmäiskoko</string>
<string name="settings_dark_theme">Tumma</string>
<string name="settings_light_theme">Vaalea</string>
<string name="settings_system_theme">Järjestelmän oletus</string>
@@ -84,7 +81,6 @@
<string name="selectBarcodeTitle">Valitse viivakoodi</string>
<string name="app_resources">Vapaat kolmannen osapuolen resurssit: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Vapaat kolmannen osapuolen kirjastot: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_revision_fmt">Muutostiedot: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="debug_version_fmt">Versio: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">Tietoja <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_license">Copyleft (käyttäjänoikeus) - vapaa ohjelmisto, lisenssi GPLv3+</string>
@@ -163,7 +159,7 @@
<item quantity="other"><xliff:g>%d</xliff:g> valittu</item>
</plurals>
<string name="importStocard">Tuo Stocardista</string>
<string name="importStocardMessage">Valitse tuotava <i>***-sync.zip</i>-vienti Stocardista.
<string name="importStocardMessage">Valitse tuotava <i>***.zip</i>-vienti Stocardista.
\nHanki se lähettämällä sähköpostia osoitteeseen support@stocardapp.com ja pyytämällä tietojesi vientiä.</string>
<string name="passwordRequired">Ole hyvä ja syötä salasana</string>
<string name="failedGeneratingShareURL">Jaettavaa URL-osoitetta ei voitu luoda. Ilmoita tästä.</string>
@@ -194,11 +190,9 @@
</plurals>
<string name="settings_oled_dark">Musta tausta tummalle teemalle</string>
<string name="setIcon">Aseta kuvake</string>
<string name="swipeToSwitchImages">Vaihda kuvia pyyhkäisemällä, paina kuvaa pitkään avataksesi galleriasovelluksessa</string>
<string name="sort_by_name">Nimi</string>
<string name="sort_by_most_recently_used">Viimeksi käytetyt</string>
<string name="sort_by_expiry">Viimeinen voimassaoloaika</string>
<string name="sort_by_balance">Saldo</string>
<string name="reverse">...käänteisessä järjestyksessä</string>
<string name="sort_by">Lajitteluperuste</string>
<string name="credits">Krediitit</string>
@@ -214,9 +208,7 @@
<string name="shortcutSelectCard">Valitse kortti</string>
<string name="starred">Tähdellä merkityt</string>
<string name="options">Vaihtoehdot</string>
<string name="set_scale">Säädä kokoa</string>
<string name="include_if_asking_support">Jos haluat pyytää tukea, ilmoita seuraavat tiedot:</string>
<string name="hideMoreInfo">Piilota tiedot</string>
<string name="exportPassword">Aseta salasana suojataksesi vientitiedostosi (valinnainen)</string>
<string name="exportPasswordHint">Syötä salasana</string>
<string name="showMoreInfo">Näytä tiedot</string>

View File

@@ -42,7 +42,6 @@
<string name="app_license">Logiciel libre à copyleft, sous licence GPLv3+</string>
<string name="about_title_fmt">À propos de <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Version : <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Notes de version : <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Choisissez le code-barres</string>
<string name="copy_to_clipboard_toast">Identifiant copié dans le presse-papiers</string>
<string name="thumbnailDescription">Miniature</string>
@@ -98,13 +97,11 @@
<string name="points">Points</string>
<string name="currency">Devise</string>
<string name="balance">Solde</string>
<string name="moveBarcodeToCenterOfScreen">Centrer le code-barres sur lécran</string>
<string name="moveBarcodeToTopOfScreen">Déplacez le code-barres vers le haut de lécran</string>
<string name="chooseExpiryDate">Choisissez la date dexpiration</string>
<string name="never">Jamais</string>
<string name="expiryDate">Date dexpiration</string>
<string name="editBarcode">Modifier le code-barres</string>
<string name="barcode">Code-barres</string>
<string name="card">Carte</string>
<string name="balanceSentence">Solde : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expiré : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
@@ -129,7 +126,6 @@
<string name="setBarcodeId">Définir la valeur du code-barres</string>
<string name="sameAsCardId">Identique à lidentifiant</string>
<string name="barcodeId">Valeur du code-barres</string>
<string name="settings_max_font_size_scale">Taille max. de la police</string>
<string name="unsupportedBarcodeType">Ce type de code-barres ne peut pas encore être affiché. Il sera peut-être pris en charge dans une version ultérieure de lapplication.</string>
<string name="wrongValueForBarcodeType">La valeur nest pas valide pour le type de code-barres sélectionné</string>
<string name="app_resources">Ressources tierces libres : <xliff:g id="app_resources_list">%s</xliff:g></string>
@@ -150,7 +146,7 @@
<string name="backImageDescription">Image du verso</string>
<string name="frontImageDescription">Image du recto</string>
<string name="passwordRequired">Veuillez entrer le mot de passe</string>
<string name="importStocardMessage">Sélectionnez votre exportation <i>***-sync.zip</i> de Stocard pour limporter.
<string name="importStocardMessage">Sélectionnez votre exportation <i>***.zip</i> de Stocard pour limporter.
\nVous pouvez lobtenir en envoyant un courriel à support@stocardapp.com pour demander une exportation de vos données.</string>
<string name="importStocard">Importer depuis Stocard</string>
<string name="turn_flashlight_off">Éteindre la lampe de poche</string>
@@ -188,14 +184,12 @@
<string name="app_contributors">Rendu possible par : <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Ce groupe est vide</string>
<string name="barcodeImageDescriptionWithType">Image <xliff:g>%s</xliff:g> code-barres</string>
<string name="swipeToSwitchImages">Balayez pour changer dimage, maintenez appuyé pour ouvrir limage dans la galerie</string>
<string name="sort">Trier</string>
<string name="sort_by">Trier par</string>
<string name="reverse"> dans lordre inverse</string>
<string name="sort_by_expiry">Date dexpiration</string>
<string name="sort_by_most_recently_used">Les plus récemment utilisées</string>
<string name="sort_by_name">Nom</string>
<string name="sort_by_balance">Solde</string>
<string name="report_error">Signaler une erreur</string>
<string name="on_google_play">sur Google Play</string>
<string name="rate_this_app">Notez cette appli</string>
@@ -214,7 +208,7 @@
<string name="group_name_already_in_use">Nom de groupe déjà utilisé</string>
<string name="group_updated">Groupe mis à jour</string>
<string name="group_name_is_empty">Le nom du groupe ne peut pas être vide</string>
<string name="setIcon">Définir licône</string>
<string name="setIcon">Définir la vignette</string>
<string name="selectColor">Sélectionnez la couleur</string>
<string name="action_show_details">Afficher les détails</string>
<string name="action_hide_details">Masquer les détails</string>
@@ -222,9 +216,7 @@
<string name="shortcutSelectCard">Sélectionnez une carte</string>
<string name="options">Options</string>
<string name="starred">En favori</string>
<string name="set_scale">Définir une échelle</string>
<string name="showMoreInfo">Afficher les infos</string>
<string name="hideMoreInfo">Masquer les infos</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> point</item>
<item quantity="many"><xliff:g>%s</xliff:g> points</item>
@@ -275,4 +267,17 @@
<string name="validFromSentence">Valide à partir de : <xliff:g>%s</xliff:g></string>
<string name="anyDate">Nimporte quelle date</string>
<string name="chooseValidFromDate">Choisissez la date de début de validité</string>
<string name="height">Hauteur :</string>
<string name="switchToFrontImage">Passer à l\'image avant</string>
<string name="switchToBackImage">Passer à l\'image arrière</string>
<string name="switchToBarcode">Passer au code barre</string>
<string name="openFrontImageInGalleryApp">Ouvrir l\'image avant dans l\'application galerie</string>
<string name="openBackImageInGalleryApp">Ouvrir l\'image arrière dans l\'application galerie</string>
<string name="setBarcodeHeight">Définir la hauteur du code-barres</string>
<string name="donate">Faire un don</string>
<string name="icon_header_click_text">Appuyez longuement pour modifier la vignette</string>
<string name="show_name_below_image_thumbnail">Afficher le nom sous la vignette de l\'image</string>
<string name="show_note">Afficher la note</string>
<string name="show_validity">Afficher la validité</string>
<string name="show_balance">Afficher le solde</string>
</resources>

View File

@@ -63,7 +63,6 @@
<string name="settings_landscape_orientation">आयत रूप(लैंडस्केप)</string>
<string name="settings_follow_system_orientation">सिस्टम का पालन करें</string>
<string name="settings_portrait_orientation">पोट्रैट</string>
<string name="settings_max_font_size_scale">अक्षर का अधिकतम नाप</string>
<string name="settings_display_barcode_max_brightness">बारकोड का दृश्य उजालित(ब्राइट) करें</string>
<string name="settings_keep_screen_on">स्क्रीन को चालू रखें</string>
<string name="cameraPermissionDeniedTitle">हम कैमरा तक पहुँच नहीं सकते</string>
@@ -102,13 +101,11 @@
<string name="leaveWithoutSaveTitle">निकास करें</string>
<string name="addFromImage">गैलरी से चित्र चुनें</string>
<string name="card">कार्ड</string>
<string name="barcode">बारकोड</string>
<string name="editBarcode">बारकोड में बदलाव करें</string>
<string name="expiryDate">समाप्ति दिन</string>
<string name="never">कभी नहीं</string>
<string name="chooseExpiryDate">समाप्ति दिन चुनें</string>
<string name="moveBarcodeToTopOfScreen">बार कोड को स्क्रीन के ऊपरी भाग पर लाएं</string>
<string name="moveBarcodeToCenterOfScreen">बार कोड को स्क्रीन के बीच में लाएं</string>
<string name="noBarcodeFound">कोई बारकोड नहीं पाया गया</string>
<string name="errorReadingImage">चित्र को पढ़ना संभव नहीं हुआ</string>
<string name="balance">संतुलन</string>
@@ -148,6 +145,5 @@
<string name="app_license">कॉपीलेफ्ट लिबर सॉफ्टवेयर, GPLv3+ लाइसेंस प्राप्त</string>
<string name="about_title_fmt"><xliff:g id="app_name">%s</xliff:g> के बारे में</string>
<string name="debug_version_fmt">संस्करण: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt"><xliff:g id="app_revision_url">%s</xliff:g> संशोधन के बारे में</string>
<string name="copy_to_clipboard_toast">आई डी क्लिपबोर्ड पर कॉपी किया गया</string>
</resources>

View File

@@ -1,83 +1,278 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="unstar">Ukloni iz favorita</string>
<string name="action_search">Pretraživanje</string>
<string name="action_search">Pretraži</string>
<string name="save">Spremi</string>
<string name="edit">Uredi</string>
<string name="delete">Ukloni</string>
<string name="confirm">Potvrdi</string>
<string name="deleteTitle">Ukloni kartu</string>
<string name="deleteTitle">Izbriši karticu</string>
<string name="deleteConfirmation">Izbrisati ovu karticu zauvijek\?</string>
<string name="copy_to_clipboard">Kopiraj ID u međuspremnik</string>
<string name="share">Podijeli</string>
<string name="sendLabel">Pošalji…</string>
<string name="share">Dijeli</string>
<string name="sendLabel">Pošalji </string>
<string name="editCardTitle">Uredi karticu</string>
<string name="addCardTitle">Dodaj Kartu</string>
<string name="scanCardBarcode">Skeniranje crtičnog koda kartice</string>
<string name="cardShortcut">Oznaka karte</string>
<string name="noCardsMessage">Najprije dodajte karticu</string>
<string name="card_ids_copied">Kopirani ID kartice</string>
<string name="addCardTitle">Dodaj karticu</string>
<string name="scanCardBarcode">Snimi crtični kod kartice</string>
<string name="cardShortcut">Prečac kartice</string>
<string name="noCardsMessage">Najprije dodaj karticu</string>
<string name="card_ids_copied">ID oznake su kopirane</string>
<string name="noBarcode">Nema crtičnog koda</string>
<string name="star">Dodaj u favorite</string>
<string name="action_add">Dodaj</string>
<string name="storeName">Ime</string>
<string name="note">Napomena</string>
<string name="note">Bilješka</string>
<string name="noMatchingGiftCards">Nema rezultata. Pokušajte promijeniti pretraživanje.</string>
<string name="cardId">ID kartice</string>
<string name="barcodeType">Vrsta crtičnog koda</string>
<string name="barcodeNoBarcode">Na ovoj kartici nema crtičnog koda</string>
<string name="cancel">Poništi</string>
<string name="noGiftCards">Pritisnite gumb + plus da biste dodali karticu ili ga najprije uvezite iz izbornika ⋮.</string>
<string name="noStoreError">Ime nije uneseno</string>
<string name="noCardExistsError">Nije moguće pronaći karticu</string>
<string name="failedParsingImportUriError">Nije moguće analizirati uvoz URI</string>
<string name="importExport">Uvoz / Izvoz</string>
<string name="barcodeNoBarcode">Ne postoji crtični kod</string>
<string name="cancel">Odustani</string>
<string name="noGiftCards">Pritisni gumb + plus za dodavanje kartice ili uvezi putem izbornika ⋮.</string>
<string name="noStoreError">Ime nije zadano</string>
<string name="noCardExistsError">Nije bilo moguće pronaći tu karticu</string>
<string name="failedParsingImportUriError">Nije bilo moguće obraditi URI uvoza</string>
<string name="importExport">Uvoz/Izvoz</string>
<string name="exportName">Izvoz</string>
<string name="importExportHelp">Sigurnosno kopiranje kartica omogućuje vam da ih premjestite na drugi uređaj.</string>
<string name="importExportHelp">Spremanje sigurnosnih kopija tvojih podataka omogućuje premještanje podataka na jedan drugi uređaj.</string>
<string name="importSuccessfulTitle">Uvezeno</string>
<string name="importFailedTitle">Nije moguće uvesti</string>
<string name="importFailed">Nije moguće uvesti karte</string>
<string name="importFailedTitle">Neuspio uvoz</string>
<string name="importFailed">Nije bilo moguće izvršiti uvoz</string>
<string name="exportSuccessfulTitle">Izvezeno</string>
<string name="about">Oh</string>
<string name="importOptionApplicationButton">Koristite drugu aplikaciju</string>
<string name="barcode">Barkod</string>
<string name="exportOptionExplanation">Podaci će biti zabilježeni na odabranom mjestu.</string>
<string name="exportFailedTitle">Izvoz nije uspio</string>
<string name="exporting">Opskrba…</string>
<string name="importOptionFilesystemExplanation">Odaberite određenu datoteku iz datotečnog sustava.</string>
<string name="importOptionApplicationTitle">Koristite drugu aplikaciju</string>
<string name="about">Informacije</string>
<string name="importOptionApplicationButton">Koristi jednu drugu aplikaciju</string>
<string name="exportOptionExplanation">Podaci će se zapisati u željeno mjesto.</string>
<string name="exportFailedTitle">Neuspio izvoz</string>
<string name="exporting">Izvoz </string>
<string name="importOptionFilesystemExplanation">Odaberi određenu datoteku iz datotečnog sustava.</string>
<string name="importOptionApplicationTitle">Koristi jednu drugu aplikaciju</string>
<string name="settings">Postavke</string>
<string name="settings_dark_theme">Tamno</string>
<string name="exportFailed">Nije moguće izvesti karte</string>
<string name="importing">Uvoz…</string>
<string name="settings_dark_theme">Tamna</string>
<string name="exportFailed">Nije bilo moguće izvršiti izvoz</string>
<string name="importing">Uvoz </string>
<string name="importOptionFilesystemTitle">Uvoz iz datotečnog sustava</string>
<string name="importOptionFilesystemButton">Iz datotečnog sustava</string>
<string name="importOptionApplicationExplanation">Koristite bilo koju aplikaciju ili omiljeni upravitelj datoteka za otvaranje datoteke.</string>
<string name="importOptionApplicationExplanation">Za otvaranje datoteke koristi bilo koju aplikaciju ili tvoj omiljeni upravlj datoteka.</string>
<string name="settings_theme">Tema</string>
<string name="settings_system_theme">Sustav</string>
<string name="settings_light_theme">Svjetlo</string>
<string name="settings_max_font_size_scale">Maksimalna veličina fonta</string>
<string name="settings_display_barcode_max_brightness">Osvijetlite izgled crtičnog koda</string>
<string name="moveDown">Pomicanje prema dolje</string>
<string name="addManually">Ručno unesite ID kartice</string>
<string name="thumbnailDescription">Sličica za karticu</string>
<string name="settings_light_theme">Svijetla</string>
<string name="settings_display_barcode_max_brightness">Osvijetli prikaz crtičnog koda</string>
<string name="moveDown">Pomakni prema dolje</string>
<string name="addManually">Ručno upiši ID</string>
<string name="thumbnailDescription">Sličica</string>
<string name="starImage">Omiljena zvijezda</string>
<string name="settings_category_title_ui">Korisničko sučelje</string>
<string name="exportSuccessful">Izvezeni podaci o karti</string>
<string name="settings_keep_screen_on">Držite zaslon uključen</string>
<string name="settings_disable_lockscreen_while_viewing_card">Spriječiti zaključavanje zaslona</string>
<string name="intent_import_card_from_url_share_text">Želim podijeliti razglednicu s vama</string>
<string name="importSuccessful">Uvezeni podaci o karti</string>
<string name="enter_group_name">Unesite naziv grupe</string>
<string name="exportSuccessful">Podaci su izvezeni</string>
<string name="settings_keep_screen_on">Ostavi ekran uključen</string>
<string name="settings_disable_lockscreen_while_viewing_card">Spriječi zaključavanje ekrana</string>
<string name="intent_import_card_from_url_share_text">Želim dijeliti karticu s tobom</string>
<string name="importSuccessful">Podaci su uvezeni</string>
<string name="enter_group_name">Upiši ime grupe</string>
<string name="groups">Grupe</string>
<string name="noGroups">Pritisnite gumb + plus da biste najprije dodali grupe za klasifikaciju.</string>
<string name="noGroupCards">Ova grupa ne sadrži nikakve kartice</string>
<string name="addFromImage">Odaberite sliku iz galerije</string>
<string name="deleteConfirmationGroup">Izbriši grupu\?</string>
<string name="failedOpeningFileManager">Najprije instalirajte upravitelj datoteka.</string>
<string name="moveUp">Pomicanje gore</string>
<string name="leaveWithoutSaveTitle">Izlaz</string>
<string name="card">Karta</string>
<string name="leaveWithoutSaveConfirmation">Otići bez očuvanja\?</string>
<string name="noGiftCardsGroup">Izradite neke kartice, a zatim ih dodijelite grupi ovdje.</string>
<string name="noGroups">Pritisni gumb + plus za dodavanje grupe za kategoriziranje.</string>
<string name="noGroupCards">Ova je grupa prazna</string>
<string name="addFromImage">Odaberi sliku iz galerije</string>
<string name="deleteConfirmationGroup">Izbrisati grupu\?</string>
<string name="failedOpeningFileManager">Najprije instaliraj upravlj datoteka.</string>
<string name="moveUp">Pomakni prema gore</string>
<string name="leaveWithoutSaveTitle">Zatvori aplikaciju</string>
<string name="card">Kartica</string>
<string name="leaveWithoutSaveConfirmation">Zatvoriti aplikaciju bez spremanja\?</string>
<string name="noGiftCardsGroup">Stvori neke kartice, a zatim ih ovdje dodijeli grupi.</string>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> kartica</item>
<item quantity="few"><xliff:g>%d</xliff:g> kartice</item>
<item quantity="other"><xliff:g>%d</xliff:g> kartica</item>
</plurals>
<string name="importStocardMessage">Odaberi tvoju iz Stocard izvezenu <i>***.zip</i> datoteku koju želiš uvesti.
\nPošalji e-mail na support@stocardapp.com s molbom za izvoz tvojih podataka.</string>
<string name="translate_platform">na platformi Weblate</string>
<string name="editGroup">Uređivanje grupe: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Uredi crtični kod</string>
<string name="expiryDate">Datum isteka</string>
<string name="never">Nikada</string>
<string name="accept">Prihvati</string>
<string name="importCatima">Uvezi iz Catima</string>
<string name="importFidme">Uvezi iz FidMe</string>
<string name="importStocard">Uvezi iz Stocard</string>
<string name="importLoyaltyCardKeychainMessage">Odaberi tvoju iz LoyaltyCardKeychain izvezenu <i>LoyaltyCardKeychain.csv</i> datoteku koju želiš uvesti.
\nStvori je putem izbornika „Uvoz/Izvoz” u aplikaciji LoyaltyCardKeychain i tamo najprije pritisni „Izvoz”.</string>
<string name="updateBarcodeQuestionText">Promijenio/la si ID. Želiš li također aktualizirati crtični kod da koristi istu vrijednost\?</string>
<string name="action_hide_details">Sakrij detalje</string>
<string name="importCards">Uvezi kartice</string>
<string name="selectColor">Odaberi boju</string>
<string name="setIcon">Postavi ikonu</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_green_theme">Zelena</string>
<string name="settings_grey_theme">Siva</string>
<string name="sort_by_expiry">Istek</string>
<string name="barcodeImageDescriptionWithType">Slika vrste crtičnog koda <xliff:g>%s</xliff:g></string>
<string name="noCardIdError">ID nije zadan</string>
<string name="importLoyaltyCardKeychain">Uvezi iz Loyalty Card Keychain</string>
<string name="frontImageDescription">Prednja slika</string>
<string name="exportPasswordHint">Upiši lozinku</string>
<string name="turn_flashlight_on">Uključi svjetiljku</string>
<string name="failedGeneratingShareURL">Nije bilo moguće generirati URL za dijeljenje. Prijavi ovaj problem.</string>
<string name="turn_flashlight_off">Isključi svjetiljku</string>
<string name="settings_locale">Jezik</string>
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_violet_theme">Ljubičasta</string>
<string name="settings_sky_blue_theme">Nebesko plava</string>
<string name="sort">Razvrstaj</string>
<string name="updateBalance">Aktualiziraj saldo</string>
<string name="sort_by">Redoslijed</string>
<string name="version_history">Kronologija verzija</string>
<string name="credits">Zasluge</string>
<string name="and_data_usage">i korištenje podataka</string>
<string name="rate_this_app">Ocijeni ovu aplikaciju</string>
<string name="report_error">Prijavi greške</string>
<string name="include_if_asking_support">Ako želiš zatražiti podršku, uključi sljedeće informacije:</string>
<string name="options">Opcije</string>
<string name="starred">Označeno</string>
<string name="duplicateCard">Dupliciraj</string>
<string name="archive">Arhiviraj</string>
<string name="archived">Kartica je arhivirana</string>
<string name="unarchived">Kartica je dearhivirana</string>
<string name="failedLaunchingPhotoPicker">Nije bilo moguće pronaći aplikaciju za galeriju</string>
<string name="archiveList">Arhiva</string>
<string name="cameraPermissionDeniedTitle">Nije bilo moguće pristupiti kameri</string>
<string name="noCameraPermissionDirectToSystemSetting">Za snimanje crtičnih kodova Catima treba pristup tvojoj kameri. Dodirni ovdje za mijenjanje postavki dozvola.</string>
<string name="app_libraries">Libre biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Biranje crtičnog koda</string>
<string name="copy_to_clipboard_toast">ID je kopiran u međuspremnik</string>
<string name="enterBarcodeInstructions">Upiši ID i dolje odaberi vrstu crtičnog koda ili „Ne postoji crtični kod”.</string>
<string name="settings_portrait_orientation">Okomito</string>
<string name="settings_lock_on_opening_orientation">Zaključaj na položaj koji se koristi prilikom otvaranja kartice</string>
<string name="group_edit">Uredi grupu</string>
<string name="group_name_already_in_use">Ime grupe se već koristi</string>
<string name="noBarcodeFound">Nijedan crtični kod nije pronađen</string>
<string name="balance">Saldo</string>
<string name="chooseImportType">Uvezi podatke iz</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="parsingBalanceFailed">Čini se da <xliff:g>%s</xliff:g> nije ispravni saldo.</string>
<string name="privacy_policy_popup_text">Obavijest o politici privatnosti (obavezna za neke trgovine aplikacija):
\n
\nPODACI SE UOPĆE NE PRIKUPLJAJU, što svatko može potvrditi budući da je naša aplikacija libre softver.</string>
<string name="importCatimaMessage">Odaberi tvoju iz Catima izvezenu <i>catima.zip</i> datoteku koju želiš uvesti.
\nStvori je putem izbornika „Uvoz/Izvoz” jedne druge Catima aplikacije i tamo najprije pritisni „Izvoz”.</string>
<string name="height">Visina:</string>
<string name="switchToFrontImage">Prebaci na prednju sliku</string>
<string name="switchToBackImage">Prebaci na stražnju sliku</string>
<string name="switchToBarcode">Prebaci na crtični kod</string>
<string name="openFrontImageInGalleryApp">Otvori prednju sliku u aplikaciji galerije</string>
<string name="openBackImageInGalleryApp">Otvori stražnju sliku u aplikaciji galerije</string>
<string name="setBarcodeHeight">Postavi visinu crtičnog koda</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> odabrana</item>
<item quantity="few"><xliff:g>%d</xliff:g> odabrane</item>
<item quantity="other"><xliff:g>%d</xliff:g> odabrano</item>
</plurals>
<string name="validFromDate">Vrijedi od</string>
<string name="chooseValidFromDate">Odaberi datum od kada kartica vrijedi</string>
<string name="anyDate">Bilo koji datum</string>
<string name="validFromSentence">Vrijedi od: <xliff:g>%s</xliff:g></string>
<string name="photos">Slike</string>
<string name="ok">U redu</string>
<string name="app_copyright_old">Zasnovano na Loyalty Card Keychain
\nautorsko pravo © 2016. 2020. Branden Archer</string>
<string name="settings_system_locale">Sustav</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> bod</item>
<item quantity="few"><xliff:g>%s</xliff:g> boda</item>
<item quantity="other"><xliff:g>%s</xliff:g> bodova</item>
</plurals>
<string name="donate">Doniraj</string>
<string name="storageReadPermissionRequired">Za ovu radnju je potrebna dozvola za čitanje spremljenih podataka …</string>
<string name="cameraPermissionRequired">Za ovu radnju je potrebna dozvola za pristup kameri …</string>
<string name="app_license">Copylefted libre softver, GPLv3+ licenca</string>
<string name="settings_card_orientation">Položaj crtičnog koda</string>
<string name="settings_follow_system_orientation">Slijedi sustav</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="importFidmeMessage">Odaberi tvoju iz FidMe izvezenu <i>idme-export-request-xxxxxx.zip</i> datoteku koju želiš uvesti i ručno odaberi vste crtičnog koda nakon toga.
\nStvori je putem tvog FidMe profila i tamo najprije odaberi „Zaštita podataka” a zatim pritisni „Dekomprimiraj moje podatke”.</string>
<string name="importVoucherVaultMessage">Odaberi tvoju iz Voucher Vault izvezenu <i>vouchervault.json</i> datoteku koju želiš uvesti.
\nStvori je u aplikaciji Voucher Vault i tamo najprije pritisni „Izvoz”.</string>
<string name="settings_pink_theme">Ružičasta</string>
<string name="settings_blue_theme">Plava</string>
<string name="failedToRetrieveImageFile">Neuspjelo dohvaćanje slikovne datoteke</string>
<string name="license">Licenca</string>
<string name="barcodeLongPressMessage">U aplikaciji galerije se mogu otvoriiti samo slike</string>
<string name="source_repository">Izvorni repozitorij</string>
<string name="on_github">na GitHubu</string>
<string name="on_google_play">na stranici Google Play</string>
<string name="unarchive">Dearhiviraj</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirana)</item>
<item quantity="few"><xliff:g>%1$d</xliff:g> kartice (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirane)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirano)</item>
</plurals>
<string name="help_translate_this_app">Pomogni prevoditi ovu aplikaciju</string>
<string name="welcome">Pozdrav u Catima</string>
<string name="currentBalanceSentence">Aktualni saldo: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">Novi saldo: <xliff:g>%s</xliff:g></string>
<plurals name="deleteCardsTitle">
<item quantity="one">Izbriši <xliff:g>%d</xliff:g> karticu</item>
<item quantity="few">Izbriši <xliff:g>%d</xliff:g> kartice</item>
<item quantity="other">Izbriši <xliff:g>%d</xliff:g> kartica</item>
</plurals>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Izbrisati ovu <xliff:g>%d</xliff:g> karticu zauvijek\?</item>
<item quantity="few">Izbrisati ove <xliff:g>%d</xliff:g> kartice zauvijek\?</item>
<item quantity="other">Izbrisati ovih <xliff:g>%d</xliff:g> kartica zauvijek\?</item>
</plurals>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019. <xliff:g>%d.</xliff:g> Sylvia van Os</string>
<string name="debug_version_fmt">Verzija: <xliff:g id="version">%s</xliff:g></string>
<string name="app_resources">Libre resursi trećih strana: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="settings_landscape_orientation">Vodoravno</string>
<string name="group_name_is_empty">Ime grupe ne smije biti prazno</string>
<string name="group_updated">Grupa je aktualizirana</string>
<string name="all">Sve</string>
<string name="groupsList">Grupe: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Isteče: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Isteklo: <xliff:g>%s</xliff:g></string>
<string name="chooseExpiryDate">Odaberi datum isteka</string>
<string name="moveBarcodeToTopOfScreen">Premjesti crtični kod na vrh ekrana</string>
<string name="errorReadingImage">Nije bilo moguće učitati sliku</string>
<string name="currency">Valuta</string>
<string name="points">Bodovi</string>
<string name="privacy_policy">Politika privatnosti</string>
<string name="importVoucherVault">Uvezi iz Voucher Vault</string>
<string name="barcodeId">Vrijednost crtičnog koda</string>
<string name="sameAsCardId">Ista kao ID</string>
<string name="setBarcodeId">Postavi vrijednost crtičnog koda</string>
<string name="unsupportedBarcodeType">Ova se vrsta crtičnog koda još ne može prikazati. Možda će se podržati u novijoj verziji aplikacije.</string>
<string name="wrongValueForBarcodeType">Vrijednost nije valjana za odabranu vrstu crtičnog koda</string>
<string name="copy_to_clipboard_multiple_toast">ID oznke su kopirane u međuspremnik</string>
<string name="intent_import_card_from_url_share_multiple_text">Želim dijeliti neke kartice s tobom</string>
<string name="backImageDescription">Stražnja slika</string>
<string name="setFrontImage">Postavi prednju sliku</string>
<string name="setBackImage">Postavi stražnju sliku</string>
<string name="removeImage">Ukloni sliku</string>
<string name="takePhoto">Uslikaj fotografiju</string>
<string name="updateBarcodeQuestionTitle">Aktualizirati vrijednost crtičnog koda\?</string>
<string name="yes">Da</string>
<string name="no">Ne</string>
<string name="passwordRequired">Upiši lozinku</string>
<string name="exportPassword">Postavi lozinku za zaštitu tvog izvoza (opcionalno)</string>
<string name="settings_oled_dark">Potpuno crna pozadina za tamnu temu</string>
<string name="settings_theme_color">Boja teme</string>
<string name="settings_brown_theme">Smeđa</string>
<string name="app_contributors">Omogućuje: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="showMoreInfo">Prikaži informacije</string>
<string name="sort_by_name">Ime</string>
<string name="sort_by_most_recently_used">Nedavno korišteno</string>
<string name="reverse">… u obrnutom redoslijedu</string>
<string name="action_show_details">Prikaži detalje</string>
<string name="shortcutSelectCard">Odaberi karticu</string>
<string name="noUnarchivedCardsMessage">Ne postoje nearhivirane kartice</string>
<string name="previousCard">Prethodna</string>
<string name="nextCard">Sljedeća</string>
<string name="updateBalanceTitle">Koliko si potrošio/la\?</string>
<string name="updateBalanceHint">Upiši iznos</string>
<string name="about_title_fmt">Informaije o <xliff:g id="app_name">%s</xliff:g></string>
<string name="failedToOpenUrl">Najprije instaliraj web preglednik</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Pogledaj arhivu (<xliff:g>%1$d</xliff:g> kartica)</item>
<item quantity="few">Pogledaj arhivu (<xliff:g>%1$d</xliff:g> kartice)</item>
<item quantity="other">Pogledaj arhivu (<xliff:g>%1$d</xliff:g> kartica)</item>
</plurals>
</resources>

View File

@@ -4,96 +4,95 @@
<string name="action_add">Hozzáadás</string>
<string name="action_search">Keresés</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> kiválasztott</item>
<item quantity="other"><xliff:g>%d</xliff:g> kiválasztottak</item>
<item quantity="one"><xliff:g>%d</xliff:g> kiválasztva</item>
<item quantity="other"><xliff:g>%d</xliff:g> kiválasztva</item>
</plurals>
<string name="noCardsMessage">Először adjon hozzá egy kártyát</string>
<string name="noGiftCardsGroup">Hozzon létre kártyákat, és rendelje hozzá a megfelelő csoporthoz.</string>
<string name="noMatchingGiftCards">Nincs eredmény. Próbálja módosítani a keresést.</string>
<string name="noMatchingGiftCards">Nincs találaat. Próbálja módosítani a keresést.</string>
<string name="storeName">Név</string>
<string name="note">Feljegyzés</string>
<string name="cardId">Kártya azonosító</string>
<string name="barcodeType">Vonalkód típus</string>
<string name="cardId">Kártyaazonosító</string>
<string name="barcodeType">Vonalkód típusa</string>
<string name="barcodeNoBarcode">Nincs vonalkód</string>
<string name="noBarcode">Nincs vonalkód</string>
<string name="star">Kedvencekhez adás</string>
<string name="unstar">Kivétel a kedvencek közül</string>
<string name="star">Hozzáadás a kedvencekhez</string>
<string name="unstar">Eltávolítás a kedvencekl</string>
<string name="cancel">Mégse</string>
<string name="save">Mentés</string>
<string name="edit">Szerkesztés</string>
<string name="delete">Törlés</string>
<string name="confirm">Alkalmaz</string>
<string name="confirm">Jóváhagyás</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Törölje az <xliff:g>%d</xliff:g> kártyát</item>
<item quantity="one"><xliff:g>%d</xliff:g> kártya törlése</item>
<item quantity="other">Törölje az <xliff:g>%d</xliff:g> kártyákat</item>
</plurals>
<string name="deleteConfirmation">Véglegesen törli a kártyát\?</string>
<string name="ok">Rendben</string>
<string name="copy_to_clipboard">Azonosító másolása a vágólapra</string>
<string name="copy_to_clipboard">Azonosító vágólapra másolása</string>
<string name="share">Megosztás</string>
<string name="sendLabel">Küldés…</string>
<string name="editCardTitle">Kártya szerkesztése</string>
<string name="addCardTitle">Kártya hozzáadása</string>
<string name="scanCardBarcode">Vonalkód szkennelése</string>
<string name="scanCardBarcode">Vonalkód leolvasása</string>
<string name="cardShortcut">Kártya parancsikon</string>
<string name="noStoreError">Nincs név megadva</string>
<string name="failedParsingImportUriError">Nem elemezhető az importált URI</string>
<string name="importExport">Import/Export</string>
<string name="exportName">Export</string>
<string name="importExportHelp">Az adataid mentése lehetővé teszi, hogy egy másik eszközre feltöltsd.</string>
<string name="failedParsingImportUriError">Az importálási URI nem értelmezhető</string>
<string name="importExport">Importálás/exportálás</string>
<string name="exportName">Exportálás</string>
<string name="importExportHelp">Az adatok mentése lehetővé teszi, hogy egy másik eszközre helyezze át.</string>
<string name="importSuccessfulTitle">Importálva</string>
<string name="importFailedTitle">Importálás meghiúsult</string>
<string name="importFailed">Importálás nem hajtható végre</string>
<string name="importFailedTitle">Az importálás sikertelen</string>
<string name="importFailed">Nem sikerült az importálás végrehajtása</string>
<string name="exportSuccessfulTitle">Exportálva</string>
<string name="exportFailedTitle">Exportálás meghiúsult</string>
<string name="exportFailedTitle">Az exportálás sikertelen</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Véglegesen törli a <xliff:g>%d</xliff:g> kártyát\?</item>
<item quantity="other">Véglegesen törli a <xliff:g>%d</xliff:g> kártyákat\?</item>
<item quantity="one">Véglegesen töröl <xliff:g>%d</xliff:g> kártyát\?</item>
<item quantity="other">Véglegesen töröl <xliff:g>%d</xliff:g> kártyát\?</item>
</plurals>
<string name="deleteTitle">Kártya törlése</string>
<string name="card_ids_copied">Azonosító(k) másolása</string>
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> vonalkód képe</string>
<string name="card_ids_copied">Azonosító(k) másolva</string>
<string name="barcodeImageDescriptionWithType">A(z) <xliff:g>%s</xliff:g> vonalkód képe</string>
<string name="noCardIdError">Nincs azonosító megadva</string>
<string name="noCardExistsError">Kártya nem található</string>
<string name="importStocardMessage">Válassza ki a <i>***-sync.zip</i> Stocard exportot.
\nAdatinak exportját kérheti e-mailben a support@stocardapp.com címre írva.</string>
<string name="importVoucherVault">Importálás Voucher Vault-ból</string>
<string name="wrongValueForBarcodeType">Ez az érték meg megfelelő a vonalkód típushoz</string>
<string name="noCardExistsError">A kártya nem található</string>
<string name="importStocardMessage">Válassza ki az importálandó <i>***.zip</i> Stocard export fájlt.
\nAz adatainak exportálását a support@stocardapp.com címre írt levélben kérheti.</string>
<string name="importVoucherVault">Importálás a Voucher Vaultból</string>
<string name="wrongValueForBarcodeType">Ez az érték meg megfelelő a kiválasztott vonalkódtípushoz</string>
<string name="settings_green_theme">Zöld</string>
<string name="setBackImage">Hátlapi kép beállítása</string>
<string name="no">Nem</string>
<string name="passwordRequired">Kérem írja be a kódot</string>
<string name="passwordRequired">Adja meg a jelszót</string>
<string name="settings_catima_theme">Catima</string>
<string name="exportPasswordHint">Kód beírása</string>
<string name="failedGeneratingShareURL">Nem lehetett megosztható címet generálni. Kérem jelentse ezt.</string>
<string name="failedGeneratingShareURL">Nem lehetett megosztható webcímet előállítani. Kérjük, ezt jelentse.</string>
<string name="settings_theme_color">Téma színe</string>
<string name="settings_grey_theme">Szürke</string>
<string name="sort">Rendez</string>
<string name="on_google_play">Google Play-en</string>
<string name="action_show_details">Részletek mutatása</string>
<string name="sort">Rendezés</string>
<string name="on_google_play">a Google Playen</string>
<string name="action_show_details">Részletek megjelenítése</string>
<string name="action_hide_details">Részletek elrejtése</string>
<string name="and_data_usage">és adat használat</string>
<string name="translate_platform">Weblate-en</string>
<string name="and_data_usage">és adathasználat</string>
<string name="translate_platform">a Weblate-en</string>
<string name="sort_by_name">Név</string>
<string name="sort_by_most_recently_used">Legutóbb használt</string>
<string name="sort_by_expiry">Lejárat</string>
<string name="rate_this_app">Értékelje az appot</string>
<string name="exportFailed">Exportálás sikertelen</string>
<string name="rate_this_app">Értékelje az alkalmazást</string>
<string name="exportFailed">Nem sikerült az exportálás végrehajtása</string>
<string name="importing">Importálás…</string>
<string name="exporting">Exportálás…</string>
<string name="exportOptionExplanation">Az adatokat a kiválasztott helyre fogjuk menteni.</string>
<string name="exportOptionExplanation">Az adatok a kiválasztott helyre lesznek mentve.</string>
<string name="importOptionFilesystemTitle">Importálás fájlrendszerből</string>
<string name="importOptionFilesystemButton">A fájlrendszerből</string>
<string name="importOptionApplicationTitle">Másik app használata</string>
<string name="importOptionApplicationExplanation">Használjon egy tetszőleges appot, vagy kedvenc fájl menedzserét a fájl megnyitásához.</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Szerzői Jog © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_license">Copyleft-elt gáttalan szoftver, GPLv3+ licenszelve</string>
<string name="about_title_fmt"><xliff:g id="app_name">%s</xliff:g> névjegye</string>
<string name="importOptionApplicationTitle">Másik alkalmazás használata</string>
<string name="importOptionApplicationExplanation">A fájl megnyitásához használjon egy tetszőleges alkalmazást, vagy a kedvenc fájlkezelőjét.</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_license">Copyleft licencű szabad szoftver, GPLv3+ alatt közzétéve</string>
<string name="about_title_fmt">A <xliff:g id="app_name">%s</xliff:g> névjegye</string>
<string name="debug_version_fmt">Verzió: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Revíziós információ: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_resources">Gáttalan külsős források: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_resources">Szabad külső erőforrások: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Vonalkód kiválasztása</string>
<string name="enterBarcodeInstructions">Írja be az azonosítót, majd válasszon egy vonalkódot, vagy a \"Nincs vonalkód\" opciót.</string>
<string name="enterBarcodeInstructions">Írja be az azonosítót, majd válasszon egy vonalkódot, vagy a Nincs vonalkód” lehetőséget.</string>
<string name="copy_to_clipboard_toast">Azonosító vágólapra másolva</string>
<string name="starImage">Kedvencek csillag</string>
<string name="settings">Beállítások</string>
@@ -101,57 +100,54 @@
<string name="settings_theme">Téma</string>
<string name="settings_system_theme">Rendszer</string>
<string name="settings_light_theme">Világos</string>
<string name="settings_max_font_size_scale">Max. betű méret</string>
<string name="settings_display_barcode_max_brightness">Fényes vonalkód nézet</string>
<string name="settings_keep_screen_on">Képernyő bekapcsolva marad</string>
<string name="settings_disable_lockscreen_while_viewing_card">Képernyő zárólás megakadályozása</string>
<string name="settings_display_barcode_max_brightness">Vonalkód nézet világosítása</string>
<string name="settings_keep_screen_on">A képernyő bekapcsolva tartása</string>
<string name="settings_disable_lockscreen_while_viewing_card">Képernyőzárólás megakadályozása</string>
<string name="intent_import_card_from_url_share_text">Meg akarok veled osztani egy kártyát</string>
<string name="importSuccessful">Adat importálva</string>
<string name="exportSuccessful">Adat exportálva</string>
<string name="importSuccessful">Adatok importálva</string>
<string name="exportSuccessful">Adatok exportálva</string>
<string name="enter_group_name">Adja meg a csoport nevét</string>
<string name="groups">Csoportok</string>
<string name="group_edit">Csoport szerkesztése</string>
<string name="group_name_is_empty">Csoport név nem lehet üres</string>
<string name="failedOpeningFileManager">Telepítsen egy fájl menedzsert.</string>
<string name="moveUp">Felfelé mozgatás</string>
<string name="moveDown">Lefelé mozgatás</string>
<string name="group_name_is_empty">A csoportnév nem lehet üres</string>
<string name="failedOpeningFileManager">Előbb telepítsen egy fájlkezelőt.</string>
<string name="moveUp">Mozgatás felfelé</string>
<string name="moveDown">Mozgatás lefelé</string>
<string name="leaveWithoutSaveTitle">Kilépés</string>
<string name="leaveWithoutSaveConfirmation">Kilépés mentés nélkül\?</string>
<string name="addManually">Azonosító manuális beírása</string>
<string name="addManually">Azonosító kézi beírása</string>
<string name="addFromImage">Kép kiválasztása a galériából</string>
<string name="editGroup">Csoportok szerkesztése: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Érvényes: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Lejárat: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Egyenleg: <xliff:g>%s</xliff:g></string>
<string name="card">Kártya</string>
<string name="barcode">Vonalkód</string>
<string name="editBarcode">Vonalkód szerkesztése</string>
<string name="expiryDate">Lejárati dátum</string>
<string name="never">Soha</string>
<string name="chooseExpiryDate">Lejárati dátum kiválasztása</string>
<string name="moveBarcodeToTopOfScreen">Vonalkód feltolása a képernyő tetejére</string>
<string name="moveBarcodeToCenterOfScreen">Vonalkód középre igazítása</string>
<string name="noBarcodeFound">Nem található vonalkód</string>
<string name="errorReadingImage">Nem lehet olvasni a képet</string>
<string name="balance">Egyenleg</string>
<string name="currency">Valuta</string>
<string name="currency">Pénznem</string>
<string name="points">Pontok</string>
<string name="parsingBalanceFailed">A <xliff:g>%s</xliff:g> nem tűnik valós egyenlegnek.</string>
<string name="app_loyalty_card_keychain">Hűségkártya kulcstartó</string>
<string name="privacy_policy">Adatvédelmi Szabályzat</string>
<string name="accept">Elfogad</string>
<string name="importCatima">Importálás Catimából</string>
<string name="importFidme">Importálás FidMe-ből</string>
<string name="importLoyaltyCardKeychain">Importálás a Loyalty Card Keychain-ből</string>
<string name="importLoyaltyCardKeychainMessage">Válassza ki a Loyalty Card Keychain-ból importálni kívánt <i>LoyaltyCardKeychain.csv</i> export fájlt.
\nLétrehozhatja az Import/Export menüből ha a Loyalty Card Keychain-ben rányom az Exportra.</string>
<string name="importStocard">Importálás Stocard-ból</string>
<string name="importVoucherVaultMessage">Válassza ki a <i>vouchervault.json</i> Voucher Vault exportt.
\nLétrehozhatja az Export-ra nyomva a Voucher Vault-ban.</string>
<string name="barcodeId">Vonalkód érték</string>
<string name="parsingBalanceFailed">A(z) <xliff:g>%s</xliff:g> nem tűnik valós egyenlegnek.</string>
<string name="app_loyalty_card_keychain">Hűségkártya-kulcstartó</string>
<string name="privacy_policy">Adatvédelmi irányelvek</string>
<string name="accept">Elfogadás</string>
<string name="importCatima">Importálás a Catimából</string>
<string name="importFidme">Importálás a FidMeből</string>
<string name="importLoyaltyCardKeychain">Importálás a Loyalty Card Keychainből</string>
<string name="importLoyaltyCardKeychainMessage">Válassza ki a Loyalty Card Keychainl importálandó <i>LoyaltyCardKeychain.csv</i> export fájlt.
\nEzt hozza létre a Loyalty Card Keychainben az Importálás/exportálás menüben, az Exportálás megnyomásával.</string>
<string name="importStocard">Importálás a Stocardból</string>
<string name="importVoucherVaultMessage">Válassza ki az importálandó <i>vouchervault.json</i> Voucher Vault export fájlt.
\nEzt hozza létre a Voucher Vaultban az Exportálás megnyomásával.</string>
<string name="barcodeId">Vonalkód értéke</string>
<string name="sameAsCardId">Ugyanaz, mint az azonosító</string>
<string name="setBarcodeId">Vonalkód érték beállítása</string>
<string name="unsupportedBarcodeType">Ez a vonalkód típus még nem megjeleníthető. Feltehetően támogatva lesz egy későbbi verzióban.</string>
<string name="copy_to_clipboard_multiple_toast">Azonosítók a vágólapra másolva</string>
<string name="setBarcodeId">Vonalkód értékének beállítása</string>
<string name="unsupportedBarcodeType">Ez a vonalkódtípus még nem jeleníthető meg. Lehet, hogy támogatott lesz az alkalmazás egy későbbi verzióban.</string>
<string name="copy_to_clipboard_multiple_toast">Az azonosítók a vágólapra másolva</string>
<string name="intent_import_card_from_url_share_multiple_text">Meg akarok veled osztani pár kártyát</string>
<string name="frontImageDescription">Előlapi kép</string>
<string name="backImageDescription">Hátlapi kép</string>
@@ -159,10 +155,10 @@
<string name="setFrontImage">Előlapi kép beállítása</string>
<string name="removeImage">Kép eltávolítása</string>
<string name="takePhoto">Fénykép készítése</string>
<string name="updateBarcodeQuestionTitle">Vonalkód érték frissítése\?</string>
<string name="updateBarcodeQuestionText">Megváltoztatta az azonosító. Meg akarja ennek megfelelően változtatni a vonalkód értéket is\?</string>
<string name="updateBarcodeQuestionTitle">Vonalkódérték frissítése\?</string>
<string name="updateBarcodeQuestionText">Megváltoztatta az azonosítót. Ennek megfelelően megváltoztatja a vonalkód értéket is\?</string>
<string name="yes">Igen</string>
<string name="exportPassword">Írjon be egy jelszót az export védelme érdekében (opcionális)</string>
<string name="exportPassword">Állítson be egy jelszót az export védelme érdekében (nem kötelező)</string>
<string name="turn_flashlight_on">Zseblámpa bekapcsolása</string>
<string name="turn_flashlight_off">Zseblámpa kikapcsolása</string>
<string name="settings_locale">Nyelv</string>
@@ -170,96 +166,107 @@
<string name="selectColor">Szín kiválasztása</string>
<string name="setIcon">Ikon beállítása</string>
<string name="settings_pink_theme">Rózsaszín</string>
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_violet_theme">Ibolyaszínű</string>
<string name="settings_magenta_theme">Bíbor</string>
<string name="settings_violet_theme">Ibolya</string>
<string name="settings_blue_theme">Kék</string>
<string name="settings_sky_blue_theme">Égszínkék</string>
<string name="settings_brown_theme">Barna</string>
<string name="app_contributors">Lehetővé tette: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="showMoreInfo">Infó mutatása</string>
<string name="hideMoreInfo">Infó elrejtése</string>
<string name="swipeToSwitchImages">Csúsztassa ujját a képek váltásához, tartsa lenyomva a kép megnyitásához a Galéria alkalmazásban</string>
<string name="sort_by_balance">Egyenleg</string>
<string name="reverse">...fordított sorrendben</string>
<string name="sort_by">Rendezés mint</string>
<string name="version_history">Verzió történet</string>
<string name="app_contributors">Lehetővé tették: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="showMoreInfo">Információk megjelenítése</string>
<string name="reverse">…fordított sorrendben</string>
<string name="sort_by">Rendezés:</string>
<string name="version_history">Verziótörténet</string>
<string name="credits">Köszönet</string>
<string name="help_translate_this_app">Segítsen lefordítani az appot</string>
<string name="license">Licensz</string>
<string name="source_repository">Forrás repó</string>
<string name="on_github">GitBub-on</string>
<string name="report_error">Hiba Jelentése</string>
<string name="help_translate_this_app">Segítsen lefordítani az alkalmazást</string>
<string name="license">Licenc</string>
<string name="source_repository">Forráskódtároló</string>
<string name="on_github">a GitHubon</string>
<string name="report_error">Hiba jelentése</string>
<string name="shortcutSelectCard">Válasszon egy kártyát</string>
<string name="options">Beállítások</string>
<string name="starred">Csillagozva</string>
<string name="set_scale">Méret választása</string>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> kártya</item>
<item quantity="other"><xliff:g>%d</xliff:g> kártyák</item>
<item quantity="other"><xliff:g>%d</xliff:g> kártya</item>
</plurals>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> pont</item>
<item quantity="other"><xliff:g>%s</xliff:g> pontok</item>
</plurals>
<string name="chooseImportType">Adat importálása innen</string>
<string name="chooseImportType">Adatok importálása innen</string>
<string name="thumbnailDescription">Előkép</string>
<string name="importOptionFilesystemExplanation">Válassza ki a kívánt fájlt a fájlrendszerből.</string>
<string name="importOptionApplicationButton">Másik app használata</string>
<string name="importOptionApplicationButton">Másik alkalmazás használata</string>
<string name="about">Névjegy</string>
<string name="app_copyright_old">Készült a Loyalty Card Keychain alapján
\nszerzői jog © 20162020 Branden Archer</string>
<string name="app_libraries">Gáttalan külsős mappák: <xliff:g id="app_libraries_list">%s</xliff:g></string>
\nCopyright © 20162020 Branden Archer</string>
<string name="app_libraries">Szabad külső programkönyvtárak: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="settings_dark_theme">Sötét</string>
<string name="deleteConfirmationGroup">Csoport törlése\?</string>
<string name="noGroups">Nyomja meg a + gombot a csoportok kategorizálásához.</string>
<string name="group_name_already_in_use">Csoport név már létezik</string>
<string name="all">Mind</string>
<string name="group_name_already_in_use">A csoportnév már létezik</string>
<string name="all">Összes</string>
<string name="noGroupCards">Ez a csoport üres</string>
<string name="group_updated">Csoport frissítve</string>
<string name="expiryStateSentenceExpired">Lejárt: <xliff:g>%s</xliff:g></string>
<string name="groupsList">Csoportok: <xliff:g>%s</xliff:g></string>
<string name="importCatimaMessage">Válassza ki a <i>catima.zip</i>-jét az importáláshoz.
\nLétrehozhatja az Import/Export menüből az Exportálást megnyomva egy másik Catima appban.</string>
<string name="privacy_policy_popup_text">Adatvédelmi szabály értesítő (némely app bolt kéri):
<string name="importCatimaMessage">Válassza ki az exportált <i>catima.zip</i> fájlt az importáláshoz.
\nLétrehozhatja az Importálás/exportálás menüből az Exportálást megnyomva egy másik Catima alkalmazásban.</string>
<string name="privacy_policy_popup_text">Adatvédelmi irányelvek nyilatkozata (némely alkalmazásbolt kéri):
\n
\nSEMMILYEN ADATGYŰJTÉS NINCS, amit bárki ellenőrizhet, lévén hogy az app gáttalan szoftver.</string>
<string name="importFidmeMessage">Válassza ki a <i>fidme-export-request-xxxxxx.zip</i> nevű FidMe exportot, majd importálja be és válassza a manuális vonalkód opciót utána.
\nEzt a FidMe-ben megtalálja a profiljában az Adat Védelem résznél ha rányom az Adataim Kivonata linkre.</string>
<string name="settings_card_orientation">Vonalkód tájolás</string>
\nSEMMILYEN ADAT NEM KERÜL GYŰJTÉSRE, amit bárki ellenőrizhet, hiszen az alkalmazás szabad szoftver.</string>
<string name="importFidmeMessage">Válassza ki a FidMeből exportált <i>fidme-export-request-xxxxxx.zip</i> fájl majd importálja be, és utána válassza a kézi vonalkódbeírást.
\nEzt hozza létre a FidMe-profiljában az Adatvédelem rész választásával, majd a Saját adatok kinyerése megnyomásával.</string>
<string name="settings_card_orientation">Vonalkód tájolása</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> kártya (<xliff:g id="archivedCount">%2$d</xliff:g> archiválva)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kártyák (<xliff:g id="archivedCount">%2$d</xliff:g> archiválva)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kártya (<xliff:g id="archivedCount">%2$d</xliff:g> archiválva)</item>
</plurals>
<string name="noUnarchivedCardsMessage">Nincs archiválatlan kártya</string>
<string name="failedToOpenUrl">Először telepíts egy webböngészőt</string>
<string name="failedLaunchingPhotoPicker">Nem található támogatott képnézegető app</string>
<string name="failedToOpenUrl">Először telepítsen egy webböngészőt</string>
<string name="failedLaunchingPhotoPicker">Nem található támogatott galéria alkalmazás</string>
<string name="previousCard">Előző</string>
<string name="nextCard">Következő</string>
<string name="settings_portrait_orientation">Álló</string>
<string name="settings_follow_system_orientation">Rendszer követése</string>
<string name="settings_lock_on_opening_orientation">A használt tájolás zárolása kártya használatakor</string>
<string name="settings_lock_on_opening_orientation">A használt tájolás zárolása a kártya megnyitásakor</string>
<string name="settings_landscape_orientation">Fekvő</string>
<string name="settings_oled_dark">Tiszta fekete háttér sötét témánál</string>
<string name="include_if_asking_support">Ha támogatást szeretnél igénybe venni, oszd meg az alábbi információkat:</string>
<string name="archive">Archivál</string>
<string name="settings_oled_dark">Teljesen fekete háttér a sötét témánál</string>
<string name="include_if_asking_support">Ha támogatás akar kérni, ossza meg az alábbi információkat:</string>
<string name="archive">Archiválás</string>
<string name="unarchive">Archiválás megszüntetése</string>
<string name="archived">Kártya archiválása</string>
<string name="archiveList">Archivál</string>
<string name="duplicateCard">Másolat</string>
<string name="archived">Kártya archiválva</string>
<string name="archiveList">Archívum</string>
<string name="duplicateCard">Klónozás</string>
<string name="currentBalanceSentence">Jelenlegi egyenleg: <xliff:g>%s</xliff:g></string>
<string name="updateBalanceHint">Adja meg az összeget</string>
<string name="importCards">Kártyák importálása</string>
<string name="updateBalanceTitle">Mennyit költöttél\?</string>
<string name="updateBalanceTitle">Mennyit költött\?</string>
<string name="newBalanceSentence">Új egyenleg: <xliff:g>%s</xliff:g></string>
<string name="cameraPermissionDeniedTitle">Nem sikerült hozzáférni a kamerához</string>
<string name="failedToRetrieveImageFile">Nem sikerült lekérni a képfájlt</string>
<string name="barcodeLongPressMessage">Csak képek nyithatók meg a galéria alkalmazásban</string>
<string name="unarchived">Archiválatlan kártya</string>
<string name="welcome">Üdvözöljük Catimában</string>
<string name="unarchived">Kártya archiválása megszüntetve</string>
<string name="welcome">Üdvözöljük a Catimában</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Archívum megtekintése (<xliff:g>%1$d</xliff:g> kártya)</item>
<item quantity="other">Archívum megtekintése (<xliff:g>%1$d</xliff:g> kártyák)</item>
<item quantity="other">Archívum megtekintése (<xliff:g>%1$d</xliff:g> kártya)</item>
</plurals>
<string name="updateBalance">Egyenleg frissítése</string>
<string name="noCameraPermissionDirectToSystemSetting">A vonalkódok beolvasásához a Catimának hozzá kell férnie a kamerához. Koppintson ide az engedélybeállítások módosításához.</string>
<string name="noCameraPermissionDirectToSystemSetting">A vonalkódok leolvasásához a Catimának hozzá kell férnie a kamerához. Koppintson ide az engedélybeállítások módosításához.</string>
<string name="validFromDate">Érvényesség kezdete</string>
<string name="anyDate">Bármely dátum</string>
<string name="chooseValidFromDate">Válassza ki az érvényesség kezdetét</string>
<string name="validFromSentence">Érvényesség kezdete: <xliff:g>%s</xliff:g></string>
<string name="storageReadPermissionRequired">A művelethez tárolóolvasási engedély szükséges…</string>
<string name="cameraPermissionRequired">A művelethez a kamera-hozzáférési engedély szükséges…</string>
<string name="height">Magasság:</string>
<string name="switchToFrontImage">Elölnézeti képre váltás</string>
<string name="switchToBackImage">Hátulnézeti képre váltás</string>
<string name="switchToBarcode">Vonalkódra váltás</string>
<string name="donate">Adományozás</string>
<string name="openBackImageInGalleryApp">Hátulnézeti kép megnyitása a galéria alkalmazásban</string>
<string name="openFrontImageInGalleryApp">Elölnézeti kép megnyitása a galéria alkalmazásban</string>
<string name="setBarcodeHeight">Vonalkód magasságának megadása</string>
<string name="icon_header_click_text">Hosszú nyomás az ikon szerkesztéséhez</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="app_revision_url">https://github.com/CatimaLoyalty/Android/releases</string>
<string name="storeName">Nama</string>
<string name="note">Keterangan</string>
<string name="delete">Hapus</string>
@@ -14,7 +13,6 @@
<string name="action_add">Tambah</string>
<string name="action_search">Cari</string>
<string name="sort_by_name">Nama</string>
<string name="sort_by_balance">Saldo</string>
<string name="sort_by">Sortir dengan</string>
<string name="sort">Urut</string>
<string name="credits">Kredit</string>
@@ -36,7 +34,6 @@
<string name="all">Semua</string>
<string name="leaveWithoutSaveTitle">Keluar</string>
<string name="card">Kartu</string>
<string name="barcode">barcode</string>
<string name="chooseExpiryDate">Pilih masa berlaku</string>
<string name="noBarcodeFound">Barcode tidak ditemukan</string>
<string name="errorReadingImage">Tidak dapat membaca gambar</string>
@@ -110,7 +107,6 @@
<string name="app_license">Perangkat lunak bebas copyleft, berlisensi GPLv3+</string>
<string name="about_title_fmt">Tentang <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versi: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Info Revisi: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_libraries">Pustaka pihak ketiga gratis: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Sumber daya pihak ketiga gratis: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="enterBarcodeInstructions">Masukkan ID, dan pilih jenis barcode di bawah ini, atau \"Tidak ada barcode\".</string>
@@ -119,7 +115,6 @@
<string name="starImage">Favorit</string>
<string name="settings_light_theme">Terang</string>
<string name="settings_dark_theme">Gelap</string>
<string name="settings_max_font_size_scale">Ukuran maksimal huruf</string>
<string name="settings_display_barcode_max_brightness">Terangkan tampilan barcode</string>
<string name="settings_keep_screen_on">Biarkan layar menyala</string>
<string name="settings_disable_lockscreen_while_viewing_card">Cegah kunci layar</string>
@@ -145,7 +140,6 @@
<string name="expiryDate">Tanggal masa berlaku</string>
<string name="never">Tidak pernah</string>
<string name="moveBarcodeToTopOfScreen">Pindah barcode ke bagian paling depan</string>
<string name="moveBarcodeToCenterOfScreen">Pusatkan barcode pada layar</string>
<string name="points">Poin</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> sepertinya bukan saldo yang valid.</string>
<string name="app_loyalty_card_keychain">Gantungan kunci kartu kesetiaan</string>
@@ -161,7 +155,7 @@
<string name="importLoyaltyCardKeychainMessage">Pilih ekspor <i>LoyaltyCardKeychain.csv</i> Anda dari Loyalty Card Keychain untuk diimpor.
\nBuat dari menu Import/Export di Loyalty Card Keychain dengan menekan Export terlebih dahulu.</string>
<string name="importStocard">Impor dari Stocard</string>
<string name="importStocardMessage">Pilih ekspor <i>***-sync.zip</i> Anda dari Stocard untuk diimpor.
<string name="importStocardMessage">Pilih ekspor <i>***.zip</i> Anda dari Stocard untuk diimpor.
\nDapatkan dengan mengirim email ke support@stocardapp.com untuk meminta ekspor data Anda.</string>
<string name="importVoucherVault">Impor dari Voucher Vault</string>
<string name="importVoucherVaultMessage">Pilih ekspor <i>vouchervault.json</i> Anda dari Vault Voucher untuk diimpor.
@@ -177,7 +171,6 @@
<string name="exportPassword">Tetapkan kata sandi untuk melindungi ekspor anda (opsional)</string>
<string name="failedGeneratingShareURL">Tidak dapat membuat alamat berbagi. Mohon laporkan ini.</string>
<string name="app_contributors">Pengembangan dibantu oleh: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="swipeToSwitchImages">Geser untuk beralih gambar, tahan untuk membuka gambar di aplikasi galeri</string>
<string name="reverse">…dalam urutan terbalik</string>
<string name="version_history">Riwayat Versi</string>
<string name="help_translate_this_app">Bantu terjemahkan aplikasi ini</string>
@@ -205,7 +198,7 @@
<string name="selectColor">Pilih warna</string>
<string name="noGiftCardsGroup">Buat beberapa kartu, kemudian masukkan mereka ke grup di sini.</string>
<string name="group_name_already_in_use">Nama grup telah dipakai</string>
<string name="setIcon">Atur ikon</string>
<string name="setIcon">Atur thumbnail</string>
<string name="settings_oled_dark">Latar belakang gelap gulita untuk tema gelap</string>
<string name="group_edit">Sunting Grup</string>
<string name="group_name_is_empty">Nama grup tidak boleh kosong</string>
@@ -233,9 +226,7 @@
<item quantity="other"><xliff:g>%s</xliff:g> poin</item>
</plurals>
<string name="showMoreInfo">Tampilkan informasi</string>
<string name="hideMoreInfo">Sembunyikan informasi</string>
<string name="shortcutSelectCard">Pilih kartu</string>
<string name="set_scale">Atur skala</string>
<string name="include_if_asking_support">Jika anda ingin meminta bantuan, sertakan informasi berikut:</string>
<string name="duplicateCard">Duplikat</string>
<string name="archive">Arsip</string>
@@ -259,8 +250,20 @@
<string name="cameraPermissionRequired">Berikan izin untuk mengakses kamera anda…</string>
<string name="storageReadPermissionRequired">Berikan izin untuk membaca penyimpanan anda…</string>
<string name="validFromDate">Valid dari</string>
<string name="validFromSentence">Valid dari:
\n<xliff:g>%s</xliff:g></string>
<string name="validFromSentence">Valid dari: <xliff:g>%s</xliff:g></string>
<string name="anyDate">Kapan pun</string>
<string name="chooseValidFromDate">Pilih valid dari tanggal</string>
<string name="height">Tinggi:</string>
<string name="switchToFrontImage">Ubah ke depan gambar</string>
<string name="switchToBackImage">Ubah ke belakang gambar</string>
<string name="switchToBarcode">Ubah ke kode batang</string>
<string name="openFrontImageInGalleryApp">Buka gambar didepan di galeri app</string>
<string name="openBackImageInGalleryApp">Buka gambar dibelakang di galeri app</string>
<string name="setBarcodeHeight">Atur tinggi kode batang</string>
<string name="donate">Donasi</string>
<string name="show_validity">Tunjukkan validitas</string>
<string name="show_balance">Tunjukkan keseimbangan</string>
<string name="icon_header_click_text">Tekan lama untuk mengedit thumbnail</string>
<string name="show_name_below_image_thumbnail">Tampilkan nama di bawah thumbnail gambar</string>
<string name="show_note">Tampilkan catatan</string>
</resources>

View File

@@ -40,12 +40,10 @@
<string name="never">Aldrei</string>
<string name="currency">Mynt</string>
<string name="moveBarcodeToTopOfScreen">Færa strikamerkið að efst á skjánum</string>
<string name="moveBarcodeToCenterOfScreen">Miðju strikamerkið á skjánum</string>
<string name="errorReadingImage">Gat ekki lesið ímynd</string>
<string name="importOptionApplicationButton">Notaðu annan app</string>
<string name="about">Um</string>
<string name="settings">Stillingar</string>
<string name="settings_max_font_size_scale">Max. letrið</string>
<string name="settings_keep_screen_on">Halda á skjánum</string>
<string name="settings_disable_lockscreen_while_viewing_card">Að koma í veg fyrir að læsa skjánum</string>
<string name="editBarcode">Breyta strikamerkið</string>
@@ -76,7 +74,6 @@
<string name="leaveWithoutSaveConfirmation">Fara án þess að bjarga\?</string>
<string name="addFromImage">Veldu mynd frá gallerí</string>
<string name="card">Kort</string>
<string name="barcode">Strikamerkið</string>
<string name="expiryDate">Fyrningu</string>
<string name="moveDown">Fara neðar</string>
<string name="chooseExpiryDate">Velja rennur</string>

View File

@@ -47,7 +47,6 @@
<string name="app_license">Software libero con copyleft, licenza GPLv3+</string>
<string name="about_title_fmt">Informazioni su <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versione: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informazioni sulla revisione: <xliff:g id="app_revision_url"> %s </xliff:g></string>
<string name="selectBarcodeTitle">Seleziona codice a barre</string>
<string name="enterBarcodeInstructions">Inserisci il codice e scegli un tipo di codice a barre sotto oppure seleziona «Non c\'è un codice a barre».</string>
<string name="copy_to_clipboard_toast">Codice copiato negli appunti</string>
@@ -91,13 +90,11 @@
<string name="points">Punti</string>
<string name="currency">Valuta</string>
<string name="balance">Saldo</string>
<string name="moveBarcodeToCenterOfScreen">Centra il codice a barre sullo schermo</string>
<string name="moveBarcodeToTopOfScreen">Sposta il codice a barre in cima allo schermo</string>
<string name="chooseExpiryDate">Scegli data di scadenza</string>
<string name="never">Mai</string>
<string name="expiryDate">Data di scadenza</string>
<string name="editBarcode">Modifica il codice a barre</string>
<string name="barcode">Codice a barre</string>
<string name="card">Carta</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Scaduta: <xliff:g>%s</xliff:g></string>
@@ -129,7 +126,6 @@
<string name="errorReadingImage">Impossibile leggere l\'immagine</string>
<string name="noBarcodeFound">Nessun codice a barre trovato</string>
<string name="addFromImage">Seleziona immagine dalla galleria</string>
<string name="settings_max_font_size_scale">Dimensione massima del carattere</string>
<string name="unsupportedBarcodeType">Questo tipo di codice a barre non può ancora essere visualizzato. Potrebbe essere supportato in una versione successiva dell\'applicazione.</string>
<string name="wrongValueForBarcodeType">Il valore non è valido per il tipo di codice a barre selezionato</string>
<string name="app_resources">Risorse libere di terze parti: <xliff:g id="app_resources_list"> %s </xliff:g></string>
@@ -150,7 +146,7 @@
<string name="backImageDescription">Immagine posteriore</string>
<string name="frontImageDescription">Immagine frontale</string>
<string name="passwordRequired">Si prega di inserire la password</string>
<string name="importStocardMessage">Seleziona il tuo file di esportazione <i>***-sync.zip</i> da Stocard per importarlo.
<string name="importStocardMessage">Seleziona il tuo file di esportazione <i>***.zip</i> da Stocard per importarlo.
\nOttienilo inviando un\'e-mail a support@stocardapp.com chiedendo un\'esportazione dei tuoi dati.</string>
<string name="importStocard">Importa da Stocard</string>
<string name="turn_flashlight_off">Spegni la torcia</string>
@@ -188,10 +184,8 @@
<string name="app_contributors">Reso possibile da: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Questo gruppo è vuoto</string>
<string name="barcodeImageDescriptionWithType">Immagine del codice a barre in formato <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Scorri per cambiare immagine, tieni premuto per aprire l\'immagine nella galleria</string>
<string name="sort_by">Ordina per</string>
<string name="reverse">…in ordine inverso</string>
<string name="sort_by_balance">Saldo</string>
<string name="sort_by_expiry">Scadenza</string>
<string name="sort_by_most_recently_used">Usate più recentemente</string>
<string name="sort_by_name">Nome</string>
@@ -222,9 +216,7 @@
<string name="shortcutSelectCard">Seleziona una tessera</string>
<string name="options">Opzioni</string>
<string name="starred">Nei preferiti</string>
<string name="set_scale">Imposta la scala</string>
<string name="showMoreInfo">Mostra info</string>
<string name="hideMoreInfo">Nascondi info</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> punto</item>
<item quantity="many"><xliff:g>%s</xliff:g> punti</item>
@@ -275,4 +267,13 @@
<string name="chooseValidFromDate">Scegli la data di validità</string>
<string name="validFromSentence">Valido da: <xliff:g>%s</xliff:g></string>
<string name="anyDate">Qualsiasi data</string>
<string name="height">Altezza:</string>
<string name="switchToFrontImage">Passa all\'immagine frontale</string>
<string name="switchToBackImage">Passa all\'immagine dietro</string>
<string name="switchToBarcode">Passa al codice a barre</string>
<string name="openFrontImageInGalleryApp">Apri l\'immagine frontale nell\'app Galleria</string>
<string name="donate">Dona</string>
<string name="openBackImageInGalleryApp">Apri l\'immagine posteriore nell\'app Galleria</string>
<string name="setBarcodeHeight">Imposta l\'altezza del codice a barre</string>
<string name="icon_header_click_text">Premi a lungo per modificare l\'icona</string>
</resources>

View File

@@ -25,13 +25,11 @@
<string name="balance">残高</string>
<string name="errorReadingImage">画像が読み込めませんでした</string>
<string name="noBarcodeFound">バーコードが見つかりませんでした</string>
<string name="moveBarcodeToCenterOfScreen">バーコードを画面の中央に配置</string>
<string name="moveBarcodeToTopOfScreen">バーコードを画面の上部に移動</string>
<string name="chooseExpiryDate">有効期限を選択</string>
<string name="never">なし</string>
<string name="expiryDate">有効期限</string>
<string name="editBarcode">バーコードの編集</string>
<string name="barcode">バーコード</string>
<string name="card">カード</string>
<string name="balanceSentence">残高: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">期限切れ: <xliff:g>%s</xliff:g></string>
@@ -58,7 +56,6 @@
<string name="settings_disable_lockscreen_while_viewing_card">バーコード表示中は画面をロックしない</string>
<string name="settings_keep_screen_on">バーコード表示中は画面を消灯しない</string>
<string name="settings_display_barcode_max_brightness">バーコード表示画面を明るくする</string>
<string name="settings_max_font_size_scale">最大のフォントサイズ</string>
<string name="settings_dark_theme">ダーク</string>
<string name="settings_light_theme">ライト</string>
<string name="settings_system_theme">システムに従う</string>
@@ -71,7 +68,6 @@
<string name="enterBarcodeInstructions">カード番号を入力し、バーコード形式を選択してください。</string>
<string name="selectBarcodeTitle">バーコード選択</string>
<string name="app_libraries">Libre third-party libraries: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_revision_fmt">Revision Info: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">About <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_license">Copylefted libre software, licensed GPLv3+</string>
@@ -151,7 +147,7 @@
<string name="photos">フォト</string>
<string name="backImageDescription"></string>
<string name="frontImageDescription"></string>
<string name="importStocardMessage">Stocardでエクスポートした<i>***-sync.zip</i>ファイルを選択してください。
<string name="importStocardMessage">Stocardでエクスポートした<i>***.zip</i>ファイルを選択してください。
\nファイルがない場合、e-mailing support@stocardapp.comにデータのエクスポートを要求してください。</string>
<string name="importStocard">Stocardからインポート</string>
<plurals name="selectedCardCount">
@@ -180,9 +176,7 @@
<string name="settings_system_locale">システムに従う</string>
<string name="settings_locale">言語</string>
<string name="noGroupCards">このグループにはカードがありません</string>
<string name="swipeToSwitchImages">画像を切り替えるには長押し、またはスワイプ</string>
<string name="sort_by">並び替え</string>
<string name="sort_by_balance">残高</string>
<string name="sort_by_expiry">期限</string>
<string name="sort_by_most_recently_used">最近使用したカード</string>
<string name="sort_by_name">名前</string>

View File

@@ -14,7 +14,6 @@
<string name="settings_category_title_ui">사용자 인터페이스</string>
<string name="settings">설정</string>
<string name="enterBarcodeInstructions">카드 ID를 입력하고 카드에서 사용하는 바코드 이미지를 선택하세요. 바코드를 사용하지 않는 경우 “이 카드는 바코드가 없음”을 선택하세요.</string>
<string name="app_revision_fmt">리비전 정보: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">바코드 선택</string>
<string name="about">정보</string>
<string name="exporting">내보내는 중…</string>
@@ -71,7 +70,6 @@
<string name="noStoreError">매장을 입력하지 않음</string>
<string name="starImage">즐겨찾기 별</string>
<string name="settings_display_barcode_max_brightness">바코드를 표시할 때 화면 밝기 높이기</string>
<string name="barcode">바코드</string>
<string name="deleteConfirmation">정말 이 카드를 삭제하시겠습니까\?</string>
<string name="deleteTitle">카드 삭제</string>
<plurals name="deleteCardsTitle">

View File

@@ -73,7 +73,6 @@
<string name="settings_dark_theme">Donkel</string>
<string name="settings_disable_lockscreen_while_viewing_card">Bildschierm spären verhënneren</string>
<string name="settings_light_theme">Liicht</string>
<string name="settings_max_font_size_scale">Max. Schrëftgréisst</string>
<string name="settings_keep_screen_on">Hale Si op Bildschierm</string>
<string name="importSuccessful">Kartendaten anere sproochen</string>
<string name="exportSuccessful">Exportierte Kartendaten</string>

View File

@@ -27,7 +27,6 @@
<string name="app_license">Copylefted laisvoji programinė įranga, licencijuota GPLv3+</string>
<string name="about_title_fmt">Apie <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versija: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Revizijos info: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Pasirinkite brūkšninį kodą</string>
<string name="copy_to_clipboard_toast">ID nukopijuota į iškarpinę</string>
<string name="card_ids_copied">Nukopijuoti ID</string>
@@ -49,7 +48,6 @@
<string name="importLoyaltyCardKeychain">Importuoti iš Loyalty Card Keychain</string>
<string name="app_loyalty_card_keychain">Lojalumo kortelės</string>
<string name="parsingBalanceFailed">Panašu, kad <xliff:g> %s </xliff:g> reikšmė nėra tinkama.</string>
<string name="moveBarcodeToCenterOfScreen">Centruoti brūkšninį kodą ekrane</string>
<string name="moveBarcodeToTopOfScreen">Perkelti brūkšninį kodą į ekrano viršų</string>
<string name="settings_display_barcode_max_brightness">Šviesinti brūkšninio kodo rodinį</string>
<string name="failedParsingImportUriError">Nepavyko iššifruoti importo URI</string>
@@ -75,7 +73,7 @@
<string name="setBarcodeId">Nustatyti brūkšninio kodo reikšmę</string>
<string name="sameAsCardId">Tokia pat kaip ID</string>
<string name="barcodeId">Brūkšninio kodo reikšmė</string>
<string name="importStocardMessage">Pasirinkite <i>***-sync.zip</i> eksportą iš Stocard, kad galėtumėte importuoti.
<string name="importStocardMessage">Pasirinkite <i>***.zip</i> eksportą iš Stocard, kad galėtumėte importuoti.
\nGaukite susisiekę el. paštu support@stocardapp.com, prašydami eksportuoti jūsų duomenis.</string>
<string name="importStocard">Importuoti iš Stocard</string>
<string name="importFidmeMessage">Pasirinkite <i>fidme-export-request-xxxxxx.zip</i> eksportą iš FidMe, kurį norite importuoti, ir po to brūkšninių kodų tipus pasirinkite rankiniu būdu.
@@ -99,7 +97,6 @@
<string name="never">Niekada</string>
<string name="expiryDate">Galiojimo data</string>
<string name="editBarcode">Redaguoti brūkšninį kodą</string>
<string name="barcode">Brūkšninis kodas</string>
<string name="card">Kortelė</string>
<string name="balanceSentence">Balansas: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Galiojimas baigėsi: <xliff:g>%s</xliff:g></string>
@@ -127,7 +124,6 @@
<string name="intent_import_card_from_url_share_text">Noriu pasidalyti su jumis kortele</string>
<string name="settings_disable_lockscreen_while_viewing_card">Neleisti užrakinti ekrano</string>
<string name="settings_keep_screen_on">Laikyti ekraną įjungtą</string>
<string name="settings_max_font_size_scale">Didžiausias šrifto dydis</string>
<string name="settings_dark_theme">Tamsi</string>
<string name="settings_light_theme">Šviesi</string>
<string name="settings_system_theme">Sistemos</string>
@@ -188,10 +184,8 @@
<string name="app_contributors">Tapo įmanoma su pagalba: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Grupėje yra tuščia</string>
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> brūkšninio kodo vaizdas</string>
<string name="swipeToSwitchImages">Braukite, kad perjungtumėte vaizdus, palaikykite, kad atvertumėte vaizdą galerijos programėlėje</string>
<string name="sort_by">Rikiuoti pagal</string>
<string name="reverse">…atvirkštine tvarka</string>
<string name="sort_by_balance">Balansas</string>
<string name="sort_by_expiry">Galiojimo pabaiga</string>
<string name="sort_by_most_recently_used">Vėliausiai naudota</string>
<string name="sort_by_name">Pavadinimas</string>
@@ -234,8 +228,6 @@
<item quantity="few"><xliff:g>%1$d</xliff:g> kortelės ( archyvuotos)<xliff:g id="archivedCount">%2$d</xliff:g></item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kortelių ( archyvuotų)<xliff:g id="archivedCount">%2$d</xliff:g></item>
</plurals>
<string name="set_scale">Nustatyti mastelį</string>
<string name="hideMoreInfo">Slėpti informaciją</string>
<string name="updateBalance">Atnaujinti balansą</string>
<string name="failedToRetrieveImageFile">Nepavyko gauti vaizdo failo</string>
<string name="barcodeLongPressMessage">Galerijos programėlėje galima atidaryti tik vaizdus</string>
@@ -271,4 +263,16 @@
<string name="importCards">Importuoti korteles</string>
<string name="storageReadPermissionRequired">Šio veiksmo atlikimui reikalinga prieiga prie saugyklos…</string>
<string name="cameraPermissionRequired">Šio veiksmo atlikimui reikalinga prieiga prie kameros…</string>
<string name="openBackImageInGalleryApp">Atidarykite galinį vaizdą galerijos programėlėje</string>
<string name="setBarcodeHeight">Nustatyti brūkšninio kodo aukštį</string>
<string name="validFromDate">Galioja nuo</string>
<string name="anyDate">Bet kuri data</string>
<string name="chooseValidFromDate">Pasirinkite datą, galiojančią nuo</string>
<string name="validFromSentence">Galioja nuo: <xliff:g>%s</xliff:g></string>
<string name="switchToBackImage">Perjungti į galinį vaizdą</string>
<string name="switchToBarcode">Perjungti į brūkšninį kodą</string>
<string name="height">Aukštis:</string>
<string name="switchToFrontImage">Perjungti į priekinį vaizdą</string>
<string name="openFrontImageInGalleryApp">Atidarykite priekinį vaizdą galerijos programėlėje</string>
<string name="donate">Aukoti</string>
</resources>

View File

@@ -2,7 +2,7 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="action_search">Meklēt</string>
<string name="action_add">Pievienot</string>
<string name="noGiftCards">Noklikšķiniet uz pogas + plus, lai pievienotu karti, vai vispirms importējiet dažus no ⋮ izvēlnes.</string>
<string name="noGiftCards">Noklikšķiniet uz pogas + plus, lai pievienotu karti, vai vispirms importējiet no ⋮ izvēlnes.</string>
<string name="noMatchingGiftCards">Nav rezultātu. Mēģiniet mainīt meklējamo tekstu.</string>
<string name="storeName">Nosaukums</string>
<string name="note">Piezīme</string>
@@ -16,7 +16,6 @@
<string name="edit">Rediģēt</string>
<string name="delete">Dzēst</string>
<string name="moveBarcodeToTopOfScreen">Pārvietojiet svītrkodu uz ekrāna augšdaļu</string>
<string name="moveBarcodeToCenterOfScreen">Centrējiet svītrkodu uz ekrāna</string>
<string name="errorReadingImage">Nevarēja nolasīt attēlu</string>
<string name="balance">Bilance</string>
<string name="noBarcodeFound">Svītrkods netika atrasts</string>
@@ -67,7 +66,6 @@
<string name="settings_system_theme">Sistēmas</string>
<string name="settings_light_theme">Gaiša</string>
<string name="settings_dark_theme">Tumša</string>
<string name="settings_max_font_size_scale">Maksimālais burtu lielums</string>
<string name="settings_display_barcode_max_brightness">Izgaismot svītrkoda skatu</string>
<string name="settings_keep_screen_on">Turēt ekrānu ieslēgtu</string>
<string name="settings_disable_lockscreen_while_viewing_card">Neļaut ekrānam aizslēgties</string>
@@ -85,7 +83,6 @@
<string name="leaveWithoutSaveConfirmation">Iziet nesaglabājot\?</string>
<string name="addFromImage">Izvēlēties attēlu no galerijas</string>
<string name="card">Karte</string>
<string name="barcode">Svītrkods</string>
<string name="expiryDate">Derīguma termiņš</string>
<string name="never">Nekad</string>
<string name="chooseExpiryDate">Izvēlieties derīguma termiņu</string>
@@ -95,7 +92,6 @@
<string name="reverse">...apgrieztā secībā</string>
<string name="credits">Pateicības</string>
<string name="shortcutSelectCard">Izvēlieties karti</string>
<string name="set_scale">Iestatiet mērogu</string>
<string name="duplicateCard">Dublēt</string>
<string name="archive">Arhivēt</string>
<string name="translate_platform">vietnē Weblate</string>
@@ -109,7 +105,6 @@
</plurals>
<string name="noCardIdError">Numurs nav ievadīts</string>
<string name="about_title_fmt">Par <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_revision_fmt">Versijas pārskats: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Derīguma termiņš beidzās: <xliff:g>%s</xliff:g></string>
<string name="action_hide_details">Slēpt detaļas</string>
<string name="action_show_details">Rādīt detalizēti</string>
@@ -143,7 +138,6 @@
<string name="failedGeneratingShareURL">Nevarēja izveidot koplietojamu URL. Lūdzu, ziņojiet par šo kļūdu.</string>
<string name="turn_flashlight_off">Izslēgt zibspuldzi</string>
<string name="app_contributors">To padarīja iespējamu: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort_by_balance">Bilance</string>
<string name="version_history">Versiju vēsture</string>
<string name="sort_by">Kārtot pēc</string>
<string name="help_translate_this_app">Palīdziet tulkot šo lietotni</string>
@@ -204,7 +198,7 @@
\nFailu var izveidot Jūsu FidMe profilā, ejot uz \"Data Protection\" un spiežot \"Extract my data\".</string>
<string name="importLoyaltyCardKeychain">Importēt no Loyalty Card Keychain</string>
<string name="importStocard">Importēt no Stocard</string>
<string name="importStocardMessage">Importam izvēlieties Jūsu <i>***-sync.zip</i> eksporta failu no Stocard.
<string name="importStocardMessage">Importam izvēlieties Jūsu <i>***.zip</i> eksporta failu no Stocard.
\nFailu var iegūt sūtot e-pastu uz support@stocardapp.com ar pieprasījumu eksportēt Jūsu datus.</string>
<string name="importVoucherVault">Importēt no Voucher Vault</string>
<string name="importVoucherVaultMessage">Importam izvēlieties Jūsu <i>vouchervault.json</i> failu no Voucher Vault.
@@ -233,8 +227,6 @@
<string name="settings_grey_theme">Pelēka</string>
<string name="sort">Kārtot</string>
<string name="showMoreInfo">Rādīt informāciju</string>
<string name="hideMoreInfo">Slēpt informāciju</string>
<string name="swipeToSwitchImages">Velciet, lai pārslēgtu attēlus; spiediet un turiet lai atvērtu attēlu galerijas lietotnē</string>
<string name="sort_by_most_recently_used">Nesen lietotās</string>
<string name="unarchive">Atarhivēt</string>
<string name="archived">Karte arhivēta</string>
@@ -256,4 +248,14 @@
</plurals>
<string name="failedToOpenUrl">Vispirms nepieciešams uzstādīt interneta pārlūku</string>
<string name="welcome">Laipni lūgti Catima</string>
</resources>
<string name="cameraPermissionRequired">Ir nepieciešama pieeja kamerai lai veiktu šo darbību</string>
<string name="noCameraPermissionDirectToSystemSetting">Lai skanētu svītrkods, Catima ir nepieciešama pieeja jūsu kamerai. Nospied šeit lai nomainītu atļaujas iestatījumus.</string>
<string name="cameraPermissionDeniedTitle">Nevar pievienieties kamerai</string>
<string name="updateBalance">Atjaunināta bilance</string>
<string name="updateBalanceTitle">Cik daudz Tu iztērēji\?</string>
<string name="updateBalanceHint">Ievadi summu</string>
<string name="currentBalanceSentence">Šābrīža bilance: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">Jauna bilance: <xliff:g>%s</xliff:g></string>
<string name="storageReadPermissionRequired">Atļauja lasīt noliktavu ir nepieciešama šai darbībai…</string>
<string name="importCards">Importēt kartes</string>
</resources>

View File

@@ -44,7 +44,6 @@
<string name="app_license">Gemenhetslig fri programvare, lisensiert GPLv3+</string>
<string name="about_title_fmt">Om <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versjon: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Utgivelsesinfo: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Velg strekkode</string>
<string name="enterBarcodeInstructions">Skriv inn kortets ID, og enten velg strekkodetypen nedenfor, eller «Det er ingen strekkode».</string>
<string name="copy_to_clipboard_toast">ID kopiert til utklippstavle</string>
@@ -87,14 +86,12 @@
</plurals>
<string name="groupsList">Grupper: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Rediger strekkode</string>
<string name="barcode">Strekkode</string>
<string name="card">Kort</string>
<string name="expiryStateSentence">Utløper: <xliff:g>%s</xliff:g></string>
<string name="chooseExpiryDate">Velg utløpsdato</string>
<string name="never">Aldri</string>
<string name="expiryDate">Utløpsdato</string>
<string name="expiryStateSentenceExpired">Utløpt: <xliff:g>%s</xliff:g></string>
<string name="moveBarcodeToCenterOfScreen">Sentrer strekkoden på skjermen</string>
<string name="moveBarcodeToTopOfScreen">Flytt strekkoden til toppen av skjermen</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> ser ikke ut til å være en gyldig saldo.</string>
<string name="points">Poeng</string>
@@ -127,7 +124,6 @@
<string name="importLoyaltyCardKeychain">Importer fra Kundekortknippe</string>
<string name="importFidmeMessage">Velg din <i>fidme.export-request-xxxxx.zip</i>-eksport fra FidMe å importere, for så å velge strekkodetypene manuelt etterpå-
\nOpprett den i din FidMe-profil ved å velge «Databeskyttelse», for så å trykke «Pakk ut dataen min» først.</string>
<string name="settings_max_font_size_scale">Maks. skriftstørrelse</string>
<string name="wrongValueForBarcodeType">Verdien er ikke gyldig for valgt strekkodetype</string>
<string name="intent_import_card_from_url_share_multiple_text">Jeg vil dele noen kort med deg</string>
<string name="copy_to_clipboard_multiple_toast">ID-er ble kopiert til utklippstavle</string>
@@ -146,7 +142,7 @@
<string name="photos">Bilder</string>
<string name="backImageDescription">Baksidebilde</string>
<string name="frontImageDescription">Forsidebilde</string>
<string name="importStocardMessage">Velg din <i>***-sync.zip</i>-eksport fra Stocard å importere.
<string name="importStocardMessage">Velg din <i>***.zip</i>-eksport fra Stocard å importere.
\nSkaff den ved å sende e-post til support@stocardapp.com der du etterspør eksport av dataen din.</string>
<string name="passwordRequired">Skriv inn passordet</string>
<string name="importStocard">Importer fra Stocard</string>
@@ -182,10 +178,8 @@
<string name="settings_theme_color">Draktfarge</string>
<string name="noGroupCards">Denne gruppen er tom</string>
<string name="barcodeImageDescriptionWithType">Bilde av <xliff:g>%s</xliff:g>-strekkode</string>
<string name="swipeToSwitchImages">Dra for å bytte bilder, hold for å åpne et bilde i galleriet.</string>
<string name="sort_by">Sortering</string>
<string name="reverse">…i omvendt rekkefølge</string>
<string name="sort_by_balance">Saldo</string>
<string name="sort_by_expiry">Utløp</string>
<string name="sort_by_most_recently_used">Nyligst brukt</string>
<string name="sort_by_name">Navn</string>
@@ -218,9 +212,7 @@
<string name="translate_platform">på Weblate</string>
<string name="options">Alternativer</string>
<string name="starred">Stjernemerket</string>
<string name="set_scale">Sett skalering</string>
<string name="showMoreInfo">Vis info</string>
<string name="hideMoreInfo">Skjul info</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> poeng</item>
<item quantity="other"><xliff:g>%s</xliff:g> poeng</item>

View File

@@ -27,10 +27,18 @@
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_primaryInverse</item>
<item name="materialAlertDialogTheme">@style/ThemeOverlay.App.MaterialAlertDialog.Monet</item>
<item name="alertDialogTheme">@style/ThemeOverlay.App.MaterialAlertDialog.Monet</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="ThemeOverlay.App.MaterialAlertDialog.Monet" parent="ThemeOverlay.Material3.MaterialAlertDialog">
<item name="alertDialogStyle">@style/MaterialAlertDialog.Material3</item>
<item name="dialogCornerRadius">28dp</item>
<item name="android:background">@drawable/dialog_bg_monet</item>
</style>
<!-- note that this is not used directly, these are used to patch the active theme runtime with
theme.applyStyle
-->

View File

@@ -29,7 +29,7 @@
<string name="failedParsingImportUriError">Kan de import-uri niet verwerken</string>
<string name="importExport">Importeren/Exporteren</string>
<string name="exportName">Exporteren</string>
<string name="importExportHelp">Door je gegevens te back-uppen, kun je ze overzetten naar een ander apparaat.</string>
<string name="importExportHelp">Met een reservekopie van je gegevens kun je ze overzetten naar een ander apparaat.</string>
<string name="importSuccessfulTitle">Importeren voltooid</string>
<string name="importFailedTitle">Importeren mislukt</string>
<string name="importFailed">Het importeren is mislukt</string>
@@ -49,7 +49,6 @@
<string name="app_license">Vrije software, uitgebracht onder de GPLv3+-licentie</string>
<string name="about_title_fmt">Over <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versie: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Versie-informatie: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Barcode toevoegen</string>
<string name="enterBarcodeInstructions">Voer de kaart-id in en kies daarna het soort barcode of druk op “Deze kaart heeft geen barcode”.</string>
<string name="copy_to_clipboard_toast">De kaart-id is gekopieerd naar het klembord</string>
@@ -87,14 +86,12 @@
</plurals>
<string name="groupsList">Groepen: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Barcode aanpassen</string>
<string name="barcode">Barcode</string>
<string name="card">Kaart</string>
<string name="chooseExpiryDate">Kies een vervaldatum</string>
<string name="never">Nooit</string>
<string name="expiryDate">Vervaldatum</string>
<string name="expiryStateSentence">Vervalt op <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Verlopen: <xliff:g>%s</xliff:g></string>
<string name="moveBarcodeToCenterOfScreen">Barcode verplaatsen naar midden van scherm</string>
<string name="moveBarcodeToTopOfScreen">Barcode verplaatsen naar bovenkant van scherm</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> lijkt geen geldig saldo te zijn.</string>
<string name="points">Aantal punten</string>
@@ -128,7 +125,6 @@
<string name="setBarcodeId">Barcodewaarde instellen</string>
<string name="sameAsCardId">Gelijk aan kaart-id</string>
<string name="barcodeId">Barcodewaarde</string>
<string name="settings_max_font_size_scale">Max. tekstgrootte</string>
<string name="unsupportedBarcodeType">Dit type barcode kan nog niet worden getoond - we hopen hiervoor in een nieuwere versie ondersteuning toe te voegen.</string>
<string name="wrongValueForBarcodeType">Deze waarde komt niet overeen met het gekozen barcodetype</string>
<string name="app_resources">Vrije externe bronnen: <xliff:g id="app_resources_list">%s</xliff:g></string>
@@ -149,7 +145,7 @@
<string name="backImageDescription">Achterzijde van kaart</string>
<string name="frontImageDescription">Voorzijde van kaart</string>
<string name="passwordRequired">Voer het wachtwoord in</string>
<string name="importStocardMessage">Kies het te importeren Stocard-exportbestand genaamd <i>***-sync.zip</i>.
<string name="importStocardMessage">Kies het te importeren Stocard-exportbestand genaamd <i>***.zip</i>.
\nStuur een e-mail naar support@stocardapp.com waarin je vraagt om een exportbestand.</string>
<string name="importStocard">Importeren uit Stocard</string>
<string name="failedGeneratingShareURL">De te delen link kan niet worden gegenereerd. Meld deze fout.</string>
@@ -184,10 +180,8 @@
<string name="app_contributors">Mede mogelijk gemaakt door: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Deze groep bevat geen kaarten</string>
<string name="barcodeImageDescriptionWithType">Afbeelding van barcode <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Veeg om te bladeren; houd lang ingedrukt om te openen in de galerij-app</string>
<string name="sort_by">Sorteren op</string>
<string name="reverse">…in omgekeerde volgorde</string>
<string name="sort_by_balance">Op saldo</string>
<string name="sort_by_expiry">Op vervaldatum</string>
<string name="sort_by_most_recently_used">Op onlangs gebruikt</string>
<string name="sort_by_name">Op naam</string>
@@ -210,7 +204,7 @@
<string name="editGroup">Groep bewerken: <xliff:g>%s</xliff:g></string>
<string name="noGiftCardsGroup">Voeg kaarten toe om ze hier te kunnen groeperen.</string>
<string name="group_edit">Groep bewerken</string>
<string name="setIcon">Kies een pictogram</string>
<string name="setIcon">Miniatuur instellen</string>
<string name="selectColor">Kies een kleur</string>
<string name="action_show_details">Details tonen</string>
<string name="action_hide_details">Details verbergen</string>
@@ -219,8 +213,6 @@
<string name="options">Opties</string>
<string name="showMoreInfo">Informatie tonen</string>
<string name="starred">Favoriet</string>
<string name="hideMoreInfo">Informatie verbergen</string>
<string name="set_scale">Schaal instellen</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> punt</item>
<item quantity="other"><xliff:g>%s</xliff:g> punten</item>
@@ -268,4 +260,17 @@
<string name="validFromDate">Geldig vanaf</string>
<string name="validFromSentence">Geldig vanaf: <xliff:g>%s</xliff:g></string>
<string name="chooseValidFromDate">Kies een geldige vanaf-datum</string>
<string name="setBarcodeHeight">Barcodehoogte instellen</string>
<string name="height">Hoogte:</string>
<string name="switchToFrontImage">Voorzijde tonen</string>
<string name="switchToBackImage">Achterzijde tonen</string>
<string name="switchToBarcode">Barcode tonen</string>
<string name="openFrontImageInGalleryApp">Voorzijde openen in galerij-app</string>
<string name="openBackImageInGalleryApp">Achterzijde openen in galerij-app</string>
<string name="donate">Doneren</string>
<string name="icon_header_click_text">Houd lang ingedrukt om miniatuur te bewerken</string>
<string name="show_balance">Saldo tonen</string>
<string name="show_name_below_image_thumbnail">Naam onder miniatuur tonen</string>
<string name="show_note">Aantekening tonen</string>
<string name="show_validity">Geldigheid tonen</string>
</resources>

View File

@@ -51,7 +51,7 @@
<string name="settings">Paramètres</string>
<string name="settings_category_title_ui">Interfàcia utilizaire</string>
<string name="settings_theme">Tèma</string>
<string name="noGiftCards">Clicatz lo boton + per apondre una carta o utilizatz lo menú ⋮ per nimportar una.</string>
<string name="noGiftCards">Clicatz lo boton + per apondre una carta o nimportar una menú ⋮</string>
<string name="noMatchingGiftCards">Cap de resultat. Ensajatz de modificar vòstra recèrca.</string>
<string name="settings_light_theme">Clar</string>
<string name="settings_dark_theme">Escur</string>
@@ -63,7 +63,7 @@
<string name="addFromImage">Causir a la galariá</string>
<string name="groups">Grops</string>
<string name="groupsList">Grops: <xliff:g>%s</xliff:g></string>
<string name="settings_max_font_size_scale">Talha max. de la poliça</string>
<string name="settings_theme_color">Color del tèma</string>
<string name="settings_locale">Lenga</string>
<string name="noGiftCardsGroup">Creatz de cartas puèi ligatz-las al grop aicí.</string>
</resources>

View File

@@ -47,7 +47,6 @@
<string name="app_license">Wolne oprogramowanie typu copyleft, na licencji GPLv3+</string>
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Wersja: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informacje o wydaniu: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Wybierz kod kreskowy</string>
<string name="enterBarcodeInstructions">Wprowadź ID, a następnie wybierz typ kodu kreskowego, którego chcesz użyć lub wybierz „Bez kodu kreskowego”.</string>
<string name="copy_to_clipboard_toast">Skopiowano ID do schowka</string>
@@ -115,7 +114,7 @@
<string name="importVoucherVaultMessage">Wybierz swój <i>vouchervault.json</i> z Voucher Vault, aby zaimportować.
\nUtwórz go wpierw klikając Eksportuj w Voucher Vault.</string>
<string name="importVoucherVault">Importuj z Voucher Vault</string>
<string name="importStocardMessage">Wybierz swój <i>***-sync.zip</i> z Stocard, aby zaimportować.
<string name="importStocardMessage">Wybierz swój <i>***.zip</i> z Stocard, aby zaimportować.
\nUzyskaj go, wysyłając email na adres support@stocardapp.com, z prośbą o eksport Twoich danych.</string>
<string name="importStocard">Importuj z Stocard</string>
<string name="importLoyaltyCardKeychainMessage">Wybierz swój <i>LoyaltyCardKeychain.csv</i> z Loyalty Card Keychain, aby zaimportować.
@@ -140,13 +139,11 @@
<string name="balance">Saldo</string>
<string name="errorReadingImage">Nie udało się odczytać zdjęcia</string>
<string name="noBarcodeFound">Nie znaleziono kodu kreskowego</string>
<string name="moveBarcodeToCenterOfScreen">Wyśrodkuj kod kreskowy na ekranie</string>
<string name="moveBarcodeToTopOfScreen">Przenieś kod kreskowy na górę ekranu</string>
<string name="chooseExpiryDate">Wybierz datę wygaśnięcia</string>
<string name="never">Nigdy</string>
<string name="expiryDate">Data wygaśnięcia</string>
<string name="editBarcode">Edytuj kod kreskowy</string>
<string name="barcode">Kod kreskowy</string>
<string name="card">Karta</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Wygasło: <xliff:g>%s</xliff:g></string>
@@ -168,7 +165,6 @@
<string name="noGroupCards">Ta grupa jest pusta</string>
<string name="settings_disable_lockscreen_while_viewing_card">Zapobiegaj wyłączeniu ekranu</string>
<string name="settings_keep_screen_on">Nie wygaszaj ekranu</string>
<string name="settings_max_font_size_scale">Maks. rozmiar czcionki</string>
<string name="app_resources">Otwarte zewnętrzne zasoby: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Otwarte zewnętrzne biblioteki: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Wszelkie prawa zastrzeżone © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
@@ -195,21 +191,19 @@
<string name="action_show_details">Pokaż szczegóły</string>
<string name="action_hide_details">Ukryj szczegóły</string>
<string name="sort_by_name">Nazwa</string>
<string name="sort_by_most_recently_used">Ostatnio użyte</string>
<string name="sort_by_most_recently_used">Ostatnio używane</string>
<string name="sort_by_expiry">Data wygaśnięcia</string>
<string name="sort_by_balance">Balans</string>
<string name="sort_by">Sortuj według</string>
<string name="credits">Podziękowania</string>
<string name="help_translate_this_app">Pomóż przetłumaczyć tą aplikację</string>
<string name="help_translate_this_app">Pomóż przetłumaczyć tę aplikację</string>
<string name="source_repository">Repozytorium Źródłowe</string>
<string name="report_error">Zgłoś Błąd</string>
<string name="setIcon">Ustaw ikonę</string>
<string name="setIcon">Ustaw miniaturę</string>
<string name="on_github">na GitHub\'ie</string>
<string name="swipeToSwitchImages">Przeciągnij aby zmienić obraz, przytrzymaj aby otworzyć obraz w galerii</string>
<string name="selectColor">Wybierz kolor</string>
<string name="version_history">Historia Wersji</string>
<string name="version_history">Historia wersji</string>
<string name="and_data_usage">i wykorzystanie danych</string>
<string name="rate_this_app">Oceń tą aplikację</string>
<string name="rate_this_app">Oceń tę aplikację</string>
<string name="license">Licencja</string>
<string name="on_google_play">w Google Play</string>
<string name="noGiftCardsGroup">Stwórz karty i przypisz je do grup w tym miejscu.</string>
@@ -234,22 +228,20 @@
</plurals>
<string name="include_if_asking_support">Jeśli chcesz poprosić o pomoc, podaj następujące informacje:</string>
<string name="settings_oled_dark">Całkowicie czarne tło dla ciemnego motywu</string>
<string name="hideMoreInfo">Ukryj informacje</string>
<string name="settings_card_orientation">Orientacja kodu kreskowego</string>
<string name="settings_follow_system_orientation">Śledź orientację systemową</string>
<string name="set_scale">Ustaw skalę</string>
<string name="duplicateCard">Duplikuj</string>
<string name="starred">Oznaczone gwiazdką</string>
<string name="settings_landscape_orientation">Poziomowy</string>
<string name="settings_lock_on_opening_orientation">Blokuj do ustawionej orientacji przy otwieraniu karty</string>
<string name="settings_portrait_orientation">Portretowy</string>
<string name="archive">Archiwizować</string>
<string name="unarchive">Odarchiwizować</string>
<string name="archived">Karta archiwizowana</string>
<string name="unarchived">Karta odarchiwizowana</string>
<string name="archive">Archiwum</string>
<string name="unarchive">Cofnij archiwizację</string>
<string name="archived">Karta zarchiwizowana</string>
<string name="unarchived">Karta niezarchiwizowana</string>
<string name="archiveList">Archiwum</string>
<string name="noUnarchivedCardsMessage">Nie istnieją żadne niezarchiwizowane karty</string>
<string name="failedLaunchingPhotoPicker">Nie można odnaleźć aplikacji galerii</string>
<string name="failedLaunchingPhotoPicker">Nie można odnaleźć aplikacji galeria</string>
<string name="previousCard">Poprzedni</string>
<string name="nextCard">Następny</string>
<plurals name="groupCardCountWithArchived">
@@ -282,4 +274,13 @@
<string name="chooseValidFromDate">Wybierz datę rozpoczęcia ważności</string>
<string name="anyDate">Dowolna data</string>
<string name="validFromSentence">Ważny od: <xliff:g>%s</xliff:g></string>
<string name="height">Wysokość:</string>
<string name="switchToFrontImage">Przełącz na obraz z przodu</string>
<string name="switchToBackImage">Przełącz na obraz z tyłu</string>
<string name="switchToBarcode">Przełącz na kod kreskowy</string>
<string name="openFrontImageInGalleryApp">Otwórz obraz z przodu w aplikacji galeria</string>
<string name="setBarcodeHeight">Ustaw wysokość kodu kreskowego</string>
<string name="donate">Darowizna</string>
<string name="openBackImageInGalleryApp">Otwórz obraz z powrotem w aplikacji galerii</string>
<string name="icon_header_click_text">Przytrzymaj, aby edytować miniaturę</string>
</resources>

View File

@@ -62,7 +62,6 @@
<string name="settings_system_theme">Sistema</string>
<string name="settings_light_theme">Claro</string>
<string name="settings_dark_theme">Escuro</string>
<string name="settings_max_font_size_scale">Tamanho máximo da fonte</string>
<string name="selectBarcodeTitle">Selecionar código de barras</string>
<string name="enterBarcodeInstructions">Introduza o identificador e depois escolha o tipo de código de barras abaixo ou \"Sem código de barras\".</string>
<string name="copy_to_clipboard_toast">Identificador copiado para a área de transferência</string>
@@ -83,7 +82,6 @@
<string name="exporting">A exportar…</string>
<string name="settings_sky_blue_theme">Azul céu</string>
<string name="report_error">Reportar erro</string>
<string name="barcode">Código de barras</string>
<string name="chooseImportType">Importar dados de</string>
<string name="card">Cartão</string>
<string name="expiryStateSentence">Expiram: <xliff:g>%s</xliff:g></string>
@@ -97,7 +95,7 @@
<string name="sameAsCardId">Igual ao identificador</string>
<string name="importFidmeMessage">Selecione a exportação <i>fidme-export-request-xxxxxx.zip</i> do FidMe para importar e depois selecione os tipos de código de barras manualmente.
\nPrimeiro crie a exportação no seu perfil do FidMe escolhendo a opção \"Proteção de dados\" e em seguida pressionando \"Extrair os meus dados\".</string>
<string name="importStocardMessage">Selecione a exportação <i>***-sync.zip</i> do Stocard para importar.
<string name="importStocardMessage">Selecione a exportação <i>***.zip</i> do Stocard para importar.
\nObtenha-o através do e-mail support@stocardapp.com solicitando uma exportação dos seus dados.</string>
<string name="barcodeId">Valor do código de barras</string>
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
@@ -124,7 +122,6 @@
\ndireitos de autor © 20162020 Branden Archer</string>
<string name="about_title_fmt">Sobre o <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versão: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informação da revisão: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expirados: <xliff:g>%s</xliff:g></string>
<string name="leaveWithoutSaveConfirmation">Sair sem guardar\?</string>
<string name="addManually">Introduzir manualmente o identificador</string>
@@ -136,7 +133,6 @@
<string name="never">Nunca</string>
<string name="chooseExpiryDate">Escolher validade</string>
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo do ecrã</string>
<string name="moveBarcodeToCenterOfScreen">Centrar o código de barras no ecrã</string>
<string name="noBarcodeFound">Não foi encontrado nenhum código de barras</string>
<string name="errorReadingImage">Não foi possível ler a imagem</string>
<string name="balance">Saldo</string>
@@ -177,11 +173,9 @@
<string name="settings_blue_theme">Azul</string>
<string name="app_contributors">Tornado possível por: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Ordenar</string>
<string name="swipeToSwitchImages">Deslize para mudar as imagens, toque prolongadamente para abrir na aplicação da galeria</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
<string name="sort_by_expiry">Validade</string>
<string name="sort_by_balance">Saldo</string>
<string name="reverse">…na ordem inversa</string>
<string name="sort_by">Ordenar por</string>
<string name="version_history">Histórico de versões</string>
@@ -221,9 +215,7 @@
<string name="shortcutSelectCard">Selecione um cartão</string>
<string name="translate_platform">no Weblate</string>
<string name="starred">Estrela</string>
<string name="set_scale">Escala de set</string>
<string name="showMoreInfo">Mostrar info</string>
<string name="hideMoreInfo">Ocultar informação</string>
<string name="options">Opções</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> ponto</item>
@@ -275,4 +267,12 @@
<string name="anyDate">Qualquer data</string>
<string name="chooseValidFromDate">Escolha uma data desde válida</string>
<string name="validFromSentence">Válido desde: <xliff:g>%s</xliff:g></string>
</resources>
<string name="switchToFrontImage">Mudar para imagem frontal</string>
<string name="height">Altura:</string>
<string name="switchToBackImage">Mudar para a imagem de trás</string>
<string name="switchToBarcode">Mudar para o código de barras</string>
<string name="openFrontImageInGalleryApp">Abra a imagem frontal no aplicativo da galeria</string>
<string name="openBackImageInGalleryApp">Abra a imagem traseira no aplicativo da galeria</string>
<string name="setBarcodeHeight">Definir altura do código de barras</string>
<string name="donate">Doar</string>
</resources>

View File

@@ -57,7 +57,6 @@
<string name="settings_light_theme">Lumină</string>
<string name="settings_dark_theme">Întuneric</string>
<string name="noBarcodeFound">Nu a fost găsit niciun cod de bare</string>
<string name="settings_max_font_size_scale">Mărimea maximă a fontului</string>
<string name="settings_display_barcode_max_brightness">Luminați vizualizarea codurilor de bare</string>
<string name="settings_keep_screen_on">Păstrați ecranul pornit</string>
<string name="settings_disable_lockscreen_while_viewing_card">Evitați ecranul de blocare</string>
@@ -69,11 +68,9 @@
<string name="failedOpeningFileManager">Instalați mai întâi un manager de fișiere.</string>
<string name="leaveWithoutSaveTitle">Ieșire</string>
<string name="addManually">Introduceți manual ID-ul cardului</string>
<string name="barcode">Cod de bare</string>
<string name="currency">Monedă</string>
<string name="editBarcode">Editarea codului de bare</string>
<string name="chooseExpiryDate">Alegeți data de expirare</string>
<string name="moveBarcodeToCenterOfScreen">Centrați codul de bare pe ecran</string>
<string name="copy_to_clipboard_toast">ID-ul cardului copiat în clipboard</string>
<string name="noStoreError">Nici un nume introdus</string>
<string name="selectBarcodeTitle">Selectare cod de bare</string>

View File

@@ -49,7 +49,6 @@
<string name="app_license">Авторское лево свободного программного обеспечения, лицензия GPLv3+</string>
<string name="about_title_fmt">О приложении <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Версия: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Информация о версиях: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Выбор штрих-кода</string>
<string name="enterBarcodeInstructions">Введите номер и выберите тип штрих-кода (или выберите \"Нет штрих-кода\").</string>
<string name="copy_to_clipboard_toast">Номер скопирован в буфер обмена</string>
@@ -92,13 +91,11 @@
<string name="chooseImportType">Откуда импортировать данные</string>
<string name="balance">Баланс</string>
<string name="moveBarcodeToTopOfScreen">Переместить штрих-код в верхнюю часть экрана</string>
<string name="moveBarcodeToCenterOfScreen">Центрировать штрих-код на экране</string>
<string name="currency">Валюта</string>
<string name="chooseExpiryDate">Указать срок действия</string>
<string name="never">Никогда</string>
<string name="expiryDate">Окончание срока действия</string>
<string name="chooseExpiryDate">Выбор срока действия</string>
<string name="never">Нет</string>
<string name="expiryDate">Срок действия</string>
<string name="editBarcode">Изменить штрих-код</string>
<string name="barcode">Штрих-код</string>
<string name="card">Карта</string>
<string name="groupsList">Группы: <xliff:g>%s</xliff:g></string>
<string name="moveDown">Переместить ниже</string>
@@ -130,7 +127,6 @@
<string name="setBarcodeId">Указать значение</string>
<string name="sameAsCardId">Как номер</string>
<string name="barcodeId">Значение штрих-кода</string>
<string name="settings_max_font_size_scale">Максимальный размер шрифта</string>
<string name="unsupportedBarcodeType">В настоящее время данный тип штрих-кодов не отображается. Его поддержка может быть добавлена в следующих версиях приложения.</string>
<string name="wrongValueForBarcodeType">Недопустимое значение для выбранного типа штрих-кода</string>
<string name="app_resources">Свободные сторонние ресурсы: <xliff:g id="app_resources_list">%s</xliff:g></string>
@@ -150,7 +146,7 @@
<string name="backImageDescription">Задняя сторона</string>
<string name="frontImageDescription">Лицевая сторона</string>
<string name="photos">Фото</string>
<string name="importStocardMessage">Выберите для импортирования файл <i>***-sync.zip</i>.
<string name="importStocardMessage">Выберите для импортирования файл <i>***.zip</i>.
\nЭтот файл можно получить по электронной почте от support@stocardapp.com, предварительно запросив экспорт ваших данных.</string>
<string name="passwordRequired">Введите пароль</string>
<string name="importStocard">Импорт из Stocard</string>
@@ -192,11 +188,9 @@
<string name="app_contributors">Создано при поддержке: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Группа пуста</string>
<string name="barcodeImageDescriptionWithType">Изображение штрих-кода <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Смахивание переключает изображения, долгое нажатие открывает в приложении галереи</string>
<string name="sort_by_expiry">Срок действия</string>
<string name="sort_by">Сортировать по</string>
<string name="reverse">…в обратном порядке</string>
<string name="sort_by_balance">Баланс</string>
<string name="sort_by_most_recently_used">Частота использования</string>
<string name="sort_by_name">Название</string>
<string name="sort">Сортировка</string>
@@ -218,15 +212,13 @@
<string name="group_edit">Изменить группу</string>
<string name="group_name_already_in_use">Такое название группы уже существует</string>
<string name="noGiftCardsGroup">Создайте несколько карт, а затем распределите их по группам здесь.</string>
<string name="setIcon">Выбор значка</string>
<string name="setIcon">Выбор миниатюры</string>
<string name="selectColor">Выбрать цвет</string>
<string name="action_hide_details">Скрыть детали</string>
<string name="action_show_details">Показать детали</string>
<string name="translate_platform">на Weblate</string>
<string name="shortcutSelectCard">Выбор карты</string>
<string name="options">Параметры</string>
<string name="set_scale">Выбор масштаба</string>
<string name="hideMoreInfo">Скрыть данные</string>
<string name="showMoreInfo">Показать данные</string>
<string name="starred">Избранное</string>
<plurals name="balancePoints">
@@ -280,6 +272,19 @@
<string name="cameraPermissionRequired">Для этого действия необходимо разрешение на доступ к камере…</string>
<string name="validFromDate">Действует с</string>
<string name="anyDate">Любая дата</string>
<string name="chooseValidFromDate">Выберите дату действия</string>
<string name="chooseValidFromDate">Выбор даты действия</string>
<string name="validFromSentence">Действует с: <xliff:g>%s</xliff:g></string>
<string name="setBarcodeHeight">Указать высоту штрих-кода</string>
<string name="height">Высота:</string>
<string name="switchToBarcode">Переключить на штрих-код</string>
<string name="switchToFrontImage">Переключить на лицевую сторону</string>
<string name="switchToBackImage">Переключить на заднюю сторону</string>
<string name="openFrontImageInGalleryApp">Открыть лицевое изображение в приложении галереи</string>
<string name="openBackImageInGalleryApp">Открыть заднее изображение в приложении галереи</string>
<string name="donate">Пожертвовать</string>
<string name="icon_header_click_text">Долгое нажатие для редактирования миниатюры</string>
<string name="show_note">Показывать примечание</string>
<string name="show_validity">Показывать срок действия</string>
<string name="show_name_below_image_thumbnail">Показывать название под миниатюрой</string>
<string name="show_balance">Показывать баланс</string>
</resources>

View File

@@ -42,7 +42,6 @@
<string name="app_license">Copyleftovaný slobodný softvér s licenciou GPLv3+</string>
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Verzia: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informácia o revízii: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Vyberte čiarový kód</string>
<string name="copy_to_clipboard_toast">ID skopírované do schránky</string>
<string name="thumbnailDescription">Miniatúra</string>
@@ -63,7 +62,6 @@
<string name="balance">Vyváženie</string>
<string name="errorReadingImage">Obrázok sa nepodarilo prečítať</string>
<string name="noBarcodeFound">Nenašiel sa žiadny čiarový kód</string>
<string name="moveBarcodeToCenterOfScreen">Vycentrovanie čiarového kódu na obrazovke</string>
<string name="moveBarcodeToTopOfScreen">Presun čiarového kódu do hornej časti obrazovky</string>
<string name="chooseExpiryDate">Zvoľte dátum skončenia platnosti</string>
<string name="never">Nikdy</string>
@@ -85,7 +83,6 @@
<string name="intent_import_card_from_url_share_text">Chcem sa s vami podeliť o pohľadnicu</string>
<string name="settings_disable_lockscreen_while_viewing_card">Zabrániť uzamknutiu obrazovky</string>
<string name="settings_keep_screen_on">Nechajte obrazovku zapnutú</string>
<string name="settings_max_font_size_scale">Maximálna veľkosť písma</string>
<string name="card_ids_copied">Skopírované ID</string>
<string name="unstar">Odstrániť z obľúbených</string>
<string name="settings_dark_theme">Tmavé</string>
@@ -140,7 +137,6 @@
<string name="turn_flashlight_on">Zapnúť svetlo</string>
<string name="sort_by_name">Názov</string>
<string name="sort_by_most_recently_used">Naposledy použité</string>
<string name="sort_by_balance">Zostatok</string>
<string name="reverse">…v obrátenom poradí</string>
<string name="on_github">na GitHube</string>
<string name="sort_by_expiry">Koniec platnosti</string>
@@ -151,7 +147,6 @@
<string name="report_error">Nahlásiť chybu</string>
<string name="translate_platform">na Weblate</string>
<string name="showMoreInfo">Zobraziť podrobnosti</string>
<string name="hideMoreInfo">Skryť podrobnosti</string>
<string name="action_hide_details">Skryť detaily</string>
<string name="yes">Áno</string>
<string name="importStocard">Import z aplikácie Stocard</string>
@@ -182,7 +177,6 @@
\ncopyright © 20162020 Branden Archer</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="expiryDate">Platnosť</string>
<string name="barcode">Čiarový kód</string>
<string name="editBarcode">Upraviť čiarový kód</string>
<string name="privacy_policy">Zásady ochrany osobných údajov</string>
<string name="importVoucherVault">Import z Voucher Vault</string>
@@ -215,7 +209,6 @@
<string name="and_data_usage">a využitie dát</string>
<string name="options">Možnosti</string>
<string name="starred">S hviezdičkou</string>
<string name="set_scale">Nastaviť mierku</string>
<string name="duplicateCard">Duplikovať</string>
<string name="archive">Archivovať</string>
<string name="unarchive">Vrátiť z archivu</string>
@@ -256,7 +249,6 @@
<item quantity="few">Zobraziť archív (<xliff:g>%1$d</xliff:g> karty)</item>
<item quantity="other">Zobraziť archív (<xliff:g>%1$d</xliff:g> kariet)</item>
</plurals>
<string name="swipeToSwitchImages">Potiahnutím prstom prepínate obrázky, podržaním otvoríte obrázok v aplikácii galéria</string>
<string name="barcodeLongPressMessage">V aplikácii galéria je možné otvoriť iba obrázky</string>
<string name="cameraPermissionDeniedTitle">Nepodarilo sa získať prístup k fotoaparátu</string>
<string name="storageReadPermissionRequired">Pre túto akciu je potrebné oprávnenie na čítanie úložiska…</string>
@@ -265,7 +257,7 @@
<string name="settings_landscape_orientation">Na šírku</string>
<string name="importFidmeMessage">Vyberte svoj <i>fidme-export-request-xxxxxx.zip</i> export zo služby FidMe pre import a potom vyberte typy čiarových kódov ručne.
\nVytvorte ho z profilu FidMe tak, že najprv vyberiete položku Ochrana údajov a potom stlačíte tlačidlo Extrahovať moje údaje.</string>
<string name="importStocardMessage">Vyberte svoj <i>***-sync.zip</i> export zo Stocard pre import.
<string name="importStocardMessage">Vyberte svoj <i>***.zip</i> export zo Stocard pre import.
\nZískate ho zaslaním e-mailu na adresu support@stocardapp.com, v ktorom požiadate o export svojich údajov.</string>
<string name="currentBalanceSentence">Aktuálny zostatok: <xliff:g>%s</xliff:g></string>
<string name="copy_to_clipboard_multiple_toast">ID skopírované do schránky</string>

View File

@@ -42,7 +42,6 @@
<string name="app_license">Odprtokodna programska oprema, licencirana skladno s GPL3+</string>
<string name="about_title_fmt">Več o <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Verzija: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informacije o popravkih: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Izberite črtno kodo</string>
<string name="copy_to_clipboard_toast">ID številka je kopirana v odložišče</string>
<string name="thumbnailDescription">Sličica</string>
@@ -71,7 +70,6 @@
<string name="settings_disable_lockscreen_while_viewing_card">Prepreči zaklepanje zaslona</string>
<string name="settings_keep_screen_on">Ohranite zaslon vklopljen</string>
<string name="enterBarcodeInstructions">Vnesite ID kartice in spodaj izberite vrsto črtne kode ali izbiro \"Ta kartica nima črtne kode\".</string>
<string name="settings_max_font_size_scale">Največja velikost pisave</string>
<string name="settings_dark_theme">Temno</string>
<string name="settings_light_theme">Svetlo</string>
<string name="settings_system_theme">Sistem</string>
@@ -106,10 +104,8 @@
<string name="settings_system_locale">Sistem</string>
<string name="settings_locale">Jezik</string>
<string name="barcodeImageDescriptionWithType">Slika <xliff:g>%s</xliff:g> črtna koda</string>
<string name="swipeToSwitchImages">Povlecite za zamenjavo slike ali dolgo pritisnite, da odprete sliko v aplikaciji za gledanje slik</string>
<string name="sort_by">Razvrsti po</string>
<string name="reverse">...v obratnem vrstnem redu</string>
<string name="sort_by_balance">Stanje</string>
<string name="sort_by_expiry">Potek</string>
<string name="sort_by_most_recently_used">Nazadnje uporabljene</string>
<string name="sort_by_name">Ime</string>
@@ -159,7 +155,6 @@
<string name="unsupportedBarcodeType">Te vrste črtne kode aplikacija ne more prikazati. Morda bo to možno v prihodnosti.</string>
<string name="shortcutSelectCard">Izberite kartico</string>
<string name="starred">Priljubljene</string>
<string name="set_scale">Nastavi velikost</string>
<string name="include_if_asking_support">Ob zahtevani pomoči podpore je potrebno vključiti naslednje informacije:</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> točka</item>
@@ -167,7 +162,6 @@
<item quantity="few"><xliff:g>%s</xliff:g> točke</item>
<item quantity="other"><xliff:g>%s</xliff:g> točk</item>
</plurals>
<string name="barcode">Črtna koda</string>
<string name="editBarcode">Uredi črtno kodo</string>
<string name="group_edit">Uredi skupino</string>
<string name="never">Nikoli</string>
@@ -188,7 +182,6 @@
<string name="settings_lock_on_opening_orientation">Ohrani usmerjenost uporabljeno pri odpiranju kartice</string>
<string name="setIcon">Nastavite ikono</string>
<string name="showMoreInfo">Prikaži informacije</string>
<string name="hideMoreInfo">Skrij informacije</string>
<string name="updateBalance">Posodobi stanje</string>
<string name="failedToRetrieveImageFile">Slikovne datoteke ni bilo mogoče pridobiti</string>
<string name="credits">Zasluge</string>
@@ -218,10 +211,9 @@
<string name="expiryDate">Datum poteka veljavnosti</string>
<string name="chooseExpiryDate">Izberi datum poteka veljavnosti</string>
<string name="moveBarcodeToTopOfScreen">Premakni črtno kodo na vrh zaslona</string>
<string name="moveBarcodeToCenterOfScreen">Postavi črtno kodo na sredino zaslona</string>
<string name="importCatimaMessage">Izberi svoj obstoječ Catima <i>catima.zip</i> izvoz podatkov za uvoz v aplikacijo.
\nNajprej izvozi podatke v meniju \"Uvozi/Izvozi\" v drugi aplikaciji Catima s pritiskom na izbiro izvozi.</string>
<string name="importStocardMessage">Izberi svoj <i>***-sync.zip</i> Stocard izvoz podatkov za uvoz.
<string name="importStocardMessage">Izberi svoj <i>***.zip</i> Stocard izvoz podatkov za uvoz.
\nIzvoz podatkov dobiš s pošiljanjem elektronske pošte na support@stocardapp.com, kjer povprašaš za izvoz svojih podatkov.</string>
<string name="importVoucherVaultMessage">Izberi svoj <i>vouchervault.json</i> Voucher Vault izvoz podatkov za uvoz.
\nIzvoz podatkov dobiš s pritiskom na gumb \"Export\" v Voucher Vault first.</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="settings_display_barcode_max_brightness">Gör streckkodsvyn ljusare</string>
<string name="settings_max_font_size_scale">Max. teckenstorlek</string>
<string name="settings_keep_screen_on">Håll skärmen påslagen</string>
<string name="enterBarcodeInstructions">Ange ID:t och välj antingen streckkodstyp nedan, eller \"Det finns ingen streckkod\".</string>
<string name="importFidmeMessage">Välj den exporterade <i>fidme-export-request-xxxxxx.zip</i> från FidMe som du vill importera och välj streckkodstyper manuellt efteråt.
@@ -24,7 +23,7 @@
\nSkapa den från Import/Export-menyn i Loyalty Card Keychain först genom att trycka på Exportera.</string>
<string name="importVoucherVaultMessage">Välj den exporterade <i>vouchervault.json</i> från Voucher Vault som du vill importera.
\nSkapa den först genom att trycka på Exportera i Voucher Vault.</string>
<string name="importStocardMessage">Välj den exporterade <i>***-sync.zip</i> från Stocard som du vill importera.
<string name="importStocardMessage">Välj den exporterade <i>***.zip</i> från Stocard som du vill importera.
\nSkaffa den först genom att skicka e-post till support@stocardapp.com och be om att få dina data exporterade.</string>
<string name="enter_group_name">Ange gruppnamn</string>
<string name="groups">Grupper</string>
@@ -42,11 +41,9 @@
<string name="addManually">Ange ID manuellt</string>
<string name="addFromImage">Välj bild från galleriet</string>
<string name="card">Kort</string>
<string name="barcode">Streckkod</string>
<string name="editBarcode">Redigera streckkod</string>
<string name="never">Aldrig</string>
<string name="moveBarcodeToTopOfScreen">Flytta streckkoden högst upp på skärmen</string>
<string name="moveBarcodeToCenterOfScreen">Centrera streckkoden på skärmen</string>
<string name="noBarcodeFound">Hittade ingen streckkod</string>
<string name="points">Poäng</string>
<string name="chooseImportType">Importera data från</string>
@@ -146,7 +143,6 @@
<string name="exportSuccessfulTitle">Exporten lyckades</string>
<string name="scanCardBarcode">Skanna streckkod</string>
<string name="settings_system_theme">Systemtemat</string>
<string name="app_revision_fmt">Ändringsinfo: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="privacy_policy_popup_text">Notis rörande integritetspolicy (krävs av vissa appbutiker):
\n
\nINGEN DATA ALLS SAMLAS IN, vilket vem som helst kan bekräfta eftersom vår app är fri programvara.</string>
@@ -184,10 +180,8 @@
<string name="settings_theme_color">Temafärg</string>
<string name="noGroupCards">Denna grupp är tom</string>
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> streckkod</string>
<string name="swipeToSwitchImages">Svep eller ändra bilder, håll för att öppna i bild i galleri app</string>
<string name="reverse">...i omvänd ordning</string>
<string name="sort_by">Sortera efter</string>
<string name="sort_by_balance">Saldo</string>
<string name="sort_by_expiry">Förfallodag</string>
<string name="sort_by_most_recently_used">Senast använda</string>
<string name="sort_by_name">Namn</string>
@@ -218,13 +212,11 @@
<string name="shortcutSelectCard">Välj ett kort</string>
<string name="showMoreInfo">Visa info</string>
<string name="starred">Stjärnmärkt</string>
<string name="hideMoreInfo">Dölj info</string>
<string name="options">Alternativ</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> poäng</item>
<item quantity="other"><xliff:g>%s</xliff:g> poäng</item>
</plurals>
<string name="set_scale">Justera skala</string>
<string name="include_if_asking_support">Om du vill be om hjälp, inkludera då följande information:</string>
<string name="settings_oled_dark">Helsvart bakgrund för mörkt tema</string>
<string name="failedLaunchingPhotoPicker">Kunde inte hitta kompatibelt bildprogram</string>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="swipeToSwitchImages">Resimler arasında geçiş yapmak için kaydırın, resmi galeri uygulamasında açmak için basılı tutun</string>
<string name="app_contributors">Katkıda bulunanlar: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Kahverengi</string>
<string name="settings_grey_theme">Gri</string>
@@ -39,7 +38,7 @@
<string name="importVoucherVaultMessage">İçe aktarmak için Voucher Vault\'tan dışa aktardığınız <i>vouchervault.json</i> dosyasını seçin.
\nÖnce Voucher Vault\'ta \"Dışa aktar\" düğmesine basarak bir tane oluşturun.</string>
<string name="importVoucherVault">Voucher Vault\'tan içe aktar</string>
<string name="importStocardMessage">İçe aktarmak için Stocard\'dan dışa aktardığınız <i>***-sync.zip</i> dosyasını seçin.
<string name="importStocardMessage">İçe aktarmak için Stocard\'dan dışa aktardığınız <i>***.zip</i> dosyasını seçin.
\nsupport@stocardapp.com adresine e-posta göndererek verilerinizin dışa aktarılmasını isteyerek edinin.</string>
<string name="importStocard">Stocard\'dan içe aktar</string>
<string name="importLoyaltyCardKeychainMessage">İçe aktarmak için Loyalty Card Keychain\'den dışa aktardığınız <i>LoyaltyCardKeychain.csv</i> dosyasını seçin.
@@ -64,13 +63,11 @@
<string name="balance">Bakiye</string>
<string name="errorReadingImage">Resim okunamadı</string>
<string name="noBarcodeFound">Barkod bulunamadı</string>
<string name="moveBarcodeToCenterOfScreen">Barkodu ekranda ortala</string>
<string name="moveBarcodeToTopOfScreen">Barkodu ekranın en üstüne taşı</string>
<string name="chooseExpiryDate">Son kullanma tarihi seç</string>
<string name="never">Hiçbir zaman</string>
<string name="expiryDate">Son kullanma tarihi</string>
<string name="editBarcode">Barkodu düzenle</string>
<string name="barcode">Barkod</string>
<string name="card">Kart</string>
<string name="balanceSentence">Bakiye: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Süresi doldu: <xliff:g>%s</xliff:g></string>
@@ -99,7 +96,6 @@
<string name="settings_disable_lockscreen_while_viewing_card">Ekran kilidini engelle</string>
<string name="settings_keep_screen_on">Ekranıık tut</string>
<string name="settings_display_barcode_max_brightness">Barkod görünümünü aydınlat</string>
<string name="settings_max_font_size_scale">Azami yazı tipi boyutu</string>
<string name="settings_dark_theme">Koyu</string>
<string name="settings_light_theme">ık</string>
<string name="settings_system_theme">Sistem</string>
@@ -113,7 +109,6 @@
<string name="selectBarcodeTitle">Barkod Seç</string>
<string name="app_resources">Özgür üçüncü taraf kaynakları: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Özgür üçüncü taraf kütüphaneleri: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_revision_fmt">Değişiklik Bilgileri: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="debug_version_fmt">Sürüm: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt"><xliff:g id="app_name">%s</xliff:g> hakkında</string>
<string name="app_license">GPLv3+ altında lisanslanan copyleft özgür yazılım</string>
@@ -187,7 +182,6 @@
<string name="action_search">Ara</string>
<string name="sort_by">Sıralama ölçütü</string>
<string name="reverse">…ters sırada</string>
<string name="sort_by_balance">Bakiye</string>
<string name="sort_by_expiry">Son kullanma tarihi</string>
<string name="sort_by_most_recently_used">En Son Kullanılan</string>
<string name="sort_by_name">Ad</string>
@@ -218,9 +212,7 @@
<string name="shortcutSelectCard">Kart seç</string>
<string name="options">Seçenekler</string>
<string name="showMoreInfo">Bilgileri göster</string>
<string name="hideMoreInfo">Bilgileri gizle</string>
<string name="starred">Yıldızlı</string>
<string name="set_scale">Ölçeği ayarla</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> puan</item>
<item quantity="other"><xliff:g>%s</xliff:g> puan</item>
@@ -268,4 +260,13 @@
<string name="anyDate">Herhangi bir tarih</string>
<string name="validFromDate">Geçerlilik başlangıcı</string>
<string name="validFromSentence"><xliff:g>%s</xliff:g> tarihinden itibaren geçerlidir</string>
<string name="height">Yükseklik:</string>
<string name="switchToBackImage">Arka resme geç</string>
<string name="switchToBarcode">Barkoda geç</string>
<string name="donate">Bağış yap</string>
<string name="switchToFrontImage">Ön resme geç</string>
<string name="setBarcodeHeight">Barkod yüksekliğini ayarla</string>
<string name="openFrontImageInGalleryApp">Ön resmi galeri uygulamasında aç</string>
<string name="openBackImageInGalleryApp">Arka resmi galeri uygulamasında aç</string>
<string name="icon_header_click_text">Simgeyi düzenlemek için uzun basın</string>
</resources>

View File

@@ -40,7 +40,7 @@
<string name="importCatima">Імпорт з Catima</string>
<string name="accept">Прийняти</string>
<string name="privacy_policy">Політика конфіденційності</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="app_loyalty_card_keychain">Брелок для картки лояльності</string>
<string name="chooseImportType">Імпортувати дані з</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> здається, не є дійсним залишком.</string>
<string name="points">Бали</string>
@@ -48,13 +48,11 @@
<string name="balance">Баланс</string>
<string name="errorReadingImage">Неможливо прочитати зображення</string>
<string name="noBarcodeFound">Жодного штрих-коду не знайдено</string>
<string name="moveBarcodeToCenterOfScreen">Відцентрувати штрих-код на екрані</string>
<string name="moveBarcodeToTopOfScreen">Посунути штрих-код наверх екрану</string>
<string name="chooseExpiryDate">Оберіть дату</string>
<string name="never">Ніколи</string>
<string name="expiryDate">Дата закінчення терміну дії</string>
<string name="editBarcode">Редагувати штрих-код</string>
<string name="barcode">Штрих-код</string>
<string name="card">Картка</string>
<string name="balanceSentence">Баланс: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Термін дії закінчився: <xliff:g>%s</xliff:g></string>
@@ -77,7 +75,6 @@
<string name="intent_import_card_from_url_share_text">Я хочу поділитися з тобою картою</string>
<string name="settings_disable_lockscreen_while_viewing_card">Не блокувати екран</string>
<string name="settings_keep_screen_on">Не вимикати екран</string>
<string name="settings_max_font_size_scale">Макс. розмір шрифту</string>
<string name="settings_dark_theme">Темна</string>
<string name="settings_light_theme">Світла</string>
<string name="settings_system_theme">Системна</string>
@@ -91,7 +88,6 @@
<string name="copy_to_clipboard_toast">ID скопійовано до буферу обміну</string>
<string name="app_resources">Вільні ресурси третіх сторін: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Вільні бібліотеки третіх сторін: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_revision_fmt">Інформація про випуск: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="debug_version_fmt">Версія: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">Про <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_license">Копілефт вільне програмне забезпечення, ліцензоване під GPLv3+</string>
@@ -154,7 +150,7 @@
<string name="photos">Світлини</string>
<string name="backImageDescription">Тильна сторона</string>
<string name="frontImageDescription">Лицьова сторона</string>
<string name="importStocardMessage">Виберіть експорт <i> ***-sync.zip </i> зі Stocard для імпорту.
<string name="importStocardMessage">Виберіть експорт <i> ***.zip </i> зі Stocard для імпорту.
\nОтримайте його, надіславши електронного листа support@stocardapp.com з проханням експортувати ваші дані.</string>
<string name="importStocard">Імпорт із Stocard</string>
<plurals name="selectedCardCount">
@@ -192,10 +188,8 @@
<string name="app_contributors">Стало можливим завдяки: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Пуста група</string>
<string name="barcodeImageDescriptionWithType">Зображення штрих-коду <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Свайп для зміни зображень, довге натискання для перегляду в галереї</string>
<string name="sort_by">Сортувати за</string>
<string name="reverse">у зворотному порядку</string>
<string name="sort_by_balance">Баланс</string>
<string name="sort_by_expiry">Термін дії</string>
<string name="sort_by_most_recently_used">Часто використовувані</string>
<string name="sort_by_name">Назва</string>
@@ -227,8 +221,6 @@
<string name="options">Параметри</string>
<string name="showMoreInfo">Відобразити дані</string>
<string name="starred">Обране</string>
<string name="set_scale">Зміна масштабу</string>
<string name="hideMoreInfo">Сховати дані</string>
<string name="settings_oled_dark">Повністю чорний фон для темної теми</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> бал</item>
@@ -282,4 +274,12 @@
<string name="anyDate">Будь-яка дата</string>
<string name="chooseValidFromDate">Виберіть термін дії з дати</string>
<string name="validFromSentence">Дійсний від: <xliff:g>%s</xliff:g></string>
<string name="switchToFrontImage">Перемкнутися на лицьову сторону</string>
<string name="switchToBackImage">Перемкнутися на зворотню сторону</string>
<string name="switchToBarcode">Перемкнутися на штрих-код</string>
<string name="openFrontImageInGalleryApp">Відкрити зображення лицьової сторони у додату галереї</string>
<string name="openBackImageInGalleryApp">Відкрити зображення тильної сторони у додатку галереї</string>
<string name="setBarcodeHeight">Встановити висоту штрих-коду</string>
<string name="height">Висота:</string>
<string name="donate">Пожертвувати</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="app_revision_fmt">更新日志: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="groupsList">组:<xliff:g>%s</xliff:g></string>
<plurals name="groupCardCount">
<item quantity="other"><xliff:g>%d</xliff:g> 卡片</item>
@@ -8,7 +7,6 @@
<string name="app_libraries">第三方自由程序库: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="debug_version_fmt">版本: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">关于 <xliff:g id="app_name">%s</xliff:g></string>
<string name="barcode">条形码</string>
<string name="card">卡片</string>
<string name="addManually">手动输入卡号</string>
<string name="settings_system_theme">系统设置</string>
@@ -48,7 +46,6 @@
<string name="balance">余额</string>
<string name="errorReadingImage">无法读取图像</string>
<string name="noBarcodeFound">未找到条形码</string>
<string name="moveBarcodeToCenterOfScreen">将条形码居中显示</string>
<string name="moveBarcodeToTopOfScreen">将条形码移到屏幕的顶部</string>
<string name="chooseExpiryDate">选择到期日</string>
<string name="never">从不</string>
@@ -74,7 +71,6 @@
<string name="settings_disable_lockscreen_while_viewing_card">防止锁屏</string>
<string name="settings_keep_screen_on">保持屏幕常亮</string>
<string name="settings_display_barcode_max_brightness">提高条码界面亮度</string>
<string name="settings_max_font_size_scale">最大字体大小</string>
<string name="settings_dark_theme">暗色</string>
<string name="settings_light_theme">浅色</string>
<string name="settings_theme">主题</string>
@@ -140,7 +136,7 @@
<string name="deleteConfirmation">删除此卡?</string>
<string name="deleteTitle">移除卡片</string>
<string name="starImage">最喜欢的星星</string>
<string name="importStocardMessage">选择 Stocard 导出文件 <i>****-sync.zip</i>来导入。
<string name="importStocardMessage">选择 Stocard 导出文件 <i>****.zip</i>来导入。
\n发电子邮件给 support@stocardapp.com 请求获得数据导出文件。</string>
<plurals name="deleteCardsConfirmation">
<item quantity="other">确定永久删除 <xliff:g>%d</xliff:g> 这些卡片?</item>
@@ -177,7 +173,6 @@
<string name="setIcon">设置图标</string>
<string name="settings_pink_theme">粉色</string>
<string name="settings_oled_dark">纯黑色背景的深色主题</string>
<string name="hideMoreInfo">隐藏信息</string>
<string name="translate_platform">在Weblate上</string>
<string name="settings_sky_blue_theme">天蓝</string>
<string name="showMoreInfo">显示信息</string>
@@ -199,8 +194,6 @@
<string name="sort_by_most_recently_used">最近使用</string>
<string name="sort_by_name">名称</string>
<string name="help_translate_this_app">帮助翻译此应用</string>
<string name="sort_by_balance">余额</string>
<string name="swipeToSwitchImages">滑动切换图片,按住打开图库应用中的图片</string>
<string name="reverse">倒序</string>
<string name="sort_by">排序方式</string>
<string name="selectColor">选择颜色</string>
@@ -218,7 +211,6 @@
<string name="settings_violet_theme">紫色</string>
<string name="action_show_details">显示详情</string>
<string name="action_hide_details">隐藏详情</string>
<string name="set_scale">设置大小</string>
<string name="app_contributors">因他们而存在: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="and_data_usage">和数据使用方法</string>
<string name="failedLaunchingPhotoPicker">找不到支持的图库应用</string>
@@ -261,4 +253,13 @@
<string name="chooseValidFromDate">选择有效日期</string>
<string name="validFromSentence">有效期自: <xliff:g>%s</xliff:g></string>
<string name="cameraPermissionRequired">此操作所需的访问相机的权限…</string>
<string name="height">高度:</string>
<string name="switchToFrontImage">选择正面图像</string>
<string name="switchToBackImage">选择背面图像</string>
<string name="switchToBarcode">选择条形码</string>
<string name="openFrontImageInGalleryApp">使用图库软件打开正面图像</string>
<string name="openBackImageInGalleryApp">使用图库软件打开背面图像</string>
<string name="setBarcodeHeight">设置条形码高度</string>
<string name="donate">捐赠</string>
<string name="icon_header_click_text">长按以编辑图标</string>
</resources>

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="app_revision_url">https://github.com/CatimaLoyalty/Android/releases</string>
<string name="action_search">搜尋</string>
<string name="action_add">新增</string>
<string name="noGiftCards">點選 + 按鈕以新增卡片,或從 ⋮ 選單中匯入。</string>
@@ -32,7 +31,6 @@
<string name="balance">餘額</string>
<string name="balanceSentence">餘額: <xliff:g>%s</xliff:g></string>
<string name="app_copyright_old">基於 Loyalty Card Keychain\n著作權所有 © 20162020 Branden Archer</string>
<string name="barcode">條碼</string>
<string name="barcodeId">條碼內容</string>
<string name="barcodeImageDescriptionWithType">圖片為 <xliff:g>%s</xliff:g> 的條碼</string>
<string name="card">卡片</string>
@@ -101,7 +99,6 @@
<string name="sort_by_name">名稱</string>
<string name="sort_by_most_recently_used">最近使用</string>
<string name="sort_by_expiry">逾期日期</string>
<string name="sort_by_balance">餘額</string>
<string name="reverse">...以反序排列</string>
<string name="sort_by">排列方式</string>
<string name="version_history">版本歷史</string>
@@ -147,7 +144,6 @@
<string name="thumbnailDescription">縮圖</string>
<string name="noGroupCards">此群組為空</string>
<string name="settings_category_title_ui">用戶界面</string>
<string name="settings_max_font_size_scale">最大字體大小</string>
<string name="settings_light_theme">淺色</string>
<string name="settings_dark_theme">深色</string>
<string name="settings_display_barcode_max_brightness">調高條碼介面螢幕亮度</string>
@@ -172,7 +168,7 @@
<string name="importVoucherVaultMessage">選取您自 Voucher Vault 匯出的 <i>vouchervault.json</i> 檔案以進行匯入。
\n請您先透過 Voucher Vault 進行匯出。</string>
<string name="importStocard">自 Stocard 中匯入</string>
<string name="importStocardMessage">&gt;選取您自 Stocard 匯出的 <i>***-sync.zip</i> 檔案以進行匯入。
<string name="importStocardMessage">&gt;選取您自 Stocard 匯出的 <i>***.zip</i> 檔案以進行匯入。
\n請您寫封 Email 至 support@stocardapp.com 索取您的資料。</string>
<string name="importLoyaltyCardKeychain">自 Loyalty Card Keychain 中匯入</string>
<string name="importLoyaltyCardKeychainMessage">選取您自 Loyalty Card Keychain <i>LoyaltyCardKeychain.csv</i> 檔案以進行匯入。
@@ -185,24 +181,20 @@
\n您可透過其他裝置的 Catima 程式中的匯入/匯出選單進行匯出。</string>
<string name="points"></string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> 似乎不是個可用的餘額數值。</string>
<string name="app_revision_fmt">修訂版本資訊:<xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_libraries">第三方自由函示庫:<xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">第三方自由資源:<xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">選擇條碼</string>
<string name="noGroups">請點選 + 加號按鈕新增群組。</string>
<string name="moveBarcodeToTopOfScreen">將條碼移至螢幕上方</string>
<string name="moveBarcodeToCenterOfScreen">將條碼移至螢幕中央</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="unsupportedBarcodeType">尚支援此條碼種類,但未來版本的應用程式可能會支援此條碼種類。</string>
<string name="wrongValueForBarcodeType">條碼內容不適用於此條碼種類</string>
<string name="backImageDescription">背面圖片</string>
<string name="updateBarcodeQuestionText">您已更新了 ID是否要更新條碼內容以匹配此 ID</string>
<string name="failedGeneratingShareURL">無法建立可分享的 URL請回報此錯誤。</string>
<string name="swipeToSwitchImages">滑動切換圖片,長按檢視圖片</string>
<string name="starImage">收藏標示</string>
<string name="noGiftCardsGroup">建立一些卡片,然後將它們分配到這個群組中。</string>
<string name="showMoreInfo">顯示資訊</string>
<string name="hideMoreInfo">隱藏資訊</string>
<string name="action_show_details">顯示詳情</string>
<string name="shortcutSelectCard">選擇卡片</string>
<string name="starred">已收藏</string>
@@ -220,7 +212,6 @@
<string name="action_hide_details">隱藏詳情</string>
<string name="translate_platform">於 Weblate</string>
<string name="options">選項</string>
<string name="set_scale">設定大小</string>
<string name="include_if_asking_support">如果您想請求協助,請附上以下訊息:</string>
<string name="settings_card_orientation">條碼方向</string>
<string name="failedToRetrieveImageFile">無法擷取圖片檔案</string>

View File

@@ -52,6 +52,4 @@
<color name="md_theme_dark_inverseSurface">#ECDFDE</color>
<color name="md_theme_dark_primaryInverse">#A83536</color>
<color name="md_theme_dark_onSelected">#80201A1A</color>
<color name="seed">#B53F3F</color>
<color name="error">#BA1B1B</color>
</resources>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_revision_url" translatable="false">https://github.com/CatimaLoyalty/Android/releases</string>
<string name="app_webpage_url" translatable="false">https://github.com/CatimaLoyalty/Android</string>
<integer name="full_rotation_duration">100</integer>
<integer name="half_rotation_duration">50</integer>
</resources>

View File

@@ -1,8 +1,4 @@
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="no_data_textSize">16sp</dimen>
<dimen name="no_data_padding">22dp</dimen>
@@ -14,23 +10,13 @@
<dimen name="storeNameTextSize">28sp</dimen>
<dimen name="noteTextSize">14sp</dimen>
<dimen name="singleCardCardIdTextSizeMin">15sp</dimen>
<dimen name="singleCardCardIdTextSizeMax">50sp</dimen>
<dimen name="singleCardNoteTextSizeMin">25sp</dimen>
<dimen name="singleCardNoteTextSizeMax">50sp</dimen>
<dimen name="inputBorderThickness">2dip</dimen>
<dimen name="inputBorderDividerThickness">4dip</dimen>
<dimen name="inputMargin">2dip</dimen>
<dimen name="inputPadding">10dip</dimen>
<dimen name="colorSamplePadding">10dip</dimen>
<dimen name="inputSize">18sp</dimen>
<dimen name="cardThumbnailSize">46dp</dimen>
<dimen name="cardThumbnailSizeLarge">200dp</dimen>
<dimen name="cardThumbnailEditOverlaySize">21dp</dimen>
<dimen name="activity_margin_small">8dp</dimen>
<dimen name="activity_margin">16dp</dimen>
<!-- Padding for layouts-->
<dimen name="activity_scanner_padding">10dp</dimen>
@@ -40,5 +26,4 @@
<dimen name="tileLetterFontSize">66sp</dimen>
<dimen name="tileLetterFontSizeForShortcut">48dp</dimen>
<dimen name="tileLetterImageSize">92dp</dimen>
<dimen name="cardViewLetterFontSize">100sp</dimen>
</resources>

View File

@@ -128,11 +128,4 @@
<item>#2093cd</item>
<item>#ad62a7</item>
</array>
<!-- Default values -->
<integer name="settings_max_font_size_scale_pct">100</integer>
<!-- Constraints -->
<integer name="settings_max_font_size_scale_pct_min">50</integer>
<integer name="settings_max_font_size_scale_pct_max">200</integer>
</resources>

View File

@@ -82,7 +82,6 @@
<string name="app_license">Copylefted libre software, licensed GPLv3+</string>
<string name="about_title_fmt">About <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Revision Info: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_libraries">Libre third-party libraries: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Libre third-party resources: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Select Barcode</string>
@@ -111,7 +110,6 @@
<string name="settings_lock_on_opening_orientation">Lock to orientation used when opening the card</string>
<string name="settings_key_lock_on_opening_orientation" translatable="false">lock_on_opening</string>
<string name="settings_key_max_font_size_scale" translatable="false">pref_max_font_size_scale</string>
<string name="settings_max_font_size_scale">Max. font size</string>
<string name="settings_display_barcode_max_brightness">Brighten barcode view</string>
<string name="settings_key_display_barcode_max_brightness" translatable="false">pref_display_card_max_brightness</string>
<string name="settings_keep_screen_on">Keep screen on</string>
@@ -125,7 +123,6 @@
<string name="sharedpreference_sort_order" translatable="false">sharedpreference_sort_order</string>
<string name="sharedpreference_sort_direction" translatable="false">sharedpreference_sort_direction</string>
<string name="sharedpreference_card_details" translatable="false">sharedpreference_card_details</string>
<string name="sharedpreference_card_details_show" translatable="false">sharedpreference_card_details_show</string>
<string name="intent_import_card_from_url_share_text">I want to share a card with you</string>
<string name="intent_import_card_from_url_host_catima_app" translatable="false">catima.app</string>
<string name="intent_import_card_from_url_path_prefix_catima_app" translatable="false">/share</string>
@@ -166,13 +163,11 @@
<item quantity="other"><xliff:g>%s</xliff:g> points</item>
</plurals>
<string name="card">Card</string>
<string name="barcode">Barcode</string>
<string name="editBarcode">Edit barcode</string>
<string name="expiryDate">Expiry date</string>
<string name="never">Never</string>
<string name="chooseExpiryDate">Choose expiry date</string>
<string name="moveBarcodeToTopOfScreen">Move the barcode to the top of the screen</string>
<string name="moveBarcodeToCenterOfScreen">Center the barcode on the screen</string>
<string name="noBarcodeFound">No barcode was found</string>
<string name="errorReadingImage">Could not read the image</string>
<string name="balance">Balance</string>
@@ -194,7 +189,7 @@
<string name="importLoyaltyCardKeychainMessage">Select your <i>LoyaltyCardKeychain.csv</i> export from Loyalty Card Keychain to import.
\nCreate it from the Import/Export menu in Loyalty Card Keychain by pressing Export there first.</string>
<string name="importStocard">Import from Stocard</string>
<string name="importStocardMessage">Select your <i>***-sync.zip</i> export from Stocard to import.
<string name="importStocardMessage">Select your <i>***.zip</i> export from Stocard to import.
\nGet it by e-mailing support@stocardapp.com asking for an export of your data.</string>
<string name="importVoucherVault">Import from Voucher Vault</string>
<string name="importVoucherVaultMessage">Select your <i>vouchervault.json</i> export from Voucher Vault to import.
@@ -228,7 +223,7 @@
<string name="settings_key_locale" translatable="false">pref_locale</string>
<string name="settings_system_locale">System</string>
<string name="selectColor">Select color</string>
<string name="setIcon">Set icon</string>
<string name="setIcon">Set thumbnail</string>
<string name="setting_key_theme_color" translatable="false">pref_theme_color</string>
<string name="settings_theme_color">Theme color</string>
<string name="settings_catima_theme">Catima</string>
@@ -252,15 +247,12 @@
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Sort</string>
<string name="showMoreInfo">Show info</string>
<string name="hideMoreInfo">Hide info</string>
<string name="updateBalance">Update balance</string>
<string name="swipeToSwitchImages">Swipe to switch images, hold to open image in the gallery app</string>
<string name="failedToRetrieveImageFile">Failed to retrieve image file</string>
<string name="barcodeLongPressMessage">Only images can be opened in the gallery app</string>
<string name="sort_by_name">Name</string>
<string name="sort_by_most_recently_used">Most Recently Used</string>
<string name="sort_by_expiry">Expiry</string>
<string name="sort_by_balance">Balance</string>
<!-- \"Reversed order\" is also OK. This is an option in the card sorting list -->
<string name="reverse">…in reversed order</string>
<string name="sort_by">Sort by</string>
@@ -281,7 +273,6 @@
<string name="shortcutSelectCard">Select a card</string>
<string name="options">Options</string>
<string name="starred">Starred</string>
<string name="set_scale">Set scale</string>
<string name="include_if_asking_support">If you want to request support, include the following info:</string>
<string name="duplicateCard">Duplicate</string>
<string name="archive">Archive</string>
@@ -313,4 +304,21 @@
<string name="anyDate">Any date</string>
<string name="chooseValidFromDate">Choose valid from date</string>
<string name="validFromSentence">Valid from: <xliff:g>%s</xliff:g></string>
<string name="height">Height:</string>
<string name="switchToFrontImage">Switch to front image</string>
<string name="switchToBackImage">Switch to back image</string>
<string name="switchToBarcode">Switch to barcode</string>
<string name="openFrontImageInGalleryApp">Open front image in gallery app</string>
<string name="openBackImageInGalleryApp">Open back image in gallery app</string>
<string name="setBarcodeHeight">Set barcode height</string>
<string name="donate">Donate</string>
<string name="icon_header_click_text">Long press to edit thumbnail</string>
<string name="show_name_below_image_thumbnail">Show name below image thumbnail</string>
<string name="show_note">Show note</string>
<string name="show_balance">Show balance</string>
<string name="show_validity">Show validity</string>
<string name="sharedpreference_card_details_show_note" translatable="false">sharedpreference_card_details_show_note</string>
<string name="sharedpreference_card_details_show_balance" translatable="false">sharedpreference_card_details_show_balance</string>
<string name="sharedpreference_card_details_show_validity" translatable="false">sharedpreference_card_details_show_validity</string>
<string name="sharedpreference_card_details_show_name_below_thumbnail" translatable="false">sharedpreference_card_details_show_name_below_thumbnail</string>
</resources>

View File

@@ -27,8 +27,17 @@
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_light_primaryInverse</item>
<item name="materialAlertDialogTheme">@style/ThemeOverlay.App.MaterialAlertDialog.Monet</item>
<item name="alertDialogTheme">@style/ThemeOverlay.App.MaterialAlertDialog.Monet</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="ThemeOverlay.App.MaterialAlertDialog.Monet" parent="ThemeOverlay.Material3.MaterialAlertDialog">
<item name="alertDialogStyle">@style/MaterialAlertDialog.Material3</item>
<item name="dialogCornerRadius">28dp</item>
<item name="android:background">@drawable/dialog_bg_monet</item>
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">

View File

@@ -25,6 +25,7 @@
app:singleLineTitle="false" />
<SwitchPreferenceCompat
android:widgetLayout="@layout/preference_material_switch"
android:defaultValue="false"
android:key="@string/settings_key_oled_dark"
android:title="@string/settings_oled_dark"
@@ -40,18 +41,8 @@
app:iconSpaceReserved="false"
app:singleLineTitle="false" />
<nl.invissvenska.numberpickerpreference.NumberDialogPreference
android:key="@string/settings_key_max_font_size_scale"
android:title="@string/settings_max_font_size_scale"
app:defaultValue="@integer/settings_max_font_size_scale_pct"
app:iconSpaceReserved="false"
app:numberPickerPreference_maxValue="@integer/settings_max_font_size_scale_pct_max"
app:numberPickerPreference_minValue="@integer/settings_max_font_size_scale_pct_min"
app:numberPickerPreference_stepValue="10"
app:numberPickerPreference_unitText="%"
app:singleLineTitle="false" />
<SwitchPreferenceCompat
android:widgetLayout="@layout/preference_material_switch"
android:defaultValue="true"
android:key="@string/settings_key_display_barcode_max_brightness"
android:title="@string/settings_display_barcode_max_brightness"
@@ -68,6 +59,7 @@
app:singleLineTitle="false" />
<SwitchPreferenceCompat
android:widgetLayout="@layout/preference_material_switch"
android:defaultValue="true"
android:key="@string/settings_key_keep_screen_on"
android:title="@string/settings_keep_screen_on"
@@ -75,11 +67,14 @@
app:singleLineTitle="false" />
<SwitchPreferenceCompat
android:widgetLayout="@layout/preference_material_switch"
android:defaultValue="true"
android:key="@string/settings_key_disable_lockscreen_while_viewing_card"
android:title="@string/settings_disable_lockscreen_while_viewing_card"
app:iconSpaceReserved="false"
app:singleLineTitle="false" />
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -11,7 +11,6 @@ import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowLooper;
import static org.junit.Assert.assertEquals;
@@ -21,7 +20,6 @@ import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
@Config(sdk = 23)
public class BarcodeSelectorActivityTest {
@Test
public void emptyStateTest() {

View File

@@ -27,7 +27,6 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@RunWith(RobolectricTestRunner.class)
@Config(sdk = 23)
public class DatabaseTest {
private SQLiteDatabase mDatabase;
private Activity mActivity;

View File

@@ -13,13 +13,11 @@ import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import static org.junit.Assert.assertEquals;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
@Config(sdk = 23)
public class ImportExportActivityTest {
private void registerIntentHandler(String handler) {
// Add something that will 'handle' the given intent type

View File

@@ -6,20 +6,16 @@ import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Environment;
import android.os.Looper;
import android.util.DisplayMetrics;
import com.google.zxing.BarcodeFormat;
import org.json.JSONException;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
import org.robolectric.shadows.ShadowLog;
import org.robolectric.shadows.ShadowLooper;
@@ -34,8 +30,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
@@ -44,7 +38,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import androidx.core.content.res.ResourcesCompat;
import protect.card_locker.async.TaskHandler;
import protect.card_locker.importexport.DataFormat;
import protect.card_locker.importexport.ImportExportResult;
@@ -59,7 +52,6 @@ import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
@Config(sdk = 23)
public class ImportExportTest {
private Activity activity;
private SQLiteDatabase mDatabase;
@@ -517,7 +509,7 @@ public class ImportExportTest {
}
@Test
public void corruptedImportNothingSaved() throws IOException {
public void corruptedImportNothingSaved() {
final int NUM_CARDS = 10;
for (DataFormat format : DataFormat.values()) {
@@ -538,7 +530,7 @@ public class ImportExportTest {
// ^ after the quote there should only be a , \n or EOF
String corruptEntry = "ThisStringIsLikelyNotPartOfAnyFormat,\"\"a";
ByteArrayInputStream inData = new ByteArrayInputStream((outData.toString() + corruptEntry).getBytes());
ByteArrayInputStream inData = new ByteArrayInputStream((outData + corruptEntry).getBytes());
// Attempt to import the data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, format, null);
@@ -617,18 +609,8 @@ public class ImportExportTest {
}
@Test
public void importWithoutColorsV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,AZTEC,0";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithoutColorsV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_no_colors.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -653,20 +635,8 @@ public class ImportExportTest {
}
@Test
public void importWithoutNullColorsV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,AZTEC,,,0";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithoutNullColorsV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_empty_colors.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -691,20 +661,8 @@ public class ImportExportTest {
}
@Test
public void importWithoutInvalidColorsV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,type,not a number,invalid,0";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithoutInvalidColorsV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_invalid_colors.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -715,20 +673,8 @@ public class ImportExportTest {
}
@Test
public void importWithNoBarcodeTypeV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,,1,1,0";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithNoBarcodeTypeV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_no_barcode_type.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -753,20 +699,8 @@ public class ImportExportTest {
}
@Test
public void importWithStarredFieldV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,AZTEC,1,1,1";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithStarredFieldV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_starred_field.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -791,20 +725,8 @@ public class ImportExportTest {
}
@Test
public void importWithNoStarredFieldV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,AZTEC,1,1,";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithNoStarredFieldV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_no_starred_field.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -829,39 +751,15 @@ public class ImportExportTest {
}
@Test
public void importWithInvalidStarFieldV1() throws IOException {
String csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,AZTEC,1,1,2";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
public void importWithInvalidStarFieldV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_invalid_starred_field.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
csvText = "";
csvText += DBHelper.LoyaltyCardDbIds.ID + "," +
DBHelper.LoyaltyCardDbIds.STORE + "," +
DBHelper.LoyaltyCardDbIds.NOTE + "," +
DBHelper.LoyaltyCardDbIds.CARD_ID + "," +
DBHelper.LoyaltyCardDbIds.BARCODE_TYPE + "," +
DBHelper.LoyaltyCardDbIds.HEADER_COLOR + "," +
DBHelper.LoyaltyCardDbIds.HEADER_TEXT_COLOR + "," +
DBHelper.LoyaltyCardDbIds.STAR_STATUS + "\n";
csvText += "1,store,note,12345,AZTEC,1,1,text";
inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
inputStream = getClass().getResourceAsStream("catima_v1_invalid_starred_field_2.csv");
// Import the CSV data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -888,11 +786,8 @@ public class ImportExportTest {
@Test
public void exportImportV2Zip() throws FileNotFoundException {
// Prepare images
BitmapDrawable launcher = (BitmapDrawable) ResourcesCompat.getDrawableForDensity(activity.getResources(), R.mipmap.ic_launcher, DisplayMetrics.DENSITY_XXXHIGH, activity.getTheme());
BitmapDrawable roundLauncher = (BitmapDrawable) ResourcesCompat.getDrawableForDensity(activity.getResources(), R.mipmap.ic_launcher_round, DisplayMetrics.DENSITY_XXXHIGH, activity.getTheme());
Bitmap launcherBitmap = launcher.getBitmap();
Bitmap roundLauncherBitmap = roundLauncher.getBitmap();
Bitmap bitmap1 = new LetterBitmap(activity.getApplicationContext(), "1", "1", 12, 64, 64, Color.BLACK, Color.YELLOW).getLetterTile();
Bitmap bitmap2 = new LetterBitmap(activity.getApplicationContext(), "2", "2", 12, 64, 64, Color.GREEN, Color.WHITE).getLetterTile();
// Set up cards and groups
HashMap<Integer, LoyaltyCard> loyaltyCardHashMap = new HashMap<>();
@@ -908,12 +803,12 @@ public class ImportExportTest {
List<Group> groups = Arrays.asList(DBHelper.getGroup(mDatabase, "One"));
DBHelper.setLoyaltyCardGroups(mDatabase, loyaltyCardId, groups);
loyaltyCardGroups.put(loyaltyCardId, groups);
Utils.saveCardImage(activity.getApplicationContext(), launcherBitmap, loyaltyCardId, ImageLocationType.front);
Utils.saveCardImage(activity.getApplicationContext(), roundLauncherBitmap, loyaltyCardId, ImageLocationType.back);
Utils.saveCardImage(activity.getApplicationContext(), launcherBitmap, loyaltyCardId, ImageLocationType.icon);
loyaltyCardFrontImages.put(loyaltyCardId, launcherBitmap);
loyaltyCardBackImages.put(loyaltyCardId, roundLauncherBitmap);
loyaltyCardIconImages.put(loyaltyCardId, launcherBitmap);
Utils.saveCardImage(activity.getApplicationContext(), bitmap1, loyaltyCardId, ImageLocationType.front);
Utils.saveCardImage(activity.getApplicationContext(), bitmap2, loyaltyCardId, ImageLocationType.back);
Utils.saveCardImage(activity.getApplicationContext(), bitmap1, loyaltyCardId, ImageLocationType.icon);
loyaltyCardFrontImages.put(loyaltyCardId, bitmap1);
loyaltyCardBackImages.put(loyaltyCardId, bitmap2);
loyaltyCardIconImages.put(loyaltyCardId, bitmap1);
// Create card 2
loyaltyCardId = (int) DBHelper.insertLoyaltyCard(mDatabase, "Card 2", "", null, null, new BigDecimal(0), null, "123456", null, null, 2, 1, null,0);
@@ -997,32 +892,7 @@ public class ImportExportTest {
@Test
public void importV2CSV() {
String csvText = "2\n" +
"\n" +
"_id\n" +
"Health\n" +
"Food\n" +
"Fashion\n" +
"\n" +
"_id,store,note,validfrom,expiry,balance,balancetype,cardid,barcodeid,headercolor,barcodetype,starstatus\n" +
"1,Card 1,Note 1,1601510400,1618053234,100,USD,1234,5432,1,QR_CODE,0,\r\n" +
"8,Clothes Store,Note about store,,,0,,a,,-5317,,0,\n" +
"2,Department Store,,,1618041729,0,,A,,-9977996,,0,\n" +
"3,Grocery Store,\"Multiline note about grocery store\n" +
"\n" +
"with blank line\",,,150,,dhd,,-9977996,,0,\n" +
"4,Pharmacy,,,,0,,dhshsvshs,,-10902850,,1,\n" +
"5,Restaurant,Note about restaurant here,,,0,,98765432,23456,-10902850,CODE_128,0,\n" +
"6,Shoe Store,,,,12.50,EUR,a,-5317,,AZTEC,0,\n" +
"\n" +
"cardId,groupId\n" +
"8,Fashion\n" +
"3,Food\n" +
"4,Health\n" +
"5,Food\n" +
"6,Fashion\n";
ByteArrayInputStream inputStream = new ByteArrayInputStream(csvText.getBytes(StandardCharsets.UTF_8));
InputStream inputStream = getClass().getResourceAsStream("catima_v2.csv");
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
@@ -1221,7 +1091,7 @@ public class ImportExportTest {
}
@Test
public void importStocard() throws IOException {
public void importStocard() {
// FIXME: The provided stocard.zip is a very old export (8 July 2021) manually edited to
// look more like the Stocard files provided by users for #1242. It is not an up-to-date
// export and the test is possibly unreliable. This should be replaced by an up-to-date
@@ -1294,33 +1164,8 @@ public class ImportExportTest {
}
@Test
public void importVoucherVault() throws IOException, FormatException, JSONException, ParseException {
String jsonText = "[\n" +
" {\n" +
" \"uuid\": \"ae1ae525-3f27-481e-853a-8c30b7fa12d8\",\n" +
" \"description\": \"Clothes Store\",\n" +
" \"code\": \"123456\",\n" +
" \"codeType\": \"CODE128\",\n" +
" \"expires\": null,\n" +
" \"removeOnceExpired\": true,\n" +
" \"balance\": null,\n" +
" \"balanceMilliunits\": null,\n" +
" \"color\": \"GREY\"\n" +
" },\n" +
" {\n" +
" \"uuid\": \"29a5d3b3-eace-4311-a15c-4c7e6a010531\",\n" +
" \"description\": \"Department Store\",\n" +
" \"code\": \"26846363\",\n" +
" \"codeType\": \"CODE39\",\n" +
" \"expires\": \"2021-03-26T00:00:00.000\",\n" +
" \"removeOnceExpired\": true,\n" +
" \"balance\": null,\n" +
" \"balanceMilliunits\": 3500,\n" +
" \"color\": \"PURPLE\"\n" +
" }\n" +
"]";
ByteArrayInputStream inputStream = new ByteArrayInputStream(jsonText.getBytes(StandardCharsets.UTF_8));
public void importVoucherVault() {
InputStream inputStream = getClass().getResourceAsStream("vouchervault.json");
// Import the Voucher Vault data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.VoucherVault, null);

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