Compare commits

..

113 Commits

Author SHA1 Message Date
Sylvia van Os
a36775c6fd Release Catima 2.14.0 2022-01-14 22:38:52 +01:00
Sylvia van Os
cae95d2577 Update screenshots to Material You 2022-01-14 21:54:10 +01:00
bors[bot]
1c95a767c0 Merge #741
741: Material You redesign r=TheLastProject a=TheLastProject

I'm not super excited about the new dark theme's primary colour as generated by https://material-foundation.github.io/material-theme-builder/ for primary colour `#A83536` but alas...

![image](https://user-images.githubusercontent.com/1885159/149578453-72a6c345-e2ec-4271-9110-7ee39356b385.png)


Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sylvia van Os <sylvia@hackerchick.me>
2022-01-14 20:36:05 +00:00
Sylvia van Os
26fd3e3a58 Make spotBugs happy 2022-01-14 21:35:02 +01:00
Sylvia van Os
e79be213fc Fix lint 2022-01-14 21:26:29 +01:00
Sylvia van Os
2010b9a25c Card-related colours on view screen 2022-01-14 21:05:50 +01:00
Sylvia van Os
355c2f9ceb Material You redesign 2022-01-14 20:27:11 +01:00
Sylvia van Os
43daeec5c3 Merge pull request #738 from TheLastProject/dependabot/gradle/androidx.constraintlayout-constraintlayout-2.1.3
Bump constraintlayout from 2.1.2 to 2.1.3
2022-01-14 07:23:26 +01:00
dependabot[bot]
5ddf77dd63 Bump material from 1.4.0 to 1.5.0
Bumps [material](https://github.com/material-components/material-components-android) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/material-components/material-components-android/releases)
- [Commits](https://github.com/material-components/material-components-android/compare/1.4.0...1.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-14 02:26:18 +00:00
dependabot[bot]
64fb91d644 Bump constraintlayout from 2.1.2 to 2.1.3
Bumps [constraintlayout](https://github.com/androidx/constraintlayout) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/androidx/constraintlayout/releases)
- [Commits](https://github.com/androidx/constraintlayout/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-14 02:26:13 +00:00
Sylvia van Os
4921d9f4b0 Merge pull request #736 from TheLastProject/dependabot/gradle/androidx.core-core-splashscreen-1.0.0-beta01
Bump core-splashscreen from 1.0.0-alpha02 to 1.0.0-beta01
2022-01-13 08:19:33 +01:00
Sylvia van Os
8f9dd584b1 Merge pull request #735 from TheLastProject/dependabot/gradle/androidx.appcompat-appcompat-1.4.1
Bump appcompat from 1.4.0 to 1.4.1
2022-01-13 08:17:16 +01:00
dependabot[bot]
04f2cffeb3 Bump core-splashscreen from 1.0.0-alpha02 to 1.0.0-beta01
Bumps core-splashscreen from 1.0.0-alpha02 to 1.0.0-beta01.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-13 02:24:29 +00:00
dependabot[bot]
8ca899b7d1 Bump appcompat from 1.4.0 to 1.4.1
Bumps appcompat from 1.4.0 to 1.4.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-13 02:24:23 +00:00
bors[bot]
c0f3e814a0 Merge #734
734: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: DEL <mylnico@yahoo.fr>
Co-authored-by: 109247019824 <stoyan@gmx.com>
2022-01-12 07:03:19 +00:00
109247019824
1eb8d03b74 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2022-01-12 07:53:48 +01:00
DEL
ec0dc6bd4c Translated using Weblate (French)
Currently translated at 13.4% (13 of 97 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2022-01-12 07:53:48 +01:00
bors[bot]
cd7b3d5970 Merge #733
733: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: vesp <vesp@post.cz>
Co-authored-by: Altons <marsupilami450@gmail.com>
Co-authored-by: Petr Novák <nit.monkey@gmail.com>
2022-01-10 22:55:22 +00:00
Petr Novák
55843899da Translated using Weblate (Czech)
Currently translated at 98.9% (96 of 97 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2022-01-10 23:53:36 +01:00
Altons
d639013bea Translated using Weblate (German)
Currently translated at 4.1% (4 of 97 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2022-01-10 23:53:33 +01:00
Altons
45785b66e7 Translated using Weblate (French)
Currently translated at 9.2% (9 of 97 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2022-01-10 23:53:33 +01:00
Altons
6a20366cc9 Translated using Weblate (German)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2022-01-10 23:53:32 +01:00
vesp
4856e9e971 Translated using Weblate (Czech)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2022-01-10 23:53:32 +01:00
bors[bot]
4141856287 Merge #732
732: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Petr Novák <nit.monkey@gmail.com>
2022-01-09 22:24:51 +00:00
Petr Novák
12196fc9b1 Translated using Weblate (Czech)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2022-01-09 23:21:07 +01:00
Sylvia van Os
c73e7924ad Release Catima 2.13.1 2022-01-09 15:51:50 +01:00
Sylvia van Os
acf83087f4 Merge branch 'master' of github.com:TheLastProject/loyalty-card-locker 2022-01-09 15:00:26 +01:00
Sylvia van Os
8ef507c011 Fix breaking scrolling 2022-01-09 15:00:20 +01:00
bors[bot]
d36f82df05 Merge #728
728: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: vesp <vesp@post.cz>
Co-authored-by: J. Lavoie <j.lavoie@net-c.ca>
Co-authored-by: Heimen Stoffels <vistausss@fastmail.com>
Co-authored-by: Maciej Błędkowski <mble@tuta.io>
Co-authored-by: solokot <solokot@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
2022-01-09 09:47:42 +00:00
Oğuz Ersen
5f50e86234 Translated using Weblate (Turkish)
Currently translated at 49.4% (48 of 97 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2022-01-09 10:45:38 +01:00
Oğuz Ersen
733c9885e8 Translated using Weblate (Turkish)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2022-01-09 10:45:38 +01:00
solokot
4b7acefece Translated using Weblate (Russian)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2022-01-09 10:45:38 +01:00
Maciej Błędkowski
a6b950e2e1 Translated using Weblate (Polish)
Currently translated at 98.3% (234 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2022-01-09 10:45:37 +01:00
Heimen Stoffels
c21f8098ef Translated using Weblate (Dutch)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2022-01-09 10:45:37 +01:00
J. Lavoie
3ccce45f17 Translated using Weblate (Italian)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2022-01-09 10:45:37 +01:00
J. Lavoie
f096f63352 Translated using Weblate (French)
Currently translated at 100.0% (238 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2022-01-09 10:45:37 +01:00
J. Lavoie
babd6ff9bb Translated using Weblate (German)
Currently translated at 99.5% (237 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2022-01-09 10:45:37 +01:00
vesp
3c5dea6fbf Translated using Weblate (Czech)
Currently translated at 86.5% (206 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2022-01-09 10:45:37 +01:00
Sylvia van Os
3bf7d827a1 Merge pull request #727 from TheLastProject/create-pull-request/patch-1641705432
Update contributors
2022-01-09 10:45:34 +01:00
TheLastProject
eea03dd516 Update contributors 2022-01-09 05:17:12 +00:00
bors[bot]
92ceb7ee50 Merge #726
726: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
2022-01-07 21:28:52 +00:00
Allan Nordhøy
aba5dbfb38 Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.8% (233 of 238 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2022-01-07 22:26:43 +01:00
Sylvia van Os
1ba4839544 Merge branch 'master' of github.com:TheLastProject/loyalty-card-locker 2022-01-07 22:26:37 +01:00
Sylvia van Os
cca68cfcc5 Simplify 2022-01-07 22:26:29 +01:00
bors[bot]
d2043c331a Merge #725
725: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Maciej Błędkowski <mble@tuta.io>
2022-01-07 21:09:35 +00:00
Maciej Błędkowski
b57bc7d7b6 Translated using Weblate (Polish)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2022-01-07 22:08:54 +01:00
Sylvia van Os
23fb6d9c6a Merge pull request #724 from TheLastProject/create-pull-request/patch-1641589559
Update Fastlane changelogs
2022-01-07 22:08:50 +01:00
TheLastProject
2498ee0354 Update Fastlane changelogs 2022-01-07 21:05:59 +00:00
Sylvia van Os
eb38d0a8aa Accessibility fixes 2022-01-07 22:02:51 +01:00
bors[bot]
cb0deaae27 Merge #720
720: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: solokot <solokot@gmail.com>
Co-authored-by: IllusiveMan196 <hamsterrv@gmail.com>
2022-01-06 17:00:49 +00:00
IllusiveMan196
8220c8b32e Translated using Weblate (Ukrainian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2022-01-06 17:54:58 +01:00
solokot
8458a2e79a Translated using Weblate (Russian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2022-01-06 17:54:57 +01:00
bors[bot]
d436a20b23 Merge #718
718: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Altons <marsupilami450@gmail.com>
2022-01-04 19:39:02 +00:00
Altons
c24f3b6ece Translated using Weblate (French)
Currently translated at 8.3% (8 of 96 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2022-01-04 19:55:38 +01:00
Altons
d5cb1a79d2 Translated using Weblate (French)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2022-01-04 19:55:38 +01:00
Altons
7040dbf997 Translated using Weblate (German)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2022-01-04 19:55:38 +01:00
Sylvia van Os
d1685f2557 More metadata fixes 2022-01-03 21:05:11 +01:00
Sylvia van Os
36237d9b3e Release Catima 2.13.0 2022-01-03 19:19:34 +01:00
bors[bot]
f968aba926 Merge #716
716: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Heimen Stoffels <vistausss@fastmail.com>
Co-authored-by: solokot <solokot@gmail.com>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
2022-01-03 18:00:48 +00:00
Oğuz Ersen
2d7960ddc4 Translated using Weblate (Turkish)
Currently translated at 48.9% (47 of 96 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2022-01-03 18:59:01 +01:00
Oğuz Ersen
4cdd168b8c Translated using Weblate (Turkish)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2022-01-03 18:59:00 +01:00
solokot
9de54872f3 Translated using Weblate (Russian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2022-01-03 18:58:59 +01:00
Heimen Stoffels
f8f0edd8d3 Translated using Weblate (Dutch)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2022-01-03 18:58:59 +01:00
Allan Nordhøy
3703f3d1ac Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.7% (232 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2022-01-03 18:58:59 +01:00
Michael Moroni
3bbd16e3a9 Translated using Weblate (Italian)
Currently translated at 100.0% (235 of 235 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2022-01-03 18:58:59 +01:00
Sylvia van Os
a2947d1f58 Metadata fixes 2022-01-03 18:30:06 +01:00
Sylvia van Os
4b94dd8b48 Merge branch 'master' of github.com:TheLastProject/loyalty-card-locker 2022-01-03 17:47:57 +01:00
Sylvia van Os
62376769cd Update screenshots 2022-01-03 17:47:48 +01:00
Sylvia van Os
e057a24526 Merge pull request #715 from TheLastProject/create-pull-request/patch-1641158322
Update Fastlane changelogs
2022-01-02 22:19:54 +01:00
TheLastProject
25cc1a1160 Update Fastlane changelogs 2022-01-02 21:18:42 +00:00
Sylvia van Os
d7ed4aeff8 Merge branch 'master' of github.com:TheLastProject/loyalty-card-locker 2022-01-02 22:18:22 +01:00
Sylvia van Os
58ebb7c7bf Improve star icon contrast in main view 2022-01-02 22:18:11 +01:00
bors[bot]
be2c586820 Merge #714
714: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Michael Moroni <michaelmoroni@disroot.org>
Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Co-authored-by: ssantos <ssantos@web.de>
2022-01-02 20:43:24 +00:00
ssantos
8a0b2d9460 Translated using Weblate (Portuguese)
Currently translated at 13.5% (13 of 96 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2022-01-02 21:42:33 +01:00
ssantos
4b1583ce4c Translated using Weblate (Portuguese (Portugal))
Currently translated at 87.6% (205 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt_PT/
2022-01-02 21:42:33 +01:00
ssantos
83c611f4ae Translated using Weblate (Portuguese)
Currently translated at 87.6% (205 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt/
2022-01-02 21:42:33 +01:00
Oğuz Ersen
0a7082bed5 Translated using Weblate (Turkish)
Currently translated at 44.7% (43 of 96 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2022-01-02 21:42:33 +01:00
Allan Nordhøy
94c84c60f5 Translated using Weblate (Norwegian Bokmål)
Currently translated at 20.8% (20 of 96 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nb_NO/
2022-01-02 21:42:33 +01:00
Allan Nordhøy
4ce7f475f4 Translated using Weblate (Norwegian Bokmål)
Currently translated at 98.7% (231 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2022-01-02 21:42:33 +01:00
Michael Moroni
75057d3c41 Translated using Weblate (Italian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2022-01-02 21:42:33 +01:00
Sylvia van Os
62fce7231d Merge pull request #713 from TheLastProject/create-pull-request/patch-1641156077
Update Fastlane changelogs
2022-01-02 21:42:30 +01:00
TheLastProject
d201d2e98f Update Fastlane changelogs 2022-01-02 20:41:17 +00:00
Sylvia van Os
36ff4ca9ae Merge branch 'master' of github.com:TheLastProject/loyalty-card-locker 2022-01-02 21:40:57 +01:00
Sylvia van Os
a7a775bc01 Put all barcode related fields together in the edit screen 2022-01-02 21:40:44 +01:00
Sylvia van Os
d217ac8752 Merge pull request #709 from TheLastProject/create-pull-request/patch-1641100630
Update contributors
2022-01-02 09:07:47 +01:00
TheLastProject
d376569ba1 Update contributors 2022-01-02 05:17:10 +00:00
bors[bot]
1a09b1bd5e Merge #708
708: Update Fastlane changelogs r=TheLastProject a=github-actions[bot]

Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action

Co-authored-by: TheLastProject <TheLastProject@users.noreply.github.com>
2022-01-01 23:19:19 +00:00
TheLastProject
ec1f4f8fbd Update Fastlane changelogs 2022-01-01 23:14:01 +00:00
Sylvia van Os
3883617a34 Smaller header when details are hidden 2022-01-02 00:10:37 +01:00
bors[bot]
2e7c8f39a7 Merge #705
705: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: vesp <vesp@post.cz>
2022-01-01 18:00:31 +00:00
vesp
7fc2bdc46e Translated using Weblate (Czech)
Currently translated at 87.6% (205 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2022-01-01 18:54:31 +01:00
bors[bot]
c141a8986c Merge #703
703: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Maciej Błędkowski <mble@tuta.io>
2022-01-01 13:27:48 +00:00
Maciej Błędkowski
70ad884aa3 Translated using Weblate (Polish)
Currently translated at 100.0% (234 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2021-12-31 13:50:31 +01:00
bors[bot]
2bd8aed853 Merge #702
702: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
2021-12-28 16:14:08 +00:00
Oğuz Ersen
78f5908c33 Translated using Weblate (Turkish)
Currently translated at 33.3% (32 of 96 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2021-12-28 16:53:31 +01:00
Sylvia van Os
2f43febe95 Merge pull request #701 from TheLastProject/create-pull-request/patch-1640550052
Update Fastlane changelogs
2021-12-26 21:22:34 +01:00
TheLastProject
17d23de518 Update Fastlane changelogs 2021-12-26 20:20:52 +00:00
Sylvia van Os
af831cfdbd Fixed pressing the save button multiple times creating multiple entries
Fixes #691
2021-12-26 21:20:27 +01:00
bors[bot]
4476646317 Merge #700
700: Update contributors r=TheLastProject a=github-actions[bot]

Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action

Co-authored-by: TheLastProject <TheLastProject@users.noreply.github.com>
2021-12-26 07:44:16 +00:00
TheLastProject
958dc29689 Update contributors 2021-12-26 05:16:50 +00:00
Sylvia van Os
21216f3aa6 Release Catima 2.12.0 2021-12-23 17:41:06 +01:00
bors[bot]
808dd73221 Merge #697
697: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
2021-12-23 16:03:57 +00:00
Oğuz Ersen
e3bd82f4a2 Translated using Weblate (Turkish)
Currently translated at 28.4% (27 of 95 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2021-12-23 16:53:14 +01:00
Sylvia van Os
2cbb105c21 Merge pull request #696 from TheLastProject/create-pull-request/patch-1640123935
Update Fastlane changelogs
2021-12-21 23:01:58 +01:00
TheLastProject
40c364a5e8 Update Fastlane changelogs 2021-12-21 21:58:54 +00:00
Sylvia van Os
8c484078b4 Mention various small fixes 2021-12-21 22:58:33 +01:00
bors[bot]
f93f3b912d Merge #695
695: Translations update from Hosted Weblate r=TheLastProject a=weblate

Translations update from [Hosted Weblate](https://hosted.weblate.org) for [Catima/Catima](https://hosted.weblate.org/projects/catima/catima/).


It also includes following components:

* [Catima/Fastlane](https://hosted.weblate.org/projects/catima/fastlane/)



Current translation status:

![Weblate translation status](https://hosted.weblate.org/widgets/catima/-/catima/horizontal-auto.svg)


Co-authored-by: Yevgeny M <yevgenym.lg3@gmail.com>
Co-authored-by: IllusiveMan196 <hamsterrv@gmail.com>
Co-authored-by: Sylvia van Os <sylvia@hackerchick.me>
2021-12-20 17:09:03 +00:00
Sylvia van Os
934ef22a8c Translated using Weblate (Hebrew (Israel))
Currently translated at 33.7% (79 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/he_IL/
2021-12-20 12:51:14 +01:00
IllusiveMan196
732679f3f8 Translated using Weblate (Ukrainian)
Currently translated at 14.7% (14 of 95 strings)

Translation: Catima/Fastlane
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2021-12-19 08:33:17 +01:00
IllusiveMan196
2e7cbcbac9 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2021-12-19 08:33:17 +01:00
Yevgeny M
eb5161a382 Translated using Weblate (Hebrew (Israel))
Currently translated at 34.1% (80 of 234 strings)

Translation: Catima/Catima
Translate-URL: https://hosted.weblate.org/projects/catima/catima/he_IL/
2021-12-19 08:33:16 +01:00
bors[bot]
b765d77145 Merge #693
693: Update contributors r=TheLastProject a=github-actions[bot]

Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action

Co-authored-by: TheLastProject <TheLastProject@users.noreply.github.com>
2021-12-19 07:28:43 +00:00
TheLastProject
ad344c7d12 Update contributors 2021-12-19 05:16:53 +00:00
159 changed files with 1182 additions and 928 deletions

View File

@@ -1,8 +1,24 @@
# Changelog
## Unreleased - 96
## v2.14.0 - 99 (2022-01-14)
- Material You redesign
## v2.13.1 - 98 (2022-01-09)
- Fix various TalkBack-related bugs
## v2.13.0 - 97 (2022-01-03)
- Fixed pressing the save button multiple times creating multiple entries
- Lower card header size when hiding details to fit even more cards
- Restructure edit screen
- Improve star icon contrast in main view
## v2.12.0 - 96 (2021-12-23)
- Add CODE 93 support
- Various minor bugfixes and improvements
## v2.11.2 - 95 (2021-12-04)

View File

@@ -18,8 +18,8 @@ android {
applicationId "me.hackerchick.catima"
minSdkVersion 21
targetSdkVersion 31
versionCode 95
versionName "2.11.2"
versionCode 99
versionName "2.14.0"
vectorDrawables.useSupportLibrary true
multiDexEnabled true
@@ -80,17 +80,17 @@ android {
dependencies {
// AndroidX
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.exifinterface:exifinterface:1.3.3'
implementation 'androidx.palette:palette:1.0.0'
implementation 'androidx.preference:preference:1.1.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'com.google.android.material:material:1.5.0'
implementation 'com.github.yalantis:ucrop:2.2.7'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
// Splash Screen
implementation 'androidx.core:core-splashscreen:1.0.0-alpha02'
implementation 'androidx.core:core-splashscreen:1.0.0-beta01'
// Third-party
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'

View File

@@ -1,53 +1,13 @@
package protect.card_locker;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.util.TypedValue;
import androidx.appcompat.app.AppCompatActivity;
import androidx.preference.PreferenceManager;
import java.util.HashMap;
public class CatimaAppCompatActivity extends AppCompatActivity {
SharedPreferences pref;
HashMap<String, Integer> supportedThemes;
@Override
protected void attachBaseContext(Context base) {
// Apply chosen language
super.attachBaseContext(Utils.updateBaseContextLocale(base));
}
@Override
public Resources.Theme getTheme() {
if (supportedThemes == null) {
supportedThemes = new HashMap<>();
supportedThemes.put(getString(R.string.settings_key_blue_theme), R.style.AppTheme_blue);
supportedThemes.put(getString(R.string.settings_key_brown_theme), R.style.AppTheme_brown);
supportedThemes.put(getString(R.string.settings_key_green_theme), R.style.AppTheme_green);
supportedThemes.put(getString(R.string.settings_key_grey_theme), R.style.AppTheme_grey);
supportedThemes.put(getString(R.string.settings_key_magenta_theme), R.style.AppTheme_magenta);
supportedThemes.put(getString(R.string.settings_key_pink_theme), R.style.AppTheme_pink);
supportedThemes.put(getString(R.string.settings_key_sky_blue_theme), R.style.AppTheme_sky_blue);
supportedThemes.put(getString(R.string.settings_key_violet_theme), R.style.AppTheme_violet);
}
Resources.Theme theme = super.getTheme();
pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String themeName = pref.getString(getString(R.string.setting_key_theme_color), getString(R.string.settings_key_catima_theme));
theme.applyStyle(Utils.mapGetOrDefault(supportedThemes, themeName, R.style.AppTheme_NoActionBar), true);
return theme;
}
public int getThemeColor() {
TypedValue typedValue = new TypedValue();
Resources.Theme theme = getTheme();
theme.resolveAttribute(R.attr.colorPrimary, typedValue, true);
return typedValue.data;
}
}

View File

@@ -1,10 +1,7 @@
package protect.card_locker;
import android.Manifest;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -25,7 +22,6 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationCompat;
import androidx.core.content.ContextCompat;
import java.io.FileInputStream;
@@ -58,12 +54,6 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
final private TaskHandler mTasks = new TaskHandler();
private NotificationManager mNotifyManager;
private NotificationCompat.Builder mBuilder;
private static final int NOTIFICATION_IMPORT = 1;
private static final int NOTIFICATION_EXPORT = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -104,7 +94,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
try {
OutputStream writer = getContentResolver().openOutputStream(uri);
Log.e(TAG, "Starting file export with: " + result.toString());
startExport(writer, uri, exportPassword != null ? exportPassword.toCharArray() : null, true);
startExport(writer, uri, exportPassword.toCharArray(), true);
} catch (IOException e) {
Log.e(TAG, "Failed to export file: " + result.toString(), e);
onExportComplete(ImportExportResult.GenericFailure, uri);
@@ -266,59 +256,22 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
builder.show();
}
private void startProgressNotification(boolean importing) {
mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(this, NotificationType.getImportExportChannel(this));
mBuilder.setContentTitle(getString(importing ? R.string.importing : R.string.exporting))
.setContentText(null)
.setSmallIcon(R.drawable.ic_import_export_white_24dp)
.setColor(getThemeColor())
.setProgress(0, 0, true);
mNotifyManager.notify(importing ? NOTIFICATION_IMPORT : NOTIFICATION_EXPORT, mBuilder.build());
}
private void endProgressNotification(boolean importing, ImportExportResult result, PendingIntent sendIntent) {
String notificationTitle;
String notificationMessage;
if (result.equals(ImportExportResult.Success)) {
notificationTitle = getString(importing ? R.string.importSuccessfulTitle : R.string.exportSuccessfulTitle);
notificationMessage = getString(importing ? R.string.importSuccessful : R.string.exportSuccessful);
} else {
int reason = R.string.unknown_failure;
if (result.equals(ImportExportResult.BadPassword)) {
reason = R.string.incorrect_password;
}
notificationTitle = getString(importing ? R.string.importFailedTitle : R.string.exportFailedTitle);
notificationMessage = String.format(getString(importing ? R.string.importFailed : R.string.exportFailed), getString(reason));
}
mBuilder.setContentTitle(notificationTitle)
.setContentText(notificationMessage)
.setProgress(0,0, false);
if (sendIntent != null) {
mBuilder.addAction(R.drawable.ic_share, getString(R.string.sendLabel), sendIntent);
}
mNotifyManager.notify(importing ? NOTIFICATION_IMPORT : NOTIFICATION_EXPORT, mBuilder.build());
}
private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password, final boolean closeWhenDone) {
mTasks.flushTaskList(TaskHandler.TYPE.IMPORT, true, false, false);
ImportExportTask.TaskCompleteListener listener = (result, dataFormat1) -> {
onImportComplete(result, targetUri, dataFormat1);
if (closeWhenDone) {
try {
target.close();
} catch (IOException ioException) {
ioException.printStackTrace();
ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() {
@Override
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
onImportComplete(result, targetUri, dataFormat);
if (closeWhenDone) {
try {
target.close();
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
};
startProgressNotification(true);
importExporter = new ImportExportTask(ImportExportActivity.this,
dataFormat, target, password, listener);
mTasks.executeTask(TaskHandler.TYPE.IMPORT, importExporter);
@@ -326,18 +279,20 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
private void startExport(final OutputStream target, final Uri targetUri, char[] password, final boolean closeWhenDone) {
mTasks.flushTaskList(TaskHandler.TYPE.EXPORT, true, false, false);
ImportExportTask.TaskCompleteListener listener = (result, dataFormat) -> {
onExportComplete(result, targetUri);
if (closeWhenDone) {
try {
target.close();
} catch (IOException ioException) {
ioException.printStackTrace();
ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() {
@Override
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
onExportComplete(result, targetUri);
if (closeWhenDone) {
try {
target.close();
} catch (IOException ioException) {
ioException.printStackTrace();
}
}
}
};
startProgressNotification(false);
importExporter = new ImportExportTask(ImportExportActivity.this,
DataFormat.Catima, target, password, listener);
mTasks.executeTask(TaskHandler.TYPE.EXPORT, importExporter);
@@ -403,27 +358,72 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
}
private void onImportComplete(ImportExportResult result, Uri path, DataFormat dataFormat) {
endProgressNotification(true, result, null);
if (result == ImportExportResult.BadPassword) {
retryWithPassword(dataFormat, path);
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(this);
int messageId;
if (result == ImportExportResult.Success) {
builder.setTitle(R.string.importSuccessfulTitle);
messageId = R.string.importSuccessful;
} else {
builder.setTitle(R.string.importFailedTitle);
messageId = R.string.importFailed;
}
final String message = getResources().getString(messageId);
builder.setMessage(message);
builder.setNeutralButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
private void onExportComplete(ImportExportResult result, final Uri path) {
PendingIntent pendingIntent = null;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
int messageId;
if (result == ImportExportResult.Success) {
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, path);
sendIntent.setType("text/csv");
// set flag to give temporary permission to external app to use the FileProvider
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
pendingIntent = PendingIntent.getActivity(this, NOTIFICATION_EXPORT, sendIntent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
builder.setTitle(R.string.exportSuccessfulTitle);
messageId = R.string.exportSuccessful;
} else {
builder.setTitle(R.string.exportFailedTitle);
messageId = R.string.exportFailed;
}
endProgressNotification(false, result, pendingIntent);
final String message = getResources().getString(messageId);
builder.setMessage(message);
builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss());
if (result == ImportExportResult.Success) {
final CharSequence sendLabel = ImportExportActivity.this.getResources().getText(R.string.sendLabel);
builder.setPositiveButton(sendLabel, (dialog, which) -> {
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, path);
sendIntent.setType("text/csv");
// set flag to give temporary permission to external app to use the FileProvider
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
ImportExportActivity.this.startActivity(Intent.createChooser(sendIntent,
sendLabel));
dialog.dismiss();
});
}
builder.create().show();
}
}

View File

@@ -1,7 +1,7 @@
package protect.card_locker;
import android.app.Activity;
import android.app.NotificationManager;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.database.sqlite.SQLiteDatabase;
@@ -13,7 +13,6 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import androidx.core.app.NotificationCompat;
import protect.card_locker.async.CompatCallable;
import protect.card_locker.importexport.DataFormat;
import protect.card_locker.importexport.ImportExportResult;
@@ -23,13 +22,15 @@ import protect.card_locker.importexport.MultiFormatImporter;
public class ImportExportTask implements CompatCallable<ImportExportResult> {
private static final String TAG = "Catima";
private final Activity activity;
private final boolean doImport;
private final DataFormat format;
private Activity activity;
private boolean doImport;
private DataFormat format;
private OutputStream outputStream;
private InputStream inputStream;
private final char[] password;
private final TaskCompleteListener listener;
private char[] password;
private TaskCompleteListener listener;
private ProgressDialog progress;
/**
* Constructor which will setup a task for exporting to the given file
@@ -60,11 +61,11 @@ public class ImportExportTask implements CompatCallable<ImportExportResult> {
}
private ImportExportResult performImport(Context context, InputStream stream, SQLiteDatabase database, char[] password) {
ImportExportResult result = MultiFormatImporter.importData(context, database, stream, format, password);
ImportExportResult importResult = MultiFormatImporter.importData(context, database, stream, format, password);
Log.i(TAG, "Import result: " + result.name());
Log.i(TAG, "Import result: " + importResult.name());
return result;
return importResult;
}
private ImportExportResult performExport(Context context, OutputStream stream, SQLiteDatabase database, char[] password) {
@@ -83,6 +84,20 @@ public class ImportExportTask implements CompatCallable<ImportExportResult> {
return result;
}
public void onPreExecute() {
progress = new ProgressDialog(activity);
progress.setTitle(doImport ? R.string.importing : R.string.exporting);
progress.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
ImportExportTask.this.stop();
}
});
progress.show();
}
protected ImportExportResult doInBackground(Void... nothing) {
final SQLiteDatabase database = new DBHelper(activity).getWritableDatabase();
ImportExportResult result;
@@ -99,15 +114,15 @@ public class ImportExportTask implements CompatCallable<ImportExportResult> {
}
public void onPostExecute(Object castResult) {
ImportExportResult result = (ImportExportResult) castResult;
listener.onTaskComplete(result, format);
listener.onTaskComplete((ImportExportResult) castResult, format);
progress.dismiss();
Log.i(TAG, (doImport ? "Import" : "Export") + " Complete");
}
@Override
public void onPreExecute() {
protected void onCancelled() {
progress.dismiss();
Log.i(TAG, (doImport ? "Import" : "Export") + " Cancelled");
}
protected void stop() {

View File

@@ -101,6 +101,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.setExpiryField(null);
}
setHeaderHeight(inputHolder, mShowDetails);
Bitmap cardIcon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
if (cardIcon != null) {
inputHolder.mCardIcon.setImageBitmap(cardIcon);
@@ -109,7 +110,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.mCardIcon.setImageBitmap(Utils.generateIcon(mContext, loyaltyCard.store, loyaltyCard.headerColor).getLetterTile());
inputHolder.mCardIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
inputHolder.setIconBackgroundColor(loyaltyCard.headerColor != null ? loyaltyCard.headerColor : ContextCompat.getColor(mContext, R.color.colorPrimary));
inputHolder.setIconBackgroundColor(loyaltyCard.headerColor != null ? loyaltyCard.headerColor : R.attr.colorPrimary);
inputHolder.toggleStar(loyaltyCard.starStatus != 0, itemSelected(inputCursor.getPosition()));
@@ -121,6 +122,19 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.mRow.requestLayout();
}
private void setHeaderHeight(LoyaltyCardListItemViewHolder inputHolder, boolean expanded) {
int iconHeight;
if (expanded) {
iconHeight = ViewGroup.LayoutParams.MATCH_PARENT;
} else {
iconHeight = (int) mContext.getResources().getDimension(R.dimen.cardThumbnailSize);
}
inputHolder.mIconLayout.getLayoutParams().height = expanded ? 0 : iconHeight;
inputHolder.mCardIcon.getLayoutParams().height = iconHeight;
inputHolder.mTickIcon.getLayoutParams().height = iconHeight;
}
private void applyClickEvents(LoyaltyCardListItemViewHolder inputHolder, final int inputPosition) {
inputHolder.mRow.setOnClickListener(inputView -> mListener.onRowClicked(inputPosition));
@@ -200,7 +214,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
public TextView mStoreField, mNoteField, mBalanceField, mExpiryField;
public ImageView mCardIcon, mStarBackground, mStarBorder, mTickIcon;
public MaterialCardView mRow;
public MaterialCardView mRow, mIconLayout;
public ConstraintLayout mStar;
public View mDivider;
@@ -215,6 +229,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
mBalanceField = inputView.findViewById(R.id.balance);
mExpiryField = inputView.findViewById(R.id.expiry);
mIconLayout = inputView.findViewById(R.id.icon_layout);
mCardIcon = inputView.findViewById(R.id.thumbnail);
mStar = inputView.findViewById(R.id.star);
mStarBackground = inputView.findViewById(R.id.star_background);
@@ -302,10 +317,10 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
dark = !mDarkModeEnabled;
}
if (dark) {
mStarBorder.setImageResource(R.drawable.ic_unstarred_black);
mStarBorder.setImageResource(R.drawable.ic_unstarred_white);
mStarBackground.setImageResource(R.drawable.ic_starred_black);
} else {
mStarBorder.setImageResource(R.drawable.ic_unstarred_white);
mStarBorder.setImageResource(R.drawable.ic_unstarred_black);
mStarBackground.setImageResource(R.drawable.ic_starred_white);
}
if (enable) {

View File

@@ -153,7 +153,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
AlertDialog confirmExitDialog = null;
boolean validBalance = true;
Runnable warnOnInvalidBarcodeType;
Runnable barcodeImageGenerationFinishedCallback;
HashMap<String, Currency> currencies = new HashMap<>();
@@ -208,6 +208,10 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
private void updateTempState(LoyaltyCardField fieldName, Object value) {
tempLoyaltyCard = updateTempState(tempLoyaltyCard, fieldName, value);
if (initDone && (fieldName == LoyaltyCardField.cardId || fieldName == LoyaltyCardField.barcodeId || fieldName == LoyaltyCardField.barcodeType)) {
generateBarcode();
}
hasChanged = true;
}
@@ -223,7 +227,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
importLoyaltyCardUri = intent.getData();
Log.d(TAG, "View activity: id=" + loyaltyCardId
Log.d(TAG, "Edit activity: id=" + loyaltyCardId
+ ", updateLoyaltyCard=" + updateLoyaltyCard);
}
@@ -323,11 +327,10 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
cardImageBack = findViewById(R.id.backImage);
enterButton = findViewById(R.id.enterButton);
cardImageFront.setBackgroundColor(getThemeColor());
cardImageBack.setBackgroundColor(getThemeColor());
warnOnInvalidBarcodeType = () -> {
barcodeImageGenerationFinishedCallback = () -> {
if (!(boolean) barcodeImage.getTag()) {
barcodeImageLayout.setVisibility(View.GONE);
Toast.makeText(LoyaltyCardEditActivity.this, getString(R.string.wrongValueForBarcodeType), Toast.LENGTH_LONG).show();
}
};
@@ -524,8 +527,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
} else {
updateTempState(LoyaltyCardField.barcodeId, s.toString());
}
generateOrHideBarcode();
}
@Override
@@ -556,8 +557,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
} catch (IllegalArgumentException e) {
}
}
generateOrHideBarcode();
}
}
@@ -669,7 +668,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
});
mCropperOptions = new UCrop.Options();
setCropperTheme();
}
// ucrop 2.2.6 initial aspect ratio is glitched when 0x0 is used as the initial ratio option
@@ -691,13 +689,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
);
}
private void setCropperTheme() {
mCropperOptions.setToolbarColor(getThemeColor());
mCropperOptions.setStatusBarColor(getThemeColor());
mCropperOptions.setToolbarWidgetColor(Color.WHITE);
mCropperOptions.setActiveControlsWidgetColor(getThemeColor());
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
@@ -889,7 +880,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
hasChanged = hadChanges;
}
generateOrHideBarcode();
generateBarcode();
enterButton.setOnClickListener(new EditCardIdAndBarcode());
barcodeImage.setOnClickListener(new EditCardIdAndBarcode());
@@ -909,7 +900,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
protected void setColorFromIcon() {
Object icon = thumbnail.getTag();
if (icon != null && (icon instanceof Bitmap)) {
updateTempState(LoyaltyCardField.headerColor, new Palette.Builder((Bitmap) icon).generate().getDominantColor(tempLoyaltyCard.headerColor != null ? tempLoyaltyCard.headerColor : ContextCompat.getColor(this, R.color.colorPrimary)));
updateTempState(LoyaltyCardField.headerColor, new Palette.Builder((Bitmap) icon).generate().getDominantColor(tempLoyaltyCard.headerColor != null ? tempLoyaltyCard.headerColor : R.attr.colorPrimary));
} else {
Log.d("setColorFromIcon", "attempting header color change from icon but icon does not exist");
}
@@ -1243,6 +1234,11 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
}
private void doSave() {
if (isFinishing()) {
// If we are done saving, ignore any queued up save button presses
return;
}
if (tempStoredOldBarcodeValue != null) {
askBarcodeChange(this::doSave);
return;
@@ -1398,27 +1394,22 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
);
}
private void showBarcode() {
barcodeImageLayout.setVisibility(View.VISIBLE);
}
private void generateBarcode() {
if (tempLoyaltyCard == null) {
return;
}
private void hideBarcode() {
barcodeImageLayout.setVisibility(View.GONE);
}
mTasks.flushTaskList(TaskHandler.TYPE.BARCODE, true, false, false);
private void generateOrHideBarcode() {
String cardIdString = tempLoyaltyCard.barcodeId != null ? tempLoyaltyCard.barcodeId : tempLoyaltyCard.cardId;
CatimaBarcode barcodeFormat = tempLoyaltyCard.barcodeType;
if (barcodeFormat == null || cardIdString.isEmpty() || !barcodeFormat.isSupported()) {
hideBarcode();
} else {
generateBarcode(cardIdString, barcodeFormat);
if (cardIdString == null || barcodeFormat == null) {
barcodeImageLayout.setVisibility(View.GONE);
return;
}
}
private void generateBarcode(String cardIdString, CatimaBarcode barcodeFormat) {
mTasks.flushTaskList(TaskHandler.TYPE.BARCODE, true, false, false);
barcodeImageLayout.setVisibility(View.VISIBLE);
if (barcodeImage.getHeight() == 0) {
Log.d(TAG, "ImageView size is not known known at start, waiting for load");
@@ -1431,17 +1422,15 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
barcodeImage.getViewTreeObserver().removeOnGlobalLayoutListener(this);
Log.d(TAG, "ImageView size now known");
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, warnOnInvalidBarcodeType);
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, barcodeImageGenerationFinishedCallback);
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
}
});
} else {
Log.d(TAG, "ImageView size known known, creating barcode");
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, warnOnInvalidBarcodeType);
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, barcodeImageGenerationFinishedCallback);
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
}
showBarcode();
}
private void generateIcon(String store) {
@@ -1471,30 +1460,24 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
}
View cardPart = findViewById(R.id.cardPart);
View barcodePart = findViewById(R.id.barcodePart);
View optionsPart = findViewById(R.id.optionsPart);
View picturesPart = findViewById(R.id.picturesPart);
if (getString(R.string.card).equals(part)) {
cardPart.setVisibility(View.VISIBLE);
barcodePart.setVisibility(View.GONE);
picturesPart.setVisibility(View.GONE);
// Explicitly hide barcode (fixes blurriness on redraw)
hideBarcode();
} else if (getString(R.string.barcode).equals(part)) {
cardPart.setVisibility(View.GONE);
barcodePart.setVisibility(View.VISIBLE);
optionsPart.setVisibility(View.GONE);
picturesPart.setVisibility(View.GONE);
// Redraw barcode due to size change (Visibility.GONE sets it to 0)
generateOrHideBarcode();
generateBarcode();
} else if (getString(R.string.options).equals(part)) {
cardPart.setVisibility(View.GONE);
optionsPart.setVisibility(View.VISIBLE);
picturesPart.setVisibility(View.GONE);
} else if (getString(R.string.photos).equals(part)) {
cardPart.setVisibility(View.GONE);
barcodePart.setVisibility(View.GONE);
optionsPart.setVisibility(View.GONE);
picturesPart.setVisibility(View.VISIBLE);
// Explicitly hide barcode (fixes blurriness on redraw)
hideBarcode();
} else {
throw new UnsupportedOperationException();
}

View File

@@ -3,6 +3,9 @@ package protect.card_locker;
import android.app.Application;
import androidx.appcompat.app.AppCompatDelegate;
import com.google.android.material.color.DynamicColors;
import protect.card_locker.preferences.Settings;
public class LoyaltyCardLockerApplication extends Application {

View File

@@ -2,6 +2,7 @@ package protect.card_locker;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
@@ -46,9 +47,9 @@ import androidx.appcompat.app.ActionBar;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.appcompat.widget.Toolbar;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.Guideline;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.widget.NestedScrollView;
@@ -63,6 +64,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
private GestureDetector mGestureDetector;
CoordinatorLayout coordinatorLayout;
ConstraintLayout mainLayout;
TextView cardIdFieldView;
BottomSheetBehavior behavior;
LinearLayout bottomSheet;
@@ -262,6 +264,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
importURIHelper = new ImportURIHelper(this);
coordinatorLayout = findViewById(R.id.coordinator_layout);
mainLayout = findViewById(R.id.mainLayout);
cardIdFieldView = findViewById(R.id.cardIdView);
bottomSheet = findViewById(R.id.bottom_sheet);
bottomSheetContentWrapper = findViewById(R.id.bottomSheetContentWrapper);
@@ -282,9 +285,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
centerGuideline = findViewById(R.id.centerGuideline);
barcodeScaler = findViewById(R.id.barcodeScaler);
maximizeButton.setBackgroundColor(getThemeColor());
minimizeButton.setBackgroundColor(getThemeColor());
bottomSheetButton.setBackgroundColor(getThemeColor());
barcodeScaler.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
@@ -379,9 +379,13 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
editButton.hide();
} else if (newState == BottomSheetBehavior.STATE_EXPANDED) {
bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24);
bottomSheetButton.setContentDescription(getString(R.string.hideMoreInfo));
mainLayout.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
editButton.hide();
} else if (newState == BottomSheetBehavior.STATE_COLLAPSED) {
bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24);
bottomSheetButton.setContentDescription(getString(R.string.showMoreInfo));
mainLayout.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
if (!isFullscreen) {
editButton.show();
}
@@ -523,7 +527,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
int expiryString = R.string.expiryStateSentence;
if (Utils.hasExpired(loyaltyCard.expiry)) {
expiryString = R.string.expiryStateSentenceExpired;
expiryView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.alert));
expiryView.setTextColor(Color.RED);
}
expiryView.setText(getString(expiryString, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.expiry)));
expiryView.setTextSize(settings.getFontSizeMax(settings.getMediumFont()));
@@ -561,6 +565,16 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
storeName.setTextColor(textColor);
landscapeToolbar.setTitleTextColor(textColor);
// Also apply colours to buttons
int darkenedColor = ColorUtils.blendARGB(backgroundHeaderColor, Color.BLACK, 0.1f);
maximizeButton.setBackgroundColor(darkenedColor);
minimizeButton.setBackgroundColor(darkenedColor);
bottomSheetButton.setBackgroundColor(darkenedColor);
maximizeButton.setColorFilter(textColor);
minimizeButton.setColorFilter(textColor);
bottomSheetButton.setColorFilter(textColor);
editButton.setBackgroundTintList(ColorStateList.valueOf(Utils.getComplementaryColor(darkenedColor)));
Bitmap icon = Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon);
if (icon != null) {
int backgroundAlphaColor = Utils.needsDarkForeground(backgroundHeaderColor) ? Color.WHITE : Color.BLACK;
@@ -830,12 +844,15 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
drawBarcode();
}
mainImage.setBackgroundColor(Color.WHITE);
mainImage.setContentDescription(getString(R.string.barcodeImageDescriptionWithType, format.prettyName()));
} else if (wantedImageType == ImageType.IMAGE_FRONT) {
mainImage.setImageBitmap(frontImageBitmap);
mainImage.setBackgroundColor(Color.TRANSPARENT);
mainImage.setContentDescription(getString(R.string.frontImageDescription));
} else if (wantedImageType == ImageType.IMAGE_BACK) {
mainImage.setImageBitmap(backImageBitmap);
mainImage.setBackgroundColor(Color.TRANSPARENT);
mainImage.setContentDescription(getString(R.string.backImageDescription));
} else {
throw new IllegalArgumentException("Unknown image type: " + wantedImageType);
}

View File

@@ -8,6 +8,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.recyclerview.widget.RecyclerView;
public class ManageGroupCursorAdapter extends LoyaltyCardCursorAdapter {
private HashMap<Integer, Integer> mIndexCardMap;
private HashMap<Integer, Boolean> mInGroupOverlay;

View File

@@ -109,7 +109,7 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
}
private void createGroup() {
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AlertDialogTheme);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.enter_group_name);
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_TEXT);

View File

@@ -1,29 +0,0 @@
package protect.card_locker;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Build;
public class NotificationType {
private final static String NOTIFICATION_IMPORT_EXPORT = "NOTIFICATION_IMPORT_EXPORT";
public static String getImportExportChannel(Context context) {
createNotificationChannel(context, NOTIFICATION_IMPORT_EXPORT, context.getString(R.string.importExport), context.getString(R.string.importExportDescription), NotificationManager.IMPORTANCE_HIGH);
return NOTIFICATION_IMPORT_EXPORT;
}
private static void createNotificationChannel(Context context, String channelId, CharSequence name, String description, int importance) {
// Create the NotificationType, but only on API 26+ because
// the NotificationType class is new and not in the support library
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(channelId, name, importance);
channel.setDescription(description);
// Register the channel with the system; you can't change the importance
// or other notification behaviors after this
NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
}
}

View File

@@ -448,4 +448,15 @@ public class Utils {
return loadImage(context.getCacheDir() + "/" + name);
}
// https://stackoverflow.com/a/59324801/8378787
public static int getComplementaryColor(int color) {
int R = color & 255;
int G = (color >> 8) & 255;
int B = (color >> 16) & 255;
int A = (color >> 24) & 255;
R = 255 - R;
G = 255 - G;
B = 255 - B;
return R + (G << 8) + ( B << 16) + ( A << 24);
}
}

View File

@@ -6,8 +6,6 @@ import android.database.sqlite.SQLiteDatabase;
import java.io.IOException;
import java.io.OutputStream;
import protect.card_locker.DBHelper;
/**
* Interface for a class which can export the contents of the database
* in a given format.

View File

@@ -7,8 +7,6 @@ import android.util.Log;
import java.io.IOException;
import java.io.OutputStream;
import protect.card_locker.DBHelper;
public class MultiFormatExporter {
private static final String TAG = "Catima";

View File

@@ -12,7 +12,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import protect.card_locker.DBHelper;
import protect.card_locker.FormatException;
public class MultiFormatImporter {

View File

@@ -6,6 +6,10 @@ import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatDelegate;
@@ -14,11 +18,6 @@ import androidx.fragment.app.DialogFragment;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import nl.invissvenska.numberpickerpreference.NumberDialogPreference;
import nl.invissvenska.numberpickerpreference.NumberPickerPreferenceDialogFragment;
import protect.card_locker.CatimaAppCompatActivity;
@@ -129,12 +128,6 @@ public class SettingsActivity extends CatimaAppCompatActivity {
return true;
});
Preference colorPreference = findPreference(getResources().getString(R.string.setting_key_theme_color));
assert colorPreference != null;
colorPreference.setOnPreferenceChangeListener((preference, o) -> {
refreshActivity(true);
return true;
});
localePreference.setOnPreferenceChangeListener((preference, newValue) -> {
refreshActivity(true);
return true;

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M7,10l5,5 5,-5z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M7,14l5,-5 5,5z"/>

View File

@@ -1,5 +1,5 @@
<vector android:autoMirrored="true" android:height="24dp"
android:tint="#FFFFFF" android:viewportHeight="24"
android:tint="?attr/colorControlNormal" android:viewportHeight="24"
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z"/>
</vector>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M7.41,18.59L8.83,20 12,16.83 15.17,20l1.41,-1.41L12,14l-4.59,4.59zM16.59,5.41L15.17,4 12,7.17 8.83,4 7.41,5.41 12,10l4.59,-4.59z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,5.83L15.17,9l1.41,-1.41L12,3 7.41,7.59 8.83,9 12,5.83zM12,18.17L8.83,15l-1.41,1.41L12,21l4.59,-4.59L15.17,15 12,18.17z"/>

View File

@@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>

View File

@@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/colorPrimary"
android:viewportWidth="24"
android:viewportHeight="24">
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="#FFFFFF"
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>

View File

@@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:pathData="M18,5l0,-3l-12,0l0,1.17l1.83,1.83z"
android:fillColor="#FFFFFF"/>

View File

@@ -2,7 +2,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:pathData="M6,2h12v3h-12z"
android:fillColor="#FFFFFF"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,17c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6h1.9c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM18,20L6,20L6,10h12v10z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/listItemHighlight" android:state_activated="true" />
</selector>

View File

@@ -1,4 +1,4 @@
<vector android:height="24dp" android:tint="#FFFFFF"
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>

View File

@@ -10,15 +10,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>
@@ -46,7 +44,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/version_history"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -61,12 +58,12 @@
app:layout_constraintTop_toBottomOf="@id/version_history_main" />
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -86,7 +83,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/credits"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -101,12 +97,12 @@
app:layout_constraintTop_toBottomOf="@id/credits_main" />
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -126,7 +122,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/help_translate_this_app"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -143,12 +138,12 @@
app:layout_constraintTop_toBottomOf="@id/translate_main"/>
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -168,7 +163,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/license"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -185,12 +179,12 @@
app:layout_constraintTop_toBottomOf="@id/license_main"/>
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -210,7 +204,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/source_repository"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -226,12 +219,12 @@
app:layout_constraintTop_toBottomOf="@id/repo_main" />
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -251,7 +244,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/privacy_policy"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -267,12 +259,12 @@
app:layout_constraintTop_toBottomOf="@id/privacy_main" />
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -292,7 +284,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/rate_this_app"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -308,12 +299,12 @@
app:layout_constraintTop_toBottomOf="@id/rate_main" />
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -333,7 +324,6 @@
android:fontFamily="sans-serif-medium"
android:padding="2dp"
android:text="@string/report_error"
android:textColor="@color/colorSecondaryText"
android:textSize="18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -349,12 +339,12 @@
android:padding="2dp"/>
<TextView
android:importantForAccessibility="no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:fontFamily="sans-serif-medium"
android:text="@string/arrow"
android:textColor="@color/colorSecondaryText"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -22,15 +22,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/groups"

View File

@@ -5,6 +5,7 @@
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:importantForAccessibility="no"
android:layout_width="match_parent"
android:layout_height="@dimen/barcode_disp_height"
android:layout_gravity="center_horizontal"

View File

@@ -2,19 +2,19 @@
<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="fill_parent"
android:layout_height="fill_parent">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<androidx.appcompat.widget.Toolbar
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
@@ -62,7 +62,8 @@
android:hint="AB1234"
android:importantForAutofill="no"
android:inputType="text"
android:minHeight="48dp" />
android:minHeight="48dp"
tools:ignore="ContentDescription" />
</LinearLayout>
<Button
android:id="@+id/noBarcode"

View File

@@ -43,7 +43,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:background="@color/mainLoyaltyCardBackground"
android:visibility="gone"/>
</RelativeLayout>

View File

@@ -43,8 +43,7 @@
android:layout_height="@dimen/cardThumbnailSize"
android:layout_weight="1"
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
android:contentDescription="@string/moveUp"
app:tint="@color/iconColor"/>
android:contentDescription="@string/moveUp"/>
<ImageButton
android:id="@+id/moveDown"
@@ -52,8 +51,7 @@
android:layout_height="@dimen/cardThumbnailSize"
android:layout_weight="1"
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
android:contentDescription="@string/moveDown"
app:tint="@color/iconColor"/>
android:contentDescription="@string/moveDown"/>
<ImageButton
android:id="@+id/edit"
@@ -61,8 +59,7 @@
android:layout_height="@dimen/cardThumbnailSize"
android:layout_weight="1"
app:srcCompat="@drawable/ic_mode_edit_white_24dp"
android:contentDescription="@string/edit"
app:tint="@color/iconColor"/>
android:contentDescription="@string/edit"/>
<ImageButton
android:id="@+id/delete"
@@ -70,8 +67,7 @@
android:layout_height="@dimen/cardThumbnailSize"
android:layout_weight="1"
app:srcCompat="@drawable/ic_delete_white_24dp"
android:contentDescription="@string/delete"
app:tint="@color/iconColor"/>
android:contentDescription="@string/delete"/>
</LinearLayout>

View File

@@ -7,15 +7,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>

View File

@@ -4,6 +4,6 @@
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:paddingRight="8dp"
style="@style/Widget.MaterialComponents.Chip.Choice"
style="@style/Widget.MaterialComponents.Chip.Filter"
app:checkedIconVisible="true"
android:textAppearance="?android:attr/textAppearance" />
android:textAppearance="?android:attr/textAppearance" />

View File

@@ -18,15 +18,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
@@ -39,7 +37,7 @@
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/barcode"/>
android:text="@string/options"/>
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -50,7 +48,6 @@
<ScrollView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/inputContrastBackground"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<TableLayout
android:layout_width="match_parent"
@@ -128,6 +125,94 @@
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<!-- Barcode ID -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding"
android:orientation="horizontal">
<!-- Barcode ID -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/barcodeIdView"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:hint="@string/barcodeId"
android:labelFor="@+id/barcodeIdView">
<AutoCompleteTextView
android:id="@+id/barcodeIdField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<!-- Barcode type -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding"
android:orientation="horizontal">
<!-- Barcode type -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/barcodeTypeView"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:hint="@string/barcodeType"
android:labelFor="@+id/barcodeTypeField">
<AutoCompleteTextView
android:id="@+id/barcodeTypeField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<!-- Barcode -->
<LinearLayout android:orientation="horizontal"
android:padding="10.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/barcodeLayout">
<ImageView
android:importantForAccessibility="no"
android:layout_width="0dp"
android:layout_height="@dimen/barcode_disp_height"
android:layout_gravity="center_horizontal"
android:padding="10.0dp"
android:background="#ffffff"
android:id="@+id/barcode"
android:layout_weight="1.0"/>
</LinearLayout>
<!-- Buttons -->
<LinearLayout android:orientation="horizontal"
android:padding="10.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/barcodeCaptureLayout">
<Button android:id="@+id/enterButton"
android:layout_margin="@dimen/inputMargin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/editBarcode"
android:layout_weight="1.0"/>
</LinearLayout>
</TableLayout>
<TableLayout
android:id="@+id/optionsPart"
android:visibility="gone">
<!-- Note -->
<LinearLayout
android:layout_width="match_parent"
@@ -161,6 +246,7 @@
android:orientation="horizontal">
<com.google.android.material.chip.ChipGroup
android:contentDescription="@string/groups"
android:id="@+id/groupChips"
android:layout_height="match_parent"
android:layout_width="match_parent"
@@ -240,99 +326,6 @@
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</TableLayout>
<TableLayout
android:id="@+id/barcodePart"
android:visibility="gone">
<!-- Barcode ID -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding"
android:orientation="horizontal">
<!-- Barcode ID -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/barcodeIdView"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:hint="@string/barcodeId"
android:labelFor="@+id/barcodeIdView">
<AutoCompleteTextView
android:id="@+id/barcodeIdField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<!-- Barcode type -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding"
android:orientation="horizontal">
<!-- Barcode type -->
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/barcodeTypeView"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:hint="@string/barcodeType"
android:labelFor="@+id/barcodeTypeField">
<AutoCompleteTextView
android:id="@+id/barcodeTypeField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none"/>
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
<!-- Barcode -->
<View
android:layout_height="@dimen/inputBorderThickness"
android:layout_width="match_parent" />
<LinearLayout android:orientation="horizontal"
android:padding="10.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:id="@+id/barcodeLayout">
<ImageView
android:layout_width="0dp"
android:layout_height="@dimen/barcode_disp_height"
android:layout_gravity="center_horizontal"
android:padding="10.0dp"
android:background="#ffffff"
android:id="@+id/barcode"
android:layout_weight="1.0"/>
</LinearLayout>
<!-- Buttons -->
<LinearLayout android:orientation="horizontal"
android:padding="10.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/barcodeCaptureLayout">
<Button android:id="@+id/enterButton"
android:layout_margin="@dimen/inputMargin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/editBarcode"
android:textColor="#FFFFFF"
android:layout_weight="1.0"/>
</LinearLayout>
</TableLayout>
<TableLayout
android:id="@+id/picturesPart"
@@ -369,7 +362,8 @@
android:minHeight="50dp"
android:contentDescription="@string/frontImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white" />
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary" />
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
@@ -404,7 +398,8 @@
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white" />
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary" />
</com.google.android.material.card.MaterialCardView>
</LinearLayout>

View File

@@ -18,11 +18,13 @@
android:layout_height="0dp"
android:outlineProvider="none"
app:cardCornerRadius="8dp"
app:strokeWidth="0dp"
app:layout_constraintBottom_toTopOf="@+id/store"
app:layout_constraintDimensionRatio="85.6f:53.98f"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:importantForAccessibility="no"
android:id="@+id/thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -35,6 +37,7 @@
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:importantForAccessibility="no"
android:id="@+id/selected_thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -58,7 +61,7 @@
android:layout_height="@dimen/cardThumbnailSize"
android:layout_gravity="end"
android:alpha="0.5"
android:contentDescription="@string/starImage"
android:contentDescription="@string/starred"
android:elevation="4dp"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
@@ -67,6 +70,7 @@
tools:ignore="ImageContrastCheck" />
<ImageView
android:importantForAccessibility="no"
android:id="@+id/star_border"
android:layout_width="@dimen/cardThumbnailSize"
android:layout_height="@dimen/cardThumbnailSize"
@@ -77,7 +81,7 @@
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_unstarred_white"
app:srcCompat="@drawable/ic_unstarred_black"
tools:ignore="ImageContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -25,6 +25,7 @@
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@@ -54,11 +55,12 @@
android:padding="0dp"
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
android:contentDescription="@string/moveBarcodeToTopOfScreen"
app:tint="#ffffff"
app:tint="?attr/colorOnPrimary"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/mainImage"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
app:layout_constraintStart_toStartOf="parent"
android:background="?attr/colorPrimary" />
<ImageView
android:id="@+id/mainImage"
@@ -85,10 +87,11 @@
android:padding="0dp"
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
android:contentDescription="@string/moveBarcodeToCenterOfScreen"
app:tint="#ffffff"
app:tint="?attr/colorOnPrimary"
app:layout_constraintTop_toBottomOf="@+id/mainImage"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
app:layout_constraintStart_toStartOf="parent"
android:background="?attr/colorPrimary" />
<LinearLayout
android:id="@+id/dotIndicator"
@@ -107,6 +110,7 @@
app:layout_constraintTop_toBottomOf="@+id/minimizeButton"/>
<SeekBar
android:contentDescription="@string/set_scale"
android:id="@+id/barcodeScaler"
android:visibility="gone"
android:max="100"
@@ -154,7 +158,7 @@
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/inputBackground"
android:background="?android:colorBackground"
android:orientation="vertical"
android:paddingTop="0px"
android:visibility="gone"
@@ -168,10 +172,11 @@
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_gravity="top|start"
android:contentDescription="@string/toggleMoreInfo"
android:contentDescription="@string/showMoreInfo"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
app:tint="#ffffff" />
app:tint="?attr/colorOnPrimary"
android:background="?attr/colorPrimary" />
<androidx.core.widget.NestedScrollView
android:id="@+id/bottomSheetContentWrapper"
@@ -247,14 +252,13 @@
android:weightSum="1.0"
>
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar_landscape"
android:layout_width="fill_parent"
android:layout_height="?actionBarSize"
android:background="@android:color/transparent"
android:fitsSystemWindows="false"
android:paddingTop="0dp"
android:theme="@style/CardView.ActionBarTheme"
android:visibility="gone"
app:contentInsetStart="72.0dip"
app:layout_collapseMode="pin" />
@@ -290,7 +294,6 @@
android:layout_width="fill_parent"
android:layout_height="?actionBarSize"
android:background="@android:color/transparent"
android:theme="@style/CardView.ActionBarTheme"
app:contentInsetStart="72.0dip"
app:layout_collapseMode="pin" />

View File

@@ -19,15 +19,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/groups"

View File

@@ -19,15 +19,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>

View File

@@ -9,15 +9,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>
@@ -25,6 +23,7 @@
android:id="@+id/zxing_barcode_scanner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
app:zxing_scanner_layout="@layout/custom_barcode_scanner">
</com.journeyapps.barcodescanner.DecoratedBarcodeView>
</RelativeLayout>
</RelativeLayout>

View File

@@ -7,15 +7,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>

View File

@@ -7,15 +7,13 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/>
style="@style/Widget.MaterialComponents.Toolbar.Primary" />
</com.google.android.material.appbar.AppBarLayout>

View File

@@ -10,28 +10,30 @@ Oğuz Ersen
IllusiveMan196
Petr Novák
Taco
Gediminas Murauskas
Joel A
Gediminas Murauskas
Altonss
StoyanDimitrov
Nyatsuki
Altonss
Samantaz Fox
arno-github
Ankit Tiwari
Sergio Paredes
Michael Moroni
laralem
arshbeerSingh
huuhaa
Miha Frangež
Michael Moroni
sr093906
Olivia (Zoe)
betsythefc
waffshappen
sr093906
K. Herbert
Maciej Błędkowski
Quentin PAGÈS
String E. Fighter
Yurical
Silvério Santos
/usr/local/ΕΨΗΕΛΩΝ
Adolfo Jayme-Barrientos
Alessandro Mandelli
@@ -59,9 +61,8 @@ Kasina Dheeraj
Flav
Franciszek Stefan
Izzy
Karol Kosek
krkk
bittin
Maciej Błędkowski
Marco
Mattia
Michael Gangolf
@@ -77,6 +78,7 @@ Still Hsu
Subhashish Anand
Tymofii Lytvynenko
Tjipke van der Heide
Yevgeny M
avikkundu
opsik
psa-jforestier
@@ -84,3 +86,4 @@ Robin
sergio
Marcus
techwebpd
rr-vesp

View File

@@ -11,7 +11,7 @@
<string name="unstar">Премахва от любими</string>
<string name="star">Добавя към любими</string>
<string name="noBarcode">Без щрихкод</string>
<string name="barcodeNoBarcode">Картата няма щрихкод</string>
<string name="barcodeNoBarcode">Липсва щрихкод</string>
<string name="barcodeType">Вид на щрихкод</string>
<string name="cardId">Идентификатор на карта</string>
<string name="note">Бележка</string>
@@ -25,8 +25,8 @@
</plurals>
<string name="failedOpeningFileManager">Инсталирайте приложение за управление на файлове.</string>
<string name="app_license">Свободен софтуер с авторски права, лицензиран под GPLv3+</string>
<string name="frontImageDescription">Снимка на предната страна на карта</string>
<string name="backImageDescription">Снимка на задната страна на карта</string>
<string name="frontImageDescription">Снимка на предната страна</string>
<string name="backImageDescription">Снимка на задната страна</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> не изглежда истинска наличност.</string>
<string name="no">Не</string>
<string name="yes">Да</string>
@@ -34,9 +34,9 @@
<string name="setFrontImage">Снимка на предната страна</string>
<string name="photos">Снимки</string>
<string name="importOptionApplicationExplanation">Изберете файл чрез друго приложение.</string>
<string name="noExternalStoragePermissionError">Дайте разрешение за достъп до хранилището, за да работи внасянето и изнасянето</string>
<string name="noExternalStoragePermissionError">Разрешете достъп до хранилището, за да работи внасянето и изнасянето</string>
<string name="noCardExistsError">Картата не е намерена</string>
<string name="updateBarcodeQuestionText">Идентификаторът е променен. Желаете ли с неговата стойност да бъде променен и щрихкода\?</string>
<string name="updateBarcodeQuestionText">Идентификаторът е променен. Желаете ли с неговата стойност да бъде променен и щрихкодът\?</string>
<string name="updateBarcodeQuestionTitle">Обновяване на щрихкода\?</string>
<string name="noCardIdError">Не е въведен идентификатор</string>
<string name="noCardsMessage">Добавете карта</string>
@@ -99,29 +99,29 @@
<string name="settings_category_title_ui">Потребителски интерфейс</string>
<string name="settings">Настройки</string>
<string name="starImage">Звезда за любимо</string>
<string name="thumbnailDescription">Миниатюра на картата</string>
<string name="copy_to_clipboard_toast">Идентификаторът на картата е копиран в междинната памет</string>
<string name="enterBarcodeInstructions">Въведете идентификатор на картата или като изберете вида на щрихкода или докоснете бутона „Картата няма щрихкод“.</string>
<string name="thumbnailDescription">Миниатюра</string>
<string name="copy_to_clipboard_toast">Идентификаторът е копиран в междинната памет</string>
<string name="enterBarcodeInstructions">Въведете идентификатор и или изберете вида на щрихкода, или докоснете бутона „Липсва щрихкод“.</string>
<string name="selectBarcodeTitle">Избиране на щрихкод</string>
<string name="importOptionApplicationButton">Избиране чрез приложение</string>
<string name="importing">Внасяне…</string>
<string name="exporting">Изнасяне…</string>
<string name="exportFailed">Картите не могат да бъдат изнесени: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Данните не могат да бъдат изнесени</string>
<string name="exportFailedTitle">Грешка при изнасяне</string>
<string name="importFailed">Картите не могат да бъдат внесени: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Данните не могат да бъдат внесени</string>
<string name="importFailedTitle">Грешка при внасяне</string>
<string name="exportSuccessfulTitle">Резултат от изнасяне</string>
<string name="importSuccessfulTitle">Резултат от внасяне</string>
<string name="importExportHelp">Резервните копия на картите ви дават възможност да ги преместите на друго устройство.</string>
<string name="importExportHelp">Резервните копия на данните ви дават възможност да ги премествате на друго устройство.</string>
<string name="exportName">Изнасяне</string>
<string name="importExport">Внасяне/изнасяне</string>
<string name="sendLabel">Изпращане…</string>
<string name="scanCardBarcode">Снемане на щрихкод от карта</string>
<string name="scanCardBarcode">Снемане на щрихкод</string>
<string name="editCardTitle">Редактиране на карта</string>
<string name="share">Споделя</string>
<string name="copy_to_clipboard">Копира идентификатора в междинната памет</string>
<string name="ok">Добре</string>
<string name="importSuccessful">Картите са внесени успешно</string>
<string name="importSuccessful">Данните са внесени</string>
<string name="chooseImportType">От къде ще внесете\?</string>
<string name="importCatimaMessage">Изберете файла <i>catima.zip</i>, предварително изнесен от Catima.
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Catima като изберете Изнасяне.</string>
@@ -139,12 +139,12 @@
<string name="about">Относно</string>
<string name="importOptionFilesystemTitle">Внасяне от файловата система</string>
<string name="importCatima">Внасяне от Catima</string>
<string name="exportSuccessful">Картите са изнесени успешно</string>
<string name="exportSuccessful">Данните са изнесени</string>
<string name="unlockScreen">Разрешава автоматичното завъртане</string>
<string name="lockScreen">Спира автоматичното завъртане</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> избрана карта</item>
<item quantity="other"><xliff:g>%d</xliff:g> избрани карти</item>
<item quantity="one"><xliff:g>%d</xliff:g> избрана</item>
<item quantity="other"><xliff:g>%d</xliff:g> избрани</item>
</plurals>
<string name="deleteConfirmationGroup">Изтриване на група\?</string>
<string name="moveDown">Преместване надолу</string>
@@ -162,7 +162,7 @@
<string name="importLoyaltyCardKeychainMessage">Изберете файла <i>LoyaltyCardKeychain.csv</i>, предварително изнесен от Loyalty Card Keychain.
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Loyalty Card Keychain като изберете Изнасяне.</string>
<string name="failedParsingImportUriError">Препратката не може да бъде анализирана за внасяне</string>
<string name="card_ids_copied">[не превеждай този низ, https://github.com/TheLastProject/Catima/issues/278]</string>
<string name="card_ids_copied">[не превеждайте този низ, https://github.com/TheLastProject/Catima/issues/278]</string>
<string name="failedGeneratingShareURL">Грешка при създаване на адрес за споделяне. Изпратете доклад за дефект.</string>
<string name="deleteTitle">Премахване на карта</string>
<plurals name="deleteCardsTitle">
@@ -187,12 +187,11 @@
<string name="settings_theme_color">Цвят на темата</string>
<string name="settings_system_locale">Система</string>
<string name="settings_locale">Език</string>
<string name="noGroupCards">Групата не съдържа карти</string>
<string name="toggleMoreInfo">Превключване на повече информация</string>
<string name="barcodeImageDescriptionWithType">Изображение на щрихкод на карта от вида <xliff:g>%s</xliff:g></string>
<string name="noGroupCards">Групата е празна</string>
<string name="barcodeImageDescriptionWithType">Изображение на щрихкод от вид <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Плъзване или задържане за смяна на изображения</string>
<string name="sort_by">Сортиране по</string>
<string name="reverse">Наобратно</string>
<string name="reverse">…в обратен ред</string>
<string name="sort_by_balance">Наличност</string>
<string name="sort_by_expiry">Валидност</string>
<string name="sort_by_most_recently_used">Последно използване</string>
@@ -219,5 +218,12 @@
<string name="group_edit">Редактиране на списък</string>
<string name="action_show_details">Повече детайли</string>
<string name="action_hide_details">По-малко детайли</string>
<string name="noGiftCardsGroup">Няма карти. След като добавите ще можете да ги зачислите към списък от тук.</string>
<string name="noGiftCardsGroup">Създайте карти и ги зачислите към списък от тук.</string>
<string name="translate_platform">в Weblate</string>
<string name="shortcutSelectCard">Избор на карта</string>
<string name="starred">Със звезда</string>
<string name="set_scale">Мащаб</string>
<string name="showMoreInfo">Показване на информация</string>
<string name="hideMoreInfo">Скриване на информация</string>
<string name="options">Настройки</string>
</resources>

View File

@@ -66,7 +66,6 @@
<string name="settings_green_theme">সবুজ থিম</string>
<string name="settings_brown_theme">বাদামী থিম</string>
<string name="sort">সাজান</string>
<string name="toggleMoreInfo">আরও তথ্য টগল করুন</string>
<string name="swipeToSwitchImages">ছবি পরিবর্তন করতে সোয়াইপ করুন</string>
<string name="sort_by_name">নামের দ্বারা সাজান</string>
<string name="sort_by_most_recently_used">সর্বাধিক সম্প্রতি ব্যবহৃত দ্বারা সাজান</string>

View File

@@ -66,7 +66,6 @@
<string name="settings_green_theme">Zeleno</string>
<string name="settings_brown_theme">Braun</string>
<string name="sort">Poništi sortiranje</string>
<string name="toggleMoreInfo">Uključi savjete</string>
<string name="swipeToSwitchImages">Swipe ili long press za prebacivanje slika</string>
<string name="sort_by_name">Ime</string>
<string name="sort_by_most_recently_used">Nedavno Korišten</string>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="action_add">Přidat</string>
<string name="noGiftCards">Klepnutím na tlačítko + plus přidáte kartu nebo ji nejprve importujete z nabídky⋮.</string>
<string name="noGiftCards">Klepnutím na tlačítko + plus přidáte kartu nebo ji nejprve importujete z nabídky ⋮.</string>
<string name="storeName">Název</string>
<string name="note">Poznámka</string>
<string name="cardId">ID karty</string>
@@ -15,21 +15,21 @@
<string name="sendLabel">Odeslat…</string>
<string name="editCardTitle">Editovat věrnostní kartu</string>
<string name="addCardTitle">Přidat věrnostní kartu</string>
<string name="scanCardBarcode">Skenování Čárový Kód Karty</string>
<string name="scanCardBarcode">Skenování čárového kódu</string>
<string name="noStoreError">Zadáno žádné jméno</string>
<string name="noCardIdError">Žádné ID karty zadáno</string>
<string name="noCardIdError">ID nezadáno</string>
<string name="importExport">Import/Export</string>
<string name="exportName">Export</string>
<string name="importExportHelp">Zálohování karet vám umožní přesunout je do jiného zařízení.</string>
<string name="importExportHelp">Zálohování dat vám umožní přesunout je do jiného zařízení.</string>
<string name="importSuccessfulTitle">Importováno</string>
<string name="importFailedTitle">Import selhal</string>
<string name="importFailed">Nelze importovat karty: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Nelze provést import</string>
<string name="exportSuccessfulTitle">Exportovat</string>
<string name="exportFailedTitle">Export selhal</string>
<string name="exportFailed">Nelze exportovat karty: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Nelze provést export</string>
<string name="importing">Importuji…</string>
<string name="exporting">Exportuji…</string>
<string name="noExternalStoragePermissionError">Udělit povolení externího úložiště pro import nebo export karet jako první</string>
<string name="noExternalStoragePermissionError">Udělit oprávnění přístupu k externímu úložišti pro import nebo export dat</string>
<string name="importOptionFilesystemTitle">Import ze souborového systému</string>
<string name="importOptionFilesystemExplanation">Vyberte konkrétní soubor v uložišti.</string>
<string name="importOptionFilesystemButton">Ze souborového systému</string>
@@ -42,7 +42,7 @@
<string name="debug_version_fmt">Verze: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informace o revizi: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Vyberte čárový kód</string>
<string name="copy_to_clipboard_toast">ID karty zkopírované do schránky</string>
<string name="copy_to_clipboard_toast">ID zkopírované do schránky</string>
<string name="deleteTitle">Smazat kartu</string>
<string name="deleteConfirmation">Opravdu chcete smazat tuto věrnostní kartu?</string>
<string name="moveBarcodeToCenterOfScreen">Střed čárového kódu na obrazovce</string>
@@ -58,7 +58,7 @@
\ncopyright © 20162020 Branden Archer</string>
<string name="exportOptionExplanation">Data budou zapsána na místo podle vašeho výběru.</string>
<string name="failedParsingImportUriError">Nelze analyzovat import URI</string>
<string name="noCardExistsError">Nelze najít kartu</string>
<string name="noCardExistsError">Kartu nelze najít</string>
<string name="noCardsMessage">Nejprve přidejte kartu</string>
<string name="cardShortcut">Zástupce Karty</string>
<string name="share">Podíl</string>
@@ -69,10 +69,10 @@
<string name="noBarcode">Žádný čárový kód</string>
<string name="barcodeNoBarcode">Tato karta nemá čárový kód</string>
<string name="barcodeType">Typ čárového kódu</string>
<string name="noMatchingGiftCards">Nic jsem nenašel. Zkuste změnit vyhledávání.</string>
<string name="noMatchingGiftCards">Nic nenalezeno. Zkuste změnit vyhledávání.</string>
<string name="action_search">Vyhledávání</string>
<string name="thumbnailDescription">Miniatura karty</string>
<string name="card_ids_copied">Zkopírované ID karty(karet)</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="card_ids_copied">Zkopírované ID</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Opravdu chcete kartu <xliff:g>%d</xliff:g> trvale odstranit\?</item>
<item quantity="few">Opravdu chcete karty <xliff:g>%d</xliff:g> trvale odstranit\?</item>
@@ -83,7 +83,7 @@
<item quantity="few">Odstranit karty <xliff:g>%d</xliff:g></item>
<item quantity="other">Odstranit karty <xliff:g>%d</xliff:g></item>
</plurals>
<string name="importSuccessful">Data karty importována</string>
<string name="importSuccessful">Data importována</string>
<string name="intent_import_card_from_url_share_text">Chci s Vámi sdílet kartu</string>
<string name="settings_disable_lockscreen_while_viewing_card">Bránit uzamykání obrazovky</string>
<string name="settings_keep_screen_on">Udržovat obrazovku zapnutou</string>
@@ -102,7 +102,7 @@
<string name="expiryStateSentence">Platí do: <xliff:g>%s</xliff:g></string>
<string name="moveDown">Přesunout dolů</string>
<string name="moveUp">Přesunout nahoru</string>
<string name="enterBarcodeInstructions">Zadejte ID karty a níže vyberte typ čárového kódu nebo \"Tato karta nemá čárový kód\".</string>
<string name="enterBarcodeInstructions">Zadejte ID a níže vyberte typ čárového kódu nebo \"Tato karta nemá čárový kód\".</string>
<string name="settings_brown_theme">Hnědá</string>
<string name="settings_grey_theme">Šedá</string>
<string name="settings_green_theme">Zelená</string>
@@ -121,22 +121,22 @@
<string name="passwordRequired">Zadejte prosím heslo</string>
<string name="no">Ne</string>
<string name="yes">Ano</string>
<string name="updateBarcodeQuestionText">Změnili jste ID karty. Chcete také aktualizovat čárový kód, aby používal stejnou hodnotu\?</string>
<string name="updateBarcodeQuestionText">Změnili jste ID. Chcete také aktualizovat čárový kód, aby používal stejnou hodnotu\?</string>
<string name="updateBarcodeQuestionTitle">Aktualizovat hodnotu čárového kódu\?</string>
<string name="takePhoto">Pořídit fotku</string>
<string name="removeImage">Odstranit obrázek</string>
<string name="setBackImage">Nastavit obrázek zadní strany</string>
<string name="setFrontImage">Nastavit obrázek přední strany</string>
<string name="photos">Fotky</string>
<string name="backImageDescription">Obrázek zadní strany karty</string>
<string name="frontImageDescription">Obrázek přední strany karty</string>
<string name="backImageDescription">Obrázek zadní strany</string>
<string name="frontImageDescription">Obrázek přední strany</string>
<string name="intent_import_card_from_url_share_multiple_text">Chci s Vámi sdílet kartu</string>
<string name="copy_to_clipboard_multiple_toast">ID karty zkopírováno do schránky</string>
<string name="copy_to_clipboard_multiple_toast">ID zkopírováno do schránky</string>
<string name="wrongValueForBarcodeType">Hodnota není platná pro vybraný typ čárového kódu</string>
<string name="unsupportedBarcodeType">Tento typ čárového kódu zatím nelze zobrazit. Možná bude podporován v pozdější verzi aplikace.</string>
<string name="barcodeId">Hodnota čárového kódu</string>
<string name="setBarcodeId">Nastavení hodnoty čárového kódu</string>
<string name="sameAsCardId">Stejné jako ID karty</string>
<string name="sameAsCardId">Stejné jako ID</string>
<string name="importVoucherVaultMessage">Vyberte svůj <i>vouchervault.json</i> export z Voucher Vault, který chcete importovat.
\nVytvořte jej tak, že nejprve stisknete tlačítko Exportovat v aplikaci Voucher Vault.</string>
<string name="importVoucherVault">Import z Voucher Vault</string>
@@ -167,7 +167,7 @@
<string name="noBarcodeFound">Čarový kód nenalezen</string>
<string name="groupsList">Skupiny: <xliff:g>%s</xliff:g></string>
<string name="addFromImage">Výběr obrázku z galerie</string>
<string name="addManually">Ruční zadání ID karty</string>
<string name="addManually">Ruční zadání ID</string>
<string name="leaveWithoutSaveConfirmation">Ukončit bez uložení\?</string>
<string name="leaveWithoutSaveTitle">Ukončit</string>
<string name="failedOpeningFileManager">Nejprve si nainstalujte správce souborů.</string>
@@ -178,10 +178,10 @@
<item quantity="few"><xliff:g>%d</xliff:g> karty</item>
<item quantity="other"><xliff:g>%d</xliff:g> karet</item>
</plurals>
<string name="noGroups">Kliknutím na tlačítko + plus nejprve přidejte skupiny pro kategorizaci.</string>
<string name="noGroups">Kliknutím na tlačítko + plus přidejte skupiny pro kategorizaci.</string>
<string name="groups">Skupiny</string>
<string name="enter_group_name">Zadejte název skupiny</string>
<string name="exportSuccessful">Data karty exportována</string>
<string name="exportSuccessful">Data exportována</string>
<string name="settings_display_barcode_max_brightness">Rozjasněné zobrazení čárového kódu</string>
<string name="starImage">Oblíbená hvězda</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
@@ -191,17 +191,16 @@
<item quantity="other">Vybráno <xliff:g>%d</xliff:g> karet</item>
</plurals>
<string name="app_contributors">Přispěli: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Tato skupina neobsahuje žádné karty</string>
<string name="noGroupCards">Tato skupina je prázdná</string>
<string name="sort_by">Seřadit podle</string>
<string name="reverse">Obrátit</string>
<string name="reverse">...v obráceném pořadí</string>
<string name="sort_by_balance">Zůstatek</string>
<string name="sort_by_expiry">Vypršení</string>
<string name="sort_by_most_recently_used">Naposledy použité</string>
<string name="sort_by_name">Název</string>
<string name="swipeToSwitchImages">Přejetím nebo dlouhým stisknutím přepínáte obrázky</string>
<string name="toggleMoreInfo">Přepnout zobrazení dalších informací</string>
<string name="sort">Seřadit</string>
<string name="barcodeImageDescriptionWithType">Obrázek čárového kódu karty typu <xliff:g>%s</xliff:g></string>
<string name="barcodeImageDescriptionWithType">Obrázek čárového kódu <xliff:g>%s</xliff:g></string>
<string name="version_history">Historie verzí</string>
<string name="rate_this_app">Ohodnoťte tuto aplikaci</string>
<string name="and_data_usage">a využití dat</string>
@@ -222,4 +221,13 @@
<string name="group_updated">Skupina aktualizována</string>
<string name="editGroup">Úprava skupiny: <xliff:g>%s</xliff:g></string>
<string name="noGiftCardsGroup">Zatím nemáte žádné věrnostní karty. Jakmile nějaké přidáte, můžete je přiřadit do skupiny zde.</string>
<string name="shortcutSelectCard">Vybrat kartu</string>
<string name="action_show_details">Zobrazit detaily</string>
<string name="action_hide_details">Skrýt detaily</string>
<string name="translate_platform">na Weblate</string>
<string name="showMoreInfo">Zobrazit podrobnosti</string>
<string name="hideMoreInfo">Skrýt podrobnosti</string>
<string name="starred">S hvězdičkou</string>
<string name="set_scale">Nastavení měřítka</string>
<string name="options">Volby</string>
</resources>

View File

@@ -41,10 +41,10 @@
<string name="importExportHelp">Hvis du sikkerhedskopierer dine kort, kan du flytte dem til en anden enhed.</string>
<string name="importSuccessfulTitle">Importeret</string>
<string name="importFailedTitle">Import mislykkedes</string>
<string name="importFailed">Kunne ikke importere kort: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Kunne ikke importere kort</string>
<string name="exportSuccessfulTitle">Eksporteret</string>
<string name="exportFailedTitle">Eksport mislykkedes</string>
<string name="exportFailed">Kunne ikke eksportere kort: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Kunne ikke eksportere kort</string>
<string name="importing">Importere…</string>
<string name="exporting">Eksportere…</string>
<string name="settings_dark_theme">Mørk</string>

View File

@@ -32,10 +32,10 @@
<string name="importExportHelp">Wenn du deine Daten sicherst, kannst du sie auf ein anderes Gerät übertragen.</string>
<string name="importSuccessfulTitle">Importiert</string>
<string name="importFailedTitle">Import fehlgeschlagen</string>
<string name="importFailed">Karten konnten nicht importiert werden: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Import konnte nicht durchgeführt werden</string>
<string name="exportSuccessfulTitle">Exportiert</string>
<string name="exportFailedTitle">Export fehlgeschlagen</string>
<string name="exportFailed">Karten konnten nicht exportiert werden: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Export konnte nicht durchgeführt werden</string>
<string name="importing">Importiere…</string>
<string name="exporting">Exportiere…</string>
<string name="noExternalStoragePermissionError">Berechtigung für den externen Speicher zum Importieren oder Exportieren von Daten erteilen</string>
@@ -188,7 +188,6 @@
<string name="settings_catima_theme">Catima</string>
<string name="settings_theme_color">Designfarbe</string>
<string name="app_contributors">Ermöglicht durch: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="toggleMoreInfo">Umschalten, um weitere Informationen anzuzeigen</string>
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> Barcode</string>
<string name="swipeToSwitchImages">Wischen oder langes Drücken zum Wechseln der Bilder</string>
<string name="sort_by">Sortieren nach</string>
@@ -222,4 +221,9 @@
<string name="action_hide_details">Details ausblenden</string>
<string name="translate_platform">auf Weblate</string>
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
</resources>
<string name="options">Optionen</string>
<string name="hideMoreInfo">Infos ausblenden</string>
<string name="set_scale">Größe festlegen</string>
<string name="showMoreInfo">Infos anzeigen</string>
<string name="starred">als Favorit</string>
</resources>

View File

@@ -28,10 +28,10 @@
<string name="importExportHelp">Τα εφεδρικά δεδομένα σας δίνουν την δυνατότητα να μεταφέρετε τις κάρτες σας σε μία άλλη συσκευή.</string>
<string name="importSuccessfulTitle">Εισαγωγή επιτυχής</string>
<string name="importFailedTitle">Εισαγωγή ανεπιτυχής</string>
<string name="importFailed">Δεν εισήχθει: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Δεν εισήχθει</string>
<string name="exportSuccessfulTitle">Εξαγωγή επιτυχής</string>
<string name="exportFailedTitle">Εξαγωγή ανεπιτυχής</string>
<string name="exportFailed">Δεν εξήχθη: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Δεν εξήχθη</string>
<string name="importing">Γίνεται εισαγωγή του…</string>
<string name="exporting">Γίνεται εξαγωγή του…</string>
<string name="noExternalStoragePermissionError">Δεν είναι δυνατή η εισαγωγή ή εξαγωγή καρτών χωρίς την άδεια πρόσβασης στον εξωτερικό χώρο αποθήκευσης</string>

View File

@@ -65,8 +65,8 @@
<string name="importOptionFilesystemExplanation">Elektu specifa dosiero de la dosiersistemo.</string>
<string name="exportOptionExplanation">La datumoj estos skribita al loko de via elekto.</string>
<string name="noExternalStoragePermissionError">Grant ekstera stokado permeso de importado aŭ eksportado kartoj unua</string>
<string name="exportFailed">Ne povis eksporti kartoj: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Ne povis importi kartoj: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Ne povis eksporti kartoj</string>
<string name="importFailed">Ne povis importi kartoj</string>
<string name="importExportHelp">Subtenanta supre vian kartoj permesas vin movi ilin al alia aparato.</string>
<string name="failedParsingImportUriError">Ne eblis analizi la importado URI</string>
<string name="noCardExistsError">Ne eblis trovi karto</string>

View File

@@ -28,10 +28,10 @@
<string name="importExportHelp">El respaldo le permite transferir sus tarjetas a otro dispositivo.</string>
<string name="importSuccessfulTitle">Importado</string>
<string name="importFailedTitle">Falló la importación</string>
<string name="importFailed">No se han podido importar tarjetas: <xliff:g>%s</xliff:g></string>
<string name="importFailed">No se han podido importar tarjetas</string>
<string name="exportSuccessfulTitle">Exportado</string>
<string name="exportFailedTitle">Falló la exportación</string>
<string name="exportFailed">No se han podido exportar las tarjetas: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">No se han podido exportar las tarjetas</string>
<string name="importing">Importando…</string>
<string name="exporting">Exportando…</string>
<string name="noExternalStoragePermissionError">Otorgar permiso de almacenamiento para importar o exportar tarjetas</string>

View File

@@ -104,10 +104,10 @@
<string name="exportOptionExplanation">Tiedot kirjoitetaan valitsemaasi sijaintiin.</string>
<string name="exporting">Viedään…</string>
<string name="importing">Tuodaan…</string>
<string name="exportFailed">Kortteja ei voitu viedä: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Kortteja ei voitu viedä</string>
<string name="exportFailedTitle">Vienti epäonnistui</string>
<string name="exportSuccessfulTitle">Vienti valmis</string>
<string name="importFailed">Kortteja ei voitu tuoda: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Kortteja ei voitu tuoda</string>
<string name="importFailedTitle">Tuonti epäonnistui</string>
<string name="importSuccessfulTitle">Tuonti valmis</string>
<string name="importExportHelp">Varmuuskopioimalla korttisi, voit siirtää ne toiseen laitteeseen.</string>

View File

@@ -27,11 +27,11 @@
<string name="exportName">Exporter</string>
<string name="importExportHelp">La sauvegarde de vos données permet de les déplacer sur un autre appareil.</string>
<string name="importSuccessfulTitle">Importé</string>
<string name="importFailedTitle">Échec de l\'import</string>
<string name="importFailed">Impossible d\'importer les cartes: <xliff:g>%s</xliff:g></string>
<string name="importFailedTitle">Échec de limport</string>
<string name="importFailed">Impossible deffectuer limportation</string>
<string name="exportSuccessfulTitle">Exporté</string>
<string name="exportFailedTitle">Échec de l\'export</string>
<string name="exportFailed">Impossible d\'exporter les cartes: <xliff:g>%s</xliff:g></string>
<string name="exportFailedTitle">Échec de lexport</string>
<string name="exportFailed">Impossible deffectuer lexportation</string>
<string name="importing">Import …</string>
<string name="exporting">Export …</string>
<string name="noExternalStoragePermissionError">Accorder au stockage externe lautorisation dimporter ou dexporter des données</string>
@@ -188,7 +188,6 @@
<string name="settings_theme_color">Couleur du thème</string>
<string name="app_contributors">Rendu possible par : <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Ce groupe est vide</string>
<string name="toggleMoreInfo">Activer/désactiver laffichage de plus dinfos</string>
<string name="barcodeImageDescriptionWithType">Image <xliff:g>%s</xliff:g> code-barres</string>
<string name="swipeToSwitchImages">Balayez ou appuyez longuement pour changer dimage</string>
<string name="sort">Trier</string>
@@ -222,4 +221,9 @@
<string name="action_hide_details">Masquer les détails</string>
<string name="translate_platform">sur Weblate</string>
<string name="shortcutSelectCard">Sélectionnez une carte</string>
</resources>
<string name="options">Options</string>
<string name="starred">En favori</string>
<string name="set_scale">Définir une échelle</string>
<string name="showMoreInfo">Afficher les infos</string>
<string name="hideMoreInfo">Masquer les infos</string>
</resources>

View File

@@ -1,9 +1,56 @@
<resources
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="action_add">הוספה</string>
<string name="cardId">מזהה כרטיס</string>
<string name="cancel">ביטול</string>
<string name="save">שמור</string>
</resources>
<string name="ok">אישור</string>
<string name="action_search">חיפוש</string>
<string name="noGiftCards">לחץ על לחצן ה + להוספת כרטיס, או ייבא מספר כרטיסים באמצעות התפריט ⋮.</string>
<string name="lockScreen">סיבוב</string>
<string name="share">שיתוף</string>
<string name="copy_to_clipboard">העתקת מזהה ללוח</string>
<string name="addCardTitle">הוספת כרטיס</string>
<string name="noCardIdError">אין מזהה כרטיס</string>
<string name="star">הוספה למועדפים</string>
<string name="unstar">הסרה ממועדפים</string>
<string name="note">הערות</string>
<string name="barcodeType">סוג ברקוד</string>
<string name="noBarcode">אין ברקוד</string>
<string name="edit">עריכה</string>
<plurals name="selectedCardCount">
<item quantity="one">אחד</item>
<item quantity="two">שניים</item>
<item quantity="many">מעט</item>
<item quantity="other">אחר</item>
</plurals>
<string name="exportFailed">לא ניתן לייצא</string>
<string name="noGiftCardsGroup">צור מספר כרטיסים, ואז שייך אותם לקבוצה פה.</string>
<string name="failedParsingImportUriError">נתיב לא נמצא</string>
<string name="noMatchingGiftCards">אין תוצאות. נסה חיפוש אחר.</string>
<string name="storeName">שם חנות</string>
<string name="barcodeNoBarcode">אין ברקוד</string>
<string name="delete">מחיקה</string>
<string name="confirm">אישור</string>
<string name="deleteTitle">מחק כרטיס</string>
<string name="deleteConfirmation">האם למחוק כרטיס זה\?</string>
<string name="sendLabel">שליחה…</string>
<string name="editCardTitle">עריכת כרטיס</string>
<string name="scanCardBarcode">סריקת ברקוד</string>
<string name="cardShortcut">קיצור דרך</string>
<string name="noCardsMessage">תחילה הוסף כרטיס</string>
<string name="card_ids_copied">מזהי כרטיס הועתקו</string>
<string name="barcodeImageDescriptionWithType"></string>
<string name="noStoreError">לא הוכנס שם חנות</string>
<string name="noCardExistsError">כרטיס לא נמצא</string>
<string name="importExport">ייבוא/ייצוא</string>
<string name="exportName">ייצוא</string>
<string name="importExportHelp">גיבוי המידע שלך מאפשר העברתו למכשיר אחר.</string>
<string name="importSuccessfulTitle">הייבוא הצליח</string>
<string name="importFailedTitle">הייבוא נכשל</string>
<string name="importFailed">לא ניתן לייבא</string>
<string name="exportSuccessfulTitle">הייצוא הצליח</string>
<string name="exportFailedTitle">הייצוא נכשל</string>
<string name="importing">מייבא…</string>
<string name="exporting">ייצוא…</string>
</resources>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<resources>
<string name="unstar">Ukloni iz favorita</string>
<string name="action_search">Pretraživanje</string>
<string name="save">Spremi</string>
@@ -38,7 +38,7 @@
<string name="importExportHelp">Sigurnosno kopiranje kartica omogućuje vam da ih premjestite na drugi uređaj.</string>
<string name="importSuccessfulTitle">Uvezeno</string>
<string name="importFailedTitle">Nije moguće uvesti</string>
<string name="importFailed">Nije moguće uvesti karte: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Nije moguće uvesti karte</string>
<string name="exportSuccessfulTitle">Izvezeno</string>
<string name="about">Oh</string>
<string name="importOptionApplicationButton">Koristite drugu aplikaciju</string>
@@ -51,7 +51,7 @@
<string name="importOptionApplicationTitle">Koristite drugu aplikaciju</string>
<string name="settings">Postavke</string>
<string name="settings_dark_theme">Tamno</string>
<string name="exportFailed">Nije moguće izvesti karte: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Nije moguće izvesti karte</string>
<string name="importing">Uvoz…</string>
<string name="importOptionFilesystemTitle">Uvoz iz datotečnog sustava</string>
<string name="importOptionFilesystemButton">Iz datotečnog sustava</string>

View File

@@ -90,10 +90,10 @@
<string name="exportName">Ekspor</string>
<string name="importSuccessfulTitle">Sudah diimpor</string>
<string name="importFailedTitle">Impor gagal</string>
<string name="importFailed">Tidak dapat mengimpor kartu: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Tidak dapat mengimpor kartu</string>
<string name="exportSuccessfulTitle">Sudah diekspor</string>
<string name="exportFailedTitle">Ekspor gagal</string>
<string name="exportFailed">Tidak dapat mengekspor kartu: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Tidak dapat mengekspor kartu</string>
<string name="importing">Mengimpor…</string>
<string name="exporting">Mengekspor…</string>
<string name="noExternalStoragePermissionError">Berikan izin penyimpanan eksternal untuk mengimpor atau mengekspor kartu terlebih dahulu</string>
@@ -180,7 +180,6 @@
<string name="exportPassword">Tetapkan kata sandi untuk melindungi ekspor anda (opsional)</string>
<string name="failedGeneratingShareURL">Tidak dapat membuat alamat berbagi. Mohon laporkan ini.</string>
<string name="app_contributors">Pengembangan dibantu oleh: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="toggleMoreInfo">Tampilkan info selengkapnya</string>
<string name="swipeToSwitchImages">Geser atau tekan yang lama untuk mengganti gambar</string>
<string name="reverse">Ubah urutan</string>
<string name="version_history">Riwayat Versi</string>

View File

@@ -33,10 +33,10 @@
<string name="importExportHelp">Il backup dei dati permette di spostarli su un altro dispositivo.</string>
<string name="importSuccessfulTitle">Importato</string>
<string name="importFailedTitle">Importazione fallita</string>
<string name="importFailed">Impossibile importare le carte: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Impossibile eseguire l\'importazione</string>
<string name="exportSuccessfulTitle">Esportato</string>
<string name="exportFailedTitle">Esportazione fallita</string>
<string name="exportFailed">Impossibile esportare le carte: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Impossibile eseguire l\'esportazione</string>
<string name="importing">Importazione in corso…</string>
<string name="exporting">Esportazione in corso…</string>
<string name="noExternalStoragePermissionError">Concedi il permesso di archiviazione esterna per importare o esportare dati</string>
@@ -107,7 +107,7 @@
<string name="expiryStateSentenceExpired">Scaduta: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Scadenza: <xliff:g>%s</xliff:g></string>
<string name="settings_keep_screen_on">Mantieni lo schermo attivo</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="app_loyalty_card_keychain">Carte fedeltà</string>
<string name="chooseImportType">Importa i dati da</string>
<string name="settings_disable_lockscreen_while_viewing_card">Impedisci il blocco dello schermo</string>
<string name="accept">Accetta</string>
@@ -188,7 +188,6 @@
<string name="settings_theme_color">Colore del tema</string>
<string name="app_contributors">Reso possibile da: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Questo gruppo è vuoto</string>
<string name="toggleMoreInfo">Attiva/disattiva la visualizzazione di altre informazioni</string>
<string name="barcodeImageDescriptionWithType">Immagine del codice a barre in formato <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Scorri o premi a lungo per cambiare immagine</string>
<string name="sort_by">Ordina per</string>
@@ -221,4 +220,10 @@
<string name="action_show_details">Mostra i dettagli</string>
<string name="action_hide_details">Nascondi i dettagli</string>
<string name="translate_platform">su Weblate</string>
</resources>
<string name="shortcutSelectCard">Seleziona una tessera</string>
<string name="options">Opzioni</string>
<string name="starred">Nei preferiti</string>
<string name="set_scale">Imposta la scala</string>
<string name="showMoreInfo">Mostra info</string>
<string name="hideMoreInfo">Nascondi info</string>
</resources>

View File

@@ -92,7 +92,7 @@
<string name="noExternalStoragePermissionError">データをインポート/エクスポートするために外部ストレージへのアクセスを許可してください</string>
<string name="exporting">エクスポート中…</string>
<string name="importing">インポート中…</string>
<string name="exportFailed">カードをエクスポートできませんでした: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">カードをエクスポートできませんでした</string>
<string name="exportFailedTitle">エクスポートに失敗しました</string>
<string name="exportSuccessfulTitle">エクスポートしました</string>
<string name="sameAsCardId">カード番号に合わせる</string>
@@ -100,7 +100,7 @@
<string name="importVoucherVaultMessage">Voucher Vaultでエクスポートした <i>vouchervault.json</i>ファイルを選択してください。
\nファイルがない場合、Voucher Vaultでファイルをエクスポートしてください。</string>
<string name="importVoucherVault">Voucher Vaultからインポート</string>
<string name="importFailed">カードをインポートできません: <xliff:g>%s</xliff:g></string>
<string name="importFailed">カードをインポートできません</string>
<string name="importFailedTitle">インポートに失敗しました</string>
<string name="importSuccessfulTitle">インポートしました</string>
<string name="importExportHelp">データをバックアップすると、他のデバイスにカードを移すことができます。</string>
@@ -171,7 +171,6 @@
<item quantity="other"><xliff:g>%d</xliff:g> 枚のカードの削除</item>
</plurals>
<string name="barcodeImageDescriptionWithType">バーコード形式の画像 <xliff:g>%s</xliff:g></string>
<string name="toggleMoreInfo">詳細を表示する</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>

View File

@@ -55,11 +55,11 @@
<string name="importOptionApplicationTitle">외부 앱 사용</string>
<string name="importOptionFilesystemExplanation">파일 시스템에서 파일을 선택합니다.</string>
<string name="importOptionFilesystemTitle">파일 시스템에서 가져오기</string>
<string name="exportFailed">카드를 내보낼 수 없음: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">카드를 내보낼 수 없음</string>
<string name="importOptionApplicationExplanation">다른 파일 관리자 또는 앱을 사용하여 파일을 엽니다.</string>
<string name="exportFailedTitle">내보내기 실패</string>
<string name="exportSuccessfulTitle">내보내기 완료</string>
<string name="importFailed">카드를 가져올 수 없음: <xliff:g>%s</xliff:g></string>
<string name="importFailed">카드를 가져올 수 없음</string>
<string name="importFailedTitle">가져오기 실패</string>
<string name="importSuccessfulTitle">가져오기 완료</string>
<string name="noCardIdError">카드 ID를 입력하지 않음</string>

View File

@@ -22,7 +22,7 @@
<string name="cardShortcut">Kaart Bréck</string>
<string name="exportSuccessfulTitle">Exportéieren</string>
<string name="exportFailedTitle">Export fehlgeschlagen</string>
<string name="exportFailed">Kaarten konnten net exportéiert ginn: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Kaarten konnten net exportéiert ginn</string>
<string name="importing">Importéieren…</string>
<string name="importOptionFilesystemTitle">Import aus dem Dateisystem</string>
<string name="importOptionFilesystemExplanation">Wielt eng bestëmmte Datei aus dem Dateisystem.</string>
@@ -59,7 +59,7 @@
<string name="unsupportedBarcodeType">Dee barcode-Typ kann net ugewise ginn. Et kann zu enger spéiderer Versioun vun der App ënnerstëtzt ginn.</string>
<string name="yes">Jo</string>
<string name="importFailedTitle">Import fehlgeschlagen</string>
<string name="importFailed">Kaarten konnten net anere sproochen ginn: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Kaarten konnten net anere sproochen ginn</string>
<string name="exporting">Ausführende…</string>
<string name="exportOptionExplanation">D \' Donnéeë ginn op eng Plaz vun Hirer Wal geschriwwen.</string>
<string name="importOptionApplicationExplanation">Benotzen Se eng beliebige App oder Hire bevorzugten Dateimanager, fir eng Datei ze opmaachen.</string>

View File

@@ -19,8 +19,8 @@
<string name="noCardIdError">Neįvestas kortelės ID</string>
<string name="importExport">Importuoti/Exportuoti</string>
<string name="exportName">Exportuoti</string>
<string name="importFailed">Nepavyko importuoti kortelių: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Nepavyko eksportuoti kortelių: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Nepavyko importuoti kortelių</string>
<string name="exportFailed">Nepavyko eksportuoti kortelių</string>
<string name="importing">Importuoja…</string>
<string name="exporting">Eksportuoja…</string>
<string name="noExternalStoragePermissionError">Pirmiausia suteikite išorinės saugyklos leidimą, kad galėtumėte importuoti arba eksportuoti korteles</string>
@@ -192,7 +192,6 @@
<string name="settings_theme_color">Temos spalva</string>
<string name="app_contributors">Tapo įmanoma su pagalba: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Šioje grupėje nėra jokių kortelių</string>
<string name="toggleMoreInfo">Perjungti išsamios informacijos rodymą</string>
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> tipo kortelės brūkšninio kodo vaizdas</string>
<string name="swipeToSwitchImages">Perbraukite arba ilgai palaikykite paspaudę, kad perjungtumėte vaizdus</string>
<string name="sort_by">Rikiuoti pagal</string>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<resources>
<string name="action_search">Meklēšana</string>
<string name="action_add">Pievienot</string>
<string name="noGiftCards">Noklikšķiniet uz pogas + plus, lai pievienotu karti, vai vispirms importējiet dažus no ⋮ izvēlnes.</string>
@@ -44,10 +44,10 @@
<string name="importExportHelp">Jūsu Karšu dublēšana ļauj pārvietot tās uz citu ierīci.</string>
<string name="importSuccessfulTitle">Importēts</string>
<string name="importFailedTitle">Neizdevās importēt</string>
<string name="importFailed">Nevarēja importēt kartes: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Nevarēja importēt kartes</string>
<string name="exportSuccessfulTitle">Eksports</string>
<string name="exportFailedTitle">Eksports neizdevās</string>
<string name="exportFailed">Nevarēja eksportēt kartes: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Nevarēja eksportēt kartes</string>
<string name="importing">Imports…</string>
<string name="exporting">Eksports…</string>
<string name="noExternalStoragePermissionError">Piešķiriet ārējai atmiņai atļauju vispirms importēt vai eksportēt kartes</string>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="action_add">Legg til</string>
<string name="noGiftCards">Klikk på «+» (pluss)-knappen for å legge til eller importer kort fra «⋮»-menyen først.</string>
<string name="noGiftCards">Klikk på «+» (pluss)-knappen for å legge til eller importer kort fra «⋮»-menyen</string>
<string name="storeName">Navn</string>
<string name="note">Merknad</string>
<string name="cardId">Kort-ID</string>
@@ -18,24 +18,24 @@
<string name="sendLabel">Send…</string>
<string name="editCardTitle">Rediger kundekort</string>
<string name="addCardTitle">Legg til kundekort</string>
<string name="scanCardBarcode">Skann kortets strekkode</string>
<string name="scanCardBarcode">Skann strekkoden</string>
<string name="cardShortcut">Kort-snarvei</string>
<string name="noCardsMessage">Legg til et kort først</string>
<string name="noStoreError">Navn ikke angitt</string>
<string name="noCardIdError">Ingen kort-ID innskrevet</string>
<string name="noCardExistsError">Kunne ikke finne kort</string>
<string name="noCardIdError">Ingen ID innskrevet</string>
<string name="noCardExistsError">Fant ikke det kortet</string>
<string name="importExport">Importer/eksporter</string>
<string name="exportName">Eksporter</string>
<string name="importExportHelp">Sikkerhetskopiering av kort lar deg flytte dem til en annen enhet.</string>
<string name="importExportHelp">Sikkerhetskopiering av data lar deg flytte dem til en annen enhet.</string>
<string name="importSuccessfulTitle">Importert</string>
<string name="importFailedTitle">Kunne ikke importere</string>
<string name="importFailed">Klarte ikke å importere kort: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Kunne ikke utføre import</string>
<string name="exportSuccessfulTitle">Eksportert</string>
<string name="exportFailedTitle">Kunne ikke eksportere</string>
<string name="exportFailed">Kunne ikke eksportere kort: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Kunne ikke utføre eksport</string>
<string name="importing">Importerer…</string>
<string name="exporting">Exporterer…</string>
<string name="noExternalStoragePermissionError">Innvilg lagringstilgang til eksternlager for å importere eller eksportere kort først</string>
<string name="noExternalStoragePermissionError">Innvilg lagringstilgang til eksternlager for å importere eller eksportere data</string>
<string name="exportOptionExplanation">Data skrives dit du ønsker det.</string>
<string name="importOptionFilesystemTitle">Importer fra filsystem</string>
<string name="importOptionFilesystemExplanation">Velg spesifikk fil fra filsystemet.</string>
@@ -49,15 +49,15 @@
<string name="debug_version_fmt">Versjon: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Utgivelsesinfo: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Velg strekkode</string>
<string name="enterBarcodeInstructions">Skriv inn kortets ID, og enten velg dens strekkode nedenfor, eller «Dette kortet har ingen strekkode».</string>
<string name="copy_to_clipboard_toast">Kort-ID kopiert til utklippstavle</string>
<string name="thumbnailDescription">Miniatyrbilde for kort</string>
<string name="enterBarcodeInstructions">Skriv inn kortets ID, og enten velg strekkodetypen nedenfor, eller «Det er ingen strekkode».</string>
<string name="copy_to_clipboard_toast">ID kopiert til utklippstavle</string>
<string name="thumbnailDescription">Miniatyrbilde</string>
<string name="settings">Innstillinger</string>
<string name="settings_category_title_ui">Brukergrensesnitt</string>
<string name="settings_display_barcode_max_brightness">Lysere strekkodevisning</string>
<string name="settings_lock_barcode_orientation">Lås strekkodesideretning</string>
<string name="exportSuccessful">Kortdata eksportert</string>
<string name="importSuccessful">Kortdata importert</string>
<string name="exportSuccessful">Data eksportert</string>
<string name="importSuccessful">Data importert</string>
<string name="intent_import_card_from_url_share_text">Jeg ønsker å dele et kort med deg</string>
<string name="settings_dark_theme">Mørk</string>
<string name="settings_light_theme">Lys</string>
@@ -67,8 +67,8 @@
\nopphavsrett 20162020 Branden Archer</string>
<string name="failedParsingImportUriError">Kunne ikke tolke importerings-URI</string>
<string name="share">Del</string>
<string name="barcodeNoBarcode">Dette kortet har ingen strekkode</string>
<string name="noMatchingGiftCards">Fant ikke noe. Prøv å endre søket.</string>
<string name="barcodeNoBarcode">Det er ingen strekkode</string>
<string name="noMatchingGiftCards">Resultatløst. Prøv å endre søket.</string>
<string name="action_search">Søk</string>
<string name="starImage">Favorittstjerne</string>
<string name="unstar">Fjern fra favoritter</string>
@@ -82,7 +82,7 @@
<string name="failedOpeningFileManager">Installer en filbehandler først.</string>
<string name="leaveWithoutSaveConfirmation">Forlat uten å lagre?</string>
<string name="leaveWithoutSaveTitle">Avslutt</string>
<string name="addManually">Skriv inn kort-ID manuelt</string>
<string name="addManually">Skriv inn ID manuelt</string>
<string name="moveDown">Flytt nedover</string>
<string name="moveUp">Flytt oppover</string>
<plurals name="groupCardCount">
@@ -122,7 +122,7 @@
<string name="addFromImage">Velg bilde fra galleri</string>
<string name="unsupportedBarcodeType">Denne strekkodetypen kan ikke vises for øyeblikket. Støtte kan bli lagt til i en senere versjon av programmet.</string>
<string name="setBarcodeId">Sett strekkodeverdi</string>
<string name="sameAsCardId">Samme som kort-ID</string>
<string name="sameAsCardId">Samme som ID</string>
<string name="barcodeId">Strekkodeverdi</string>
<string name="importVoucherVaultMessage">Velg din <i>vouchervault.json</i>-eksport fra Voucher Vault å importere.
\nOpprett den ved å trykke «Eksport» i Voucher Vault først.</string>
@@ -135,12 +135,12 @@
<string name="settings_max_font_size_scale">Maks. skriftstørrelse</string>
<string name="wrongValueForBarcodeType">Verdien er ikke gyldig for valgt strekkodetype</string>
<string name="intent_import_card_from_url_share_multiple_text">Jeg vil dele noen kort med deg</string>
<string name="copy_to_clipboard_multiple_toast">Kort-ID-er kopiert til utklippstavle</string>
<string name="copy_to_clipboard_multiple_toast">ID-er ble kopiert til utklippstavle</string>
<string name="app_resources">Frie tredjepartsressurser: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Frie tredjepartsbibliotek: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="card_ids_copied">Kopierte kort-ID(er)</string>
<string name="card_ids_copied">Kopierte ID(er)</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Opphavsrett © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="updateBarcodeQuestionText">Du har endret kortets ID. Ønsker du å også oppdatere strekkoden til samme verdi?</string>
<string name="updateBarcodeQuestionText">Du har endret ID-en. Ønsker du å også oppdatere strekkoden til samme verdi\?</string>
<string name="no">Nei</string>
<string name="yes">Ja</string>
<string name="updateBarcodeQuestionTitle">Oppdater strekkodeverdi?</string>
@@ -149,16 +149,16 @@
<string name="setBackImage">Sett bakside</string>
<string name="setFrontImage">Sett forside</string>
<string name="photos">Bilder</string>
<string name="backImageDescription">Kortets bakside</string>
<string name="frontImageDescription">Kortets forside</string>
<string name="backImageDescription">Baksidebilde</string>
<string name="frontImageDescription">Forsidebilde</string>
<string name="importStocardMessage">Velg din <i>***-sync.zip</i>-eksport fra Stocard å importere.
\nSkaff den ved å sende e-post til support@stocardapp.com der du etterspør eksport av dataen din.</string>
<string name="passwordRequired">Skriv inn passordet</string>
<string name="importStocard">Importer fra Stocard</string>
<string name="failedGeneratingShareURL">Klarte ikke å lage delbar nettadresse. Rapporter denne feilen.</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> kort valgt</item>
<item quantity="other"><xliff:g>%d</xliff:g> kort valgt</item>
<item quantity="one"><xliff:g>%d</xliff:g> valgt</item>
<item quantity="other"><xliff:g>%d</xliff:g> valgt</item>
</plurals>
<string name="deleteConfirmation">Slett dette kortet for godt?</string>
<plurals name="deleteCardsConfirmation">
@@ -185,12 +185,11 @@
<string name="settings_pink_theme">Rosa</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_theme_color">Draktfarge</string>
<string name="noGroupCards">Denne gruppen inneholder ikke noen kort</string>
<string name="toggleMoreInfo">Veksle visning av mer info</string>
<string name="barcodeImageDescriptionWithType">Bilde av kortstrekkode av typen <xliff:g>%s</xliff:g></string>
<string name="noGroupCards">Denne gruppen er tom</string>
<string name="barcodeImageDescriptionWithType">Bilde av <xliff:g>%s</xliff:g>-strekkode</string>
<string name="swipeToSwitchImages">Dra eller hold lenge for å bygge bilder</string>
<string name="sort_by">Sorter etter</string>
<string name="reverse">Vend</string>
<string name="reverse">…i omvendt rekkefølge</string>
<string name="sort_by_balance">Saldo</string>
<string name="sort_by_expiry">Utløp</string>
<string name="sort_by_most_recently_used">Nyligst brukt</string>
@@ -215,9 +214,16 @@
<string name="group_updated">Gruppe oppdatert</string>
<string name="group_name_is_empty">Gruppenavn kan ikke være tomt</string>
<string name="editGroup">Redigerer gruppe: <xliff:g>%s</xliff:g></string>
<string name="noGiftCardsGroup">Du har ingen lojalitetskort enda. Når du først har det kan du legge dem til i en gruppe her.</string>
<string name="noGiftCardsGroup">Lag noen kort, og legg dem til i en gruppe her.</string>
<string name="action_show_details">Vis detaljer</string>
<string name="action_hide_details">Skjul detaljer</string>
<string name="selectColor">Velg farge</string>
<string name="setIcon">Sett ikon</string>
<string name="shortcutSelectCard">velg et kort</string>
<string name="translate_platform">på Weblate</string>
<string name="options">Alternativer</string>
<string name="starred">Stjernemerket</string>
<string name="set_scale">Sett skalering</string>
<string name="showMoreInfo">Vis mer info</string>
<string name="hideMoreInfo">Skjul mer info</string>
</resources>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Palette generated by Material IO https://material.io/color/#!/?view.left=0&view.right=0&primary.color=3F51B5&secondary.color=FFC107 -->
<!-- Colors manually flipped to dark variants -->
<resources>
<color name="colorPrimary">#B53F3F</color>
<color name="colorPrimaryLight">#E87575</color>
<color name="colorPrimaryDark">#840000</color>
<color name="colorSecondary">#ffc107</color>
<color name="colorSecondaryLight">#fff350</color>
<color name="colorSecondaryDark">#c79100</color>
<color name="colorPrimaryText">#000000</color>
<color name="colorSecondaryText">#ffffff</color>
<color name="listItemHighlight">#88000000</color>
<color name="inputContrastBackground">#070707</color>
<color name="inputBackground">#000000</color>
<color name="inputBorder">#222222</color>
<color name="inputDividerBorder">#666666</color>
<color name="iconColor">#ffffff</color>
<color name="mainLoyaltyCardBackground">#000000</color>
</resources>

View File

@@ -0,0 +1,33 @@
<resources>
<style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar">
<item name="colorPrimary">@color/md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer</item>
<item name="colorSecondary">@color/md_theme_dark_secondary</item>
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
<item name="colorTertiary">@color/md_theme_dark_tertiary</item>
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
<item name="colorError">@color/md_theme_dark_error</item>
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer</item>
<item name="colorOnError">@color/md_theme_dark_onError</item>
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer</item>
<item name="android:colorBackground">@color/md_theme_dark_background</item>
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
<item name="colorSurface">@color/md_theme_dark_surface</item>
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
<item name="colorOutline">@color/md_theme_dark_outline</item>
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_primaryInverse</item>
<item name="windowActionModeOverlay">true</item>
</style>
</resources>

View File

@@ -34,10 +34,10 @@
<string name="importExportHelp">Door je gegevens te back-uppen, kun je ze overzetten naar een ander apparaat.</string>
<string name="importSuccessfulTitle">Importeren voltooid</string>
<string name="importFailedTitle">Importeren mislukt</string>
<string name="importFailed">Het importeren is mislukt: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Het importeren is mislukt</string>
<string name="exportSuccessfulTitle">Exporteren voltooid</string>
<string name="exportFailedTitle">Exporteren mislukt</string>
<string name="exportFailed">Het exporteren is mislukt: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Het exporteren is mislukt</string>
<string name="importing">Bezig met importeren…</string>
<string name="exporting">Bezig met exporteren…</string>
<string name="noExternalStoragePermissionError">Verleen het recht externe opslag om gegevens te kunnen im- of exporteren</string>
@@ -188,7 +188,6 @@
<string name="settings_theme_color">Themakleur</string>
<string name="app_contributors">Mede mogelijk gemaakt door: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Deze groep bevat geen kaarten</string>
<string name="toggleMoreInfo">Meer informatie tonen/verbergen</string>
<string name="barcodeImageDescriptionWithType">Afbeelding van barcode <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Veeg of houd lang ingedrukt om te bladeren</string>
<string name="sort_by">Sorteren op</string>
@@ -222,4 +221,9 @@
<string name="action_hide_details">Details verbergen</string>
<string name="translate_platform">op Weblate</string>
<string name="shortcutSelectCard">Kies een kaart</string>
<string name="options">Opties</string>
<string name="showMoreInfo">Informatie tonen</string>
<string name="starred">Favoriet</string>
<string name="hideMoreInfo">Informatie verbergen</string>
<string name="set_scale">Schaal instellen</string>
</resources>

View File

@@ -2,9 +2,9 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="exporting">Exportacion…</string>
<string name="importing">Importacion…</string>
<string name="exportFailed">Exportacion pas possibla: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Exportacion pas possibla</string>
<string name="exportSuccessfulTitle">Exportat</string>
<string name="importFailed">Importacion de vòstras cartas impossibla: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Importacion de vòstras cartas impossibla</string>
<string name="importFailedTitle">Fracàs de limportacion</string>
<string name="importSuccessfulTitle">Importat</string>
<string name="importExportHelp">Exportar vòstras cartas vos permet de las recuperar sus un autre aparelh.</string>

View File

@@ -2,12 +2,12 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="action_search">Szukaj</string>
<string name="action_add">Dodaj</string>
<string name="noGiftCards">Kliknij przycisk + plus, aby dodać kartę lub zaimportuj jakieś z ⋮ menu w pierwszej kolejności.</string>
<string name="noMatchingGiftCards">Nic nie znaleziono. Spróbuj zmienić wyszukiwanie.</string>
<string name="noGiftCards">Kliknij przycisk + plus, aby dodać kartę lub zaimportuj z ⋮ menu.</string>
<string name="noMatchingGiftCards">Brak wyników. Spróbuj zmienić treść zapytania.</string>
<string name="storeName">Nazwa</string>
<string name="note">Notatka</string>
<string name="cardId">Identyfikator karty</string>
<string name="barcodeNoBarcode">Ta karta nie ma kodu kreskowego</string>
<string name="barcodeNoBarcode">Bez kodu kreskowego</string>
<string name="cancel">Anuluj</string>
<string name="save">Zapisz</string>
<string name="edit">Edytuj</string>
@@ -21,25 +21,25 @@
<string name="sendLabel">Wyślij…</string>
<string name="editCardTitle">Edytuj kartę lojalnościową</string>
<string name="addCardTitle">Dodaj kartę lojalnościową</string>
<string name="scanCardBarcode">Zeskanuj kod kreskowy karty lojalnościowej</string>
<string name="scanCardBarcode">Zeskanuj kod kreskowy</string>
<string name="cardShortcut">Skrót karty</string>
<string name="noCardsMessage">Najpierw dodaj kartę</string>
<string name="noStoreError">Nie wprowadzono nazwy</string>
<string name="noCardIdError">Nie wprowadzono identyfikatora karty</string>
<string name="noCardIdError">Nie wprowadzono identyfikatora</string>
<string name="noCardExistsError">Nie można wyszukać karty lojalnościowej</string>
<string name="failedParsingImportUriError">Nie można przeanalizować identyfikatora importu URI</string>
<string name="importExport">Importuj/Eksportuj</string>
<string name="exportName">Eksportuj</string>
<string name="importExportHelp">Zarchiwizowane dane umożliwiają przeniesienie kart na inne urządzenie.</string>
<string name="importExportHelp">Kopie zapasowe umożliwiają przeniesienie kart na inne urządzenie.</string>
<string name="importSuccessfulTitle">Zaimportowano</string>
<string name="importFailedTitle">Import nie powiódł się</string>
<string name="importFailed">Nie udało się zaimportować: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Nie udało się zaimportować</string>
<string name="exportSuccessfulTitle">Wyeksportowano</string>
<string name="exportFailedTitle">Eksport nie powiódł się</string>
<string name="exportFailed">Nie udało się wyeksportować: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Nie udało się wyeksportować</string>
<string name="importing">Importowanie…</string>
<string name="exporting">Eksportowanie…</string>
<string name="noExternalStoragePermissionError">Najpierw przyznaj uprawnienia pamięci zewnętrznej do importowania lub eksportowania kart</string>
<string name="noExternalStoragePermissionError">Przyznaj uprawnienia pamięci zewnętrznej, aby importować lub eksportować dane</string>
<string name="importOptionFilesystemTitle">Importuj z systemu plików</string>
<string name="importOptionFilesystemExplanation">Wybierz określony plik z systemu plików.</string>
<string name="importOptionFilesystemButton">Z systemu plików</string>
@@ -47,14 +47,14 @@
<string name="importOptionApplicationExplanation">Użyj dowolnej aplikacji lub ulubionego menedżera plików, aby otworzyć plik.</string>
<string name="importOptionApplicationButton">Użyj innej aplikacji</string>
<string name="about">O aplikacji</string>
<string name="app_license">Wolne oprogramowanie copylefted, licencjonowane GPLv3 +.</string>
<string name="app_license">Wolne oprogramowanie typu copyleft, na licencji GPLv3+</string>
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Wersja: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Info o wydaniu: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="selectBarcodeTitle">Wybierz kod kreskowy</string>
<string name="enterBarcodeInstructions">Wprowadź ID karty, a następnie wybierz typ kodu kreskowego, którego chcesz użyć lub wybierz „Ta karta nie ma kodu kreskowego”.</string>
<string name="copy_to_clipboard_toast">Skopiowano ID karty do schowka</string>
<string name="thumbnailDescription">Miniaturka karty</string>
<string name="enterBarcodeInstructions">Wprowadź ID, a następnie wybierz typ kodu kreskowego, którego chcesz użyć lub wybierz „Bez kodu kreskowego”.</string>
<string name="copy_to_clipboard_toast">Skopiowano ID do schowka</string>
<string name="thumbnailDescription">Miniaturka</string>
<string name="settings">Ustawienia</string>
<string name="settings_category_title_ui">Interfejs użytkownika</string>
<string name="settings_theme">Motyw</string>
@@ -66,14 +66,14 @@
<string name="intent_import_card_from_url_share_text">Chcę udostępnić Ci kartę lojalnościową</string>
<string name="deleteConfirmationGroup">Usunąć grupę\?</string>
<string name="all">Wszystko</string>
<string name="noGroups">Najpierw kliknij przycisk + plus, aby dodać grupy dla kategoryzacji.</string>
<string name="noGroups">Kliknij przycisk + plus, aby dodać grupy w celu kategoryzacji.</string>
<string name="groups">Grupy</string>
<string name="enter_group_name">Wpisz nazwę grupy</string>
<string name="exportSuccessful">Dane karty zostały wyeksportowane</string>
<string name="importSuccessful">Zaimportowano dane karty</string>
<string name="exportSuccessful">Dane zostały wyeksportowane</string>
<string name="importSuccessful">Zaimportowano dane</string>
<string name="starImage">Ulubiona gwiazda</string>
<string name="app_copyright_old">Na podstawie Loyalty Card Keychain
\nWszelkie prawa zastrzeżone © 20162020 Branden Archer.</string>
\nWszelkie prawa zastrzeżone © 20162020 Branden Archer</string>
<string name="exportOptionExplanation">Dane zostaną zapisane w wybranym przez Ciebie miejscu.</string>
<string name="unstar">Usuń z ulubionych</string>
<string name="star">Dodaj do ulubionych</string>
@@ -91,7 +91,7 @@
<string name="settings_magenta_theme">Magenta</string>
<string name="settings_pink_theme">Różowy</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_theme_color">Kolor motywu</string>
<string name="settings_theme_color">Kolor akcentowy motywu</string>
<string name="settings_system_locale">System</string>
<string name="settings_locale">Język</string>
<string name="turn_flashlight_off">Wyłącz latarkę</string>
@@ -100,36 +100,36 @@
<string name="passwordRequired">Proszę wpisać hasło</string>
<string name="no">Nie</string>
<string name="yes">Tak</string>
<string name="updateBarcodeQuestionText">Zmieniłeś ID karty. Czy chcesz zaktualizować kod kreskowy, aby używał tej samej wartości\?</string>
<string name="updateBarcodeQuestionText">Zmieniłeś ID. Czy chcesz zaktualizować kod kreskowy, aby używał tej samej wartości\?</string>
<string name="updateBarcodeQuestionTitle">Zaktualizować wartość kodu kreskowego\?</string>
<string name="takePhoto">Zrób zdjęcie</string>
<string name="removeImage">Usuń zdjęcie</string>
<string name="setBackImage">Ustaw tylne zdjęcie</string>
<string name="setFrontImage">Ustaw zdjęcie przednie</string>
<string name="photos">Zdjęcia</string>
<string name="backImageDescription">Zdjęcie tylne karty</string>
<string name="frontImageDescription">Zdjęcie przednie karty</string>
<string name="backImageDescription">Zdjęcie tylne</string>
<string name="frontImageDescription">Zdjęcie przednie</string>
<string name="intent_import_card_from_url_share_multiple_text">Chcę Ci udostępnić karty</string>
<string name="copy_to_clipboard_multiple_toast">Skopiowano ID karty do schowka</string>
<string name="copy_to_clipboard_multiple_toast">Skopiowano ID do schowka</string>
<string name="wrongValueForBarcodeType">Wartość nie jest prawidłowa dla wybranego typu kodu kreskowego</string>
<string name="unsupportedBarcodeType">Nie można jeszcze wyświetlić tego typu kodu kreskowego. Być może będzie on obsługiwany w nowszej wersji aplikacji.</string>
<string name="setBarcodeId">Ustaw wartość kodu kreskowego</string>
<string name="sameAsCardId">Taki sam jak ID karty</string>
<string name="sameAsCardId">Taki sam jak ID</string>
<string name="barcodeId">Wartość kodu kreskowego</string>
<string name="importVoucherVaultMessage">Wybierz swój <i>vouchervault.json</i> z Voucher Vault, aby zaimportować.
\nLub utwórz go wpierw klikając Eksportuj w Voucher Vault.</string>
\nUtwórz go wpierw klikając Eksportuj w Voucher Vault.</string>
<string name="importVoucherVault">Importuj z Voucher Vault</string>
<string name="importStocardMessage">Wybierz swój <i>***-sync.zip</i> z Stocard, aby zaimportować.
\nLub uzyskaj go, wysyłając email na adres support@stocardapp.com, z prośbą o eksport Twoich danych.</string>
\nUzyskaj go, wysyłając email na adres support@stocardapp.com, z prośbą o eksport Twoich danych.</string>
<string name="importStocard">Importuj z Stocard</string>
<string name="importLoyaltyCardKeychainMessage">Wybierz swój <i>LoyaltyCardKeychain.csv</i> z Loyalty Card Keychain, aby zaimportować.
\nLub utwórz go z menu Importuj/Eksportuj w Loyalty Card Keychain, wpierw klikając tam Eksportuj.</string>
\nUtwórz go z menu Importuj/Eksportuj w Loyalty Card Keychain, wpierw klikając tam Eksportuj.</string>
<string name="importLoyaltyCardKeychain">Importuj z Loyalty Card Keychain</string>
<string name="importFidmeMessage">Wybierz swój <i>fidme-export-request-xxxxxx.zip</i> z FidMe, aby zaimportować, po czym wybierz typy kodów kreskowych.
\nLub stwórz go ze swojego profilu FidMe, wybierając wpierw Ochrona Danych, a następnie naciskając Wyodrębnij moje dane.</string>
\nStwórz go ze swojego profilu FidMe, wybierając wpierw Ochrona Danych, a następnie naciskając Wyodrębnij moje dane.</string>
<string name="importFidme">Importuj z FidMe</string>
<string name="importCatimaMessage">Wybierz swój <i>catima.zip</i> z Catima, aby zaimportować.
\nLub utwórz go z menu Importuj/Eksportuj innej aplikacji Catima, wpierw klikając tam Eksportuj.</string>
\nUtwórz go z menu Importuj/Eksportuj innej aplikacji Catima, wpierw klikając tam Eksportuj.</string>
<string name="importCatima">Importuj z Catima</string>
<string name="accept">Zaakceptuj</string>
<string name="privacy_policy_popup_text">Informacja o polityce prywatności (wymagana przez niektóre sklepy z aplikacjami):
@@ -146,7 +146,7 @@
<string name="noBarcodeFound">Nie znaleziono kodu kreskowego</string>
<string name="moveBarcodeToCenterOfScreen">Wyśrodkuj kod kreskowy na ekranie</string>
<string name="moveBarcodeToTopOfScreen">Przenieś kod kreskowy na górę ekranu</string>
<string name="chooseExpiryDate">Wybierz datę ważności</string>
<string name="chooseExpiryDate">Wybierz datę wygaśnięcia</string>
<string name="never">Nigdy</string>
<string name="expiryDate">Data wygaśnięcia</string>
<string name="editBarcode">Edytuj kod kreskowy</string>
@@ -158,7 +158,7 @@
<string name="expiryStateSentence">Wygasa: <xliff:g>%s</xliff:g></string>
<string name="groupsList">Grupy: <xliff:g>%s</xliff:g></string>
<string name="addFromImage">Wybierz zdjęcie z galerii</string>
<string name="addManually">Wpisz ręcznie ID karty</string>
<string name="addManually">Wpisz ręcznie ID</string>
<string name="leaveWithoutSaveConfirmation">Wyjść bez zapisywania\?</string>
<string name="leaveWithoutSaveTitle">Wyjdź</string>
<string name="moveDown">Przesuń w dół</string>
@@ -170,14 +170,14 @@
<item quantity="many"><xliff:g>%d</xliff:g> kart</item>
<item quantity="other"><xliff:g>%d</xliff:g> kart</item>
</plurals>
<string name="noGroupCards">Ta grupa nie zawiera żadnych kart</string>
<string name="settings_disable_lockscreen_while_viewing_card">Zapobiegaj blokowaniu ekranu</string>
<string name="settings_keep_screen_on">Pozostaw ekran włączony</string>
<string name="noGroupCards">Ta grupa jest pusta</string>
<string name="settings_disable_lockscreen_while_viewing_card">Zapobiegaj wyłączeniu ekranu</string>
<string name="settings_keep_screen_on">Nie wygaszaj ekranu</string>
<string name="settings_max_font_size_scale">Maks. rozmiar czcionki</string>
<string name="app_resources">Otwarte zewnętrzne zasoby: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Otwarte zewnętrzne biblioteki: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Wszelkie prawa zastrzeżone © 2019<xliff:g>%d</xliff:g> Sylvia van Os.</string>
<string name="card_ids_copied">Skopiowano ID karty</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Wszelkie prawa zastrzeżone © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="card_ids_copied">Skopiowano identyfikator(y)</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Usunąć tą <xliff:g>%d</xliff:g> kartę permamentnie\?</item>
<item quantity="few">Usunąć te <xliff:g>%d</xliff:g> karty permamentnie\?</item>
@@ -191,9 +191,43 @@
<item quantity="other">Usuń <xliff:g>%d</xliff:g> kart</item>
</plurals>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> wybrana karta</item>
<item quantity="few"><xliff:g>%d</xliff:g> wybrane karty</item>
<item quantity="many"><xliff:g>%d</xliff:g> wybranych kart</item>
<item quantity="other"><xliff:g>%d</xliff:g> wybranych kart</item>
<item quantity="one"><xliff:g>%d</xliff:g> zaznaczona</item>
<item quantity="few"><xliff:g>%d</xliff:g> zaznaczone</item>
<item quantity="many"><xliff:g>%d</xliff:g> zaznaczonych</item>
<item quantity="other"><xliff:g>%d</xliff:g> zaznaczonych</item>
</plurals>
<string name="shortcutSelectCard">Wybierz kartę</string>
<string name="action_show_details">Pokaż szczegóły</string>
<string name="action_hide_details">Ukryj szczegóły</string>
<string name="sort_by_name">Nazwa</string>
<string name="sort_by_most_recently_used">Ostatnio użyte</string>
<string name="sort_by_expiry">Data wygaśnięcia</string>
<string name="sort_by_balance">Balans</string>
<string name="sort_by">Sortuj według</string>
<string name="credits">Podziękowania</string>
<string name="help_translate_this_app">Pomóż przetłumaczyć tą aplikację</string>
<string name="source_repository">Repozytorium Źródłowe</string>
<string name="report_error">Zgłoś Błąd</string>
<string name="setIcon">Ustaw ikonę</string>
<string name="on_github">na GitHub\'ie</string>
<string name="swipeToSwitchImages">Przeciągnij lub przytrzymaj aby zmienić obraz</string>
<string name="selectColor">Wybierz kolor</string>
<string name="version_history">Historia Wersji</string>
<string name="and_data_usage">i wykorzystanie danych</string>
<string name="rate_this_app">Oceń tą aplikację</string>
<string name="license">Licencja</string>
<string name="on_google_play">w Google Play</string>
<string name="noGiftCardsGroup">Stwórz karty i przypisz je do grupy w tym miejscu.</string>
<string name="reverse">...w odwrotnej kolejności</string>
<string name="translate_platform">na Weblate</string>
<string name="sort">Sortuj</string>
<string name="barcodeImageDescriptionWithType">Obraz kodu kreskowego typu <xliff:g>%s</xliff:g></string>
<string name="group_edit">Edytuj Grupę</string>
<string name="group_name_already_in_use">Ta nazwa jest już użyta</string>
<string name="group_name_is_empty">Nazwa grupy nie może być pusta</string>
<string name="group_updated">Zaktualizowano grupę</string>
<string name="editGroup">Edytowanie grupy: <xliff:g>%s</xliff:g></string>
<string name="exportPassword">Ustaw hasło, aby zabezpieczyć twoje wyeksportowane dane (opcjonalne)</string>
<string name="exportPasswordHint">Wpisz hasło</string>
<string name="options">Opcje</string>
</resources>

View File

@@ -1,2 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="shortcutSelectCard">Selecione um cartão</string>
<string name="action_show_details">Mostrar detalhes</string>
<string name="action_hide_details">Ocultar detalhes</string>
<string name="lockScreen">Bloquear rotação</string>
<string name="unlockScreen">Desbloquear rotação</string>
<string name="deleteTitle">Eliminar cartão</string>
<string name="deleteConfirmation">Eliminar este cartão permanentemente\?</string>
<string name="ok">OK</string>
<string name="copy_to_clipboard">Copiar identificador para a área de transferência</string>
<string name="share">Partilhar</string>
<string name="sendLabel">Enviar…</string>
<string name="editCardTitle">Editar cartão</string>
<string name="addCardTitle">Adicionar cartão</string>
<string name="cardShortcut">Atalho do cartão</string>
<string name="noCardsMessage">Adicione primeiro um cartão</string>
<string name="noStoreError">Nenhum nome inserido</string>
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
<string name="importExport">Importar / exportar</string>
<string name="exportName">Exportar</string>
<string name="importSuccessfulTitle">Importado</string>
<string name="importFailedTitle">A importação falhou</string>
<string name="exportSuccessfulTitle">Exportado</string>
<string name="exportFailedTitle">A exportação falhou</string>
<string name="importOptionFilesystemExplanation">Escolha um ficheiro específico a partir do sistema de ficheiros.</string>
<string name="importOptionApplicationTitle">Usar outra aplicação</string>
<string name="importOptionApplicationExplanation">Utilize qualquer aplicação ou o seu gestor de ficheiros favorito para abrir um ficheiro.</string>
<string name="importOptionApplicationButton">Utilizar outra aplicação</string>
<string name="about">Sobre</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Direitos de autor © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_copyright_old">Baseado no Loyalty Card Keychain
\ndireitos de autor © 20162020 Branden Archer</string>
<string name="app_license">Software livre de partilha sob a mesma licença e segundo a licença GPLv3+</string>
<string name="about_title_fmt">Sobre o <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versão: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informação da revisão: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_libraries">Bibliotecas livres de terceiros: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Recursos livres de terceiros: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Selecionar código de barras</string>
<string name="starImage">Favorito</string>
<string name="settings">Configurações</string>
<string name="settings_category_title_ui">Interface do utilizador</string>
<string name="settings_theme">Tema</string>
<string name="settings_system_theme">Sistema</string>
<string name="settings_light_theme">Claro</string>
<string name="settings_dark_theme">Escuro</string>
<string name="settings_max_font_size_scale">Tamanho máximo da fonte</string>
<string name="settings_display_barcode_max_brightness">Iluminar o código de barras</string>
<string name="settings_lock_barcode_orientation">Bloquear orientação do código de barras</string>
<string name="settings_keep_screen_on">Manter ecrã ligado</string>
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
<string name="group_updated">Grupo atualizado</string>
<string name="all">Todos</string>
<string name="deleteConfirmationGroup">Eliminar o grupo\?</string>
<string name="failedOpeningFileManager">Instalar primeiro um gestor de ficheiros.</string>
<string name="moveUp">Subir</string>
<string name="moveDown">Descer</string>
<string name="leaveWithoutSaveTitle">Sair</string>
<string name="leaveWithoutSaveConfirmation">Sair sem guardar\?</string>
<string name="addFromImage">Selecionar imagem da galeria</string>
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
<string name="editGroup">A editar grupo: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Expiram: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expirados: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="balancePoints"><xliff:g>%s</xliff:g> pontos</string>
<string name="card">Cartão</string>
<string name="barcode">Código de barras</string>
<string name="editBarcode">Editar código de barras</string>
<string name="expiryDate">Validade</string>
<string name="never">Nunca</string>
<string name="chooseExpiryDate">Escolher validade</string>
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo do ecrã</string>
<string name="moveBarcodeToCenterOfScreen">Centrar o código de barras no ecrã</string>
<string name="noBarcodeFound">Não foi encontrado nenhum código de barras</string>
<string name="errorReadingImage">Não foi possível ler a imagem</string>
<string name="balance">Saldo</string>
<string name="currency">Moeda</string>
<string name="privacy_policy_popup_text">Aviso de política de privacidade (exigido por algumas lojas de aplicações):
\n
\nNENHUM DADO É RECOLHIDO DE FORMA ALGUMA, o que qualquer pessoa pode confirmar, já que a nossa aplicação é um software livre de código-fonte aberto.</string>
<string name="accept">Aceitar</string>
<string name="importCatima">Importar do Catima</string>
<string name="importFidme">Importar do FidMe</string>
<string name="importFidmeMessage">Selecione a exportação <i>fidme-export-request-xxxxxx.zip</i> do FidMe para importar e depois selecione os tipos de código de barras manualmente.
\nPrimeiro crie a exportação no seu perfil do FidMe escolhendo a opção \"Proteção de dados\" e em seguida pressionando \"Extrair os meus dados\".</string>
<string name="importLoyaltyCardKeychain">Importar do Loyalty Card Keychain</string>
<string name="importLoyaltyCardKeychainMessage">Selecione a exportação <i>LoyaltyCardKeychain.csv</i> do Loyalty Card Keychain para importar.
\nPrimeiro crie a exportação no menu \"Importar / exportar\" no Loyalty Card Keychain pressionando \"Exportar\".</string>
<string name="importStocard">Importar do Stocard</string>
<string name="importCatimaMessage">Selecione a exportação <i>catima.zip</i> do Catima a importar.
\nPrimeiro crie a exportação no menu \"Importar / exportar\" de outra aplicação Catima pressionando \"Exportar\" nesse menu.</string>
<string name="importStocardMessage">Selecione a exportação <i>***-sync.zip</i> do Stocard para importar.
\nObtenha-o através do e-mail support@stocardapp.com solicitando uma exportação dos seus dados.</string>
<string name="importVoucherVault">Importar do Voucher Vault</string>
<string name="importVoucherVaultMessage">Selecione a exportação <i>vouchervault.json</i> do Voucher Vault para importar.
\nCrie-a primeiro pressionando a opção \"Exportar\" no Voucher Vault.</string>
<string name="barcodeId">Valor do código de barras</string>
<string name="setBarcodeId">Definir o valor do código de barras</string>
<string name="unsupportedBarcodeType">Este tipo de código de barras ainda não pode ser mostrado. Pode vir a ser suportado numa versão posterior da aplicação.</string>
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
<string name="intent_import_card_from_url_share_multiple_text">Quero partilhar alguns cartões</string>
<string name="photos">Fotografias</string>
<string name="setFrontImage">Definir imagem frontal</string>
<string name="setBackImage">Definir imagem de trás</string>
<string name="removeImage">Remover imagem</string>
<string name="takePhoto">Tirar uma fotografia</string>
<string name="updateBarcodeQuestionTitle">Atualizar o valor do código de barras\?</string>
<string name="yes">Sim</string>
<string name="no">Não</string>
<string name="passwordRequired">Introduza a palavra-passe</string>
<string name="exportPassword">Defina uma palavra-passe para proteger a exportação (opcional)</string>
<string name="exportPasswordHint">Digite a palavra-passe</string>
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL partilhável. Por favor reporte isto aos programadores.</string>
<string name="turn_flashlight_on">Ligar lanterna</string>
<string name="turn_flashlight_off">Desligar lanterna</string>
<string name="settings_locale">Idioma</string>
<string name="settings_system_locale">Sistema</string>
<string name="selectColor">Selecionar cor</string>
<string name="setIcon">Definir ícone</string>
<string name="settings_violet_theme">Violeta</string>
<string name="settings_blue_theme">Azul</string>
<string name="settings_sky_blue_theme">Azul céu</string>
<string name="settings_green_theme">Verde</string>
<string name="settings_grey_theme">Cinzento</string>
<string name="settings_brown_theme">Castanho</string>
<string name="app_contributors">Tornado possível por: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Ordenar</string>
<string name="swipeToSwitchImages">Deslize ou pressione prolongadamente para mudar as imagens</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
<string name="sort_by_expiry">Validade</string>
<string name="sort_by_balance">Saldo</string>
<string name="sort_by">Ordenar por</string>
<string name="version_history">Histórico de versões</string>
<string name="credits">Créditos</string>
<string name="help_translate_this_app">Ajude a traduzir esta aplicação</string>
<string name="license">Licença</string>
<string name="source_repository">Repositório do código-fonte</string>
<string name="on_github">no GitHub</string>
<string name="and_data_usage">e utilização de dados</string>
<string name="rate_this_app">Avalie esta aplicação</string>
<string name="on_google_play">no Google Play</string>
<string name="report_error">Reportar erro</string>
<string name="translate_platform">no Weblate</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Eliminar <xliff:g>%d</xliff:g> cartão</item>
<item quantity="other">Eliminar <xliff:g>%d</xliff:g> cartões</item>
</plurals>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Eliminar o cartão <xliff:g>%d</xliff:g> permanentemente\?</item>
<item quantity="other">Eliminar os cartões <xliff:g>%d</xliff:g> permanentemente\?</item>
</plurals>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> cartão</item>
<item quantity="other"><xliff:g>%d</xliff:g> cartões</item>
</plurals>
<string name="action_search">Pesquisa</string>
<string name="action_add">Acrescentar</string>
<string name="storeName">Nome</string>
<string name="note">Nota</string>
<string name="cardId">Identificador do cartão</string>
<string name="barcodeType">Tipo de código de barras</string>
<string name="noBarcode">Sem código de barras</string>
<string name="star">Adicionar aos favoritos</string>
<string name="unstar">Retirar dos favoritos</string>
<string name="cancel">Cancelar</string>
<string name="save">Guardar</string>
<string name="edit">Editar</string>
<string name="delete">Eliminar</string>
<string name="confirm">Confirmar</string>
<string name="importing">A importar…</string>
<string name="exporting">A exportar…</string>
<string name="exportOptionExplanation">Os dados serão guardados num local à sua escolha.</string>
<string name="importOptionFilesystemTitle">Importar do sistema de ficheiros</string>
<string name="importOptionFilesystemButton">Do sistema de ficheiros</string>
<string name="intent_import_card_from_url_share_text">Quero partilhar um cartão</string>
<string name="enter_group_name">Introduza o nome do grupo</string>
<string name="groups">Grupos</string>
<string name="group_edit">Editar grupo</string>
<string name="group_name_already_in_use">O nome do grupo já está a ser usado</string>
<string name="points">Pontos</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> não parece ser um saldo válido.</string>
<string name="chooseImportType">De onde importar os dados\?</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy">Política de privacidade</string>
<string name="settings_theme_color">Cor do tema</string>
<string name="settings_catima_theme">Catima</string>
<string name="settings_pink_theme">Rosa</string>
<string name="settings_magenta_theme">Magenta</string>
</resources>

View File

@@ -78,10 +78,10 @@
<string name="importExportHelp">A cópia de segurança dos seus cartões permite-lhe movê-los para outro dispositivo.</string>
<string name="importSuccessfulTitle">Importado</string>
<string name="importFailedTitle">A importação falhou</string>
<string name="importFailed">Não foi possível importar os cartões: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Não foi possível importar os cartões</string>
<string name="exportSuccessfulTitle">Exportado</string>
<string name="exportFailedTitle">A exportação falhou</string>
<string name="exportFailed">Não foi possível exportar os cartões: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Não foi possível exportar os cartões</string>
<string name="importing">A importar…</string>
<string name="exporting">A exportar…</string>
<string name="settings_sky_blue_theme">Azul céu</string>
@@ -112,7 +112,7 @@
<string name="photos">Fotografias</string>
<string name="passwordRequired">Introduza a palavra-passe</string>
<string name="settings_green_theme">Verde</string>
<string name="settings_grey_theme">Cinza</string>
<string name="settings_grey_theme">Cinzento</string>
<string name="settings_brown_theme">Castanho</string>
<string name="updateBarcodeQuestionTitle">Atualizar o valor do código de barras\?</string>
<string name="updateBarcodeQuestionText">Alterou a identificação do cartão. Também quer atualizar o código de barras para usar o mesmo valor\?</string>
@@ -180,7 +180,6 @@
<string name="settings_blue_theme">Azul</string>
<string name="app_contributors">Tornado possível por: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Ordenar</string>
<string name="toggleMoreInfo">Alternar mostrar mais informação</string>
<string name="swipeToSwitchImages">Deslize ou pressione prolongadamente para mudar as imagens</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
@@ -220,4 +219,6 @@
<string name="setIcon">Definir ícone</string>
<string name="action_show_details">Mostrar detalhes</string>
<string name="action_hide_details">Ocultar detalhes</string>
<string name="shortcutSelectCard">Selecione um cartão</string>
<string name="translate_platform">no Weblate</string>
</resources>

View File

@@ -35,9 +35,9 @@
<string name="exportName">Exportați</string>
<string name="importSuccessfulTitle">Importat</string>
<string name="importFailedTitle">Importul a eșuat</string>
<string name="importFailed">Nu s-a putut importa carduri: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Nu s-a putut importa carduri</string>
<string name="noCardIdError">Nu s-a introdus niciun ID de card</string>
<string name="exportFailed">Nu s-a putut exporta carduri: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Nu s-a putut exporta carduri</string>
<string name="importing">Importul…</string>
<string name="exporting">Exportul…</string>
<string name="noExternalStoragePermissionError">Acordați mai întâi permisiunea de stocare externă pentru a importa sau exporta carduri</string>

View File

@@ -34,10 +34,10 @@
<string name="importExportHelp">Резервное копирование данных позволяет перенести их на другое устройство.</string>
<string name="importSuccessfulTitle">Импортировано</string>
<string name="importFailedTitle">Импорт не выполнен</string>
<string name="importFailed">Невозможно импортировать карты: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Невозможно выполнить импорт</string>
<string name="exportSuccessfulTitle">Экспортировано</string>
<string name="exportFailedTitle">Экспорт не выполнен</string>
<string name="exportFailed">Невозможно экспортировать карты: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Невозможно выполнить экспорт</string>
<string name="importing">Импорт…</string>
<string name="exporting">Экспорт…</string>
<string name="noExternalStoragePermissionError">Импорт или экспорт данных невозможен без разрешения на доступ к хранилищу</string>
@@ -197,7 +197,6 @@
<string name="app_contributors">Создано при поддержке: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Группа пуста</string>
<string name="barcodeImageDescriptionWithType">Изображение штрих-кода <xliff:g>%s</xliff:g></string>
<string name="toggleMoreInfo">Переключение отображения дополнительной информации</string>
<string name="swipeToSwitchImages">Смахивание или долгое нажатие для переключения изображений</string>
<string name="sort_by_expiry">Срок действия</string>
<string name="sort_by">Сортировать по</string>
@@ -230,4 +229,9 @@
<string name="action_show_details">Показать детали</string>
<string name="translate_platform">на Weblate</string>
<string name="shortcutSelectCard">Выбор карты</string>
</resources>
<string name="options">Параметры</string>
<string name="set_scale">Выбор масштаба</string>
<string name="hideMoreInfo">Скрыть данные</string>
<string name="showMoreInfo">Показать данные</string>
<string name="starred">Избранное</string>
</resources>

View File

@@ -28,10 +28,10 @@
<string name="importExportHelp">Zálohovanie dát Vám umožní presunúť Vaše uložené karty na iné zariadenie.</string>
<string name="importSuccessfulTitle">Import bol úspešný</string>
<string name="importFailedTitle">Import zlyhal</string>
<string name="importFailed">Zlyhal import: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Zlyhal import</string>
<string name="exportSuccessfulTitle">Export bol úspešný</string>
<string name="exportFailedTitle">Export zlyhal</string>
<string name="exportFailed">Zlyhal export: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Zlyhal export</string>
<string name="importing">Importujem…</string>
<string name="exporting">Exportujem…</string>
<string name="noExternalStoragePermissionError">Nie je možné importovať a exportovať karty bez prístupu k externému úložisku</string>

View File

@@ -28,10 +28,10 @@
<string name="importExportHelp">Varnostna kopija omogoča varen prenos kartic na druge naprave.</string>
<string name="importSuccessfulTitle">Uvoz je bil uspešen</string>
<string name="importFailedTitle">Uvoz ni uspel</string>
<string name="importFailed">Napaka pri uvozu: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Napaka pri uvozu</string>
<string name="exportSuccessfulTitle">Izvoz je uspel</string>
<string name="exportFailedTitle">Izvoz ni uspel</string>
<string name="exportFailed">Napaka pri izvozu: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Napaka pri izvozu</string>
<string name="importing">Uvažanje…</string>
<string name="exporting">Izvažanje…</string>
<string name="noExternalStoragePermissionError">Izvažanje in uvažanje je nemogoče brez omogočenega dostopa do zunanje shrambe</string>

View File

@@ -99,8 +99,8 @@
<string name="importOptionFilesystemTitle">Importera från filsystem</string>
<string name="exporting">Exporterar…</string>
<string name="importing">Importerar…</string>
<string name="exportFailed">Kunde inte exportera kort: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Kunde inte importera kort: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Kunde inte genomföra export</string>
<string name="importFailed">Kunde inte genomföra import</string>
<string name="importSuccessfulTitle">Importen lyckades</string>
<string name="importFailedTitle">Importen misslyckades</string>
<string name="importExportHelp">Säkerhetskopiering av din data möjliggör förflyttning av den till en annan enhet.</string>
@@ -188,7 +188,6 @@
<string name="settings_catima_theme">Catima</string>
<string name="settings_theme_color">Temafärg</string>
<string name="noGroupCards">Denna grupp är tom</string>
<string name="toggleMoreInfo">Växla mellan att visa mer info</string>
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> streckkod</string>
<string name="swipeToSwitchImages">Svep eller tryck länge för att växla bild</string>
<string name="reverse">...i omvänd ordning</string>
@@ -222,4 +221,4 @@
<string name="noGiftCardsGroup">Skapa några kort och placera dem sedan i den här gruppen.</string>
<string name="translate_platform">på Weblate</string>
<string name="shortcutSelectCard">Välj ett kort</string>
</resources>
</resources>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="swipeToSwitchImages">Resimler arasında geçiş yapmak için kaydırın veya uzun basın</string>
<string name="toggleMoreInfo">Daha fazla bilgi göstermeyi aç/kapat</string>
<string name="app_contributors">Katkıda bulunanlar: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="settings_brown_theme">Kahverengi</string>
<string name="settings_grey_theme">Gri</string>
@@ -134,10 +133,10 @@
<string name="noExternalStoragePermissionError">Verileri içeri veya dışarı aktarmak için harici depolama izni verin</string>
<string name="exporting">Dışa aktarılıyor…</string>
<string name="importing">İçe aktarılıyor…</string>
<string name="exportFailed">Kartlar dışa aktarılamadı: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Dışa aktarma gerçekleştirilemedi</string>
<string name="exportFailedTitle">Dışa aktarılamadı</string>
<string name="exportSuccessfulTitle">Dışa aktarıldı</string>
<string name="importFailed">Kartlar içe aktarılamadı: <xliff:g>%s</xliff:g></string>
<string name="importFailed">İçe aktarma gerçekleştirilemedi</string>
<string name="importFailedTitle">İçe aktarılamadı</string>
<string name="importSuccessfulTitle">İçe aktarıldı</string>
<string name="importExportHelp">Verilerinizi yedeklemek, onları başka bir aygıta taşımanıza olanak tanır.</string>
@@ -222,4 +221,9 @@
<string name="action_hide_details">Ayrıntıları gizle</string>
<string name="translate_platform">Weblate\'de</string>
<string name="shortcutSelectCard">Kart seç</string>
</resources>
<string name="options">Seçenekler</string>
<string name="showMoreInfo">Bilgileri göster</string>
<string name="hideMoreInfo">Bilgileri gizle</string>
<string name="starred">Yıldızlı</string>
<string name="set_scale">Ölçeği ayarla</string>
</resources>

View File

@@ -111,10 +111,10 @@
<string name="noExternalStoragePermissionError">Надайте дозвіл на доступ до пам\'яті пристрою для імпорту/експорту даних</string>
<string name="exporting">Експортуємо…</string>
<string name="importing">Імпортуємо…</string>
<string name="exportFailed">Неможливо експортувати картки: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Неможливо здійснити експорт</string>
<string name="exportFailedTitle">Помилка експорту</string>
<string name="exportSuccessfulTitle">Експортовано</string>
<string name="importFailed">Неможливо імпортувати картки: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Неможливо здійснити імпорт</string>
<string name="importFailedTitle">Помилка імпорту</string>
<string name="importSuccessfulTitle">Імпортовано</string>
<string name="importExportHelp">Резервна копія даних дозволяє перемістити їх до іншого пристрою.</string>
@@ -196,7 +196,6 @@
<string name="settings_sky_blue_theme">Небесно-синій</string>
<string name="app_contributors">Стало можливим завдяки: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="noGroupCards">Пуста група</string>
<string name="toggleMoreInfo">Показувати додаткову інформацію</string>
<string name="barcodeImageDescriptionWithType">Зображення штрих-коду <xliff:g>%s</xliff:g></string>
<string name="swipeToSwitchImages">Свайп чи довге натискання для зміни зображень</string>
<string name="sort_by">Сортувати за</string>
@@ -229,4 +228,6 @@
<string name="action_show_details">Показати деталі</string>
<string name="action_hide_details">Сховати деталі</string>
<string name="translate_platform">на Weblate</string>
</resources>
<string name="shortcutSelectCard">Оберіть карту</string>
<string name="options">Параметри</string>
</resources>

View File

@@ -1,9 +0,0 @@
<resources>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
</resources>

View File

@@ -99,10 +99,10 @@
<string name="noExternalStoragePermissionError">在导入导出前需要获得外部储存权限</string>
<string name="exporting">导出中…</string>
<string name="importing">导入中…</string>
<string name="exportFailed">无法导出卡片: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">无法导出卡片</string>
<string name="exportFailedTitle">导出失败</string>
<string name="exportSuccessfulTitle">导出成功</string>
<string name="importFailed">无法导入卡片: <xliff:g>%s</xliff:g></string>
<string name="importFailed">无法导入卡片</string>
<string name="importFailedTitle">导入失败</string>
<string name="importSuccessfulTitle">导入成功</string>
<string name="importExportHelp">备份数据允许你将其移动到另一个设备上。</string>

View File

@@ -56,7 +56,7 @@
<string name="expiryDate">逾期日期</string>
<string name="expiryStateSentence">逾期於:<xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">已逾期:<xliff:g>%s</xliff:g></string>
<string name="exportFailed">無法匯出卡片: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">無法匯出卡片</string>
<string name="exportFailedTitle">匯出失敗</string>
<string name="exporting">匯出中…</string>
<string name="exportName">匯出</string>
@@ -73,7 +73,7 @@
<string name="help_translate_this_app">幫助翻譯本程式</string>
<string name="importExport">匯入/匯出</string>
<string name="importFailedTitle">匯入失敗</string>
<string name="importFailed">無法匯入卡片: <xliff:g>%s</xliff:g></string>
<string name="importFailed">無法匯入卡片</string>
<string name="importing">匯入中…</string>
<string name="importSuccessfulTitle">已匯入</string>
<string name="intent_import_card_from_url_share_multiple_text">我想要分享些卡片給你</string>
@@ -201,7 +201,6 @@
<string name="backImageDescription">卡片 (背面)</string>
<string name="updateBarcodeQuestionText">您已更新了條碼 ID是否要更新條碼內容以匹配此 ID</string>
<string name="failedGeneratingShareURL">無法建立可分享的 URL請回報此錯誤。</string>
<string name="toggleMoreInfo">切換顯示更多內容</string>
<string name="swipeToSwitchImages">滑動或長按以切換圖片</string>
<string name="starImage">收藏標示</string>
</resources>

View File

@@ -1,26 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Palette generated by Material IO https://material.io/color/#!/?view.left=0&view.right=0&primary.color=3F51B5&secondary.color=FFC107 -->
<resources>
<color name="colorPrimary">#B53F3F</color>
<color name="colorPrimaryLight">#E87575</color>
<color name="colorPrimaryDark">#840000</color>
<color name="colorPrimaryDisabled">#484848</color>
<color name="colorSecondary">#ffc107</color>
<color name="colorSecondaryLight">#fff350</color>
<color name="colorSecondaryDark">#c79100</color>
<color name="colorPrimaryText">#ffffff</color>
<color name="colorSecondaryText">#000000</color>
<color name="listItemHighlight">#44000000</color>
<color name="inputContrastBackground">#F8F8F8</color>
<color name="inputBackground">#FFFFFF</color>
<color name="inputBorder">#DDDDDD</color>
<color name="inputDividerBorder">#AAAAAA</color>
<color name="iconColor">#000000</color>
<color name="alert">#FF0000</color>
<color name="mainLoyaltyCardBackground">#F8F8F8</color>
<color name="md_theme_light_primary">#A83536</color>
<color name="md_theme_light_onPrimary">#FFFFFF</color>
<color name="md_theme_light_primaryContainer">#FFDAD6</color>
<color name="md_theme_light_onPrimaryContainer">#410004</color>
<color name="md_theme_light_secondary">#775654</color>
<color name="md_theme_light_onSecondary">#FFFFFF</color>
<color name="md_theme_light_secondaryContainer">#FFDAD7</color>
<color name="md_theme_light_onSecondaryContainer">#2C1514</color>
<color name="md_theme_light_tertiary">#735A2E</color>
<color name="md_theme_light_onTertiary">#FFFFFF</color>
<color name="md_theme_light_tertiaryContainer">#FFDEA7</color>
<color name="md_theme_light_onTertiaryContainer">#281900</color>
<color name="md_theme_light_error">#BA1B1B</color>
<color name="md_theme_light_errorContainer">#FFDAD4</color>
<color name="md_theme_light_onError">#FFFFFF</color>
<color name="md_theme_light_onErrorContainer">#410001</color>
<color name="md_theme_light_background">#FCFCFC</color>
<color name="md_theme_light_onBackground">#201A1A</color>
<color name="md_theme_light_surface">#FCFCFC</color>
<color name="md_theme_light_onSurface">#201A1A</color>
<color name="md_theme_light_surfaceVariant">#F4DDDB</color>
<color name="md_theme_light_onSurfaceVariant">#524342</color>
<color name="md_theme_light_outline">#857372</color>
<color name="md_theme_light_inverseOnSurface">#FBEEEC</color>
<color name="md_theme_light_inverseSurface">#362F2E</color>
<color name="md_theme_light_primaryInverse">#FFB3AE</color>
<color name="md_theme_dark_primary">#FFB3AE</color>
<color name="md_theme_dark_onPrimary">#67020E</color>
<color name="md_theme_dark_primaryContainer">#881E22</color>
<color name="md_theme_dark_onPrimaryContainer">#FFDAD6</color>
<color name="md_theme_dark_secondary">#E7BDBA</color>
<color name="md_theme_dark_onSecondary">#442928</color>
<color name="md_theme_dark_secondaryContainer">#5D3F3D</color>
<color name="md_theme_dark_onSecondaryContainer">#FFDAD7</color>
<color name="md_theme_dark_tertiary">#E3C28C</color>
<color name="md_theme_dark_onTertiary">#402D05</color>
<color name="md_theme_dark_tertiaryContainer">#594319</color>
<color name="md_theme_dark_onTertiaryContainer">#FFDEA7</color>
<color name="md_theme_dark_error">#FFB4A9</color>
<color name="md_theme_dark_errorContainer">#930006</color>
<color name="md_theme_dark_onError">#680003</color>
<color name="md_theme_dark_onErrorContainer">#FFDAD4</color>
<color name="md_theme_dark_background">#201A1A</color>
<color name="md_theme_dark_onBackground">#ECDFDE</color>
<color name="md_theme_dark_surface">#201A1A</color>
<color name="md_theme_dark_onSurface">#ECDFDE</color>
<color name="md_theme_dark_surfaceVariant">#524342</color>
<color name="md_theme_dark_onSurfaceVariant">#D8C2C0</color>
<color name="md_theme_dark_outline">#A08C8B</color>
<color name="md_theme_dark_inverseOnSurface">#201A1A</color>
<color name="md_theme_dark_inverseSurface">#ECDFDE</color>
<color name="md_theme_dark_primaryInverse">#A83536</color>
<color name="seed">#B53F3F</color>
<color name="error">#BA1B1B</color>
</resources>

View File

@@ -12,31 +12,6 @@
<item>@string/settings_dark_theme</item>
</string-array>
<string-array name="color_values">
<item>@string/settings_key_catima_theme</item>
<item>@string/settings_key_pink_theme</item>
<item>@string/settings_key_magenta_theme</item>
<item>@string/settings_key_violet_theme</item>
<item>@string/settings_key_blue_theme</item>
<item>@string/settings_key_sky_blue_theme</item>
<item>@string/settings_key_green_theme</item>
<item>@string/settings_key_grey_theme</item>
<item>@string/settings_key_brown_theme</item>
</string-array>
<string-array name="color_value_strings">
<item>@string/settings_catima_theme</item>
<item>@string/settings_pink_theme</item>
<item>@string/settings_magenta_theme</item>
<item>@string/settings_violet_theme</item>
<item>@string/settings_blue_theme</item>
<item>@string/settings_sky_blue_theme</item>
<item>@string/settings_green_theme</item>
<item>@string/settings_grey_theme</item>
<item>@string/settings_brown_theme</item>
</string-array>
<string-array name="locale_values">
<item />
<item>bg</item>

View File

@@ -61,10 +61,10 @@
<string name="importExportHelp">Backing up your data allows moving it to another device.</string>
<string name="importSuccessfulTitle">Imported</string>
<string name="importFailedTitle">Import failed</string>
<string name="importFailed">Could not import cards: <xliff:g>%s</xliff:g></string>
<string name="importFailed">Could not perform import</string>
<string name="exportSuccessfulTitle">Exported</string>
<string name="exportFailedTitle">Export failed</string>
<string name="exportFailed">Could not export cards: <xliff:g>%s</xliff:g></string>
<string name="exportFailed">Could not perform export</string>
<string name="importing">Importing…</string>
<string name="exporting">Exporting…</string>
<string name="noExternalStoragePermissionError">Grant external storage permission to import or export data</string>
@@ -235,7 +235,8 @@
<string name="settings_key_brown_theme" translatable="false">brown_theme</string>
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="sort">Sort</string>
<string name="toggleMoreInfo">Toggle showing more info</string>
<string name="showMoreInfo">Show info</string>
<string name="hideMoreInfo">Hide info</string>
<string name="swipeToSwitchImages">Swipe or long press to switch images</string>
<string name="sort_by_name">Name</string>
<string name="sort_by_most_recently_used">Most Recently Used</string>
@@ -257,9 +258,9 @@
<string name="report_error">Report Error</string>
<string name="action_show_details">Show details</string>
<string name="action_hide_details">Hide details</string>
<string name="unknown_failure">Unknown failure</string>
<string name="incorrect_password">Incorrect password</string>
<string name="importExportDescription">Notifications about importing or exporting card data</string>
<string name="translate_platform">on Weblate</string>
<string name="shortcutSelectCard">Select a card</string>
<string name="options">Options</string>
<string name="starred">Starred</string>
<string name="set_scale">Set scale</string>
</resources>

View File

@@ -1,155 +0,0 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:disabledAlpha">1.5</item>
<item name="colorSecondary">@color/colorSecondary</item>
<item name="colorAccent">@color/colorPrimary</item>
<item name="actionModeBackground">@color/colorPrimary</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeCloseDrawable">@drawable/ic_close</item>
</style>
<style name="AppTheme_pink" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/pink_colorPrimary</item>
<item name="colorPrimaryDark">@color/pink_colorPrimaryDark</item>
<item name="colorAccent">@color/pink_colorPrimary</item>
<item name="actionModeBackground">@color/pink_colorPrimary</item>
</style>
<style name="AppTheme_magenta" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/magenta_colorPrimary</item>
<item name="colorPrimaryDark">@color/magenta_colorPrimaryDark</item>
<item name="colorAccent">@color/magenta_colorPrimary</item>
<item name="actionModeBackground">@color/magenta_colorPrimary</item>
</style>
<style name="AppTheme_violet" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/violet_colorPrimary</item>
<item name="colorPrimaryDark">@color/violet_colorPrimaryDark</item>
<item name="colorAccent">@color/violet_colorPrimary</item>
<item name="actionModeBackground">@color/violet_colorPrimary</item>
</style>
<style name="AppTheme_blue" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/blue_colorPrimary</item>
<item name="colorPrimaryDark">@color/blue_colorPrimaryDark</item>
<item name="colorAccent">@color/blue_colorPrimary</item>
<item name="actionModeBackground">@color/blue_colorPrimary</item>
</style>
<style name="AppTheme_sky_blue" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/skyblue_colorPrimary</item>
<item name="colorPrimaryDark">@color/skyblue_colorPrimaryDark</item>
<item name="colorAccent">@color/skyblue_colorPrimary</item>
<item name="actionModeBackground">@color/skyblue_colorPrimary</item>
</style>
<style name="AppTheme_green" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/green_colorPrimary</item>
<item name="colorPrimaryDark">@color/green_colorPrimaryDark</item>
<item name="colorAccent">@color/green_colorPrimary</item>
<item name="actionModeBackground">@color/green_colorPrimary</item>
</style>
<style name="AppTheme_grey" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/grey_colorPrimary</item>
<item name="colorPrimaryDark">@color/grey_colorPrimaryDark</item>
<item name="colorAccent">@color/grey_colorPrimary</item>
<item name="actionModeBackground">@color/grey_colorPrimary</item>
</style>
<style name="AppTheme_brown" parent="AppTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/brown_colorPrimary</item>
<item name="colorPrimaryDark">@color/brown_colorPrimaryDark</item>
<item name="colorAccent">@color/brown_colorPrimary</item>
<item name="actionModeBackground">@color/brown_colorPrimary</item>
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<!-- Splash Screen Theme-->
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/ic_launcher_background</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/AppTheme</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.MaterialComponents.Dark.ActionBar"/>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.DayNight"/>
<style name="CardView.ActionBarTheme" parent="@style/ThemeOverlay.MaterialComponents.ActionBar">
<!-- THIS is where you can color the arrow! -->
<item name="colorControlNormal">@android:color/white</item>
</style>
<style name="AppTheme.TextView.NoData" parent="AppTheme">
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:padding">@dimen/no_data_padding</item>
<item name="android:textSize">@dimen/no_data_textSize</item>
</style>
<style name="AlertDialogTheme" parent="ThemeOverlay.MaterialComponents.Dialog.Alert">
<item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
<item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
</style>
<style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
<item name="android:textColor">@color/colorSecondaryText</item>
</style>
<style name="PositiveButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
<item name="android:textColor">@color/colorSecondaryText</item>
</style>
<color name="red_colorPrimary">#ff0000</color>
<color name="red_colorPrimaryDark">#DF0000</color>
<color name="pink_colorPrimary">#e91e63</color>
<color name="pink_colorPrimaryDark">#CB1755</color>
<color name="magenta_colorPrimary">#9b26af</color>
<color name="magenta_colorPrimaryDark">#7a1ea1</color>
<color name="violet_colorPrimary">#6639b6</color>
<color name="violet_colorPrimaryDark">#502ca7</color>
<color name="blue_colorPrimary">#3F51B5</color>
<color name="blue_colorPrimaryDark">#3445A2</color>
<color name="skyblue_colorPrimary">#03A9F4</color>
<color name="skyblue_colorPrimaryDark">#0094D7</color>
<color name="green_colorPrimary">#4CAF50</color>
<color name="green_colorPrimaryDark">#419744</color>
<!--<color name="colorPrimary">#3F51B5</color>-->
<!--<color name="colorPrimaryDark">#3445A2</color>-->
<color name="grey_colorPrimary">#9d9d9d</color>
<color name="grey_colorPrimaryDark">#606060</color>
<color name="grey_colorAccent">#f90</color>
<color name="brown_colorPrimary">#795548</color>
<color name="brown_colorPrimaryDark">#63453B</color>
<color name="brown_colorAccent">#e81d62</color>
</resources>

View File

@@ -0,0 +1,51 @@
<resources>
<style name="AppTheme" parent="Theme.Material3.Light.NoActionBar">
<item name="colorPrimary">@color/md_theme_light_primary</item>
<item name="colorOnPrimary">@color/md_theme_light_onPrimary</item>
<item name="colorPrimaryContainer">@color/md_theme_light_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/md_theme_light_onPrimaryContainer</item>
<item name="colorSecondary">@color/md_theme_light_secondary</item>
<item name="colorOnSecondary">@color/md_theme_light_onSecondary</item>
<item name="colorSecondaryContainer">@color/md_theme_light_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/md_theme_light_onSecondaryContainer</item>
<item name="colorTertiary">@color/md_theme_light_tertiary</item>
<item name="colorOnTertiary">@color/md_theme_light_onTertiary</item>
<item name="colorTertiaryContainer">@color/md_theme_light_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/md_theme_light_onTertiaryContainer</item>
<item name="colorError">@color/md_theme_light_error</item>
<item name="colorErrorContainer">@color/md_theme_light_errorContainer</item>
<item name="colorOnError">@color/md_theme_light_onError</item>
<item name="colorOnErrorContainer">@color/md_theme_light_onErrorContainer</item>
<item name="android:colorBackground">@color/md_theme_light_background</item>
<item name="colorOnBackground">@color/md_theme_light_onBackground</item>
<item name="colorSurface">@color/md_theme_light_surface</item>
<item name="colorOnSurface">@color/md_theme_light_onSurface</item>
<item name="colorSurfaceVariant">@color/md_theme_light_surfaceVariant</item>
<item name="colorOnSurfaceVariant">@color/md_theme_light_onSurfaceVariant</item>
<item name="colorOutline">@color/md_theme_light_outline</item>
<item name="colorOnSurfaceInverse">@color/md_theme_light_inverseOnSurface</item>
<item name="colorSurfaceInverse">@color/md_theme_light_inverseSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_light_primaryInverse</item>
<item name="windowActionModeOverlay">true</item>
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.TextView.NoData" parent="AppTheme">
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:padding">@dimen/no_data_padding</item>
<item name="android:textSize">@dimen/no_data_textSize</item>
</style>
<!-- Splash Screen Theme-->
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
<item name="windowSplashScreenBackground">@color/ic_launcher_background</item>
<item name="windowSplashScreenAnimatedIcon">@drawable/ic_launcher_foreground</item>
<item name="postSplashScreenTheme">@style/AppTheme</item>
</style>
</resources>

View File

@@ -16,16 +16,6 @@
app:iconSpaceReserved="false"
app:singleLineTitle="false" />
<ListPreference
android:key="@string/setting_key_theme_color"
android:title="@string/settings_theme_color"
android:defaultValue="@string/settings_key_catima_theme"
android:entries="@array/color_value_strings"
android:entryValues="@array/color_values"
app:iconSpaceReserved="false"
app:singleLineTitle="false" />
<ListPreference
android:key="@string/settings_key_locale"
android:title="@string/settings_locale"

View File

@@ -0,0 +1 @@
Catima

View File

@@ -0,0 +1,2 @@
- Nové rozvržení hlavní obrazovky
- Oprava problémů s velikostí spodního panelu při přepínání na celou obrazovku a z ní

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