Compare commits

...

126 Commits

Author SHA1 Message Date
TheLastProject
2abc8b8f64 Update contributors 2024-02-18 04:13:27 +00:00
Sylvia van Os
160e61ead4 Merge pull request #1739 from CatimaLoyalty/create-pull-request/patch-1708173432
Update Fastlane changelogs
2024-02-17 13:54:46 +01:00
TheLastProject
c2e8577674 Update Fastlane changelogs 2024-02-17 12:37:12 +00:00
Sylvia van Os
66b8f35994 Merge pull request #1738 from CatimaLoyalty/feature/tweak_photos_tab_edit_view
Improve layout of photos tab in card edit view
2024-02-17 13:37:01 +01:00
Sylvia van Os
b141009350 Improve layout of photos tab in card edit view 2024-02-17 13:30:01 +01:00
Sylvia van Os
0e8dd2fd64 Merge pull request #1737 from CatimaLoyalty/create-pull-request/patch-1708164520
Update Fastlane changelogs
2024-02-17 11:10:38 +01:00
TheLastProject
988336cfec Update Fastlane changelogs 2024-02-17 10:08:39 +00:00
Sylvia van Os
5e3668820b Merge pull request #1736 from CatimaLoyalty/feature/open_card_icon_in_gallery
Open card icon in gallery on touch
2024-02-17 11:08:27 +01:00
Sylvia van Os
81c919448e Open card icon in gallery on touch
If a card icon exists, open it in the gallery, like is done with photos.

While the intended behaviour was for users to use the card icon only as
a general... icon and use the photos tab in the card edit screen to set
photos, a 2 star review I just got on Google Play makes it clear some
people put pictures in there they want to be able to zoom.

While the usage seems limited, as icons are quite small, a simple tap
wasn't bound to anything except telling the user to long-press anyway so
this was very easy to add and felt logical enough to support for
consistency with photos.
2024-02-17 10:53:54 +01:00
Sylvia van Os
23ca0802cb Merge pull request #1735 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-14 17:56:00 +01:00
ikanakova
40c2337054 Translated using Weblate (Czech)
Currently translated at 100.0% (131 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2024-02-14 12:26:24 +01:00
Sylvia van Os
7db8b1602d Merge pull request #1734 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.1
Bump actions/upload-artifact from 4.3.0 to 4.3.1
2024-02-12 06:55:09 +01:00
dependabot[bot]
32b35382a6 Bump actions/upload-artifact from 4.3.0 to 4.3.1
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.0...v4.3.1)

---
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-02-12 02:30:41 +00:00
Sylvia van Os
3ec6cbe416 Merge pull request #1733 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-11 11:40:57 +01:00
ngocanhtve
90322f75ce Translated using Weblate (Vietnamese)
Currently translated at 99.6% (300 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2024-02-10 17:02:07 +01:00
Sylvia van Os
534c4001c1 Merge pull request #1732 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-09 17:53:17 +01:00
IllusiveMan196
e21030aed3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (131 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-02-09 00:55:55 +01:00
IllusiveMan196
d6d12174d5 Translated using Weblate (Ukrainian)
Currently translated at 99.6% (300 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-02-09 00:55:55 +01:00
Sylvia van Os
27e78dbadd Merge pull request #1731 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-08 18:12:15 +01:00
gallegonovato
0d520b48e1 Translated using Weblate (Spanish)
Currently translated at 46.5% (61 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2024-02-08 04:47:03 +01:00
Sylvia van Os
d7a49013ec Merge pull request #1730 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-07 19:42:07 +01:00
akinobu nishi
fc974e2038 Translated using Weblate (Japanese)
Currently translated at 78.4% (236 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-02-07 19:37:21 +01:00
Nikita Karamov
7144f60340 Translated using Weblate (German)
Currently translated at 91.6% (120 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-02-07 19:37:21 +01:00
J. Lavoie
883af7fd10 Translated using Weblate (French)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-02-07 19:37:21 +01:00
Sylvia van Os
fcb2be604c Optimize imports 2024-02-07 19:27:18 +01:00
Sylvia van Os
d24366a3ba Workaround import/export crash by locking orientation
While https://github.com/CatimaLoyalty/Android/issues/513 needs to be
fixed, this at very least prevents a crash with only mild user
inconvenience in a not commonly used activity
2024-02-07 19:18:46 +01:00
Sylvia van Os
a0aa19f26f Merge pull request #1729 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-06 19:20:38 +01:00
richard01000
589f009a65 Translated using Weblate (Romanian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-02-06 15:01:54 +01:00
Sylvia van Os
e849fd379e Merge pull request #1728 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-05 19:19:17 +01:00
Sylvia van Os
e28c5e877b Merge pull request #1727 from CatimaLoyalty/dependabot/github_actions/peter-evans/create-pull-request-6.0.0
Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0
2024-02-05 19:04:48 +01:00
Sylvia van Os
ae90b46c05 Merge pull request #1726 from CatimaLoyalty/dependabot/github_actions/gradle/wrapper-validation-action-2
Bump gradle/wrapper-validation-action from 1 to 2
2024-02-05 19:04:26 +01:00
Scrambled777
a8a1158b4b Translated using Weblate (Hindi)
Currently translated at 92.3% (121 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-02-05 09:25:13 +01:00
Scrambled777
8789be5340 Translated using Weblate (Hindi)
Currently translated at 88.5% (116 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-02-05 09:22:27 +01:00
Scrambled777
93af3dbc36 Translated using Weblate (Hindi)
Currently translated at 87.7% (115 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-02-05 09:22:27 +01:00
Scrambled777
96c111f0c8 Translated using Weblate (Hindi)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2024-02-05 09:22:27 +01:00
reimu105
89dca33ce8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2024-02-05 09:22:27 +01:00
dependabot[bot]
f9f1149bb5 Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5.0.2 to 6.0.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5.0.2...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 02:21:12 +00:00
dependabot[bot]
cfd5fbe3ae Bump gradle/wrapper-validation-action from 1 to 2
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 1 to 2.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/v1...v2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 02:21:10 +00:00
Sylvia van Os
028905df42 Merge pull request #1725 from CatimaLoyalty/create-pull-request/patch-1707019984
Update contributors
2024-02-04 09:33:52 +01:00
TheLastProject
3dd74fd674 Update contributors 2024-02-04 04:13:04 +00:00
Sylvia van Os
0af9549d02 Merge pull request #1724 from CatimaLoyalty/create-pull-request/patch-1706940956
Update Gradle to 8.6
2024-02-03 10:18:17 +01:00
Sylvia van Os
a367d24125 Merge pull request #1723 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-03 09:35:12 +01:00
TheLastProject
dfa0c36af5 Update Gradle to 8.6 2024-02-03 06:15:56 +00:00
大王叫我来巡山
66fcad7658 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (131 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-02-03 06:41:24 +01:00
Sylvia van Os
370ec55df1 Merge pull request #1722 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-02 17:32:18 +01:00
Jiri Grönroos
b03ead95ea Translated using Weblate (Finnish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2024-02-02 14:02:02 +01:00
大王叫我来巡山
90e6463688 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-02-02 14:02:02 +01:00
Sylvia van Os
80cfb516c0 Merge pull request #1721 from CatimaLoyalty/create-pull-request/patch-1706816801
Update Fastlane changelogs
2024-02-01 20:51:37 +01:00
TheLastProject
989cf31897 Update Fastlane changelogs 2024-02-01 19:46:40 +00:00
Sylvia van Os
caf9e163df Merge pull request #1720 from CatimaLoyalty/android14
Target Android 14
2024-02-01 20:46:26 +01:00
Sylvia van Os
8363115faf Target Android 14 2024-02-01 20:30:28 +01:00
Sylvia van Os
48cc286b14 Merge pull request #1719 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-01 07:02:32 +01:00
Hosted Weblate
07e7b56c9f Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/
2024-02-01 06:07:14 +01:00
Anonymous
4cac19acb9 Translated using Weblate (Lithuanian)
Currently translated at 1.5% (2 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/lt/
2024-02-01 06:07:04 +01:00
しいたけ
ed1db31d62 Translated using Weblate (Japanese)
Currently translated at 78.0% (235 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-02-01 06:07:04 +01:00
しいたけ
2a2a711375 Translated using Weblate (Japanese)
Currently translated at 78.4% (236 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-02-01 04:01:55 +01:00
Sylvia van Os
c96cef5298 Update fastlane 2024-01-31 17:36:48 +01:00
Sylvia van Os
8506c05081 Merge pull request #1718 from CatimaLoyalty/dependabot/gradle/com.google.zxing-core-3.5.3
Bump com.google.zxing:core from 3.5.2 to 3.5.3
2024-01-31 08:24:19 +01:00
dependabot[bot]
9adc6d0704 Bump com.google.zxing:core from 3.5.2 to 3.5.3
Bumps [com.google.zxing:core](https://github.com/zxing/zxing) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/zxing/zxing/releases)
- [Changelog](https://github.com/zxing/zxing/blob/master/CHANGES)
- [Commits](https://github.com/zxing/zxing/compare/zxing-3.5.2...zxing-3.5.3)

---
updated-dependencies:
- dependency-name: com.google.zxing:core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 02:16:44 +00:00
Sylvia van Os
ca62d542ef Update supported language count 2024-01-30 20:24:06 +01:00
Sylvia van Os
84c343e41f Release Catima v2.27.0 2024-01-30 19:10:40 +01:00
Sylvia van Os
d12283e75d Merge pull request #1716 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-30 18:57:29 +01:00
しいたけ
0297304751 Translated using Weblate (Japanese)
Currently translated at 77.0% (232 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-01-30 18:56:16 +01:00
Sylvia van Os
966846c507 Merge pull request #1714 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-29 18:55:38 +01:00
Oğuz Ersen
48de759eb0 Translated using Weblate (Turkish)
Currently translated at 72.3% (94 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2024-01-29 14:02:16 +01:00
Sylvia van Os
4e23fb4195 Merge pull request #1713 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.0
Bump actions/upload-artifact from 4.2.0 to 4.3.0
2024-01-29 06:42:53 +01:00
dependabot[bot]
1cfd04ba67 Bump actions/upload-artifact from 4.2.0 to 4.3.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.2.0...v4.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 02:51:02 +00:00
Sylvia van Os
c6f1e0cffe Merge pull request #1574 from obfusk/refactor-navbar-colour
Refactor navbar colour
2024-01-28 12:50:47 +01:00
Sylvia van Os
027d153747 Don't version-guard the background colour fix
All Android versions seem to need this for the main screen
2024-01-28 12:41:52 +01:00
FC (Fay) Stegerman
bd1376e6bf add activityOverridesNavBarColor to not set colour twice 2024-01-28 12:08:30 +01:00
FC (Fay) Stegerman
7fa8ae8697 refactor nav bar colour & colour patching 2024-01-28 12:08:30 +01:00
Sylvia van Os
0b01604c4e Merge pull request #1712 from CatimaLoyalty/create-pull-request/patch-1706415252
Update contributors
2024-01-28 08:53:53 +01:00
TheLastProject
d37dca7e7d Update contributors 2024-01-28 04:14:12 +00:00
Sylvia van Os
5eb2753168 Merge pull request #1711 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-27 23:26:29 +01:00
waffshappen
502e2e5e21 Translated using Weblate (German)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/de/
2024-01-27 21:26:47 +01:00
waffshappen
bbb2c0d81f Translated using Weblate (German)
Currently translated at 92.3% (120 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-01-27 21:26:47 +01:00
waffshappen
59e62c2805 Translated using Weblate (German)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-01-27 21:26:47 +01:00
Sylvia van Os
15d9a16ead Merge pull request #1710 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-27 17:29:55 +01:00
abdelbasset jabrane
e99cba7fcb Translated using Weblate (Arabic)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2024-01-27 15:35:52 +01:00
Oğuz Ersen
781b6ecc48 Translated using Weblate (Turkish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2024-01-27 15:35:52 +01:00
akinobu nishi
ec8536976f Translated using Weblate (Japanese)
Currently translated at 4.6% (6 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ja/
2024-01-27 15:35:52 +01:00
akinobu nishi
2f9101e9f2 Translated using Weblate (Japanese)
Currently translated at 76.0% (229 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-01-27 15:35:52 +01:00
Sylvia van Os
0cc2fd44ac Merge pull request #1708 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-25 21:12:41 +01:00
Eva Pelko
6db4cbab9b Translated using Weblate (Croatian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2024-01-25 21:01:55 +01:00
CPavRou
0b2111b6f0 Translated using Weblate (French)
Currently translated at 99.0% (298 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-01-25 21:01:55 +01:00
Sylvia van Os
b3f118ef15 Merge pull request #1707 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-24 17:26:52 +01:00
Irham Mustofa
db8a652e5b Translated using Weblate (Indonesian)
Currently translated at 96.9% (126 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2024-01-24 16:02:04 +01:00
Irham Mustofa
d7a4f81eba Translated using Weblate (Indonesian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2024-01-24 16:02:04 +01:00
Zbigniew Kosowski
d0c0694662 Translated using Weblate (Polish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2024-01-24 16:02:04 +01:00
Sylvia van Os
0fdf79449c Merge pull request #1705 from CatimaLoyalty/dependabot/gradle/com.android.application-8.2.2
Bump com.android.application from 8.2.1 to 8.2.2
2024-01-24 08:17:14 +01:00
dependabot[bot]
cbf8b2d5f0 Bump com.android.application from 8.2.1 to 8.2.2
Bumps com.android.application from 8.2.1 to 8.2.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-01-24 02:07:05 +00:00
Sylvia van Os
e194cca5f1 Merge pull request #1704 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-22 18:16:50 +01:00
Giovanni Donisi
5d450852e1 Translated using Weblate (Italian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2024-01-22 14:01:51 +01:00
gallegonovato
ce86811d7c Translated using Weblate (Spanish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2024-01-22 14:01:51 +01:00
Sylvia van Os
9fb3b765e7 Merge pull request #1703 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.2.0
Bump actions/upload-artifact from 4.1.0 to 4.2.0
2024-01-22 07:40:38 +01:00
dependabot[bot]
d02dac2c41 Bump actions/upload-artifact from 4.1.0 to 4.2.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.1.0...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 02:41:23 +00:00
Sylvia van Os
243536d0d1 Merge pull request #1702 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-21 14:04:43 +01:00
Сергій
b258ba8654 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-01-21 10:02:31 +01:00
solokot
5ec87a7a3a Translated using Weblate (Russian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-01-21 10:02:31 +01:00
Сергій
c84692db35 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-01-21 10:02:30 +01:00
Ronon
efe2a720f4 Translated using Weblate (Slovak)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sk/
2024-01-21 10:02:29 +01:00
solokot
8b876f51fc Translated using Weblate (Russian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2024-01-21 10:02:29 +01:00
Nikita Karamov
033de00ad4 Translated using Weblate (German)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-01-21 10:02:28 +01:00
Sylvia van Os
81f0e769b8 Merge pull request #1701 from CatimaLoyalty/create-pull-request/patch-1705810453
Update contributors
2024-01-21 07:29:28 +01:00
TheLastProject
dd14533c6c Update contributors 2024-01-21 04:14:13 +00:00
Sylvia van Os
f7c50caeb1 Merge pull request #1700 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-19 17:42:33 +01:00
Nguyễn Xuân Cảm
b00aa74bfe Translated using Weblate (Vietnamese)
Currently translated at 1.5% (2 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2024-01-19 12:00:37 +01:00
Nguyễn Xuân Cảm
944089536f Translated using Weblate (Vietnamese)
Currently translated at 99.3% (299 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2024-01-19 12:00:36 +01:00
Bálint László
266732f744 Translated using Weblate (Hungarian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2024-01-19 12:00:36 +01:00
BananaChad
33ee23a0e1 Translated using Weblate (Dutch)
Currently translated at 13.8% (18 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nl/
2024-01-19 12:00:35 +01:00
BananaChad
b064851254 Translated using Weblate (Dutch)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2024-01-19 12:00:34 +01:00
Sylvia van Os
19782fdb9c Merge pull request #1699 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-18 20:15:08 +01:00
109247019824
eb7658c35a Translated using Weblate (Bulgarian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2024-01-18 08:39:27 +01:00
大王叫我来巡山
fff35d7a74 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-01-18 08:39:26 +01:00
大王叫我来巡山
ed5506554a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2024-01-18 08:39:26 +01:00
ikanakova
dac7e8cb46 Translated using Weblate (Czech)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2024-01-18 08:39:25 +01:00
ikanakova
5ad27b1b53 Translated using Weblate (Czech)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2024-01-18 08:39:24 +01:00
Sylvia van Os
ca3c29f5e4 Merge pull request #1698 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-16 21:47:57 +01:00
Jiri Grönroos
935ef20955 Translated using Weblate (Finnish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2024-01-16 20:06:27 +01:00
Sylvia van Os
86ec70ee72 Merge pull request #1696 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.1.0
Bump actions/upload-artifact from 4.0.0 to 4.1.0
2024-01-15 19:39:08 +01:00
dependabot[bot]
2303caf1be Bump actions/upload-artifact from 4.0.0 to 4.1.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.0.0...v4.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 02:39:56 +00:00
Sylvia van Os
ee1e5c0d0e Merge pull request #1695 from CatimaLoyalty/create-pull-request/patch-1705205686
Update contributors
2024-01-14 12:34:09 +01:00
TheLastProject
4bdb5a86ad Update contributors 2024-01-14 04:14:46 +00:00
Sylvia van Os
92ac59a783 Merge pull request #1692 from CatimaLoyalty/1647-2
Only list contributors with at least 5 commits
2024-01-12 12:27:18 +01:00
Sylvia van Os
89ea86e795 Only include contributors with at least 5 commits 2024-01-12 12:17:03 +01:00
Sylvia van Os
ffe6236c2d Support HTML in credits screen 2024-01-12 12:04:26 +01:00
218 changed files with 912 additions and 710 deletions

View File

@@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@v4.1.1
- name: Fail on bad translations
run: if grep -ri "&lt;xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi
- uses: gradle/wrapper-validation-action@v1
- uses: gradle/wrapper-validation-action@v2
- name: set up OpenJDK 17
run: |
sudo apt-get update
@@ -48,7 +48,7 @@ jobs:
run: ./gradlew spotbugsRelease
- name: Archive test results
if: always()
uses: actions/upload-artifact@v4.0.0
uses: actions/upload-artifact@v4.3.1
with:
name: test-results
path: app/build/reports

View File

@@ -35,7 +35,7 @@ jobs:
- name: Run converter script
run: python .scripts/changelog_to_fastlane.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update Fastlane changelogs"
commit-message: "Update Fastlane changelogs"

View File

@@ -28,11 +28,12 @@ jobs:
uses: actions/checkout@v4.1.1
- name: Update contributors
id: update_contributors
uses: TheLastProject/contributors-to-file-action@v3.0.2
uses: TheLastProject/contributors-to-file-action@v3.2.0
with:
file_in_repo: app/src/main/res/raw/contributors.txt
min_commit_count: 5
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update contributors"
commit-message: "Update contributors"

View File

@@ -38,7 +38,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@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update feature graphic"
commit-message: "Update feature graphic"

View File

@@ -24,9 +24,9 @@ jobs:
- uses: actions/checkout@v4.1.1
- uses: obfusk/gradle-update-action@v2.0.0
id: gradle-update
- uses: gradle/wrapper-validation-action@v1
- uses: gradle/wrapper-validation-action@v2
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"

View File

@@ -31,7 +31,7 @@ jobs:
- name: Update locales
run: .scripts/locales.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update locales"
commit-message: "Update locales"

View File

@@ -1,6 +1,12 @@
# Changelog
## Unreleased - 132
## Unreleased - 133
- Target Android 14
- Open card icon in gallery on touch
- Improve design of Photos tab in edit view
## v2.27.0 - 132 (2024-01-30)
- Refine "Add card" workflow
- Validation flow improvements

View File

@@ -3,25 +3,25 @@ GEM
specs:
CFPropertyList (3.0.6)
rexml
addressable (2.8.5)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.824.0)
aws-sdk-core (3.181.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-eventstream (1.3.0)
aws-partitions (1.884.0)
aws-sdk-core (3.191.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sdk-kms (1.77.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.134.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-s3 (1.143.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
@@ -32,11 +32,10 @@ GEM
declarative (0.0.20)
digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.103.0)
excon (0.109.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@@ -65,8 +64,8 @@ GEM
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.7)
fastlane (2.215.1)
fastimage (2.3.0)
fastlane (2.219.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -85,6 +84,7 @@ GEM
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.0.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
@@ -93,7 +93,7 @@ GEM
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
optparse (>= 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
@@ -107,9 +107,9 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.49.0)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.1)
google-apis-core (0.11.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -117,28 +117,27 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.6.1)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.44.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0)
google-apis-storage_v1 (~> 0.31.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.8.0)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
multi_json (~> 1.11)
@@ -149,7 +148,7 @@ GEM
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.2)
json (2.6.3)
json (2.7.1)
jwt (2.7.1)
mini_magick (4.12.0)
mini_mime (1.1.5)
@@ -157,11 +156,11 @@ GEM
multipart-post (2.3.0)
nanaimo (0.3.0)
naturally (2.2.1)
optparse (0.1.1)
optparse (0.4.0)
os (1.1.4)
plist (3.7.0)
public_suffix (5.0.3)
rake (13.0.6)
plist (3.7.1)
public_suffix (5.0.4)
rake (13.1.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
@@ -185,17 +184,13 @@ GEM
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
webrick (1.8.1)
unicode-display_width (2.5.0)
word_wrap (1.0.0)
xcodeproj (1.22.0)
xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)

View File

@@ -15,14 +15,14 @@ spotbugs {
android {
namespace = "protect.card_locker"
compileSdk = 33
compileSdk = 34
defaultConfig {
applicationId = "me.hackerchick.catima"
minSdk = 21
targetSdk = 33
versionCode = 131
versionName = "2.26.0"
targetSdk = 34
versionCode = 132
versionName = "2.27.0"
vectorDrawables.useSupportLibrary = true
multiDexEnabled = true
@@ -92,7 +92,7 @@ dependencies {
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.9.0")
implementation("com.google.android.material:material:1.11.0")
implementation("com.github.yalantis:ucrop:2.2.8")
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
@@ -101,7 +101,7 @@ dependencies {
// Third-party
implementation("com.journeyapps:zxing-android-embedded:4.3.0@aar")
implementation("com.google.zxing:core:3.5.2")
implementation("com.google.zxing:core:3.5.3")
implementation("org.apache.commons:commons-csv:1.9.0")
implementation("com.jaredrummler:colorpicker:1.1.0")
implementation("net.lingala.zip4j:zip4j:2.11.5")

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,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Catima Debug</string>
</resources>

View File

@@ -111,10 +111,12 @@
android:name=".preferences.SettingsActivity"
android:label="@string/settings"
android:theme="@style/AppTheme.NoActionBar" />
<!-- FIXME: locked screenOrientation is a workaround for https://github.com/CatimaLoyalty/Android/issues/1715, remove when https://github.com/CatimaLoyalty/Android/issues/513 is fixed -->
<activity
android:name=".ImportExportActivity"
android:label="@string/importExport"
android:exported="true"
android:screenOrientation="locked"
android:theme="@style/AppTheme.NoActionBar">
<!-- ZIP Intent Filter -->

View File

@@ -7,11 +7,11 @@ import android.view.View;
import android.widget.ScrollView;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import protect.card_locker.databinding.AboutActivityBinding;
public class AboutActivity extends CatimaAppCompatActivity {
@@ -98,11 +98,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
}
private void showCredits() {
new MaterialAlertDialogBuilder(this)
.setTitle(R.string.credits)
.setMessage(content.getContributorInfo())
.setPositiveButton(R.string.ok, null)
.show();
showHTML(R.string.credits, content.getContributorInfo(), null);
}
private void showHistory(View view) {
@@ -117,7 +113,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
showHTML(R.string.privacy_policy, content.getPrivacyInfo(), view);
}
private void showHTML(@StringRes int title, final Spanned text, View view) {
private void showHTML(@StringRes int title, final Spanned text, @Nullable View view) {
int dialogContentPadding = getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
TextView textView = new TextView(this);
textView.setText(text);
@@ -125,12 +121,21 @@ public class AboutActivity extends CatimaAppCompatActivity {
ScrollView scrollView = new ScrollView(this);
scrollView.addView(textView);
scrollView.setPadding(dialogContentPadding, dialogContentPadding / 2, dialogContentPadding, 0);
new MaterialAlertDialogBuilder(this)
// Create dialog
MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(this);
materialAlertDialogBuilder
.setTitle(title)
.setView(scrollView)
.setPositiveButton(R.string.ok, null)
.setNeutralButton(R.string.view_online, (dialog, which) -> openExternalBrowser(view))
.show();
.setPositiveButton(R.string.ok, null);
// Add View online button if an URL is linked to this view
if (view != null && view.getTag() != null) {
materialAlertDialogBuilder.setNeutralButton(R.string.view_online, (dialog, which) -> openExternalBrowser(view));
}
// Show dialog
materialAlertDialogBuilder.show();
}
private void openExternalBrowser(View view) {

View File

@@ -129,19 +129,19 @@ public class AboutContent {
return result.toString();
}
public String getContributorInfo() {
public Spanned getContributorInfo() {
StringBuilder contributorInfo = new StringBuilder();
contributorInfo.append(getCopyright());
contributorInfo.append("\n\n");
contributorInfo.append("<br/><br/>");
contributorInfo.append(context.getString(R.string.app_copyright_old));
contributorInfo.append("\n\n");
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_contributors), getContributors()), HtmlCompat.FROM_HTML_MODE_COMPACT));
contributorInfo.append("\n\n");
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_libraries), getThirdPartyLibraries()), HtmlCompat.FROM_HTML_MODE_COMPACT));
contributorInfo.append("\n\n");
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_resources), getUsedThirdPartyAssets()), HtmlCompat.FROM_HTML_MODE_COMPACT));
contributorInfo.append("<br/><br/>");
contributorInfo.append(String.format(context.getString(R.string.app_contributors), getContributors()));
contributorInfo.append("<br/><br/>");
contributorInfo.append(String.format(context.getString(R.string.app_libraries), getThirdPartyLibraries()));
contributorInfo.append("<br/><br/>");
contributorInfo.append(String.format(context.getString(R.string.app_resources), getUsedThirdPartyAssets()));
return contributorInfo.toString();
return HtmlCompat.fromHtml(contributorInfo.toString(), HtmlCompat.FROM_HTML_MODE_COMPACT);
}
public Spanned getHistoryInfo() {

View File

@@ -12,12 +12,12 @@ import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.widget.Toolbar;
import com.google.zxing.BarcodeFormat;
import java.util.ArrayList;
import androidx.appcompat.widget.Toolbar;
import protect.card_locker.databinding.BarcodeSelectorActivityBinding;
/**

View File

@@ -15,13 +15,13 @@ import android.service.controls.actions.ControlAction;
import android.service.controls.templates.StatelessTemplate;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import java.util.List;
import java.util.concurrent.Flow;
import java.util.function.Consumer;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
@RequiresApi(Build.VERSION_CODES.R)
public class CardsOnPowerScreenService extends ControlsProviderService {

View File

@@ -14,6 +14,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowInsetsControllerCompat;
public class CatimaAppCompatActivity extends AppCompatActivity {
protected boolean activityOverridesNavBarColor = false;
@Override
protected void attachBaseContext(Context base) {
// Apply chosen language
@@ -48,6 +50,14 @@ public class CatimaAppCompatActivity extends AppCompatActivity {
Utils.postPatchColors(this);
}
@Override
protected void onResume() {
super.onResume();
if (!activityOverridesNavBarColor) {
Utils.setNavigationBarColor(this, null, Utils.resolveBackgroundColor(this), !Utils.isDarkModeEnabled(this));
}
}
protected void enableToolbarBackButton() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {

View File

@@ -8,14 +8,12 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import protect.card_locker.databinding.GroupLayoutBinding;
import protect.card_locker.preferences.Settings;
public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.GroupListItemViewHolder> {
public final Context mContext;

View File

@@ -1,10 +1,8 @@
package protect.card_locker;
import android.Manifest;
import android.content.ActivityNotFoundException;
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;
@@ -16,23 +14,20 @@ import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import protect.card_locker.async.TaskHandler;
import protect.card_locker.databinding.ImportExportActivityBinding;
import protect.card_locker.importexport.DataFormat;

View File

@@ -4,13 +4,13 @@ import android.database.Cursor;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.math.BigDecimal;
import java.util.Currency;
import java.util.Date;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class LoyaltyCard implements Parcelable {
public final int id;
public final String store;

View File

@@ -15,13 +15,6 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.color.MaterialColors;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.util.ArrayList;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
@@ -29,6 +22,13 @@ import androidx.core.graphics.BlendModeColorFilterCompat;
import androidx.core.graphics.BlendModeCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.color.MaterialColors;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.util.ArrayList;
import protect.card_locker.databinding.LoyaltyCardLayoutBinding;
public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCursorAdapter.LoyaltyCardListItemViewHolder> {

View File

@@ -777,7 +777,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
@SuppressLint("DefaultLocale")
@Override
public void onResume() {
protected void onResume() {
super.onResume();
Log.i(TAG, "To view card: " + loyaltyCardId);

View File

@@ -3,6 +3,7 @@ package protect.card_locker;
import android.app.Application;
import androidx.appcompat.app.AppCompatDelegate;
import protect.card_locker.preferences.Settings;
public class LoyaltyCardLockerApplication extends Application {

View File

@@ -47,7 +47,6 @@ import androidx.core.graphics.BlendModeColorFilterCompat;
import androidx.core.graphics.BlendModeCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsControllerCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import com.google.android.material.color.MaterialColors;
@@ -110,22 +109,25 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
return;
}
ImageType imageType = imageTypes.get(mainImageIndex);
// If the barcode is shown, switch to fullscreen layout
if (imageTypes.get(mainImageIndex) == ImageType.BARCODE) {
if (imageType == ImageType.BARCODE) {
setFullscreen(true);
return;
}
// If this is an image, open it in the gallery.
openCurrentMainImageInGallery();
openImageInGallery(imageType);
}
private void openCurrentMainImageInGallery() {
ImageType wantedImageType = imageTypes.get(mainImageIndex);
private void openImageInGallery(ImageType imageType) {
File file = null;
switch (wantedImageType) {
switch (imageType) {
case ICON:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.icon);
break;
case IMAGE_FRONT:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.front);
break;
@@ -173,6 +175,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
enum ImageType {
NONE,
ICON,
BARCODE,
IMAGE_FRONT,
IMAGE_BACK
@@ -300,7 +303,13 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
binding.bottomAppBarNextButton.setOnClickListener(view -> prevNextCard(true));
binding.bottomAppBarUpdateBalanceButton.setOnClickListener(view -> showBalanceUpdateDialog());
binding.iconContainer.setOnClickListener(view -> Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show());
binding.iconContainer.setOnClickListener(view -> {
if (Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon) != null) {
openImageInGallery(ImageType.ICON);
} else {
Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show();
}
});
binding.iconContainer.setOnLongClickListener(view -> {
Intent intent = new Intent(getApplicationContext(), LoyaltyCardEditActivity.class);
Bundle bundle = new Bundle();
@@ -555,7 +564,8 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
@Override
public void onResume() {
protected void onResume() {
activityOverridesNavBarColor = true;
super.onResume();
Log.i(TAG, "To view card: " + loyaltyCardId);
@@ -636,11 +646,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
// Set bottomAppBar and system navigation bar color
binding.bottomAppBar.setBackgroundColor(darkenedColor);
if (window != null && Build.VERSION.SDK_INT >= 27) {
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, binding.getRoot());
wic.setAppearanceLightNavigationBars(Utils.needsDarkForeground(darkenedColor));
window.setNavigationBarColor(darkenedColor);
}
Utils.setNavigationBarColor(null, window, darkenedColor, Utils.needsDarkForeground(darkenedColor));
int complementaryColor = Utils.getComplementaryColor(darkenedColor);
binding.fabEdit.setBackgroundTintList(ColorStateList.valueOf(complementaryColor));

View File

@@ -13,6 +13,12 @@ import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -20,12 +26,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.RecyclerView;
import protect.card_locker.databinding.ActivityManageGroupBinding;
public class ManageGroupActivity extends CatimaAppCompatActivity implements ManageGroupCursorAdapter.CardAdapterListener {

View File

@@ -14,17 +14,17 @@ import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;
import protect.card_locker.databinding.ManageGroupsActivityBinding;
public class ManageGroupsActivity extends CatimaAppCompatActivity implements GroupCursorAdapter.GroupAdapterListener {

View File

@@ -32,7 +32,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;

View File

@@ -8,6 +8,11 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Bundle;
import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.IconCompat;
import org.jetbrains.annotations.NotNull;
import java.util.Collections;
@@ -15,11 +20,6 @@ import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.IconCompat;
class ShortcutHelper {
// Android documentation says that no more than 5 shortcuts
// are supported. However, that may be too many, as not all

View File

@@ -11,16 +11,16 @@ import android.view.Window;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.textview.MaterialTextView;
import com.yalantis.ucrop.UCropActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.view.WindowInsetsControllerCompat;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.textview.MaterialTextView;
import com.yalantis.ucrop.UCropActivity;
public class UCropWrapper extends UCropActivity {
public static final String UCROP_TOOLBAR_TYPEFACE_STYLE = "ucop_toolbar_typeface_style";

View File

@@ -28,6 +28,7 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RawRes;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
@@ -665,25 +666,33 @@ public class Utils {
}
}
// XXX android 9 and below has issues with patched theme where the background becomes a
// rendering mess
// use after views are inflated
// Force correct color
// Fixes OLED dark mode in MainActivity
public static void postPatchColors(AppCompatActivity activity) {
TypedValue typedValue = new TypedValue();
activity.getTheme().resolveAttribute(android.R.attr.colorBackground, typedValue, true);
activity.findViewById(android.R.id.content).setBackgroundColor(typedValue.data);
activity.findViewById(android.R.id.content).setBackgroundColor(resolveBackgroundColor(activity));
}
if (Build.VERSION.SDK_INT >= 27) {
Window window = activity.getWindow();
// Either pass an Activity on which to call getWindow() or an existing Window (may be null) returned by that function.
public static void setNavigationBarColor(@Nullable AppCompatActivity activity, @Nullable Window window, int color, boolean useLightBars) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
if (window == null && activity != null) {
window = activity.getWindow();
}
if (window != null) {
View decorView = window.getDecorView();
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
wic.setAppearanceLightNavigationBars(!isDarkModeEnabled(activity));
window.setNavigationBarColor(typedValue.data);
wic.setAppearanceLightNavigationBars(useLightBars);
window.setNavigationBarColor(color);
}
}
}
public static int resolveBackgroundColor(AppCompatActivity activity) {
TypedValue typedValue = new TypedValue();
activity.getTheme().resolveAttribute(android.R.attr.colorBackground, typedValue, true);
return typedValue.data;
}
public static int getHeaderColorFromImage(Bitmap image, int fallback) {
if (image == null) {
return fallback;

View File

@@ -3,12 +3,13 @@ package protect.card_locker.preferences;
import android.content.Context;
import android.content.SharedPreferences;
import java.util.Locale;
import androidx.annotation.IntegerRes;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.preference.PreferenceManager;
import java.util.Locale;
import protect.card_locker.R;
import protect.card_locker.Utils;

View File

@@ -1,6 +1,5 @@
package protect.card_locker.preferences;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;

View File

@@ -369,75 +369,106 @@
android:visibility="gone"
tools:visibility="visible">
<!-- Front image -->
<LinearLayout
android:id="@+id/frontImageHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding">
android:baselineAligned="false">
<!-- Front image -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:id="@+id/frontImageHolder"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/activity_margin"
android:layout_marginTop="@dimen/activity_margin"
android:layout_marginEnd="@dimen/activity_margin"
android:layout_marginBottom="@dimen/activity_margin"
android:paddingHorizontal="@dimen/inputPadding"
app:cardCornerRadius="4dp"
app:cardElevation="0dp">
android:orientation="horizontal"
android:layout_margin="5dp"
style="?attr/materialCardViewElevatedStyle">
<ImageView
android:id="@+id/frontImage"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/frontImageConstraint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/frontImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary" />
android:layout_height="wrap_content">
<!-- Back image -->
<ImageView
android:id="@+id/frontImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary"
app:layout_constraintBottom_toTopOf="@id/frontImageDescription"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/frontImageDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:text="@string/frontImageDescription"
android:textAppearance="?attr/textAppearanceHeadlineSmall"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/frontImage"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
<!-- Back image -->
<LinearLayout
android:id="@+id/backImageHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding">
<!-- Back image -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_weight="1"
android:id="@+id/backImageHolder"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/activity_margin"
android:layout_marginTop="@dimen/activity_margin"
android:layout_marginEnd="@dimen/activity_margin"
android:layout_marginBottom="@dimen/activity_margin"
android:paddingHorizontal="@dimen/inputPadding"
app:cardCornerRadius="4dp"
app:cardElevation="0dp">
android:orientation="horizontal"
android:layout_margin="5dp"
style="?attr/materialCardViewElevatedStyle">
<ImageView
android:id="@+id/backImage"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/backImageConstraint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary" />
android:layout_height="wrap_content">
<!-- Back image -->
<ImageView
android:id="@+id/backImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary"
app:layout_constraintBottom_toTopOf="@id/backImageDescription"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/backImageDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:text="@string/backImageDescription"
android:textAppearance="?attr/textAppearanceHeadlineSmall"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/backImage"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</TableLayout>

View File

@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -25,313 +25,32 @@ HudobniVolk
Nyatsuki
Samantaz Fox
arno-github
Ankit Tiwari
Sergio Paredes
Cliff Heraldo
Balázs Meskó
Sergio Paredes
Ankit Tiwari
Milan Šalka
Jiri Grönroos
Balázs Meskó
Giovanni Donisi
Milo Ivir
Skrripy
huuhaa
Giovanni Donisi
Jiri Grönroos
Projjal Moitra
Quentin PAGÈS
Denis Shilin
mdvhimself
Robin Liu
Ziad OUALHADJ
Eryk Michalak
Alexander Ivanov
arshbeerSingh
Freddo espresso
Govind S Nair
Kim Seohyun
rudy3
Michael Gangolf
Virginie
Silvério Santos
Miha Frangež
Arnis Jaundžeikars
Camila
Dan
sr093906
Katarzyna
echo r"0xX4H" | rev
Magnitudee
Mohit ahlawat
Muhammad Khuirul Huda
Olivia (Zoe)
Rohan H
betsythefc
waffshappen
Robin
tfuxu
Alex
ati3
enolp
Evgeniy Khramov
Jane Kong
Jean Mareilles
Jean-Luc Tibaux
José Rebelo
K. Herbert
Lisa A.
Mawuena M. KODZO A.
OMCM753
Reza
Still / Azaka
String E. Fighter
Tapu
Yurical
ngocanhtve
rr-vesp
yangyangdaji
丛林意志
alajemba-vik
/usr/local/ΕΨΗΕΛΩΝ
Adolfo Jayme-Barrientos
Alessandro Mandelli
Ankur Dahiya
KovalevArtem
Artem M.
Astrohops1
BMN
balaraz
BootVirtual
Bottan Hermawan
zChiip
Clonewayx
D. Domig
Danylo Lystopadov
Diego
Eudes-alencar
Fede Pujol
FineFindus
Fqwe1
francescbassas
Jason Li
Jesse Davids
Kamborio
Kate O
Kis Dominik
Lukas Grassauer
Luna Jernberg
Marnick L'Eau
Mateus Souza
Michalis
Michał
Mohamed A. Salah
Yatoku
Neha Reddy
Neko Nekowazarashi
Quang Trung
Rishi Agarwal
Rosdyana Kusuma
Sabri Ünal
Sajal Agarwal
Sand Smith
umoenks
Simon Rusinov
Siriusmart
Mritunjay
Tarik Dzambic
TheScientistPT
Thomas Bertels
Thomas Cruveilher
Tian Jiale
Tong Liu
Tymofii Lytvynenko
Wanath
Yogesh
Younes Bouhouche
Runner
pythonbass
ce i moa
enescan201
Frablock
Eryk Michalak
Ziad OUALHADJ
Robin Liu
mdvhimself
Denis Shilin
Miha Frangež
Silvério Santos
ikanakova
inesre
lgasp
notlin4
olgacveysel
phlostically
pokegh0st
sal0max
Ágata Leuck
BmBKun
NamHyeonjeong
Aditya Das
asier123123131
Kevin Sicong Jiang
Tomer Ben-Rachel
ngdangtu
Tom Sawyer
Abdullah Abdullah
Abdullah khan
Abhishek Tiwari
Ahmed Saleh
Airat
Alex Tan
Tapwaterisokey
Alexandra-Ioana Moroz
alyonaakshyata
Andreas Blaser
Angela Enogieru
Animesh Chatterjee
Anujever
Artūras Kalenda
Ashish Yadav
Aya Elsaadany
Aya
bennycor
Biren
Booc Sylvan
Brage Nesteby Reitan
Brian Bentancour
Cap Amr Karam
Carlo Maria Cuoghi Barbagli
ChaoticNeutralCzech
2oranges7
CherryMonster222
Claus Kruse
Colgrave
djcand
Mylou53
Daniel Sych
danieluhrinyi
Daniele Tricoli
Kasina Dheeraj
Donno
Reihan
Erik Spjelkavik
Flav
Francisco J. Martín Fernández
Franciszek Stefan
Gael Caraballo
Giacomo Alessandroni
Grzegorz
gneiss15
Hamustra Scans
helzubair
HowITsDone
Hubert Maciejewicz
Izzy
Jacek
Jacopo Gennaro Esposito
Jean-Baptiste
Kung-chih
Karvjorm
polar
krkk
Kristoffer Grundström
Laura Ferraz
Lionel HANNEQUIN
Lucas da Costa
Roveliu Munteanu
almir992
Manan Jhaveri
Marco
BRBsoup
Mateo Gomez
Matti O
Mattia
Mattia Beccari
Md. Al-Amin
MOCCH
3DN1M
Minecraft boom
Mitsos Dream
Mobashir Raihan
Moi Toi
DiCeYMaYo
OPADILOP
DivideEtImpera
Nicolas
Nosnahc
osamaqw
Patricio Carrau
Patrik Š.
pbeckmann
Peer Beckmann
vandman
Piotr Strebski
Piotr Zet
Poorva Patidar
Quang Nguyen
Ratnesh
Rohan Babbar
Ronak Upadhyay
Rose Liverman
SKULD
Sabrina
Salem Malus
Samarth Asthan
tatyhub
Shailendra Maurya
SilverFS
Simone Dotto
Subhashish Anand
Subhradeep Bera
Swayam Khare
SziaTomi
Mehedi Hasan
Tim Trek
Titas Pažereckas
atakujonc
Tomislav Kraljević
Tony C
Vancha March
tyap-lyap-ivprod
gokomurodokomodo
Viviana Yanez
Waldemar Stoczkowski
Wei-Cheng Yeh (IID)
Wiktor Kwapisiewicz
Wonchul Kang
Yevgeny M
Yusril A
ahmed-awad26
Avik Kundu
ayuyydev
depimomo
diksha-2911
essys
evelinabe
gbonaspetti
gemamur
gittyboy-cell
huang ivan
kb01guy
lassr8
liva
lucafont2
mtrmirez
michaelpratana
opsik
pesta007
polarhun
pooyanazari
sghiri
psa-jforestier
redha salah
z369369
sergio
skauVictor
SravyaHSN
080502
Marcus
techwebpd
tjw123hh
Truestorybaby
Tygyh
unstartdev
wmilan 17
xiawu240
yourfav-raphi
MeH762
يوسف لطفي
しいたけ
元气
JaeBeom An
JungHee Lee
Virginie
Michael Gangolf
rudy3
Kim Seohyun
Govind S Nair
Freddo espresso
arshbeerSingh
Alexander Ivanov

View File

@@ -311,4 +311,5 @@
<string name="addWithoutBarcode">إضافة بدون باركود</string>
<string name="field_must_not_be_empty">يجب ألا يكون الحقل فارغا</string>
<string name="app_name">كاتيما</string>
<string name="settings_follow_sensor_orientation">التدوير دائمًا ( تجاهل إعدادات النظام)</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="storeName">Nome</string>
<string name="note">Nota</string>
<string name="noMatchingGiftCards">Nun hai nengún resultáu. Prueba a camudar la busca.</string>

View File

@@ -283,4 +283,5 @@
<string name="addWithoutBarcode">Добавяне на карта без щрихкод</string>
<string name="field_must_not_be_empty">Полето не трябва да е празно</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Винаги да се завърта (пренебрегва системната настройка)</string>
</resources>

View File

@@ -290,4 +290,5 @@
<string name="addWithoutBarcode">Přidat kartu bez čárového kódu</string>
<string name="field_must_not_be_empty">Položka nesmí být prázdná</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Vždy otáčet (ignoruje nastavení systému)</string>
</resources>

View File

@@ -132,8 +132,8 @@
<string name="setBackImage">Kartenrückseite</string>
<string name="setFrontImage">Kartenvorderseite</string>
<string name="photos">Fotos</string>
<string name="frontImageDescription">Bild auf der Vorseite</string>
<string name="backImageDescription">Bild auf der Rückseite</string>
<string name="frontImageDescription">Bild der Vorseite</string>
<string name="backImageDescription">Bild der 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>
@@ -174,7 +174,7 @@
<string name="sort_by_most_recently_used">Zuletzt verwendet</string>
<string name="sort_by_name">Name</string>
<string name="sort">Sortieren</string>
<string name="reverse"> in umgekehrter Reihenfolge</string>
<string name="reverse">…in umgekehrter Reihenfolge</string>
<string name="version_history">Versionshistorie</string>
<string name="credits">Dank an</string>
<string name="help_translate_this_app">Hilfe bei der Übersetzung</string>
@@ -193,7 +193,7 @@
<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">Vorschau setzen</string>
<string name="setIcon">Vorschaubild setzen</string>
<string name="selectColor">Farbe auswählen</string>
<string name="translate_platform">auf Weblate</string>
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
@@ -205,14 +205,14 @@
<item quantity="other"><xliff:g>%s</xliff:g> Punkte</item>
</plurals>
<string name="settings_oled_dark">Komplett schwarzer Hintergrund im dunklen Design</string>
<string name="include_if_asking_support">Wenn Sie Unterstützung anfordern möchten, geben Sie bitte die folgenden Informationen an:</string>
<string name="include_if_asking_support">Wenn Du Unterstützung haben möchtest, gib bitte folgende Informationen an:</string>
<string name="settings_follow_system_orientation">System folgen</string>
<string name="settings_landscape_orientation">Landschaft</string>
<string name="settings_portrait_orientation">Porträt</string>
<string name="settings_landscape_orientation">Querformat</string>
<string name="settings_portrait_orientation">Hochformat</string>
<string name="duplicateCard">Duplizieren</string>
<string name="unarchive">Archivierung aufheben</string>
<string name="settings_card_orientation">Barcode-Ausrichtung</string>
<string name="unarchived">Karte nicht archiviert</string>
<string name="unarchived">Karte aus dem Archiv entfernt</string>
<string name="archive">Archivieren</string>
<string name="archived">Karte archiviert</string>
<string name="settings_lock_on_opening_orientation">Kartenausrichtung nach dem Öffnen beibehalten</string>
@@ -223,7 +223,7 @@
<string name="failedLaunchingPhotoPicker">Es konnte keine unterstützte Galerie-Anwendung gefunden werden</string>
<string name="previousCard">Vorherige</string>
<string name="nextCard">Nächste</string>
<string name="failedToOpenUrl">Installieren Sie zunächst einen Webbrowser</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>
@@ -239,8 +239,8 @@
<string name="currentBalanceSentence">Aktuelles Guthaben: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">Neues Guthaben: <xliff:g>%s</xliff:g></string>
<string name="updateBalance">Guthaben aktualisieren</string>
<string name="storageReadPermissionRequired">Berechtigung zum Lesen des Speichers für diese Aktion erforderlich </string>
<string name="cameraPermissionRequired">Für diese Aktion wird die Erlaubnis zum Zugriff auf die Kamera benötigt </string>
<string name="storageReadPermissionRequired">Berechtigung zum Lesen des Speichers für diese Aktion erforderlich…</string>
<string name="cameraPermissionRequired">Für diese Aktion wird die Erlaubnis zum Zugriff auf die Kamera benötigt…</string>
<string name="validFromDate">Gültig ab</string>
<string name="validFromSentence">Gültig ab: <xliff:g>%s</xliff:g></string>
<string name="chooseValidFromDate">Gültig-ab-Datum wählen</string>
@@ -283,4 +283,5 @@
<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="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Immer drehen (ignoriert Systemeinstellungen)</string>
</resources>

View File

@@ -290,4 +290,5 @@
<string name="addWithoutBarcode">Añadir una tarjeta sin código de barras</string>
<string name="field_must_not_be_empty">Este campo no debe estar vacío</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Girar siempre (ignora la configuración del sistema)</string>
</resources>

View File

@@ -281,4 +281,7 @@
<string name="field_must_not_be_empty">Kenttä ei saa olla tyhjä</string>
<string name="manually_enter_barcode_instructions">Syötä kortissa näkyvä numero tai teksti ja klikkaa viivakoodia, joka vastaa kortissa olevaa koodia.</string>
<string name="app_name">Catima</string>
<string name="balanceParsingFailed">Virheellinen saldo</string>
<string name="view_online">Näytä verkossa</string>
<string name="settings_follow_sensor_orientation">Kierrä aina (ohittaa järjestelmän asetukset)</string>
</resources>

View File

@@ -95,9 +95,9 @@
<string name="expiryDate">Date dexpiration</string>
<string name="editBarcode">Modifier le code-barres</string>
<string name="card">Carte</string>
<string name="balanceSentence">Solde : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expiré : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
<string name="expiryStateSentence">Expire : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
<string name="balanceSentence">Solde: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expiré le: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Expire le: <xliff:g>%s</xliff:g></string>
<string name="settings_disable_lockscreen_while_viewing_card">Empêcher le verrouillage de lécran</string>
<string name="settings_keep_screen_on">Garder lécran allumé</string>
<string name="importVoucherVaultMessage">Sélectionnez votre exportation <i>vouchervault.json</i> de Voucher Vault à importer.
@@ -290,4 +290,5 @@
<string name="addWithoutBarcode">Ajouter une carte sans code-barres</string>
<string name="field_must_not_be_empty">Le champ ne peut pas être vide</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Toujours pivoter (ignore les paramètres du système)</string>
</resources>

View File

@@ -70,7 +70,7 @@
<string name="noBarcode">बारकोड नहीं है</string>
<string name="scanCardBarcode">बारकोड स्कैन करें</string>
<string name="cardShortcut">कार्ड का सरल उपाय (शॉर्टकट)</string>
<string name="noGiftCards">\"+\" बटन दबाके कार्ड जोड़ें वा मेन्यू से कार्ड आयात करें</string>
<string name="noGiftCards">कार्ड जोड़ने के लिए + प्लस बटन पर क्लिक करें, या ⋮ मेनू से आयात करें</string>
<string name="importExportHelp">तथ्य (डाटा) को बैकअप करना हमें उसे दूसरे डिवाइस में भेजने देता है।</string>
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> का बारकोड</string>
<string name="settings_disable_lockscreen_while_viewing_card">स्क्रीन को लॉक होने से रोकें</string>
@@ -107,7 +107,7 @@
<string name="exportSuccessful">डेटा निर्यात किया गया</string>
<string name="groupsList">समूह: <xliff:g>%s</xliff:g></string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> अंक</item>
<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">निजता नीति नोटिस (कुछ ऐप स्टोर के लिए आवश्यक):
@@ -117,7 +117,7 @@
\nदूसरे Catima ऍप के आयात/निर्यात मेनू से निर्यात बटन दबाकर, पहले catima.zip फाइल को बनाये.</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> चयनित</item>
<item quantity="other"><xliff:g>%d</xliff:g> चयनित.</item>
<item quantity="other"><xliff:g>%d</xliff:g> चयनित</item>
</plurals>
<string name="groups">समूहों</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">कॉपीराइट © 2019<xliff:g>%d</xliff:g> Sylvia van Os और योगदाता</string>
@@ -214,4 +214,74 @@
<string name="show_balance">मात्रा दिखाओ</string>
<string name="nextCard">अगला</string>
<string name="rate_this_app">इस ऐप को रेट करें</string>
<string name="settings_system_locale">सिस्टम</string>
<string name="setIcon">थंबनेल सेट करें</string>
<string name="sort_by_expiry">समाप्ति</string>
<string name="sort_by">इसके अनुसार क्रमबद्ध करें</string>
<string name="importCards">कार्ड आयात करें</string>
<string name="add_a_card_in_a_different_way">कार्ड को भिन्न तरीके से जोड़ें</string>
<string name="settings_locale">भाषा</string>
<string name="settings_oled_dark">गहरे रंग की थीम के लिए शुद्ध काले रंग की पृष्ठभूमि</string>
<string name="selectColor">रंग चुनो</string>
<string name="app_contributors">इसके द्वारा संभव बनाया गया: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">क्रमबद्ध करें</string>
<string name="show_note">नोट दिखाएँ</string>
<string name="settings_follow_sensor_orientation">हमेशा घुमाएँ (सिस्टम सेटिंग्स को अनदेखा करता है)</string>
<string name="importFidmeMessage">आयात करने के लिए FidMe से अपना <i>fidme-export-request-xxxxxx.zip</i> निर्यात चुनें, और बाद में मैन्युअल रूप से बारकोड प्रकार चुनें।
\nडेटा सुरक्षा चुनकर और फिर पहले मेरा डेटा निकालें दबाकर इसे अपनी FidMe प्रोफ़ाइल से बनाएं।</string>
<string name="importLoyaltyCardKeychainMessage">आयात करने के लिए लॉयल्टी कार्ड कीचेन से अपना <i>LoyaltyCardKeychen.csv</i> निर्यात चुनें।
\nपहले वहां एक्सपोर्ट दबाकर लॉयल्टी कार्ड कीचेन में आयात/निर्यात मेनू से इसे बनाएं।</string>
<string name="updateBarcodeQuestionText">आपने आईडी बदल दी. क्या आप समान मान का उपयोग करने के लिए बारकोड को भी अपडेट करना चाहते हैं?</string>
<string name="exportPassword">अपने निर्यात की सुरक्षा के लिए एक पासवर्ड सेट करें (वैकल्पिक)</string>
<string name="turn_flashlight_off">टॉर्च बंद करें</string>
<string name="settings_oled_dark_summary">OLED डिस्प्ले पर बैटरी का उपयोग कम होता है</string>
<string name="showMoreInfo">जानकारी दिखाएँ</string>
<string name="updateBalance">शेष राशि अद्यतन करें</string>
<string name="failedToRetrieveImageFile">छवि फ़ाइल पुनः प्राप्त करने में विफल</string>
<string name="version_history">संस्करण इतिहास</string>
<string name="archive">पुरालेख</string>
<string name="archived">कार्ड संग्रहीत</string>
<string name="barcodeLongPressMessage">गैलरी ऐप में केवल छवियां ही खोली जा सकती हैं</string>
<string name="license">परवाना</string>
<string name="source_repository">स्रोत रिपोजिटरी</string>
<string name="include_if_asking_support">यदि आप सहायता का अनुरोध करना चाहते हैं, तो निम्नलिखित जानकारी शामिल करें:</string>
<string name="starred">तारांकित</string>
<string name="unarchived">कार्ड अनारक्षित</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>
</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>
<string name="show_archived_cards">संग्रहीत कार्ड दिखाएँ</string>
<string name="manually_enter_barcode_instructions">अपने कार्ड पर आईडी नंबर या टेक्स्ट दर्ज करें और अपने कार्ड पर मौजूद बारकोड की तरह दिखने वाले बारकोड को दबाएं।</string>
<string name="welcome">कैटिमा में आपका स्वागत है</string>
<string name="previousCard">पिछला</string>
<string name="failedLaunchingPhotoPicker">कोई समर्थित गैलरी ऐप नहीं मिल सका</string>
<string name="reverse">...उल्टे क्रम में</string>
<string name="height">ऊंचाई:</string>
<string name="importVoucherVaultMessage">आयात करने के लिए वाउचर वॉल्ट से अपना <i>vouchervault.json</i> निर्यात चुनें।
\nसबसे पहले वाउचर वॉल्ट में एक्सपोर्ट दबाकर इसे बनाएं।</string>
<string name="turn_flashlight_on">टॉर्च चालू करें</string>
<string name="sort_by_name">नाम</string>
<string name="credits">श्रेय</string>
<string name="unarchive">असंग्रहित</string>
<string name="failedToOpenUrl">सबसे पहले एक वेब ब्राउज़र इंस्टॉल करें</string>
<string name="currentBalanceSentence">वर्तमान शेष: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">नया शेष: <xliff:g>%s</xliff:g></string>
<string name="validFromDate">से मान्य</string>
<string name="validFromSentence">यहां से मान्य: <xliff:g>%s</xliff:g></string>
<string name="switchToFrontImage">सामने वाली छवि पर स्विच करें</string>
<string name="switchToBackImage">पिछली छवि पर स्विच करें</string>
<string name="switchToBarcode">बारकोड पर स्विच करें</string>
<string name="openFrontImageInGalleryApp">गैलरी ऐप में सामने वाली छवि खोलें</string>
<string name="openBackImageInGalleryApp">गैलरी ऐप में पिछली छवि खोलें</string>
<string name="setBarcodeHeight">बारकोड ऊंचाई सेट करें</string>
<string name="icon_header_click_text">थंबनेल संपादित करने के लिए देर तक दबाएँ</string>
<string name="enter_card_id">अपने कार्ड पर आईडी नंबर या पाठ दर्ज करें</string>
</resources>

View File

@@ -290,4 +290,5 @@
<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>
</resources>

View File

@@ -283,4 +283,5 @@
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os és közreműködők</string>
<string name="show_archived_cards">Archivált kártyák megjelenítése</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Mindig forgassa (figyelmen kívül hagyja a rendszerbeállításokat)</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="storeName">Nama</string>
<string name="note">Keterangan</string>
<string name="delete">Hapus</string>
@@ -139,7 +139,7 @@
<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.
<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.
\nBuat dari profil FidMe Anda dengan memilih Perlindungan Data lalu tekan Ekstrak data saya terlebih dahulu.</string>
@@ -276,4 +276,5 @@
<string name="addWithoutBarcode">Tambah kartu tanpa barcode</string>
<string name="field_must_not_be_empty">Isian tidak boleh kosong</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Selalu rotasi (abaikan pengaturan sistem)</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="action_add">Bæta</string>
<string name="noBarcode">Nei strikamerkið</string>
<string name="action_search">Leita að</string>

View File

@@ -290,4 +290,5 @@
<string name="addWithoutBarcode">Aggiungere una carta senza codice a barre</string>
<string name="field_must_not_be_empty">Il campo non deve essere vuoto</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Ruota sempre (ignora le impostazioni di sistema)</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="wrongValueForBarcodeType">選択したバーコード形式ではこの番号は使用できません</string>
<string name="unsupportedBarcodeType">このバーコード形式は表示できません。将来のアップデートにより対応するかもしれません。</string>
<string name="setBarcodeId">バーコード番号を設定</string>
@@ -67,8 +67,6 @@
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">About <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_license">Copylefted libre software, licensed GPLv3+</string>
<string name="app_copyright_old">Based on Loyalty Card Keychain
\ncopyright © 20162020 Branden Archer.</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="importOptionApplicationButton">外部のアプリを使う</string>
@@ -117,7 +115,7 @@
<string name="note">メモ</string>
<string name="storeName">名前</string>
<string name="noMatchingGiftCards">該当なし</string>
<string name="noGiftCards">まず初めに+ボタンを押してカードを追加するか、メニューから以前のカードをインポートしてください</string>
<string name="noGiftCards">+ボタンからカードを新規追加、⋮メニューからカードをインポートすることができます</string>
<string name="action_add">追加</string>
<string name="action_search">検索</string>
<string name="intent_import_card_from_url_share_multiple_text">カードを共有しましょう</string>
@@ -152,15 +150,15 @@
</plurals>
<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">Brown</string>
<string name="settings_grey_theme">Gray</string>
<string name="settings_green_theme">Green</string>
<string name="settings_sky_blue_theme">Sky Blue</string>
<string name="settings_blue_theme">Blue</string>
<string name="settings_violet_theme">Violet</string>
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_pink_theme">Pink</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_sky_blue_theme">スカイブルー/水色</string>
<string name="settings_blue_theme">ブルー/青色</string>
<string name="settings_violet_theme">バイオレット/菫色</string>
<string name="settings_magenta_theme">マゼンタ/赤紫色</string>
<string name="settings_pink_theme">ピンク/桃色</string>
<string name="settings_catima_theme">Catimaテーマ</string>
<string name="settings_theme_color">テーマカラー</string>
<string name="settings_system_locale">システムに従う</string>
<string name="settings_locale">言語</string>
@@ -186,10 +184,10 @@
<string name="group_updated">グループを更新しました</string>
<string name="editGroup">グループ編集: <xliff:g>%s</xliff:g></string>
<string name="selectColor">色を選択</string>
<string name="setIcon">アイコン設定</string>
<string name="setIcon">サムネイルを設定</string>
<string name="group_edit">グループ編集</string>
<string name="group_name_already_in_use">このグループ名は既に使用されています</string>
<string name="group_name_is_empty">グループ名を入力してください</string>
<string name="group_name_is_empty">空欄にすることはできません</string>
<string name="shortcutSelectCard">カードを選択してください</string>
<string name="translate_platform">on Weblate</string>
<string name="options">オプション</string>
@@ -198,4 +196,14 @@
<string name="chooseValidFromDate">有効期限を選択</string>
<string name="anyDate">無期限</string>
<string name="app_name">Catima</string>
<string name="settings_card_orientation">バーコードの向き</string>
<string name="settings_display_barcode_max_brightness_summary">仕事をするためにいくつかのスキャナーが必要</string>
<string name="settings_follow_system_orientation">システムに従う</string>
<string name="storageReadPermissionRequired">このアクションのためにストレージの読み取り権限を許可…</string>
<string name="cameraPermissionDeniedTitle">カメラへアクセスできません</string>
<string name="settings_follow_sensor_orientation">自動回転 (システムを無視)</string>
<string name="cameraPermissionRequired">このアクションのためにカメラへのアクセス権限の許可…</string>
<string name="settings_landscape_orientation"></string>
<string name="settings_portrait_orientation"></string>
<string name="noGiftCardsGroup">いくつかのカードを作って、それらをこのグループにアサインします。</string>
</resources>

View File

@@ -283,4 +283,5 @@
<string name="addWithoutBarcode">Kaart zonder barcode toevoegen</string>
<string name="field_must_not_be_empty">Dit veld is vereist</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Altijd draaien (negeert systeeminstellingen)</string>
</resources>

View File

@@ -297,4 +297,5 @@
<string name="addWithoutBarcode">Dodaj kartę bez kodu kreskowego</string>
<string name="field_must_not_be_empty">Pole nie może być puste</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Zawsze obracaj (ignoruje ustawienia systemowe)</string>
</resources>

View File

@@ -78,7 +78,7 @@
<string name="points">Puncte</string>
<string name="cardShortcut">Scurtătură de card</string>
<string name="scanCardBarcode">Scanați codul de bare</string>
<string name="importExportHelp">Copierea de rezervă a datelor vă permite să le mutați pe un alt dispozitiv</string>
<string name="importExportHelp">Copierea de rezervă a datelor vă permite să le mutați pe un alt dispozitiv.</string>
<string name="exportSuccessfulTitle">Exportată</string>
<string name="exportFailedTitle">Export eșuat</string>
<string name="importOptionFilesystemExplanation">Alegeți un anumit fișier din sistemul de fișiere.</string>
@@ -290,4 +290,5 @@
<string name="settings_keep_screen_on_summary">Dezactivează temporizatorul de ecran când vizualizați un card</string>
<string name="rate_this_app">Acordați o recenzie acestei aplicații</string>
<string name="credits">Contribuabili</string>
<string name="settings_follow_sensor_orientation">Rotește întotdeauna (ignora setările de sistem)</string>
</resources>

View File

@@ -297,4 +297,5 @@
<string name="addWithoutBarcode">Добавить карту без штрих-кода</string>
<string name="field_must_not_be_empty">Поле не может быть пустым</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Всегда поворачивать (игнорировать системные настройки)</string>
</resources>

View File

@@ -290,4 +290,5 @@
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os a prispievateľov</string>
<string name="show_archived_cards">Zobraziť archivované karty</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Vždy otáčať (ignoruje nastavenie systému)</string>
</resources>

View File

@@ -283,4 +283,5 @@
<string name="addWithoutBarcode">Barkodsuz bir kart ekle</string>
<string name="field_must_not_be_empty">Alan boş olamaz</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Her zaman döndür (sistem ayarlarını yok sayar)</string>
</resources>

View File

@@ -87,7 +87,7 @@
<string name="app_license">Вільне копілефт програмне забезпечення, ліцензоване GPLv3+</string>
<string name="app_copyright_old">Створено на основі Loyalty Card Keychain
\nавторські права © 20162020 Branden Archer</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Авторські права © 2019<xliff:g>%d</xliff:g> Sylvia van Os та вкладники</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Авторські права © 2019<xliff:g>%d</xliff:g> Sylvia van Os та співавтори</string>
<string name="about">Про застосунок</string>
<string name="importOptionApplicationButton">Використати інший застосунок</string>
<string name="importOptionApplicationExplanation">Використайте інший застосунок чи ваш улюблений файловий менеджер для відкриття файлу.</string>
@@ -131,7 +131,7 @@
<string name="action_search">Пошук</string>
<string name="turn_flashlight_off">Вимкнути спалах</string>
<string name="turn_flashlight_on">Увімкнути спалах</string>
<string name="failedGeneratingShareURL">Збій створення URL обміну. Будь ласка повідомте про цю помилку.</string>
<string name="failedGeneratingShareURL">Збій створення URL обміну. Будь ласка повідомте про це.</string>
<string name="passwordRequired">Будь ласка введіть пароль</string>
<string name="takePhoto">Зробити світлину</string>
<string name="removeImage">Видалити зображення</string>
@@ -140,9 +140,9 @@
<string name="photos">Світлини</string>
<string name="backImageDescription">Тильна сторона</string>
<string name="frontImageDescription">Лицьова сторона</string>
<string name="importStocardMessage">Виберіть експорт <i> ***.zip </i> зі Stocard для імпорту.
<string name="importStocardMessage">Виберіть експорт <i> ***.zip </i> з Stocard для імпорту.
\nОтримайте його, надіславши електронного листа support@stocardapp.com з проханням експортувати ваші дані.</string>
<string name="importStocard">Імпорт із Stocard</string>
<string name="importStocard">Імпорт з Stocard</string>
<plurals name="selectedCardCount">
<item quantity="one">Обрано: <xliff:g>%d</xliff:g></item>
<item quantity="few">Обрані: <xliff:g>%d</xliff:g></item>
@@ -280,13 +280,13 @@
<string name="settings_keep_screen_on_summary">Вимикає тайм-аут екрана під час перегляду картки</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Вимикає блокування екрана під час перегляду картки</string>
<string name="settings_allow_content_provider_read_title">Дозволити іншим застосункам доступ до моїх даних</string>
<string name="settings_oled_dark_summary">Зменшує використання батареї на екранах з OLED</string>
<string name="settings_oled_dark_summary">Зменшує використання батареї на OLED екранах</string>
<string name="settings_category_title_cards">Картки</string>
<string name="settings_category_title_general">Загальні</string>
<string name="settings_category_title_privacy">Конфіденційність</string>
<string name="view_online">Переглянути онлайн</string>
<string name="action_display_options">Налаштування дисплея</string>
<string name="app_copyright_short">Авторські права © Sylvia van Os та вкладники</string>
<string name="action_display_options">Параметри відображення</string>
<string name="app_copyright_short">Авторські права © Sylvia van Os та співавтори</string>
<string name="show_archived_cards">Показати архівовані картки</string>
<string name="card_id_must_not_be_empty">ID картки не повинен бути порожнім</string>
<string name="balanceParsingFailed">Неправильний баланс</string>
@@ -297,4 +297,5 @@
<string name="addWithoutBarcode">Додати картку без штрих-коду</string>
<string name="field_must_not_be_empty">Поле вводу не повинно бути порожнім</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Завжди обертати (ігнорувати системні налаштування)</string>
</resources>

View File

@@ -48,7 +48,7 @@
<string name="expiryStateSentence">Hết hạn: <xliff:g>%s</xliff:g></string>
<string name="all">Tất cả</string>
<string name="setIcon">Đặt ảnh con</string>
<string name="cardShortcut">Lối Tắt Cho Thẻ</string>
<string name="cardShortcut">Lối tắt thẻ</string>
<string name="moveUp">Đẩy lên</string>
<string name="noBarcodeFound">Không tìm thấy mã vạch nào</string>
<string name="settings_category_title_general">Tổng quan</string>
@@ -86,7 +86,7 @@
<string name="yes"></string>
<string name="barcodeType">Loại mã vạch</string>
<string name="enter_card_id">Nhập số ID hoặc văn bản lên thẻ của bạn</string>
<string name="unarchived">Thẻ không lưu trữ</string>
<string name="unarchived">Thẻ đã được mở khóa</string>
<string name="noBarcode">Không có mã vạch</string>
<string name="chooseValidFromDate">Chọn ngày hợp lệ</string>
<string name="action_display_options">Tùy chỉnh hiển thị</string>
@@ -151,7 +151,7 @@
<string name="options">Tùy chọn</string>
<string name="sendLabel">Gửi…</string>
<string name="importOptionFilesystemButton">Lấy từ hệ thống</string>
<string name="settings_magenta_theme">Màu tím đỏ</string>
<string name="settings_magenta_theme">Màu sắc tố tím và đỏ</string>
<string name="importOptionApplicationButton">Dùng ứng dụng khác</string>
<string name="failedGeneratingShareURL">Không tạo được URL chia sẻ. Xin hãy báo cáo sự cố này.</string>
<string name="selectColor">Chọn màu</string>
@@ -274,4 +274,7 @@
<string name="switchToFrontImage">Chuyển sang hình ảnh phía trước</string>
<string name="openBackImageInGalleryApp">Mở lại hình ảnh trong ứng dụng thư viện</string>
<string name="failedToRetrieveImageFile">Không thể truy xuất tệp hình ảnh</string>
<string name="app_contributors">Được thực hiện bởi: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="app_license">Phần mềm libre được bảo vệ bản quyền theo giấy phép GPLv3+.</string>
<string name="settings_follow_sensor_orientation">Luôn xoay (bỏ qua thiết đặt hệ thống)</string>
</resources>

View File

@@ -276,4 +276,5 @@
<string name="addWithoutBarcode">不使用条形码添加卡片</string>
<string name="field_must_not_be_empty">字段不能为空</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">始终旋转(忽略系统设置)</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="action_search">搜尋</string>
<string name="action_add">新增</string>
<string name="noGiftCards">點選 + 按鈕以新增卡片,或從 ⋮ 選單中匯入。</string>
@@ -275,4 +275,5 @@
<string name="enter_card_id">輸入卡片上的 ID 或文字</string>
<string name="settings_display_barcode_max_brightness_summary">一些條碼掃描器需要此設定方能運作</string>
<string name="field_must_not_be_empty">欄位不能為空</string>
<string name="settings_follow_sensor_orientation">始終旋轉(忽略系統設定)</string>
</resources>

View File

@@ -1,9 +1,8 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import org.junit.Test;
@@ -11,12 +10,6 @@ import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.shadows.ShadowLooper;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)

View File

@@ -1,5 +1,11 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
@@ -13,19 +19,12 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Currency;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@RunWith(RobolectricTestRunner.class)
public class DatabaseTest {
private SQLiteDatabase mDatabase;

View File

@@ -1,5 +1,8 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@@ -14,9 +17,6 @@ import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import static org.junit.Assert.assertEquals;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
public class ImportExportActivityTest {
private void registerIntentHandler(String handler) {

View File

@@ -1,5 +1,11 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
@@ -45,12 +51,6 @@ import protect.card_locker.importexport.ImportExportResultType;
import protect.card_locker.importexport.MultiFormatExporter;
import protect.card_locker.importexport.MultiFormatImporter;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
public class ImportExportTest {
private Activity activity;

View File

@@ -1,5 +1,9 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
@@ -19,10 +23,6 @@ import java.math.BigDecimal;
import java.util.Currency;
import java.util.Date;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@RunWith(RobolectricTestRunner.class)
public class ImportURITest {
private ImportURIHelper importURIHelper;

View File

@@ -1,5 +1,9 @@
package protect.card_locker;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import android.app.Activity;
import android.content.SharedPreferences;
import android.database.Cursor;
@@ -8,6 +12,9 @@ import android.graphics.Color;
import android.view.View;
import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.preference.PreferenceManager;
import com.google.zxing.BarcodeFormat;
import org.junit.Before;
@@ -20,13 +27,6 @@ import org.robolectric.shadows.ShadowLog;
import java.math.BigDecimal;
import java.util.Currency;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.preference.PreferenceManager;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
@RunWith(RobolectricTestRunner.class)
public class LoyaltyCardCursorAdapterTest {
private Activity activity;

View File

@@ -1,11 +1,19 @@
package protect.card_locker;
import static android.os.Looper.getMainLooper;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -27,9 +35,12 @@ import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.google.android.material.bottomappbar.BottomAppBar;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.tabs.TabLayout;
@@ -59,21 +70,6 @@ import java.time.temporal.ChronoUnit;
import java.util.Currency;
import java.util.Date;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.widget.TextViewCompat;
import androidx.preference.PreferenceManager;
import static android.os.Looper.getMainLooper;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
public class LoyaltyCardViewActivityTest {
private final String BARCODE_DATA = "428311627547";

View File

@@ -1,5 +1,10 @@
package protect.card_locker;
import static android.os.Looper.getMainLooper;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
import android.content.ComponentName;
import android.content.SharedPreferences;
@@ -10,6 +15,8 @@ import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.tabs.TabLayout;
import com.google.zxing.BarcodeFormat;
@@ -18,20 +25,12 @@ import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import androidx.recyclerview.widget.RecyclerView;
import static android.os.Looper.getMainLooper;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.robolectric.Shadows.shadowOf;
@RunWith(RobolectricTestRunner.class)
public class MainActivityTest {
private SharedPreferences prefs;

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.2.1" apply false
id("com.android.application") version "8.2.2" apply false
id("com.github.spotbugs") version "5.1.4" apply false
}

View File

@@ -4,8 +4,9 @@
1. Press "Commit" and "Push" on Weblate to ensure all translations are up to date
2. Merge Weblate pull request
3. Update `CHANGELOG.md` with the new version name and the release date
4. Update `app/build.gradle` with the new `versionCode` and `versionName`
4. Update `app/build.gradle.kts` with the new `versionCode` and `versionName`
5. Build a new .apk: `KEYSTORE=/path/to/keystore KEYSTORE_ALIAS=catima ./build.sh`
6. Upload the APK to Google Play Open Testing
7. Push the version update: `git add CHANGELOG.md app/build.gradle && git commit -m "Release Catima <VERSION>" && git push`
7. Push the version update: `git add CHANGELOG.md app/build.gradle.kts && git commit -m "Release Catima <VERSION>" && git push`
8. Create a new release on GitHub and attach the `app-release.apk` and `SHA256SUMS` files
9. After the release has been approved on Google Play Production, update the metadata there: `bundle exec fastlane supply --version_code <VERSION_CODE>`

View File

@@ -3,3 +3,4 @@
- Oprava okrajového případu způsobujícího neplatný stav uživatelského rozhraní při přepínání zobrazování archivu
- Použití motivu nebo barvy karty pro navigační lištu (Android 8.1+)
- Aktualizovaný výběr data platnosti a vypršení platnosti
- Přidání možnosti vždy otáčet (ignoruje nastavení systému)

View File

@@ -0,0 +1 @@
- Cílový systém Android 14

View File

@@ -13,7 +13,7 @@ S tímto nezbytným nástrojem pro každodenní nošení (EDC) můžete nahradi
- Sdílejte kupony, exkluzivní nabídky, propagační kódy nebo karty a kódy pomocí libovolné aplikace.
- Tmavý motiv a možnosti zpřístupnění pro uživatele se zrakovým postižením.
- Vytvořeno pro všechny komunitou svobodného softwaru.
- Lokalizované ručně prováděné překlady pro více než 20 jazyků.
- Lokalizované ručně prováděné překlady pro více než 40 jazyků.
- Zdarma, podporováno příspěvky komunity.
- Používejte, studujte, měňte a sdílejte dle libosti <i>se všemi</i>.
- Nejen svobodný software / open source. <i>Copylefted</i> svobodný software (GPLv3+) na správu karet.

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))
- 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 die Karten-ID existiert. (Pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
- 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))

View File

@@ -1 +1 @@
- Verwendete Bibliotheken upgedatet
- Verwendete Bibliotheken aktualisiert

View File

@@ -1,4 +1,6 @@
- "Karte hinzufügen" Worklow verbessert
- Verbesserungen im Validierungsablauf
- Seltener UI Problemfall behoben, wenn man die Archivansicht umgeschaltet hat
- Theme oder Kartenfarbe wird für die Navigationsleiste verwendet (Android 8.1+)
- Fehler behoben, der die Benutzeroberfläche beim Umschalten der Archivansicht in einen ungültigen Zustand versetzte
- System- oder Kartenfarbe wird für die Navigationsleiste benutzt (Android 8.1+)
- Aktualisierung des Datumsselektors für Gültigkeits- und Ablaufdatum
- Option hinzugefügt, um die Drehung der Anzeige zu erzwingen (ignoriert die Systemeinstellung)

View File

@@ -0,0 +1 @@
- auf Android 14 richten

View File

@@ -13,9 +13,9 @@ Mit diesem unverzichtbaren Programm schaffst du Platz für Bargeld statt für nu
- Teile Gutscheine, exklusive Angebote, Werbeaktionscodes oder Karten und sonstige Codes mit allen Apps.
- Dunkles Design und Barrierefreiheit für sehbehinderte Nutzer.
- Von der Freien-Software-Gemeinschaft für alle Menschen gemacht.
- Lokalisierte, menschliche Übersetzungen für mehr als 20 Sprachen.
- Lokalisierte, menschliche Übersetzungen für mehr als 40 Sprachen.
- Kostenlos, unterstützt durch Gemeinschaftsbeiträge.
- Verwende, prüfe, ändere und teile die App, wie du willst; <i>mit Allen</i>.
- Verwende, prüfe, ändere und teile die App, wie du willst; <i>mit allen</i>.
- Nicht nur freie und quelloffene Software. Eine freie, <i>Copylefted</i> Software-Kartenverwaltung (GPLv3+).
Vereinfache dein Leben und deine Einkäufe, und verliere nie wieder einen Beleg, eine Gutscheinkarte oder ein Flugticket.

View File

@@ -0,0 +1,3 @@
- Target Android 14
- Open card icon in gallery on touch
- Improve design of Photos tab in edit view

View File

@@ -13,7 +13,7 @@ With this essential everyday carry (EDC) tool you can replace useless plastic wi
- Share coupons, exclusive offers, promo codes, or cards and codes using any app.
- Dark theme and accessibility options for vision impaired users.
- Made for everyone by the libre software community.
- Localized hand-made translations for 20+ languages.
- Localized hand-made translations for 40+ languages.
- Gratis, supported by community contributions.
- Use, study, change and share it as you wish; <i>with all</i>.
- Not only Free Software / Open Source. <i>Copylefted</i> libre software (GPLv3+) card management.

View File

@@ -1,5 +1,5 @@
- Cuando se edita un ID de tarjeta, se pre-rellena ahora el ID existente al empezar. (pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
- Restricción del ancho de los códigos de barras generados para reducir el uso de memoria y los errores de memoria agotada. (pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
-En la edición de tarjeta, cambio del botón "Introducir Tarjeta" por "Editar Tarjeta" si ya existe un ID de tarjeta. (pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
-Cambio de la combinación de colores para ser más tenue y compatible con el icono de la aplicación, y modificación de la distribución al ver una tarjeta por una más limpia. (pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
-Adición de un asistente de inicio que se ejecute en el primer uso de la aplicación. (pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))
- Al editar un ID de tarjeta, pre-poblar el ID existente para comenzar. (pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
- Limitar el ancho de los códigos de barras generados para reducir el uso de memoria y los errores de memoria. (pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
- Cuando edite una tarjeta, cambie el botón "Enter Card" para decir "Editar Tarjeta" si ya existe una tarjeta ID. (pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
- Cambiar el esquema de color para que sea más suave y compatible con el icono de la aplicación, y cambiar el diseño al ver una tarjeta para que sea más limpio. (pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
- Añadir un asistente de introducción que se inicia en el primer lanzamiento de la aplicación. (pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))

View File

@@ -1,22 +1,22 @@
Detenga la búsqueda de tarjetas de recompensa de plástico durante el pago en la tienda o en la tienda web.
<b>Escanea códigos de barras a tu dispositivo usando su cámara, olvídate de las tarjetas.</b>
Deje de buscar tarjetas de recompensa de plástico al pasar por caja en tiendas o tiendas web.
<b>Escanea códigos de barras en tu dispositivo usando su cámara, olvídate de las tarjetas.</b>
Olvídese de su billetera o manténgala ultraligera para objetos de valor.
Olvídese de la cartera, o manténgala ultraligera para los objetos de valor.
Con esta herramienta esencial de transporte diario (EDC), puede reemplazar el plástico inútil con dinero en efectivo.
Con esta herramienta esencial para llevar a diario (EDC) puede sustituir el plástico inútil por dinero en efectivo.
- Evita espiar con muy pocos permisos. Sin acceso a Internet y sin anuncios.
- Añade tarjetas o códigos con nombres y colores personalizables.
- Entrada de código manual si no hay un código de barras para almacenar o no se puede usar.
- Importación de tarjetas y códigos desde ficheros, Catima, FidMe, Llavero Tarjeta Fidelización, Stocard y Bóveda de Vales.
- Haga una copia de seguridad de todas sus tarjetas y transfiéralas a un nuevo dispositivo si lo desea.
- Comparta cupones, ofertas exclusivas, códigos promocionales o tarjetas y códigos usando cualquier aplicación.
- Evite espiar con muy pocos permisos. Sin acceso a Internet y sin anuncios.
- Añadir tarjetas o códigos con nombres y colores personalizables.
- Entrada manual de código si no hay código de barras para almacenar, o no se puede utilizar.
- Importar tarjetas y códigos de archivos, Catima, FidMe, Loyalty Card Keychain, Stocard y Voucher Vault.
- Haga una copia de seguridad de todas sus tarjetas y transferirlas a un nuevo dispositivo si lo desea.
- Comparte cupones, ofertas exclusivas, códigos promocionales o tarjetas y códigos utilizando cualquier aplicación.
- Tema oscuro y opciones de accesibilidad para usuarios con problemas de visión.
- Hecho para todos por la comunidad de software libre.
- Traducciones hechas a mano localizadas para más de 20 idiomas.
- Gratis, apoyado por contribuciones de la comunidad.
- Úsalo, estúdialo, cámbialo y compártelo como quieras; <i>con todo</i>.
- No solo Software Libre / Código Abierto. Gestión de tarjetas de software libre (GPLv3+) con <i>copyleft</i>.
- Hecho para todos por la comunidad del software libre.
- Traducciones localizadas a mano para más de 40 idiomas.
- Gratis, gracias a las contribuciones de la comunidad.
- Utilízala, estúdiala, modifícala y compártela como quieras; <i>con todos</i>.
- No sólo Software Libre / Open Source. <i>Copylefted</i> software libre (GPLv3+) gestión de tarjetas.
Simplifique su vida y sus compras, y nunca más pierda un recibo en papel, una tarjeta de regalo de pago en la tienda o un boleto de avión.
Llévate todas tus recompensas y bonificaciones contigo y ahorra sobre la marcha.
Simplifique su vida y sus compras, y no vuelva a perder un recibo en papel, una tarjeta regalo de pago en tienda o un billete de avión.
Llévate todos tus premios y bonificaciones contigo y ahorra sobre la marcha.

View File

@@ -0,0 +1,5 @@
- कार्ड आईडी संपादित करते समय, शुरू करने के लिए मौजूदा आईडी को पहले से भरें। (खींचें #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
- मेमोरी उपयोग को कम करने और मेमोरी त्रुटियों को दूर करने के लिए जेनरेट किए गए बारकोड की चौड़ाई सीमित करें। (#103 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/103))
- कार्ड संपादित करते समय, यदि कार्ड आईडी पहले से मौजूद है तो "कार्ड दर्ज करें" बटन को बदलकर "कार्ड संपादित करें" कहें। (#104 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/104))
- रंग योजना को नरम और ऐप आइकन के साथ संगत करने के लिए बदलें, और कार्ड को साफ-सुथरा देखने के लिए लेआउट बदलें। (#107 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/107))
- एक परिचय विज़ार्ड जोड़ें जो ऐप के पहले लॉन्च पर लॉन्च होता है। (#108 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/108))

View File

@@ -1,4 +1,4 @@
-लम्बे दबाव पर गैलरी में इमेज को खोलें
-संवादों में मटेरियल स्टाइल लागू करें
-Catima पर इमेज साझा करके कार्ड बनाने का समर्थन
-कार्ड स्क्रीन पर त्वरित खर्च बटन जोड़ें
- लंबे समय तक दबाकर रखने पर गैलरी में छवि खोलें
- संवाद में सामग्री शैली लागू करें
- कैटिमा में एक छवि साझा करके ग्रीटिंग कार्ड का समर्थन करें
- कार्ड स्क्रीन में त्वरित खर्च बटन जोड़ें

View File

@@ -0,0 +1,2 @@
- अनुमति न देने वाले त्वरित व्यय संवाद को ठीक करें, विभाजक
- फ़ाइल प्रबंधक से छवि लोड करने का समर्थन करें

View File

@@ -0,0 +1 @@
- कार्ड अवलोकन में वास्तव में कौन सा विवरण देखना है, इसका चयन करने में सहायता

View File

@@ -0,0 +1,4 @@
- बारकोड प्रतिपादन में सुधार
- बाहरी ऐप्स के साथ बुनियादी अंतरसंचालनीयता (एंड्रॉइड 6.0+)
- पुनर्गठित सेटिंग्स स्क्रीन
- कुछ ब्राउज़रों से आयात को ठीक करें जो शेयर यूआरएल में पिछला / जोड़ते हैं

View File

@@ -0,0 +1,3 @@
- बेहतर कैटिमा आयातक (आयात करते समय गुम हुए कार्डों को ठीक करता है)
- वैध दिनांक/समाप्ति तिथि निर्धारित करते समय स्क्रीन को घुमाते समय क्रैश को ठीक करें
- यूआई में मामूली बदलाव

View File

@@ -0,0 +1,2 @@
- v0.11 में बदलाव से बारकोड ड्राइंग की मेमोरी का उपयोग कम हो गया, लेकिन बारकोड आयाम प्रभावित हुआ। मेमोरी उपयोग को कम करते हुए बारकोड आयामों को बनाए रखने के लिए इसे अब बदल दिया गया है। (खींचें #126 (https://github.com/brarcher/loyalty-card-locker/pull/126))
- जर्मन और फ़्रेंच अनुवाद अपडेट करें। (#122 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/122), #124 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/124) , #125 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/125))

View File

@@ -0,0 +1,4 @@
- मामूली यूआई सुधार
- कार्ड संपादन स्क्रीन को घुमाते समय रीसेट होने वाली वैध और समाप्ति तिथियों को ठीक करें
- कलर पिकर दिखाए जाने पर स्क्रीन को घुमाते समय क्रैश को ठीक करें
- स्टोकार्ड आयात ठीक करता है

View File

@@ -0,0 +1,3 @@
- "संग्रह मोड" को "प्रदर्शन विकल्प" (पहले "विवरण दिखाएं") मेनू में ले जाएं
- एंड्रॉइड 13 प्रति-ऐप भाषा समर्थन
- ऐप में गोपनीयता नीति, चेंजलॉग और लाइसेंस एम्बेड करें

View File

@@ -0,0 +1,6 @@
- "कार्ड जोड़ें" वर्कफ़्लो को परिष्कृत करें
- सत्यापन प्रवाह में सुधार
- संग्रह दिखाते समय टॉगल करते समय अमान्य यूआई स्थिति पैदा करने वाले एज केस को ठीक करें
- नेविगेशन बार के लिए थीम या कार्ड रंग का उपयोग करें (एंड्रॉइड 8.1+)
- अद्यतन वैधता और समाप्ति तिथि चयनकर्ता
- हमेशा घुमाने का विकल्प जोड़ें (सिस्टम सेटिंग्स को अनदेखा करें)

View File

@@ -0,0 +1 @@
- लक्ष्य एंड्रॉइड 14

View File

@@ -0,0 +1,3 @@
- कार्ड प्रदर्शित करते समय स्क्रीन रोटेशन लॉक मेनू विकल्प जोड़ें। यदि लॉक किया गया है, तो स्क्रीन अपने "प्राकृतिक" ओरिएंटेशन में परिवर्तित हो जाएगी और आगे स्क्रीन रोटेशन अवरुद्ध हो जाएगा। (खींचें #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))
- यदि कोई कार्ड मुख्य स्क्रीन से चुना गया है लेकिन लोड नहीं किया जा सकता है, तो एप्लिकेशन शान से विफल हो जाता है और एक संदेश पोस्ट करता है। (खींचें #132 (https://github.com/brarcher/loyalty-card-locker/pull/132))
- उस मामले को ठीक करें जहां इंट्रो विज़ार्ड के लिए लेआउट आईडी नहीं मिल सके। (खींचें #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))

View File

@@ -0,0 +1,2 @@
- ऐप शॉर्टकट्स (एंड्रॉइड 7.1+) के लिए समर्थन जोड़ें, जहां सबसे हाल ही में उपयोग किए गए कार्ड शॉर्टकट के रूप में दिखाई देंगे। (#145 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/145))
- एंड्रॉइड 7.1 से नीचे चलने वाले उपकरणों का समर्थन करने के लिए एक विजेट जोड़ें जो पिन किए गए ऐप शॉर्टकट की तरह काम करता है। (खींचें #142 (https://github.com/brarcher/loyalty-card-locker/pull/142))

View File

@@ -0,0 +1,5 @@
- कार्ड जोड़ते या संपादित करते समय होम स्क्रीन पर शॉर्टकट जोड़ने के लिए समर्थन जोड़ें। (#155 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/155))
- विजेट हटा दें, क्योंकि यह शॉर्टकट का खराब विकल्प था। (#155 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/155))
- एंड्रॉइड 7+ पर बैकअप निर्यात करना ठीक करें। (#153 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/153))
- बैकअप डेटा निर्यात करते समय अधिक सटीक माइम प्रकार की रिपोर्ट करें। (खींचें #156 (https://github.com/brarcher/loyalty-card-locker/pull/156))
- उस बग को ठीक करें जहां कार्ड को संपादित नहीं किया जा सका। (#155 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/155))

View File

@@ -0,0 +1,2 @@
- लॉन्चर/होमस्क्रीन से लॉयल्टी कार्ड शॉर्टकट जोड़ने के लिए समर्थन जोड़ें। (खींचें #161 (https://github.com/brarcher/loyalty-card-locker/pull/161))
- ऐप से ही लॉयल्टी कार्ड शॉर्टकट जोड़ने के लिए समर्थन हटा दें। इससे शॉर्टकट अनुमति की आवश्यकता समाप्त हो जाती है। (खींचें #163 (https://github.com/brarcher/loyalty-card-locker/pull/163))

View File

@@ -0,0 +1,2 @@
- एंड्रॉइड एसडीके 24+ पर समस्या ठीक करें जहां फ़ाइल चयनकर्ता आयात विकल्प का उपयोग करने से क्रैश हो जाएगा। (#170 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/170))
- नया आइकन और रंग योजना। (खींचें #171 (https://github.com/brarcher/loyalty-card-locker/pull/171))

View File

@@ -0,0 +1 @@
- कुछ एंड्रॉइड संस्करणों (संभवतः एंड्रॉइड 5 और उससे नीचे) पर इंस्टॉल के दौरान वर्कअराउंड क्रैश। (खींचें #184 (https://github.com/brarcher/loyalty-card-locker/pull/184))

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