Compare commits

..

331 Commits

Author SHA1 Message Date
Sylvia van Os
1c8c492400 Release Catima 2.31.1 2024-08-24 14:07:16 +02:00
Sylvia van Os
186db1d419 Merge pull request #2053 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-23 00:06:02 +02:00
Uporabnik Alen
b596628f81 Translated using Weblate (Slovenian)
Currently translated at 82.3% (257 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sl/
2024-08-22 23:09:22 +02:00
Sylvia van Os
74aad20d6b Merge pull request #2050 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-19 17:40:23 +02:00
Priit Jõerüüt
e7a50901ea Translated using Weblate (Estonian)
Currently translated at 100.0% (312 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/et/
2024-08-19 15:09:17 +00:00
Sylvia van Os
b7fa0dc70c Merge pull request #2048 from CatimaLoyalty/create-pull-request/patch-1723962057
Update Gradle to 8.10
2024-08-18 11:07:45 +02:00
Sylvia van Os
c19dc78f3e Merge pull request #2047 from CatimaLoyalty/create-pull-request/patch-1723954751
Update contributors
2024-08-18 09:57:18 +02:00
TheLastProject
c7639f0a02 Update Gradle to 8.10 2024-08-18 06:20:57 +00:00
TheLastProject
ad984b2ec4 Update contributors 2024-08-18 04:19:10 +00:00
Sylvia van Os
baa0378fa2 Merge pull request #2046 from CatimaLoyalty/create-pull-request/patch-1723902322
Update Fastlane changelogs
2024-08-17 17:08:52 +02:00
TheLastProject
9f422dc5ac Update Fastlane changelogs 2024-08-17 13:45:21 +00:00
Sylvia van Os
3ab28d8270 Update CHANGELOG 2024-08-17 15:45:08 +02:00
Sylvia van Os
f63950ff3c Merge pull request #2045 from obfusk/patch-9
update obfusk/gradle-update-action to v3.0.0
2024-08-17 12:46:28 +02:00
FC (Fay) Stegerman
b4dd713dab update obfusk/gradle-update-action to v3.0.0 2024-08-15 13:44:42 +00:00
unbiaseduser-github
80e4701d41 Make Back button/gesture not instantly collapse the MainActivity's search view (#2030) 2024-08-14 20:09:46 +02:00
Sylvia van Os
7c7a05f1f8 Merge pull request #2044 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-13 19:19:08 +02:00
Sylvia van Os
6e57d4711a Merge pull request #2043 from CatimaLoyalty/create-pull-request/patch-1723568443
Update locales
2024-08-13 19:18:41 +02:00
Priit Jõerüüt
626c4c956e Translated using Weblate (Estonian)
Currently translated at 100.0% (312 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/et/
2024-08-13 19:02:09 +02:00
ΣΤΑΥΡΟΣ ΔΑΛΙΑΚΟΠΟΥΛΟΣ
522ae07942 Translated using Weblate (Greek)
Currently translated at 100.0% (312 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/el/
2024-08-13 19:02:08 +02:00
TheLastProject
e5b7f723d2 Update locales 2024-08-13 17:00:43 +00:00
Sylvia van Os
1c8830f59c Merge pull request #2041 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-13 19:00:27 +02:00
Sylvia van Os
ad25cf9c9e Remove translated strings no longer in Catima 2024-08-13 18:04:50 +02:00
Priit Jõerüüt
c4c63e5ddc Added translation using Weblate (Estonian) 2024-08-12 23:30:58 +02:00
Priit Jõerüüt
443c858700 Translated using Weblate (Estonian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/et/
2024-08-12 23:30:57 +02:00
Sylvia van Os
c19b80f991 Merge pull request #2033 from AndreVero/AndreVero-remove-unused-strings-issue-2027
Remove unused strings from string.xml
2024-08-12 23:06:38 +02:00
Sylvia van Os
f3ee88b43c More cleanups 2024-08-12 23:01:27 +02:00
Sylvia van Os
1ac6ee6c59 Merge pull request #2040 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.6
Bump actions/upload-artifact from 4.3.5 to 4.3.6
2024-08-12 18:16:38 +02:00
dependabot[bot]
3f4da811ca Bump actions/upload-artifact from 4.3.5 to 4.3.6
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.5...v4.3.6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-12 02:25:26 +00:00
Sylvia van Os
598a9dd2da Merge pull request #2037 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-11 13:09:33 +02:00
Priit Jõerüüt
7a7a81d5c4 Translated using Weblate (Estonian)
Currently translated at 41.0% (130 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/et/
2024-08-11 09:09:56 +00:00
Peter Dave Hello
2730d157d8 Translated using Weblate (Chinese (Traditional))
Currently translated at 86.6% (117 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hant/
2024-08-11 09:09:56 +00:00
Peter Dave Hello
55519e487d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2024-08-11 09:09:53 +00:00
Sylvia van Os
55fb14b6df Merge pull request #2036 from CatimaLoyalty/create-pull-request/patch-1723349900
Update contributors
2024-08-11 10:45:26 +02:00
TheLastProject
6b8fdd9c5c Update contributors 2024-08-11 04:18:20 +00:00
Sylvia van Os
94b15220ea Merge pull request #2034 from CatimaLoyalty/dependabot/gradle/com.android.application-8.5.2
Bump com.android.application from 8.5.1 to 8.5.2
2024-08-09 08:21:29 +02:00
dependabot[bot]
bbb3be736e Bump com.android.application from 8.5.1 to 8.5.2
Bumps com.android.application from 8.5.1 to 8.5.2.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-09 02:29:54 +00:00
Sylvia van Os
0355dc6cf3 Merge pull request #2032 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-08 18:51:13 +02:00
Andrii
287918372a Remove unused strings from string.xml 2024-08-08 14:54:49 +01:00
Priit Jõerüüt
6597ec1b6e Translated using Weblate (Estonian)
Currently translated at 23.6% (75 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/et/
2024-08-08 02:09:16 +02:00
Sylvia van Os
3184db27d1 Merge pull request #2031 from CatimaLoyalty/create-pull-request/patch-1723047037
Update locales
2024-08-07 18:12:42 +02:00
TheLastProject
99434e69a7 Update locales 2024-08-07 16:10:36 +00:00
Sylvia van Os
cb0997a0b1 Merge pull request #2029 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-07 18:10:21 +02:00
Priit Jõerüüt
6fa2c71bd3 Added translation using Weblate (Estonian) 2024-08-07 01:57:36 +02:00
Sylvia van Os
2f66317190 Merge pull request #2025 from CatimaLoyalty/dependabot/github_actions/gradle/actions-4
Bump gradle/actions from 3 to 4
2024-08-05 18:11:05 +02:00
Sylvia van Os
c718d27a4c Merge pull request #2024 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.5
Bump actions/upload-artifact from 4.3.4 to 4.3.5
2024-08-05 18:04:04 +02:00
Sylvia van Os
cadb92c4ef Merge pull request #2026 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-05 17:07:33 +02:00
tygyh
16d66f6c90 Translated using Weblate (Swedish)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/sv/
2024-08-05 15:09:31 +02:00
Milo Ivir
5c157888af Translated using Weblate (Croatian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2024-08-05 15:09:30 +02:00
Sylvia van Os
a556899881 Translated using Weblate (Esperanto)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/eo/
2024-08-05 15:09:30 +02:00
하루
3ed6ad8b11 Translated using Weblate (Korean)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ko/
2024-08-05 15:09:29 +02:00
Allan Nordhøy
a06887e663 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.2% (305 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2024-08-05 15:09:28 +02:00
dependabot[bot]
ef9757df75 Bump gradle/actions from 3 to 4
Bumps [gradle/actions](https://github.com/gradle/actions) from 3 to 4.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3...v4)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 02:32:59 +00:00
dependabot[bot]
03811f1f39 Bump actions/upload-artifact from 4.3.4 to 4.3.5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.4...v4.3.5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 02:32:57 +00:00
Sylvia van Os
c1801ae450 Merge pull request #2023 from CatimaLoyalty/create-pull-request/patch-1722776436
Update feature graphic
2024-08-04 15:01:16 +02:00
TheLastProject
24ee045dcf Update feature graphic 2024-08-04 13:00:35 +00:00
Sylvia van Os
06c0ddf6ae Merge pull request #2022 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-04 14:59:31 +02:00
Hosted Weblate
e22a7c3063 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/
2024-08-04 08:09:35 +02:00
Amir
b91dcc8e27 Translated using Weblate (Persian)
Currently translated at 35.3% (112 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fa/
2024-08-04 08:09:34 +02:00
ed tavinor
496ba82835 Translated using Weblate (Esperanto)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/eo/
2024-08-04 08:09:34 +02:00
ed tavinor
410518e677 Translated using Weblate (Esperanto)
Currently translated at 1.4% (2 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/eo/
2024-08-04 08:09:33 +02:00
ed tavinor
7cafebab7d Translated using Weblate (Esperanto)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/eo/
2024-08-04 08:09:32 +02:00
Sylvia van Os
429e22cc5e Merge pull request #2021 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-02 23:47:05 +02:00
ed tavinor
1edc17fb7e Translated using Weblate (Esperanto)
Currently translated at 75.3% (239 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/eo/
2024-08-02 22:09:36 +02:00
Alexander Kulumbeg
dd3cf771bd Translated using Weblate (Slovak)
Currently translated at 99.2% (134 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2024-08-02 22:09:36 +02:00
Alexander Kulumbeg
eebb5e5cd4 Translated using Weblate (Slovak)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sk/
2024-08-02 22:09:35 +02:00
Sylvia van Os
46fc2aab55 Merge pull request #2019 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-08-01 21:42:05 +02:00
ed tavinor
b765560fff Translated using Weblate (Esperanto)
Currently translated at 40.0% (127 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/eo/
2024-08-01 21:09:16 +02:00
Sylvia van Os
6a3dd841b0 Merge pull request #2018 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-31 18:58:39 +02:00
Scrambled777
1b899a40a5 Translated using Weblate (Hindi)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-07-31 16:38:12 +02:00
Sylvia van Os
a05769c42d Update fastlane 2024-07-28 13:12:41 +02:00
Sylvia van Os
2c2ff2d1d2 Merge pull request #2016 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-28 13:08:24 +02:00
kompowiec2
045363f138 Translated using Weblate (Polish)
Currently translated at 97.0% (131 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pl/
2024-07-28 11:10:32 +02:00
kompowiec2
6860e1deb0 Translated using Weblate (Polish)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2024-07-28 11:10:31 +02:00
Sylvia van Os
469ed374ad Release Catima 2.31.0 2024-07-26 18:13:40 +02:00
Sylvia van Os
d952f194be Merge pull request #2014 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-25 18:38:43 +02:00
大王叫我来巡山
ccbf4afd44 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-07-25 02:09:51 +00:00
solokot
2b1a950204 Translated using Weblate (Russian)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-07-25 02:09:50 +00:00
Sylvia van Os
e930ee8efd Merge pull request #2013 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-24 19:42:31 +02:00
gallegonovato
d469e50985 Translated using Weblate (Spanish)
Currently translated at 48.8% (66 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2024-07-24 03:28:16 +02:00
Sylvia van Os
39ba630479 Merge pull request #2012 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-23 18:18:13 +02:00
Francisco (F4VSE)
074f84818d Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_PT/
2024-07-23 14:10:02 +00:00
Francisco (F4VSE)
dd645a761d Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt_PT/
2024-07-23 14:10:01 +00:00
grgergo
a12125e26d Translated using Weblate (Hungarian)
Currently translated at 99.3% (315 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2024-07-23 14:10:00 +00:00
Sylvia van Os
67e82c5d8f Translated using Weblate (Dutch)
Currently translated at 53.3% (72 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nl/
2024-07-23 14:10:00 +00:00
Francisco (F4VSE)
52b30cf988 Translated using Weblate (French)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2024-07-23 14:09:59 +00:00
Monika
ccfdc5f3b5 Translated using Weblate (Polish)
Currently translated at 99.3% (315 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2024-07-23 14:09:59 +00:00
Francisco (F4VSE)
339d002529 Translated using Weblate (French)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-07-23 14:09:58 +00:00
Sylvia van Os
5afe0bdc59 Merge pull request #2011 from CatimaLoyalty/create-pull-request/patch-1721672428
Update Fastlane changelogs
2024-07-22 20:22:34 +02:00
TheLastProject
59d3a74206 Update Fastlane changelogs 2024-07-22 18:20:28 +00:00
Sylvia van Os
58d3d29fbe Merge pull request #2010 from CatimaLoyalty/fix/1971
Fix chip contrast in dark mode
2024-07-22 20:20:13 +02:00
Sylvia van Os
c340544886 Fix chip contrast in dark mode 2024-07-22 19:47:01 +02:00
Sylvia van Os
c137e6178a Merge pull request #2009 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-22 19:21:45 +02:00
arbadacarba
98f1fd42f6 Translated using Weblate (Dutch)
Currently translated at 53.3% (72 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nl/
2024-07-22 13:09:52 +00:00
Sylvia van Os
f344a3b125 Translated using Weblate (Dutch)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2024-07-22 13:09:28 +00:00
Giovanni Donisi
24bdffdce8 Translated using Weblate (Italian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2024-07-22 13:09:28 +00:00
Sylvia van Os
853f4aabfc Translated using Weblate (German)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-07-22 13:09:27 +00:00
Sylvia van Os
439cd870e5 Translated using Weblate (German)
Currently translated at 95.5% (129 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-07-21 14:43:29 +02:00
arbadacarba
ab47a769ea Translated using Weblate (Dutch)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2024-07-21 14:43:27 +02:00
SaMuTa
b73b6584c2 Translated using Weblate (Arabic)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2024-07-21 10:09:57 +00:00
gallegonovato
06f4fb29b4 Translated using Weblate (Spanish)
Currently translated at 48.1% (65 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2024-07-21 10:09:56 +00:00
arbadacarba
3d19acd434 Translated using Weblate (German)
Currently translated at 95.5% (129 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-07-21 10:09:55 +00:00
arbadacarba
40dd882857 Translated using Weblate (German)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-07-21 10:09:55 +00:00
Sylvia van Os
029f49078e Merge pull request #2007 from CatimaLoyalty/create-pull-request/patch-1721535313
Update contributors
2024-07-21 09:48:37 +02:00
TheLastProject
d5f19877f2 Update contributors 2024-07-21 04:15:12 +00:00
Sylvia van Os
9679b0746b Merge pull request #2006 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-20 13:58:23 +02:00
Scrambled777
55209cbca5 Translated using Weblate (Hindi)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-07-20 08:09:40 +02:00
Scrambled777
63d7ea9b06 Translated using Weblate (Hindi)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2024-07-20 08:09:39 +02:00
Sylvia van Os
1062d9a302 Merge pull request #2005 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-19 17:08:20 +02:00
André Nunes
30b2243d1e Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.3% (315 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_PT/
2024-07-18 13:10:11 +00:00
大王叫我来巡山
9f755c2939 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-07-18 13:10:10 +00:00
IllusiveMan196
375f6d9117 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-07-18 13:10:10 +00:00
solokot
1e3b6f197d Translated using Weblate (Russian)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-07-18 13:10:09 +00:00
IllusiveMan196
9cf21f9d75 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-07-18 13:10:09 +00:00
Fqwe1
033168cc8d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-07-18 13:10:08 +00:00
Sylvia van Os
e698240a91 Merge pull request #2003 from CatimaLoyalty/create-pull-request/patch-1721230720
Update locales
2024-07-17 18:51:03 +02:00
TheLastProject
83df2a3262 Update locales 2024-07-17 15:38:40 +00:00
Sylvia van Os
9dce540451 Merge pull request #2002 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-17 17:38:27 +02:00
Lugi
b8f683a335 Translated using Weblate (Serbian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sr/
2024-07-17 14:27:16 +02:00
Lugi
9781d9bbd9 Translated using Weblate (Serbian)
Currently translated at 93.3% (296 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sr/
2024-07-17 14:09:44 +02:00
Lugi
43f81c5368 Translated using Weblate (Serbian)
Currently translated at 93.0% (295 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sr/
2024-07-17 14:09:43 +02:00
Zero
c702d1523c Translated using Weblate (Czech)
Currently translated at 98.5% (133 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2024-07-17 14:09:42 +02:00
solokot
4def250361 Translated using Weblate (Russian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2024-07-17 14:09:41 +02:00
Zero
c34455db3c Translated using Weblate (Czech)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2024-07-17 14:09:40 +02:00
Sylvia van Os
e252d80de9 Merge pull request #2001 from CatimaLoyalty/create-pull-request/patch-1721143752
Update locales
2024-07-16 18:22:49 +02:00
TheLastProject
60cf1dbf23 Update locales 2024-07-16 15:29:12 +00:00
Sylvia van Os
5839a6b2c5 Merge pull request #2000 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-16 17:29:00 +02:00
Lugi
c0da6a3176 Added translation using Weblate (Serbian) 2024-07-16 12:01:51 +00:00
Jose Delvani
85d5316d1f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-07-16 12:01:51 +00:00
Oğuz Ersen
cb9493eb6e Translated using Weblate (Turkish)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2024-07-16 12:01:50 +00:00
109247019824
cfb473df8c Translated using Weblate (Bulgarian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2024-07-16 12:01:50 +00:00
大王叫我来巡山
2ff395f5ef Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2024-07-16 12:01:49 +00:00
Renko
73fa270fce Translated using Weblate (Romanian)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-07-16 12:01:49 +00:00
gallegonovato
552d49ea7b Translated using Weblate (Spanish)
Currently translated at 100.0% (317 of 317 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2024-07-16 12:01:48 +00:00
Sylvia van Os
f1f6dea5e7 Merge pull request #1999 from CatimaLoyalty/create-pull-request/patch-1721069315
Update Fastlane changelogs
2024-07-15 20:51:17 +02:00
TheLastProject
a677b004b3 Update Fastlane changelogs 2024-07-15 18:48:35 +00:00
Sylvia van Os
fd34f59ff9 Update CHANGELOG 2024-07-15 20:48:20 +02:00
Sylvia van Os
0c09707744 Merge pull request #1998 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-15 18:02:24 +02:00
ssantos
142da5b0b6 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt_PT/
2024-07-15 14:09:49 +02:00
109247019824
80b72c1984 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2024-07-15 14:09:49 +02:00
Sylvia van Os
e9f87684af Merge pull request #1997 from CatimaLoyalty/dependabot/github_actions/actions/setup-python-5.1.1
Bump actions/setup-python from 5.1.0 to 5.1.1
2024-07-15 08:23:08 +02:00
dependabot[bot]
5fb2f546b0 Bump actions/setup-python from 5.1.0 to 5.1.1
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.1.0...v5.1.1)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 02:37:47 +00:00
Sylvia van Os
c234444026 Merge pull request #1996 from CatimaLoyalty/create-pull-request/patch-1720930686
Update contributors
2024-07-14 09:23:54 +02:00
TheLastProject
eda9dfaa10 Update contributors 2024-07-14 04:18:06 +00:00
Sylvia van Os
4f13827ae0 Merge pull request #1934 from CatimaLoyalty/feature/1675
Support setting front or back image as thumbnail
2024-07-13 18:17:31 +02:00
Sylvia van Os
47b076b41d Support setting front or back image as thumbnail 2024-07-13 18:15:05 +02:00
Sylvia van Os
1e40241219 Merge pull request #1995 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-13 14:17:17 +02:00
Fqwe1
796f4c918d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-07-13 11:09:21 +00:00
solokot
ae6ce7f443 Translated using Weblate (Russian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2024-07-13 11:09:20 +00:00
Sylvia van Os
95189ce5ce Merge pull request #1994 from CatimaLoyalty/create-pull-request/patch-1720765275
Update Gradle to 8.9
2024-07-12 19:09:51 +02:00
TheLastProject
8de78406d5 Update Gradle to 8.9 2024-07-12 06:21:15 +00:00
Sylvia van Os
ea253313d5 Merge pull request #1993 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-12 07:09:46 +02:00
Sylvia van Os
c3413c4340 Merge pull request #1991 from CatimaLoyalty/dependabot/gradle/com.android.application-8.5.1
Bump com.android.application from 8.5.0 to 8.5.1
2024-07-12 07:08:34 +02:00
Leo
d22e6ca984 Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-07-12 03:24:13 +00:00
dependabot[bot]
9b8ab86219 Bump com.android.application from 8.5.0 to 8.5.1
Bumps com.android.application from 8.5.0 to 8.5.1.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-12 02:31:50 +00:00
Sylvia van Os
8a9c603725 Merge pull request #1990 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-11 18:57:36 +02:00
ssantos
8f4da1b601 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_PT/
2024-07-11 16:09:31 +00:00
yazan abu alenain
ce917be59d Translated using Weblate (Arabic)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2024-07-11 16:09:31 +00:00
Sylvia van Os
1b1d8788df Translated using Weblate (Romanian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-07-11 16:09:30 +00:00
Jan Novotny
c126bff23c Translated using Weblate (Czech)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2024-07-11 16:09:29 +00:00
Renko
64355e0ddc Translated using Weblate (Romanian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-07-10 16:09:23 +02:00
Diego Beraldin
510b7a0e56 Translated using Weblate (Italian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2024-07-10 16:09:22 +02:00
Sylvia van Os
12da47d34a Merge pull request #1988 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.13
Bump org.robolectric:robolectric from 4.12.2 to 4.13
2024-07-09 08:22:23 +02:00
dependabot[bot]
3dca6c1db2 Bump org.robolectric:robolectric from 4.12.2 to 4.13
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.12.2 to 4.13.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.12.2...robolectric-4.13)

---
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>
2024-07-09 02:05:32 +00:00
Sylvia van Os
29aec92a7a Merge pull request #1987 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-08 19:45:36 +02:00
Oğuz Ersen
c373c1f9dd Translated using Weblate (Turkish)
Currently translated at 74.0% (100 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2024-07-08 19:10:35 +02:00
Sylvia van Os
cba7c77fa2 Merge pull request #1986 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-08 19:04:22 +02:00
Oğuz Ersen
80e3db0b2d Translated using Weblate (Turkish)
Currently translated at 73.3% (99 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2024-07-08 18:53:38 +02:00
Jose Delvani
4452336aa0 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-07-08 18:53:38 +02:00
Scrambled777
d0710a16b6 Translated using Weblate (Hindi)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2024-07-08 18:53:37 +02:00
Oğuz Ersen
38f603cc0d Translated using Weblate (Turkish)
Currently translated at 72.5% (98 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2024-07-08 18:53:37 +02:00
Oğuz Ersen
5a6652c864 Translated using Weblate (Turkish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2024-07-08 18:53:37 +02:00
大王叫我来巡山
59ed3e3fba Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2024-07-08 18:53:37 +02:00
gallegonovato
870720ad4b Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2024-07-08 18:53:37 +02:00
Kachelkaiser
7d7d5280c5 Translated using Weblate (German)
Currently translated at 100.0% (315 of 315 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-07-08 18:53:37 +02:00
Sylvia van Os
a93ee4bbff Merge pull request #1985 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.4
Bump actions/upload-artifact from 4.3.3 to 4.3.4
2024-07-08 07:05:12 +02:00
dependabot[bot]
d9b719103a Bump actions/upload-artifact from 4.3.3 to 4.3.4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.3...v4.3.4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 02:35:21 +00:00
Sylvia van Os
c65f488536 Merge pull request #1984 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-07 23:44:55 +02:00
Scrambled777
3c11817edb Translated using Weblate (Hindi)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-07-07 21:10:32 +00:00
solokot
8a5dac9c24 Translated using Weblate (Russian)
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-07-07 21:10:32 +00:00
Sylvia van Os
968729fbe6 Merge pull request #1983 from CatimaLoyalty/fix/importExportHacks
Fix/import export hacks
2024-07-07 20:00:24 +02:00
Sylvia van Os
8a8d5c65f2 Fix cancelling import/export by tapping away from dialog 2024-07-07 14:06:31 +02:00
Sylvia van Os
80e05a0392 Hack: Don't turn screen off in import/export activity to avoid background kills 2024-07-07 14:06:02 +02:00
Sylvia van Os
2374e998ee Merge pull request #1982 from CatimaLoyalty/create-pull-request/patch-1720325722
Update contributors
2024-07-07 12:09:42 +02:00
TheLastProject
48b6b83fba Update contributors 2024-07-07 04:15:22 +00:00
Sylvia van Os
6eac516d01 Merge pull request #1981 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-06 21:30:57 +02:00
大王叫我来巡山
f1d42ccc77 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (135 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-07-06 20:09:33 +02:00
Renko
68ebf3243f Translated using Weblate (Romanian)
Currently translated at 3.7% (5 of 135 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ro/
2024-07-06 20:09:33 +02:00
Renko
f8a93ed5f2 Translated using Weblate (Romanian)
Currently translated at 99.3% (311 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-07-06 20:09:32 +02:00
Sylvia van Os
ce14cd0447 Merge pull request #1976 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-05 17:54:24 +02:00
leccro
ee5ac2785d Translated using Weblate (Persian)
Currently translated at 15.6% (49 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fa/
2024-07-05 17:04:58 +02:00
Sylvia van Os
1c68bfea8d Merge pull request #1968 from CatimaLoyalty/create-pull-request/patch-1719862199
Update Fastlane changelogs
2024-07-01 21:30:24 +02:00
TheLastProject
a097264983 Update Fastlane changelogs 2024-07-01 19:29:59 +00:00
Sylvia van Os
19d5c1144e Merge pull request #1965 from CatimaLoyalty/fix/allow_multiline_store_name_if_needed
Allow store name thumbnails to span multiple lines
2024-07-01 21:29:46 +02:00
Sylvia van Os
c123dd5d42 Allow store name thumbnails to span multiple lines
Allowing spanning multiple lines helps in case the store name doesn't
fit on a single line. However, the store name should fit a single line
if possible because it looks better when the store name isn't split
among lines. Due to limitations in Android's autoSizeTextType system,
this needs a fairly ugly workaround.
2024-07-01 19:42:35 +02:00
Sylvia van Os
3fe0fec801 Merge pull request #1966 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-07-01 17:42:06 +02:00
109247019824
245ff6ade9 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2024-07-01 00:05:58 +02:00
Sylvia van Os
353cf1daad Merge pull request #1964 from CatimaLoyalty/create-pull-request/patch-1719720956
Update contributors
2024-06-30 10:13:43 +02:00
TheLastProject
2e5dbd5cc1 Update contributors 2024-06-30 04:15:56 +00:00
Sylvia van Os
7d6ce95998 Merge pull request #1963 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-30 00:23:31 +02:00
Jose Delvani
dca9816fbe Translated using Weblate (Portuguese (Brazil))
Currently translated at 2.2% (3 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt_BR/
2024-06-29 22:36:07 +02:00
Sylvia van Os
a5eee0a3b1 Update README paths 2024-06-28 20:59:58 +02:00
Sylvia van Os
5d0b890de9 Merge pull request #1958 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-28 17:14:15 +02:00
Jose Delvani
7c6492965f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-28 05:09:31 +02:00
Sylvia van Os
5f5280e2a6 Merge pull request #1957 from CatimaLoyalty/dependabot/gradle/androidx.test-core-1.6.1
Bump androidx.test:core from 1.6.0 to 1.6.1
2024-06-27 17:40:43 +02:00
dependabot[bot]
220d6cb993 Bump androidx.test:core from 1.6.0 to 1.6.1
Bumps androidx.test:core from 1.6.0 to 1.6.1.

---
updated-dependencies:
- dependency-name: androidx.test:core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-27 02:13:00 +00:00
Sylvia van Os
5f33807560 Merge pull request #1956 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-26 17:54:21 +02:00
Marian Turba
6d64a900f0 Translated using Weblate (Slovak)
Currently translated at 97.0% (130 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2024-06-26 15:09:57 +02:00
Allan Nordhøy
3550c2a9f7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (303 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2024-06-26 15:09:56 +02:00
Sylvia van Os
0bdda70761 Merge pull request #1955 from CatimaLoyalty/dependabot/gradle/androidx.test-core-1.6.0
Bump androidx.test:core from 1.5.0 to 1.6.0
2024-06-25 17:52:25 +02:00
dependabot[bot]
01debf1a09 Bump androidx.test:core from 1.5.0 to 1.6.0
Bumps androidx.test:core from 1.5.0 to 1.6.0.

---
updated-dependencies:
- dependency-name: androidx.test:core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-25 02:02:34 +00:00
Sylvia van Os
76df487661 Merge pull request #1953 from CatimaLoyalty/dependabot/github_actions/peter-evans/create-pull-request-6.1.0
Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0
2024-06-24 21:58:08 +02:00
dependabot[bot]
73a129b430 Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.0.5 to 6.1.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6.0.5...v6.1.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 02:09:21 +00:00
Sylvia van Os
71afba8ab9 Merge pull request #1951 from CatimaLoyalty/create-pull-request/patch-1719116160
Update contributors
2024-06-23 13:58:06 +02:00
TheLastProject
c0b01fca35 Update contributors 2024-06-23 04:16:00 +00:00
Sylvia van Os
7158de8b81 Merge pull request #1950 from CatimaLoyalty/create-pull-request/patch-1719066500
Update feature graphic
2024-06-22 16:39:03 +02:00
TheLastProject
c1afefb712 Update feature graphic 2024-06-22 14:28:19 +00:00
Sylvia van Os
d924029a5a Merge pull request #1946 from CatimaLoyalty/fix/featuregraphic_generation
Fix kn-IN feature graphic generation
2024-06-22 16:27:19 +02:00
Sylvia van Os
f5d104fa68 Fix kn-IN feature graphic generation 2024-06-22 16:25:33 +02:00
Sylvia van Os
1c0c1c6efc Merge pull request #1941 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-21 21:28:13 +02:00
Sylvia van Os
4d4e449150 Update fastlane 2024-06-20 17:13:09 +02:00
Krisna A. Prayoga
900f92cbd6 Translated using Weblate (Indonesian)
Currently translated at 97.0% (130 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2024-06-19 17:09:45 +00:00
Krisna A. Prayoga
48aab74737 Translated using Weblate (Indonesian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2024-06-19 17:09:44 +00:00
しいたけ
427aa039d6 Translated using Weblate (Japanese)
Currently translated at 3.7% (5 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ja/
2024-06-19 17:09:43 +00:00
ΣΤΑΥΡΟΣ ΔΑΛΙΑΚΟΠΟΥΛΟΣ
91909e2ce3 Translated using Weblate (Greek)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/el/
2024-06-19 17:09:42 +00:00
Sylvia van Os
967f20edc7 Add missing date to changelog 2024-06-19 18:51:24 +02:00
Sylvia van Os
61d2e9545e Release Catima 2.30.0 2024-06-18 18:01:49 +02:00
Sylvia van Os
b1ea40abeb Merge pull request #1938 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-18 18:00:49 +02:00
Jose Delvani
b898be199c Translated using Weblate (Portuguese (Brazil))
Currently translated at 2.2% (3 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt_BR/
2024-06-18 06:09:26 +02:00
Jose Delvani
e82b61ed7e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/pt_BR/
2024-06-18 06:09:25 +02:00
Jose Delvani
31aef55343 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-18 06:09:24 +02:00
Sylvia van Os
3da7797ecc Merge pull request #1935 from CatimaLoyalty/dependabot/github_actions/actions/checkout-4.1.7
Bump actions/checkout from 4.1.6 to 4.1.7
2024-06-17 07:26:29 +02:00
Sylvia van Os
b677a34942 Merge pull request #1937 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-17 07:24:32 +02:00
Jose Delvani
8275a0da69 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-17 05:47:41 +02:00
Jose Delvani
cc86506868 Added translation using Weblate (Portuguese (Brazil)) 2024-06-17 05:47:41 +02:00
dependabot[bot]
83ee75dc55 Bump actions/checkout from 4.1.6 to 4.1.7
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.6...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 02:25:13 +00:00
Sylvia van Os
a8d92c1e69 Merge pull request #1932 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-16 10:34:05 +02:00
Bruno Fernandes
ccf98f9b32 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.4% (308 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-16 07:22:42 +00:00
Jose Delvani
6c17498481 Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.4% (308 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-16 07:22:41 +00:00
Sylvia van Os
ce9794f72f Merge pull request #1931 from CatimaLoyalty/create-pull-request/patch-1718511342
Update contributors
2024-06-16 09:13:17 +02:00
TheLastProject
a48ddeef7f Update contributors 2024-06-16 04:15:41 +00:00
Sylvia van Os
864298cee8 Merge pull request #1928 from CatimaLoyalty/create-pull-request/patch-1718441664
Update locales
2024-06-15 11:08:09 +02:00
TheLastProject
63b48685a6 Update locales 2024-06-15 08:54:23 +00:00
Sylvia van Os
37d4c2c552 Merge pull request #1927 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-15 10:54:09 +02:00
Bruno Fernandes
0515f7876b Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.8% (303 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-14 22:09:59 +02:00
grgergo
9e801f0f1c Translated using Weblate (Hungarian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2024-06-14 22:09:58 +02:00
IllusiveMan196
c7a8d6ddae Translated using Weblate (Ukrainian)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-06-14 22:09:58 +02:00
Kachelkaiser
0f828b5663 Translated using Weblate (German)
Currently translated at 94.0% (126 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-06-14 22:09:57 +02:00
IllusiveMan196
3f28a69d7d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-06-14 22:09:56 +02:00
Cosmin Humeniuc
8980d92263 Translated using Weblate (Romanian)
Currently translated at 99.0% (310 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-06-14 22:09:56 +02:00
Francisco Gabriel Chardin
dd7512cc62 Translated using Weblate (Spanish (Argentina))
Currently translated at 74.1% (232 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es_AR/
2024-06-14 22:09:55 +02:00
Kachelkaiser
3005f7d845 Translated using Weblate (German)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-06-14 22:09:55 +02:00
Sylvia van Os
cbbd90a884 Merge pull request #1926 from CatimaLoyalty/dependabot/gradle/com.android.application-8.5.0
Bump com.android.application from 8.4.2 to 8.5.0
2024-06-14 08:18:08 +02:00
dependabot[bot]
883803d348 Bump com.android.application from 8.4.2 to 8.5.0
Bumps com.android.application from 8.4.2 to 8.5.0.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-14 03:00:13 +00:00
Sylvia van Os
56b73ef7e2 Merge pull request #1925 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-13 20:24:01 +02:00
Martijn Westerink
b1c98d33e5 Translated using Weblate (Dutch)
Currently translated at 19.4% (26 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nl/
2024-06-13 19:08:13 +02:00
Martijn Westerink
4a4feea1be Translated using Weblate (Dutch)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2024-06-13 19:08:12 +02:00
Sylvia van Os
ea015b531a Merge pull request #1924 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-12 18:07:58 +02:00
Scrambled777
5b8c40dd8a Translated using Weblate (Hindi)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-06-12 01:04:25 +00:00
Scrambled777
4859499179 Translated using Weblate (Hindi)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2024-06-12 01:04:24 +00:00
grgergo
0e6cdbbb6b Translated using Weblate (Hungarian)
Currently translated at 99.6% (312 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2024-06-12 01:04:23 +00:00
Sylvia van Os
cc8c8ead2e Merge pull request #1922 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-11 18:44:04 +02:00
Sylvia van Os
2b6a4ef466 Merge pull request #1921 from CatimaLoyalty/dependabot/gradle/com.android.application-8.4.2
Bump com.android.application from 8.4.1 to 8.4.2
2024-06-11 18:42:55 +02:00
Wei-Cheng Yeh (IID)
a3b9d78463 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/zh_Hant/
2024-06-11 10:09:57 +02:00
ngocanhtve
7873d21644 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2024-06-11 10:09:56 +02:00
GrassWarlock
2ad1b08de2 Translated using Weblate (Arabic)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2024-06-11 10:09:55 +02:00
Wei-Cheng Yeh (IID)
4fae252d0a Translated using Weblate (Chinese (Traditional))
Currently translated at 6.7% (9 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hant/
2024-06-11 10:09:54 +02:00
Wei-Cheng Yeh (IID)
f89179da21 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2024-06-11 10:09:54 +02:00
GregoryWarn
b4e63f89ce Translated using Weblate (Italian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2024-06-11 10:09:53 +02:00
dependabot[bot]
ff872edc4b Bump com.android.application from 8.4.1 to 8.4.2
Bumps com.android.application from 8.4.1 to 8.4.2.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-11 02:22:30 +00:00
Sylvia van Os
013258d421 Merge pull request #1919 from CatimaLoyalty/create-pull-request/patch-1717928359
Update locales
2024-06-09 12:29:42 +02:00
TheLastProject
15575e4189 Update locales 2024-06-09 10:19:18 +00:00
Sylvia van Os
3c051cde95 Merge pull request #1918 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-09 12:19:03 +02:00
Hosted Weblate
5d2a173e22 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/
2024-06-09 10:10:13 +00:00
Sylvia van Os
a2032ab730 Translated using Weblate (Filipino)
Currently translated at 15.3% (48 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fil/
2024-06-09 10:10:12 +00:00
しいたけ
9e4d8b846c Translated using Weblate (Japanese)
Currently translated at 84.0% (263 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-06-09 10:10:12 +00:00
solokot
7e8dd2dc2e Translated using Weblate (Russian)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-06-09 10:10:11 +00:00
Mael
b73d0f1836 Translated using Weblate (French)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2024-06-09 10:10:11 +00:00
solokot
b478e54ec0 Translated using Weblate (Russian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2024-06-09 10:10:10 +00:00
Sylvia van Os
cf8c6b8c24 Translated using Weblate (Hebrew (Israel))
Currently translated at 29.0% (91 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/he_IL/
2024-06-09 10:10:09 +00:00
Mael
d64294284a Translated using Weblate (French)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-06-09 10:10:09 +00:00
Alik Majid
098468e6bd Translated using Weblate (Russian)
Currently translated at 99.3% (311 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2024-06-09 10:10:08 +00:00
SC
cebc87a197 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_PT/
2024-06-09 10:10:07 +00:00
SC
0d3ceb0e61 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt_PT/
2024-06-09 10:10:07 +00:00
Oğuz Ersen
e017b07337 Translated using Weblate (Turkish)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2024-06-09 10:10:06 +00:00
大王叫我来巡山
c4ec81f22b Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-06-09 10:10:05 +00:00
大王叫我来巡山
c597df056d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2024-06-09 10:10:05 +00:00
Wendell Nicolas
5517b418ac Translated using Weblate (Filipino)
Currently translated at 15.6% (49 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fil/
2024-06-09 10:10:04 +00:00
拉夫西奧·羅齊奧馬爾
81e7642bb8 Translated using Weblate (Polish)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2024-06-09 10:10:03 +00:00
Wendell Nicolas
17718d5349 Translated using Weblate (Hebrew (Israel))
Currently translated at 29.0% (91 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/he_IL/
2024-06-09 10:10:03 +00:00
gallegonovato
f5ef97fa30 Translated using Weblate (Spanish)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2024-06-09 10:10:02 +00:00
Wendell Nicolas
30c6657148 Added translation using Weblate (Filipino) 2024-06-09 10:10:01 +00:00
Sylvia van Os
2b173dc7f6 Merge pull request #1917 from CatimaLoyalty/create-pull-request/patch-1717906588
Update contributors
2024-06-09 11:00:17 +02:00
TheLastProject
cd48a28b5a Update contributors 2024-06-09 04:16:27 +00:00
Sylvia van Os
b7ad5f1f42 Merge pull request #1915 from CatimaLoyalty/create-pull-request/patch-1717619102
Update Fastlane changelogs
2024-06-05 22:25:39 +02:00
TheLastProject
9bf6795328 Update Fastlane changelogs 2024-06-05 20:25:01 +00:00
Sylvia van Os
4364189b3e Update CHANGELOG 2024-06-05 22:24:42 +02:00
Sylvia van Os
40676a365f Merge pull request #1912 from CatimaLoyalty/fix/1907
Support for devices without camera
2024-06-05 22:13:38 +02:00
Sylvia van Os
97314a0436 Rename camera permission denied layout to more logical generic error layout name 2024-06-05 20:07:52 +02:00
Sylvia van Os
d1b93018e3 Show generic zxing errors on the camera error screen 2024-06-05 20:07:46 +02:00
Sylvia van Os
a6b7b227f7 Support for devices without camera
This hides the take photo options for thumbnail and front/back image and
shows a different alert if no camera is available
2024-06-04 18:18:29 +02:00
Sylvia van Os
1c6a5454b8 Merge pull request #1913 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-03 18:55:37 +02:00
Marian Turba
06745becd7 Translated using Weblate (Slovak)
Currently translated at 95.5% (128 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2024-06-03 11:09:59 +02:00
solokot
c172a12956 Translated using Weblate (Russian)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-06-03 11:09:59 +02:00
Marian Turba
c6f18fb7b2 Translated using Weblate (Slovak)
Currently translated at 100.0% (312 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sk/
2024-06-03 11:09:58 +02:00
min7-i
dc3fabbbb9 Translated using Weblate (German)
Currently translated at 100.0% (312 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-06-03 11:09:58 +02:00
Sylvia van Os
905402ebab Merge pull request #1911 from CatimaLoyalty/create-pull-request/patch-1717222760
Update Gradle to 8.8
2024-06-01 09:52:10 +02:00
Sylvia van Os
fbed0d7857 Merge pull request #1910 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-01 09:48:00 +02:00
TheLastProject
cc74395297 Update Gradle to 8.8 2024-06-01 06:19:20 +00:00
HackerSinhos
560c55d5db Translated using Weblate (Portuguese (Brazil))
Currently translated at 32.0% (100 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-06-01 05:10:42 +00:00
Sylvia van Os
a45c972a38 Merge pull request #1908 from CatimaLoyalty/dependabot/gradle/androidx.appcompat-appcompat-1.7.0
Bump androidx.appcompat:appcompat from 1.6.1 to 1.7.0
2024-05-31 17:40:00 +02:00
dependabot[bot]
51c1af5ad9 Bump androidx.appcompat:appcompat from 1.6.1 to 1.7.0
Bumps androidx.appcompat:appcompat from 1.6.1 to 1.7.0.

---
updated-dependencies:
- dependency-name: androidx.appcompat:appcompat
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-30 02:11:34 +00:00
Sylvia van Os
d537164799 Merge pull request #1906 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-05-27 19:40:12 +02:00
hugoalh
012910268b Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (312 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2024-05-27 14:09:37 +02:00
tabby
74d9068925 Translated using Weblate (Korean)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ko/
2024-05-27 14:09:36 +02:00
Allan Nordhøy
5d68f558a1 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.7% (302 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2024-05-27 14:09:35 +02:00
Sylvia van Os
2164c1a51a Merge pull request #1904 from CatimaLoyalty/create-pull-request/patch-1716696873
Update contributors
2024-05-26 11:27:55 +02:00
TheLastProject
5f180fc289 Update contributors 2024-05-26 04:14:33 +00:00
Sylvia van Os
5be44d9bd2 Merge pull request #1903 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-05-25 14:41:31 +02:00
Asmodeus
54c9857072 Translated using Weblate (Portuguese (Brazil))
Currently translated at 20.8% (65 of 312 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_BR/
2024-05-25 14:09:48 +02:00
Scrambled777
c48ac797f6 Translated using Weblate (Hindi)
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-05-25 14:09:47 +02:00
大王叫我来巡山
9180d22629 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (134 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-05-25 14:09:47 +02:00
Sylvia van Os
aa0274534c Merge pull request #1902 from obfusk/fix-new-locales-script
new-locales.py: fix weblate pagination
2024-05-24 21:36:24 +02:00
FC (Fay) Stegerman
c97b37f279 run new-locales.py 2024-05-24 21:03:06 +02:00
FC (Fay) Stegerman
14c12533a7 new-locales.py: fix weblate pagination 2024-05-24 21:01:42 +02:00
Sylvia van Os
39f50bad30 Merge pull request #1901 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-05-24 18:16:32 +02:00
Asmodeus
014061d0a4 Added translation using Weblate (Portuguese (Brazil)) 2024-05-24 13:14:19 +02:00
Sylvia van Os
76c498a7f9 Merge pull request #1899 from CatimaLoyalty/create-pull-request/patch-1716394569
Update Fastlane changelogs
2024-05-22 18:17:23 +02:00
TheLastProject
fa9229c687 Update Fastlane changelogs 2024-05-22 16:16:09 +00:00
Sylvia van Os
182e7ef9a6 Merge pull request #1897 from CatimaLoyalty/fix/threadedImportExport
Run Import/Export on non-UI thread
2024-05-22 18:15:54 +02:00
Sylvia van Os
08e6600880 Lower severity of import/export starting log entries to debug
Co-authored-by: FC (Fay) Stegerman <flx@obfusk.net>
2024-05-22 18:08:37 +02:00
Sylvia van Os
edeb95aee0 Run Import/Export on non-UI thread
This seems to fix Android sometimes throwing
NetworkOnMainThreadException when importing bit files through the
Nextcloud app.

I'm not sure if this is necessary for the export too, but it doesn't
seem to break anything so for consistency it makes sense to also wrap
the exporter into a thread.

This change is suboptimal because it will still block the UI with a
ProgressDialog (which is deprecated) and force the user to wait until
the import/export completes (and will kill the import/export if the app
gets backgrounded) but it should at least fix the most common crash for
most users.
2024-05-21 21:04:25 +02:00
374 changed files with 3128 additions and 1208 deletions

View File

@@ -28,11 +28,14 @@ env:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
api-level: [ 21, 34 ]
steps:
- uses: actions/checkout@v4.1.6
- uses: actions/checkout@v4.1.7
- 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/actions/wrapper-validation@v3
- uses: gradle/actions/wrapper-validation@v4
- name: set up OpenJDK 17
run: |
sudo apt-get update
@@ -44,11 +47,22 @@ jobs:
run: ./gradlew lintRelease
- name: Run unit tests
run: timeout 5m ./gradlew testReleaseUnitTest || { ./gradlew --stop && timeout 5m ./gradlew testReleaseUnitTest; }
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Run instrumented tests
uses: ReactiveCircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
script: ./gradlew connectedCheck
- name: SpotBugs
run: ./gradlew spotbugsRelease
- name: Archive test results
if: always()
uses: actions/upload-artifact@v4.3.3
uses: actions/upload-artifact@v4.3.6
with:
name: test-results
name: test-results-api${{ matrix.api-level }}
path: app/build/reports

View File

@@ -27,15 +27,15 @@ jobs:
steps:
- name: Checkout repo
id: checkout
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4.1.7
- name: Setup Python
uses: actions/setup-python@v5.1.0
uses: actions/setup-python@v5.1.1
with:
python-version: '3.x'
- name: Run converter script
run: python .scripts/changelog_to_fastlane.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5
uses: peter-evans/create-pull-request@v6.1.0
with:
title: "Update Fastlane changelogs"
commit-message: "Update Fastlane changelogs"

View File

@@ -25,7 +25,7 @@ jobs:
steps:
- name: Checkout repo
id: checkout
uses: actions/checkout@v4.1.6
uses: actions/checkout@v4.1.7
- name: Update contributors
id: update_contributors
uses: TheLastProject/contributors-to-file-action@v3.2.0
@@ -33,7 +33,7 @@ jobs:
file_in_repo: app/src/main/res/raw/contributors.txt
min_commit_count: 5
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5
uses: peter-evans/create-pull-request@v6.1.0
with:
title: "Update contributors"
commit-message: "Update contributors"

View File

@@ -6,6 +6,7 @@ on:
- main
paths:
- 'fastlane/**/title.txt'
- '.scripts/generate_feature_graphic/**'
permissions:
actions: none
checks: none
@@ -24,7 +25,7 @@ jobs:
generate-feature-graphic:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.6
- uses: actions/checkout@v4.1.7
- name: Install requirements
run: |
sudo apt-get update
@@ -38,7 +39,7 @@ jobs:
- name: Generate featureGraphic.png for each language
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5
uses: peter-evans/create-pull-request@v6.1.0
with:
title: "Update feature graphic"
commit-message: "Update feature graphic"

View File

@@ -21,12 +21,12 @@ jobs:
gradle-update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.6
- uses: obfusk/gradle-update-action@v2.0.0
- uses: actions/checkout@v4.1.7
- uses: obfusk/gradle-update-action@v3.0.0
id: gradle-update
- uses: gradle/actions/wrapper-validation@v3
- uses: gradle/actions/wrapper-validation@v4
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5
uses: peter-evans/create-pull-request@v6.1.0
with:
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"

View File

@@ -25,13 +25,13 @@ jobs:
update-locales:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.6
- uses: actions/checkout@v4.1.7
- name: Add new locales
run: .scripts/new-locales.py
- name: Update locales
run: .scripts/locales.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5
uses: peter-evans/create-pull-request@v6.1.0
with:
title: "Update locales"
commit-message: "Update locales"

View File

@@ -34,8 +34,8 @@ for lang in "$script_location/../../fastlane/metadata/android/"*; do
bg|el-GR|ru-RU|uk) sed -i "s/Lexend Deca/Noto Serif/" featureGraphic.svg ;;
hi-IN) sed -i -e "s/Yesteryear/Noto Serif Devanagari/" -e "s/Lexend Deca/Noto Serif Devanagari/" featureGraphic.svg ;;
ja-JP) sed -i "s/Lexend Deca/Noto Serif CJK JP/" featureGraphic.svg ;;
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e "s/Yesteryear/Noto Serif Kannada/" featureGraphic.svg ;;
ko) sed -i "s/Lexend Deca/Noto Serif CJK KR/" featureGraphic.svg ;;
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e 's/y="285.511"/y="235.511"/' featureGraphic.svg ;;
zh-CN) sed -i "s/Lexend Deca/Noto Serif CJK SC/" featureGraphic.svg ;;
zh-TW) sed -i "s/Lexend Deca/Noto Serif CJK TC/" featureGraphic.svg ;;
*) ;;

View File

@@ -24,7 +24,7 @@ sed = [
]
subprocess.run(sed, check=True)
with open("app/src/main/res/xml/locales_config.xml", "w") as fh:
with open("app/src/main/res/xml/locales_config.xml", "w", encoding="utf-8") as fh:
fh.write('<?xml version="1.0" encoding="utf-8"?>\n')
fh.write('<locale-config xmlns:android="http://schemas.android.com/apk/res/android">\n')
fh.write(' <locale android:name="en-US" />\n')

View File

@@ -19,15 +19,27 @@ REPLACE_CODES = {
STATS_URL = "https://hosted.weblate.org/api/components/catima/catima/statistics/"
class Error(Exception):
pass
def get_weblate_langs() -> List[Tuple[str, int]]:
r = requests.get(STATS_URL, timeout=5)
r.raise_for_status()
url = STATS_URL
results = []
for lang in r.json()["results"]:
if lang["code"] != "en":
code = REPLACE_CODES.get(lang["code"], lang["code"]).replace("_", "-r")
results.append((code, round(lang["translated_percent"])))
return sorted(results)
for _ in range(16): # avoid endless loops just in case
r = requests.get(url, timeout=5)
r.raise_for_status()
data = r.json()
for lang in data["results"]:
if lang["code"] != "en":
code = REPLACE_CODES.get(lang["code"], lang["code"]).replace("_", "-r")
results.append((code, round(lang["translated_percent"])))
url = data["next"]
if not url:
return sorted(results)
if not url.split("?")[0] == STATS_URL:
raise Error(f"Unexpected next URL: {url}")
raise Error("Too many pages")
def get_dir_langs() -> List[str]:
@@ -42,7 +54,7 @@ def get_dir_langs() -> List[str]:
def get_xml_langs() -> List[Tuple[str, bool]]:
results = []
in_section = False
with open("app/src/main/res/values/settings.xml") as fh:
with open("app/src/main/res/values/settings.xml", encoding="utf-8") as fh:
for line in fh:
if not in_section and 'name="locale_values"' in line:
in_section = True
@@ -59,7 +71,7 @@ def get_xml_langs() -> List[Tuple[str, bool]]:
def update_xml_langs(langs: List[Tuple[str, bool]]) -> None:
lines: List[str] = []
in_section = False
with open("app/src/main/res/values/settings.xml") as fh:
with open("app/src/main/res/values/settings.xml", encoding="utf-8") as fh:
for line in fh:
if not in_section and 'name="locale_values"' in line:
in_section = True
@@ -70,7 +82,7 @@ def update_xml_langs(langs: List[Tuple[str, bool]]) -> None:
else:
continue
lines.append(line)
with open("app/src/main/res/values/settings.xml", "w") as fh:
with open("app/src/main/res/values/settings.xml", "w", encoding="utf-8") as fh:
for line in lines:
fh.write(line)

View File

@@ -1,9 +1,22 @@
# Changelog
## Unreleased - 136
## v2.31.1 - 138 (2024-08-24)
- Fix back gesture on main screen dismissing keyboard and search on Android 13+
## v2.31.0 - 137 (2024-07-26)
- Allow long store names in preview to split over multiple lines
- Option to use front of back image in thumbnail menu
- Minor import/export fixes
- Minor UI fixes
## v2.30.0 - 136 (2024-06-18)
- Support for creating a card when sharing plain text
- Display image type instead of barcode below images
- Fix possible crash when trying to import a backup from the Nextcloud app
- Improved support for devices without camera
## v2.29.1 - 135 (2024-05-19)

View File

@@ -5,25 +5,25 @@ GEM
base64
nkf
rexml
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.3.0)
aws-partitions (1.931.0)
aws-sdk-core (3.196.1)
aws-partitions (1.958.0)
aws-sdk-core (3.201.3)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.81.0)
aws-sdk-core (~> 3, >= 3.193.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.151.0)
aws-sdk-core (~> 3, >= 3.194.0)
aws-sdk-kms (1.88.0)
aws-sdk-core (~> 3, >= 3.201.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.156.0)
aws-sdk-core (~> 3, >= 3.201.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.9.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
@@ -38,7 +38,7 @@ GEM
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.110.0)
excon (0.111.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@@ -60,7 +60,7 @@ GEM
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
@@ -68,7 +68,7 @@ GEM
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.3.1)
fastlane (2.220.0)
fastlane (2.222.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -147,14 +147,14 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.5)
http-cookie (1.0.6)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.2)
json (2.7.2)
jwt (2.8.1)
jwt (2.8.2)
base64
mini_magick (4.12.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.15.0)
multipart-post (2.4.1)
@@ -164,15 +164,15 @@ GEM
optparse (0.5.0)
os (1.1.4)
plist (3.7.1)
public_suffix (5.0.5)
public_suffix (6.0.1)
rake (13.2.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.8)
strscan (>= 3.0.9)
rexml (3.2.9)
strscan
rouge (2.0.7)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
@@ -216,4 +216,4 @@ DEPENDENCIES
fastlane
BUNDLED WITH
2.5.9
2.5.11

View File

@@ -21,13 +21,15 @@ android {
applicationId = "me.hackerchick.catima"
minSdk = 21
targetSdk = 34
versionCode = 135
versionName = "2.29.1"
versionCode = 138
versionName = "2.31.1"
vectorDrawables.useSupportLibrary = true
multiDexEnabled = true
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "et", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rBR", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sr", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
@@ -87,14 +89,13 @@ android {
dependencies {
// AndroidX
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.exifinterface:exifinterface:1.3.7")
implementation("androidx.palette:palette:1.0.0")
implementation("androidx.preference:preference:1.2.1")
implementation("com.google.android.material:material:1.12.0")
implementation("com.github.yalantis:ucrop:2.2.9")
implementation("androidx.work:work-runtime:2.9.0")
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
// Splash Screen
@@ -111,9 +112,18 @@ dependencies {
implementation("io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0")
// Testing
testImplementation("androidx.test:core:1.5.0")
testImplementation("junit:junit:4.13.2")
testImplementation("org.robolectric:robolectric:4.12.2")
val androidXTestVersion = "1.6.1"
val junitVersion = "4.13.2"
testImplementation("androidx.test:core:$androidXTestVersion")
testImplementation("junit:junit:$junitVersion")
testImplementation("org.robolectric:robolectric:4.13")
androidTestImplementation("androidx.test:core:$androidXTestVersion")
androidTestImplementation("junit:junit:$junitVersion")
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test:runner:$androidXTestVersion")
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
}
tasks.withType<SpotBugsTask>().configureEach {

View File

@@ -0,0 +1,67 @@
package protect.card_locker;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.action.ViewActions.typeText;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static androidx.test.espresso.matcher.ViewMatchers.withChild;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertEquals;
import androidx.appcompat.widget.Toolbar;
import androidx.test.core.app.ActivityScenario;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.uiautomator.UiDevice;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class MainActivitySearchViewTest {
@Test
public void whenSearchViewIsExpandedAndBackIsPressedThenMenuItemShouldNotBeCollapsed() {
String query = "random arbitrary text";
try (ActivityScenario<MainActivity> mainActivityScenario = ActivityScenario.launch(MainActivity.class)) {
mainActivityScenario.onActivity(this::makeSearchMenuItemVisible);
onView(withId(R.id.action_search)).perform(click());
onView(withId(androidx.appcompat.R.id.search_src_text)).perform(typeText(query));
pressBack();
onView(withId(androidx.appcompat.R.id.search_src_text)).check(matches(withText(query)));
mainActivityScenario.onActivity(activity -> assertEquals(query, activity.mFilter));
}
}
@Test
public void whenSearchViewIsExpandedThenItShouldOnlyBeCollapsedWhenBackIsPressedTwice() {
try (ActivityScenario<MainActivity> mainActivityScenario = ActivityScenario.launch(MainActivity.class)) {
mainActivityScenario.onActivity(this::makeSearchMenuItemVisible);
onView(withId(R.id.action_search)).perform(click());
pressBack();
onView(withId(androidx.appcompat.R.id.search_src_text)).check(matches(isDisplayed()));
pressBack();
onView(withId(android.R.id.content)).check(matches(is(not(withChild(withId(androidx.appcompat.R.id.search_src_text))))));
}
}
private void makeSearchMenuItemVisible(MainActivity activity) {
Toolbar toolbar = activity.findViewById(R.id.toolbar);
toolbar.getMenu().findItem(R.id.action_search).setVisible(true);
}
private void pressBack() {
UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()).pressBack();
}
}

View File

@@ -1,2 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="app_name">Catima Debug</string>
</resources>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Depuração do Catima</string>
</resources>

View File

@@ -1,2 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="app_name">Catima Debug</string>
</resources>

View File

@@ -1,2 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources>
<string name="app_name">Catima 除錯版</string>
</resources>

View File

@@ -12,13 +12,11 @@
<uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="23" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
@@ -190,6 +188,5 @@
<action android:name="android.service.controls.ControlsProviderService" />
</intent-filter>
</service>
<service android:name=".importexport.ImportExportWorker"/>
</application>
</manifest>

View File

@@ -4,22 +4,24 @@ import android.app.Activity;
import android.content.Context;
import android.widget.Toast;
import androidx.core.util.Consumer;
import com.journeyapps.barcodescanner.CaptureManager;
import com.journeyapps.barcodescanner.DecoratedBarcodeView;
public class CatimaCaptureManager extends CaptureManager {
private final Context mContext;
private final Consumer<String> mErrorCallback;
public CatimaCaptureManager(Activity activity, DecoratedBarcodeView barcodeView) {
public CatimaCaptureManager(Activity activity, DecoratedBarcodeView barcodeView, Consumer<String> errorCallback) {
super(activity, barcodeView);
mContext = activity.getApplicationContext();
mErrorCallback = errorCallback;
}
@Override
protected void displayFrameworkBugMessageAndExit(String message) {
// We don't want to exit, as we also have a enter from card image and add manually button here
// So we show a toast instead
Toast.makeText(mContext, message, Toast.LENGTH_LONG).show();
// So, instead, we call our error callback
mErrorCallback.accept(message);
}
}

View File

@@ -1,15 +1,15 @@
package protect.card_locker;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.text.InputType;
import android.util.Log;
import android.view.MenuItem;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
@@ -18,31 +18,31 @@ import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.work.Data;
import androidx.work.ExistingWorkPolicy;
import androidx.work.OneTimeWorkRequest;
import androidx.work.OutOfQuotaPolicy;
import androidx.work.WorkManager;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import protect.card_locker.async.TaskHandler;
import protect.card_locker.databinding.ImportExportActivityBinding;
import protect.card_locker.importexport.DataFormat;
import protect.card_locker.importexport.ImportExportWorker;
import protect.card_locker.importexport.ImportExportResult;
import protect.card_locker.importexport.ImportExportResultType;
public class ImportExportActivity extends CatimaAppCompatActivity {
private ImportExportActivityBinding binding;
private static final String TAG = "Catima";
private ImportExportTask importExporter;
private String importAlertTitle;
private String importAlertMessage;
private DataFormat importDataFormat;
@@ -52,10 +52,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
private ActivityResultLauncher<String> fileOpenLauncher;
private ActivityResultLauncher<Intent> filePickerLauncher;
private static final int PERMISSION_REQUEST_EXPORT = 100;
private static final int PERMISSION_REQUEST_IMPORT = 101;
private OneTimeWorkRequest mRequestedWorkRequest;
final private TaskHandler mTasks = new TaskHandler();
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -84,20 +81,21 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
Log.e(TAG, "Activity returned NULL uri");
return;
}
Data exportRequestData = new Data.Builder()
.putString(ImportExportWorker.INPUT_URI, uri.toString())
.putString(ImportExportWorker.INPUT_ACTION, ImportExportWorker.ACTION_EXPORT)
.putString(ImportExportWorker.INPUT_FORMAT, DataFormat.Catima.name())
.putString(ImportExportWorker.INPUT_PASSWORD, exportPassword)
.build();
mRequestedWorkRequest = new OneTimeWorkRequest.Builder(ImportExportWorker.class)
.setInputData(exportRequestData)
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
.build();
PermissionUtils.requestPostNotificationsPermission(this, PERMISSION_REQUEST_EXPORT);
// Running this in a thread prevents Android from throwing a NetworkOnMainThreadException for large files
// FIXME: This is still suboptimal, because showing that the export started is delayed until the network request finishes
new Thread() {
@Override
public void run() {
try {
OutputStream writer = getContentResolver().openOutputStream(uri);
Log.d(TAG, "Starting file export with: " + result);
startExport(writer, uri, exportPassword.toCharArray(), true);
} catch (IOException e) {
Log.e(TAG, "Failed to export file: " + result, e);
onExportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, result.toString()), uri);
}
}
}.start();
});
fileOpenLauncher = registerForActivityResult(new ActivityResultContracts.GetContent(), result -> {
if (result == null) {
@@ -166,26 +164,28 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
// Check that there is an app that data can be imported from
Button importApplication = binding.importOptionApplicationButton;
importApplication.setOnClickListener(v -> chooseImportType(true, null));
}
public static OneTimeWorkRequest buildImportRequest(DataFormat dataFormat, Uri uri, char[] password) {
Data importRequestData = new Data.Builder()
.putString(ImportExportWorker.INPUT_URI, uri.toString())
.putString(ImportExportWorker.INPUT_ACTION, ImportExportWorker.ACTION_IMPORT)
.putString(ImportExportWorker.INPUT_FORMAT, dataFormat.name())
.putString(ImportExportWorker.INPUT_PASSWORD, Arrays.toString(password))
.build();
return new OneTimeWorkRequest.Builder(ImportExportWorker.class)
.setInputData(importRequestData)
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
.build();
// FIXME: The importer/exporter is currently quite broken
// To prevent the screen from turning off during import/export and some devices killing Catima as it's no longer foregrounded, force the screen to stay on here
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
private void openFileForImport(Uri uri, char[] password) {
mRequestedWorkRequest = buildImportRequest(importDataFormat, uri, password);
PermissionUtils.requestPostNotificationsPermission(this, PERMISSION_REQUEST_IMPORT);
// Running this in a thread prevents Android from throwing a NetworkOnMainThreadException for large files
// FIXME: This is still suboptimal, because showing that the import started is delayed until the network request finishes
new Thread() {
@Override
public void run() {
try {
InputStream reader = getContentResolver().openInputStream(uri);
Log.d(TAG, "Starting file import with: " + uri);
startImport(reader, uri, importDataFormat, password, true);
} catch (IOException e) {
Log.e(TAG, "Failed to import file: " + uri, e);
onImportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, e.toString()), uri, importDataFormat);
}
}
}.start();
}
private void chooseImportType(boolean choosePicker,
@@ -250,17 +250,20 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
new MaterialAlertDialogBuilder(this)
.setTitle(importAlertTitle)
.setMessage(importAlertMessage)
.setPositiveButton(R.string.ok, (dialog1, which1) -> {
try {
if (choosePicker) {
final Intent intentPickAction = new Intent(Intent.ACTION_PICK);
filePickerLauncher.launch(intentPickAction);
} else {
fileOpenLauncher.launch("*/*");
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
try {
if (choosePicker) {
final Intent intentPickAction = new Intent(Intent.ACTION_PICK);
filePickerLauncher.launch(intentPickAction);
} else {
fileOpenLauncher.launch("*/*");
}
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(), R.string.failedOpeningFileManager, Toast.LENGTH_LONG).show();
Log.e(TAG, "No activity found to handle intent", e);
}
} catch (ActivityNotFoundException e) {
Toast.makeText(getApplicationContext(), R.string.failedOpeningFileManager, Toast.LENGTH_LONG).show();
Log.e(TAG, "No activity found to handle intent", e);
}
})
.setNegativeButton(R.string.cancel, null)
@@ -269,12 +272,60 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
builder.show();
}
private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password, final boolean closeWhenDone) {
mTasks.flushTaskList(TaskHandler.TYPE.IMPORT, true, false, false);
ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() {
@Override
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
onImportComplete(result, targetUri, dataFormat);
if (closeWhenDone) {
try {
target.close();
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
};
importExporter = new ImportExportTask(ImportExportActivity.this,
dataFormat, target, password, listener);
mTasks.executeTask(TaskHandler.TYPE.IMPORT, importExporter);
}
private void startExport(final OutputStream target, final Uri targetUri, char[] password, final boolean closeWhenDone) {
mTasks.flushTaskList(TaskHandler.TYPE.EXPORT, true, false, false);
ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() {
@Override
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
onExportComplete(result, targetUri);
if (closeWhenDone) {
try {
target.close();
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
};
importExporter = new ImportExportTask(ImportExportActivity.this,
DataFormat.Catima, target, password, listener);
mTasks.executeTask(TaskHandler.TYPE.EXPORT, importExporter);
}
@Override
protected void onDestroy() {
mTasks.flushTaskList(TaskHandler.TYPE.IMPORT, true, false, false);
mTasks.flushTaskList(TaskHandler.TYPE.EXPORT, true, false, false);
super.onDestroy();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
setResult(RESULT_CANCELED);
finish();
return true;
}
@@ -282,19 +333,19 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
return super.onOptionsItemSelected(item);
}
public static void retryWithPassword(Context context, DataFormat dataFormat, Uri uri) {
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(context);
private void retryWithPassword(DataFormat dataFormat, Uri uri) {
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle(R.string.passwordRequired);
FrameLayout container = new FrameLayout(context);
FrameLayout container = new FrameLayout(ImportExportActivity.this);
final TextInputLayout textInputLayout = new TextInputLayout(context);
final TextInputLayout textInputLayout = new TextInputLayout(ImportExportActivity.this);
textInputLayout.setEndIconMode(TextInputLayout.END_ICON_PASSWORD_TOGGLE);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.setMargins(50, 10, 50, 0);
textInputLayout.setLayoutParams(params);
final EditText input = new EditText(context);
final EditText input = new EditText(ImportExportActivity.this);
input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
input.setHint(R.string.exportPasswordHint);
@@ -303,55 +354,75 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
builder.setView(container);
builder.setPositiveButton(R.string.ok, (dialogInterface, i) -> {
OneTimeWorkRequest importRequest = ImportExportActivity.buildImportRequest(dataFormat, uri, input.getText().toString().toCharArray());
WorkManager.getInstance(context).enqueueUniqueWork(ImportExportWorker.ACTION_IMPORT, ExistingWorkPolicy.REPLACE, importRequest);
openFileForImport(uri, input.getText().toString().toCharArray());
});
builder.setNegativeButton(R.string.cancel, (dialogInterface, i) -> dialogInterface.cancel());
builder.show();
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
private String buildResultDialogMessage(ImportExportResult result, boolean isImport) {
int messageId;
onMockedRequestPermissionsResult(requestCode, permissions, grantResults);
if (result.resultType() == ImportExportResultType.Success) {
messageId = isImport ? R.string.importSuccessful : R.string.exportSuccessful;
} else {
messageId = isImport ? R.string.importFailed : R.string.exportFailed;
}
StringBuilder messageBuilder = new StringBuilder(getResources().getString(messageId));
if (result.developerDetails() != null) {
messageBuilder.append("\n\n");
messageBuilder.append(getResources().getString(R.string.include_if_asking_support));
messageBuilder.append("\n\n");
messageBuilder.append(result.developerDetails());
}
return messageBuilder.toString();
}
public void onMockedRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
boolean granted = grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED;
Integer failureReason = null;
private void onImportComplete(ImportExportResult result, Uri path, DataFormat dataFormat) {
ImportExportResultType resultType = result.resultType();
if (requestCode == PERMISSION_REQUEST_EXPORT) {
if (granted) {
WorkManager.getInstance(this).enqueueUniqueWork(ImportExportWorker.ACTION_EXPORT, ExistingWorkPolicy.REPLACE, mRequestedWorkRequest);
Toast.makeText(this, R.string.exportStartedCheckNotifications, Toast.LENGTH_LONG).show();
// Import/export started
setResult(RESULT_OK);
finish();
return;
}
failureReason = R.string.postNotificationsPermissionRequired;
} else if (requestCode == PERMISSION_REQUEST_IMPORT) {
if (granted) {
WorkManager.getInstance(this).enqueueUniqueWork(ImportExportWorker.ACTION_IMPORT, ExistingWorkPolicy.REPLACE, mRequestedWorkRequest);
// Import/export started
setResult(RESULT_OK);
finish();
return;
}
failureReason = R.string.postNotificationsPermissionRequired;
if (resultType == ImportExportResultType.BadPassword) {
retryWithPassword(dataFormat, path);
return;
}
if (failureReason != null) {
Toast.makeText(this, failureReason, Toast.LENGTH_LONG).show();
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle(resultType == ImportExportResultType.Success ? R.string.importSuccessfulTitle : R.string.importFailedTitle);
builder.setMessage(buildResultDialogMessage(result, true));
builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss());
builder.create().show();
}
private void onExportComplete(ImportExportResult result, final Uri path) {
ImportExportResultType resultType = result.resultType();
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle(resultType == ImportExportResultType.Success ? R.string.exportSuccessfulTitle : R.string.exportFailedTitle);
builder.setMessage(buildResultDialogMessage(result, false));
builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss());
if (resultType == ImportExportResultType.Success) {
final CharSequence sendLabel = ImportExportActivity.this.getResources().getText(R.string.sendLabel);
builder.setPositiveButton(sendLabel, (dialog, which) -> {
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, path);
sendIntent.setType("text/csv");
// set flag to give temporary permission to external app to use the FileProvider
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
ImportExportActivity.this.startActivity(Intent.createChooser(sendIntent,
sendLabel));
dialog.dismiss();
});
}
builder.create().show();
}
}

View File

@@ -0,0 +1,148 @@
package protect.card_locker;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.widget.Toast;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import protect.card_locker.async.CompatCallable;
import protect.card_locker.importexport.DataFormat;
import protect.card_locker.importexport.ImportExportResult;
import protect.card_locker.importexport.ImportExportResultType;
import protect.card_locker.importexport.MultiFormatExporter;
import protect.card_locker.importexport.MultiFormatImporter;
public class ImportExportTask implements CompatCallable<ImportExportResult> {
private static final String TAG = "Catima";
private Activity activity;
private boolean doImport;
private DataFormat format;
private OutputStream outputStream;
private InputStream inputStream;
private char[] password;
private TaskCompleteListener listener;
private ProgressDialog progress;
/**
* Constructor which will setup a task for exporting to the given file
*/
ImportExportTask(Activity activity, DataFormat format, OutputStream output, char[] password,
TaskCompleteListener listener) {
super();
this.activity = activity;
this.doImport = false;
this.format = format;
this.outputStream = output;
this.password = password;
this.listener = listener;
}
/**
* Constructor which will setup a task for importing from the given InputStream.
*/
ImportExportTask(Activity activity, DataFormat format, InputStream input, char[] password,
TaskCompleteListener listener) {
super();
this.activity = activity;
this.doImport = true;
this.format = format;
this.inputStream = input;
this.password = password;
this.listener = listener;
}
private ImportExportResult performImport(Context context, InputStream stream, SQLiteDatabase database, char[] password) {
ImportExportResult importResult = MultiFormatImporter.importData(context, database, stream, format, password);
Log.i(TAG, "Import result: " + importResult);
return importResult;
}
private ImportExportResult performExport(Context context, OutputStream stream, SQLiteDatabase database, char[] password) {
ImportExportResult result;
try {
OutputStreamWriter writer = new OutputStreamWriter(stream, StandardCharsets.UTF_8);
result = MultiFormatExporter.exportData(context, database, stream, format, password);
writer.close();
} catch (IOException e) {
result = new ImportExportResult(ImportExportResultType.GenericFailure, e.toString());
Log.e(TAG, "Unable to export file", e);
}
Log.i(TAG, "Export result: " + result);
return result;
}
public void onPreExecute() {
progress = new ProgressDialog(activity);
progress.setTitle(doImport ? R.string.importing : R.string.exporting);
progress.setOnCancelListener(dialog -> cancel(doImport, true));
progress.setOnDismissListener(dialog -> cancel(doImport, true));
progress.show();
}
private void cancel(boolean isImport, boolean showToast) {
ImportExportTask.this.stop();
if (showToast) {
Toast.makeText(activity, isImport ? R.string.importCancelled : R.string.exportCancelled, Toast.LENGTH_LONG).show();
}
}
protected ImportExportResult doInBackground(Void... nothing) {
final SQLiteDatabase database = new DBHelper(activity).getWritableDatabase();
ImportExportResult result;
if (doImport) {
result = performImport(activity.getApplicationContext(), inputStream, database, password);
} else {
result = performExport(activity.getApplicationContext(), outputStream, database, password);
}
database.close();
return result;
}
public void onPostExecute(Object castResult) {
listener.onTaskComplete((ImportExportResult) castResult, format);
progress.dismiss();
Log.i(TAG, (doImport ? "Import" : "Export") + " Complete");
}
protected void onCancelled() {
progress.dismiss();
Log.i(TAG, (doImport ? "Import" : "Export") + " Cancelled");
}
protected void stop() {
// Whelp
}
@Override
public ImportExportResult call() {
return doInBackground();
}
interface TaskCompleteListener {
void onTaskComplete(ImportExportResult result, DataFormat format);
}
}

View File

@@ -681,16 +681,17 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
if (bitmap != null) {
if (requestedFrontImage()) {
mFrontImageRemoved = false;
mFrontImageUnsaved = true;
setCardImage(cardImageFront, Utils.resizeBitmap(bitmap, Utils.BITMAP_SIZE_BIG), true);
} else if (requestedBackImage()) {
mBackImageRemoved = false;
mBackImageUnsaved = true;
setCardImage(cardImageBack, Utils.resizeBitmap(bitmap, Utils.BITMAP_SIZE_BIG), true);
} else {
mIconRemoved = false;
mIconUnsaved = true;
setCardImage(thumbnail, Utils.resizeBitmap(bitmap, Utils.BITMAP_SIZE_SMALL), false);
thumbnail.setBackgroundColor(Color.TRANSPARENT);
setColorFromIcon();
setThumbnailImage(Utils.resizeBitmap(bitmap, Utils.BITMAP_SIZE_SMALL));
}
Log.d("cropper", "mRequestedImage: " + mRequestedImage);
mCropperFinishedType = mRequestedImage;
@@ -834,7 +835,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
setCardImage(cardImageBack, Utils.retrieveCardImage(this, tempLoyaltyCard.id, ImageLocationType.back), true);
}
if (!mIconUnsaved && !croppedIcon() && !mIconRemoved) {
setCardImage(thumbnail, Utils.retrieveCardImage(this, tempLoyaltyCard.id, ImageLocationType.icon), false);
setThumbnailImage(Utils.retrieveCardImage(this, tempLoyaltyCard.id, ImageLocationType.icon));
}
} else {
setTitle(R.string.addCardTitle);
@@ -847,7 +848,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
setCardImage(cardImageBack, Utils.loadTempImage(this, TEMP_UNSAVED_BACK_IMAGE_NAME), true);
}
if (mIconUnsaved && !croppedIcon()) {
setCardImage(thumbnail, Utils.loadTempImage(this, TEMP_UNSAVED_ICON_NAME), false);
setThumbnailImage(Utils.loadTempImage(this, TEMP_UNSAVED_ICON_NAME));
}
}
@@ -998,6 +999,22 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
}
}
protected void setThumbnailImage(@Nullable Bitmap bitmap) {
setCardImage(thumbnail, bitmap, false);
if (bitmap == null) {
generateIcon(storeFieldEdit.getText().toString().trim());
} else {
thumbnail.setBackgroundColor(Color.TRANSPARENT);
setColorFromIcon();
}
if (tempLoyaltyCard.headerColor != null) {
thumbnailEditIcon.setBackgroundColor(Utils.needsDarkForeground(tempLoyaltyCard.headerColor) ? Color.BLACK : Color.WHITE);
thumbnailEditIcon.setColorFilter(Utils.needsDarkForeground(tempLoyaltyCard.headerColor) ? Color.WHITE : Color.BLACK);
}
}
protected void setCardImage(ImageView imageView, Bitmap bitmap, boolean applyFallback) {
imageView.setTag(bitmap);
@@ -1325,6 +1342,28 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
return null;
});
if (v.getId() == R.id.thumbnail) {
if (cardImageFront.getTag() instanceof Bitmap) {
cardOptions.put(getString(R.string.useFrontImage), () -> {
mIconRemoved = false;
mIconUnsaved = true;
setThumbnailImage(Utils.resizeBitmap((Bitmap) cardImageFront.getTag(), Utils.BITMAP_SIZE_SMALL));
return null;
});
}
if (cardImageBack.getTag() instanceof Bitmap) {
cardOptions.put(getString(R.string.useBackImage), () -> {
mIconRemoved = false;
mIconUnsaved = true;
setThumbnailImage(Utils.resizeBitmap((Bitmap) cardImageBack.getTag(), Utils.BITMAP_SIZE_SMALL));
return null;
});
}
}
int titleResource;
if (v.getId() == R.id.frontImageHolder) {
@@ -1365,17 +1404,13 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
// We don't need to set or check the dialogId since it's only used for that single dialog
@Override
public void onColorSelected(int dialogId, int color) {
// Unset image if set
setCardImage(thumbnail, null, false);
mIconRemoved = true;
mIconUnsaved = false;
// Save new colour
updateTempState(LoyaltyCardField.headerColor, color);
thumbnailEditIcon.setBackgroundColor(Utils.needsDarkForeground(color) ? Color.BLACK : Color.WHITE);
thumbnailEditIcon.setColorFilter(Utils.needsDarkForeground(color) ? Color.WHITE : Color.BLACK);
generateIcon(storeFieldEdit.getText().toString().trim());
// Unset image if set
mIconRemoved = true;
mIconUnsaved = false;
setThumbnailImage(null);
}
// ColorPickerDialogListener callback

View File

@@ -7,6 +7,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.database.CursorIndexOutOfBoundsException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Build;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
@@ -21,18 +22,15 @@ import android.widget.Toast;
import androidx.activity.OnBackPressedCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.view.ActionMode;
import androidx.appcompat.widget.SearchView;
import androidx.core.splashscreen.SplashScreen;
import androidx.recyclerview.widget.RecyclerView;
import androidx.work.Data;
import androidx.work.WorkInfo;
import androidx.work.WorkManager;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import java.io.UnsupportedEncodingException;
@@ -40,15 +38,11 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicInteger;
import protect.card_locker.databinding.ContentMainBinding;
import protect.card_locker.databinding.MainActivityBinding;
import protect.card_locker.databinding.SortingOptionBinding;
import protect.card_locker.importexport.DataFormat;
import protect.card_locker.importexport.ImportExportWorker;
import protect.card_locker.preferences.SettingsActivity;
public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCardCursorAdapter.CardAdapterListener {
@@ -79,7 +73,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
private ActivityResultLauncher<Intent> mBarcodeScannerLauncher;
private ActivityResultLauncher<Intent> mSettingsLauncher;
private ActivityResultLauncher<Intent> mImportExportLauncher;
private ActionMode.Callback mCurrentActionModeCallback = new ActionMode.Callback() {
@Override
@@ -259,37 +252,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
mGroup = null;
updateLoyaltyCardList(true);
/*
* This was added for Huawei, but Huawei is just too much of a fucking pain.
* Just leaving this commented out if needed for the future idk
* https://twitter.com/SylvieLorxu/status/1379437902741012483
*
// Show privacy policy on first run
SharedPreferences privacyPolicyShownPref = getApplicationContext().getSharedPreferences(
getString(R.string.sharedpreference_privacy_policy_shown),
Context.MODE_PRIVATE);
if (privacyPolicyShownPref.getInt(getString(R.string.sharedpreference_privacy_policy_shown), 0) == 0) {
SharedPreferences.Editor privacyPolicyShownPrefEditor = privacyPolicyShownPref.edit();
privacyPolicyShownPrefEditor.putInt(getString(R.string.sharedpreference_privacy_policy_shown), 1);
privacyPolicyShownPrefEditor.apply();
new AlertDialog.Builder(this)
.setTitle(R.string.privacy_policy)
.setMessage(R.string.privacy_policy_popup_text)
.setPositiveButton(R.string.accept, null)
.setNegativeButton(R.string.privacy_policy, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
openPrivacyPolicy();
}
})
.setIcon(android.R.drawable.ic_dialog_info)
.show();
}
*/
mBarcodeScannerLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
// Exit early if the user cancelled the scan (pressed back/home)
if (result.getResultCode() != RESULT_OK) {
@@ -313,69 +275,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
}
});
mImportExportLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
// User didn't ask for import or export
if (result.getResultCode() != RESULT_OK) {
return;
}
// Watch for active imports/exports
new Thread(() -> {
WorkManager workManager = WorkManager.getInstance(MainActivity.this);
Snackbar importRunning = Snackbar.make(binding.getRoot(), R.string.importing, Snackbar.LENGTH_INDEFINITE);
while (true) {
try {
List<WorkInfo> activeImports = workManager.getWorkInfosForUniqueWork(ImportExportWorker.ACTION_IMPORT).get();
// We should only have one import running at a time, so it should be safe to always grab the latest
WorkInfo activeImport = activeImports.get(activeImports.size() - 1);
WorkInfo.State importState = activeImport.getState();
if (importState == WorkInfo.State.RUNNING || importState == WorkInfo.State.ENQUEUED || importState == WorkInfo.State.BLOCKED) {
importRunning.show();
} else if (importState == WorkInfo.State.SUCCEEDED) {
importRunning.dismiss();
runOnUiThread(() -> {
Toast.makeText(getApplicationContext(), getString(R.string.importSuccessful), Toast.LENGTH_LONG).show();
updateLoyaltyCardList(true);
});
break;
} else {
importRunning.dismiss();
Data outputData = activeImport.getOutputData();
// FIXME: This dialog will asynchronously be accepted or declined and we don't know the status of it so we can't show the import state
// We want to get back into this function
// A cheap fix would be to keep looping but if the user dismissed the dialog that could mean we're looping forever...
if (Objects.equals(outputData.getString(ImportExportWorker.OUTPUT_ERROR_REASON), ImportExportWorker.ERROR_PASSWORD_REQUIRED)) {
runOnUiThread(() -> ImportExportActivity.retryWithPassword(
MainActivity.this,
DataFormat.valueOf(outputData.getString(ImportExportWorker.INPUT_FORMAT)),
Uri.parse(outputData.getString(ImportExportWorker.INPUT_URI))
));
} else {
runOnUiThread(() -> {
Toast.makeText(getApplicationContext(), getString(R.string.importFailed), Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), activeImport.getOutputData().getString(ImportExportWorker.OUTPUT_ERROR_REASON), Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), activeImport.getOutputData().getString(ImportExportWorker.OUTPUT_ERROR_DETAILS), Toast.LENGTH_LONG).show();
});
}
break;
}
} catch (ExecutionException e) {
throw new RuntimeException(e);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}).start();
});
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
@@ -614,7 +513,8 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (searchManager != null) {
mSearchView = (SearchView) inputMenu.findItem(R.id.action_search).getActionView();
MenuItem searchMenuItem = inputMenu.findItem(R.id.action_search);
mSearchView = (SearchView) searchMenuItem.getActionView();
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
mSearchView.setSubmitButtonEnabled(false);
@@ -623,6 +523,30 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
return false;
});
/*
* On Android 13 and later, pressing Back while the search view is open hides the keyboard
* and collapses the search view at the same time.
* This brings back the old behavior on Android 12 and lower: pressing Back once
* hides the keyboard, press again while keyboard is hidden to collapse the search view.
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
searchMenuItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(@NonNull MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(@NonNull MenuItem item) {
if (mSearchView.hasFocus()) {
mSearchView.clearFocus();
return false;
}
return true;
}
});
}
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
@@ -713,7 +637,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
if (id == R.id.action_import_export) {
Intent i = new Intent(getApplicationContext(), ImportExportActivity.class);
mImportExportLauncher.launch(i);
startActivity(i);
return true;
}

View File

@@ -1,63 +0,0 @@
package protect.card_locker;
import static android.content.Context.NOTIFICATION_SERVICE;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class NotificationHelper {
// Do not change these IDs!
public static final String CHANNEL_IMPORT = "import";
public static final String CHANNEL_EXPORT = "export";
public static final int IMPORT_ID = 100;
public static final int IMPORT_PROGRESS_ID = 101;
public static final int EXPORT_ID = 103;
public static final int EXPORT_PROGRESS_ID = 104;
public static Notification.Builder createNotificationBuilder(@NonNull Context context, @NonNull String channel, @NonNull int icon, @NonNull String title, @Nullable String message) {
Notification.Builder notificationBuilder = new Notification.Builder(context)
.setSmallIcon(icon)
.setTicker(title)
.setContentTitle(title);
if (message != null) {
notificationBuilder.setContentText(message);
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
NotificationChannel notificationChannel = new NotificationChannel(channel, getChannelName(channel), NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(notificationChannel);
notificationBuilder.setChannelId(channel);
}
return notificationBuilder;
}
public static void sendNotification(@NonNull Context context, @NonNull int notificationId, @NonNull Notification notification) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(notificationId, notification);
}
private static String getChannelName(@NonNull String channel) {
switch(channel) {
case CHANNEL_IMPORT:
return "Import";
case CHANNEL_EXPORT:
return "Export";
default:
throw new IllegalArgumentException("Unknown notification channel");
}
}
}

View File

@@ -42,16 +42,6 @@ public class PermissionUtils {
return ContextCompat.checkSelfPermission(activity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED;
}
/**
* Check if post notifications permission is needed
*
* @param activity
* @return
*/
public static boolean needsPostNotificationsPermission(Activity activity) {
return ContextCompat.checkSelfPermission(activity, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED;
}
/**
* Call onRequestPermissionsResult after storage read permission was granted.
* Mocks a successful grant if a grant is not necessary.
@@ -101,37 +91,4 @@ public class PermissionUtils {
activity.onMockedRequestPermissionsResult(requestCode, permissions, mockedResults);
}
}
/**
* Call onRequestPermissionsResult after notification permission was granted.
* Mocks a successful grant if a grant is not necessary.
*
* @param activity
* @param requestCode
*/
public static void requestPostNotificationsPermission(CatimaAppCompatActivity activity, int requestCode) {
int[] mockedResults = new int[]{ PackageManager.PERMISSION_GRANTED };
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.TIRAMISU) {
String[] permissions = new String[0];
activity.onMockedRequestPermissionsResult(requestCode, permissions, mockedResults);
return;
}
String[] permissions = new String[]{ Manifest.permission.POST_NOTIFICATIONS};
if (needsPostNotificationsPermission(activity)) {
ActivityCompat.requestPermissions(activity, permissions, requestCode);
} else {
// FIXME: This points to onMockedRequestPermissionResult instead of to
// onRequestPermissionResult because onRequestPermissionResult was only introduced in
// Android 6.0 (SDK 23) and we and to support Android 5.0 (SDK 21) too.
//
// When minSdk becomes 23, this should point to onRequestPermissionResult directly and
// the activity input variable should be changed from CatimaAppCompatActivity to
// Activity.
activity.onMockedRequestPermissionsResult(requestCode, permissions, mockedResults);
}
}
}

View File

@@ -78,6 +78,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
static final String STATE_SCANNER_ACTIVE = "scannerActive";
private boolean mScannerActive = true;
private boolean mHasError = false;
private void extractIntentFields(Intent intent) {
final Bundle b = intent.getExtras();
@@ -141,7 +142,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
// Even though we do the actual decoding with the barcodeScannerView
// CaptureManager needs to be running to show the camera and scanning bar
capture = new CatimaCaptureManager(this, barcodeScannerView);
capture = new CatimaCaptureManager(this, barcodeScannerView, this::onCaptureManagerError);
Intent captureIntent = new Intent();
Bundle captureIntentBundle = new Bundle();
captureIntentBundle.putBoolean(Intents.Scan.BEEP_ENABLED, false);
@@ -178,9 +179,14 @@ public class ScanActivity extends CatimaAppCompatActivity {
capture.onResume();
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
showCameraPermissionMissingText(false);
if (!Utils.deviceHasCamera(this)) {
showCameraError(getString(R.string.noCameraFoundGuideText), false);
} else if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
showCameraPermissionMissingText();
} else {
hideCameraError();
}
scaleScreen();
}
@@ -402,12 +408,37 @@ public class ScanActivity extends CatimaAppCompatActivity {
}
}
private void showCameraPermissionMissingText(boolean show) {
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedClickableArea.setOnClickListener(show ? v -> {
public void onCaptureManagerError(String errorMessage) {
if (mHasError) {
// We're already showing an error, ignore this new error
return;
}
showCameraError(errorMessage, false);
}
private void showCameraPermissionMissingText() {
showCameraError(getString(R.string.noCameraPermissionDirectToSystemSetting), true);
}
private void showCameraError(String message, boolean setOnClick) {
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorMessage.setText(message);
setCameraErrorState(true, setOnClick);
}
private void hideCameraError() {
setCameraErrorState(false, false);
}
private void setCameraErrorState(boolean visible, boolean setOnClick) {
mHasError = visible;
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorClickableArea.setOnClickListener(visible && setOnClick ? v -> {
navigateToSystemPermissionSetting();
} : null);
customBarcodeScannerBinding.cardInputContainer.setBackgroundColor(show ? obtainThemeAttribute(com.google.android.material.R.attr.colorSurface) : Color.TRANSPARENT);
customBarcodeScannerBinding.cameraPermissionDeniedLayout.getRoot().setVisibility(show ? View.VISIBLE : View.GONE);
customBarcodeScannerBinding.cardInputContainer.setBackgroundColor(visible ? obtainThemeAttribute(com.google.android.material.R.attr.colorSurface) : Color.TRANSPARENT);
customBarcodeScannerBinding.cameraErrorLayout.getRoot().setVisibility(visible ? View.VISIBLE : View.GONE);
}
private void scaleScreen() {
@@ -417,8 +448,8 @@ public class ScanActivity extends CatimaAppCompatActivity {
float mediumSizePx = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,MEDIUM_SCALE_FACTOR_DIP,getResources().getDisplayMetrics());
boolean shouldScaleSmaller = screenHeight < mediumSizePx;
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedIcon.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedTitle.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorIcon.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorTitle.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
}
private int obtainThemeAttribute(int attribute) {
@@ -444,7 +475,11 @@ public class ScanActivity extends CatimaAppCompatActivity {
boolean granted = grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED;
if (requestCode == CaptureManager.getCameraPermissionReqCode()) {
showCameraPermissionMissingText(!granted);
if (granted) {
hideCameraError();
} else {
showCameraPermissionMissingText();
}
} else if (requestCode == PERMISSION_SCAN_ADD_FROM_IMAGE || requestCode == PERMISSION_SCAN_ADD_FROM_PDF) {
if (granted) {
if (requestCode == PERMISSION_SCAN_ADD_FROM_IMAGE) {

View File

@@ -13,6 +13,8 @@ import android.graphics.Color;
import android.graphics.ImageDecoder;
import android.graphics.Matrix;
import android.graphics.pdf.PdfRenderer;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.net.Uri;
import android.os.Build;
import android.os.ParcelFileDescriptor;
@@ -37,6 +39,7 @@ import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.graphics.ColorUtils;
import androidx.core.os.LocaleListCompat;
import androidx.core.view.WindowInsetsControllerCompat;
import androidx.core.widget.TextViewCompat;
import androidx.exifinterface.media.ExifInterface;
import androidx.palette.graphics.Palette;
@@ -939,6 +942,22 @@ public class Utils {
if (icon != null) {
textWhenNoImage.setVisibility(View.GONE);
} else {
// Manually calculate how many lines will be needed
// This is necessary because Android's auto sizing will split over lines way before reaching the minimum font size and store names split over multiple lines are harder to scan with a quick glance so we should try to prevent it
// Because we have to write the text before we can actually know the exact laid out size (trying to delay this causes bugs where the autosize fails) we have to take some... weird shortcuts
// At this point textWhenNoImage.getWidth() still returns 0, so we cheat by calculating the whole width of the screen and then dividing it by the amount of columns
int textviewWidth = Resources.getSystem().getDisplayMetrics().widthPixels / context.getResources().getInteger(R.integer.main_view_card_columns);
// Calculate how wide a character is and calculate how many characters fit in a line
int characterWidth = TextViewCompat.getAutoSizeMinTextSize(textWhenNoImage);
int maxWidthPerLine = textviewWidth - textWhenNoImage.getPaddingStart() - textWhenNoImage.getPaddingEnd();
// Set amount of lines based on what could fit at most
int maxLines = ((loyaltyCard.store.length() * characterWidth) / maxWidthPerLine) + 1;
textWhenNoImage.setMaxLines(maxLines);
// Actually set the text and colour
textWhenNoImage.setVisibility(View.VISIBLE);
textWhenNoImage.setText(loyaltyCard.store);
textWhenNoImage.setTextColor(Utils.needsDarkForeground(headerColor) ? Color.BLACK : Color.WHITE);
@@ -1015,4 +1034,12 @@ public class Utils {
return false;
});
}
public static boolean deviceHasCamera(Context context) {
try {
return ((CameraManager) context.getSystemService(Context.CAMERA_SERVICE)).getCameraIdList().length > 0;
} catch (CameraAccessException e) {
return false;
}
}
}

View File

@@ -1,212 +0,0 @@
package protect.card_locker.importexport;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.work.Data;
import androidx.work.ForegroundInfo;
import androidx.work.WorkManager;
import androidx.work.Worker;
import androidx.work.WorkerParameters;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import protect.card_locker.DBHelper;
import protect.card_locker.NotificationHelper;
import protect.card_locker.R;
public class ImportExportWorker extends Worker {
private final String TAG = "Catima";
public static final String INPUT_URI = "uri";
public static final String INPUT_ACTION = "action";
public static final String INPUT_FORMAT = "format";
public static final String INPUT_PASSWORD = "password";
public static final String ACTION_IMPORT = "import";
public static final String ACTION_EXPORT = "export";
public static final String OUTPUT_ERROR_REASON = "errorReason";
public static final String ERROR_GENERIC = "errorTypeGeneric";
public static final String ERROR_PASSWORD_REQUIRED = "errorTypePasswordRequired";
public static final String OUTPUT_ERROR_DETAILS = "errorDetails";
public ImportExportWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
Log.e("CATIMA", "Started import/export worker");
Context context = getApplicationContext();
Data inputData = getInputData();
String uriString = inputData.getString(INPUT_URI);
String action = inputData.getString(INPUT_ACTION);
String format = inputData.getString(INPUT_FORMAT);
String password = inputData.getString(INPUT_PASSWORD);
if (action.equals(ACTION_IMPORT)) {
Log.e("CATIMA", "Import requested");
setForegroundAsync(createForegroundInfo(NotificationHelper.CHANNEL_IMPORT, NotificationHelper.IMPORT_PROGRESS_ID, R.string.importing));
ImportExportResult result;
InputStream stream;
try {
stream = context.getContentResolver().openInputStream(Uri.parse(uriString));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
final SQLiteDatabase database = new DBHelper(context).getWritableDatabase();
try {
InputStreamReader writer = new InputStreamReader(stream, StandardCharsets.UTF_8);
result = MultiFormatImporter.importData(context, database, stream, DataFormat.valueOf(format), password.toCharArray());
writer.close();
} catch (IOException e) {
Log.e(TAG, "Unable to import file", e);
NotificationHelper.sendNotification(context, NotificationHelper.IMPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_IMPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.importFailedTitle), e.getLocalizedMessage()).build());
Data failureData = new Data.Builder()
.putString(OUTPUT_ERROR_REASON, ERROR_GENERIC)
.putString(OUTPUT_ERROR_DETAILS, e.getLocalizedMessage())
.putString(INPUT_URI, uriString)
.putString(INPUT_ACTION, action)
.putString(INPUT_FORMAT, format)
.putString(INPUT_PASSWORD, password)
.build();
return Result.failure(failureData);
}
Log.i(TAG, "Import result: " + result);
if (result.resultType() == ImportExportResultType.Success) {
NotificationHelper.sendNotification(context, NotificationHelper.IMPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_IMPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.importSuccessfulTitle), context.getString(R.string.importSuccessful)).build());
return Result.success();
} else if (result.resultType() == ImportExportResultType.BadPassword) {
Log.e(TAG, "Needs password, unhandled for now");
NotificationHelper.sendNotification(context, NotificationHelper.IMPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_IMPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.importing), context.getString(R.string.passwordRequired)).build());
Data failureData = new Data.Builder()
.putString(OUTPUT_ERROR_REASON, ERROR_PASSWORD_REQUIRED)
.putString(OUTPUT_ERROR_DETAILS, result.developerDetails())
.putString(INPUT_URI, uriString)
.putString(INPUT_ACTION, action)
.putString(INPUT_FORMAT, format)
.putString(INPUT_PASSWORD, password)
.build();
return Result.failure(failureData);
} else {
NotificationHelper.sendNotification(context, NotificationHelper.IMPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_IMPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.importFailedTitle), context.getString(R.string.importFailed)).build());
Data failureData = new Data.Builder()
.putString(OUTPUT_ERROR_REASON, ERROR_GENERIC)
.putString(OUTPUT_ERROR_DETAILS, result.developerDetails())
.putString(INPUT_URI, uriString)
.putString(INPUT_ACTION, action)
.putString(INPUT_FORMAT, format)
.putString(INPUT_PASSWORD, password)
.build();
return Result.failure(failureData);
}
} else {
Log.e("CATIMA", "Export requested");
setForegroundAsync(createForegroundInfo(NotificationHelper.CHANNEL_EXPORT, NotificationHelper.EXPORT_PROGRESS_ID, R.string.exporting));
ImportExportResult result;
OutputStream stream;
try {
stream = context.getContentResolver().openOutputStream(Uri.parse(uriString));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
final SQLiteDatabase database = new DBHelper(context).getReadableDatabase();
try {
OutputStreamWriter writer = new OutputStreamWriter(stream, StandardCharsets.UTF_8);
result = MultiFormatExporter.exportData(context, database, stream, DataFormat.valueOf(format), password.toCharArray());
writer.close();
} catch (IOException e) {
Log.e(TAG, "Unable to export file", e);
NotificationHelper.sendNotification(context, NotificationHelper.EXPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_EXPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.exportFailedTitle), e.getLocalizedMessage()).build());
Data failureData = new Data.Builder()
.putString(OUTPUT_ERROR_REASON, ERROR_GENERIC)
.putString(OUTPUT_ERROR_DETAILS, e.getLocalizedMessage())
.putString(INPUT_URI, uriString)
.putString(INPUT_ACTION, action)
.putString(INPUT_FORMAT, format)
.putString(INPUT_PASSWORD, password)
.build();
return Result.failure(failureData);
}
Log.i(TAG, "Export result: " + result);
if (result.resultType() == ImportExportResultType.Success) {
NotificationHelper.sendNotification(context, NotificationHelper.EXPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_EXPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.exportSuccessfulTitle), context.getString(R.string.exportSuccessful)).build());
return Result.success();
} else {
NotificationHelper.sendNotification(context, NotificationHelper.EXPORT_ID, NotificationHelper.createNotificationBuilder(context, NotificationHelper.CHANNEL_EXPORT, R.drawable.ic_import_export_white_24dp, context.getString(R.string.exportFailedTitle), context.getString(R.string.exportFailed)).build());
Data failureData = new Data.Builder()
.putString(OUTPUT_ERROR_REASON, ERROR_GENERIC)
.putString(OUTPUT_ERROR_DETAILS, result.developerDetails())
.putString(INPUT_URI, uriString)
.putString(INPUT_ACTION, action)
.putString(INPUT_FORMAT, format)
.putString(INPUT_PASSWORD, password)
.build();
return Result.failure(failureData);
}
}
}
@NonNull
private ForegroundInfo createForegroundInfo(@NonNull String channel, int notificationId, int title) {
Context context = getApplicationContext();
String cancel = context.getString(R.string.cancel);
// This PendingIntent can be used to cancel the worker
PendingIntent intent = WorkManager.getInstance(context)
.createCancelPendingIntent(getId());
Notification.Builder notificationBuilder = NotificationHelper.createNotificationBuilder(context, channel, R.drawable.ic_import_export_white_24dp, context.getString(title), null);
Notification notification = notificationBuilder
.setOngoing(true)
// Add the cancel action to the notification which can
// be used to cancel the worker
.addAction(android.R.drawable.ic_delete, cancel, intent)
.build();
return new ForegroundInfo(notificationId, notification);
}
}

View File

@@ -45,7 +45,7 @@ public class MultiFormatImporter {
break;
}
String error;
String error = null;
if (importer != null) {
File inputFile;
try {

View File

@@ -1,5 +0,0 @@
<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="M7.41,18.59L8.83,20 12,16.83 15.17,20l1.41,-1.41L12,14l-4.59,4.59zM16.59,5.41L15.17,4 12,7.17 8.83,4 7.41,5.41 12,10l4.59,-4.59z"/>
</vector>

View File

@@ -9,20 +9,20 @@
tools:showIn="@layout/custom_barcode_scanner">
<LinearLayout
android:id="@+id/camera_permission_denied_clickable_area"
android:id="@+id/camera_error_clickable_area"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/camera_permission_denied_icon"
android:id="@+id/camera_error_icon"
android:layout_width="match_parent"
android:layout_height="84dp"
android:scaleType="fitCenter"
android:src="@drawable/camera_permission_denied" />
android:src="@drawable/camera_error" />
<TextView
android:id="@+id/camera_permission_denied_title"
android:id="@+id/camera_error_title"
style="@style/TextAppearance.Material3.HeadlineLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -30,12 +30,12 @@
android:text="@string/cameraPermissionDeniedTitle" />
<TextView
android:id="@+id/camera_permission_denied_message"
android:id="@+id/camera_error_message"
style="@style/AppTheme.TextView.NoData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/noCameraPermissionDirectToSystemSetting" />
android:text="@string/zxing_msg_camera_framework_bug" />
</LinearLayout>
</RelativeLayout>

View File

@@ -34,8 +34,8 @@
android:padding="@dimen/activity_scanner_padding">
<include
android:id="@+id/camera_permission_denied_layout"
layout="@layout/camera_permission_failed_layout"
android:id="@+id/camera_error_layout"
layout="@layout/camera_error_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"

View File

@@ -6,4 +6,5 @@
android:paddingRight="8dp"
style="@style/Widget.MaterialComponents.Chip.Filter"
app:checkedIconVisible="true"
android:textAppearance="?android:attr/textAppearance" />
android:textAppearance="?android:attr/textAppearance"
app:checkedIconTint="?attr/colorOnBackground"/>

View File

@@ -42,12 +42,8 @@
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" />
android:padding="20dp" />
<ImageView
android:importantForAccessibility="no"

View File

@@ -6,8 +6,8 @@ Allan Nordhøy
Heimen Stoffels
Oğuz Ersen
FC (Fay) Stegerman
Katharine Chui
StoyanDimitrov
Katharine Chui
SlavekB
mondstern
IllusiveMan196
@@ -16,40 +16,45 @@ Michael Moroni
GM
Eric
Petr Novák
Joel A
laralem
Joel A
Taco
大王叫我来巡山
pfaffenrodt
Scrambled777
Aayush Gupta
HudobniVolk
Nyatsuki
Giovanni Donisi
Jiri Grönroos
大王叫我来巡山
Samantaz Fox
arno-github
Cliff Heraldo
Sergio Paredes
Ankit Tiwari
Scrambled777
Arno-github
Milo Ivir
Milan Šalka
mdvhimself
Jose Delvani
Balázs Meskó
mdvhimself
Milan Šalka
Skrripy
huuhaa
waffshappen
ikanakova
Projjal Moitra
Quentin PAGÈS
Denis Shilin
Robin Liu
Ziad OUALHADJ
ikanakova
ngocanhtve
Silvério Santos
waffshappen
Ziad OUALHADJ
Robin Liu
Priit Jõerüüt
Denis Shilin
しいたけ
Alexander Ivanov
Miha Frangež
Viet Nguyen Hoang
Silvério Santos
stavpup
ehrt74
Virginie
Michael Gangolf
rudy3

View File

@@ -119,7 +119,6 @@
<string name="settings_blue_theme">أزرق</string>
<string name="settings_sky_blue_theme">أزرق سماوي</string>
<string name="settings_green_theme">أخضر</string>
<string name="settings_grey_theme">رمادي</string>
<string name="settings_brown_theme">بني</string>
<string name="app_contributors">أصبح ممكنًا بواسطة: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">فرز</string>
@@ -238,9 +237,6 @@
<string name="importLoyaltyCardKeychainMessage">حدد ملفك <i>LoyaltyCardKeychain.csv</i> التصدير من Loyalty Card Keychain للاستيراد.
\nقم بإنشائه من قائمة الاستيراد / التصدير في Loyalty Card Keychain بالضغط على تصدير هناك أولاً.</string>
<string name="importStocard">الاستيراد من Stocard</string>
<string name="privacy_policy_popup_text">إشعار سياسة الخصوصية (مطلوب من قبل بعض متاجر التطبيقات):
\n
\nلا يتم جمع أي بيانات على الإطلاق ، والتي يمكن لأي شخص تأكيدها لأن تطبيقنا هو برنامج حر.</string>
<string name="failedGeneratingShareURL">تعذر إنشاء عنوان URL قابل للمشاركة. الرجاء الإبلاغ عن هذا.</string>
<string name="help_translate_this_app">ساعد في ترجمة هذا التطبيق</string>
<string name="on_google_play">على Google Play</string>
@@ -253,21 +249,13 @@
<string name="welcome">مرحبا بك في كاتيما</string>
<string name="updateBalanceTitle">كم أنفقت أو استلمت؟</string>
<string name="currentBalanceSentence">الرصيد الحالي: <xliff:g> %s </xliff:g></string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="zero">عرض الأرشيف (<xliff:g>%1$d</xliff:g> بطاقة)</item>
<item quantity="one">عرض الأرشيف (<xliff:g>%1$d</xliff:g> بطاقة)</item>
<item quantity="two">عرض الأرشيف (<xliff:g>%1$d</xliff:g> بطاقتين)</item>
<item quantity="few">عرض الأرشيف (<xliff:g>%1$d</xliff:g> بطاقات)</item>
<item quantity="many">عرض الأرشيف (<xliff:g>%1$d</xliff:g> بطاقات)</item>
<item quantity="other">عرض الأرشيف (<xliff:g>%1$d</xliff:g> بطاقات)</item>
</plurals>
<string name="importCards">استيراد البطاقات</string>
<string name="newBalanceSentence">الرصيد الجديد: <xliff:g>%s</xliff:g></string>
<string name="cameraPermissionDeniedTitle">تعذر الوصول إلى الكاميرا</string>
<string name="noCameraPermissionDirectToSystemSetting">لمسح الباركود، ستحتاج Catima إلى الوصول إلى الكاميرا. اضغط هنا لتغيير إعدادات الأذونات.</string>
<string name="updateBalance">تحديث الرصيد</string>
<string name="updateBalanceHint">أدخل المبلغ</string>
<string name="storageReadPermissionRequired">الصلاحيه للوصل للتخزين مطلوبة لهذا الاجراء</string>
<string name="storageReadPermissionRequired">الصلاحيه للوصل للتخزين مطلوبة لهذا الاجراء</string>
<string name="validFromDate">عربيه</string>
<string name="cameraPermissionRequired">إذن للوصول إلى الكاميرا اللازمة لهذا الإجراء…</string>
<string name="anyDate">أي تاريخ</string>
@@ -310,7 +298,7 @@
<string name="enter_card_id">أدخل رقم الهوية أو النص الموجود على بطاقتك</string>
<string name="addWithoutBarcode">إضافة بدون باركود</string>
<string name="field_must_not_be_empty">يجب ألا يكون الحقل فارغا</string>
<string name="app_name">كاتيما</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">التدوير دائمًا ( تجاهل إعدادات النظام)</string>
<string name="add_manually_warning_title">الفحص موصى به</string>
<string name="continue_">استمر</string>
@@ -322,5 +310,10 @@
<string name="errorReadingFile">لا يمكن قراءة الملف</string>
<string name="failedLaunchingFileManager">لم يتم العثور على مدير ملفات مدعوم</string>
<string name="multipleBarcodesFoundPleaseChooseOne">اي من الـbarcodes تريد استخدامه؟</string>
<string name="pageWithNumber">صفحة<xliff:g>%d</xliff:g></string>
<string name="pageWithNumber">صفحة <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">يبدوا أن جهازك لا يمتلك كاميرا. إذا كان يمتلكها، أطفئ الجهاز وحاول مرة اخرى. اذا لم ينجح ذلك، أضغط على زر \"المزيد من الأختيارات\" في الأسفل لإضافة الباركود بطريقة أخرى.</string>
<string name="importCancelled">تم الغاء الاستيراد</string>
<string name="exportCancelled">تم الغاء الاستخراج</string>
<string name="useFrontImage">استخدام صورة أمامية</string>
<string name="useBackImage">استخدم صورة خلفية</string>
</resources>

View File

@@ -51,9 +51,6 @@
<string name="importFidme">Внасяне от FidMe</string>
<string name="exportOptionExplanation">Данните ще бъдат запазени на място по ваш избор.</string>
<string name="accept">Приемане</string>
<string name="privacy_policy_popup_text">Политика за личните данни (необходима от някои магазини за приложения):
\n
\nНЕ СЕ СЪБИРАТ ИЗОБЩО НИКАКВИ ДАННИ, което може да бъде потвърдено, защото приложението е със свободен код.</string>
<string name="privacy_policy">Политика за личните данни</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="turn_flashlight_off">Изключва светкавицата</string>
@@ -157,7 +154,6 @@
</plurals>
<string name="app_contributors">Осъществено от: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Кафяво</string>
<string name="settings_grey_theme">Сиво</string>
<string name="settings_green_theme">Зелено</string>
<string name="settings_sky_blue_theme">Небесносиньо</string>
<string name="settings_blue_theme">Синьо</string>
@@ -226,10 +222,6 @@
<string name="nextCard">Следваща</string>
<string name="failedToOpenUrl">Първо инсталирайте уеб браузър</string>
<string name="welcome">Добре дошли при Катима</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="barcodeLongPressMessage">В приложението галерия могат да бъдат отваряни само изображения</string>
<string name="failedToRetrieveImageFile">Не е възможно извличане на изображение</string>
<string name="noCameraPermissionDirectToSystemSetting">За да сканирате щрихкодове с Catima е необходим достъп до камерата. За да промените разрешението докоснете тук.</string>
@@ -295,4 +287,9 @@
<string name="errorReadingFile">Файлът не може да бъде прочетен</string>
<string name="failedLaunchingFileManager">Не е намерено приложение за управление на файлове</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Кой от намерените щрихкодове желаете да бъде използван?</string>
<string name="noCameraFoundGuideText">Изглежда, устройството няма камера. Ако има опитайте да рестартирате. В противен случай използвайте бутона „Още“, за да добавите шрихкод по друг начин.</string>
<string name="importCancelled">Внасянето е спряно</string>
<string name="exportCancelled">Изнасянето е спряно</string>
<string name="useFrontImage">Използване на предната страна</string>
<string name="useBackImage">Използване на задната страна</string>
</resources>

View File

@@ -173,9 +173,6 @@
<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="chooseImportType">এখান থেকে তথ্য আমদানি করুন</string>
@@ -195,10 +192,6 @@
<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>
@@ -219,7 +212,6 @@
\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>

View File

@@ -12,7 +12,6 @@
<string name="about">সম্পর্কিত</string>
<string name="card">কার্ড</string>
<string name="yes">হ্যাঁ</string>
<string name="settings_grey_theme">ধূসর</string>
<string name="ok">ঠিক আছে</string>
<string name="sendLabel">পাঠান…</string>
<string name="sort_by_name">নাম</string>

View File

@@ -1,7 +1,7 @@
<?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="action_add">Přidat</string>
<string name="noGiftCards">Klepněte na tlačítko Plus (+) pro přidání karty nebo naimportujete karty z nabídky (⋮).</string>
<string name="noGiftCards">Klepněte na tlačítko plus (+) pro přidání karty nebo naimportujete karty z nabídky (⋮).</string>
<string name="storeName">Název</string>
<string name="note">Poznámka</string>
<string name="cardId">ID karty</string>
@@ -87,7 +87,6 @@
<string name="moveDown">Přesunout dolů</string>
<string name="moveUp">Přesunout nahoru</string>
<string name="settings_brown_theme">Hnědá</string>
<string name="settings_grey_theme">Šedá</string>
<string name="settings_green_theme">Zelená</string>
<string name="settings_sky_blue_theme">Azurová</string>
<string name="settings_blue_theme">Modrá</string>
@@ -135,9 +134,6 @@
\nVytvoříte jej z nabídky Import/Export jiné aplikace Catima tak, že v ní nejprve stisknete tlačítko Exportovat.</string>
<string name="importCatima">Import z Catima</string>
<string name="accept">Přijmout</string>
<string name="privacy_policy_popup_text">Oznámení o zásadách ochrany osobních údajů (vyžadováno některými obchody s aplikacemi):
\n
\nNejsou shromažďovány žádné údaje, což může potvrdit každý, protože naše aplikace je svobodný software.</string>
<string name="privacy_policy">Zásady soukromí</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Importovat data z</string>
@@ -231,11 +227,6 @@
<string name="nextCard">Následující</string>
<string name="failedToOpenUrl">Nejprve nainstalujte webový prohlížeč</string>
<string name="welcome">Vítejte v Catima</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Zobrazit archiv (<xliff:g>%1$d</xliff:g> karta)</item>
<item quantity="few">Zobrazit archiv (<xliff:g>%1$d</xliff:g> karty)</item>
<item quantity="other">Zobrazit archiv (<xliff:g>%1$d</xliff:g> karet)</item>
</plurals>
<string name="barcodeLongPressMessage">V aplikaci pro galerii mohou být otevírány pouze obrázky</string>
<string name="failedToRetrieveImageFile">Nepodařilo se získat soubor obrázku</string>
<string name="cameraPermissionDeniedTitle">Nelze získat přístup k fotoaparátu</string>
@@ -302,4 +293,9 @@
<string name="pageWithNumber">Stránka <xliff:g>%d</xliff:g></string>
<string name="multipleBarcodesFoundPleaseChooseOne">Který z nalezených čárových kódů chcete použít?</string>
<string name="failedLaunchingFileManager">Nelze nalézt podporovaný správce souborů</string>
<string name="noCameraFoundGuideText">Zdá se, že vaše zařízení nemá fotoaparát. Pokud ano, zkuste zařízení restartovat. V opačném případě použijte tlačítko Další možnosti a přidejte čárový kód jiným způsobem.</string>
<string name="importCancelled">Import zrušen</string>
<string name="exportCancelled">Export zrušen</string>
<string name="useBackImage">Použijte předchozí obrázek</string>
<string name="useFrontImage">Použijte přední obrázek</string>
</resources>

View File

@@ -12,16 +12,16 @@
<string name="edit">Bearbeiten</string>
<string name="delete">Löschen</string>
<string name="confirm">Bestätigen</string>
<string name="star">Zu den Favoriten hinzufügen</string>
<string name="unstar">Aus den Favoriten entfernen</string>
<string name="star">Zu Favoriten hinzufügen</string>
<string name="unstar">Aus Favoriten entfernen</string>
<string name="ok">OK</string>
<string name="sendLabel">Senden </string>
<string name="sendLabel">Senden…</string>
<string name="editCardTitle">Karte bearbeiten</string>
<string name="addCardTitle">Neue Karte</string>
<string name="scanCardBarcode">Barcode scannen</string>
<string name="cardShortcut">Shortcut zu einer Karte</string>
<string name="cardShortcut">Kartenkürzel</string>
<string name="noCardsMessage">Füge zuerst eine Karte hinzu</string>
<string name="noCardExistsError">Diese Karte konnte nicht gefunden werden</string>
<string name="noCardExistsError">Konnte die Karte nicht finden</string>
<string name="importExport">Import/Export</string>
<string name="exportName">Export</string>
<string name="importExportHelp">Wenn du deine Daten sicherst, kannst du sie auf ein anderes Gerät übertragen.</string>
@@ -33,12 +33,12 @@
<string name="exportFailed">Export konnte nicht durchgeführt werden</string>
<string name="importing">Importiere…</string>
<string name="exporting">Exportiere…</string>
<string name="importOptionFilesystemTitle">Importiere aus dem Dateisystem</string>
<string name="importOptionFilesystemExplanation">Wähle eine Datei vom Dateisystem aus.</string>
<string name="importOptionFilesystemButton">Wähle vom Dateisystem</string>
<string name="importOptionApplicationTitle">Andere Anwendungen</string>
<string name="importOptionFilesystemTitle">Aus Dateisystem importieren</string>
<string name="importOptionFilesystemExplanation">Eine bestimmte Datei aus dem Dateisystem auswählen.</string>
<string name="importOptionFilesystemButton">vom Dateisystem</string>
<string name="importOptionApplicationTitle">Andere App verwenden</string>
<string name="importOptionApplicationExplanation">Beliebige Anwendung oder deinen bevorzugten Dateimanager zur Dateiauswahl verwenden.</string>
<string name="importOptionApplicationButton">Aus anderer Anwendung</string>
<string name="importOptionApplicationButton">Andere App verwenden</string>
<string name="about">Über</string>
<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>
@@ -66,7 +66,7 @@
<string name="noGroups">Klicke auf das Pluszeichen +, um eine Gruppe hinzuzufügen.</string>
<string name="noGroupCards">Diese Gruppe ist leer</string>
<string name="groups">Gruppen</string>
<string name="enter_group_name">Gib einen Gruppennamen ein</string>
<string name="enter_group_name">Gruppennamen eingeben</string>
<string name="leaveWithoutSaveConfirmation">Beenden ohne zu speichern\?</string>
<string name="leaveWithoutSaveTitle">Beenden</string>
<string name="failedOpeningFileManager">Installiere zuerst einen Dateimanager.</string>
@@ -95,9 +95,6 @@
<string name="expiryStateSentence">Läuft ab: <xliff:g>%s</xliff:g></string>
<string name="settings_disable_lockscreen_while_viewing_card">Sperrbildschirm verhindern</string>
<string name="settings_keep_screen_on">Bildschirm aktiv lassen</string>
<string name="privacy_policy_popup_text">Hinweis zum Datenschutz (oft gefordert):
\n
\nKEINE DATEN WERDEN GESAMMELT, was jeder bestätigen kann, da unsere Anwendung eine freie Software ist.</string>
<string name="accept">Annehmen</string>
<string name="privacy_policy">Datenschutzrichtlinie</string>
<string name="importVoucherVaultMessage">Wähle deinen <i>vouchervault.json</i>-Export aus Voucher Vault zum Importieren aus.
@@ -112,10 +109,10 @@
<string name="importCatimaMessage">Wähle deinen <i>catima.zip</i>-Export aus Catima zum Importieren aus.
\nErstelle ihn aus dem Import/Export-Menü einer anderen Catima-Anwendung, indem du dort zuerst Export drückst.</string>
<string name="importCatima">Aus Catima importieren</string>
<string name="setBarcodeId">Manuell eingeben</string>
<string name="setBarcodeId">Barcodewert festlegen</string>
<string name="sameAsCardId">Entspricht Kartennummer</string>
<string name="barcodeId">Barcodewert</string>
<string name="errorReadingImage">Bildverarbeitung fehlgeschlagen</string>
<string name="errorReadingImage">Konnte das Bild nicht lesen</string>
<string name="noBarcodeFound">Kein Barcode erkannt</string>
<string name="addFromImage">Bild aus der Galerie wählen</string>
<string name="unsupportedBarcodeType">Dieser Barcodetyp kann noch nicht angezeigt werden. Wir hoffen das Format in einer zukünftigen Version zu unterstützen.</string>
@@ -129,17 +126,17 @@
<string name="updateBarcodeQuestionTitle">Barcodewert aktualisieren?</string>
<string name="takePhoto">Foto aufnehmen</string>
<string name="removeImage">Bild entfernen</string>
<string name="setBackImage">Kartenrückseite</string>
<string name="setFrontImage">Kartenvorderseite</string>
<string name="setBackImage">Rückseite einstellen</string>
<string name="setFrontImage">Vorderseite einstellen</string>
<string name="photos">Fotos</string>
<string name="frontImageDescription">Bild der Vorseite</string>
<string name="backImageDescription">Bild der Rückseite</string>
<string name="frontImageDescription">Vorderseite</string>
<string name="backImageDescription">Rückseite</string>
<string name="passwordRequired">Bitte gib das Passwort ein</string>
<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>
<string name="turn_flashlight_on">Licht einschalten</string>
<string name="turn_flashlight_off">Blitzlicht ausschalten</string>
<string name="turn_flashlight_on">Blitzlicht einschalten</string>
<string name="failedGeneratingShareURL">URL konnte nicht erstellt werden. Bitte melde das an uns.</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> ausgewählt</item>
@@ -158,7 +155,6 @@
<string name="settings_system_locale">System</string>
<string name="settings_locale">Sprache</string>
<string name="settings_brown_theme">Braun</string>
<string name="settings_grey_theme">Grau</string>
<string name="settings_green_theme">Grün</string>
<string name="settings_sky_blue_theme">Himmelblau</string>
<string name="settings_blue_theme">Blau</string>
@@ -193,10 +189,10 @@
<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">Vorschaubild setzen</string>
<string name="setIcon">Vorschaubild festlegen</string>
<string name="selectColor">Farbe auswählen</string>
<string name="translate_platform">auf Weblate</string>
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
<string name="shortcutSelectCard">Wähle eine Karte</string>
<string name="options">Optionen</string>
<string name="showMoreInfo">Infos anzeigen</string>
<string name="starred">als Favorit</string>
@@ -224,16 +220,12 @@
<string name="previousCard">Vorherige</string>
<string name="nextCard">Nächste</string>
<string name="failedToOpenUrl">Bitte installiere einen Webbrowser</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Archiv ansehen (<xliff:g>%1$d</xliff:g> Karte)</item>
<item quantity="other">Archiv ansehen (<xliff:g>%1$d</xliff:g> Karten)</item>
</plurals>
<string name="welcome">Willkommen bei Catima</string>
<string name="barcodeLongPressMessage">In der Galerie können nur Bilder geöffnet werden</string>
<string name="failedToRetrieveImageFile">Bilddatei konnte nicht abgerufen werden</string>
<string name="updateBalanceTitle">Wie viel hast du ausgegeben oder erhalten?</string>
<string name="cameraPermissionDeniedTitle">Kein Zugriff auf die Kamera möglich</string>
<string name="noCameraPermissionDirectToSystemSetting">Um Strichcodes zu scannen, benötigt Catima Zugriff auf Ihre Kamera. Tippen Sie hier, um Ihre Berechtigungseinstellungen zu ändern.</string>
<string name="noCameraPermissionDirectToSystemSetting">Um Strichcodes zu scannen, benötigt Catima Zugriff auf deine Kamera. Tippe hier, um deine Berechtigungseinstellungen zu ändern.</string>
<string name="updateBalanceHint">Betrag eingeben</string>
<string name="importCards">Karten importieren</string>
<string name="currentBalanceSentence">Aktuelles Guthaben: <xliff:g>%s</xliff:g></string>
@@ -245,23 +237,23 @@
<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="icon_header_click_text">Zum Bearbeiten des Vorschaubildes lang drücken</string>
<string name="switchToBarcode">Zum Barcode wechseln</string>
<string name="openFrontImageInGalleryApp">Vorderseite in Galerie öffnen</string>
<string name="openBackImageInGalleryApp">Rückseite in 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="switchToFrontImage">Zur Vorderseite wechseln</string>
<string name="switchToBackImage">Zur Rückseite 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 anzeigen</string>
<string name="show_name_below_image_thumbnail">Namen unter Bildvorschau anzeigen</string>
<string name="settings_allow_content_provider_read_title">Anderen Anwendungen den Zugriff auf meine Daten gestatten</string>
<string name="show_name_below_image_thumbnail">Namen unter Vorschaubild anzeigen</string>
<string name="settings_allow_content_provider_read_title">Anderen Apps den Zugriff auf meine Daten gestatten</string>
<string name="permissionReadCardsLabel">Catima-Karten lesen</string>
<string name="permissionReadCardsDescription">lesen deiner Catima Karten mit allen Details, einschließlich Notizen und Bildern</string>
<string name="settings_allow_content_provider_read_summary">Anwendungen müssen weiterhin eine Genehmigung beantragen, um Zugriff zu erhalten</string>
<string name="permissionReadCardsDescription">Lesen deiner Catima Karten mit allen Details, einschließlich Notizen und Bildern</string>
<string name="settings_allow_content_provider_read_summary">Apps müssen weiterhin eine Genehmigung beantragen, um Zugriff zu erhalten</string>
<string name="settings_display_barcode_max_brightness_summary">Erforderlich für das Funktionieren einiger Scanner</string>
<string name="settings_keep_screen_on_summary">Deaktiviert die Bildschirmzeitüberschreitung beim Anzeigen einer Karte</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Deaktiviert die Bildschirmsperre während der Anzeige einer Karte</string>
@@ -269,9 +261,9 @@
<string name="settings_category_title_cards">Karten</string>
<string name="settings_category_title_privacy">Datenschutz</string>
<string name="settings_category_title_general">Allgemein</string>
<string name="view_online">Zeige online</string>
<string name="view_online">Online anzeigen</string>
<string name="action_display_options">Anzeigeoptionen</string>
<string name="show_archived_cards">Zeige archivierte Karten</string>
<string name="show_archived_cards">Archivierte Karten anzeigen</string>
<string name="app_copyright_short">Copyright © Sylvia van Os und Mitwirkende</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os und Mitwirkende</string>
<string name="card_id_must_not_be_empty">Kartennummer darf nicht leer sein</string>
@@ -279,9 +271,9 @@
<string name="add_a_card_in_a_different_way">Karte anders hinzufügen</string>
<string name="action_more_options">Mehr Optionen</string>
<string name="enter_card_id">Gib die Codenummer oder Ziffernfolge deiner Karte an</string>
<string name="addWithoutBarcode">Eine Karde ohne Code hinzufügen</string>
<string name="addWithoutBarcode">Eine Karte ohne Code hinzufügen</string>
<string name="field_must_not_be_empty">Feld darf nicht leer sein</string>
<string name="manually_enter_barcode_instructions">Trage die ID Nummer oder Text deiner Karte ein und drücke auf den Barcode, der wie auf deiner Karte aussieht.</string>
<string name="manually_enter_barcode_instructions">Trage die ID Nummer oder Text deiner Karte ein und drücke auf den Barcode, der wie der auf deiner Karte aussieht.</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Immer drehen (ignoriert Systemeinstellungen)</string>
<string name="continue_">Fortfahren</string>
@@ -293,6 +285,11 @@
<string name="addFromPdfFile">PDF-Datei auswählen</string>
<string name="errorReadingFile">Datei konnte nicht gelesen werden</string>
<string name="failedLaunchingFileManager">Konnte keinen unterstützten Dateimanager finden</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Welchen der gefundenen Barcodes möchten Sie verwenden?</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Welchen der gefundenen Barcodes möchtest du verwenden?</string>
<string name="pageWithNumber">Seite <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Dein Gerät scheint nicht über eine Kamera zu verfügen. Wenn dies der Fall ist, versuche, das Gerät neu zu starten. Andernfalls verwende die Schaltfläche Weitere Optionen unten, um einen Barcode auf andere Weise hinzuzufügen.</string>
<string name="exportCancelled">Export abgebrochen</string>
<string name="importCancelled">Import abgebrochen</string>
<string name="useFrontImage">Vorderseite verwenden</string>
<string name="useBackImage">Rückseite verwenden</string>
</resources>

View File

@@ -92,7 +92,7 @@
\nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής στο Loyalty Card Keychain επιλέγοντας Εξαγωγή.</string>
<string name="importFidme">Εισαγωγή από FidMe</string>
<string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμωτού κώδικα μετέπειτα.
\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και διαλέγοντας εξαγωγή δεδομένων.</string>
\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και πατώντας Εξαγωγή δεδομένων πρώτα.</string>
<string name="setBarcodeId">Επιλέξτε τιμή γραμμωτού κώδικα</string>
<string name="wrongValueForBarcodeType">Η τιμή δεν είναι έγκυρη για τον επιλεγμένο γραμμωτό κώδικα</string>
<string name="setBackImage">Επιλογή οπίσθιας εικόνας</string>
@@ -115,9 +115,6 @@
<string name="privacy_policy">Πολιτική απορρήτου</string>
<string name="chooseImportType">Εισαγωγή δεδομένων από</string>
<string name="app_loyalty_card_keychain">Lοyalty Card Keychain</string>
<string name="privacy_policy_popup_text">Σημείωμα πολιτικής απορρήτου ( υποχρεωτικό σε κάποια \"μαγαζιά\" εφαρμογών)
\n
\nΜΗΔΕΝΙΚΆ ΔΕΔΟΜΈΝΑ ΣΥΛΛΈΓΟΝΤΑΙ, ο οποιοσδήποτε μπορεί να το επιβεβαιώσει μιας και η εφαρμογή είναι ελεύθερο λογισμικό.</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> κάρτα ( <xliff:g id="archivedCount">%2$d</xliff:g> αρχειοθετήθηκε)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> κάρτες ( <xliff:g id="archivedCount">%2$d</xliff:g> αρχειοθετήθηκαν)</item>
@@ -151,7 +148,6 @@
<string name="setIcon">Ορισμός εικονιδίου</string>
<string name="settings_sky_blue_theme">Γαλάζιο</string>
<string name="settings_green_theme">Πράσινο</string>
<string name="settings_grey_theme">Γκρι</string>
<string name="settings_brown_theme">Καφέ</string>
<string name="sort_by_expiry">Λήξη</string>
<plurals name="groupCardCount">
@@ -230,10 +226,6 @@
<string name="updateBalance">Ενημέρωση υπολοίπου</string>
<string name="barcodeLongPressMessage">Μόνο εικόνες μπορούν να ανοιχτούν στην εφαρμογή φωτογραφιών</string>
<string name="noCameraPermissionDirectToSystemSetting">Για να σκανάρετε γραμμωτούς κώδικες, θα χρειαστεί πρόσβαση στην κάμερα από το Catima. Πατήστε εδώ για να δώσετε πρόσβαση.</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="importCards">Εισαγωγή καρτών</string>
<string name="updateBalanceHint">Εισάγετε ποσό</string>
<string name="currentBalanceSentence">Τωρινό υπόλοιπο <xliff:g>%s</xliff:g></string>
@@ -295,4 +287,9 @@
<string name="field_must_not_be_empty">Το πεδίο δεν πρέπει να είναι κενό</string>
<string name="manually_enter_barcode_instructions">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας και πατήστε τον γραμμωτό κώδικα που μοιάζει με αυτόν της κάρτας σας.</string>
<string name="add_manually_warning_title">Συνιστάται η σάρωση</string>
<string name="noCameraFoundGuideText">Η συσκευή σας δεν φαίνεται να διαθέτει κάμερα. Αν έχει, δοκιμάστε να κάνετε επανεκκίνηση της συσκευής. Διαφορετικά, χρησιμοποιήστε το κουμπί Περισσότερες επιλογές παρακάτω για να προσθέσετε έναν γραμμωτό κώδικα με άλλο τρόπο.</string>
<string name="importCancelled">Η εισαγωγή ακυρώθηκε</string>
<string name="exportCancelled">Η εξαγωγή ακυρώθηκε</string>
<string name="useFrontImage">Χρήση μπροστινής εικόνας</string>
<string name="useBackImage">Χρήση οπίσθιας εικόνας</string>
</resources>

View File

@@ -1,24 +1,24 @@
<?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="delete">Forigi</string>
<string name="noBarcode">Sen strekokodo</string>
<string name="barcodeType">Tipo de strekokodo</string>
<string name="noBarcode">Sen strikodo</string>
<string name="barcodeType">Tipo de strikodo</string>
<string name="cardId">Identigilo de karto</string>
<string name="settings">Agordoj</string>
<string name="selectBarcodeTitle">Elekti strekokodon</string>
<string name="selectBarcodeTitle">Elekti strikodon</string>
<string name="debug_version_fmt">Versio: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">Pri <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Kopirajto © 2019<xliff:g>%d</xliff:g> Sylvia van Os.</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Kopirajto © 2019<xliff:g>%d</xliff:g> Sylvia van Os kaj kontribuantoj</string>
<string name="importOptionFilesystemButton">El dosiersistemo</string>
<string name="importOptionFilesystemTitle">Enporti el dosiersistemo</string>
<string name="exportFailedTitle">Elportado malsukcesis</string>
<string name="exportSuccessfulTitle">Elportado sukcesis</string>
<string name="importFailedTitle">Enportado malsukcesis</string>
<string name="importSuccessfulTitle">Enportado sukcesis</string>
<string name="exporting">Elportante…</string>
<string name="importing">Enportante…</string>
<string name="exportFailedTitle">Eksportado malsukcesis</string>
<string name="exportSuccessfulTitle">Eksportado sukcesis</string>
<string name="importFailedTitle">Importado malsukcesis</string>
<string name="importSuccessfulTitle">Importado sukcesis</string>
<string name="exporting">Eksportante…</string>
<string name="importing">Importante…</string>
<string name="exportName">Elporti</string>
<string name="importExport">Enporti/elporti</string>
<string name="importExport">Importi/eksporti</string>
<string name="addCardTitle">Aldoni karton</string>
<string name="editCardTitle">Redakti karton</string>
<string name="sendLabel">Sendi…</string>
@@ -28,7 +28,7 @@
<string name="photos">Fotoj</string>
<string name="points">Poentoj</string>
<string name="currency">Valuto</string>
<string name="editBarcode">Redakti strekokodon</string>
<string name="editBarcode">Redakti strikodon</string>
<string name="card">Karto</string>
<string name="never">Neniam</string>
<string name="groupsList">Grupoj: <xliff:g>%s</xliff:g></string>
@@ -50,37 +50,246 @@
<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="starImage">Preferata stelo</string>
<string name="thumbnailDescription">Bildeto por karto</string>
<string name="starImage">Stelmarko</string>
<string name="thumbnailDescription">Bildeto</string>
<string name="app_copyright_old">Bazita sur Lojaleco Karto Keychain
\nkopirajto © 2016-2020 Branden Archer.</string>
<string name="importOptionApplicationButton">Uzi alian app</string>
<string name="importOptionApplicationExplanation">Uzi ajna app aŭ via preferata dosiera # mana\? ero por malfermi dosieron.</string>
\nkopirajto © 2016-2020 Branden Archer</string>
<string name="importOptionApplicationButton">Uzi alian apon</string>
<string name="importOptionApplicationExplanation">Uzi ajnan apon aŭ vian preferatan dosiermastrumilon por malfermi dosieron.</string>
<string name="importOptionApplicationTitle">Uzi alian app</string>
<string name="importOptionFilesystemExplanation">Elektu specifa dosiero de la dosiersistemo.</string>
<string name="exportOptionExplanation">La datumoj estos skribita al loko de via elekto.</string>
<string name="exportFailed">Ne povis eksporti kartoj</string>
<string name="importFailed">Ne povis importi kartoj</string>
<string name="importExportHelp">Subtenanta supre vian kartoj permesas vin movi ilin al alia aparato.</string>
<string name="failedParsingImportUriError">Ne eblis analizi la importado URI</string>
<string name="noCardExistsError">Ne eblis trovi karto</string>
<string name="noCardsMessage">Aldoni karto unua</string>
<string name="exportFailed">Ne povis fari eksportadon</string>
<string name="importFailed">Ne povis fari importadon</string>
<string name="importExportHelp">Fari savkopion de viaj datumoj permesas movi ilin al alia aparato.</string>
<string name="failedParsingImportUriError">Ne eblis analizi la URI de la importado</string>
<string name="noCardExistsError">Ne eblis trovi tiun karton</string>
<string name="noCardsMessage">Aldonu karton unue</string>
<string name="cardShortcut">Karto Mallongirejo</string>
<string name="scanCardBarcode">Scintigrafio Barcode Card</string>
<string name="scanCardBarcode">Skani strikodon</string>
<string name="share">Interŝanĝado</string>
<string name="star">Aldoni al miaj plej ŝatataj</string>
<string name="star">Aldoni al miaj markitaj</string>
<string name="settings_keep_screen_on">Teni sur ekrano</string>
<string name="importSuccessful">Karto datumo importitaj</string>
<string name="enter_group_name">Eniri nomo de la grupo</string>
<string name="noGroups">Klaki la + plus butonon por aldoni grupoj por categorization unua.</string>
<string name="importSuccessful">Datumoj importitaj</string>
<string name="enter_group_name">Entajpu nomo de la grupo</string>
<string name="noGroups">Klaki la + plus butonon por aldoni grupojn por enkategoriigo.</string>
<string name="all">Ĉiuj</string>
<string name="intent_import_card_from_url_share_text">Mi deziras dividi karto kun vi</string>
<string name="exportSuccessful">Karto datumo eksportita</string>
<string name="noGroupCards">Ĉi tiu grupo ne enhavas ajnan kartoj</string>
<string name="noGiftCards">Klavu la \"+\" butonon por aldoni karton, aŭ importu uzi menuo \" ⋮\".</string>
<string name="exportSuccessful">Datumoj eksportitaj</string>
<string name="noGroupCards">Ĉi tiu grupo estas malplena</string>
<string name="noGiftCards">Klavu la \"+\" butonon por aldoni karton, aŭ importu el la menuo \" ⋮\".</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%d</xliff:g> elektita</item>
<item quantity="other"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%d</xliff:g> elektitaj</item>
<item quantity="one"><xliff:g>%d</xliff:g> elektita</item>
<item quantity="other"><xliff:g>%d</xliff:g> elektitaj</item>
</plurals>
<string name="app_name">Catima</string>
<string name="barcodeImageDescriptionWithType">Bildo <xliff:g>%s</xliff:g> strikodo</string>
<string name="cameraPermissionRequired">Permeso atingi fotilon estas bezonata por ĉi tiu ago…</string>
<string name="permissionReadCardsLabel">Legi Catima kartojn</string>
<string name="noMatchingGiftCards">Neniu rezulto. Provu ŝanĝi vian serĉon.</string>
<string name="noGiftCardsGroup">Kreu kartojn kaj poste atribuu ilin al la grupo ĉi tie.</string>
<string name="storageReadPermissionRequired">Permeso legi stokadon estas bezonata por ĉi tiu ago…</string>
<string name="unstar">Forigi de miaj markitaj</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Forigi <xliff:g>%d</xliff:g> karton</item>
<item quantity="other">Forigi <xliff:g>%d</xliff:g> kartojn</item>
</plurals>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Forigi ĉi tiun <xliff:g>%d</xliff:g> karton daŭre?</item>
<item quantity="other">Forigi ĉi tiujn <xliff:g>%d</xliff:g> kartojn daŭre?</item>
</plurals>
<string name="expiryDate">Valida ĝis</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="noBarcodeFound">Ne eblis trovi strikodon</string>
<string name="balance">Saldo</string>
<string name="moveBarcodeToTopOfScreen">Movi la strekodon al la supro de la ekrano</string>
<string name="errorReadingImage">Ne eblis legi bildon</string>
<string name="settings_brown_theme">Bruna</string>
<string name="showMoreInfo">Montri informojn</string>
<string name="on_github">sur GitHub</string>
<string name="archive">Enarkivigi</string>
<string name="duplicateCard">Duoblaĵo</string>
<string name="unarchived">Karto elarkivigita</string>
<string name="archived">Karto enarkivigita</string>
<string name="failedLaunchingPhotoPicker">Ne povis trovi subtenatan galerian apon</string>
<string name="failedToOpenUrl">Unue instalu retumilon</string>
<string name="importCards">Importi kartojn</string>
<string name="switchToBackImage">Ŝanĝi al malantaŭa bildo</string>
<string name="setBarcodeHeight">Starigi altecon de strikodo</string>
<string name="icon_header_click_text">Premi longe por redakti bildeton</string>
<string name="show_validity">Montri validecon</string>
<string name="addFromImage">Elekti bildon el la galerio</string>
<string name="shortcutSelectCard">Elekti karton</string>
<string name="chooseValidFromDate">Elekti startdaton de valideco</string>
<string name="privacy_policy">Regularo pri privateco</string>
<string name="chooseExpiryDate">Elektu findaton de valideco</string>
<string name="group_updated">Grupo ĝisdatigita</string>
<string name="leaveWithoutSaveTitle">Eliri</string>
<string name="moveDown">Movi malsupren</string>
<string name="leaveWithoutSaveConfirmation">Eliri sen konservi?</string>
<string name="validFromDate">Valida ekde</string>
<string name="accept">Akcepti</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="settings_sky_blue_theme">Ĉielblua</string>
<string name="unarchive">Elarkivigi</string>
<string name="switchToBarcode">Ŝanĝi al strikodo</string>
<string name="currentBalanceSentence">Nuna saldo: <xliff:g>%s</xliff:g></string>
<string name="height">Alteco:</string>
<string name="settings_category_title_general">Ĝenerala</string>
<string name="settings_category_title_privacy">Privateco</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> punkto</item>
<item quantity="other"><xliff:g>%s</xliff:g> punktoj</item>
</plurals>
<string name="group_edit">Redakti grupon</string>
<string name="updateBalanceTitle">Kiom vi elspezis aŭ ricevis?</string>
<string name="updateBalanceHint">Entajpi kvanton</string>
<string name="previousCard">Antaŭa</string>
<string name="nextCard">Sekva</string>
<string name="reverse">inversi la ordon</string>
<string name="translate_platform">sur Weblate</string>
<string name="failedToRetrieveImageFile">Malsukcesis ricevi bildodosieron</string>
<string name="help_translate_this_app">Helpi traduki ĉi tiun apon</string>
<string name="welcome">Bonvenon al Catima</string>
<string name="donate">Doni</string>
<string name="validFromSentence">Valida ekde: <xliff:g>%s</xliff:g></string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Preventas ekranŝloson dum rigardo al karto</string>
<string name="settings_allow_content_provider_read_summary">Apoj devos peti permeson por ricevi aliron</string>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> karto</item>
<item quantity="other"><xliff:g>%d</xliff:g> kartoj</item>
</plurals>
<string name="group_name_already_in_use">Gruponomo jam uzata</string>
<string name="group_name_is_empty">Gruponomo devas ne esti malplena</string>
<string name="deleteConfirmationGroup">Forigi grupon?</string>
<string name="failedOpeningFileManager">Unue instalu dosiermastrumilon.</string>
<string name="addManually">Entajpi la strikodon permane</string>
<string name="editGroup">Redaktante grupon: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Eksvalidiĝis: <xliff:g>%s</xliff:g></string>
<string name="balanceParsingFailed">Nevalida saldo</string>
<string name="chooseImportType">Importi datumojn de</string>
<string name="importCatima">Importi el Catima</string>
<string name="settings_green_theme">Verda</string>
<string name="updateBalance">Ĝisdatigi saldon</string>
<string name="barcodeLongPressMessage">Nur bildoj povas esti malfermitaj en la galeria apo</string>
<string name="sort_by_name">Nomo</string>
<string name="sort_by_most_recently_used">Plej laste uzitaj</string>
<string name="sort_by_expiry">Dato de eksvalidiĝo</string>
<string name="sort_by">Ordigi laŭ</string>
<string name="version_history">Versio historio</string>
<string name="credits">Dankoj</string>
<string name="license">Permesilo</string>
<string name="and_data_usage">kaj datumuzado</string>
<string name="rate_this_app">Taksi ĉi tiun apon</string>
<string name="report_error">Raporti eraron</string>
<string name="starred">Markitaj</string>
<string name="newBalanceSentence">Nova saldo: <xliff:g>%s</xliff:g></string>
<string name="anyDate">Iam ajn</string>
<string name="switchToFrontImage">Ŝanĝi al antaŭa bildo</string>
<string name="openFrontImageInGalleryApp">Malfermi la antaŭan bildon en galeria apo</string>
<string name="openBackImageInGalleryApp">Malfermi la malantaŭan bildon en galeria apo</string>
<string name="show_name_below_image_thumbnail">Montri nomon sub la bildeto</string>
<string name="show_note">Montri noton</string>
<string name="settings_category_title_cards">Kartoj</string>
<string name="action_display_options">Agordoj de montrado</string>
<string name="show_archived_cards">Montri arkivitajn kartojn</string>
<string name="view_online">Vidi enrete</string>
<string name="action_more_options">Pliaj opcioj</string>
<string name="settings_keep_screen_on_summary">Malŝaltas tempolimon de la ekrano dum rigardo al karto</string>
<string name="settings_disable_lockscreen_while_viewing_card">Preventi la ekranŝloson</string>
<string name="settings_allow_content_provider_read_title">Permesi al aliaj apoj aliri miajn datumojn</string>
<string name="moveUp">Movi supren</string>
<string name="expiryStateSentence">Valida ĝis: <xliff:g>%s</xliff:g></string>
<string name="app_contributors">Ebligita de: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Ordigi</string>
<string name="source_repository">Koda deponejo</string>
<string name="on_google_play">sur Google Play</string>
<string name="include_if_asking_support">Si vi volas peti subtenon, inkluzivu la sekvan informon:</string>
<string name="options">Opcioj</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> karto (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kartoj (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
</plurals>
<string name="show_balance">Montri saldon</string>
<string name="addWithoutBarcode">Aldoni karton sen strikodo</string>
<string name="permissionReadCardsDescription">legi viajn Catima-kartojn kaj ĉiujn iliajn detalojn, inkluzive de notoj kaj bildoj</string>
<string name="cameraPermissionDeniedTitle">Fotilo neatingebla</string>
<string name="noCameraPermissionDirectToSystemSetting">Por skani strikodojn Catima bezonas atingorajton al via fotilo. Klaku ĉi tie por ŝanĝi viajn permesajn agordojn.</string>
<string name="app_copyright_short">Kopirajto © Sylvia van Os kaj kontribuantoj</string>
<string name="settings_card_orientation">Orientiĝo de strikodo</string>
<string name="settings_follow_system_orientation">Laŭ la sistemo</string>
<string name="settings_portrait_orientation">Vertikala</string>
<string name="settings_landscape_orientation">Horizontala</string>
<string name="settings_display_barcode_max_brightness_summary">Bezonata por ke iuj skaniloj funkciu</string>
<string name="unsupportedBarcodeType">Ne eblas montri ĉi tiun strikodspecon. Ĝi eble estos subtenata en posta versio de la apo.</string>
<string name="importVoucherVaultMessage">Elektu la <i>vouchervault.json</i> eksporton de Voucher Vault kiun vi volas importi.
\nKreu ĝin unue elektante \"Export\" en Voucher Vault.</string>
<string name="sameAsCardId">Sama kiel la identigo</string>
<string name="setBarcodeId">Starigi la valoron de la strikodo</string>
<string name="barcodeId">Valoro de la strikodo</string>
<string name="passwordRequired">Bonvolu entajpi la pasvorton</string>
<string name="exportPasswordHint">Entajpi pasvorton</string>
<string name="settings_oled_dark_summary">Malpligrandigas baterian uzadon sur OLED-ekranoj</string>
<string name="selectColor">Elekti koloron</string>
<string name="setIcon">Starigi bildeton</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_pink_theme">Rozkolora</string>
<string name="field_must_not_be_empty">Kampo devas ne esti malplena</string>
<string name="manually_enter_barcode_instructions">Entajpu la identigilon aŭ tekston sur via karto kaj premu la strikodon kiu aspektas kiel tiu sur via karto.</string>
<string name="importStocardMessage">Elektu la <i>***.zip</i> eksoporton de Stocard kiun vi volas importi.
\nAkiru ĝin sendante retpoŝton al support@stocardapp.com petante eksporton de viaj datumoj.</string>
<string name="turn_flashlight_off">Malŝalti poŝlampon</string>
<string name="add_manually_warning_title">Skani estas rekomendata</string>
<string name="continue_">Daŭrigi</string>
<string name="settings_oled_dark">Pura nigra fono por malhela temo</string>
<string name="importLoyaltyCardKeychain">Importi el Loyalty Card Keychain</string>
<string name="importFidmeMessage">Elektu la <i>fidme-export-request-xxxxxx.zip</i> exporton de FidMe kiun vi volas importi kaj poste elektu la tipojn de strikodo permane.
\nKreu ĝin en via FidMe profilo elektante \"Data Protection\" kaj poste \"Extract my data\".</string>
<string name="backImageDescription">Malantaŭa bildo</string>
<string name="noCameraFoundGuideText">Via aparato ŝajnas ne havi fotilon. Se jes, provu restartigi la aparaton. Alie, uzu la butonon \"Pliaj opcioj\" sube por aldoni strikodon alimaniere.</string>
<string name="wrongValueForBarcodeType">La valoro ne validas por la elektita tipo de strikodo</string>
<string name="importCancelled">Importado nuligita</string>
<string name="exportCancelled">Eksportado nuligita</string>
<string name="settings_theme_color">Koloro de la temo</string>
<string name="app_libraries">Liberaj triaj bibliotekoj: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="addFromPdfFile">Elekti PDF-dosieron</string>
<string name="failedLaunchingFileManager">Subtenata dosiermastrumilo ne trovebla</string>
<string name="errorReadingFile">Dosiero nelegebla</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Kiun el la trovitaj strikodoj vi volas uzi?</string>
<string name="pageWithNumber">Paĝo <xliff:g>%d</xliff:g></string>
<string name="settings_system_locale">Sistemo</string>
<string name="app_resources">Liberaj triaj risurcoj: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="settings_follow_sensor_orientation">Ĉiam turni (ignori la agordojn de la sistemo)</string>
<string name="settings_lock_on_opening_orientation">Fiksi al la orientiĝo uzata dum malfermado de la karto</string>
<string name="importCatimaMessage">Elektu la <i>catima.zip</i> eksporton kiun vi volas importi.
\nKreu ĝin unue en la importi/eksporti menuo en alia Catima apo elektante \'eksporti\' tie.</string>
<string name="importFidme">Importi el FidMe</string>
<string name="exportPassword">Starigi pasvorton por protekti vian eksporton (nedevige)</string>
<string name="failedGeneratingShareURL">Komunigebla URL ne generebla. Bonvolu raporti.</string>
<string name="intent_import_card_from_url_share_multiple_text">Mi volas kunhavigi kelkajn kartojn kun vi</string>
<string name="frontImageDescription">Antaŭa bildo</string>
<string name="setFrontImage">Starigi antaŭan bildon</string>
<string name="setBackImage">Starigi malantaŭan bildon</string>
<string name="removeImage">Forigi bildon</string>
<string name="updateBarcodeQuestionTitle">Ĉu ĝisdatigi strikodvaloron?</string>
<string name="updateBarcodeQuestionText">Vi ŝanĝis la identigon. Ĉu vi volas ankaŭ ĝisdatigi la strikodon por uzi la saman valoron?</string>
<string name="importLoyaltyCardKeychainMessage">Elektu la <i>LoyaltyCardKeychain.csv</i> eksporton de Loyalty Card Keychain kiun vi volas importi.
\nKreu ĝin unue de la \"Importi/eksporti\" menuo en Loyalty Card Keychain elektante \"eksporti\" tie.</string>
<string name="importStocard">Importi de Stocard</string>
<string name="importVoucherVault">Importi el Voucher Vault</string>
<string name="turn_flashlight_on">Enŝalti poŝlampon</string>
<string name="settings_locale">Lingvo</string>
<string name="settings_magenta_theme">Maĝenta</string>
<string name="settings_violet_theme">Viola</string>
<string name="settings_blue_theme">Blua</string>
<string name="enter_card_id">Entajpu la identigilon aŭ tekston sur via karto</string>
<string name="card_id_must_not_be_empty">Identigilo devas ne esti malplena</string>
<string name="add_a_card_in_a_different_way">Aldoni karton alimaniere</string>
<string name="add_manually_warning_message">Ĉe kelkaj butikoj la strikodo malsamas la numero skribita sur la karto. Pro tio, enigi strikodon permane eble ne ĉiam funkcias. Estas forte rekomendite skani la strikodon per via fotilo anstataŭe. Ĉu vi ankoraŭ volas daŭrigi?</string>
<string name="spend">Elspezi</string>
<string name="receive">Ricevi</string>
<string name="app_license">Rajtocedita libera softwaro, licencita laŭ GPLv3+</string>
<string name="amountParsingFailed">Nevalida kvanto</string>
<string name="useBackImage">Uzi la malantaŭan bildon</string>
<string name="useFrontImage">Uzi la antaŭan bildon</string>
</resources>

View File

@@ -70,7 +70,7 @@
<string name="backImageDescription">Imágen dorsal</string>
<string name="noCameraPermissionDirectToSystemSetting">Para escanear códigos de barra, Catima necesitará acceso a la cámara. Presione aquí para cambiar la configuración de sus permisos.</string>
<string name="settings_lock_on_opening_orientation">Bloquear a la orientación utilizada al abrir la tarjeta</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="app_loyalty_card_keychain">Cartera para Tarjetas de Fidelización</string>
<string name="importOptionFilesystemTitle">Importar desde su sistema de archivos</string>
<string name="leaveWithoutSaveTitle">Salir</string>
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
@@ -103,9 +103,6 @@
<string name="settings_keep_screen_on">Mantener la pantalla encendida</string>
<string name="setBarcodeId">Establecer valor del código de barras</string>
<string name="importCatima">Importar desde Catima</string>
<string name="privacy_policy_popup_text">Notificación de la política de privacidad (requerida por algunas tiendas de aplicaciones):
\n
\nNINGÚN DATO ES RECOPILADO, puede ser comprobado por cualquiera ya que nuestra aplicación es software libre.</string>
<string name="settings_follow_system_orientation">Seguir el sistema</string>
<string name="intent_import_card_from_url_share_text">Quiero compartirte una tarjeta</string>
<string name="addFromImage">Seleccione una imágen desde la galería</string>
@@ -184,4 +181,36 @@
<string name="settings_keep_screen_on_summary">Deshabilita el tiempo de espera de la pantalla mientras se ve una tarjeta</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="deleteConfirmationGroup">¿Eliminar grupo\?</string>
<string name="updateBarcodeQuestionText">Has cambiado el ID. ¿Quieres actualizar también el código de barras para usar el mismo valor?</string>
<string name="settings_locale">Idioma</string>
<string name="settings_system_locale">Sistema</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_pink_theme">Rosa</string>
<string name="exportPassword">Agregar una contraseña para protejer tu exportación (opcional)</string>
<string name="settings_sky_blue_theme">Celeste</string>
<string name="settings_green_theme">Verde</string>
<string name="exportPasswordHint">Ingresar contraseña</string>
<string name="setIcon">Establecer miniatura</string>
<string name="showMoreInfo">Mostrar información</string>
<string name="turn_flashlight_on">Encender linterna</string>
<string name="turn_flashlight_off">Apagar linterna</string>
<string name="updateBalance">Actualizar balance</string>
<string name="failedToRetrieveImageFile">Error al obtener archivo de imagen</string>
<string name="settings_oled_dark_summary">Reduce uso de batería en pantallas OLED</string>
<string name="settings_oled_dark">Fondo negro puro para tema oscuro</string>
<string name="selectColor">Seleccionar color</string>
<string name="settings_theme_color">Color del tema</string>
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_violet_theme">Violeta</string>
<string name="settings_brown_theme">Marrón</string>
<string name="sort">Ordenar</string>
<string name="settings_blue_theme">Azul</string>
<string name="app_contributors">Hecho posible por: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="barcodeLongPressMessage">Solo se puede abrir imágenes en la aplicación de galería</string>
<string name="settings_follow_sensor_orientation">Siempre rotar (ignora configuración del sistema)</string>
<string name="yes">Si</string>
<string name="no">No</string>
<string name="passwordRequired">Por favor ingresa la contraseña</string>
<string name="failedGeneratingShareURL">No se pudo generar URL compartible. Por favor reporte esto.</string>
<string name="sort_by_name">Nombre</string>
</resources>

View File

@@ -128,9 +128,6 @@
<string name="importFidme">Importar desde FidMe</string>
<string name="importCatima">Importar desde Catima</string>
<string name="accept">Aceptar</string>
<string name="privacy_policy_popup_text">Aviso de política de privacidad (requerido por algunas tiendas de apps):
\n
\nNINGÚN DATO SE RECOPILA, cualquiera puede confirmar ya que nuestra aplicación es software libre.</string>
<string name="privacy_policy">Política de privacidad</string>
<string name="app_loyalty_card_keychain">Llavero con tarjeta de fidelización</string>
<string name="chooseImportType">Importar datos de</string>
@@ -161,7 +158,6 @@
</plurals>
<string name="app_contributors">Hecho posible por: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Marrón</string>
<string name="settings_grey_theme">Gris</string>
<string name="settings_green_theme">Verde</string>
<string name="settings_sky_blue_theme">Azul cielo</string>
<string name="settings_blue_theme">Azul</string>
@@ -210,11 +206,6 @@
<string name="rate_this_app">Califica esta aplicación</string>
<string name="options">Opciones</string>
<string name="failedToOpenUrl">Instale primero un navegador web</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Ver archivo (<xliff:g>%1$d</xliff:g> tarjeta)</item>
<item quantity="many">Ver archivo (<xliff:g>%1$d</xliff:g> tarjetas)</item>
<item quantity="other">Ver archivo (<xliff:g>%1$d</xliff:g> tarjetas)</item>
</plurals>
<string name="welcome">Bienvenido/a a Catima</string>
<string name="group_name_already_in_use">Nombre del grupo ya está en uso</string>
<string name="group_name_is_empty">El nombre del grupo no debe estar vacío</string>
@@ -302,4 +293,9 @@
<string name="failedLaunchingFileManager">No se ha podido encontrar un gestor de archivos compatible</string>
<string name="multipleBarcodesFoundPleaseChooseOne">¿Cuál de los códigos de barras encontrados desea utilizar?</string>
<string name="pageWithNumber">Página <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Tu dispositivo no parece tener cámara. Si la tiene, intente reiniciar el dispositivo. De lo contrario, utilice el botón Más opciones a continuación para añadir un código de barras de otra manera.</string>
<string name="importCancelled">Importación cancelada</string>
<string name="exportCancelled">Exportación cancelada</string>
<string name="useFrontImage">Utilice la imagen frontal</string>
<string name="useBackImage">Utilice la imagen trasera</string>
</resources>

View File

@@ -0,0 +1,295 @@
<?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="action_add">Lisa</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> valitud</item>
<item quantity="other"><xliff:g>%d</xliff:g> valitud</item>
</plurals>
<string name="noGiftCardsGroup">Lisa mõned kaardid ja siis jaga nad gruppidesse.</string>
<string name="noMatchingGiftCards">Tulemusi pole. Palun proovi muuta otsingut.</string>
<string name="storeName">Nimi</string>
<string name="note">Märkus</string>
<string name="cardId">Kaardi tunnus</string>
<string name="barcodeType">Triipkoodi tüüp</string>
<string name="noBarcode">Triipkood puudub</string>
<string name="star">Lisa lemmikuks</string>
<string name="edit">Muuda</string>
<string name="delete">Kustuta</string>
<string name="confirm">Kinnita</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Kustuta <xliff:g>%d</xliff:g> kaart</item>
<item quantity="other">Kustuta <xliff:g>%d</xliff:g> kaarti</item>
</plurals>
<string name="deleteConfirmation">Kas kustutame selle kaardi jäädavalt?</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Kas kustutame <xliff:g>%d</xliff:g> kaardi jäädavalt?</item>
<item quantity="other">Kas kustutame <xliff:g>%d</xliff:g> kaarti jäädavalt?</item>
</plurals>
<string name="ok">Sobib</string>
<string name="share">Jaga</string>
<string name="sendLabel">Saada…</string>
<string name="editCardTitle">Muuda kaarti</string>
<string name="addCardTitle">Lisa kaart</string>
<string name="scanCardBarcode">Skaneeri triipkoodi</string>
<string name="app_name">Catima</string>
<string name="noGiftCards">Kaardi lisamiseks klõpsi + pluss nuppu või impordi ⋮ikooniga menüüst.</string>
<string name="action_search">Otsi</string>
<string name="unstar">Eemalda lemmikute hulgast</string>
<string name="cancel">Katkesta</string>
<string name="save">Salvesta</string>
<string name="deleteTitle">Kustuta kaart</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Autoriõigused © 2019<xliff:g>%d</xliff:g> Sylvia van Os ja kaasautorid</string>
<string name="app_copyright_old">Põhineb sarnasel rakendusel Loyalty Card Keychain
\nautoriõigused © 20162020 Branden Archer</string>
<string name="selectBarcodeTitle">Vali triipkood</string>
<string name="settings_light_theme">Hele kujundus</string>
<string name="settings_dark_theme">Tume kujundus</string>
<string name="thumbnailDescription">Pisipilt</string>
<string name="settings_theme">Kujundus</string>
<string name="settings_card_orientation">Triipkoodi suund</string>
<string name="settings_follow_sensor_orientation">Alati pööra (eira süsteemset paigutust)</string>
<string name="settings_landscape_orientation">Rõhtvaade</string>
<string name="settings_display_barcode_max_brightness">Eredam triipkoodivaade</string>
<string name="app_license">Copyleft-tüüpi autoriõiguste alusel loodud avatud lähtekoodiga tarkvara, mis on avaldatud GPLv3+ all</string>
<string name="settings_keep_screen_on">Hoia ekraan sisselülitatuna</string>
<string name="cardShortcut">Kaardi kiirviide</string>
<string name="noCardsMessage">Esmalt lisa kaart</string>
<string name="barcodeImageDescriptionWithType">Kaardi <xliff:g>%s</xliff:g> tiipkood</string>
<string name="noCardExistsError">Seda kaarti ei leidu</string>
<string name="failedParsingImportUriError">Impordi aadressi töötlemine ei õnnestunud</string>
<string name="importExport">Import/eksport</string>
<string name="exportName">Ekspordi</string>
<string name="importExportHelp">Andmete varundamine võimaldab sul neid tõsta mõnda teise seadmesse.</string>
<string name="importSuccessfulTitle">Imporditud</string>
<string name="importFailedTitle">Import ei õnnestunud</string>
<string name="exportSuccessfulTitle">Eksporditud</string>
<string name="exportFailedTitle">Eksportimine ei õnenstunud</string>
<string name="exportFailed">Eksportimist ei õnnestunud teha</string>
<string name="importing">Impordime…</string>
<string name="exporting">Ekspordime…</string>
<string name="storageReadPermissionRequired">Selle tegevuse jaoks on vajalikud õigused andmekandalt lugemiseks…</string>
<string name="importFailed">Importimist ei õnnestunud teha</string>
<string name="cameraPermissionRequired">Selle tegevuse jaoks on vajalikud õigused kaamera kasutamiseks…</string>
<string name="permissionReadCardsLabel">Loe Catima kaarte</string>
<string name="permissionReadCardsDescription">loe kõiki oma Catima kaarte koos nende üksikasjadega, sealhulgas märkuste ja piltidega</string>
<string name="cameraPermissionDeniedTitle">Puudub ligipääs kaamerale</string>
<string name="noCameraPermissionDirectToSystemSetting">Triipkoodide skaneerimiseks vajab Catima õigust asutada kaamerat. Õiguste andmiseks klõpsi siin.</string>
<string name="exportOptionExplanation">Andmed salvestame sinu valitud asukohta.</string>
<string name="importOptionFilesystemTitle">Impordi failisüsteemist</string>
<string name="importOptionFilesystemExplanation">Vali vajalik impordifail failisüsteemist.</string>
<string name="importOptionFilesystemButton">Vali failisüsteemist</string>
<string name="importOptionApplicationTitle">Kasuta muust rakendusest eksporditud andmeid</string>
<string name="importOptionApplicationExplanation">Kasuta faili avamiseks mõnda muud rakendust või sinu lemmikfailihaldurit.</string>
<string name="importOptionApplicationButton">Vali muu rakenduse ekspordifail</string>
<string name="about">Rakenduse teave</string>
<string name="app_copyright_short">Autoriõigused © Sylvia van Os ja kaasautorid</string>
<string name="about_title_fmt">Teave <xliff:g id="app_name">%s</xliff:g> kohta</string>
<string name="debug_version_fmt">Versioon: <xliff:g id="version">%s</xliff:g></string>
<string name="app_libraries">Kolmandate osapoolte avatud lähtekoodiga teegid: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Kolmandate osapoolte avatud lähtekoodiga materjalid: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="starImage">Lemmikut märkiv täht</string>
<string name="settings">Seadistused</string>
<string name="settings_system_theme">Süsteemi kujundus</string>
<string name="settings_follow_system_orientation">Järgi süsteemset paigutust</string>
<string name="settings_portrait_orientation">Püstvaade</string>
<string name="settings_lock_on_opening_orientation">Kaardivaate avamisel lukusta paigutus</string>
<string name="settings_display_barcode_max_brightness_summary">See on vajalik mõnede skännerite toimimiseks</string>
<string name="expiryStateSentenceExpired">Aegus: <xliff:g>%s</xliff:g></string>
<string name="settings_allow_content_provider_read_summary">Selle valiku sisselülitamisel peavad muud rakendused lisaks küsima õigust vaadata kaartide andmeid</string>
<string name="noGroups">Kui soovid sarnaseid kaarte omavahel liigitada siis + pluss nupuga lisa kaardigruppe.</string>
<string name="group_name_is_empty">Kaardigrupi nimi ei saa jääda tühjaks</string>
<string name="groupsList">Grupid: <xliff:g>%s</xliff:g></string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> kaart (<xliff:g id="archivedCount">%2$d</xliff:g> arhiveeritud)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kaarti (<xliff:g id="archivedCount">%2$d</xliff:g> arhiveeritud)</item>
</plurals>
<string name="moveUp">Liiguta ülespoole</string>
<string name="moveDown">Liiguta allapoole</string>
<string name="leaveWithoutSaveConfirmation">Kas väljume ilma salvestamata?</string>
<string name="chooseExpiryDate">Vali aegumise kuupäev</string>
<string name="leaveWithoutSaveTitle">Välju</string>
<string name="addManually">Sisesta triipkood käsitsi</string>
<string name="addFromImage">Vali galeriist pilt</string>
<string name="balanceSentence">Maksejääk: <xliff:g>%s</xliff:g></string>
<string name="card">Kaart</string>
<string name="editBarcode">Muuda triipkoodi</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> punkt</item>
<item quantity="other"><xliff:g>%s</xliff:g> punkti</item>
</plurals>
<string name="expiryDate">Aegumise kuupäev</string>
<string name="never">Mitte kunagi</string>
<string name="showMoreInfo">Näita teavet</string>
<string name="importLoyaltyCardKeychainMessage">Importimiseks vali oma <i>LoyaltyCardKeychain.csv</i> Loyalty Card Keychaini ekspordifail.
\nSellise faili saad teha rakendusest Loyalty Card Keychain valides menüüst Import/Eksport valiku Eksport.</string>
<string name="unsupportedBarcodeType">Sellist triipkoodi tüüpi pole veel võimalik kuvada, aga mõnes hilisemas rakenduse versioonis võib see võimalik olla.</string>
<string name="wrongValueForBarcodeType">Väärtus ei sobi selle triipkoodi tüübiga</string>
<string name="passwordRequired">Palun sisesta salasõna</string>
<string name="updateBarcodeQuestionTitle">Kas uuendame triipkoodi väärtust?</string>
<string name="yes">Jah</string>
<string name="no">Ei</string>
<string name="settings_theme_color">Kujunduse värv</string>
<string name="settings_pink_theme">Roosa</string>
<string name="barcodeLongPressMessage">Galeriirakenduses saad avada vaid pilte</string>
<string name="sort_by_most_recently_used">Viimati kasutatud</string>
<string name="sort_by_expiry">Aegumine</string>
<string name="reverse">…tagurpidi järjekorras</string>
<string name="sort_by">Järjestuse alus</string>
<string name="version_history">Versioonide ajalugu</string>
<string name="help_translate_this_app">Aita seda rakendust tõlkida</string>
<string name="on_github">GitHubis</string>
<string name="license">Litsents</string>
<string name="source_repository">Lähtekoodi hoidla</string>
<string name="and_data_usage">ja andmekasutus</string>
<string name="options">Valikud</string>
<string name="rate_this_app">Hinda seda rakendust</string>
<string name="on_google_play">Google Play rakendustepoes</string>
<string name="report_error">Teata vigadest</string>
<string name="translate_platform">tõlkerakenduses Weblate</string>
<string name="shortcutSelectCard">Vali kaart</string>
<string name="starred">Tähekesega märgitud</string>
<string name="intent_import_card_from_url_share_multiple_text">Ma soovin sinuga jagada mõnda oma kliendikaarti</string>
<string name="settings_keep_screen_on_summary">Lülitab kaardi vaatamise ajaks välja ekraani energiahalduse</string>
<string name="settings_disable_lockscreen_while_viewing_card">Keela ekraanilukustus</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Lülitab kaardi vaatamise ajaks välja ekraani lukustamise</string>
<string name="settings_allow_content_provider_read_title">Luba teistel rakendustel minu andmeid lugeda</string>
<string name="importSuccessful">Andmed on imporditud</string>
<string name="exportSuccessful">Andmed on eksporditud</string>
<string name="enter_group_name">Sisesta kaardigrupi nimi</string>
<string name="groups">Grupid</string>
<string name="group_edit">Muuda gruppi</string>
<string name="noGroupCards">See grupp on tühi</string>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> kaart</item>
<item quantity="other"><xliff:g>%d</xliff:g> kaarti</item>
</plurals>
<string name="group_name_already_in_use">Selline kaardigrupi nimi on juba kasutusel</string>
<string name="group_updated">Kaardigrupp on uuendatud</string>
<string name="deleteConfirmationGroup">Kas kustutame grupi?</string>
<string name="all">Kõik</string>
<string name="failedOpeningFileManager">Esmalt paigalda failihaldur.</string>
<string name="intent_import_card_from_url_share_text">Ma soovin sinuga jagada ühte oma kliendikaarti</string>
<string name="editGroup">Muudame gruppi: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Aegub: <xliff:g>%s</xliff:g></string>
<string name="moveBarcodeToTopOfScreen">Tõsta triipkood ekraani ülaossa</string>
<string name="noBarcodeFound">Ühtegi triipkoodi ei leidunud</string>
<string name="errorReadingImage">Pildi lugemine ei õnnestunud</string>
<string name="balance">Maksejääk</string>
<string name="currency">Valuuta</string>
<string name="points">Punkte</string>
<string name="balanceParsingFailed">Vigane maksejääk</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy">Privaatsuspoliitika</string>
<string name="accept">Nõustu</string>
<string name="importCatima">Impordi Catima varukoopiast</string>
<string name="importCatimaMessage">Importimiseks vali varem tehtud <i>catima.zip</i> Catima ekspordifail.
\nSellise faili saad luua mõnes teises seadmes olevast Catima rakendusest Import/Eksport menüüst valikust Eksport.</string>
<string name="importFidme">Impordi FidMe varukoopiast</string>
<string name="importFidmeMessage">Importimiseks vali oma <i>fidme-export-request-xxxxxx.zip</i>, mille oled FidMe rakendusest eksportinud. Peale importi määra triipkoodi tüübid käsistsi.
\nSellise faili loomiseks vali oma FidMe profiilist eelistuse Andmekaitse-Paki lahti.</string>
<string name="importLoyaltyCardKeychain">Impordi rakendusest Loyalty Card Keychain</string>
<string name="importStocard">Impordi Stocardist</string>
<string name="importStocardMessage">Importimiseks vali oma <i>***.zip</i> Stocardi ekspordifail.
\nSellise faili saad saates kirja aadressile support@stocardapp.com ning küsides oma andmeid.</string>
<string name="chooseImportType">Importimise valikud</string>
<string name="importVoucherVault">Impordi rakendusest Voucher Vault</string>
<string name="importVoucherVaultMessage">Importimiseks vali oma <i>vouchervault.json</i> Voucher Vaulti ekspordifail.
\nSellise faili saad teha rakenduses Voucher Vault menüüvalikust Eksport.</string>
<string name="barcodeId">Triipkoodi väärtus</string>
<string name="sameAsCardId">Sama, kui ID</string>
<string name="setBarcodeId">Sisesta triipkoodi väärtus</string>
<string name="frontImageDescription">Esikülje pilt</string>
<string name="backImageDescription">Tagakülje pilt</string>
<string name="photos">Fotod</string>
<string name="setFrontImage">Halda esikülje pilti</string>
<string name="setBackImage">Halda tagakülje pilti</string>
<string name="removeImage">Eemalda pilt</string>
<string name="takePhoto">Tee foto</string>
<string name="updateBarcodeQuestionText">Sa muutsid ID väärtust? Kas sa soovid ka triipkoodiväärtuse vastavalt uuendada?</string>
<string name="exportPassword">Sinu eksporditavate andmete turvamiseks palun sisesta salasõna (kui soovid seda)</string>
<string name="exportPasswordHint">Sisesta salasõna</string>
<string name="failedGeneratingShareURL">Jagatava võrguaadressi loomine ei õnnestunud. Palun anna sellest meile teada.</string>
<string name="turn_flashlight_on">Lülita taskulamp sisse</string>
<string name="turn_flashlight_off">Lülita taskulamp välja</string>
<string name="settings_locale">Keel</string>
<string name="settings_oled_dark">Süsimust taust tumeda kujunduse puhul</string>
<string name="settings_oled_dark_summary">OLED-ekraani puhul võimaldab see akukasutust vähendada</string>
<string name="settings_system_locale">Süsteemi keel</string>
<string name="selectColor">Vali värv</string>
<string name="setIcon">Lisa pisipilt</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_magenta_theme">Fuksiapunane</string>
<string name="settings_violet_theme">Punakassinine</string>
<string name="settings_blue_theme">Sinine</string>
<string name="settings_sky_blue_theme">Taevasinine</string>
<string name="settings_green_theme">Roheline</string>
<string name="settings_brown_theme">Pruun</string>
<string name="app_contributors">Seda rakendust on aidanud teha: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Järjesta</string>
<string name="updateBalance">Uuenda maksejääki</string>
<string name="failedToRetrieveImageFile">Pildifaili laadimine ei õnnestunud</string>
<string name="sort_by_name">Nimi</string>
<string name="importCards">Impordi kaardid</string>
<string name="updateBalanceTitle">Kui palju sa kulutasid või teenisid?</string>
<string name="updateBalanceHint">Sisesta summa</string>
<string name="currentBalanceSentence">Praegune maksejääk: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">Uus maksejääk: <xliff:g>%s</xliff:g></string>
<string name="show_balance">Näita maksejääki</string>
<string name="credits">Tänuavaldused</string>
<string name="include_if_asking_support">Kasutajatoe päringusse palun lisa alljärgnev teave:</string>
<string name="duplicateCard">Tee koopia</string>
<string name="archive">Arhiveeri</string>
<string name="unarchive">Eemalda arhiivist</string>
<string name="archived">Kaart on arhiveeritud</string>
<string name="unarchived">Kaart on arhiivist eemaldatud</string>
<string name="failedLaunchingPhotoPicker">Ei õnnestunud leida toetatud galeriirakendust</string>
<string name="previousCard">Eelmine</string>
<string name="nextCard">Järgmine</string>
<string name="failedToOpenUrl">Esmalt paigalda veebibrauser</string>
<string name="welcome">Tere tulemast kasutama kliendikaartide haldurit Catima</string>
<string name="validFromDate">Kehtib alates</string>
<string name="anyDate">Ükspuha, mis kuupäev</string>
<string name="chooseValidFromDate">Vali korrektne kehtivuse alguse kuupäev</string>
<string name="validFromSentence">Kehtib alates: <xliff:g>%s</xliff:g></string>
<string name="height">Kõrgus:</string>
<string name="switchToFrontImage">Vaata esikülje pilti</string>
<string name="switchToBackImage">Vaata tagakülje pilti</string>
<string name="switchToBarcode">Vaata triipkoodi</string>
<string name="openFrontImageInGalleryApp">Ava esikülje pilt galeriirakenduses</string>
<string name="openBackImageInGalleryApp">Ava tagakülje pilt galeriirakenduses</string>
<string name="setBarcodeHeight">Määra triipkoodi kõrgus</string>
<string name="donate">Toeta rahaliselt</string>
<string name="icon_header_click_text">Pisipildi muutmiseks vajuta pikalt</string>
<string name="show_name_below_image_thumbnail">Näita pisipildi all nime</string>
<string name="show_note">Näita märkust</string>
<string name="show_validity">Näita kehtivust</string>
<string name="noCameraFoundGuideText">Sinu nutiseadmed ei tundu olema kaamerat. Kui ta siiski on olemas, siis esmalt proovi, kas taaskäivitamine aitab. Lisaks võid nupust „Veel“ leida muid valikuid triipkoodi lisamiseks.</string>
<string name="action_more_options">Lisavalikud</string>
<string name="importCancelled">Import on katkestatud</string>
<string name="settings_category_title_cards">Kaardid</string>
<string name="settings_category_title_general">Üldised seadistused</string>
<string name="settings_category_title_privacy">Privaatsus</string>
<string name="action_display_options">Ekraani valikud</string>
<string name="show_archived_cards">Näita arhiveeritud kaarte</string>
<string name="view_online">Vaata võrgus</string>
<string name="addWithoutBarcode">Lisa ilma triipkoodita kaart</string>
<string name="enter_card_id">Sisesta kaardil kuvatav tunnusnumber või -tekst</string>
<string name="card_id_must_not_be_empty">Kaardi tunnus ei tohi olla tühi</string>
<string name="add_a_card_in_a_different_way">Lisa kaart mõnel muul viisil</string>
<string name="field_must_not_be_empty">Väli ei tohi olla tühi</string>
<string name="manually_enter_barcode_instructions">Sisesta sinu kaardil kuvatav tunnusnumber või -tekst ja klõpsi triipkoodi, millelaadset kuvatakse kaardil.</string>
<string name="add_manually_warning_title">Soovitame, et skaneerid triipkoodi</string>
<string name="add_manually_warning_message">Mõnede poodide ja äride puhul triipkoodi väärtus erineb kaardile kirjutatud numbrist. Seetõttu ei pruugi triipkoodi käsitsi lisamine alati toimida. Me tungivalt soovitame, et pigem skaneerid triipkoodi kaameraga. Kas sa siiski soovid jätkata?</string>
<string name="continue_">Jätka</string>
<string name="spend">Kuluta</string>
<string name="receive">Võta vastu</string>
<string name="amountParsingFailed">Vigane summa</string>
<string name="addFromPdfFile">Vali PDF-fail</string>
<string name="errorReadingFile">Faili lugemine ei õnnestunud</string>
<string name="failedLaunchingFileManager">Ei õnnestunud leida toetatud failihaldurit</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Missugust leitud triipkoodidest soovid kasutada?</string>
<string name="pageWithNumber"><xliff:g>%d</xliff:g>. leht</string>
<string name="exportCancelled">Eksport on tühistatud</string>
<string name="useFrontImage">Kasuta esikülje pilti</string>
<string name="useBackImage">Kasuta tagakülje pilti</string>
</resources>

View File

@@ -1,2 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">کاتیما</string>
<string name="action_search">جستجو</string>
<string name="action_add">افزودن</string>
<string name="noGiftCards">برای افزودن کارت دکمه + پلاس را بزنید, یا از ⋮ منو ایمپورت کنید.</string>
<string name="noGiftCardsGroup">تعدادی کارت ایجاد کنید، و سپس آنها را اینجا به گروه بیافزایید.</string>
<string name="noMatchingGiftCards">بدون نتیجه. سعی کنید جستجویتان را تغییر دهید.</string>
<string name="storeName">نام</string>
<string name="note">یادداشت</string>
<string name="cardId">شناسۀ کارت</string>
<string name="barcodeType">نوع بارکد</string>
<string name="noBarcode">بدون بارکد</string>
<string name="star">افزودن به علاقمندی‌ها</string>
<string name="unstar">حذف از علاقمندی‌ها</string>
<string name="cancel">لغو</string>
<string name="save">ذخیره</string>
<string name="edit">ویرایش</string>
<string name="delete">حذف</string>
<string name="confirm">تایید</string>
<string name="deleteTitle">حذف کارت</string>
<plurals name="deleteCardsTitle">
<item quantity="one">حذف <xliff:g>%d</xliff:g> کارت</item>
<item quantity="other">حذف <xliff:g>%d</xliff:g> کارت(ها)</item>
</plurals>
<string name="deleteConfirmation">این کارت برای همیشه حذف شود؟</string>
<string name="ok">تایید</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">این <xliff:g>%d</xliff:g> کارت برای همیشه حذف شود؟</item>
<item quantity="other">این <xliff:g>%d</xliff:g> کارت برای همیشه حذف شوند؟</item>
</plurals>
<string name="share">همرسانی</string>
<string name="sendLabel">ارسال…</string>
<string name="editCardTitle">ویرایش کارت</string>
<string name="addCardTitle">افزودن کارت</string>
<string name="scanCardBarcode">اسکن بارکد</string>
<string name="cardShortcut">میان‌بر کارت</string>
<string name="noCardsMessage">ابتدا یک کارت بیافزایید</string>
<string name="noCardExistsError">کارت پیدا نشد</string>
<string name="importFailedTitle">ایمپورت ناموفق بود</string>
<string name="importFailed">نمیتوان ایمپورت کرد</string>
<string name="exportSuccessfulTitle">خروجی گرفته شده</string>
<string name="exportFailedTitle">خروجی گرفتن ناموفق بود</string>
<string name="storageReadPermissionRequired">دسترسی به خواندن محل ذخیره برای این کار نیاز است…</string>
<string name="exportOptionExplanation">داده در محلی که شما انتخاب میکنید نوشته خواهد شد.</string>
<string name="receive">دریافت</string>
<string name="continue_">ادامه</string>
<string name="add_manually_warning_title">اسکن‌کردن توصیه میشود</string>
<string name="field_must_not_be_empty">فیلد نباید خالی باشد</string>
<string name="card_id_must_not_be_empty">شناسۀ کارت نباید خالی باشد</string>
<string name="action_more_options">گزینه‌های بیشتر</string>
<string name="addWithoutBarcode">افزودن کارت بدون بارکد</string>
<string name="enter_card_id">شناسۀ عددی یا متن روی کارت خود را وارد کنید</string>
<string name="view_online">مشاهدۀ آنلاین</string>
<string name="show_archived_cards">مشاهده کارت‌های بایگانی شده</string>
<string name="action_display_options">تنظیمات نمایش</string>
<string name="amountParsingFailed">مقدار نامعتبر</string>
<string name="exportCancelled">خروجی گیری لغو شد</string>
<string name="addFromPdfFile">یک فایل PDF انتخاب کنید</string>
<string name="exportName">خروجی گرفتن</string>
<string name="importExportHelp">پشتیبان‌گیری داده هایتان اجازه میدهد آنها را به دستگاه دیگری منتقل کنید.</string>
<string name="importSuccessfulTitle">ایمپورت شده</string>
<string name="exportFailed">نمیتوان خروجی گرفت</string>
<string name="importing">درحال ایمپورت…</string>
<string name="exporting">درحال خروجی گیری…</string>
<string name="cameraPermissionRequired">دسترسی به دوربین برای این کار نیاز است…</string>
<string name="permissionReadCardsLabel">خواندن کارتهای کاتیما</string>
<string name="permissionReadCardsDescription">کارت های کاتیما و تمام جزئیاتشان از جمله یادداشت‌ها و عکس‌ها را بخوانید</string>
<string name="cameraPermissionDeniedTitle">نمیتوان به دوربین دسترسی پیدا کرد</string>
<string name="noCameraPermissionDirectToSystemSetting">برای اسکن بارکد ها، کاتیما نیاز دارد به دوربین شما دسترسی داشته باشد. اینجا بزنید تا تنظیمات دسترسی خود را تغییر دهید.</string>
<string name="importExport">ایمپورت/خروجی گرفتن</string>
<string name="settings_category_title_privacy">حریم شخصی</string>
<string name="settings_category_title_general">عمومی</string>
<string name="settings_category_title_cards">کارت‌ها</string>
</resources>

View File

@@ -23,9 +23,6 @@
\nLuo se Catima-sovelluksen Tuo/vie-valikosta painamalla siellä ensin Vie.</string>
<string name="importCatima">Tuo Catima varmuuskopiotiedostosta</string>
<string name="accept">Hyväksy</string>
<string name="privacy_policy_popup_text">Tietosuojaseloste (joidenkin sovelluskauppojen vaatimus):
\n
\nMITÄÄN TIETOJA EI KERÄTÄ LAINKAAN, minkä kuka tahansa voi vahvistaa, koska sovelluksemma on vapaa ohjelmisto.</string>
<string name="privacy_policy">Tietosuojakäytäntö</string>
<string name="app_loyalty_card_keychain">Kanta-asiakaskortin avainnippu</string>
<string name="chooseImportType">Tuo tietoja kohteesta</string>
@@ -157,7 +154,6 @@
<string name="turn_flashlight_off">Sammuta salamavalo</string>
<string name="app_contributors">Mahdollistanut: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Ruskea</string>
<string name="settings_grey_theme">Harmaa</string>
<string name="settings_green_theme">Vihreä</string>
<string name="settings_sky_blue_theme">Taivaansininen</string>
<string name="settings_blue_theme">Siniset</string>
@@ -224,10 +220,6 @@
<string name="nextCard">Seuraava</string>
<string name="failedToOpenUrl">Asenna ensin verkkoselain</string>
<string name="welcome">Tervetuloa Catimaan</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Näytä arkisto (<xliff:g>%1$d</xliff:g> kortti)</item>
<item quantity="other">Näytä arkisto (<xliff:g>%1$d</xliff:g> korttia)</item>
</plurals>
<string name="updateBalanceTitle">Kuinka paljon kulutit tai tienasit?</string>
<string name="updateBalanceHint">Syötä summa</string>
<string name="barcodeLongPressMessage">Vain kuvia on mahdollista avata galleriasovelluksessa</string>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_search">Hanap</string>
<string name="app_name">Catima</string>
</resources>

View File

@@ -80,9 +80,6 @@
</plurals>
<string name="groupsList">Groupes : <xliff:g>%s</xliff:g></string>
<string name="accept">Accepter</string>
<string name="privacy_policy_popup_text">Avis sur la politique de confidentialité (exigé par certains magasins dapplications) :
\n
\nAUCUNE DONNÉE NEST COLLECTÉE, ce que tout le monde peut confirmer puisque notre application est un logiciel libre.</string>
<string name="privacy_policy">Politique de confidentialité</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Importer les données depuis</string>
@@ -161,7 +158,6 @@
<string name="settings_system_locale">Système</string>
<string name="settings_locale">Langue</string>
<string name="settings_brown_theme">Marron</string>
<string name="settings_grey_theme">Gris</string>
<string name="settings_green_theme">Vert</string>
<string name="settings_sky_blue_theme">Bleu ciel</string>
<string name="settings_blue_theme">Bleu</string>
@@ -230,11 +226,6 @@
<string name="nextCard">Suivant</string>
<string name="previousCard">Précédent</string>
<string name="failedToOpenUrl">Installez d\'abord un navigateur web</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Voir les archives (<xliff:g>%1$d</xliff:g> carte)</item>
<item quantity="many">Voir les archives (<xliff:g>%1$d</xliff:g> cartes)</item>
<item quantity="other">Voir les archives (<xliff:g>%1$d</xliff:g> cartes)</item>
</plurals>
<string name="welcome">Bienvenue dans Catima</string>
<string name="barcodeLongPressMessage">Seules les images peuvent être ouvertes dans lapplication galerie</string>
<string name="failedToRetrieveImageFile">Impossible de récupérer le fichier image</string>
@@ -302,4 +293,9 @@
<string name="failedLaunchingFileManager">Impossible de trouver un gestionnaire de fichiers supporté</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Quel code-barre, parmi ceux trouvés, voulez-vous utiliser?</string>
<string name="pageWithNumber">Page <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Votre appareil ne semble pas disposer d\'une caméra. Si c\'est le cas, veuillez essayer de redémarrer l\'appareil. Sinon, vous pouvez utiliser le bouton \"Plus d\'options\" ci-dessous pour ajouter un code-barre d\'une autre manière.</string>
<string name="exportCancelled">Exportation annulée</string>
<string name="importCancelled">Importation annulée</string>
<string name="useFrontImage">Utiliser l\'image de face</string>
<string name="useBackImage">Utiliser l\'image arrière</string>
</resources>

View File

@@ -110,9 +110,6 @@
<item quantity="one"><xliff:g>%s</xliff:g> बिंदु</item>
<item quantity="other"><xliff:g>%s</xliff:g> अंक</item>
</plurals>
<string name="privacy_policy_popup_text">निजता नीति नोटिस (कुछ ऐप स्टोर के लिए आवश्यक):
\n
\nकोई भी डेटा एकत्र नहीं किया जाता है, जिसकी पुष्टि कोई भी कर सकता है क्योंकि हमारा ऐप मुफ्त सॉफ्टवेयर है।</string>
<string name="importCatimaMessage">आयात करने के लिए, <i>catima.zip</i> फाइल को चुने जो की Catima से निर्यात किया गया था.
\nदूसरे Catima ऍप के आयात/निर्यात मेनू से निर्यात बटन दबाकर, पहले catima.zip फाइल को बनाये.</string>
<plurals name="selectedCardCount">
@@ -200,7 +197,6 @@
<string name="options">विकल्प</string>
<string name="settings_magenta_theme">मैजेंटा</string>
<string name="failedGeneratingShareURL">साझा करने योग्य यूआरएल जैनरेट नहीं किया जा सकता. कृपया इसकी रिपोर्ट करें।</string>
<string name="settings_grey_theme">स्लेटी</string>
<string name="sort_by_most_recently_used">सबसे हाल ही में उपयोग किया गया</string>
<string name="settings_theme_color">थीम रंग</string>
<string name="settings_sky_blue_theme">आसमानी नीला</string>
@@ -251,10 +247,6 @@
<item quantity="one"><xliff:g>%1$d</xliff:g> कार्ड (<xliff:g id="archivedCount">%2$d</xliff:g> संग्रहीत)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> कार्ड (<xliff:g id="archivedCount">%2$d</xliff:g> संग्रहीत)</item>
</plurals>
<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="updateBalanceTitle">आपने कितना खर्च या प्राप्त किया?</string>
<string name="chooseValidFromDate">दिनांक से वैध चुनें</string>
<string name="show_name_below_image_thumbnail">छवि थंबनेल के नीचे नाम दिखाएँ</string>
@@ -295,4 +287,9 @@
<string name="addFromPdfFile">एक PDF फाइल चुनें</string>
<string name="errorReadingFile">फाइल को पढ़ा नहीं जा सका</string>
<string name="failedLaunchingFileManager">समर्थित फाइल प्रबंधक नहीं मिल सका</string>
<string name="noCameraFoundGuideText">ऐसा लगता है कि आपके डिवाइस में कैमरा नहीं है। अगर है, तो डिवाइस को रीबूट करने का प्रयास करें। अन्यथा, किसी अन्य तरीके से बारकोड जोड़ने के लिए नीचे दिए गए अधिक विकल्प बटन का उपयोग करें।</string>
<string name="importCancelled">आयात रद्द</string>
<string name="exportCancelled">निर्यात रद्द</string>
<string name="useFrontImage">सामने की छवि का प्रयोग करें</string>
<string name="useBackImage">पीछे की छवि का उपयोग करें</string>
</resources>

View File

@@ -1,10 +1,10 @@
<?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="unstar">Ukloni iz favorita</string>
<string name="action_search">Pretraži</string>
<string name="action_search">Traži</string>
<string name="save">Spremi</string>
<string name="edit">Uredi</string>
<string name="delete">Ukloni</string>
<string name="delete">Ibriši</string>
<string name="confirm">Potvrdi</string>
<string name="deleteTitle">Izbriši karticu</string>
<string name="deleteConfirmation">Izbrisati ovu karticu zauvijek\?</string>
@@ -20,7 +20,7 @@
<string name="action_add">Dodaj</string>
<string name="storeName">Ime</string>
<string name="note">Bilješka</string>
<string name="noMatchingGiftCards">Nema rezultata. Pokušajte promijeniti pretraživanje.</string>
<string name="noMatchingGiftCards">Nema rezultata. Pokušaj promijeniti tvoju pretragu.</string>
<string name="cardId">ID kartice</string>
<string name="barcodeType">Vrsta crtičnog koda</string>
<string name="cancel">Odustani</string>
@@ -51,11 +51,11 @@
<string name="settings_theme">Tema</string>
<string name="settings_system_theme">Sustav</string>
<string name="settings_light_theme">Svijetla</string>
<string name="settings_display_barcode_max_brightness">Osvijetli prikaz crtičnog koda</string>
<string name="settings_display_barcode_max_brightness">Posvijetli prikaz crtičnog koda</string>
<string name="moveDown">Pomakni prema dolje</string>
<string name="addManually">Upiši barkod</string>
<string name="addManually">Upiši crtični kod</string>
<string name="thumbnailDescription">Sličica</string>
<string name="starImage">Omiljena zvijezda</string>
<string name="starImage">Zvijezda za favorite</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>
@@ -89,60 +89,56 @@
<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="importLoyaltyCardKeychainMessage">Odaberi tvoju iz LoyaltyCardKeychain izvezenu <i>LoyaltyCardKeychain.csv</i> datoteku koju želiš uvesti.
\nStvori je putem izbornika „Uvoz/Izvoz” u aplikaciji Loyalty Card Keychain i tamo 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="importCards">Uvezi kartice</string>
<string name="selectColor">Odaberi boju</string>
<string name="setIcon">Postavi sličicu</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="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="turn_flashlight_on">Uključi bljeskalicu</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="turn_flashlight_off">Isključi bljeskalicu</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="sort_by">Razvrstaj po</string>
<string name="version_history">Povijest 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="report_error">Prijavi grešku</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="starred">Favorit</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="unarchived">Kartica je uklonjena iz arhive</string>
<string name="failedLaunchingPhotoPicker">Nije bilo moguće pronaći podržanu aplikaciju galerije</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="app_libraries">Slobodne biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Odaberi 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="settings_lock_on_opening_orientation">Odredi orijentaciju koja 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">Privjesak za Karticu Vjernosti</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="app_loyalty_card_keychain">Loyalty Card Keychain</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>
\nStvori je putem izbornika „Uvoz/Izvoz” jedne druge Catima aplikacije pritiskom na „Izvoz”.</string>
<string name="height">Visina:</string>
<string name="switchToFrontImage">Prebaci na prednju sliku</string>
<string name="switchToBackImage">Prebaci na stražnju sliku</string>
@@ -153,7 +149,7 @@
<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>
<item quantity="other"><xliff:g>%d</xliff:g> odabranih</item>
</plurals>
<string name="validFromDate">Vrijedi od</string>
<string name="chooseValidFromDate">Odaberi datum od kada kartica vrijedi</string>
@@ -161,7 +157,7 @@
<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
<string name="app_copyright_old">Bazira na aplikaciji Loyalty Card Keychain
\nautorsko pravo © 2016. 2020. Branden Archer</string>
<string name="settings_system_locale">Sustav</string>
<plurals name="balancePoints">
@@ -173,13 +169,13 @@
<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_card_orientation">Orijentacija 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="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 biranjem „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 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>
@@ -188,11 +184,11 @@
<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>
<string name="unarchive">Ukloni iz arhive</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>
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> je arhivirana)</item>
<item quantity="few"><xliff:g>%1$d</xliff:g> kartice (<xliff:g id="archivedCount">%2$d</xliff:g> su arhivirane)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> je arhivirano)</item>
</plurals>
<string name="help_translate_this_app">Pomogni prevoditi ovu aplikaciju</string>
<string name="welcome">Pozdrav u Catima</string>
@@ -210,14 +206,14 @@
</plurals>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Autorska prava © 2019. <xliff:g>%d.</xliff:g> Sylvia van Os i doprinositelji</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="app_resources">Slobodni 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="expiryStateSentenceExpired">Istekla: <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>
@@ -229,13 +225,13 @@
<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="wrongValueForBarcodeType">Vrijednost nije ispravna za odabranu vrstu crtičnog koda</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="takePhoto">Snimi sliku</string>
<string name="updateBarcodeQuestionTitle">Aktualizirati vrijednost crtičnog koda\?</string>
<string name="yes">Da</string>
<string name="no">Ne</string>
@@ -244,7 +240,7 @@
<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="app_contributors">Doprinositelji: <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>
@@ -254,30 +250,25 @@
<string name="nextCard">Sljedeća</string>
<string name="updateBalanceTitle">Koliko si potrošio/la ili primio/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="about_title_fmt">Informacije 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>
<string name="icon_header_click_text">Dugim pritiskom uredite sličicu</string>
<string name="icon_header_click_text">Dugim pritiskom uredi sličicu</string>
<string name="show_name_below_image_thumbnail">Prikaži ime ispod sličice</string>
<string name="show_note">Prikaži bilješku</string>
<string name="show_balance">Prikaži saldo</string>
<string name="show_validity">Prikaži valjanost</string>
<string name="card_id_must_not_be_empty">ID oznaka kartice ne smije biti prazna</string>
<string name="card_id_must_not_be_empty">ID kartice ne smije biti prazna</string>
<string name="balanceParsingFailed">Neispravni saldo</string>
<string name="add_a_card_in_a_different_way">Dodaj karticu na drugi način</string>
<string name="view_online">Pogledaj online</string>
<string name="settings_category_title_general">Opće</string>
<string name="manually_enter_barcode_instructions">Upiši broj ID-a ili tekst na kartici i pritisni crtični kod koji izgleda kao onaj na tvojoj kartici.</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Deaktivira zaključavanje ekrana tijekom prikaza kartice</string>
<string name="action_more_options">Daljnje opcije</string>
<string name="action_more_options">Više opcija</string>
<string name="permissionReadCardsDescription">čitaj tvoje Catima kartice i sve njihove pojedinosti, uključujući bilješke i slike</string>
<string name="enter_card_id">Upiši broj ID-a ili tekst na tvojoj kartici</string>
<string name="action_display_options">Opcije prikaza</string>
<string name="settings_display_barcode_max_brightness_summary">Neophodno za rad nekih skenera</string>
<string name="settings_display_barcode_max_brightness_summary">Potrebno za rad nekih čitača</string>
<string name="settings_oled_dark_summary">Smanjuje potrošnju baterije OLED ekrana</string>
<string name="settings_category_title_cards">Kartice</string>
<string name="addWithoutBarcode">Dodaj karticu bez crtičnog koda</string>
@@ -290,16 +281,21 @@
<string name="settings_category_title_privacy">Privatnost</string>
<string name="settings_keep_screen_on_summary">Deaktivira isključivanje ekrana tijekom prikaza kartice</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Uvijek rotiraj (ignorira sistemske postavke)</string>
<string name="settings_follow_sensor_orientation">Uvijek okreni (zanemaruje postavke sustava)</string>
<string name="continue_">Nastavi</string>
<string name="add_manually_warning_message">Za neke trgovine se vrijednost barkoda razlikuje od broja napisanog na kartici. Zbog toga ručni unos barkoda možda neće uvijek funkcionirati. Preporučuje se snimanje barkoda pomoću kamere. Želiš li svejedno nastaviti?</string>
<string name="add_manually_warning_message">Za neke trgovine se vrijednost crtičnog koda razlikuje od broja na kartici. Zbog toga ručno upisivanje crtičnog koda možda neće uvijek funkcionirati. Preporučuje se snimanje crtičnog koda pomoću kamere. Želiš li svejedno nastaviti?</string>
<string name="add_manually_warning_title">Preporučuje se snimanje</string>
<string name="addFromPdfFile">Odaberi PDF datoteku</string>
<string name="errorReadingFile">Neuspjelo čitanje datoteke</string>
<string name="failedLaunchingFileManager">Nije pronađen podržani upravljač datoteka</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Koji pronađeni barkod želiš koristiti?</string>
<string name="errorReadingFile">Nije bilo moguće pročitati datoteku</string>
<string name="failedLaunchingFileManager">Nije bilo moguće pronaći podržani upravljač datoteka</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Koji od pronađenih crtičnih kodova želiš koristiti?</string>
<string name="pageWithNumber">Stranica <xliff:g>%d</xliff:g></string>
<string name="spend">Potroši</string>
<string name="receive">Primi</string>
<string name="amountParsingFailed">Neispravan iznos</string>
<string name="noCameraFoundGuideText">Čini se da tvoj uređaj nema kameru. Ako je ima, pokušaj ponovo pokrenuti uređaj. Inače koristi gumb „Više opcija” za dodavanje crtičnog koda na jedan drugi način.</string>
<string name="importCancelled">Uvoz je prekinut</string>
<string name="exportCancelled">Izvoz je prekinut</string>
<string name="useBackImage">Koristi stražnju sliku</string>
<string name="useFrontImage">Koristi prednju sliku</string>
</resources>

View File

@@ -62,7 +62,6 @@
<string name="exportPasswordHint">Kód beírása</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és</string>
<string name="on_google_play">a Google Playen</string>
<string name="and_data_usage">és adathasználat</string>
@@ -199,9 +198,6 @@
<string name="groupsList">Csoportok: <xliff:g>%s</xliff:g></string>
<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 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>
@@ -233,10 +229,6 @@
<string name="barcodeLongPressMessage">Csak képek nyithatók meg a galéria alkalmazásban</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ártya)</item>
</plurals>
<string name="updateBalance">Egyenleg frissítése</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>
@@ -290,4 +282,12 @@
<string name="continue_">Tovább</string>
<string name="spend">Költött</string>
<string name="receive">Megkapott</string>
<string name="addFromPdfFile">PDF fájl kiválasztása</string>
<string name="errorReadingFile">A fájl nem olvasható</string>
<string name="pageWithNumber"><xliff:g>%d</xliff:g>. oldal</string>
<string name="failedLaunchingFileManager">Nem található támogatott fájlkezelő</string>
<string name="multipleBarcodesFoundPleaseChooseOne">A talált vonalkódok közül melyiket szeretné használni?</string>
<string name="noCameraFoundGuideText">Úgy tűnik, az eszközén nincs kamera. Ha van, próbálja meg újraindítani az eszközt. Másképp, használja a További beállítások gombot alul, hogy máshogy hozzáadjon egy vonalkódot.</string>
<string name="importCancelled">Importálás megszakítva</string>
<string name="exportCancelled">Exportálás megszakítva</string>
</resources>

View File

@@ -55,7 +55,6 @@
<string name="settings_blue_theme">Biru</string>
<string name="settings_green_theme">Hijau</string>
<string name="settings_sky_blue_theme">Biru Langit</string>
<string name="settings_grey_theme">Abu-abu</string>
<string name="settings_brown_theme">Cokelat</string>
<string name="settings_violet_theme">Ungu</string>
<string name="settings_magenta_theme">Magenta</string>
@@ -136,22 +135,19 @@
<string name="points">Poin</string>
<string name="app_loyalty_card_keychain">Gantungan kunci kartu kesetiaan</string>
<string name="privacy_policy">Kebijakan Privasi</string>
<string name="privacy_policy_popup_text">Pemberitahuan kebijakan privasi (diperlukan oleh beberapa toko aplikasi):
\n
\nTIDAK ADA DATA YANG DIKUMPULKAN SAMA SEKALI, yang dapat dikonfirmasi oleh siapa pun karena aplikasi kami adalah libre software.</string>
<string name="importCatimaMessage">Pilih ekspor <i>catima.zip</i> Anda dari Catima untuk diimpor.
\nBuat dari menu Impor/Ekspor aplikasi Catima lain dengan menekan Ekspor di sana terlebih dahulu.</string>
<string name="importFidmeMessage">Pilih ekspor <i>fidme-export-request-xxxxxx.zip</i> Anda dari FidMe untuk diimpor, dan pilih jenis barcode secara manual setelahnya.
<string name="importFidmeMessage">Pilih ekspor <i>fidme-export-request-xxxxxx.zip</i> Anda dari FidMe untuk diimpor, dan pilih jenis barcode secara manual setelahnya.
\nBuat dari profil FidMe Anda dengan memilih Perlindungan Data lalu tekan Ekstrak data saya terlebih dahulu.</string>
<string name="importLoyaltyCardKeychain">Impor dari Loyalty Card Keychain</string>
<string name="importLoyaltyCardKeychainMessage">Pilih ekspor <i>LoyaltyCardKeychain.csv</i> Anda dari Loyalty Card Keychain untuk diimpor.
<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>***.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.
\nBuat dengan menekan Ekspor di Vault Voucher terlebih dahulu.</string>
<string name="importVoucherVaultMessage">Pilih ekspor <i>vouchervault.json</i> Anda dari Voucher Vault untuk diimpor.
\nBuat dengan menekan Ekspor di Voucher Vault terlebih dahulu.</string>
<string name="unsupportedBarcodeType">Jenis barcode ini belum dapat ditampilkan. Ini mungkin didukung di versi aplikasi yang lebih baru.</string>
<string name="wrongValueForBarcodeType">Nilai tidak berlaku untuk jenis barcode yang dipilih</string>
<string name="frontImageDescription">Gambar depan</string>
@@ -199,9 +195,6 @@
<string name="translate_platform">di Weblate</string>
<string name="welcome">Selamat datang di Catima</string>
<string name="failedToOpenUrl">Install browser web terlebih dahulu</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="other">Lihat arsip (<xliff:g>%1$d</xliff:g> kartu)</item>
</plurals>
<string name="failedLaunchingPhotoPicker">Tidak dapat menemukan aplikasi galeri yang didukung</string>
<string name="previousCard">Sebelumnya</string>
<string name="nextCard">Berikutnya</string>
@@ -288,4 +281,5 @@
<string name="receive">Terima</string>
<string name="amountParsingFailed">Jumlah tidak valid</string>
<string name="add_manually_warning_message">Untuk beberapa toko, nilai barcode berbeda dengan nomor yang tertulis di kartu. Oleh karena itu, memasukkan barcode secara manual mungkin tidak selalu berhasil. Sangat disarankan untuk memindai barcode dengan kamera anda. Apakah anda masih ingin melanjutkan?</string>
<string name="noCameraFoundGuideText">Perangkat Anda sepertinya tidak memiliki kamera. Jika iya, coba mulai ulang perangkat. Jika tidak, gunakan tombol Opsi lainnya di bawah untuk menambahkan barcode dengan cara lain.</string>
</resources>

View File

@@ -81,7 +81,6 @@
<string name="noGiftCardsGroup">Búðu til nokkur kort og settu þau síðan í hópinn hér.</string>
<string name="settings_brown_theme">Brún</string>
<string name="settings_green_theme">Grænn</string>
<string name="settings_grey_theme">Grár</string>
<string name="sort">flokka</string>
<string name="sort_by">flokka Eftir</string>
<string name="nextCard">Næsta</string>

View File

@@ -96,9 +96,6 @@
<string name="chooseImportType">Importa i dati da</string>
<string name="settings_disable_lockscreen_while_viewing_card">Impedisci il blocco dello schermo</string>
<string name="accept">Accetta</string>
<string name="privacy_policy_popup_text">Informativa sulla riservatezza (richiesta da alcuni app store):
\n
\nNESSUN DATO VIENE RACCOLTO, cosa che chiunque può confermare dato che la nostra applicazione è un software libero.</string>
<string name="privacy_policy">Informativa sulla riservatezza</string>
<string name="importVoucherVaultMessage">Seleziona il tuo file di esportazione <i>vouchervault.json</i> da Voucher Vault per importarlo.
\nCrealo premendo prima Esporta in Voucher Vault.</string>
@@ -161,7 +158,6 @@
<string name="settings_system_locale">Sistema</string>
<string name="settings_locale">Lingua</string>
<string name="settings_brown_theme">Marrone</string>
<string name="settings_grey_theme">Grigio</string>
<string name="settings_green_theme">Verde</string>
<string name="settings_sky_blue_theme">Azzurro</string>
<string name="settings_blue_theme">Blu</string>
@@ -231,11 +227,6 @@
<string name="nextCard">Successivo</string>
<string name="welcome">Benvenuti su Catima</string>
<string name="failedToOpenUrl">Installa prima un browser web</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Visualizza archivio (<xliff:g>%1$d</xliff:g> scheda)</item>
<item quantity="many">Visualizza archivio (<xliff:g>%1$d</xliff:g> carta)</item>
<item quantity="other">Visualizza archivio (<xliff:g>%1$d</xliff:g> carte)</item>
</plurals>
<string name="failedToRetrieveImageFile">Impossibile ottenere il file dell\'immagine</string>
<string name="barcodeLongPressMessage">Si possono aprire solo immagini dell\'app della galleria</string>
<string name="cameraPermissionDeniedTitle">È impossibile accedere alla fotocamera</string>
@@ -302,4 +293,9 @@
<string name="addFromPdfFile">Seleziona un file PDF</string>
<string name="failedLaunchingFileManager">Impossibile trovare un file manager supportato</string>
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Sembra che il tuo dispositivo non abbia una fotocamera. In tal caso, prova a riavviare il dispositivo. Altrimenti, utilizza il pulsante Altre opzioni di seguito per aggiungere un codice a barre in un altro modo.</string>
<string name="importCancelled">Importazione annullata</string>
<string name="exportCancelled">Esportazione annullata</string>
<string name="useBackImage">Usa l\'immagine posteriore</string>
<string name="useFrontImage">Usa l\'immagine anteriore</string>
</resources>

View File

@@ -13,9 +13,6 @@
\nファイルがない場合、他のCatimaアプリでファイルをエクスポートしてください。</string>
<string name="importCatima">Catimaからインポート</string>
<string name="accept">承認</string>
<string name="privacy_policy_popup_text">プライバシーポリシーの案内:
\n
\nこのアプリはユーザーのデータを一切収集しません。</string>
<string name="privacy_policy">プライバシーポリシー</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">インポート元を選択</string>
@@ -52,8 +49,8 @@
<string name="exportSuccessful">データがエクスポートされました</string>
<string name="importSuccessful">データがインポートされました</string>
<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_disable_lockscreen_while_viewing_card">バーコード表示中画面をロックしない</string>
<string name="settings_keep_screen_on">バーコード表示中画面を点けたままにする</string>
<string name="settings_display_barcode_max_brightness">バーコード表示画面を明るくする</string>
<string name="settings_dark_theme">ダーク</string>
<string name="settings_light_theme">ライト</string>
@@ -64,11 +61,11 @@
<string name="thumbnailDescription">サムネイル</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="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="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">Copylefted libre software, licensed GPLv3+</string>
<string name="app_resources">Libre third-party resources: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="about">Catimaについて</string>
<string name="about">このアプリについて</string>
<string name="importOptionApplicationButton">外部のアプリを使う</string>
<string name="importOptionApplicationExplanation">任意のアプリやお気に入りのファイルマネージャーからファイルを開く。</string>
<string name="importOptionApplicationTitle">外部アプリを使う</string>
@@ -130,8 +127,8 @@
<string name="takePhoto">写真を撮影する</string>
<string name="removeImage">画像を削除</string>
<string name="setBackImage">裏面の画像を設定</string>
<string name="setFrontImage">オモテ面の画像を設定</string>
<string name="photos">フォト</string>
<string name="setFrontImage">面の画像を設定</string>
<string name="photos">画像</string>
<string name="backImageDescription"></string>
<string name="frontImageDescription"></string>
<string name="importStocardMessage">Stocardでエクスポートした<i>***.zip</i>ファイルを選択してください。
@@ -151,7 +148,6 @@
<string name="barcodeImageDescriptionWithType">バーコード形式の画像 <xliff:g>%s</xliff:g></string>
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">ブラウン/茶色</string>
<string name="settings_grey_theme">グレー/灰色</string>
<string name="settings_green_theme">グリーン/緑色</string>
<string name="settings_sky_blue_theme">スカイブルー/水色</string>
<string name="settings_blue_theme">ブルー/青色</string>
@@ -175,12 +171,12 @@
<string name="exportPasswordHint">パスワードを入力してください</string>
<string name="version_history">更新履歴</string>
<string name="credits">貢献者</string>
<string name="help_translate_this_app">このアプリの翻訳を手伝う</string>
<string name="help_translate_this_app">翻訳を手伝う</string>
<string name="license">ライセンス</string>
<string name="on_google_play">Google Play</string>
<string name="report_error">エラーを報告する</string>
<string name="report_error">問題を報告する</string>
<string name="reverse">逆順</string>
<string name="and_data_usage">and data usage</string>
<string name="and_data_usage">データの扱いなど</string>
<string name="group_updated">グループを更新しました</string>
<string name="editGroup">グループ編集: <xliff:g>%s</xliff:g></string>
<string name="selectColor">色を選択</string>
@@ -189,7 +185,7 @@
<string name="group_name_already_in_use">このグループ名は既に使用されています</string>
<string name="group_name_is_empty">空欄にすることはできません</string>
<string name="shortcutSelectCard">カードを選択してください</string>
<string name="translate_platform">on Weblate</string>
<string name="translate_platform">Weblate</string>
<string name="options">オプション</string>
<string name="show_note">メモを表示</string>
<string name="validFromDate">有効期限</string>
@@ -207,4 +203,31 @@
<string name="settings_portrait_orientation"></string>
<string name="noGiftCardsGroup">いくつかのカードを作って、それらをこのグループにアサインします。</string>
<string name="noCameraPermissionDirectToSystemSetting">バーコードをスキャンするためには、Catimaはカメラへのアクセスを必要とします。ここをタップして権限設定の変更をお願いします。</string>
<string name="importCards">カードをインポート</string>
<string name="show_balance">残高を表示</string>
<string name="show_validity">有効期限を表示</string>
<string name="donate">寄付する</string>
<string name="duplicateCard">複製</string>
<string name="unarchived">アーカイブを解除しました</string>
<string name="welcome">Catimaへようこそ</string>
<string name="show_name_below_image_thumbnail">画像サムネイルの下に名前を表示</string>
<string name="settings_keep_screen_on_summary">画面の自動消灯を無効化します</string>
<string name="settings_category_title_cards">カード</string>
<string name="settings_category_title_general">一般</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">画面のロックを無効化します</string>
<string name="action_display_options">表示の設定</string>
<string name="unarchive">アーカイブ解除</string>
<string name="archive">アーカイブ</string>
<string name="archived">アーカイブしました</string>
<string name="show_archived_cards">アーカイブしたカードを表示</string>
<string name="addFromPdfFile">PDFファイルを選択</string>
<string name="addWithoutBarcode">バーコードを登録せずにカードを追加</string>
<string name="failedToOpenUrl">ブラウザーをインストールしてください</string>
<string name="previousCard">前へ</string>
<string name="nextCard">次へ</string>
<string name="settings_lock_on_opening_orientation">カードを開いた時の向きに固定</string>
<string name="settings_oled_dark">ダークテーマで黒い背景を使用する</string>
<string name="settings_oled_dark_summary">有機ELディスプレイでの電池の使用量を削減します</string>
<string name="action_more_options">オプション</string>
<string name="add_a_card_in_a_different_way">別の方法でカードを追加</string>
</resources>

View File

@@ -223,9 +223,6 @@
<string name="noGroupCards">이 그룹은 비어 있습니다</string>
<string name="app_loyalty_card_keychain">로열티 카드 키체인</string>
<string name="privacy_policy">개인 정보 정책</string>
<string name="privacy_policy_popup_text">개인 정보 보호 정책 공지(일부 앱 스토어에서 필요):
\n
\n아무런 데이터도 수집하지 않습니다. 우리 앱은 자유 소프트웨어이기 때문에 누구나 이를 확인할 수 있습니다.</string>
<string name="importCatima">Catima에서 가져오기</string>
<string name="importCatimaMessage">가져올 Catima에서 <i>catima.zip</i> 내보내기를 선택합니다.
\n먼저 내보내기를 눌러 다른 Catima 앱의 가져오기/내보내기 메뉴에서 생성합니다.</string>
@@ -242,13 +239,9 @@
<string name="importVoucherVaultMessage">가져올 Voucher Vault에서 <i>vouchervault.json</i> 내보내기를 선택합니다.
\n먼저 바우처 금고에서 내보내기를 눌러 생성하세요.</string>
<string name="sameAsCardId">아이디와 동일</string>
<string name="settings_grey_theme">회색</string>
<string name="settings_sky_blue_theme">하늘색</string>
<string name="settings_green_theme">초록색</string>
<string name="settings_brown_theme">갈색</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="other">보관소 보기 (<xliff:g>%1$d</xliff:g> 카)</item>
</plurals>
<string name="previousCard">이전의</string>
<string name="nextCard">다음</string>
<string name="failedToOpenUrl">먼저 웹 브라우저를 설치하십시오</string>
@@ -288,4 +281,9 @@
<string name="receive">받기</string>
<string name="amountParsingFailed">잘못된 금액</string>
<string name="add_manually_warning_message">일부 매장의 경우 바코드 값이 카드에 적힌 숫자와 다릅니다. 이 때문에 수동으로 바코드를 입력하는 것이 항상 작동하지 않을 수 있습니다. 대신 카메라로 바코드를 스캔하는 것이 좋습니다. 계속하시겠습니까?</string>
<string name="noCameraFoundGuideText">디바이스에서 카메라를 찾을 수 없습니다. 카메라가 있는 경우 디바이스를 재시작하거나 추가 옵션 버튼을 눌러 다른 방법으로 바코드를 추가하십시오.</string>
<string name="importCancelled">가져오기 취소됨</string>
<string name="exportCancelled">내보내기 취소됨</string>
<string name="useFrontImage">전면 이미지 사용</string>
<string name="useBackImage">후면 이미지 사용</string>
</resources>

View File

@@ -75,9 +75,6 @@
\nSukurkite ją iš kitos Catima programos importavimo / eksportavimo meniu, pirmiausia ten paspausdami Eksportuoti.</string>
<string name="importCatima">Importuoti iš Catima</string>
<string name="accept">Priimti</string>
<string name="privacy_policy_popup_text">Privatumo politikos pranešimas (kurio reikalaujama kai kuriose programėlių parduotuvėse):
\n
\nJOKIE DUOMENYS NĖRA RENKAMI, o tai gali patvirtinti bet kas, nes mūsų programėlė yra laisvoji programinė įranga.</string>
<string name="privacy_policy">Privatumo politika</string>
<string name="chooseImportType">Importuoti duomenis iš</string>
<string name="points">Taškai</string>
@@ -162,7 +159,6 @@
<string name="settings_system_locale">Sistemos</string>
<string name="settings_locale">Kalba</string>
<string name="settings_brown_theme">Ruda</string>
<string name="settings_grey_theme">Pilka</string>
<string name="settings_green_theme">Žalia</string>
<string name="settings_sky_blue_theme">Dangaus mėlynumo</string>
<string name="settings_blue_theme">Mėlyna</string>
@@ -204,11 +200,6 @@
<string name="failedLaunchingPhotoPicker">Nepavyko rasti palaikomos galerijos programėlės</string>
<string name="previousCard">Ankstesnė</string>
<string name="nextCard">Kita</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Peržiūrėti archyvą (<xliff:g>%1$d</xliff:g> kortelė)</item>
<item quantity="few">Peržiūrėti archyvą (<xliff:g>%1$d</xliff:g> kortelės)</item>
<item quantity="other">Peržiūrėti archyvą (<xliff:g>%1$d</xliff:g> kortelių)</item>
</plurals>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> kortelė ( archyvuota)<xliff:g id="archivedCount">%2$d</xliff:g></item>
<item quantity="few"><xliff:g>%1$d</xliff:g> kortelės ( archyvuotos)<xliff:g id="archivedCount">%2$d</xliff:g></item>

View File

@@ -115,9 +115,6 @@
<item quantity="other"><xliff:g>%s</xliff:g> punkti</item>
</plurals>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy_popup_text">Paziņojums par privātuma politiku (nepieciešams dažiem lietotņu veikaliem):
\n
\nNEKĀDI DATI NETIEK VĀKTI, par ko var pārliecināties ikkatrs, jo mūsu lietotne ir brīva, atvērta koda programmatūra.</string>
<string name="importCatimaMessage">Izvēlieties jūstu <i>catima.zip</i> failu importam.
\nFailu var izveidot eksportējot datus no Catima lietotnes citā ierīce, sadaļā \"Imports/Eksports\".</string>
<string name="importLoyaltyCardKeychainMessage">Importam izvēlieties Jūsu <i>LoyaltyCardKeychain.csv</i> eksporta failu no Loyalty Card Keychain.
@@ -212,7 +209,6 @@
<string name="settings_theme_color">Tēmas krāsa</string>
<string name="settings_violet_theme">Violeta</string>
<string name="settings_blue_theme">Zila</string>
<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="sort_by_most_recently_used">Nesen lietotās</string>
@@ -222,11 +218,6 @@
<string name="failedLaunchingPhotoPicker">Nevarēja atrast atbalstītu galerijas lietotni</string>
<string name="previousCard">Iepriekšējā</string>
<string name="nextCard">Nākamā</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="zero">Skatīt arhivētu (<xliff:g>%1$d</xliff:g> karti)</item>
<item quantity="one">Skatīt arhivētu (<xliff:g>%1$d</xliff:g> karti)</item>
<item quantity="other">Skatīt arhivētas (<xliff:g>%1$d</xliff:g> kartes)</item>
</plurals>
<plurals name="groupCardCountWithArchived">
<item quantity="zero"><xliff:g>%1$d</xliff:g> card (<xliff:g id="archivedCount">%2$d</xliff:g> arhivēta)</item>
<item quantity="one"><xliff:g>%1$d</xliff:g> card (<xliff:g id="archivedCount">%2$d</xliff:g> arhivēta)</item>

View File

@@ -94,9 +94,6 @@
<string name="app_loyalty_card_keychain">Kundekortknippe</string>
<string name="settings_disable_lockscreen_while_viewing_card">Forhindre skjermlås</string>
<string name="settings_keep_screen_on">Behold skjerm påslått</string>
<string name="privacy_policy_popup_text">Personvernspraksis-notis (påkrevd av noen programbutikker):
\n
\nINGEN DATA SAMLES INN I DET HELE TATT, noe alle kan bekreftes siden programmet vårt er fri programvare.</string>
<string name="accept">Godta</string>
<string name="privacy_policy">Personvernspraksis</string>
<string name="importFidme">Importer fra FidMe</string>
@@ -159,7 +156,6 @@
<string name="settings_magenta_theme">Magentarød</string>
<string name="app_contributors">Muliggjort av: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Brun</string>
<string name="settings_grey_theme">Grå</string>
<string name="settings_green_theme">Grønn</string>
<string name="settings_sky_blue_theme">Himmelblå</string>
<string name="settings_blue_theme">Blå</string>
@@ -226,10 +222,6 @@
</plurals>
<string name="failedToOpenUrl">Installer en nettleser først</string>
<string name="welcome">Velkommen til Catima</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Vis arkiv (<xliff:g>%1$d</xliff:g> kort)</item>
<item quantity="other">Vis arkiv (<xliff:g>%1$d</xliff:g> kort)</item>
</plurals>
<string name="failedToRetrieveImageFile">Kunne ikke hente bildefil</string>
<string name="barcodeLongPressMessage">Kun bilder kan åpnes i galleriprogrammet</string>
<string name="cameraPermissionDeniedTitle">Fikk ikke tilgang til kameraet</string>
@@ -260,7 +252,7 @@
<string name="setBarcodeHeight">Sett strekkodehøyde</string>
<string name="donate">Doner</string>
<string name="permissionReadCardsLabel">Les Catima-kort</string>
<string name="permissionReadCardsDescription">Les kortene dine og detaljene om dem, inkludert notater og bilder</string>
<string name="permissionReadCardsDescription">Les Catima-kortene dine og detaljene om dem, inkludert notater og bilder</string>
<string name="settings_allow_content_provider_read_summary">Programmer vil fremdeles måtte forespørre tilgang for å få det innvilget</string>
<string name="settings_display_barcode_max_brightness_summary">Nødvendig for noen skannere</string>
<string name="settings_keep_screen_on_summary">Skrur av skjermtidsavbrudd under visning av et kort</string>
@@ -290,4 +282,14 @@
<string name="receive">Inntekt</string>
<string name="settings_follow_sensor_orientation">Alltid roter (ignorerer systeminnstilling)</string>
<string name="add_manually_warning_message">I noen butikker er strekkoden forskjellig fra nummeret på kortet. Som følge av dette kan det hende at å skrive inn strekkoden ikke virker. Det anbefales å skanne strekkoden med kameraet istedenfor. Fortsett?</string>
<string name="pageWithNumber">Side <xliff:g>%d</xliff:g></string>
<string name="addFromPdfFile">Velg en PDF-fil</string>
<string name="errorReadingFile">Kunne ikke lese filen</string>
<string name="failedLaunchingFileManager">Fant ikke støttet filbehandler</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Hvilken av de oppdagede strekkodene vil du bruke?</string>
<string name="noCameraFoundGuideText">Finner ikke kamera på enheten din. Hvis dette ikke stemmer kan du prøve en omstart av den. Ellers kan du legge til strekkoder med «Mer»-knappen nedenfor.</string>
<string name="importCancelled">Import avbrutt</string>
<string name="exportCancelled">Eksport avbrutt</string>
<string name="useFrontImage">Bruk frontbilde</string>
<string name="useBackImage">Bruk baksidebilde</string>
</resources>

View File

@@ -94,9 +94,6 @@
<string name="app_loyalty_card_keychain">Klantenkaartkluis</string>
<string name="settings_disable_lockscreen_while_viewing_card">Schermvergrendeling uitschakelen</string>
<string name="settings_keep_screen_on">Scherm niet uitschakelen</string>
<string name="privacy_policy_popup_text">Privacybeleid (vereist door sommige appwinkels):
\n
\nER WORDEN GEEN GEGEVENS VERZAMELD. Bovendien is onze app open source, zodat een ieder met eigen ogen kan zien wat de app wel of niet doet.</string>
<string name="privacy_policy">Privacybeleid</string>
<string name="accept">Accepteren</string>
<string name="importVoucherVaultMessage">Kies het te importeren <i>vouchervault.json</i>-exportbestand.
@@ -158,7 +155,6 @@
<string name="settings_system_locale">Systeemtaal</string>
<string name="settings_locale">Taal</string>
<string name="settings_brown_theme">Bruin</string>
<string name="settings_grey_theme">Grijs</string>
<string name="settings_green_theme">Groen</string>
<string name="settings_sky_blue_theme">Hemelsblauw</string>
<string name="settings_blue_theme">Blauw</string>
@@ -226,10 +222,6 @@
<string name="nextCard">Volgende</string>
<string name="welcome">Welkom bij Catima</string>
<string name="failedToOpenUrl">Installeer een webbrowser</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Archief bekijken (<xliff:g>%1$d</xliff:g> kaart)</item>
<item quantity="other">Archief bekijken (<xliff:g>%1$d</xliff:g> kaarten)</item>
</plurals>
<string name="failedToRetrieveImageFile">De afbeelding kan niet worden opgehaald</string>
<string name="barcodeLongPressMessage">Alleen afbeeldingen kunnen worden geopend in de galerij-app</string>
<string name="cameraPermissionDeniedTitle">Geen cameratoegang</string>
@@ -295,4 +287,9 @@
<string name="failedLaunchingFileManager">Geen ondersteunde bestandsbeheerder aangetroffen</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Welke van de gevonden barcodes wil je gebruiken?</string>
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Uw apparaat lijkt niet over een camera te beschikken. Als het dat wel doet, probeer uw apparaat dan opnieuw op te starten. Anders gebruikt u de knop \"Meer opties\" beneden om handmatig een streepjescode in te voeren.</string>
<string name="importCancelled">Importeren geannuleerd</string>
<string name="exportCancelled">Exporteren geannuleerd</string>
<string name="useFrontImage">Gebruik voorzijde van kaart</string>
<string name="useBackImage">Gebruik achterzijde van kaart</string>
</resources>

View File

@@ -71,7 +71,6 @@
<string name="deleteConfirmation">Usunąć tę kartę na stałe\?</string>
<string name="app_contributors">Możliwe dzięki: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Brązowy</string>
<string name="settings_grey_theme">Szary</string>
<string name="settings_green_theme">Zielony</string>
<string name="settings_sky_blue_theme">Błękitny</string>
<string name="settings_blue_theme">Niebieski</string>
@@ -119,9 +118,6 @@
\nUtwórz go z menu Importuj/Eksportuj innej aplikacji Catima, wpierw klikając tam Eksportuj.</string>
<string name="importCatima">Importuj z Catima</string>
<string name="accept">Zaakceptuj</string>
<string name="privacy_policy_popup_text">Informacja o polityce prywatności (wymagana przez niektóre sklepy z aplikacjami):
\n
\nŻADNE DANE NIE SĄ ZBIERANE, co może potwierdzić każdy, gdyż nasza aplikacja jest wolnym oprogramowaniem.</string>
<string name="privacy_policy">Polityka prywatności</string>
<string name="app_loyalty_card_keychain">Brelok dla twoich kart lojalnościowych</string>
<string name="chooseImportType">Importuj dane z</string>
@@ -240,12 +236,6 @@
<string name="barcodeLongPressMessage">W galerii możesz otworzyć tylko obrazy</string>
<string name="failedToOpenUrl">Najpierw zainstaluj przeglądarkę</string>
<string name="welcome">Witaj w Catima</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Wyświetl zarchiwizowaną (<xliff:g>%1$d</xliff:g> kartę)</item>
<item quantity="few">Wyświetl zarchiwizowane (<xliff:g>%1$d</xliff:g> karty)</item>
<item quantity="many">Wyświetl zarchiwizowane (<xliff:g>%1$d</xliff:g> karty)</item>
<item quantity="other">Wyświetl zarchiwizowane (<xliff:g>%1$d</xliff:g> karty)</item>
</plurals>
<string name="currentBalanceSentence">Bieżące saldo: <xliff:g>%s</xliff:g></string>
<string name="noCameraPermissionDirectToSystemSetting">By zeskanować kody kreskowe, Catima musi mieć dostęp do twojej kamery. Dotknij tutaj by zmienić swoje ustawienia dostępu.</string>
<string name="updateBalanceTitle">Ile wydałeś lub otrzymałeś?</string>
@@ -309,4 +299,9 @@
<string name="failedLaunchingFileManager">Nie można znaleźć obsługiwanego menedżera plików</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Którego ze znalezionych kodów kreskowych chciałbyś użyć?</string>
<string name="add_manually_warning_message">W przypadku niektórych sklepów wartość kodu kreskowego różni się od liczby zapisanej na karcie. Z tego powodu ręczne wprowadzanie kodu kreskowego może nie zawsze działać. Zdecydowanie zaleca się zeskanowanie kodu kreskowego za pomocą aparatu. Czy nadal chcesz kontynuować?</string>
<string name="noCameraFoundGuideText">Nie wykryto kamery. Jeśli twoje urządzenie posiada kamerę, spróbuj uruchomić je ponownie. W innym wypadku wybierz Więcej opcji i dodaj kartę w inny sposób.</string>
<string name="importCancelled">Import anulowany</string>
<string name="exportCancelled">Eksport anulowany</string>
<string name="useBackImage">Użyj obrazu z tyłu</string>
<string name="useFrontImage">Użyj obrazu z przodu</string>
</resources>

View File

@@ -0,0 +1,301 @@
<?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_name">Catima</string>
<string name="action_search">Pesquisar</string>
<string name="action_add">Adicionar</string>
<string name="noGiftCards">Clique no botão \"+\" para adicionar um cartão ou importar a partir do menu \"⋮\".</string>
<string name="noGiftCardsGroup">Crie alguns cartões e, em seguida, atribua-os ao grupo aqui.</string>
<string name="noMatchingGiftCards">Nenhum resultado. Tente alterar sua pesquisa.</string>
<string name="storeName">Nome</string>
<string name="note">Nota</string>
<string name="cardId">ID do cartão</string>
<string name="barcodeType">Tipo de código de barras</string>
<string name="noBarcode">Nenhum código de barras</string>
<string name="star">Adicionar aos favoritos</string>
<string name="unstar">Remover dos favoritos</string>
<string name="cancel">Cancelar</string>
<string name="save">Salvar</string>
<string name="edit">Editar</string>
<string name="delete">Excluir</string>
<string name="confirm">Confirmar</string>
<string name="deleteTitle">Excluir cartão</string>
<string name="share">Compartilhar</string>
<string name="importExport">Importar/Exportar</string>
<string name="exportSuccessfulTitle">Exportado</string>
<string name="importing">Importando…</string>
<string name="exporting">Exportando…</string>
<string name="noCameraPermissionDirectToSystemSetting">Para ler códigos de barras, Catima precisará de acesso à sua câmera. Toque aqui para alterar suas configurações de permissão.</string>
<string name="importOptionFilesystemTitle">Importar dos seus arquivos</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> selecionado</item>
<item quantity="many"><xliff:g>%d</xliff:g> selecionados</item>
<item quantity="other"><xliff:g>%d</xliff:g> selecionados</item>
</plurals>
<plurals name="deleteCardsTitle">
<item quantity="one">Excluir <xliff:g>%d</xliff:g> cartão</item>
<item quantity="many">Excluir <xliff:g>%d</xliff:g> cartões</item>
<item quantity="other">Excluir <xliff:g>%d</xliff:g> cartões</item>
</plurals>
<string name="deleteConfirmation">Excluir esse cartão permanentemente?</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Excluir <xliff:g>%d</xliff:g> cartão permanentemente?</item>
<item quantity="many">Excluir <xliff:g>%d</xliff:g> cartões permanentemente?</item>
<item quantity="other">Excluir <xliff:g>%d</xliff:g> cartões permanentemente?</item>
</plurals>
<string name="ok">OK</string>
<string name="sendLabel">Enviar…</string>
<string name="editCardTitle">Editar cartão</string>
<string name="addCardTitle">Adicionar cartão</string>
<string name="scanCardBarcode">Ler código de barras</string>
<string name="cardShortcut">Atalho de cartões</string>
<string name="noCardsMessage">Adicione um cartão primeiro</string>
<string name="barcodeImageDescriptionWithType">Imagem <xliff:g>%s</xliff:g> do código de barras</string>
<string name="noCardExistsError">Não foi possível encontrar esse cartão</string>
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
<string name="exportName">Exportar</string>
<string name="importExportHelp">Fazer backup de seus dados permite movê-los para outro dispositivo.</string>
<string name="importSuccessfulTitle">Importado</string>
<string name="importFailedTitle">Falha na importação</string>
<string name="importFailed">Não foi possível importar</string>
<string name="exportFailedTitle">Falha na exportação</string>
<string name="exportFailed">Não foi possível exportar</string>
<string name="storageReadPermissionRequired">Permissão para ler o armazenamento é necessário para esta ação…</string>
<string name="cameraPermissionRequired">Permissão para acessar a câmera é necessária para esta ação…</string>
<string name="permissionReadCardsLabel">Ler cartões Catima</string>
<string name="permissionReadCardsDescription">ler seus cartões Catima e todos os seus detalhes, incluindo notas e imagens</string>
<string name="cameraPermissionDeniedTitle">Não foi possível acessar a câmera</string>
<string name="exportOptionExplanation">Os dados serão gravados em um local de sua escolha.</string>
<string name="importOptionFilesystemExplanation">Escolha um arquivo específico nos seus arquivos.</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> ponto</item>
<item quantity="many"><xliff:g>%s</xliff:g> pontos</item>
<item quantity="other"><xliff:g>%s</xliff:g> pontos</item>
</plurals>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> cartão</item>
<item quantity="many"><xliff:g>%d</xliff:g> cartões</item>
<item quantity="other"><xliff:g>%d</xliff:g> cartões</item>
</plurals>
<string name="noCameraFoundGuideText">Seu dispositivo parece não ter uma câmera. Se tiver, tente reiniciar o dispositivo. Caso contrário, tente usar o botão \"Mais opções\" abaixo para adicionar um código de barras manualmente.</string>
<string name="settings_follow_system_orientation">Padrão do sistema</string>
<string name="settings_lock_on_opening_orientation">Bloquear para orientação usada ao abrir o cartão</string>
<string name="importCatimaMessage">Selecionar arquivo <i>catima.zip</i>, exportado do Catima, para importação.
\nPrimeiro, crie-o pelo menu Importar/Exportar em outro aplicativo Catima clicando em Exportar.</string>
<string name="importLoyaltyCardKeychain">Importar do Loyalty Card Keychain</string>
<string name="importLoyaltyCardKeychainMessage">Selecionar arquivo <i>LoyaltyCardKeychain.csv</i>, exportado do Loyalty Card Keychain, para importação.
\nPrimeiro, crie-o pelo menu Importar/Exportar no Loyalty Card Keychain clicando em Exportar.</string>
<string name="setBarcodeId">Definir valor do código de barras</string>
<string name="importStocard">Importar de Stocard</string>
<string name="importVoucherVault">Importar de Cofre de Vouchers</string>
<string name="barcodeId">Valor no código de barras</string>
<string name="sameAsCardId">Igual ao ID</string>
<string name="photos">Fotos</string>
<string name="unsupportedBarcodeType">Este tipo de código de barras não pode ser exibido. É possível que seja trazido em uma versão futura do aplicativo.</string>
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
<string name="intent_import_card_from_url_share_multiple_text">Quero compartilhar alguns cartões com você</string>
<string name="backImageDescription">Imagem traseira</string>
<string name="frontImageDescription">Imagem frontal</string>
<string name="setFrontImage">Definir imagem frontal</string>
<string name="setBackImage">Definir imagem traseira</string>
<string name="removeImage">Remover imagem</string>
<string name="takePhoto">Tirar uma foto</string>
<string name="updateBarcodeQuestionTitle">Atualizar valor do código de barras?</string>
<string name="exportPasswordHint">Insira sua senha</string>
<string name="passwordRequired">Por favor, insira a senha</string>
<string name="exportPassword">Defina uma senha para proteger o arquivo exportado (opcional)</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="add_manually_warning_message">Em algumas lojas, o valor do código de barras é diferente do número escrito no cartão. Por esse motivo, inserir um código de barras manualmente pode nem sempre funcionar. É altamente recomendável digitalizar o código de barras com a câmera. Você ainda deseja continuar?</string>
<string name="importOptionApplicationTitle">Usar outro aplicativo</string>
<string name="importOptionApplicationExplanation">Use qualquer aplicativo ou o seu gerenciador de arquivos favorito para abrir um arquivo.</string>
<string name="importOptionApplicationButton">Usar outro aplicativo</string>
<string name="about">Sobre</string>
<string name="about_title_fmt">Sobre <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="selectBarcodeTitle">Selecionar código de barras</string>
<string name="settings">Configurações</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os e contribuidores</string>
<string name="app_copyright_short">Copyright © Sylvia van Os e contribuidores</string>
<string name="app_copyright_old">Baseado no Loyalty Card Keychain
\ncopyright © 20162020 Branden Archert</string>
<string name="importOptionFilesystemButton">A partir do Sistema de Arquivos</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="starImage">Item favorito</string>
<string name="app_libraries">Bibliotecas open source de terceiros : <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Recursos open source de terceiros: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="updateBarcodeQuestionText">Você mudou o ID. Também quer atualizar o código de barras para usar o mesmo valor?</string>
<string name="yes">Sim</string>
<string name="no">Não</string>
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL compartilhável. Por favor, reporte isto.</string>
<string name="turn_flashlight_on">Ligar lanterna</string>
<string name="turn_flashlight_off">Desligar lanterna</string>
<string name="settings_locale">Idioma</string>
<string name="settings_oled_dark_summary">Reduz o uso da bateria em telas OLED</string>
<string name="settings_system_locale">Sistema</string>
<string name="settings_oled_dark">Preto puro como cor de fundo para o tema escuro</string>
<string name="settings_pink_theme">Rosa</string>
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_blue_theme">Azul</string>
<string name="settings_sky_blue_theme">Azul celeste</string>
<string name="settings_green_theme">Verde</string>
<string name="settings_brown_theme">Marrom</string>
<string name="app_contributors">Só foi possível graças a: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Ordenar</string>
<string name="showMoreInfo">Mostrar informações</string>
<string name="updateBalance">Atualizar saldo</string>
<string name="failedToRetrieveImageFile">Falha ao recuperar o arquivo de imagem</string>
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na galeria</string>
<string name="sort_by_most_recently_used">Usado mais recentemente</string>
<string name="reverse">...em ordem inversa</string>
<string name="sort_by">Ordenar por</string>
<string name="version_history">Histórico de Atualização</string>
<string name="and_data_usage">e uso de dados</string>
<string name="rate_this_app">Avalie este aplicativo</string>
<string name="on_google_play">na Google Play</string>
<string name="report_error">Informar erro</string>
<string name="setIcon">Definir miniatura</string>
<string name="options">Opções</string>
<string name="starred">Favoritos</string>
<string name="duplicateCard">Duplicar</string>
<string name="archived">Cartão arquivado</string>
<string name="unarchived">Cartão desarquivado</string>
<string name="failedLaunchingPhotoPicker">Não foi possível encontrar um aplicativo de galeria compatível</string>
<string name="failedToOpenUrl">Instale um navegador primeiro</string>
<string name="welcome">Bem-vindo(a) ao Catima</string>
<string name="importCards">Importar cartões</string>
<string name="height">Altura:</string>
<string name="switchToBarcode">Mudar para código de barras</string>
<string name="switchToFrontImage">Mudar para imagem frontal</string>
<string name="switchToBackImage">Mudar para imagem traseira</string>
<string name="openFrontImageInGalleryApp">Abrir imagem frontal no aplicativo da galeria</string>
<string name="openBackImageInGalleryApp">Abrir imagem traseira no aplicativo da galeria</string>
<string name="setBarcodeHeight">Definir altura do código de barras</string>
<string name="donate">Doar</string>
<string name="icon_header_click_text">Pressione e segure para editar a miniatura</string>
<string name="show_name_below_image_thumbnail">Mostrar nome abaixo da miniatura</string>
<string name="show_note">Mostrar nota</string>
<string name="show_balance">Mostrar saldo</string>
<string name="show_validity">Mostrar validade</string>
<string name="action_more_options">Mais opções</string>
<string name="addWithoutBarcode">Adicionar cartão sem código de barras</string>
<string name="card_id_must_not_be_empty">O ID do cartão não pode estar vazio</string>
<string name="add_a_card_in_a_different_way">Adicionar cartão de outra forma</string>
<string name="field_must_not_be_empty">O campo não pode estar vazio</string>
<string name="spend">Gastar</string>
<string name="receive">Receber</string>
<string name="amountParsingFailed">Quantidade inválida</string>
<string name="addFromPdfFile">Selecionar arquivo PDF</string>
<string name="settings_theme_color">Cor do tema</string>
<string name="settings_catima_theme">Catima</string>
<string name="selectColor">Selecionar cor</string>
<string name="settings_violet_theme">Violeta</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_expiry">Expiração</string>
<string name="credits">Créditos</string>
<string name="license">Licença</string>
<string name="source_repository">Repositório de Origem</string>
<string name="on_github">no GitHub</string>
<string name="translate_platform">no Weblate</string>
<string name="help_translate_this_app">Ajude a traduzir este aplicativo</string>
<string name="shortcutSelectCard">Selecione um cartão</string>
<string name="include_if_asking_support">Se você gostaria de solicitar suporte, inclua as seguintes informações:</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> cartão (<xliff:g id="archivedCount">%2$d</xliff:g> arquivado)</item>
<item quantity="many"><xliff:g>%1$d</xliff:g> cartões (<xliff:g id="archivedCount">%2$d</xliff:g> arquivados)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> cartões (<xliff:g id="archivedCount">%2$d</xliff:g> arquivados)</item>
</plurals>
<string name="archive">Arquivar</string>
<string name="unarchive">Desarquivar</string>
<string name="previousCard">Anterior</string>
<string name="nextCard">Próximo</string>
<string name="updateBalanceTitle">Quanto você gastou ou recebeu?</string>
<string name="currentBalanceSentence">Saldo atual: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">Novo saldo: <xliff:g>%s</xliff:g></string>
<string name="settings_category_title_cards">Cartões</string>
<string name="updateBalanceHint">Inserir quantidade</string>
<string name="anyDate">Qualquer data</string>
<string name="settings_category_title_general">Geral</string>
<string name="settings_category_title_privacy">Privacidade</string>
<string name="action_display_options">Configurações de exibição</string>
<string name="show_archived_cards">Mostrar cartões arquivados</string>
<string name="add_manually_warning_title">A digitalização é recomendada</string>
<string name="continue_">Continuar</string>
<string name="errorReadingFile">Não foi possível fazer a leitura do arquivo</string>
<string name="failedLaunchingFileManager">Não foi possível encontrar um gerenciador de arquivos compatível</string>
<string name="pageWithNumber">Página <xliff:g>%d</xliff:g></string>
<string name="multipleBarcodesFoundPleaseChooseOne">Qual dos códigos de barras encontrados você quer usar?</string>
<string name="settings_display_barcode_max_brightness">Clarear visão do código de barras</string>
<string name="settings_display_barcode_max_brightness_summary">Necessário para alguns scanners funcionarem</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="balance">Saldo</string>
<string name="settings_follow_sensor_orientation">Sempre girar (ignora as configurações do sistema)</string>
<string name="settings_theme">Tema</string>
<string name="settings_light_theme">Claro</string>
<string name="settings_system_theme">Sistema</string>
<string name="settings_dark_theme">Escuro</string>
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo da tela</string>
<string name="settings_card_orientation">Orientação do código de barras</string>
<string name="settings_portrait_orientation">Retrato</string>
<string name="settings_landscape_orientation">Paisagem</string>
<string name="settings_keep_screen_on_summary">Desativa o tempo limite de tela enquanto estiver vendo um cartão</string>
<string name="importSuccessful">Dados importados</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Desativa bloqueio de tela enquanto estiver vendo um cartão</string>
<string name="intent_import_card_from_url_share_text">Eu quero compartilhar um cartão com você</string>
<string name="settings_keep_screen_on">Manter tela ligada</string>
<string name="settings_disable_lockscreen_while_viewing_card">Previnir bloqueio de tela</string>
<string name="settings_allow_content_provider_read_title">Permitir que outros aplicativos acessem meus dados</string>
<string name="settings_allow_content_provider_read_summary">Aplicativos ainda precisarão pedir permissão para ter acesso concedido</string>
<string name="group_edit">Editar grupo</string>
<string name="exportSuccessful">Dados exportados</string>
<string name="noGroups">Clique no botão \"+\" para adicionar grupos a serem categorizados.</string>
<string name="group_name_already_in_use">Nome do grupo já em uso</string>
<string name="deleteConfirmationGroup">Excluir grupo?</string>
<string name="failedOpeningFileManager">Instale um gerenciador de arquivos primeiro.</string>
<string name="enter_group_name">Inserir nome do grupo</string>
<string name="groups">Grupos</string>
<string name="noGroupCards">Este grupo está vazio</string>
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
<string name="group_updated">Grupo atualizado</string>
<string name="all">Todos</string>
<string name="addManually">Insira o código de barras manualmente</string>
<string name="chooseExpiryDate">Escolher data de expiração</string>
<string name="moveUp">Mover para cima</string>
<string name="never">Nunca</string>
<string name="moveDown">Mover para baixo</string>
<string name="leaveWithoutSaveTitle">Sair</string>
<string name="leaveWithoutSaveConfirmation">Sair sem salvar?</string>
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
<string name="editGroup">Editando grupo: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Editar código de barras</string>
<string name="expiryDate">Data de expiração</string>
<string name="noBarcodeFound">Nenhum código de barras foi encontrado</string>
<string name="addFromImage">Selecionar uma imagem da galeria</string>
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expirado: <xliff:g>%s</xliff:g></string>
<string name="card">Cartão</string>
<string name="errorReadingImage">Não foi possível ler a imagem</string>
<string name="points">Pontos</string>
<string name="privacy_policy">Política de Privacidade</string>
<string name="currency">Moeda</string>
<string name="chooseImportType">Importar dados de</string>
<string name="importCatima">Importar do Catima</string>
<string name="balanceParsingFailed">Saldo inválido</string>
<string name="accept">Aceitar</string>
<string name="importFidme">Importar de FidMe</string>
<string name="importFidmeMessage">Selecione o arquivo <i>fidme-export-request-xxxxxx.zip</i>, exportado de FidMe, para importação e em seguida selecione o tipo de código de barras manualmente.
\nCrie-o pelo seu perfil no FidMe escolhendo \'Proteção de Dados\' (Data Protection) e então clicando em \"Extrair meus dados\".</string>
<string name="importStocardMessage">Selecionar arquivo <i>***.zip</i>, exportado de Stocard, para importação.
\nObtenha-o enviando um e-mail para support@stocardapp.com solicitando exportação dos seus dados.</string>
<string name="importVoucherVaultMessage">Selecionar arquivo<i>vouchervault.json</i>, exportado de Voucher Vault, para importação.
\nPrimeiro, crie-o pressionando em Exportar no Voucher Vault.</string>
<string name="enter_card_id">Insira o ID ou texto escrito no seu cartão</string>
<string name="manually_enter_barcode_instructions">Insira o ID ou texto escrito no seu cartão e clique no código de barras que se parece com o do seu cartão.</string>
<string name="app_license">Software livre com copyleft, licenciado sob a licença GPLv3+</string>
<string name="validFromDate">Válido a partir de</string>
<string name="chooseValidFromDate">Escolha uma data válida a partir de</string>
<string name="validFromSentence">Válido a partir de: <xliff:g>%s</xliff:g></string>
<string name="view_online">Ver online</string>
<string name="importCancelled">Importação cancelada</string>
<string name="exportCancelled">Exportação cancelada</string>
<string name="useBackImage">Usar imagem traseira</string>
<string name="useFrontImage">Usar imagem frontal</string>
</resources>

View File

@@ -1,6 +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="action_add">Acrescentar</string>
<string name="action_add">Adicionar</string>
<string name="importOptionFilesystemExplanation">Escolha um ficheiro específico a partir do sistema de ficheiros.</string>
<string name="action_search">Pesquisa</string>
<string name="star">Adicionar aos favoritos</string>
@@ -100,7 +100,6 @@
<string name="photos">Fotografias</string>
<string name="passwordRequired">Introduza a palavra-passe</string>
<string name="settings_green_theme">Verde</string>
<string name="settings_grey_theme">Cinzento</string>
<string name="settings_brown_theme">Castanho</string>
<string name="updateBarcodeQuestionTitle">Atualizar o valor do código de barras\?</string>
<string name="updateBarcodeQuestionText">Alterou o identificador. Também quer atualizar o código de barras para usar o mesmo valor\?</string>
@@ -123,7 +122,7 @@
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Editar código de barras</string>
<string name="expiryDate">Data de expiração</string>
<string name="expiryDate">Data de validade</string>
<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>
@@ -134,9 +133,6 @@
<string name="points">Pontos</string>
<string name="app_loyalty_card_keychain">Chaveiro de cartão de fidelidade</string>
<string name="privacy_policy">Política de privacidade</string>
<string name="privacy_policy_popup_text">Aviso de política de privacidade (exigido por algumas lojas de aplicações):
\n
\nNENHUM DADO É RECOLHIDO DE FORMA ALGUMA, o que qualquer pessoa pode confirmar, já que a nossa aplicação é um software livre de código-fonte aberto.</string>
<string name="accept">Aceitar</string>
<string name="importCatima">Importar do Catima</string>
<string name="importCatimaMessage">Selecione a exportação <i>catima.zip</i> do Catima a importar.
@@ -152,7 +148,7 @@
<string name="unsupportedBarcodeType">Este tipo de código de barras ainda não pode ser mostrado. Pode vir a ser suportado numa versão posterior da aplicação.</string>
<string name="setFrontImage">Definir imagem frontal</string>
<string name="setBackImage">Definir imagem de trás</string>
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL partilhável. Por favor reporte isto aos programadores.</string>
<string name="failedGeneratingShareURL">Não foi possível gerar um URL partilhável. Por favor reporte isto aos programadores.</string>
<string name="turn_flashlight_on">Ligar lanterna</string>
<string name="turn_flashlight_off">Desligar lanterna</string>
<string name="settings_locale">Idioma</string>
@@ -167,7 +163,7 @@
<string name="sort">Ordenar</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
<string name="sort_by_expiry">Expiração</string>
<string name="sort_by_expiry">Validade</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>
@@ -203,7 +199,7 @@
<string name="shortcutSelectCard">Selecione um cartão</string>
<string name="translate_platform">no Weblate</string>
<string name="starred">Estrela</string>
<string name="showMoreInfo">Mostrar info</string>
<string name="showMoreInfo">Mostrar informação</string>
<string name="options">Opções</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> ponto</item>
@@ -230,15 +226,10 @@
<string name="failedLaunchingPhotoPicker">Não foi encontrada nenhuma aplicação de galeria de imagens</string>
<string name="nextCard">Próximo</string>
<string name="previousCard">Anterior</string>
<string name="failedToOpenUrl">Instale primeiro um navegador da Internet</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Ver arquivo (<xliff:g>%1$d</xliff:g> cartão)</item>
<item quantity="many">Ver arquivo (<xliff:g>%1$d</xliff:g> cartões)</item>
<item quantity="other">Ver arquivo (<xliff:g>%1$d</xliff:g> cartões)</item>
</plurals>
<string name="failedToOpenUrl">Instale primeiro um navegador de Internet</string>
<string name="welcome">Bem-vindo ao Catima</string>
<string name="failedToRetrieveImageFile">Falha ao recuperar o ficheiro de imagem</string>
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na aplicação de galeria</string>
<string name="barcodeLongPressMessage"> podem ser abertas imagens na aplicação da galeria</string>
<string name="noCameraPermissionDirectToSystemSetting">Para digitalizar código de barras, o Catima tem de aceder à câmara. Clique aqui para mudar as configurações de permissão.</string>
<string name="cameraPermissionDeniedTitle">Não foi possível aceder à câmara</string>
<string name="importCards">Importar cartões</string>
@@ -272,34 +263,39 @@
<string name="settings_keep_screen_on_summary">Desativa o tempo limite da tela ao visualizar um cartão</string>
<string name="settings_allow_content_provider_read_title">Permitir que outros aplicativos acessem meus dados</string>
<string name="settings_allow_content_provider_read_summary">Os aplicativos ainda terão que solicitar permissão para receber acesso</string>
<string name="settings_oled_dark_summary">Reduz o uso da bateria em telas OLED</string>
<string name="settings_oled_dark_summary">Reduz a utilização da bateria em ecrãs OLED</string>
<string name="icon_header_click_text">Pressione e segure para editar o icone</string>
<string name="settings_category_title_cards">cartões</string>
<string name="settings_category_title_general">geral</string>
<string name="settings_category_title_cards">Cartões</string>
<string name="settings_category_title_general">Geral</string>
<string name="settings_category_title_privacy">Privacidade</string>
<string name="card_id_must_not_be_empty">O ID do cartão não pode estar vazio</string>
<string name="balanceParsingFailed">Saldo inválido</string>
<string name="add_a_card_in_a_different_way">Adicione um cartão de uma forma diferente</string>
<string name="view_online">Exibir online</string>
<string name="view_online">Ver online</string>
<string name="manually_enter_barcode_instructions">Digite o número ID ou o texto em seu cartão e pressione o código de barras que se parece com o que está em seu cartão.</string>
<string name="action_more_options">Mais opções</string>
<string name="enter_card_id">Digite o número ID ou o texto em seu cartão</string>
<string name="action_display_options">Opções de exibição</string>
<string name="action_display_options">Opções de visualização</string>
<string name="addWithoutBarcode">Adicione um cartão sem código de barras</string>
<string name="app_copyright_short">Copyright © Sylvia van Os e colaboradores</string>
<string name="field_must_not_be_empty">O campo não pode estar vazio</string>
<string name="show_archived_cards">Exibir cartões arquivados</string>
<string name="show_archived_cards">Mostrar cartões arquivados</string>
<string name="app_name">Catima</string>
<string name="continue_">Continuar</string>
<string name="add_manually_warning_title">Recomenda-se a digitalização</string>
<string name="add_manually_warning_message">Em algumas lojas, o valor do código de barras é diferente do número escrito no cartão. Por este motivo, a introdução manual de um código de barras pode nem sempre funcionar. Recomenda-se vivamente que, em vez disso, digitalize o código de barras com a sua câmara. Ainda quer continuar?</string>
<string name="spend">Gastar</string>
<string name="receive">Receber</string>
<string name="amountParsingFailed">Montante inválida</string>
<string name="amountParsingFailed">Montante inválido</string>
<string name="settings_follow_sensor_orientation">Rodar sempre (ignora as definições do sistema)</string>
<string name="addFromPdfFile">Selecionar um ficheiro PDF</string>
<string name="errorReadingFile">Não foi possível ler o ficheiro</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Qual dos códigos de barras encontrados pretende utilizar?</string>
<string name="pageWithNumber">Página <xliff:g>%d</xliff:g></string>
<string name="failedLaunchingFileManager">Não foi possível encontrar um gestor de ficheiros suportado</string>
<string name="noCameraFoundGuideText">O seu dispositivo não parece ter uma câmara. Se tiver, tente reiniciar o dispositivo. Caso contrário, utilize o botão \"Mais opções\" abaixo para adicionar um código de barras de outra maneira.</string>
<string name="importCancelled">Importação cancelada</string>
<string name="exportCancelled">Exportação cancelada</string>
<string name="useFrontImage">Utilizar imagem frontal</string>
<string name="useBackImage">Utilizar imagem do verso</string>
</resources>

View File

@@ -24,10 +24,10 @@
<string name="card">Cardul</string>
<string name="settings_theme">Tema</string>
<string name="all">Toate</string>
<string name="noCardsMessage">Adăugați mai întâi o carte</string>
<string name="noCardsMessage">Adăugați mai întâi un card</string>
<string name="noCardExistsError">Acel card nu a putut fi găsit</string>
<string name="failedParsingImportUriError">Nu s-a putut analiza URI-ul de import</string>
<string name="importExport">Importație/Export</string>
<string name="importExport">Importă/Exportă</string>
<string name="exportName">Exportați</string>
<string name="importSuccessfulTitle">Importat</string>
<string name="importFailedTitle">Importul a eșuat</string>
@@ -97,11 +97,6 @@
<string name="intent_import_card_from_url_share_multiple_text">Aș dori să partajez niște carduri cu tine</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Drepturi de autor © 2019<xliff:g>%d</xliff:g> Sylvia van Os și contribuitorii</string>
<string name="translate_platform">pe Weblate</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Vizualizați arhiva (<xliff:g>%1$d</xliff:g> card)</item>
<item quantity="few">Vizualizați arhiva (<xliff:g>%1$d</xliff:g> carduri)</item>
<item quantity="other">Vizualizați arhiva (<xliff:g>%1$d</xliff:g> de carduri)</item>
</plurals>
<string name="card_id_must_not_be_empty">Identificatorul cardului nu poate fi liber</string>
<string name="duplicateCard">Duplicare</string>
<string name="balanceParsingFailed">Sold invalid</string>
@@ -182,9 +177,6 @@
<string name="turn_flashlight_off">Opriți lanterna</string>
<string name="show_note">Afișați notița</string>
<string name="report_error">Raportați o eroare</string>
<string name="privacy_policy_popup_text">Înștiințare despre politica de confidențialitate (necesar de către unele magazine de aplicații):
\n
\nDATELE NU SUNT COLECTATE, și oricine poate confirma deoarece aplicația noastră este software deschis.</string>
<string name="switchToBackImage">Schimbați la imaginea spate</string>
<string name="settings_follow_system_orientation">Urmare sistem</string>
<string name="reverse">...în ordine inversă</string>
@@ -215,7 +207,6 @@
<string name="setBarcodeHeight">Setați înălțimea codului de bare</string>
<string name="settings_landscape_orientation">Orizontal</string>
<string name="privacy_policy">Politica de Confidențialitate</string>
<string name="settings_grey_theme">Gri</string>
<string name="importStocardMessage">Selectați exportul dvs. <i>***.zip</i> din Stocard pentru a-l importa.
\nLuați-l prin e-mail către support@stocardapp.com cerând un export al datelor dumneavoastră.</string>
<string name="openBackImageInGalleryApp">Deschideți imaginea spate în aplicația galerie</string>
@@ -262,7 +253,7 @@
<string name="app_resources">Resurse terță deschise: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_name">Catima</string>
<string name="shortcutSelectCard">Selectați un card</string>
<string name="accept">Accept</string>
<string name="accept">Acceptă</string>
<string name="settings_category_title_privacy">Confidențialitate</string>
<string name="show_balance">Afișați balanța</string>
<string name="nextCard">Următor</string>
@@ -302,4 +293,9 @@
<string name="failedLaunchingFileManager">Nu s-a găsit un manager de fișiere suportat</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Pe care dintre codurile de bare găsite dorești să-l folosești?</string>
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Dispozitivul dvs. nu pare să aibă o cameră foto/video. Daca are, încercați să vă reporniți dispozitivul. Altfel, folosiți butonul cu opțiunea \'Mai multe\' de mai jos pentru a adăuga un cod de bare prin altă modalitate.</string>
<string name="importCancelled">Importare anulată</string>
<string name="exportCancelled">Exportare anulată</string>
<string name="useBackImage">Utilizează imaginea din spate</string>
<string name="useFrontImage">Utilizează imaginea din față</string>
</resources>

View File

@@ -75,9 +75,6 @@
<string name="expiryStateSentence">Срок действия истекает: <xliff:g>%s</xliff:g></string>
<string name="points">Баллы</string>
<string name="addManually">Ручной ввод номера</string>
<string name="privacy_policy_popup_text">Уведомление о политике конфиденциальности (требуется некоторыми магазинами приложений):
\n
\nНИКАКИЕ ДАННЫЕ НЕ СОБИРАЮТСЯ ВООБЩЕ, что может подтвердить любой, так как наше приложение является свободным программным обеспечением.</string>
<string name="privacy_policy">Политика конфиденциальности</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Откуда импортировать данные</string>
@@ -168,7 +165,6 @@
<string name="settings_sky_blue_theme">Голубой</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_brown_theme">Коричневый</string>
<string name="settings_grey_theme">Серый</string>
<string name="settings_green_theme">Зелёный</string>
<string name="settings_blue_theme">Синий</string>
<string name="settings_violet_theme">Фиолетовый</string>
@@ -238,12 +234,6 @@
<string name="previousCard">Предыдущая</string>
<string name="welcome">Добро пожаловать в Catima</string>
<string name="failedToOpenUrl">Сначала необходимо установить браузер</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Просмотр архива (<xliff:g>%1$d</xliff:g> карта)</item>
<item quantity="few">Просмотр архива (<xliff:g>%1$d</xliff:g> карты)</item>
<item quantity="many">Просмотр архива (<xliff:g>%1$d</xliff:g> карт)</item>
<item quantity="other">Просмотр архива (<xliff:g>%1$d</xliff:g> карт)</item>
</plurals>
<string name="failedToRetrieveImageFile">Невозможно получить файл изображения</string>
<string name="barcodeLongPressMessage">В приложении галереи можно открывать только изображения</string>
<string name="noCameraPermissionDirectToSystemSetting">Для сканирования штрих-кодов Catima требуется доступ к камере устройства. Нажмите здесь, чтобы изменить настройки разрешений.</string>
@@ -309,4 +299,9 @@
<string name="pageWithNumber">Страница <xliff:g>%d</xliff:g></string>
<string name="failedLaunchingFileManager">Не найден поддерживаемый файловый менеджер</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Какой из найденных штрих-кодов вы хотите использовать?</string>
<string name="noCameraFoundGuideText">Похоже, ваше устройство не оснащено камерой. Если это не так, попробуйте перезагрузить устройство. В противном случае воспользуйтесь кнопкой \"Ещё\", чтобы добавить штри-хкод другим способом.</string>
<string name="importCancelled">Импорт отменён</string>
<string name="exportCancelled">Экспорт отменён</string>
<string name="useFrontImage">Использовать лицевую сторону</string>
<string name="useBackImage">Использовать заднюю сторону</string>
</resources>

View File

@@ -149,7 +149,6 @@
<string name="settings_blue_theme">Modrá</string>
<string name="settings_sky_blue_theme">Azurová</string>
<string name="settings_green_theme">Zelená</string>
<string name="settings_grey_theme">Šedá</string>
<string name="settings_brown_theme">Hnedá</string>
<string name="sort">Zoradiť</string>
<string name="help_translate_this_app">Pomôžte preložiť túto aplikáciu</string>
@@ -218,9 +217,6 @@
<string name="chooseValidFromDate">Zvoliť dátum platné od</string>
<string name="validFromSentence">Platnosť od: <xliff:g>%s</xliff:g></string>
<string name="cameraPermissionRequired">Pre túto akciu je potrebné oprávnenie na prístup k fotoaparátu…</string>
<string name="privacy_policy_popup_text">Oznámenie o zásadách ochrany osobných údajov (vyžaduje sa v niektorých obchodoch s aplikáciami):
\n
\nNEZHROMAŽĎUJÚ SA VÔBEC ŽIADNE ÚDAJE, čo môže ktokoľvek potvrdiť, keďže naša aplikácia je slobodný softvér.</string>
<string name="importLoyaltyCardKeychainMessage">Vyberte svoj export <i>LoyaltyCardKeychain.csv</i> z Kľúčenky vernostných kariet, ktorý chcete importovať.
\nVytvorte ho z ponuky Import/Export v aplikácii Loyalty Card Keychain tak, že tam najprv stlačíte tlačidlo Exportovať.</string>
<string name="importVoucherVaultMessage">Vyberte svoj <i>vouchervault.json</i> export z Trezoru poukážok pre import.
@@ -232,11 +228,6 @@
<item quantity="few"><xliff:g>%1$d</xliff:g> karty (<xliff:g id="archivedCount">%2$d</xliff:g> archivované)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kariet (<xliff:g id="archivedCount">%2$d</xliff:g> archivovaných)</item>
</plurals>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Zobraziť archív (<xliff:g>%1$d</xliff:g> karta)</item>
<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="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>
@@ -297,4 +288,14 @@
<string name="amountParsingFailed">Neplatná hodnota</string>
<string name="add_manually_warning_title">Skenovanie je odporúčané</string>
<string name="add_manually_warning_message">V niektorých obchodoch nie je číslo na cenovke totožné s čiarovým kódom, preto je lepšie zoskenovať čiarový kód. Chcete napriek tomu pokračovať?</string>
<string name="addFromPdfFile">Vyberte súbor PDF</string>
<string name="errorReadingFile">Súbor sa nepodarilo prečítať</string>
<string name="failedLaunchingFileManager">Nepodarilo sa nájsť podporovaného správcu súborov</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Ktorý z nájdených čiarových kódov chcete použiť?</string>
<string name="pageWithNumber">Stránka <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Zdá sa, že Vaše zariadenie nemá fotoaparát. Ak ho má, skúste zariadenie reštartovať. V opačnom prípade, použite tlačidlo Viac možností na pridanie čiarového kódu iným spôsobom.</string>
<string name="importCancelled">Import zrušený</string>
<string name="exportCancelled">Export zrušený</string>
<string name="useFrontImage">Použiť obrázok prednej strany</string>
<string name="useBackImage">Použiť obrázok zadnej strany</string>
</resources>

View File

@@ -85,7 +85,6 @@
<string name="help_translate_this_app">Pomagajte pri prevajanju aplikacije</string>
<string name="version_history">Zgodovina različic</string>
<string name="settings_brown_theme">Rjava</string>
<string name="settings_grey_theme">Siva</string>
<string name="settings_green_theme">Zelena</string>
<string name="settings_sky_blue_theme">Sinje modra</string>
<string name="settings_blue_theme">Modra</string>
@@ -167,7 +166,7 @@
</plurals>
<string name="settings_card_orientation">Orientacija črtne kode</string>
<string name="settings_follow_system_orientation">Sledi sistemu</string>
<string name="settings_portrait_orientation">Podoba</string>
<string name="settings_portrait_orientation">Portret</string>
<string name="settings_landscape_orientation">Pokrajina</string>
<string name="settings_lock_on_opening_orientation">Ohrani usmerjenost uporabljeno pri odpiranju kartice</string>
<string name="setIcon">Nastavite ikono</string>
@@ -207,9 +206,6 @@
<string name="failedToOpenUrl">Prvo namestite spletni brskalnik</string>
<string name="welcome">Pozdravljeni v Catimi</string>
<string name="noGiftCardsGroup">Kreiraj kartice in jim dodeli skupino tukaj.</string>
<string name="privacy_policy_popup_text">Obvestilo o politiki zasebnosti (nekatere trgovine aplikacij to zahtevajo):
\n
\nPODATKI SE NE ZBIRAJO, kar se lahko preveri v programski kodi, saj je aplikacija prosta programska oprema.</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Izbriši <xliff:g>%d</xliff:g> kartico zvestobe</item>
<item quantity="two">Izbriši <xliff:g>%d</xliff:g> kartici zvestobe</item>
@@ -247,12 +243,6 @@
<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> kartic (<xliff:g id="archivedCount">%2$d</xliff:g> arhiviranih)</item>
</plurals>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Poglej arhiv (<xliff:g>%1$d</xliff:g> kartice)</item>
<item quantity="two">Poglej arhiv (<xliff:g>%1$d</xliff:g> kartic)</item>
<item quantity="few">Poglej arhiv (<xliff:g>%1$d</xliff:g> kartic)</item>
<item quantity="other">Poglej arhiv (<xliff:g>%1$d</xliff:g> kartic)</item>
</plurals>
<string name="cameraPermissionRequired">Za to dejanje je potrebno dovoljenje za dostop do kamere…</string>
<string name="storageReadPermissionRequired">Za to dejanje je potrebno dovoljenje za branje iz pomnilnika…</string>
<string name="validFromSentence">Veljavno od: <xliff:g>%s</xliff:g></string>

View File

@@ -0,0 +1,301 @@
<?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="action_add">Dodaj</string>
<string name="action_search">Pretraga</string>
<string name="noGiftCards">Klikni + plus znak da dodaš karticu, ili je uvezi pomoću ⋮ menija.</string>
<string name="storeName">Ime</string>
<string name="cardId">Broj kartice</string>
<string name="star">Dodaj u omiljene</string>
<string name="unstar">Ukloni iz omiljenih</string>
<string name="cancel">Otkaži</string>
<string name="save">Sačuvaj</string>
<string name="edit">Izmeni</string>
<string name="delete">Obriši</string>
<string name="confirm">Potvrdi</string>
<string name="deleteTitle">Obriši karticu</string>
<string name="deleteConfirmation">Trajno obriši ovu karticu?</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Obriši <xliff:g>%d</xliff:g> karticu trajno?</item>
<item quantity="few">Obriši <xliff:g>%d</xliff:g> kartice trajno?</item>
<item quantity="other">Obriši <xliff:g>%d</xliff:g> kartica trajno?</item>
</plurals>
<string name="ok">Potvrdi</string>
<string name="share">Podeli</string>
<string name="sendLabel">Pošalji…</string>
<string name="editCardTitle">Izmeni karticu</string>
<string name="addCardTitle">Dodaj karticu</string>
<string name="cardShortcut">Prečica kartice</string>
<string name="noCardsMessage">Prvo dodaj karticu</string>
<string name="noCardExistsError">Nije moguće pronaći tu karticu</string>
<string name="failedParsingImportUriError">Nije moguće obraditi uvozni URI</string>
<string name="importExport">Uvoz/Izvoz</string>
<string name="exportName">Izvoz</string>
<string name="importExportHelp">Pravljenje rezervnih kopija podataka omogućava premeštanje na drugi uređaj.</string>
<string name="importSuccessfulTitle">Uvezeno</string>
<string name="importFailedTitle">Uvoz nije uspeo</string>
<string name="importFailed">Nije moguće izvršiti uvoz</string>
<string name="exportSuccessfulTitle">Izvezeno</string>
<string name="exportFailedTitle">Izvoz nije uspeo</string>
<string name="importing">Uvoz…</string>
<string name="exporting">Izvoz…</string>
<string name="storageReadPermissionRequired">Potrebna dozvola za čitanje memorije za ovu akciju…</string>
<string name="barcodeType">Tip bar-koda</string>
<string name="noBarcode">Nema bar-koda</string>
<string name="scanCardBarcode">Skeniraj bar-kod</string>
<string name="barcodeImageDescriptionWithType">Fotografija <xliff:g>%s</xliff:g> bar-koda</string>
<string name="exportOptionExplanation">Podaci će biti sačuvani na lokaciji po tvom izboru.</string>
<string name="importOptionFilesystemExplanation">Odaberi određenu datoteku iz sistema za upravljanje datotekama.</string>
<string name="importOptionFilesystemTitle">Uvezi iz sistema za upravljanje datotekama</string>
<string name="importOptionFilesystemButton">Iz sistema za upravljanje datotekama</string>
<string name="importOptionApplicationTitle">Koristi drugu aplikaciju</string>
<string name="importOptionApplicationExplanation">Koristi bilo koju aplikaciju ili omiljeni menadžer datoteka da bi otvorio datoteku.</string>
<string name="importOptionApplicationButton">Koristi drugu aplikaciju</string>
<string name="about">O aplikaciji</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Autorska prava © 2019<xliff:g>%d</xliff:g> Sylvia van Os i saradnici</string>
<string name="app_copyright_old">Bazirana na osnovu aplikcije Loyalty Card Keychain
\nautorska prava © 20162020 Branden Archer</string>
<string name="starImage">Omiljena zvezda</string>
<string name="settings">Podešavanja</string>
<string name="settings_theme">Tema</string>
<string name="settings_system_theme">Sistem</string>
<string name="settings_light_theme">Svetla</string>
<string name="settings_dark_theme">Tamna</string>
<string name="settings_follow_system_orientation">Kao sistem</string>
<string name="settings_follow_sensor_orientation">Uvek rotiraj (ignoriše sistemska podešavanja)</string>
<string name="settings_portrait_orientation">Uspravno</string>
<string name="settings_landscape_orientation">Položeno</string>
<string name="settings_lock_on_opening_orientation">Zaključavanje orijentacije koja se koristi prilikom otvaranja kartice</string>
<string name="settings_display_barcode_max_brightness">Posvetli bar-kod pogled</string>
<string name="settings_display_barcode_max_brightness_summary">Neophodno za rad nekih čitača</string>
<string name="selectBarcodeTitle">Odaberi bar-kod</string>
<string name="settings_card_orientation">Orijentacija bar-koda</string>
<string name="thumbnailDescription">Naslovna fotografija</string>
<string name="settings_disable_lockscreen_while_viewing_card">Spreči zaključavanje ekrana</string>
<string name="settings_allow_content_provider_read_title">Dozvoli drugim aplikacijama da pristupe mojim podacima</string>
<string name="settings_allow_content_provider_read_summary">Aplikacije će i dalje morati da zatraže dozvolu da bi im se odobrio pristup</string>
<string name="intent_import_card_from_url_share_text">Želim da podelim karticu sa tobom</string>
<string name="importSuccessful">Podaci uvezeni</string>
<string name="exportSuccessful">Podaci izvezeni</string>
<string name="enter_group_name">Unesite ime grupe</string>
<string name="noGroups">Klikni + plus znak da dodaš grupe za kategorizaciju.</string>
<string name="noGroupCards">Ova grupa je prazna</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="group_name_already_in_use">Grupa pod ovim imenom već postoji</string>
<string name="group_name_is_empty">Grupa mora imati ime</string>
<string name="all">Sve</string>
<string name="deleteConfirmationGroup">Obriši grupu?</string>
<string name="moveUp">Pomeri nagore</string>
<string name="moveDown">Pomeri nadole</string>
<string name="leaveWithoutSaveTitle">Izlaz</string>
<string name="leaveWithoutSaveConfirmation">Izlaziš, a nisi sačuvao?</string>
<string name="addManually">Unesite bar-kod ručno</string>
<string name="addFromImage">Izaberi sliku iz galerije</string>
<string name="groupsList">Grupe: <xliff:g>%s</xliff:g></string>
<string name="card">Kartica</string>
<string name="errorReadingImage">Nije moguće očitati sliku</string>
<string name="balance">Stanje</string>
<string name="currency">Valuta</string>
<string name="points">Bodovi</string>
<string name="balanceParsingFailed">Nevažeće stanje</string>
<string name="chooseImportType">Uvoz podataka iz</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy">Politika privatnosti</string>
<string name="accept">Prihvati</string>
<string name="importCatima">Uvezi iz Catime</string>
<string name="importFidme">Uvoz iz FidMe</string>
<string name="importLoyaltyCardKeychain">Uvezi iz aplikacije Loyalty Card Keychain</string>
<string name="importLoyaltyCardKeychainMessage">Odaberi svoj <i>LoyaltyCardKeychain.csv</i> izvoz iz aplikacije Loyalty Card Keychain za uvoz.
\nKreiraj ga iz menija \"Import/Export\" u aplikaciji Loyalty Card Keychain klikom na \"Export\".</string>
<string name="importStocard">Uvoz iz Stocard</string>
<string name="importVoucherVault">Uvoz iz Voucher Vault</string>
<string name="importVoucherVaultMessage">Odaberi svoj <i>vouchervault.json</i> izvoz iz Voucher Vault za uvoz.
\nKreiraj ga pritiskom na \"Export\" u Voucher Vault aplikaciji.</string>
<string name="barcodeId">Vrednost bar-koda</string>
<string name="sameAsCardId">Isti kao broj kartice</string>
<string name="setBarcodeId">Podesi vrednost bar-koda</string>
<string name="unsupportedBarcodeType">Ovaj tip bar-koda nije podržan te ne može da se prikaže. Možda bude podržan u nekoj novijoj verziji aplikacije.</string>
<string name="wrongValueForBarcodeType">Vrednost nije validna za izabrani tip bar-koda</string>
<string name="intent_import_card_from_url_share_multiple_text">Želim da podelim neke kartice sa tobom</string>
<string name="frontImageDescription">Prednja fotografija kartice</string>
<string name="photos">Fotografije</string>
<string name="setFrontImage">Postavi prednju fotografiju</string>
<string name="removeImage">Ukloni fotografiju</string>
<string name="takePhoto">Uslikaj fotografiju</string>
<string name="updateBarcodeQuestionTitle">Ažuriraj vrednost bar-koda?</string>
<string name="yes">Da</string>
<string name="exportPassword">Podesi lozinku da bi zaštitio svoj izvoz (opciono)</string>
<string name="exportPasswordHint">Unesi lozinku</string>
<string name="failedGeneratingShareURL">Nije moguće generisati URL koji se može podeliti. Molim te da prijaviš ovo developeru.</string>
<string name="turn_flashlight_on">Uključi blic</string>
<string name="turn_flashlight_off">Isključi blic</string>
<string name="settings_locale">Jezik</string>
<string name="settings_oled_dark">Čisto crna pozadina za tamnu temu</string>
<string name="settings_oled_dark_summary">Smanjuje potrošnju baterije na OLED ekranima</string>
<string name="settings_system_locale">Sistem</string>
<string name="selectColor">Odaberi boju</string>
<string name="setIcon">Odaberi naslovnu fotografiju</string>
<string name="settings_theme_color">Boja teme</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_pink_theme">Roze</string>
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_violet_theme">Ljubičasta</string>
<string name="settings_brown_theme">Braon</string>
<string name="sort">Sortiranje</string>
<string name="showMoreInfo">Prikaži informacije</string>
<string name="updateBalance">Ažuriraj stanje</string>
<string name="failedToRetrieveImageFile">Preuzimanje fotografije nije uspelo</string>
<string name="sort_by_name">Ime</string>
<string name="sort_by_most_recently_used">Nedevno korišćeno</string>
<string name="sort_by_expiry">Ističe</string>
<string name="reverse">…u obrnutom redosledu</string>
<string name="sort_by">Sortiraj po</string>
<string name="version_history">Istorija verzija</string>
<string name="credits">Stanje</string>
<string name="help_translate_this_app">Pomozi da prevedemo aplikaciju</string>
<string name="license">Licenca</string>
<string name="source_repository">Izvorni repozitorijum</string>
<string name="on_github">na GitHub-u</string>
<string name="and_data_usage">i korišćenje podataka</string>
<string name="rate_this_app">Oceni aplikaciju</string>
<string name="on_google_play">na Google Play prodavnici</string>
<string name="report_error">Prijavi grešku</string>
<string name="shortcutSelectCard">Odaberi karticu</string>
<string name="options">Opcije</string>
<string name="starred">Označeni zvezdicom</string>
<string name="duplicateCard">Dupliraj</string>
<string name="archive">Arhiviraj</string>
<string name="unarchive">Ukloni iz arhive</string>
<string name="unarchived">Kartica uklonjena iz arhive</string>
<string name="archived">Kartica dodata u arhivu</string>
<string name="failedLaunchingPhotoPicker">Nije moguće pronaći podržanu galerija aplikaciju</string>
<string name="previousCard">Prethodna</string>
<string name="nextCard">Sledeća</string>
<string name="failedToOpenUrl">Prvo instalirajte internet pregledač</string>
<string name="welcome">Dobrodošli u Catima aplikaciju</string>
<string name="importCards">Uvezi kartice</string>
<string name="updateBalanceTitle">Koliko si potrošio ili primio?</string>
<string name="updateBalanceHint">Unesi vrednost</string>
<string name="currentBalanceSentence">Trenutno stanje: <xliff:g>%s</xliff:g></string>
<string name="validFromDate">Važi do</string>
<string name="anyDate">bilo kog datuma</string>
<string name="chooseValidFromDate">Odaberi datum važenja</string>
<string name="validFromSentence">Važi od: <xliff:g>%s</xliff:g></string>
<string name="height">Visina:</string>
<string name="switchToFrontImage">Prebaci na prednju fotografiju</string>
<string name="switchToBarcode">Prebaci na bar-kod</string>
<string name="openFrontImageInGalleryApp">Otvori prednju fotografiju u galerija aplikaciji</string>
<string name="setBarcodeHeight">Postavi visinu bar-koda</string>
<string name="donate">Doniraj</string>
<string name="icon_header_click_text">Dugi pritisak za izmenu naslovne fotografije</string>
<string name="show_name_below_image_thumbnail">Prikaži naziv ispod naslovne fotografije</string>
<string name="show_note">Prikaži napomenu</string>
<string name="show_balance">Prikaži stanje</string>
<string name="show_validity">Prikaži validnost</string>
<string name="settings_category_title_privacy">Privatnost</string>
<string name="settings_category_title_general">Glavno</string>
<string name="action_display_options">Prikaz</string>
<string name="show_archived_cards">Prikaži arhivirane kartice</string>
<string name="view_online">Pregledaj online</string>
<string name="action_more_options">Više opcija</string>
<string name="app_name">Catima</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> izabrana</item>
<item quantity="few"><xliff:g>%d</xliff:g> izabrane</item>
<item quantity="other"><xliff:g>%d</xliff:g> izabranih</item>
</plurals>
<string name="noGiftCardsGroup">Kreirajte par kartica, a zatim ih ovde dodeli grupi.</string>
<string name="noMatchingGiftCards">Nema rezultata. Pokušaj da promeniš pretragu.</string>
<string name="note">Napomena</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Obriši <xliff:g>%d</xliff:g> karticu</item>
<item quantity="few">Obriši <xliff:g>%d</xliff:g> kartice</item>
<item quantity="other">Obriši <xliff:g>%d</xliff:g> kartica</item>
</plurals>
<string name="cameraPermissionRequired">Potrebna dozvola za pristup kameri za ovu akciju…</string>
<string name="permissionReadCardsLabel">Pročitaj Catima kartice</string>
<string name="permissionReadCardsDescription">Pročitaj svoje Catima kartice i sve njihove detalje, uključujući beleške i slike</string>
<string name="cameraPermissionDeniedTitle">Nije moguće pristupiti kameri</string>
<string name="exportFailed">Nije moguće izvršiti izvoz</string>
<string name="app_copyright_short">Autorska prava © Sylvia van Os i saradnici</string>
<string name="app_license">Kopileftovani slobodni softver, licenciran GPLv3+</string>
<string name="about_title_fmt">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_libraries">Slobodne biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Slobodni resursi trećih strana: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="settings_keep_screen_on">Drži ekran uključen</string>
<string name="settings_keep_screen_on_summary">Onemogućava vremensko ograničenje gašenja ekrana dok gledate karticu</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Onemogućava zaključavanje ekrana dok gledate karticu</string>
<string name="noCameraPermissionDirectToSystemSetting">Za skeniranje bar-kodova, Catimi će trebati pristup tvojoj kameri. Dodirnite ovde da biste promenili podešavanja dozvole.</string>
<string name="groups">Grupe</string>
<string name="group_edit">Izmeni grupu</string>
<string name="group_updated">Grupa ažurirana</string>
<string name="failedOpeningFileManager">Prvo instaliraj menadžer datoteka.</string>
<string name="editGroup">Izmena grupe: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Ističe: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Istekla: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Stanje: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Izmeni bar-kod</string>
<string name="moveBarcodeToTopOfScreen">Premesti bar-kod na vrh ekrana</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="expiryDate">Datum isteka</string>
<string name="never">Nikad</string>
<string name="chooseExpiryDate">Odaberi datum isteka</string>
<string name="noBarcodeFound">Nije pronađen bar-kod</string>
<string name="importCatimaMessage">Odaberi svoj <i>catima.zip</i> koji želiš da uvezeš.
\nMožeš da ga kreiraš u Catima aplikaciji koju prenosiš iz menija Uvoz/Izvoz aplikacije pritiskom na izvoz.</string>
<string name="importFidmeMessage">Odaberi svoj <i>fidme-export-request-xxxxxx.zip</i> izvoz iz FidMe za uvoz, a zatim ručno izaberite tipove bar-kodova.
\nKreirajte ga iz svog FidMe profila tako što ćeš izabrati \"Data Protection\", a zatim pritisnuti \"Extract my data first\".</string>
<string name="importStocardMessage">Odaberi svoj <i>***.zip</i> izvoz iz Stocard za uvoz.
\nNabavi ga putem e-mail adrese support@stocardapp.com tražeći izvoz vaših podataka.</string>
<string name="backImageDescription">Zadnja fotografija kartice</string>
<string name="setBackImage">Postavi zadnju fotografiju</string>
<string name="passwordRequired">Unesi lozinku</string>
<string name="updateBarcodeQuestionText">Promenio si broj kartice. Da li želiš da ažuriraš i bar-kod da bude iste vrednosti?</string>
<string name="no">Ne</string>
<string name="app_contributors">Saradnici: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_sky_blue_theme">Nebo plava</string>
<string name="settings_green_theme">Zelena</string>
<string name="barcodeLongPressMessage">Samo fotografije mogu da se otvore u galerija aplikaciji</string>
<string name="settings_blue_theme">Plava</string>
<string name="translate_platform">na Weblate-u</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="include_if_asking_support">Ako želiš da zatražiš podršku, ubaci sledeće informacije:</string>
<string name="newBalanceSentence">Novo stanje: <xliff:g>%s</xliff:g></string>
<string name="switchToBackImage">Prebaci na zadnju fotografiju</string>
<string name="openBackImageInGalleryApp">Otvori zadnju fotografiju u galerija aplikaciji</string>
<string name="settings_category_title_cards">Kartice</string>
<string name="addWithoutBarcode">Dodaj karticu bez bar-koda</string>
<string name="enter_card_id">Unesite broj ili tekst sa kartice</string>
<string name="card_id_must_not_be_empty">Unesi broj kartice</string>
<string name="add_a_card_in_a_different_way">Dodaj karticu na drugi način</string>
<string name="field_must_not_be_empty">Ovo polje ne sme biti prazno</string>
<string name="manually_enter_barcode_instructions">Unesi broj ili tekst sa kartice i pritisnite bar-kod koji liči na onaj koji je na kartici.</string>
<string name="add_manually_warning_title">Skeniranje se preporučuje</string>
<string name="add_manually_warning_message">Za neke prodavnice, vrednost bar-koda može da se razlikuje od broja napisanog na kartici. Zbog toga, ručno unešeni bar-kod možda neće uvek funkcionisati. Toplo se preporučuje da umesto toga skeniraš bar-kod kamerom. Da li ipak želiš da nastaviš?</string>
<string name="continue_">Nastavi</string>
<string name="spend">Potroši</string>
<string name="receive">Primi</string>
<string name="amountParsingFailed">Nevažeći iznos</string>
<string name="addFromPdfFile">Odaberi PDF datoteku</string>
<string name="errorReadingFile">Nije moguće pročitati datoteku</string>
<string name="failedLaunchingFileManager">Nije moguće pronaći podržani menadžer datoteka</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Koji od pronađenih bar-kodova želiš da koristiš?</string>
<string name="importCancelled">Uvoz je otkazan</string>
<string name="exportCancelled">Izvoz je otkazan</string>
<string name="useFrontImage">Koristi prednju fotografiju</string>
<string name="useBackImage">Koristi zadnju fotografiju</string>
<string name="pageWithNumber">Strana <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Čini se da tvoj uređaj nema kameru. Ako je ima, pokušaj da ponovo pokreneš uređaj. U suprotnom, koristi dugme Više opcija, koje se nalazi ispod, da bi dodao bar-kod na drugi način.</string>
</resources>

View File

@@ -133,9 +133,6 @@
<string name="exportSuccessfulTitle">Exporten lyckades</string>
<string name="scanCardBarcode">Skanna streckkod</string>
<string name="settings_system_theme">Systemtemat</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>
<string name="privacy_policy">Integritetspolicy</string>
<string name="expiryStateSentenceExpired">Förföll: <xliff:g>%s</xliff:g></string>
<string name="chooseExpiryDate">Välj förfallodatum</string>
@@ -158,7 +155,6 @@
<string name="settings_locale">Språk</string>
<string name="app_contributors">Möjliggjordes av: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Brunt</string>
<string name="settings_grey_theme">Grått</string>
<string name="settings_green_theme">Grönt</string>
<string name="settings_sky_blue_theme">Himmelblått</string>
<string name="settings_blue_theme">Blått</string>
@@ -224,10 +220,6 @@
<item quantity="other"><xliff:g>%1$d</xliff:g> kort (<xliff:g id="archivedCount">%2$d</xliff:g> arkiverade)</item>
</plurals>
<string name="failedToOpenUrl">Installera en webbläsare först</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Visa arkiv (<xliff:g>%1$d</xliff:g> card)</item>
<item quantity="other">Visa arkiv (<xliff:g>%1$d</xliff:g> cards)</item>
</plurals>
<string name="welcome">Välkommen till Catima</string>
<string name="importCards">Importera kort</string>
<string name="cameraPermissionDeniedTitle">Kunde inte komma åt kamera</string>

View File

@@ -2,7 +2,6 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<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>
<string name="settings_green_theme">Yeşil</string>
<string name="settings_sky_blue_theme">Gök mavisi</string>
<string name="settings_blue_theme">Mavi</string>
@@ -50,9 +49,6 @@
\nBaşka bir Catima uygulamasının İçe/Dışa aktar menüsündeki \"Dışa aktar\" düğmesine basarak bir tane oluşturun.</string>
<string name="importCatima">Catima\'dan içe aktar</string>
<string name="accept">Kabul et</string>
<string name="privacy_policy_popup_text">Gizlilik politikası bildirimi (bazı uygulama mağazaları için gerekli):
\n
\nHİÇBİR VERİ TOPLANMAMAKTADIR ve uygulamamız özgür yazılım olduğu için bunu herkes doğrulayabilir.</string>
<string name="privacy_policy">Gizlilik Politikası</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Verileri şuradan içe aktar</string>
@@ -225,10 +221,6 @@
<string name="previousCard">Önceki</string>
<string name="nextCard">Sonraki</string>
<string name="failedToOpenUrl">Önce bir web tarayıcısı kurun</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Arşivi görüntüle (<xliff:g>%1$d</xliff:g> kart)</item>
<item quantity="other">Arşivi görüntüle (<xliff:g>%1$d</xliff:g> kart)</item>
</plurals>
<string name="welcome">Catima\'ya Hoş Geldiniz</string>
<string name="failedToRetrieveImageFile">Resim dosyası alınamadı</string>
<string name="barcodeLongPressMessage">Galeri uygulamasında yalnızca resimler açılabilir</string>
@@ -295,4 +287,9 @@
<string name="addFromPdfFile">PDF dosyası seç</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Bulunan barkodlardan hangisini kullanmak istiyorsunuz?</string>
<string name="pageWithNumber">Sayfa <xliff:g>%d</xliff:g></string>
<string name="noCameraFoundGuideText">Aygıtınızda kamera yok gibi görünüyor. Eğer varsa, aygıtı yeniden başlatmayı deneyin. Aksi takdirde, barkodu başka bir şekilde eklemek için aşağıdaki daha fazla seçenek düğmesini kullanın.</string>
<string name="importCancelled">İçe aktarma iptal edildi</string>
<string name="exportCancelled">Dışa aktarma iptal edildi</string>
<string name="useFrontImage">Ön resmi kullan</string>
<string name="useBackImage">Arka resmi kullan</string>
</resources>

View File

@@ -1,8 +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="privacy_policy_popup_text">Політика конфіденційності (вимагається деякими магазинами):
\n
\nЖОДНОЇ ІНФОРМАЦІЇ НЕ ЗБИРАЄТЬСЯ, що може підтвердити будь-хто, адже наш застосунок це вільне програмне забезпечення.</string>
<string name="noGiftCards">Натисніть кнопку +, щоб додати картку, або ⋮ для імпорту з меню.</string>
<string name="settings_display_barcode_max_brightness">Яскравіший штрих-код</string>
<string name="selectBarcodeTitle">Оберіть штрих-код</string>
@@ -172,7 +169,6 @@
<string name="settings_system_locale">Системна</string>
<string name="settings_locale">Мова</string>
<string name="settings_brown_theme">Коричневий</string>
<string name="settings_grey_theme">Сірий</string>
<string name="settings_green_theme">Зелений</string>
<string name="settings_sky_blue_theme">Небесно-синій</string>
<string name="app_contributors">Стало можливим завдяки: <xliff:g id="app_contributors">%s</xliff:g></string>
@@ -236,12 +232,6 @@
<string name="failedLaunchingPhotoPicker">Підтримуваний застосунок галереї не знайдено</string>
<string name="previousCard">Попередня</string>
<string name="nextCard">Наступна</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">Переглянути архів (<xliff:g>%1$d</xliff:g> картка)</item>
<item quantity="few">Переглянути архів (<xliff:g>%1$d</xliff:g> картки)</item>
<item quantity="many">Переглянути архів (<xliff:g>%1$d</xliff:g> карток)</item>
<item quantity="other">Переглянути архів (<xliff:g>%1$d</xliff:g> карток)</item>
</plurals>
<string name="failedToOpenUrl">Спочатку встановіть браузер</string>
<string name="welcome">Ласкаво просимо до Catima</string>
<string name="failedToRetrieveImageFile">Збій доступу до файлу зображення</string>
@@ -309,4 +299,9 @@
<string name="spend">Витратити</string>
<string name="receive">Отримайте</string>
<string name="amountParsingFailed">Неправильна сума</string>
<string name="noCameraFoundGuideText">Ваш пристрій може не мати камери. перезавантажте пристрій, якщо це не так. В іншому випадку додайте штрих-код за допомогою кнопки \"Більше опцій\".</string>
<string name="importCancelled">Імпортування скасовано</string>
<string name="exportCancelled">Експортування скасовано</string>
<string name="useFrontImage">Використати фронтальне зображення</string>
<string name="useBackImage">Використати зворотне зображення</string>
</resources>

View File

@@ -2,9 +2,6 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="translate_platform">trên Weblate</string>
<string name="failedOpeningFileManager">Cài đặt trình quản lý tập tin trước đã.</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="other">Xem lưu trữ (<xliff:g>%1$d</xliff:g> thẻ)</item>
</plurals>
<string name="intent_import_card_from_url_share_multiple_text">Tôi muốn chia sẻ vài cái thẻ với bạn</string>
<string name="card_id_must_not_be_empty">ID thẻ không thể bỏ trống</string>
<string name="duplicateCard">Tạo bản sao</string>
@@ -115,9 +112,6 @@
<string name="turn_flashlight_off">Tắt đèn pin</string>
<string name="show_note">Hiện ghi chú</string>
<string name="report_error">Báo Lỗi</string>
<string name="privacy_policy_popup_text">Thông báo về chính sách quyền riêng tư (yêu cầu bởi vài cửa hàng ứng dụng)
\n
\nKHÔNG BẤT KỲ DỮ LIỆU NÀO BỊ THU THẬP, bất cứ ai cũng có thể xác nhận điều này vì ứng dụng của chúng tôi là phần mền mã nguồn mở.</string>
<string name="passwordRequired">Xin mời nhập mật khẩu</string>
<string name="settings_follow_system_orientation">Hệ thống theo dõi</string>
<string name="intent_import_card_from_url_share_text">Tôi muốn chia sẻ thẻ với bạn</string>
@@ -158,7 +152,6 @@
<string name="setBarcodeHeight">Đặt chiều cao cho mã vạch</string>
<string name="settings_landscape_orientation">Ngang</string>
<string name="privacy_policy">Chính Sách Quyền Riêng Tư</string>
<string name="settings_grey_theme">Màu xám</string>
<string name="enter_group_name">Nhập tên nhóm</string>
<string name="importStocardMessage">Chọn <i>***.zip</i> được xuất từ Stocard để nhập liệu.
\nLấy tập tin này bằng cách gửi thư yêu cầu xuất dữ liệu đến support@stocardapp.com.</string>
@@ -288,4 +281,5 @@
<string name="pageWithNumber">Page <xliff:g>%d</xliff:g></string>
<string name="multipleBarcodesFoundPleaseChooseOne">Bạn muốn sử dụng mã vạch nào được tìm thấy?</string>
<string name="failedLaunchingFileManager">Không thể tìm thấy trình quản lý tệp được hỗ trợ</string>
<string name="noCameraFoundGuideText">Có vẻ như thiết bị của bạn không có camera. Nếu có, hãy thử khởi động lại thiết bị. Nếu không, hãy sử dụng nút Tùy chọn khác bên dưới để thêm mã vạch theo cách khác.</string>
</resources>

View File

@@ -32,9 +32,6 @@
\n先按另一个 Catima 应用程序导入/导出菜单中“导出”创建文件。</string>
<string name="importCatima">从 Catima 导入</string>
<string name="accept">接受</string>
<string name="privacy_policy_popup_text">隐私政策通知(一些应用程序商店要求)。
\n
\n本应用没有收集任何数据任何人都可以查阅源码来确认因为本软件是自由软件。</string>
<string name="privacy_policy">隐私政策</string>
<string name="app_loyalty_card_keychain">会员卡卡包</string>
<string name="chooseImportType">数据导入源</string>
@@ -169,7 +166,6 @@
<string name="source_repository">源码库</string>
<string name="include_if_asking_support">请求帮助时,请填写下列信息:</string>
<string name="exportPasswordHint">输入密码</string>
<string name="settings_grey_theme">灰色</string>
<string name="sort">排序</string>
<string name="version_history">历史版本</string>
<string name="rate_this_app">给这个应用评分</string>
@@ -223,9 +219,6 @@
<string name="welcome">欢迎使用Catima</string>
<string name="updateBalanceHint">输入金额</string>
<string name="importCards">导入卡</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="other">查看存档(<xliff:g>%1$d</xliff:g> 张卡片)</item>
</plurals>
<string name="updateBalance">更新余额</string>
<string name="updateBalanceTitle">你支出或者收到了多少钱?</string>
<string name="currentBalanceSentence">当前余额:<xliff:g>%s</xliff:g></string>
@@ -288,4 +281,9 @@
<string name="pageWithNumber"><xliff:g>%d</xliff:g></string>
<string name="addFromPdfFile">选择 PDF 文件</string>
<string name="multipleBarcodesFoundPleaseChooseOne">找到的多个条形码中,你希望使用哪个?</string>
<string name="noCameraFoundGuideText">你的设备似乎没有相机。如果的确如此,请尝试重启设备。否则,使用下方的“更多”按钮以另一种方式添加条形码。</string>
<string name="importCancelled">取消了导入</string>
<string name="exportCancelled">取消了导出</string>
<string name="useFrontImage">使用正面图</string>
<string name="useBackImage">使用背面图</string>
</resources>

View File

@@ -9,9 +9,6 @@
<string name="cardId">卡片 ID</string>
<string name="barcodeType">條碼種類</string>
<string name="noBarcode">無條碼</string>
<string name="privacy_policy_popup_text">隱私權政策(某些應用程式商店需要此條目):
\n
\n我們並不會收集任何資料任何人都可以檢視我們的原始碼並驗證這點。</string>
<string name="star">新增至收藏</string>
<string name="app_license">公共版權Copylefted的自由軟體許可 GPLv3+</string>
<string name="unstar">從收藏中移除</string>
@@ -87,7 +84,6 @@
<string name="settings_blue_theme">藍色</string>
<string name="settings_sky_blue_theme">天空藍</string>
<string name="settings_green_theme">綠色</string>
<string name="settings_grey_theme">灰色</string>
<string name="settings_brown_theme">棕色</string>
<string name="sort_by_name">名稱</string>
<string name="sort_by_most_recently_used">最近使用</string>
@@ -220,9 +216,6 @@
<string name="previousCard">上一張</string>
<string name="nextCard">下一張</string>
<string name="welcome">歡迎使用 Catima</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="other">檢視封存(<xliff:g>%1$d</xliff:g> 張卡片)</item>
</plurals>
<string name="settings_lock_on_opening_orientation">開啟卡片時鎖定的方向</string>
<string name="importCards">導入卡片</string>
<string name="noCameraPermissionDirectToSystemSetting">Catima 需要鏡頭使用權才能夠掃描條碼, 點擊這裏更變你的權限設定。</string>
@@ -234,7 +227,7 @@
<string name="cameraPermissionRequired">這個行動需要使用鏡頭的權限…</string>
<string name="cameraPermissionDeniedTitle">不能使用鏡頭</string>
<string name="updateBalance">更新餘額</string>
<string name="updateBalanceTitle">了多少?</string>
<string name="updateBalanceTitle">花費或收到了多少</string>
<string name="updateBalanceHint">輸入金額</string>
<string name="currentBalanceSentence">餘額:<xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">新的餘額:<xliff:g>%s</xliff:g></string>
@@ -282,4 +275,14 @@
<string name="errorReadingFile">無法讀取此檔案</string>
<string name="receive">接收</string>
<string name="amountParsingFailed">無效的數值</string>
<string name="continue_">繼續</string>
<string name="multipleBarcodesFoundPleaseChooseOne">你想要使用哪個找到的條碼?</string>
<string name="pageWithNumber"><xliff:g>%d</xliff:g></string>
<string name="add_manually_warning_message">對於某些商店,條碼值與卡片上寫的數字並不相同。因此,手動輸入條碼可能並不總是有效。強烈建議使用相機掃描條碼。你還想繼續嗎?</string>
<string name="spend">花費</string>
<string name="noCameraFoundGuideText">您的裝置似乎沒有相機鏡頭。如果實際上有相機鏡頭,請嘗試重新啟動此裝置,否則請點選下方的「更多」按鈕,以其它方式新增條碼。</string>
<string name="exportCancelled">已取消匯出</string>
<string name="importCancelled">已取消匯入</string>
<string name="useFrontImage">使用正面圖片</string>
<string name="useBackImage">使用背面圖片</string>
</resources>

View File

@@ -21,7 +21,6 @@
<!-- Padding for layouts-->
<dimen name="activity_scanner_padding">10dp</dimen>
<dimen name="alert_dialog_content_padding">@dimen/mtrl_alert_dialog_picker_background_inset</dimen>
<dimen name="alert_dialog_title_padding">8dp</dimen>
<!-- The default letter tile text size -->
<dimen name="tileLetterFontSize">66sp</dimen>
<dimen name="tileLetterFontSizeForShortcut">48dp</dimen>

View File

@@ -81,8 +81,10 @@
<item>eo</item>
<item>es</item>
<item>es-rAR</item>
<item>et</item>
<!-- <item>fa</item> -->
<item>fi</item>
<!-- <item>fil</item> -->
<item>fr</item>
<item>he-rIL</item>
<item>hi</item>
@@ -103,11 +105,13 @@
<item>nl</item>
<item>oc</item>
<item>pl</item>
<item>pt-rBR</item>
<item>pt-rPT</item>
<item>ro-rRO</item>
<item>ru</item>
<item>sk</item>
<item>sl</item>
<item>sr</item>
<item>sv</item>
<!-- <item>ti</item> -->
<item>tr</item>

View File

@@ -122,7 +122,6 @@
<string name="settings_key_allow_content_provider_read" translatable="false">pref_allow_content_provider_read</string>
<string name="settings_key_oled_dark" translatable="false">pref_oled_dark</string>
<string name="sharedpreference_active_tab" translatable="false">sharedpreference_active_tab</string>
<string name="sharedpreference_privacy_policy_shown" translatable="false">sharedpreference_privacy_policy_shown</string>
<string name="sharedpreference_sort" translatable="false">sharedpreference_sort</string>
<string name="sharedpreference_sort_order" translatable="false">sharedpreference_sort_order</string>
<string name="sharedpreference_sort_direction" translatable="false">sharedpreference_sort_direction</string>
@@ -181,7 +180,6 @@
<string name="chooseImportType">Import data from</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy">Privacy Policy</string>
<string name="privacy_policy_popup_text">Privacy policy notice (required by some app stores):\n\nNO DATA IS COLLECTED AT ALL, which anyone can confirm since our app is libre software.</string>
<string name="accept">Accept</string>
<string name="importCatima">Import from Catima</string>
<string name="importCatimaMessage">Select your <i>catima.zip</i> export from Catima to import.
@@ -237,7 +235,6 @@
<string name="settings_blue_theme">Blue</string>
<string name="settings_sky_blue_theme">Sky blue</string>
<string name="settings_green_theme">Green</string>
<string name="settings_grey_theme">Grey</string>
<string name="settings_brown_theme">Brown</string>
<string name="settings_key_catima_theme" translatable="false">catima_theme</string>
<string name="settings_key_pink_theme" translatable="false">pink_theme</string>
@@ -246,7 +243,6 @@
<string name="settings_key_blue_theme" translatable="false">blue_theme</string>
<string name="settings_key_sky_blue_theme" translatable="false">sky_blue_theme</string>
<string name="settings_key_green_theme" translatable="false">green_theme</string>
<string name="settings_key_grey_theme" translatable="false">grey_theme</string>
<string name="settings_key_brown_theme" translatable="false">brown_theme</string>
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Sort</string>
@@ -290,10 +286,6 @@
<string name="previousCard">Previous</string>
<string name="nextCard">Next</string>
<string name="failedToOpenUrl">Install a web browser first</string>
<plurals name="viewArchivedCardsWithCount">
<item quantity="one">View archive (<xliff:g>%1$d</xliff:g> card)</item>
<item quantity="other">View archive (<xliff:g>%1$d</xliff:g> cards)</item>
</plurals>
<string name="welcome">Welcome to Catima</string>
<string name="importCards">Import cards</string>
<string name="updateBalanceTitle">How much did you spend or receive?</string>
@@ -346,7 +338,9 @@
<string name="failedLaunchingFileManager">Could not find a supported file manager</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Which of the found barcodes do you want to use?</string>
<string name="pageWithNumber">Page <xliff:g>%d</xliff:g></string>
<string name="exportStartedCheckNotifications">Export started, check your notifications for the result</string>
<string name="importStartedCheckNotifications">Import started, check your notifications for the result</string>
<string name="postNotificationsPermissionRequired">Permission to show notifications needed for this action…</string>
<string name="noCameraFoundGuideText">Your device does not seem to have a camera. If it does, try rebooting the device. Otherwise, use the "More options" button below to add a barcode another way.</string>
<string name="importCancelled">Import cancelled</string>
<string name="exportCancelled">Export cancelled</string>
<string name="useFrontImage">Use front image</string>
<string name="useBackImage">Use back image</string>
</resources>

View File

@@ -13,6 +13,7 @@
<locale android:name="eo" />
<locale android:name="es" />
<locale android:name="es-AR" />
<locale android:name="et" />
<locale android:name="fi" />
<locale android:name="fr" />
<locale android:name="he-IL" />
@@ -30,11 +31,13 @@
<locale android:name="nl" />
<locale android:name="oc" />
<locale android:name="pl" />
<locale android:name="pt-BR" />
<locale android:name="pt-PT" />
<locale android:name="ro-RO" />
<locale android:name="ru" />
<locale android:name="sk" />
<locale android:name="sl" />
<locale android:name="sr" />
<locale android:name="sv" />
<locale android:name="tr" />
<locale android:name="uk" />

View File

@@ -574,6 +574,72 @@ public class ImportExportTest {
}
}
class TestTaskCompleteListener implements ImportExportTask.TaskCompleteListener {
ImportExportResult result;
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
this.result = result;
}
}
@Test
@LooperMode(LooperMode.Mode.PAUSED)
public void useImportExportTask() throws FileNotFoundException {
final int NUM_CARDS = 10;
final File sdcardDir = Environment.getExternalStorageDirectory();
final File exportFile = new File(sdcardDir, "Catima.csv");
TestHelpers.addLoyaltyCards(mDatabase, NUM_CARDS);
TestTaskCompleteListener listener = new TestTaskCompleteListener();
// Export to the file
final String password = "123456789";
FileOutputStream fileOutputStream = new FileOutputStream(exportFile);
ImportExportTask task = new ImportExportTask(activity, DataFormat.Catima, fileOutputStream, password.toCharArray(), listener);
TaskHandler mTasks = new TaskHandler();
mTasks.executeTask(TaskHandler.TYPE.EXPORT, task);
// Actually run the task to completion
mTasks.flushTaskList(TaskHandler.TYPE.EXPORT, false, false, true);
shadowOf(Looper.getMainLooper()).idleFor(Duration.ofMillis(5000));
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// Check that the listener was executed
assertNotNull(listener.result);
assertEquals(ImportExportResultType.Success, listener.result.resultType());
TestHelpers.getEmptyDb(activity);
// Import everything back from the default location
listener = new TestTaskCompleteListener();
FileInputStream fileStream = new FileInputStream(exportFile);
task = new ImportExportTask(activity, DataFormat.Catima, fileStream, password.toCharArray(), listener);
mTasks.executeTask(TaskHandler.TYPE.IMPORT, task);
// Actually run the task to completion
// I am CONVINCED there must be a better way than to wait on this Queue with a flush.
mTasks.flushTaskList(TaskHandler.TYPE.IMPORT, false, false, true);
shadowOf(Looper.getMainLooper()).idleFor(Duration.ofMillis(5000));
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// Check that the listener was executed
assertNotNull(listener.result);
assertEquals(ImportExportResultType.Success, listener.result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
checkLoyaltyCards();
// Clear the database for the next format under test
TestHelpers.getEmptyDb(activity);
}
@Test
public void importWithoutColorsV1() {
InputStream inputStream = getClass().getResourceAsStream("catima_v1_no_colors.csv");

View File

@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id("com.android.application") version "8.4.1" apply false
id("com.android.application") version "8.5.2" apply false
id("com.github.spotbugs") version "5.1.4" apply false
}

View File

@@ -2,11 +2,11 @@
Copylefted libre software (GPLv3+) card management app.
[![GitHub Version](https://img.shields.io/github/v/release/TheLastProject/Catima.svg?logo=github&label=GitHub)](https://github.com/TheLastProject/Catima/releases)
[![GitHub Version](https://img.shields.io/github/v/release/CatimaLoyalty/Android.svg?logo=github&label=GitHub)](https://github.com/CatimaLoyalty/Android/releases)
[![IzzyOnDroid Version](https://img.shields.io/endpoint?url=https://apt.izzysoft.de/fdroid/api/v1/shield/me.hackerchick.catima)](https://apt.izzysoft.de/fdroid/index/apk/me.hackerchick.catima)
[![Google Play Store Version](https://img.shields.io/endpoint?color=blue&logo=google-play&url=https%3A%2F%2Fplay.cuzi.workers.dev%2Fplay%3Fi%3Dme.hackerchick.catima%26l%3DGoogle%2520Play%26m%3D%24version)](https://play.google.com/store/apps/details?id=me.hackerchick.catima)
![Android CI](https://github.com/TheLastProject/Catima/workflows/Android%20CI/badge.svg)
![Android CI](https://github.com/CatimaLoyalty/Android/workflows/Android%20CI/badge.svg)
[![Translation status](https://hosted.weblate.org/widgets/catima/-/svg-badge.svg)](https://hosted.weblate.org/engage/catima/)
[![Matrix](https://img.shields.io/matrix/catima%3Amatrix.org)](https://matrix.to/#/%23catima:matrix.org)
@@ -17,7 +17,7 @@ Copylefted libre software (GPLv3+) card management app.
<a href="https://play.google.com/store/apps/details?id=me.hackerchick.catima" target="_blank">
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="90"/></a>
[![Feature graphic](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/featureGraphic.png)](https://catima.app/)
[![Feature graphic](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/featureGraphic.png)](https://catima.app/)
*Logo by [Rose (TangentFoxy)](https://github.com/TangentFoxy), feature graphic by [Ziad OUALHADJ](https://github.com/ziadOUA)*
@@ -41,14 +41,14 @@ Supported barcodes:
# Screenshots
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-01.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-01.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-02.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-02.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-03.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-03.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-04.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-04.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-05.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-05.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-06.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-06.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-07.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-07.png)
[<img src="https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-08.png" width=250>](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-08.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-01.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-01.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-02.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-02.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-03.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-03.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-04.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-04.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-05.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-05.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-06.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-06.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-07.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-07.png)
[<img src="https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-08.png" width=250>](https://github.com/CatimaLoyalty/Android/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot-08.png)
# Moving data from other apps

View File

@@ -0,0 +1,3 @@
- Podpora skenování PDF souborů pro čárový kód
- Podpora obrazových souborů s více čárovými kódy
- Drobné UI opravy

View File

@@ -0,0 +1 @@
- Různé opravy a vylepšení

View File

@@ -1,5 +1,5 @@
- Wenn du eine Karten-ID bearbeitest, wird die vorhandene ID zu Beginn ausgefüllt. (Pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
- Begrenzen der Breite der erzeugten Barcodes, um die Speichernutzung und Fehler durch Speicherüberschreitung zu reduzieren. (Pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
- Beim Bearbeiten einer Karte wird die Schaltfläche "Karte eingeben" in "Karte bearbeiten" geändert, wenn bereits eine Karten-ID existiert. (Pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
- Farbschema angepasst so, dass mit dem App-Symbol kompatibel ist und das Layout beim Anzeigen einer Karte übersichtlicher gestaltet. (Pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
- Hinzufügen eines Intro-Assistenten, der beim ersten Start der App gestartet wird. (Pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))
- Karten-ID beim Bearbeiten vorab ausfüllen. (Pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
- Barcode-Breite begrenzen, um Speicherprobleme zu vermeiden. (Pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
- Bearbeiten“ statt „Hinzufügen“ bei existierender ID anzeigen. (Pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
- Farbschema und Layout überarbeitet. (Pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
- Einführungsassistent bei der ersten Nutzung hinzugefügt. (Pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))

View File

@@ -1,7 +1,7 @@
- Arabisch wird unterstützt
- Anzeige der archivierten Kartenanzahl in der Gruppenübersicht
- Guthabenanalyse - Fehler beseitigt (Arabisch bzw. Sprachen mit nicht-westlichen Zahlen wurden nicht gespeichert)
- Benutzerdefiniertes Thema wird nun korrekt auf dem Hauptbildschirm gezeigt
- Verbesserte Anzeige ausgewählter Karten
- Kein Absturz beim Verlassen der Kartenansicht bei Karten mit Ablaufdatum/Guthaben
- Rückwärtspfeil in der Kartenansicht zeigt nicht mehr die falsche Richtung (RTL-Layout)
- Arabisch hinzugefügt
- Archivierte Kartenanzahl anzeigen
- Fehler beim Parsen der Salden behoben
- Theme auf Hauptbildschirm korrigiert
- Anzeige der ausgewählten Karten verbessert
- Absturz bei RTL-Layouts behoben
- Zurück-Pfeil in RTL-Layouts korrigiert

View File

@@ -1,2 +1,2 @@
- Eine Änderung in v0.11 reduzierte die Speichernutzung beim Zeichnen von Barcodes, wirkte sich aber auf die Barcode-Abmessungen aus. Dies wurde nun geändert, um die Barcode-Abmessungen beizubehalten und gleichzeitig die Speichernutzung zu reduzieren. (Pull #126 (https://github.com/brarcher/loyalty-card-locker/pull/126))
- Aktualisierung der deutschen und franz. Übersetzungen. (pull #122 (https://github.com/brarcher/loyalty-card-locker/pull/122), pull #124 (https://github.com/brarcher/loyalty-card-locker/pull/124), pull #125 (https://github.com/brarcher/loyalty-card-locker/pull/125))
- Änderung in v0.11: Barcode-Dimensionen beibehalten und gleichzeitig den Speicherverbrauch reduzieren. (Pull #126 (https://github.com/brarcher/loyalty-card-locker/pull/126))
- Deutsche und französische Übersetzungen aktualisiert. (Pull #122 (https://github.com/brarcher/loyalty-card-locker/pull/122), Pull #124 (https://github.com/brarcher/loyalty-card-locker/pull/124), Pull #125 (https://github.com/brarcher/loyalty-card-locker/pull/125))

View File

@@ -0,0 +1,3 @@
- Unterstützung für das Scannen von PDF-Dateien nach Barcodes
- Unterstützung für Bilddateien mit mehreren Barcodes
- Kleinere UI-Korrekturen

View File

@@ -0,0 +1 @@
- Verschiedene Fehlerbehebungen und Verbesserungen bei der Handhabung der Balance

View File

@@ -0,0 +1,4 @@
- Unterstützung für die Erstellung einer Karte beim Teilen von einfachem Text
- Anzeige des Bildtyps anstelle des Barcodes unter Bildern
- Behebung eines möglichen Absturzes beim Versuch, ein Backup aus der Nextcloud-App zu importieren
- Verbesserte Unterstützung für Geräte ohne Kamera

View File

@@ -0,0 +1,3 @@
- Lange Store-Namen in der Vorschau auf mehrere Zeilen aufteilen
- Vorder- oder Hintergrundbild im Thumbnail-Menü verwenden
- Kleine Fehlerbehebungen bei Import/Export

View File

@@ -1,3 +1,3 @@
- Hinzufügen einer Menüoption zum Sperren der Bildschirmdrehung, wenn eine Karte angezeigt wird. Wenn sie gesperrt ist, wird der Bildschirm in seine "natürliche" Ausrichtung übergehen und eine weitere Bildschirmdrehung wird blockiert (Pull #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))
- Wenn eine Karte auf dem Hauptbildschirm ausgewählt wird, aber nicht geladen werden kann, schlägt die Anwendung fehl und gibt eine Meldung aus. (Pull #132 (https://github.com/brarcher/loyalty-card-locker/pull/132))
- Der Fall, dass Layout-IDs für den Intro-Assistenten nicht gefunden werden konnten, wurde behoben. (pull #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))
- Menüoption zum Sperren der Bildschirmdrehung beim Anzeigen einer Karte hinzugefügt. (Pull #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))
- Wenn eine Karte nicht geladen werden kann, zeigt die App eine Fehlermeldung an. (Pull #132 (https://github.com/brarcher/loyalty-card-locker/pull/132))
- Fehler bei fehlenden Layout-IDs für das Einführungstutorial behoben. (Pull #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))

View File

@@ -1,5 +1,5 @@
- Unterstützung für das Hinzufügen von Shortcuts zum Startbildschirm beim Hinzufügen oder Bearbeiten einer Karte. (Pull #155 (https://github.com/brarcher/loyalty-card-locker/pull/155))
- Widget entfernen, da es ein schlechter Ersatz für Shortcuts war. (Pull #155 (https://github.com/brarcher/loyalty-card-locker/pull/155))
- Exportieren von Backups unter Android 7+ korrigiert. (pull #153 (https://github.com/brarcher/loyalty-card-locker/pull/153))
- Genauere Angabe des Mime-Typs beim Exportieren von Sicherungsdaten. (pull #156 (https://github.com/brarcher/loyalty-card-locker/pull/156))
- Behebt einen Fehler, bei dem eine Karte nicht bearbeitet werden konnte. (pull #155 (https://github.com/brarcher/loyalty-card-locker/pull/155))
- Unterstützung für Home-Screen-Shortcuts beim Hinzufügen oder Bearbeiten einer Karte. (Pull #155 (https://github.com/brarcher/loyalty-card-locker/pull/155))
- Widget entfernt, da es keine gute Alternative zu Shortcuts war. (Pull #155 (https://github.com/brarcher/loyalty-card-locker/pull/155))
- Fehler beim Export von Backups auf Android 7+ behoben. (Pull #153 (https://github.com/brarcher/loyalty-card-locker/pull/153))
- Genaueren MIME-Typ beim Export von Backup-Daten gemeldet. (Pull #156 (https://github.com/brarcher/loyalty-card-locker/pull/156))
- Fehler beim Bearbeiten von Karten behoben. (Pull #155 (https://github.com/brarcher/loyalty-card-locker/pull/155))

View File

@@ -1,12 +1,12 @@
- Möglichkeit nach einer Karte zu suchen (#320 (https://github.com/brarcher/loyalty-card-locker/pull/320))
- Möglichkeit Treuekarten weiterzugeben und zu empfangen (#321 (https://github.com/brarcher/loyalty-card-locker/pull/321))
- Unterstützung des dunklen Modus (#322 (https://github.com/brarcher/loyalty-card-locker/pull/322))
- Treuekarten können jetzt barcodefrei sein (d.h. keinen Barcode haben) (#324 (https://github.com/brarcher/loyalty-card-locker/pull/324))
- Notizen können sich über mehrere Zeilen erstrecken (#326 (https://github.com/brarcher/loyalty-card-locker/pull/326))
- Größe von Notizen verbessert (#319 (https://github.com/brarcher/loyalty-card-locker/pull/319))
- Sichtbarkeit von Benachrichtigungen und App-Symbolen verbessert (#330 (https://github.com/brarcher/loyalty-card-locker/pull/330))
- Ziel-SDK auf Android 10 gesetzt
- Verbesserte Übersetzungen:
- Suche nach Karten hinzugefügt. (#320 (https://github.com/brarcher/loyalty-card-locker/pull/320))
- Karten teilen und empfangen möglich. (#321 (https://github.com/brarcher/loyalty-card-locker/pull/321))
- Unterstützung für den Dunkelmodus. (#322 (https://github.com/brarcher/loyalty-card-locker/pull/322))
- Treuekarten können jetzt ohne Barcode gespeichert werden. (#324 (https://github.com/brarcher/loyalty-card-locker/pull/324))
- Notizen können mehrere Zeilen umfassen. (#326 (https://github.com/brarcher/loyalty-card-locker/pull/326))
- Verbesserungen bei der Notizgröße. (#319 (https://github.com/brarcher/loyalty-card-locker/pull/319))
- Benachrichtigungen und App-Icon sichtbarer gemacht. (#330 (https://github.com/brarcher/loyalty-card-locker/pull/330))
- Ziel-SDK auf Android 10 aktualisiert.
- Übersetzungen verbessert:
- Deutsch
- Italienisch
- Niederländisch

View File

@@ -1,11 +1,11 @@
- BREAKING CHANGE: Das Backupformat hat sich geändert, siehe https://github.com/TheLastProject/Catima/wiki/Export-format
- BREAKING CHANGE: Das URL-Sharing-Format wurde geändert, siehe https://github.com/TheLastProject/Catima/wiki/Card-sharing-URL-format
- Aktivieren/Deaktivieren der Taschenlampe während des Scannens ermöglicht
- UPC-E-Unterstützung
- Hinzufügen eines Vorder- und Rückseitenfotos zu jeder Karte
- Imports passwortgeschützter Zip-Dateien
- Imports von Stocard (Beta)
- Unnötige Leerzeichen in Notizen aus dem Fidme-Import korrigiert
- Unterstützung des neuen Voucher Vault-Exportformats
- Aktionsschaltflächen repariert, die sich hinter anderen UI-Elementen auf Android 4 befanden
- Oberer Rand der Treuekarten Leiste repariert
- BREAKING CHANGE: Backup-Format geändert, siehe https://github.com/TheLastProject/Catima/wiki/Export-format
- BREAKING CHANGE: URL-Sharing-Format geändert, siehe https://github.com/TheLastProject/Catima/wiki/Card-sharing-URL-format
- Taschenlampe beim Scannen an/aus
- UPC-E-Unterstützung hinzugefügt
- Fotos von Vorder- und Rückseite der Karte hinzufügen
- Passwortgeschützte Zip-Dateien importieren
- Stocard-Import (Beta) unterstützt
- Leerzeichen bei Fidme-Import entfernt
- Neues Voucher Vault-Format unterstützt
- Floating Action Buttons auf Android 4 repariert
- Oberer Rand der Appbar repariert

View File

@@ -1,4 +1,4 @@
- Bildschirmhelligkeit wird beim Anzeigen einer Karte auf das Maximum erhöht, um das Scannen zu verbessern. (pull #54 (https://github.com/brarcher/loyalty-card-locker/pull/54))
- Bestätigung beim Löschen einer Karte. (pull #55 (https://github.com/brarcher/loyalty-card-locker/pull/55))
- Deutsche Übersetzung (pull #57 (https://github.com/brarcher/loyalty-card-locker/pull/57)) und Tschechisch (pull #58 (https://github.com/brarcher/loyalty-card-locker/pull/58)) hinzugefügt.
- Vereinfachung der italienischen Übersetzung. (pull #66 (https://github.com/brarcher/loyalty-card-locker/pull/66))
- Bildschirmhelligkeit auf Maximum beim Anzeigen einer Karte. (Pull #54 (https://github.com/brarcher/loyalty-card-locker/pull/54))
- Bestätigung beim Löschen von Karten hinzugefügt. (Pull #55 (https://github.com/brarcher/loyalty-card-locker/pull/55))
- Deutsche (Pull #57 (https://github.com/brarcher/loyalty-card-locker/pull/57)) und tschechische (Pull #58 (https://github.com/brarcher/loyalty-card-locker/pull/58)) Übersetzungen hinzugefügt.
- Italienische Übersetzung verbessert. (Pull #66 (https://github.com/brarcher/loyalty-card-locker/pull/66))

View File

@@ -1,7 +1,7 @@
Der "Locker" -Teil des Namens war nicht intuitiv. Um dies zu ändern, wurde von betsythefc ein neues Anwendungssymbol erstellt, das den Zweck der Anwendung besser darstellt: die Speicherung von Kundenkarten, die Barcodes verwenden. Zusammen mit diesem neuen Symbol wurde der Name der Anwendung in "Kundenkarten-Schlüsselbund" geändert.
Der Name „Locker“ war missverständlich. Ein neues Icon von betsythefc und der neue Name „Loyalty Card Keychain“ verdeutlichen den Zweck der App.
Zusätzliche Funktionen/Verbesserungen:
- Das Importieren/Exportieren von Karten wurde flexibler gestaltet. (pull #76 (https://github.com/brarcher/loyalty-card-locker/pull/76))
- Übersetzung für Litauisch hinzugefügt. (pull #62 (https://github.com/brarcher/loyalty-card-locker/pull/62))
- Übersetzung für Französisch hinzugefügt. (pull #80 (https://github.com/brarcher/loyalty-card-locker/pull/80))
- Flexibleres Import/Export von Karten. (Pull #76 (https://github.com/brarcher/loyalty-card-locker/pull/76))
- Litauische Übersetzung hinzugefügt. (Pull #62 (https://github.com/brarcher/loyalty-card-locker/pull/62))
- Französische Übersetzung hinzugefügt. (Pull #80 (https://github.com/brarcher/loyalty-card-locker/pull/80))

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