Compare commits
193 Commits
create-pul
...
create-pul
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1689cf1026 | ||
|
|
a55ce2c952 | ||
|
|
d2ff17a90e | ||
|
|
70c446e88d | ||
|
|
0d6dc40da5 | ||
|
|
a4f3a81d58 | ||
|
|
c64f75ffe4 | ||
|
|
0fdb6ee567 | ||
|
|
9aa40fc88c | ||
|
|
4f4c0171c0 | ||
|
|
e4644b3eb7 | ||
|
|
999cf241f8 | ||
|
|
42b964a324 | ||
|
|
1262bfd502 | ||
|
|
81fe561678 | ||
|
|
9cb989155d | ||
|
|
59587f4a40 | ||
|
|
4dc0d4cd24 | ||
|
|
89598be72e | ||
|
|
1d2359f295 | ||
|
|
026984920b | ||
|
|
03ed289ef9 | ||
|
|
0ccbeb42dd | ||
|
|
3f9b772a11 | ||
|
|
e97c9de471 | ||
|
|
872db6b966 | ||
|
|
724d036df9 | ||
|
|
fc98e6651a | ||
|
|
a70e4aa7a7 | ||
|
|
d542be322c | ||
|
|
d5a977c5b0 | ||
|
|
bac9199974 | ||
|
|
bb92ec2291 | ||
|
|
b155f45b01 | ||
|
|
b2f79f836b | ||
|
|
9ba7e4a92b | ||
|
|
28088beb72 | ||
|
|
25351f4138 | ||
|
|
1ac4db8641 | ||
|
|
5cee4ef497 | ||
|
|
b323c2e5cd | ||
|
|
66be4a8c18 | ||
|
|
dd2bd294ba | ||
|
|
e4db1e931a | ||
|
|
f8b3e9c65b | ||
|
|
880a596621 | ||
|
|
9903b4d955 | ||
|
|
40bc87c772 | ||
|
|
586642c6f6 | ||
|
|
f3847a4a2b | ||
|
|
63352c310e | ||
|
|
e7aac163c2 | ||
|
|
5a3d61d8f0 | ||
|
|
33ba81d3b0 | ||
|
|
6a0956181d | ||
|
|
aca7d3bd9c | ||
|
|
e3e8378f8e | ||
|
|
61d235b497 | ||
|
|
e069d7a956 | ||
|
|
3d8806e38c | ||
|
|
650da3bd6a | ||
|
|
26b7cece35 | ||
|
|
1d3da4d1d1 | ||
|
|
bc3aeed090 | ||
|
|
6606eeb9a7 | ||
|
|
2401a3f8bf | ||
|
|
b3685c0c7e | ||
|
|
868315948e | ||
|
|
19a68719fe | ||
|
|
92570ec75c | ||
|
|
573817f81d | ||
|
|
21da1fed85 | ||
|
|
c23527eb82 | ||
|
|
926b9e0822 | ||
|
|
d32a0b698d | ||
|
|
47bf18f219 | ||
|
|
91096c5839 | ||
|
|
477c16360e | ||
|
|
9a1d7d2e44 | ||
|
|
be54c50786 | ||
|
|
2624924f53 | ||
|
|
724552eaa3 | ||
|
|
bef0d70d09 | ||
|
|
d7201f62ab | ||
|
|
1f229980b7 | ||
|
|
8f08b1989b | ||
|
|
e3c83c0cb0 | ||
|
|
431e380f5e | ||
|
|
5c7b102e08 | ||
|
|
6dc1a1b196 | ||
|
|
6c01d2ffa9 | ||
|
|
3156fd6daf | ||
|
|
6fa4ab3e3b | ||
|
|
9fa67b59c7 | ||
|
|
0935a17fec | ||
|
|
5fdc575485 | ||
|
|
d6bbd16945 | ||
|
|
1110f7ee99 | ||
|
|
d64860a34e | ||
|
|
9fb0da6954 | ||
|
|
12b0f8806b | ||
|
|
5c5a1df39d | ||
|
|
5b0ac65fbe | ||
|
|
e9b542ee6e | ||
|
|
ae6bf5e8f6 | ||
|
|
4dc564ffcf | ||
|
|
49a9ef2f80 | ||
|
|
1907f482eb | ||
|
|
08aad7ce20 | ||
|
|
f555a160d5 | ||
|
|
2d9b7f358e | ||
|
|
db396b5f21 | ||
|
|
018d36c3fd | ||
|
|
e6621244b8 | ||
|
|
29aef64d97 | ||
|
|
cbe243feb3 | ||
|
|
ff02c59f85 | ||
|
|
3895bc1f73 | ||
|
|
cd0cce532a | ||
|
|
3fdf6693d2 | ||
|
|
d2be344700 | ||
|
|
9bd2898678 | ||
|
|
07f2348a6d | ||
|
|
ddd1c1a516 | ||
|
|
8de76e3c52 | ||
|
|
6ea2645e9d | ||
|
|
ed166b1b33 | ||
|
|
2dd53a5300 | ||
|
|
97f9120acf | ||
|
|
dd29be75f2 | ||
|
|
fa87df2ed8 | ||
|
|
1fb94de809 | ||
|
|
0e18e84c8f | ||
|
|
0ba2261033 | ||
|
|
703ebf9418 | ||
|
|
ff08dbe5d5 | ||
|
|
3003a10550 | ||
|
|
f95be6cc71 | ||
|
|
23bc40e630 | ||
|
|
45c47674fb | ||
|
|
cf1d1a8122 | ||
|
|
45d2629863 | ||
|
|
f6b0736bbf | ||
|
|
83f9a2bcc9 | ||
|
|
1b817222f0 | ||
|
|
50db796a47 | ||
|
|
f2f7fe3151 | ||
|
|
90293b90fb | ||
|
|
f1751eaebf | ||
|
|
19a3aa0b86 | ||
|
|
a3b901e357 | ||
|
|
fbe12cfadc | ||
|
|
3ffbf11902 | ||
|
|
5c3b32a6ee | ||
|
|
36267b8255 | ||
|
|
668c9b0d76 | ||
|
|
eebbe6dec8 | ||
|
|
a84ae51a4f | ||
|
|
bdbb977233 | ||
|
|
ac27cc6a1e | ||
|
|
91551bf4e8 | ||
|
|
e8c11debfd | ||
|
|
e29a1c659f | ||
|
|
d66bf0e3fd | ||
|
|
172b71dd00 | ||
|
|
10ce432c97 | ||
|
|
3299a8dca3 | ||
|
|
5dca8bc5d2 | ||
|
|
1b8f8704f5 | ||
|
|
64e801311b | ||
|
|
da8202b4e1 | ||
|
|
72d70f1265 | ||
|
|
660597e89a | ||
|
|
4a48ac8797 | ||
|
|
4c61c19e4f | ||
|
|
bb3b13364c | ||
|
|
b34bb65f79 | ||
|
|
a7cfb4b68f | ||
|
|
8d58a6192d | ||
|
|
1da34ceda4 | ||
|
|
dc31b7e839 | ||
|
|
5c6ee7b787 | ||
|
|
5620a62cad | ||
|
|
429abb4914 | ||
|
|
f90d33daf7 | ||
|
|
baa67cf9f4 | ||
|
|
4054269db3 | ||
|
|
559b8d00dd | ||
|
|
9b9c19586f | ||
|
|
a3407734a7 | ||
|
|
99c579ee51 | ||
|
|
81bc7db43e | ||
|
|
89356dac50 |
76
.github/workflows/android.yml
vendored
@@ -30,39 +30,45 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
api-level: [ 21, 34 ]
|
||||
flavor: [Foss, Gplay]
|
||||
steps:
|
||||
- uses: actions/checkout@v4.2.2
|
||||
- name: Fail on bad translations
|
||||
run: if grep -ri "<xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
- name: set up OpenJDK 17
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y openjdk-17-jdk-headless
|
||||
sudo update-alternatives --auto java
|
||||
- name: Build
|
||||
run: ./gradlew assembleRelease
|
||||
- name: Check lint
|
||||
run: ./gradlew lintRelease
|
||||
- name: Run unit tests
|
||||
run: timeout 5m ./gradlew testReleaseUnitTest || { ./gradlew --stop && timeout 5m ./gradlew testReleaseUnitTest; }
|
||||
- name: Enable KVM
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
- name: Run instrumented tests
|
||||
uses: ReactiveCircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: ${{ matrix.api-level }}
|
||||
arch: x86_64
|
||||
script: ./gradlew connectedCheck
|
||||
- name: SpotBugs
|
||||
run: ./gradlew spotbugsRelease
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.4.3
|
||||
with:
|
||||
name: test-results-api${{ matrix.api-level }}
|
||||
path: app/build/reports
|
||||
- uses: actions/checkout@v4.2.2
|
||||
- name: Fail on bad translations
|
||||
run: if grep -ri "<xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
- name: set up OpenJDK 17
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y openjdk-17-jdk-headless
|
||||
sudo update-alternatives --auto java
|
||||
- name: Build
|
||||
run: ./gradlew assemble${{ matrix.flavor }}Release
|
||||
- name: Check lint
|
||||
run: ./gradlew lint${{ matrix.flavor }}Release
|
||||
- name: Run unit tests
|
||||
run: timeout 5m ./gradlew test${{ matrix.flavor }}ReleaseUnitTest || { ./gradlew --stop && timeout 5m ./gradlew test${{ matrix.flavor }}ReleaseUnitTest; }
|
||||
- name: Enable KVM
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
- name: Run instrumented tests (API 21)
|
||||
uses: ReactiveCircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: 21
|
||||
arch: x86_64
|
||||
script: ./gradlew connected${{ matrix.flavor }}DebugAndroidTest
|
||||
- name: Run instrumented tests (API 34)
|
||||
uses: ReactiveCircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: 34
|
||||
arch: x86_64
|
||||
script: ./gradlew connected${{ matrix.flavor }}DebugAndroidTest
|
||||
- name: SpotBugs
|
||||
run: ./gradlew spotbugs${{ matrix.flavor }}Release
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: test-results-flavor${{ matrix.flavor }}
|
||||
path: app/build/reports
|
||||
|
||||
4
.github/workflows/changelog-to-fastlane.yml
vendored
@@ -29,13 +29,13 @@ jobs:
|
||||
id: checkout
|
||||
uses: actions/checkout@v4.2.2
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5.3.0
|
||||
uses: actions/setup-python@v5.4.0
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Run converter script
|
||||
run: python .scripts/changelog_to_fastlane.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update Fastlane changelogs"
|
||||
commit-message: "Update Fastlane changelogs"
|
||||
|
||||
2
.github/workflows/contributors-to-file.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
file_in_repo: app/src/main/res/raw/contributors.txt
|
||||
min_commit_count: 5
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update contributors"
|
||||
commit-message: "Update contributors"
|
||||
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
- name: Install requirements
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install optipng mat2
|
||||
sudo apt-get install imagemagick mat2 optipng
|
||||
# Install 200 weight versions of relevant Noto (to use for languages not supported by Lexend Deca)
|
||||
sudo apt-get install fonts-noto-extra fonts-noto-cjk-extra
|
||||
# Custom fonts
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
- name: Generate featureGraphic.png for each language
|
||||
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update feature graphic"
|
||||
commit-message: "Update feature graphic"
|
||||
|
||||
2
.github/workflows/gradle-update.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
id: gradle-update
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
|
||||
2
.github/workflows/update-locales.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Update locales
|
||||
run: .scripts/locales.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update locales"
|
||||
commit-message: "Update locales"
|
||||
|
||||
3
.gitignore
vendored
@@ -25,3 +25,6 @@
|
||||
/.bundle/
|
||||
/vendor/bundle
|
||||
/lib/bundler/man/
|
||||
|
||||
# Catima-specific
|
||||
SHA256SUMS
|
||||
|
||||
15
CHANGELOG.md
@@ -1,5 +1,20 @@
|
||||
# Changelog
|
||||
|
||||
## v2.34.4 - 146 (2025-01-17)
|
||||
|
||||
- Ability to sort cards by start of validity
|
||||
- Temporarily revert to targeting Android 14 to fix some UI issues
|
||||
|
||||
## v2.34.3 - 145 (2025-01-15)
|
||||
|
||||
- Target Android 15
|
||||
- Fix keyboard covering save button in edit screen
|
||||
- Fix some pkpass files not being detected as pkpass (application/vnd-com.apple.pkpass mime type support)
|
||||
|
||||
## v2.34.2 - 144 (2024-12-26)
|
||||
|
||||
- Improve archive/starred icon display
|
||||
|
||||
## v2.34.1 - 143 (2024-12-12)
|
||||
|
||||
- Fix crash when opening invalid pkpass files
|
||||
|
||||
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
catima.g9ex3@hackerchick.me.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
@@ -16,14 +16,14 @@ spotbugs {
|
||||
|
||||
android {
|
||||
namespace = "protect.card_locker"
|
||||
compileSdk = 34
|
||||
compileSdk = 35
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "me.hackerchick.catima"
|
||||
minSdk = 21
|
||||
targetSdk = 34
|
||||
versionCode = 143
|
||||
versionName = "2.34.1"
|
||||
versionCode = 146
|
||||
versionName = "2.34.4"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
multiDexEnabled = true
|
||||
@@ -31,6 +31,9 @@ android {
|
||||
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "et", "fi", "fr", "gl", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rBR", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sr", "sv", "ta", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
buildConfigField("boolean", "showDonate", "true")
|
||||
buildConfigField("boolean", "showRateOnGooglePlay", "false")
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -51,6 +54,21 @@ android {
|
||||
viewBinding = true
|
||||
}
|
||||
|
||||
flavorDimensions.add("type")
|
||||
productFlavors {
|
||||
create("foss") {
|
||||
dimension = "type"
|
||||
isDefault = true
|
||||
}
|
||||
create("gplay") {
|
||||
dimension = "type"
|
||||
|
||||
// Google doesn't allow donation links
|
||||
buildConfigField("boolean", "showDonate", "false")
|
||||
buildConfigField("boolean", "showRateOnGooglePlay", "true")
|
||||
}
|
||||
}
|
||||
|
||||
bundle {
|
||||
language {
|
||||
enableSplit = false
|
||||
@@ -94,13 +112,13 @@ dependencies {
|
||||
// AndroidX
|
||||
implementation("androidx.appcompat:appcompat:1.7.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.2.0")
|
||||
implementation("androidx.core:core-ktx:1.13.1")
|
||||
implementation("androidx.core:core-ktx:1.15.0")
|
||||
implementation("androidx.core:core-splashscreen:1.0.1")
|
||||
implementation("androidx.exifinterface:exifinterface:1.3.7")
|
||||
implementation("androidx.palette:palette:1.0.0")
|
||||
implementation("androidx.preference:preference:1.2.1")
|
||||
implementation("com.google.android.material:material:1.12.0")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.3")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
|
||||
|
||||
// Third-party
|
||||
implementation("com.journeyapps:zxing-android-embedded:4.3.0@aar")
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_name">Debugar Catima</string>
|
||||
</resources>
|
||||
|
||||
@@ -49,6 +49,8 @@
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="application/pdf" />
|
||||
<data android:mimeType="application/vnd.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd-com.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd.espass-espass" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
@@ -58,6 +60,8 @@
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="application/pdf" />
|
||||
<data android:mimeType="application/vnd.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd-com.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd.espass-espass" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
@@ -75,13 +79,12 @@
|
||||
<activity
|
||||
android:name=".LoyaltyCardViewActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden" />
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".LoyaltyCardEditActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden">
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<intent-filter
|
||||
android:autoVerify="true"
|
||||
android:label="@string/app_name">
|
||||
@@ -119,8 +122,7 @@
|
||||
<activity
|
||||
android:name=".BarcodeSelectorActivity"
|
||||
android:label="@string/selectBarcodeTitle"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden" />
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".preferences.SettingsActivity"
|
||||
android:label="@string/settings"
|
||||
|
||||
@@ -45,11 +45,10 @@ public class AboutActivity extends CatimaAppCompatActivity {
|
||||
binding.rate.setTag("https://play.google.com/store/apps/details?id=me.hackerchick.catima");
|
||||
binding.donate.setTag("https://catima.app/donate");
|
||||
|
||||
boolean installedFromGooglePlay = Utils.installedFromGooglePlay(this);
|
||||
// Hide Google Play rate button if not on Google Play
|
||||
binding.rate.setVisibility(installedFromGooglePlay ? View.VISIBLE : View.GONE);
|
||||
binding.rate.setVisibility(BuildConfig.showRateOnGooglePlay ? View.VISIBLE : View.GONE);
|
||||
// Hide donate button on Google Play (Google Play doesn't allow donation links)
|
||||
binding.donate.setVisibility(installedFromGooglePlay ? View.GONE : View.VISIBLE);
|
||||
binding.donate.setVisibility(BuildConfig.showDonate ? View.VISIBLE : View.GONE);
|
||||
|
||||
bindClickListeners();
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
public enum LoyaltyCardOrder {
|
||||
Alpha,
|
||||
LastUsed,
|
||||
ValidFrom,
|
||||
Expiry
|
||||
}
|
||||
|
||||
@@ -916,6 +917,10 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
return LoyaltyCardDbIds.LAST_USED;
|
||||
}
|
||||
|
||||
if (order == LoyaltyCardOrder.ValidFrom) {
|
||||
return LoyaltyCardDbIds.VALID_FROM;
|
||||
}
|
||||
|
||||
if (order == LoyaltyCardOrder.Expiry) {
|
||||
return LoyaltyCardDbIds.EXPIRY;
|
||||
}
|
||||
|
||||
@@ -124,9 +124,9 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
}
|
||||
|
||||
inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
|
||||
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText, new Settings(mContext).getPreferredColumnCount());
|
||||
Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText, new Settings(mContext).getPreferredColumnCount());
|
||||
|
||||
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
|
||||
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0);
|
||||
|
||||
inputHolder.itemView.setActivated(mSelectedItems.get(inputCursor.getPosition(), false));
|
||||
applyIconAnimation(inputHolder, inputCursor.getPosition());
|
||||
@@ -212,13 +212,11 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
public class LoyaltyCardListItemViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public TextView mCardText, mStoreField, mNoteField, mBalanceField, mValidFromField, mExpiryField;
|
||||
public ImageView mCardIcon, mStarBackground, mStarBorder, mTickIcon, mArchivedBackground;
|
||||
public ImageView mCardIcon, mTickIcon;
|
||||
public MaterialCardView mRow;
|
||||
public ConstraintLayout mStar, mArchived;
|
||||
public View mDivider;
|
||||
|
||||
private int mIconBackgroundColor;
|
||||
|
||||
protected LoyaltyCardListItemViewHolder(LoyaltyCardLayoutBinding loyaltyCardLayoutBinding, CardAdapterListener inputListener) {
|
||||
super(loyaltyCardLayoutBinding.getRoot());
|
||||
View inputView = loyaltyCardLayoutBinding.getRoot();
|
||||
@@ -232,10 +230,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
mCardIcon = loyaltyCardLayoutBinding.thumbnail;
|
||||
mCardText = loyaltyCardLayoutBinding.thumbnailText;
|
||||
mStar = loyaltyCardLayoutBinding.star;
|
||||
mStarBackground = loyaltyCardLayoutBinding.starBackground;
|
||||
mStarBorder = loyaltyCardLayoutBinding.starBorder;
|
||||
mArchived = loyaltyCardLayoutBinding.archivedIcon;
|
||||
mArchivedBackground = loyaltyCardLayoutBinding.archiveBackground;
|
||||
mTickIcon = loyaltyCardLayoutBinding.selectedThumbnail;
|
||||
inputView.setOnLongClickListener(view -> {
|
||||
inputListener.onRowClicked(getAdapterPosition());
|
||||
@@ -297,31 +292,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
mNoteField.requestLayout();
|
||||
}
|
||||
|
||||
public void toggleCardStateIcon(boolean enableStar, boolean enableArchive, boolean colorByTheme) {
|
||||
/* the below code does not work in android 5! hence the change of drawable instead
|
||||
boolean needDarkForeground = Utils.needsDarkForeground(mIconBackgroundColor);
|
||||
Drawable borderDrawable = mStarBorder.getDrawable().mutate();
|
||||
Drawable backgroundDrawable = mStarBackground.getDrawable().mutate();
|
||||
DrawableCompat.setTint(borderDrawable, needsDarkForeground ? Color.BLACK : Color.WHITE);
|
||||
DrawableCompat.setTint(backgroundDrawable, needsDarkForeground ? Color.BLACK : Color.WHITE);
|
||||
mStarBorder.setImageDrawable(borderDrawable);
|
||||
mStarBackground.setImageDrawable(backgroundDrawable);
|
||||
*/
|
||||
boolean dark = Utils.needsDarkForeground(mIconBackgroundColor);
|
||||
if (colorByTheme) {
|
||||
dark = !mDarkModeEnabled;
|
||||
}
|
||||
|
||||
if (dark) {
|
||||
mStarBorder.setImageResource(R.drawable.ic_unstarred_white);
|
||||
mStarBackground.setImageResource(R.drawable.ic_starred_black);
|
||||
mArchivedBackground.setImageResource(R.drawable.ic_baseline_archive_24_black);
|
||||
} else {
|
||||
mStarBorder.setImageResource(R.drawable.ic_unstarred_black);
|
||||
mStarBackground.setImageResource(R.drawable.ic_starred_white);
|
||||
mArchivedBackground.setImageResource(R.drawable.ic_baseline_archive_24);
|
||||
}
|
||||
|
||||
public void toggleCardStateIcon(boolean enableStar, boolean enableArchive) {
|
||||
if (enableStar) {
|
||||
mStar.setVisibility(View.VISIBLE);
|
||||
} else{
|
||||
@@ -333,11 +304,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
} else{
|
||||
mArchived.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
mStarBorder.invalidate();
|
||||
mStarBackground.invalidate();
|
||||
mArchivedBackground.invalidate();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,7 +500,12 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
parseResultList = Utils.retrieveBarcodesFromImage(this, data);
|
||||
} else if (receivedType.equals("application/pdf")) {
|
||||
parseResultList = Utils.retrieveBarcodesFromPdf(this, data);
|
||||
} else if (receivedType.equals("application/vnd.apple.pkpass")) {
|
||||
} else if (Arrays.asList("application/vnd.apple.pkpass", "application/vnd-com.apple.pkpass").contains(receivedType)) {
|
||||
parseResultList = Utils.retrieveBarcodesFromPkPass(this, data);
|
||||
} else if (receivedType.equals("application/vnd.espass-espass")) {
|
||||
// FIXME: espass is not pkpass
|
||||
// However, several users stated in https://github.com/CatimaLoyalty/Android/issues/2197 that the formats are extremely similar to the point they could rename an .espass file to .pkpass and have it imported
|
||||
// So it makes sense to "unofficially" treat it as a PKPASS for now, even though not completely correct
|
||||
parseResultList = Utils.retrieveBarcodesFromPkPass(this, data);
|
||||
} else {
|
||||
Log.e(TAG, "Wrong mime-type");
|
||||
|
||||
@@ -1032,21 +1032,6 @@ public class Utils {
|
||||
return headerColor;
|
||||
}
|
||||
|
||||
public static boolean installedFromGooglePlay(Context context) {
|
||||
try {
|
||||
String packageName = context.getPackageName();
|
||||
String installer;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
installer = context.getPackageManager().getInstallSourceInfo(packageName).getInstallingPackageName();
|
||||
} else {
|
||||
installer = context.getPackageManager().getInstallerPackageName(packageName);
|
||||
}
|
||||
return installer.equals("com.android.vending");
|
||||
} catch (Throwable ignored) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static int getHeaderColor(Context context, LoyaltyCard loyaltyCard) {
|
||||
return loyaltyCard.headerColor != null ? loyaltyCard.headerColor : LetterBitmap.getDefaultColor(context, loyaltyCard.store);
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="@android:color/black">
|
||||
<path
|
||||
android:fillColor="@android:color/black"
|
||||
android:pathData="M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5zM5.12,5l0.81,-1h12l0.94,1H5.12z"/>
|
||||
</vector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
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,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"/>
|
||||
</vector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"/>
|
||||
</vector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<vector android:height="24dp" android:tint="#000000"
|
||||
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="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/>
|
||||
</vector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/>
|
||||
</vector>
|
||||
@@ -2,9 +2,10 @@
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="@android:color/white">
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5zM5.12,5l0.81,-1h12l0.94,1H5.12z"/>
|
||||
android:fillColor="#D3D3D3"
|
||||
android:pathData="M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5zM5.12,5l0.81,-1h12l0.94,1H5.12z"
|
||||
android:strokeWidth="0.25"
|
||||
android:strokeColor="#777777"/>
|
||||
</vector>
|
||||
11
app/src/main/res/drawable/loyalty_card_icon_starred.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#D3D3D3"
|
||||
android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"
|
||||
android:strokeWidth="0.25"
|
||||
android:strokeColor="#777777"/>
|
||||
</vector>
|
||||
@@ -15,8 +15,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/textView"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_baseline_archive_24" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
|
||||
@@ -72,29 +72,15 @@
|
||||
android:layout_width="@dimen/cardThumbnailSize"
|
||||
android:layout_height="@dimen/cardThumbnailSize"
|
||||
android:layout_gravity="end"
|
||||
android:alpha="0.5"
|
||||
android:alpha="0.8"
|
||||
android:contentDescription="@string/starred"
|
||||
android:elevation="4dp"
|
||||
android:rotationX="2"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_starred_white"
|
||||
tools:ignore="ImageContrastCheck" />
|
||||
|
||||
<ImageView
|
||||
android:importantForAccessibility="no"
|
||||
android:id="@+id/star_border"
|
||||
android:layout_width="@dimen/cardThumbnailSize"
|
||||
android:layout_height="@dimen/cardThumbnailSize"
|
||||
android:layout_gravity="end"
|
||||
android:alpha="0.5"
|
||||
android:contentDescription="@string/starImage"
|
||||
android:elevation="4dp"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_unstarred_black"
|
||||
tools:ignore="ImageContrastCheck" />
|
||||
app:srcCompat="@drawable/loyalty_card_icon_starred"
|
||||
tools:ignore="ImageContrastCheck"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -110,18 +96,18 @@
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/archive_background"
|
||||
android:layout_width="41dp"
|
||||
android:layout_height="44dp"
|
||||
android:layout_width="@dimen/cardThumbnailSize"
|
||||
android:layout_height="@dimen/cardThumbnailSize"
|
||||
android:layout_gravity="end"
|
||||
android:alpha="0.5"
|
||||
android:alpha="0.8"
|
||||
android:contentDescription="@string/archived"
|
||||
android:elevation="4dp"
|
||||
android:rotationX="2"
|
||||
android:visibility="visible"
|
||||
app:srcCompat="@drawable/ic_baseline_archive_24"
|
||||
tools:ignore="ImageContrastCheck,MissingConstraints"
|
||||
tools:layout_editor_absoluteX="0dp"
|
||||
tools:layout_editor_absoluteY="-1dp" />
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/loyalty_card_icon_archived"
|
||||
tools:ignore="ImageContrastCheck" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
@@ -11,62 +11,70 @@ Katharine Chui
|
||||
SlavekB
|
||||
mondstern
|
||||
IllusiveMan196
|
||||
Altonss
|
||||
大王叫我来巡山
|
||||
Altonss
|
||||
Michael Moroni
|
||||
Eric
|
||||
GM
|
||||
Petr Novák
|
||||
laralem
|
||||
Joel A
|
||||
B o d o
|
||||
Taco
|
||||
Priit Jõerüüt
|
||||
pfaffenrodt
|
||||
Aayush Gupta
|
||||
Scrambled777
|
||||
HudobniVolk
|
||||
Giovanni Donisi
|
||||
Nyatsuki
|
||||
Priit Jõerüüt
|
||||
B o d o
|
||||
Jiri Grönroos
|
||||
Максим Горпиніч
|
||||
ikanakova
|
||||
Giovanni Donisi
|
||||
HudobniVolk
|
||||
Nyatsuki
|
||||
Jiri Grönroos
|
||||
Edgars Andersons
|
||||
Milo Ivir
|
||||
Samantaz Fox
|
||||
Balázs Meskó
|
||||
Arno-github
|
||||
josé m
|
||||
Ankit Tiwari
|
||||
Cliff Heraldo
|
||||
Sergio Paredes
|
||||
Ankit Tiwari
|
||||
Arno-github
|
||||
Milo Ivir
|
||||
Balázs Meskó
|
||||
Jose Delvani
|
||||
mdvhimself
|
||||
Milan Šalka
|
||||
ikanakova
|
||||
Skrripy
|
||||
huuhaa
|
||||
Skrripy
|
||||
Kachelkaiser
|
||||
Projjal Moitra
|
||||
Quentin PAGÈS
|
||||
ngocanhtve
|
||||
Silvério Santos
|
||||
waffshappen
|
||||
Marnick L'Eau
|
||||
Silvério Santos
|
||||
ngocanhtve
|
||||
Quentin PAGÈS
|
||||
Projjal Moitra
|
||||
Kachelkaiser
|
||||
Robin
|
||||
JungHee Lee
|
||||
Maksim2005UA
|
||||
Ziad OUALHADJ
|
||||
Vasilis
|
||||
Denis Shilin
|
||||
Robin Liu
|
||||
Renko
|
||||
Denis Shilin
|
||||
しいたけ
|
||||
Alexander Ivanov
|
||||
Miha Frangež
|
||||
Viet Nguyen Hoang
|
||||
தமிழ் நேரம்
|
||||
stavpup
|
||||
josé m
|
||||
ehrt74
|
||||
Virginie
|
||||
MisterCosta96
|
||||
arshbeerSingh
|
||||
Freddo espresso
|
||||
Govind S Nair
|
||||
Kim Seohyun
|
||||
Tim Trek
|
||||
rudy3
|
||||
Peter Dave Hello
|
||||
Michael Gangolf
|
||||
rudy3
|
||||
Kim Seohyun
|
||||
Govind S Nair
|
||||
Freddo espresso
|
||||
Augustin LAVILLE
|
||||
arshbeerSingh
|
||||
MisterCosta96
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<string name="removeImage">Премахване на изображение</string>
|
||||
<string name="takePhoto">Снимане</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Искам да споделя тези карти с вас</string>
|
||||
<string name="wrongValueForBarcodeType">Стойноста е неприемлива за избрания щрихкод</string>
|
||||
<string name="wrongValueForBarcodeType">Стойността е неприемлива за избрания вид щрихкод</string>
|
||||
<string name="setBarcodeId">Задаване на стойност</string>
|
||||
<string name="sameAsCardId">Като номера</string>
|
||||
<string name="barcodeId">Стойност на щрихкода</string>
|
||||
@@ -308,4 +308,5 @@
|
||||
<string name="generic_error_please_retry">Съжаляваме, нещо се обърка, опитайте отново…</string>
|
||||
<string name="addFromPkpass">Изберете файл на Passbook (.pkpass)</string>
|
||||
<string name="unsupportedFile">Този вид файлове не се поддържат</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Начало валидност</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="groups">Grups</string>
|
||||
<string name="action_add">Afegeix</string>
|
||||
<string name="save">Desa</string>
|
||||
@@ -14,4 +14,235 @@
|
||||
<string name="welcome">Benvingut a Catima</string>
|
||||
<string name="noGiftCards">Cliqueu el botó + més per afegir una targeta, o importeu-ne des del ⋮ menú.</string>
|
||||
<string name="photos">Fotos</string>
|
||||
</resources>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="moveDown">Baixar abaix</string>
|
||||
<string name="setBackImage">Setejar la imatge posterior</string>
|
||||
<string name="setFrontImage">Imatge Frontal</string>
|
||||
<string name="exportPassword">Setegi el password per tal de protegir l\'exportació (opcional)</string>
|
||||
<string name="failedGeneratingShareURL">No s\'ha pogut generar una URL per compartir. Siusplau reporti-ho.</string>
|
||||
<string name="unarchive">Desarxivar</string>
|
||||
<string name="on_google_play">al Google Play</string>
|
||||
<string name="settings_locale">Idioma</string>
|
||||
<string name="field_must_not_be_empty">El camp no pot estar buit</string>
|
||||
<string name="importOptionApplicationTitle">Utilitzar una altra app</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os i contribuïdors</string>
|
||||
<string name="app_copyright_short">Copyright © Sylvia van Os i contribuïdors</string>
|
||||
<string name="app_license">Software lliure Copyleft, licència GPLv3+</string>
|
||||
<string name="app_resources">Recursos lliures de tercers: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="thumbnailDescription">Miniatura</string>
|
||||
<string name="starImage">Estrella de preferides</string>
|
||||
<string name="settings">Configuració</string>
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="settings_light_theme">Tema clar</string>
|
||||
<string name="settings_system_theme">Tema de sistema</string>
|
||||
<string name="settings_dark_theme">Tema Fosc</string>
|
||||
<string name="settings_card_orientation">Orientació de la pantalla</string>
|
||||
<string name="settings_allow_content_provider_read_title">Permet altres apps a accedir a les meves dades</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Desactiva el bloqueix la pantalla mentre es visualitza la targeta</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Les aplicacions han de seguir demanant permís per tenir-hi accés</string>
|
||||
<string name="leaveWithoutSaveTitle">Sortir</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Vols sortir sense grabar?</string>
|
||||
<string name="passwordRequired">Introdueixi el password</string>
|
||||
<string name="turn_flashlight_on">Encendre el llum flash</string>
|
||||
<string name="settings_magenta_theme">Magenta</string>
|
||||
<string name="settings_violet_theme">Violeta</string>
|
||||
<string name="settings_blue_theme">Blau</string>
|
||||
<string name="settings_green_theme">Verd</string>
|
||||
<string name="translate_platform">a la Pàgina Web</string>
|
||||
<string name="report_error">Informar un Error</string>
|
||||
<string name="archived">Targeta arxivada</string>
|
||||
<string name="reverse">...en ordre invers</string>
|
||||
<string name="icon_header_click_text">Pulsa llarg per editar la miniatura</string>
|
||||
<string name="show_note">Mostrar nota</string>
|
||||
<string name="add_manually_warning_title">Recomenem escanejar</string>
|
||||
<string name="add_manually_warning_message">En algunes targetes el valor imprès en la targeta no correspon amb el codi registrat en el codi de barres. Per això, introduint manualment el codi pot no funcionar en alguns casos. Recomanem sempre que sigui possible escanejar la targeta amb la càmera. Vol igualment continuar la edició manual?</string>
|
||||
<string name="continue_">Continuar</string>
|
||||
<string name="exportOptionExplanation">La informació serà escrita al lloc de la seva elecció.</string>
|
||||
<string name="importOptionFilesystemTitle">Importar desde el sistema de fitxers</string>
|
||||
<string name="importOptionFilesystemButton">Desde el sistema de fitxers</string>
|
||||
<string name="selectBarcodeTitle">Sel•lecciona el Codi de Barres</string>
|
||||
<string name="importSuccessful">Dades importades correctament</string>
|
||||
<string name="exportSuccessful">Dades exportades correctament</string>
|
||||
<string name="failedOpeningFileManager">Instala un gestor de fitxers.</string>
|
||||
<string name="showMoreInfo">Mostrar informació</string>
|
||||
<string name="version_history">Històric de versions</string>
|
||||
<string name="sort_by">Ordenar per</string>
|
||||
<string name="sort_by_most_recently_used">Per les més utilitzades</string>
|
||||
<string name="options">Opcions</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> seleccionat</item>
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> seleccionats</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> seleccionats</item>
|
||||
</plurals>
|
||||
<string name="importOptionFilesystemExplanation">Escull un fitxer especific del sistema de fitxers.</string>
|
||||
<string name="no">No</string>
|
||||
<string name="settings_pink_theme">Rosa</string>
|
||||
<string name="sort">Ordenar</string>
|
||||
<string name="failedToRetrieveImageFile">Ha fallat l\'obtenció del fitxer d\'imatge</string>
|
||||
<string name="barcodeLongPressMessage">Les imatges només es poden obrir desde la app galeria</string>
|
||||
<string name="settings_category_title_privacy">Privacitat</string>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">Eliminar <xliff:g>%d</xliff:g> targeta</item>
|
||||
<item quantity="many">Eliminar <xliff:g>%d</xliff:g> targetes</item>
|
||||
<item quantity="other">Eliminar <xliff:g>%d</xliff:g> targetes</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Eliminaras aquesta <xliff:g>%d</xliff:g> targeta permanentment?</item>
|
||||
<item quantity="many">Eliminaras aquestes <xliff:g>%d</xliff:g> targetes permanentment?</item>
|
||||
<item quantity="other">Eliminaras aquestes <xliff:g>%d</xliff:g> targetes permanentment?</item>
|
||||
</plurals>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> targeta (<xliff:g id="archivedCount">%2$d</xliff:g> arxivada)</item>
|
||||
<item quantity="many"><xliff:g>%1$d</xliff:g> targetes (<xliff:g id="archivedCount">%2$d</xliff:g> arxivades)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> targetes (<xliff:g id="archivedCount">%2$d</xliff:g> arxivades)</item>
|
||||
</plurals>
|
||||
<string name="importCancelled">Importació anulada</string>
|
||||
<string name="exportCancelled">Exportació cancelada</string>
|
||||
<string name="noGiftCardsGroup">Crea algunes targetes, asigna-les en un grup aquí.</string>
|
||||
<string name="noMatchingGiftCards">Sense resultats. Prova a canviar la teva cerca.</string>
|
||||
<string name="storeName">Nom</string>
|
||||
<string name="note">Nota</string>
|
||||
<string name="cardId">Id. de la Targeta</string>
|
||||
<string name="barcodeType">Tipus de codi de barres</string>
|
||||
<string name="noBarcode">Sense codi de barres</string>
|
||||
<string name="settings_portrait_orientation">Vertical</string>
|
||||
<string name="yes">Si</string>
|
||||
<string name="addFromPdfFile">Seleccioni un PDF</string>
|
||||
<string name="errorReadingFile">No s\'ha pogut llegir el fitxer</string>
|
||||
<string name="failedLaunchingFileManager">No s\'ha pogut trobar un gestor de fitxers compatible</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Quin dels següents codis de barres prefereix utilitzar?</string>
|
||||
<string name="pageWithNumber">Pàgina <xliff:g>%d</xliff:g></string>
|
||||
<string name="settings_follow_system_orientation">Seguir el sistema</string>
|
||||
<string name="settings_landscape_orientation">Horitzontal</string>
|
||||
<string name="intent_import_card_from_url_share_text">Vull compartir una targeta amb tu</string>
|
||||
<string name="takePhoto">Fer una foto</string>
|
||||
<string name="help_translate_this_app">Ajuda a traduïr aquesta app</string>
|
||||
<string name="license">Llicència</string>
|
||||
<string name="credits">Crèdits</string>
|
||||
<string name="unarchived">Targeta desarxivades</string>
|
||||
<string name="failedLaunchingPhotoPicker">No s\'ha pogut trobar una aplicació de galeria de fotos</string>
|
||||
<string name="previousCard">Anterior</string>
|
||||
<string name="failedToOpenUrl">Instali un navegador abans</string>
|
||||
<string name="importCards">Importar targetes</string>
|
||||
<string name="updateBalanceTitle">Quan ha gastat o ha rebut?</string>
|
||||
<string name="updateBalanceHint">Introdueixi quantitat</string>
|
||||
<string name="anyDate">Qualsevol data</string>
|
||||
<string name="validFromSentence">Vàlid desde: <xliff:g>%s</xliff:g></string>
|
||||
<string name="setBarcodeHeight">Setejar l\'alçada del codi de barres</string>
|
||||
<string name="donate">Donatiu</string>
|
||||
<string name="receive">Rebre</string>
|
||||
<string name="amountParsingFailed">Import invàlid</string>
|
||||
<string name="barcodeImageDescriptionWithType">Codi de barres <xliff:g>%s</xliff:g></string>
|
||||
<string name="about_title_fmt">Sobre <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Versió: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="settings_follow_sensor_orientation">Sempre rota (ignora la configuració de sistema)</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Alguns escàners ho necesiten</string>
|
||||
<string name="settings_keep_screen_on">Mantenir la pantalla encesa</string>
|
||||
<string name="settings_keep_screen_on_summary">Desactiva el bloqueix de la pantalla mentre mostra una targeta</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Evita el bloqueix de la pantalla</string>
|
||||
<string name="enter_group_name">Introdueix el nom del grup</string>
|
||||
<string name="group_edit">Editar el Group</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> targeta</item>
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> targetes</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> targetes</item>
|
||||
</plurals>
|
||||
<string name="group_name_is_empty">El nom del grup ha de contenir algun text</string>
|
||||
<string name="all">Totes</string>
|
||||
<string name="settings_oled_dark">Negre pur en el tema fosc</string>
|
||||
<string name="selectColor">Sel•leccioni el color</string>
|
||||
<string name="setIcon">Setegi la miniatura</string>
|
||||
<string name="settings_theme_color">Color del tema</string>
|
||||
<string name="app_contributors">Fet possible per: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="updateBalance">Actualitzar el balanç</string>
|
||||
<string name="sort_by_name">Nom</string>
|
||||
<string name="archive">Arxivar</string>
|
||||
<string name="currentBalanceSentence">Balanç actual: <xliff:g>%s</xliff:g></string>
|
||||
<string name="height">Alçada:</string>
|
||||
<string name="switchToBackImage">Canviar a la imatge posterior</string>
|
||||
<string name="switchToBarcode">Canviar al codi de barres</string>
|
||||
<string name="show_name_below_image_thumbnail">Mostrar el nom sota de la imatge en miniatura</string>
|
||||
<string name="settings_category_title_cards">Veure la Targeta</string>
|
||||
<string name="enter_card_id">Introdueixi el nombre ID o text de la seva targeta</string>
|
||||
<string name="card_id_must_not_be_empty">ID de la Targeta no pot estar buit</string>
|
||||
<string name="add_a_card_in_a_different_way">Afegeix una targeta de forma diferent</string>
|
||||
<string name="unstar">Treure entre les preferides</string>
|
||||
<string name="star">Afegir a les preferides</string>
|
||||
<string name="cancel">Cancel•la</string>
|
||||
<string name="deleteConfirmation">Vols eliminar de forma permanent aquesta targeta?</string>
|
||||
<string name="share">Compartir</string>
|
||||
<string name="sendLabel">Enviar…</string>
|
||||
<string name="editCardTitle">Editar Targeta</string>
|
||||
<string name="addCardTitle">Afegir Targeta</string>
|
||||
<string name="scanCardBarcode">Escanejar Codi de Barres</string>
|
||||
<string name="cardShortcut">Drecera a la Targeta</string>
|
||||
<string name="noCardsMessage">Afegeix primer una targeta</string>
|
||||
<string name="noCardExistsError">No s\'ha pogut trobar aquesta targeta</string>
|
||||
<string name="failedParsingImportUriError">No s\'ha pogut analitzar la URI d\'importació</string>
|
||||
<string name="openFrontImageInGalleryApp">Obrir la imatge frontal a l\'app de galeria</string>
|
||||
<string name="settings_lock_on_opening_orientation">En obrir la targeta, bloquejar la orientació de la pantalla</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Utilitza els botons de volum per canviar la targeta que es mostra</string>
|
||||
<string name="updateBarcodeQuestionText">Ha canviat el valor ID. Vol actualitzar també el codi de barres per uter utilitzar el mateix valor?</string>
|
||||
<string name="settings_sky_blue_theme">Blau fluix</string>
|
||||
<string name="starred">Preferides</string>
|
||||
<string name="deleteConfirmationGroup">Vols eliminar aquest grup?</string>
|
||||
<string name="removeImage">Eliminar imatge</string>
|
||||
<string name="app_libraries">Llibreries lliures de tercers: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="settings_display_barcode_max_brightness">Màxima iluminació</string>
|
||||
<string name="settings_brown_theme">Marró</string>
|
||||
<string name="manually_enter_barcode_instructions">Introdueixi el ID de la targeta manualment i trii un codi de barres que s\'assembli al de la seva targeta.</string>
|
||||
<string name="rate_this_app">Valora aquesta app</string>
|
||||
<string name="exportPasswordHint">Introdueixi el password</string>
|
||||
<string name="backImageDescription">Imatge posterior</string>
|
||||
<string name="source_repository">Repositori font</string>
|
||||
<string name="on_github">al Github</string>
|
||||
<string name="include_if_asking_support">Si vol demanar suport tècnic, inclogui la següent informació:</string>
|
||||
<string name="newBalanceSentence">Nou balanç: <xliff:g>%s</xliff:g></string>
|
||||
<string name="openBackImageInGalleryApp">Obrir la imatge posterior a l\'app de la galeria</string>
|
||||
<string name="generic_error_please_retry">Perdoni, alguna cosa ha anat malament, siusplau torni-ho a provar...</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="useBackImage">Utilitzar la imatge posterior</string>
|
||||
<string name="sort_by_valid_from">Valid desde</string>
|
||||
<string name="sort_by_expiry">Expiració</string>
|
||||
<string name="and_data_usage">i us de dades</string>
|
||||
<string name="shortcutSelectCard">Sel•leccioni una targeta</string>
|
||||
<string name="duplicateCard">Duplicar</string>
|
||||
<string name="nextCard">Següent</string>
|
||||
<string name="validFromDate">Vàlid desde</string>
|
||||
<string name="chooseValidFromDate">Esculli una data inicial vàlida</string>
|
||||
<string name="switchToFrontImage">Canviar a la imatge frontal</string>
|
||||
<string name="show_balance">Mostrar balanç</string>
|
||||
<string name="show_validity">Mostrar la validesa</string>
|
||||
<string name="settings_category_title_cards_overview">Vista de targetes</string>
|
||||
<string name="settings_column_count_portrait">Columnes en mode vertical</string>
|
||||
<string name="settings_column_count_landscape">Columnes en mode apaisat</string>
|
||||
<string name="settings_automatic_column_count">Automàtic</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_category_title_general">General</string>
|
||||
<string name="action_display_options">Mostrar opcions</string>
|
||||
<string name="show_archived_cards">Mostrar targetes arxivades</string>
|
||||
<string name="view_online">Vista online</string>
|
||||
<string name="action_more_options">Més opcions</string>
|
||||
<string name="addWithoutBarcode">Afegeix una targeta sebse codi de barres</string>
|
||||
<string name="noCameraFoundGuideText">El seu dispositiu sembla que no té càmera. Si realment en té, provi a reiniciar el dispositiu. Sino utilitzi el botó Més opcions i introdueixi el codi de barres d\'una altra manera.</string>
|
||||
<string name="useFrontImage">Utilitzar la imatge frontal</string>
|
||||
<string name="addFromPkpass">Seleccioni el fitxer Passbook (.pkpass)</string>
|
||||
<string name="unsupportedFile">Aquest fitxer no està soportat</string>
|
||||
<string name="settings_use_volume_keys_navigation">Canviar les targetes al prèmer els botons de volum</string>
|
||||
<string name="noGroups">Clica el botó + per afegir grups per categoritzar.</string>
|
||||
<string name="noGroupCards">Aquest grup està buit</string>
|
||||
<string name="group_name_already_in_use">Ja existeix un grup amb aquest nom</string>
|
||||
<string name="group_updated">Grup actualitzat</string>
|
||||
<string name="moveUp">Pujar amunt</string>
|
||||
<string name="updateBarcodeQuestionTitle">Actualitzar el valor del codi de barres?</string>
|
||||
<string name="turn_flashlight_off">Apagar el llum Flash</string>
|
||||
<string name="settings_oled_dark_summary">Redueix l\'ús de la bateria en pantalles OLED</string>
|
||||
<string name="settings_system_locale">Idioma del sistema</string>
|
||||
<string name="settings_catima_theme">Catima</string>
|
||||
<string name="spend">Gastar</string>
|
||||
</resources>
|
||||
|
||||
@@ -314,4 +314,5 @@
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Platnost od</string>
|
||||
</resources>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="settings">Indstillinger</string>
|
||||
<string name="starImage">Favorit stjerne</string>
|
||||
<string name="thumbnailDescription">Miniaturebillede til kort</string>
|
||||
<string name="thumbnailDescription">Thumbnail</string>
|
||||
<string name="selectBarcodeTitle">Vælg stregkode</string>
|
||||
<string name="app_copyright_old">Baseret på Loyalty Card Keychain
|
||||
\ncopyright © 2016-2020 Branden Archer.</string>
|
||||
@@ -66,22 +66,22 @@
|
||||
<string name="noCardExistsError">Kunne ikke finde det kort</string>
|
||||
<string name="deleteConfirmationGroup">Slet gruppe\?</string>
|
||||
<string name="all">Alle</string>
|
||||
<string name="noGroupCards">Denne gruppe indeholder ikke nogen kort</string>
|
||||
<string name="noGroups">Klik på + plus-knappen for først at tilføje grupper til kategorisering.</string>
|
||||
<string name="noGroupCards">Denne gruppe er tom</string>
|
||||
<string name="noGroups">Klik på + plus-knappen for at tilføje grupper til kategorisering.</string>
|
||||
<string name="groups">Grupper</string>
|
||||
<string name="enter_group_name">Indtast gruppenavn</string>
|
||||
<string name="exportSuccessful">Eksporterede kortdata</string>
|
||||
<string name="importSuccessful">Kortdata importeret</string>
|
||||
<string name="exportSuccessful">Data eksporteret</string>
|
||||
<string name="importSuccessful">Data importeret</string>
|
||||
<string name="intent_import_card_from_url_share_text">Jeg vil dele et kort med jer</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Forebyg låseskærm</string>
|
||||
<string name="settings_keep_screen_on">LHold skærm tændt</string>
|
||||
<string name="moveUp">Bevæg dig opad</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Forlade uden at gemme\?</string>
|
||||
<string name="settings_display_barcode_max_brightness">Lysere stregkodevisning</string>
|
||||
<string name="settings_display_barcode_max_brightness">Gør skærm lysere</string>
|
||||
<string name="failedOpeningFileManager">Installer først en filhåndteringsprogram.</string>
|
||||
<string name="moveDown">Bevæger sig nedad</string>
|
||||
<string name="leaveWithoutSaveTitle">Afslut</string>
|
||||
<string name="addManually">Indtast kort-ID manuelt</string>
|
||||
<string name="addManually">Indtast stregkoden manuelt</string>
|
||||
<string name="noGiftCardsGroup">Opret kort og tildel dem gupper her.</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Slet dette <xliff:g>%d</xliff:g> kort permanent\?</item>
|
||||
@@ -100,4 +100,58 @@
|
||||
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_license">Copylefted libre software, GPLv3+ licens</string>
|
||||
<string name="barcodeImageDescriptionWithType">Billede<xliff:g>%s</xliff:g> stregkode</string>
|
||||
<string name="group_name_already_in_use">Gruppenavn allerede i brug</string>
|
||||
<string name="editGroup">Redigerer Gruppe: <xliff:g>%s</xliff:g></string>
|
||||
<string name="importFidme">Importer fra FidMe</string>
|
||||
<string name="settings_card_orientation">Skærm orientation</string>
|
||||
<string name="settings_follow_system_orientation">Følg system</string>
|
||||
<string name="settings_portrait_orientation">Portræt</string>
|
||||
<string name="settings_landscape_orientation">Landskab</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Deaktiver låseskærm når et kort er åbent</string>
|
||||
<string name="groupsList">Grupper: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Udløber: <xliff:g>%s</xliff:g></string>
|
||||
<string name="moveBarcodeToTopOfScreen">Flyt stregkoden til toppen af skærmen</string>
|
||||
<string name="accept">Acceptér</string>
|
||||
<string name="importCatima">Importer fra Catima</string>
|
||||
<string name="expiryDate">Udløbsdato</string>
|
||||
<string name="never">Aldrig</string>
|
||||
<string name="chooseExpiryDate">Vælg udløbsdato</string>
|
||||
<string name="balance">Balance</string>
|
||||
<string name="importStocard">Importer fra Stocard</string>
|
||||
<string name="balanceSentence">Balance: <xliff:g>%s</xliff:g></string>
|
||||
<string name="group_name_is_empty">Gruppenavn må ikke være tom</string>
|
||||
<string name="group_updated">Gruppe opdateret</string>
|
||||
<string name="card">Kort</string>
|
||||
<string name="currency">Valuta</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Nødvendigt for nogle scannere til at fungerer</string>
|
||||
<string name="editBarcode">Rediger stregkode</string>
|
||||
<string name="points">Point</string>
|
||||
<string name="privacy_policy">Privatlivspolitik</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> kort</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> kort</item>
|
||||
</plurals>
|
||||
<string name="settings_allow_content_provider_read_title">Tillid andre apps tilgang til min data</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Apps vil stadig have behov for at spørge om tilladelse for at få adgang</string>
|
||||
<string name="barcodeId">Stregkode værdi</string>
|
||||
<string name="setBarcodeId">Vælg stregkode værdi</string>
|
||||
<string name="sameAsCardId">Samme som ID</string>
|
||||
<string name="settings_system_theme">System</string>
|
||||
<string name="settings_lock_on_opening_orientation">Lås til orientation når kort åbnes</string>
|
||||
<string name="settings_keep_screen_on_summary">Deaktiver skærm tids slukning når et kort er åbent</string>
|
||||
<string name="group_edit">Rediger gruppe</string>
|
||||
<string name="settings_follow_sensor_orientation">Altid roter (ignorer system indstillinger)</string>
|
||||
<string name="chooseImportType">Importer data fra</string>
|
||||
<string name="importVoucherVault">Importer fra Voucher Vault</string>
|
||||
<string name="settings_use_volume_keys_navigation">Skift kort ved brug af lydstyrke knapperne</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Brug lydstyrke knapperne til at ændre hvilket kort bliver vist</string>
|
||||
<string name="addFromImage">Vælg et billede fra galleri</string>
|
||||
<string name="expiryStateSentenceExpired">Udløbet: <xliff:g>%s</xliff:g></string>
|
||||
<string name="noBarcodeFound">Ingen stregkode blev fundet</string>
|
||||
<string name="errorReadingImage">Kunne ikke læse billedet</string>
|
||||
<string name="balanceParsingFailed">Ugyldig balance</string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> point</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> point</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
@@ -163,7 +163,7 @@
|
||||
<string name="app_contributors">Ermöglicht durch: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> Barcode</string>
|
||||
<string name="sort_by">Sortieren nach</string>
|
||||
<string name="sort_by_expiry">Ablauf</string>
|
||||
<string name="sort_by_expiry">Gültig bis</string>
|
||||
<string name="sort_by_most_recently_used">Zuletzt verwendet</string>
|
||||
<string name="sort_by_name">Name</string>
|
||||
<string name="sort">Sortieren</string>
|
||||
@@ -305,4 +305,5 @@
|
||||
<string name="generic_error_please_retry">Entschuldigung, da ist etwas schief gelaufen, versuchen Sie es noch einmal ...</string>
|
||||
<string name="unsupportedFile">Diese Datei wird nicht unterstützt</string>
|
||||
<string name="addFromPkpass">Passbook-Datei (.pkpass) auswählen</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Gültig ab</string>
|
||||
</resources>
|
||||
|
||||
@@ -307,4 +307,5 @@
|
||||
<string name="generic_error_please_retry">Λυπούμαστε, κάτι πήγε στραβά, δοκιμάστε ξανά...</string>
|
||||
<string name="unsupportedFile">Το αρχείο δεν υποστηρίζεται</string>
|
||||
<string name="addFromPkpass">Επιλογή αρχείου Passbook (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Έναρξη ισχύος</string>
|
||||
</resources>
|
||||
|
||||
@@ -314,4 +314,5 @@
|
||||
<string name="generic_error_please_retry">Lo sentimos, algo salió mal, por favor inténtelo de nuevo...</string>
|
||||
<string name="unsupportedFile">Este archivo no es compatible</string>
|
||||
<string name="addFromPkpass">Seleccione un archivo Passbook (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Válido desde</string>
|
||||
</resources>
|
||||
|
||||
@@ -303,4 +303,5 @@
|
||||
<string name="generic_error_please_retry">Vabandust, midagi läks nüüd viltu, palun proovi uuesti...</string>
|
||||
<string name="unsupportedFile">See fail pole toetatud</string>
|
||||
<string name="addFromPkpass">Vali Passbooki fail (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Kehtib alates</string>
|
||||
</resources>
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
<string name="sort_by_expiry">Viimeinen voimassaoloaika</string>
|
||||
<string name="reverse">...käänteisessä järjestyksessä</string>
|
||||
<string name="sort_by">Lajitteluperuste</string>
|
||||
<string name="credits">Krediitit</string>
|
||||
<string name="credits">Kiitettävää</string>
|
||||
<string name="help_translate_this_app">Auta kääntämään tämä sovellus</string>
|
||||
<string name="license">Lisenssi</string>
|
||||
<string name="source_repository">Lähdekoodivarasto</string>
|
||||
@@ -305,4 +305,7 @@
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
<string name="addFromPkpass">Valitse Passbook-tiedosto (.pkpass)</string>
|
||||
<string name="unsupportedFile">Tämä tiedosto ei ole tuettu</string>
|
||||
<string name="generic_error_please_retry">Pahoittelut, jokin meni pieleen. Yritä uudelleen...</string>
|
||||
</resources>
|
||||
|
||||
@@ -311,4 +311,8 @@
|
||||
<string name="settings_automatic_column_count">Automatique</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
<string name="addFromPkpass">Sélectionner un fichier Cartes / Passbook (.pkpass)</string>
|
||||
<string name="unsupportedFile">Ce fichier n\'est pas supporté</string>
|
||||
<string name="generic_error_please_retry">Désolé, un problème est survenu, veuillez réessayer...</string>
|
||||
<string name="sort_by_valid_from">Valide à partir du</string>
|
||||
</resources>
|
||||
|
||||
@@ -302,4 +302,5 @@
|
||||
<string name="unsupportedFile">Este ficheiro non é compatible</string>
|
||||
<string name="addFromPkpass">Selecciona un ficheiro Passbook (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">Sentímolo, pero algo fallou, inténtao outra vez…</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Válido desde</string>
|
||||
</resources>
|
||||
|
||||
@@ -15,12 +15,6 @@
|
||||
<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>
|
||||
@@ -49,18 +43,6 @@
|
||||
<string name="exportOptionExplanation">המידע יכתב למיקום שאת/ה תבחר/י.</string>
|
||||
<string name="importOptionFilesystemTitle">יבא ממערכת קבצים</string>
|
||||
<string name="importOptionFilesystemExplanation">בחר/י קובץ מסויים ממערכת הקבצים.</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">אחד</item>
|
||||
<item quantity="two">שניים</item>
|
||||
<item quantity="many">מעט</item>
|
||||
<item quantity="other">אחר</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">אחד</item>
|
||||
<item quantity="two">שניים</item>
|
||||
<item quantity="many">מעט</item>
|
||||
<item quantity="other">אחר</item>
|
||||
</plurals>
|
||||
<string name="importCancelled">ייבוא בוטל</string>
|
||||
<string name="exportCancelled">ייצוא בוטל</string>
|
||||
<string name="addFromPdfFile">בחר קובץ PDF</string>
|
||||
@@ -69,4 +51,4 @@
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">באיזה מהברקודים שנמצאו אתה רוצה להשתמש?</string>
|
||||
<string name="useFrontImage">השתמש בתמונה קדמית</string>
|
||||
<string name="useBackImage">השתמש בתמונה אחורית</string>
|
||||
</resources>
|
||||
</resources>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="settings_system_theme">Sustav</string>
|
||||
<string name="settings_light_theme">Svijetla</string>
|
||||
<string name="settings_display_barcode_max_brightness">Posvijetli prikaz crtičnog koda</string>
|
||||
<string name="settings_display_barcode_max_brightness">Posvijetli ekran</string>
|
||||
<string name="moveDown">Pomakni prema dolje</string>
|
||||
<string name="addManually">Upiši crtični kod</string>
|
||||
<string name="thumbnailDescription">Sličica</string>
|
||||
@@ -129,7 +129,7 @@
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Za snimanje crtičnih kodova Catima treba pristup tvojoj kameri. Dodirni ovdje za mijenjanje postavki dozvola.</string>
|
||||
<string name="app_libraries">Slobodne biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="selectBarcodeTitle">Odaberi crtični kod</string>
|
||||
<string name="settings_portrait_orientation">Okomito</string>
|
||||
<string name="settings_portrait_orientation">Uspravno</string>
|
||||
<string name="settings_lock_on_opening_orientation">Odredi orijentaciju koja se koristi prilikom otvaranja kartice</string>
|
||||
<string name="group_edit">Uredi grupu</string>
|
||||
<string name="group_name_already_in_use">Ime grupe se već koristi</string>
|
||||
@@ -169,7 +169,7 @@
|
||||
<string name="storageReadPermissionRequired">Za ovu radnju je potrebna dozvola za čitanje spremljenih podataka …</string>
|
||||
<string name="cameraPermissionRequired">Za ovu radnju je potrebna dozvola za pristup kameri …</string>
|
||||
<string name="app_license">Copylefted libre softver, GPLv3+ licenca</string>
|
||||
<string name="settings_card_orientation">Orijentacija crtičnog koda</string>
|
||||
<string name="settings_card_orientation">Orijentacija ekrana</string>
|
||||
<string name="settings_follow_system_orientation">Slijedi sustav</string>
|
||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="importFidmeMessage">Odaberi tvoju iz FidMe izvezenu <i>idme-export-request-xxxxxx.zip</i> datoteku koju želiš uvesti i ručno odaberi vste crtičnog koda nakon toga.
|
||||
@@ -207,7 +207,7 @@
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Autorska prava © 2019. – <xliff:g>%d.</xliff:g> Sylvia van Os i doprinositelji</string>
|
||||
<string name="debug_version_fmt">Verzija: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_resources">Slobodni resursi trećih strana: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="settings_landscape_orientation">Vodoravno</string>
|
||||
<string name="settings_landscape_orientation">Ležeće</string>
|
||||
<string name="group_name_is_empty">Ime grupe ne smije biti prazno</string>
|
||||
<string name="group_updated">Grupa je aktualizirana</string>
|
||||
<string name="all">Sve</string>
|
||||
@@ -270,7 +270,7 @@
|
||||
<string name="action_display_options">Opcije prikaza</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Potrebno za rad nekih čitača</string>
|
||||
<string name="settings_oled_dark_summary">Smanjuje potrošnju baterije OLED ekrana</string>
|
||||
<string name="settings_category_title_cards">Kartice</string>
|
||||
<string name="settings_category_title_cards">Prikaz kartice</string>
|
||||
<string name="addWithoutBarcode">Dodaj karticu bez crtičnog koda</string>
|
||||
<string name="app_copyright_short">Autorska prava © Sylvia van Os i doprinositelji</string>
|
||||
<string name="field_must_not_be_empty">Polje ne smije biti prazno</string>
|
||||
@@ -298,4 +298,21 @@
|
||||
<string name="exportCancelled">Izvoz je prekinut</string>
|
||||
<string name="useBackImage">Koristi stražnju sliku</string>
|
||||
<string name="useFrontImage">Koristi prednju sliku</string>
|
||||
</resources>
|
||||
<string name="settings_column_count_portrait">Stupci u uspravnom modusu</string>
|
||||
<string name="sort_by_valid_from">Vrijedi od</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_category_title_cards_overview">Pregled kartica</string>
|
||||
<string name="settings_column_count_landscape">Stupci u ležećem modusu</string>
|
||||
<string name="settings_automatic_column_count">Automatski</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="generic_error_please_retry">Žao nam je, nešto nije u redu, pokušaj ponovo …</string>
|
||||
<string name="addFromPkpass">Odaberi jednu Passbook datoteku (.pkpass)</string>
|
||||
<string name="unsupportedFile">Ova datoteka nije podržana</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Pomoću gumba za glasnoću promijeni koja se kartica prikazuje</string>
|
||||
<string name="settings_use_volume_keys_navigation">Mijenjaj kartice pomoću gumba za glasnoću</string>
|
||||
</resources>
|
||||
|
||||
@@ -298,4 +298,14 @@
|
||||
<string name="settings_column_count_landscape">Oszlopok fekvő módban</string>
|
||||
<string name="settings_automatic_column_count">Automatikus</string>
|
||||
<string name="settings_column_count_portrait">Oszlopok álló módban</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="addFromPkpass">Válassz egy Passbook fájlt (.pkpass)</string>
|
||||
<string name="unsupportedFile">Ez a fájl nem támogatott</string>
|
||||
<string name="generic_error_please_retry">Sajnálom, valami rosszul ment, próbálkozz újra...</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -299,4 +299,7 @@
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="addFromPkpass">Pilih file Buku Tabungan (.pkpass)</string>
|
||||
<string name="unsupportedFile">File ini tidak didukung</string>
|
||||
<string name="generic_error_please_retry">Maaf, terjadi kesalahan, silakan coba lagi...</string>
|
||||
</resources>
|
||||
@@ -302,4 +302,5 @@
|
||||
<string name="settings_column_count_landscape">가로 모드의 열</string>
|
||||
<string name="settings_automatic_column_count">자동</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">유효 기간</string>
|
||||
</resources>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<string name="failedParsingImportUriError">Nevarēja apstrādāt ievietošanas URI</string>
|
||||
<string name="importExport">Ievietot/izgūt</string>
|
||||
<string name="exportName">Izgūt</string>
|
||||
<string name="importExportHelp">Dublējot Jūsu datus, tos var pārnest uz citu ierīci.</string>
|
||||
<string name="importExportHelp">Datu rezerves kopijas izveidošana ļauj tos pārnest uz citu ierīci.</string>
|
||||
<string name="importSuccessfulTitle">Ievietots</string>
|
||||
<string name="importFailedTitle">Ievietošana neizdevās</string>
|
||||
<string name="importFailed">Nevarēja veikt ievietošanu</string>
|
||||
@@ -309,4 +309,5 @@
|
||||
<string name="unsupportedFile">Šī datne netiek atbalstīta</string>
|
||||
<string name="addFromPkpass">Atlasīt Passbook datni (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">Atvainojamies, kaut kas nogāja greizi. Lūgums mēģināt vēlreiz...</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Derīga no</string>
|
||||
</resources>
|
||||
|
||||
@@ -305,4 +305,7 @@
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="addFromPkpass">Velg en Passbook-fil (.pkpass)</string>
|
||||
<string name="unsupportedFile">Denne filen støttes ikke</string>
|
||||
<string name="generic_error_please_retry">Beklager, men noe gikk galt. Prøv igjen…</string>
|
||||
</resources>
|
||||
@@ -308,4 +308,5 @@
|
||||
<string name="addFromPkpass">Kies een Passbook bestand (.pkpass)</string>
|
||||
<string name="unsupportedFile">Dit bestand wordt niet ondersteund</string>
|
||||
<string name="generic_error_please_retry">Sorry, er ging iets mis. Probeer het opnieuw.</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Op geldig vanaf</string>
|
||||
</resources>
|
||||
|
||||
@@ -320,4 +320,5 @@
|
||||
<string name="addFromPkpass">Wybierz plik Passbook (.pkpass)</string>
|
||||
<string name="unsupportedFile">Ten plik nie jest obsługiwany</string>
|
||||
<string name="generic_error_please_retry">Coś poszło nie tak, spróbuj ponownie później...</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Poprawna forma</string>
|
||||
</resources>
|
||||
|
||||
@@ -314,4 +314,5 @@
|
||||
<string name="unsupportedFile">Este arquivo não é suportado</string>
|
||||
<string name="addFromPkpass">Selecionar um arquivo do gerenciador de senhas (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">Desculpe, alguma coisa deu errado, por favor tente novamente...</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Válido a partir de</string>
|
||||
</resources>
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
<string name="spend">Потрачено</string>
|
||||
<string name="receive">Получено</string>
|
||||
<string name="amountParsingFailed">Недопустимая сумма</string>
|
||||
<string name="addFromPdfFile">Выбрать PDF-файл</string>
|
||||
<string name="addFromPdfFile">Выбрать файл PDF</string>
|
||||
<string name="errorReadingFile">Невозможно прочитать файл</string>
|
||||
<string name="pageWithNumber">Страница <xliff:g>%d</xliff:g></string>
|
||||
<string name="failedLaunchingFileManager">Не найден поддерживаемый файловый менеджер</string>
|
||||
@@ -320,4 +320,5 @@
|
||||
<string name="unsupportedFile">Данный файл не поддерживается</string>
|
||||
<string name="addFromPkpass">Выбрать файл Passbook (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">Извините, что-то пошло не так, попробуйте ещё раз…</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Начало действия</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="settings_display_barcode_max_brightness">Gör streckkodsvyn ljusare</string>
|
||||
<string name="settings_display_barcode_max_brightness">Gör skärmen ljusare</string>
|
||||
<string name="settings_keep_screen_on">Håll skärmen påslagen</string>
|
||||
<string name="importFidmeMessage">Välj den exporterade <i>fidme-export-request-xxxxxx.zip</i> från FidMe som du vill importera och välj streckkodstyper manuellt efteråt.
|
||||
\nSkapa den från din FidMe-profil först genom att välja \"Data Protection\" och sen trycka på \"Extract my data\".</string>
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
<string name="app_name">கேடிமா</string>
|
||||
<string name="action_search">தேடல்</string>
|
||||
<string name="action_add">கூட்டு</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> தேர்ந்தெடுக்கப்பட்டது</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> தேர்ந்தெடுக்கப்பட்டன</item>
|
||||
</plurals>
|
||||
<string name="noGiftCards">ஒரு அட்டையைச் சேர்க்க + பிளச் பொத்தானைக் சொடுக்கு செய்க அல்லது ⋮ மெனுவிலிருந்து இறக்குமதி செய்யுங்கள்.</string>
|
||||
<string name="noGiftCardsGroup">சில அட்டைகளை உருவாக்கி, பின்னர் அவற்றை இங்கே குழுவிற்கு ஒதுக்குங்கள்.</string>
|
||||
<string name="storeName">பெயர்</string>
|
||||
@@ -261,4 +265,41 @@
|
||||
<string name="useBackImage">பின் படத்தைப் பயன்படுத்தவும்</string>
|
||||
<string name="addFromPkpass">பாச் புக் கோப்பைத் தேர்ந்தெடுக்கவும் (.pkpass)</string>
|
||||
<string name="useFrontImage">முன் படத்தைப் பயன்படுத்தவும்</string>
|
||||
</resources>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> அட்டை நீக்கு</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> அட்டைகளை நீக்கு</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">இந்த <xliff:g>%d</xliff:g> அட்டையை நிரந்தரமாக நீக்கவா?</item>
|
||||
<item quantity="other">இந்த <xliff:g>%d</xliff:g> அட்டைகளை நிரந்தரமாக நீக்கவா?</item>
|
||||
</plurals>
|
||||
<string name="editGroup">திருத்துதல் குழு: <xliff:g>%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">பதிப்பு: <xliff:g id="version">%s</xliff:g></string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> அட்டை</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> அட்டைகள்</item>
|
||||
</plurals>
|
||||
<string name="expiryStateSentenceExpired">காலாவதியானது: <xliff:g>%s</xliff:g></string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> புள்ளி</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> புள்ளிகள்</item>
|
||||
</plurals>
|
||||
<string name="importLoyaltyCardKeychainMessage">இறக்குமதி செய்ய உங்கள் <i>LoyaltyCardKeychain.csv</i> விசுவாச அட்டை சாவிக்கொத்திலிருந்து ஏற்றுமதி செய். \nமுதலில் அங்கு ஏற்றுமதியை அழுத்துவதன் மூலம் விசுவாச அட்டை சாவிக்கொத்தில் இறக்குமதி/ஏற்றுமதி பட்டியலிலிருந்து அதை உருவாக்கு.</string>
|
||||
<string name="validFromSentence">இதிலிருந்து செல்லுபடியாகும்: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">புதிய இருப்பு: <xliff:g>%s</xliff:g></string>
|
||||
<string name="pageWithNumber">பக்கம் <xliff:g>%d</xliff:g></string>
|
||||
<string name="currentBalanceSentence">தற்போதைய இருப்பு: <xliff:g>%s</xliff:g></string>
|
||||
<string name="app_contributors">வழங்கியவர்: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="about_title_fmt">படம் <xliff:g>%s</xliff:g> பட்டைகுறியீடு</string>
|
||||
<string name="barcodeImageDescriptionWithType">படம் <xliff:g>%s</xliff:g> பட்டை குறியீடு</string>
|
||||
<string name="app_libraries">விடுதலை மூன்றாம் தரப்பு நூலகங்கள்: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">காலாவதியாகிறது: <xliff:g>%s</xliff:g></string>
|
||||
<string name="balanceSentence">இருப்பு: <xliff:g>%s</xliff:g></string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> அட்டை (<xliff:g id="archivedCount">%2$d</xliff:g> காப்பகப்படுத்தப்பட்டது)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> அட்டைகள் (<xliff:g id="archivedCount">%2$d</xliff:g> காப்பகப்படுத்தப்பட்டது)</item>
|
||||
</plurals>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">பதிப்புரிமை © 2019–<xliff:g>%d</xliff:g> சில்வியா வான் ஓஎச் மற்றும் பங்களிப்பாளர்கள்</string>
|
||||
<string name="app_resources">விடுதலை மூன்றாம் தரப்பு வளங்கள்: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="groupsList">குழுக்கள்: <xliff:g>%s</xliff:g></string>
|
||||
</resources>
|
||||
@@ -308,4 +308,5 @@
|
||||
<string name="unsupportedFile">Bu dosya desteklenmiyor</string>
|
||||
<string name="generic_error_please_retry">Üzgünüz, bir şeyler ters gitti, lütfen tekrar deneyin...</string>
|
||||
<string name="addFromPkpass">Bir Passbook dosyası seçin (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">İtibaren Geçerli</string>
|
||||
</resources>
|
||||
|
||||
@@ -285,7 +285,7 @@
|
||||
<string name="enter_card_id">Введіть ID або текст на вашій картці</string>
|
||||
<string name="addWithoutBarcode">Додати картку без штрих-коду</string>
|
||||
<string name="field_must_not_be_empty">Поле вводу не повинно бути порожнім</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="app_name">Катіма</string>
|
||||
<string name="settings_follow_sensor_orientation">Завжди обертати (ігнорувати системні налаштування)</string>
|
||||
<string name="add_manually_warning_message">У деяких магазинах значення штрихкоду відрізняється від номера, записаного на картці. Через це введення штрихкоду вручну може не завжди спрацювати. Наполегливо рекомендуємо відсканувати штрихкод за допомогою камери. Ви все ще хочете продовжити?</string>
|
||||
<string name="continue_">Продовжити</string>
|
||||
@@ -319,4 +319,5 @@
|
||||
<string name="unsupportedFile">Цей файл не підтримується</string>
|
||||
<string name="generic_error_please_retry">Вибачте, щось пішло не так, спробуйте ще раз...</string>
|
||||
<string name="addFromPkpass">Виберіть файл Passbook (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Діє з</string>
|
||||
</resources>
|
||||
|
||||
@@ -302,4 +302,5 @@
|
||||
<string name="addFromPkpass">选择 Passbook 文件(.pkpass)</string>
|
||||
<string name="unsupportedFile">此文件不受支持</string>
|
||||
<string name="generic_error_please_retry">抱歉,某个东西出错了,请再试…</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">有效期开始日</string>
|
||||
</resources>
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
<string name="setBarcodeHeight">設定條碼高度</string>
|
||||
<string name="app_copyright_short">著作權所有© Sylvia van Os與其他貢獻者</string>
|
||||
<string name="permissionReadCardsLabel">讀取Catima卡片</string>
|
||||
<string name="app_name">卡提碼</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="permissionReadCardsDescription">讀取Catima卡片及卡片資訊,包含註記與圖片</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">觀看卡片時避免螢幕鎖定</string>
|
||||
<string name="settings_allow_content_provider_read_summary">其他程式仍然需要取得權限</string>
|
||||
@@ -298,4 +298,8 @@
|
||||
<string name="settings_category_title_cards_overview">卡片概覽</string>
|
||||
<string name="settings_column_count_portrait">縱向模式下的列數</string>
|
||||
<string name="settings_column_count_landscape">横向模式下的列數</string>
|
||||
</resources>
|
||||
<string name="addFromPkpass">選擇 Passbook 檔案 (.pkpass)</string>
|
||||
<string name="unsupportedFile">不支援此檔案</string>
|
||||
<string name="generic_error_please_retry">抱歉,似乎出了點錯誤,請您再試一次...</string>
|
||||
<string name="sort_by_valid_from">有效期限開始日</string>
|
||||
</resources>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<string-array name="sort_types_array">
|
||||
<item>@string/sort_by_name</item>
|
||||
<item>@string/sort_by_most_recently_used</item>
|
||||
<item>@string/sort_by_valid_from</item>
|
||||
<item>@string/sort_by_expiry</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -255,6 +255,7 @@
|
||||
<string name="barcodeLongPressMessage">Only images can be opened in the gallery app</string>
|
||||
<string name="sort_by_name">Name</string>
|
||||
<string name="sort_by_most_recently_used">Most Recently Used</string>
|
||||
<string name="sort_by_valid_from">Valid From</string>
|
||||
<string name="sort_by_expiry">Expiry</string>
|
||||
<!-- \"Reversed order\" is also OK. This is an option in the card sorting list -->
|
||||
<string name="reverse">…in reversed order</string>
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
<item name="alertDialogTheme">@style/ThemeOverlay.App.MaterialAlertDialog.Monet</item>
|
||||
|
||||
<item name="windowActionModeOverlay">true</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="ThemeOverlay.App.MaterialAlertDialog.Monet" parent="ThemeOverlay.Material3.MaterialAlertDialog">
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
plugins {
|
||||
id("com.android.application") version "8.7.3" apply false
|
||||
id("com.android.application") version "8.8.0" apply false
|
||||
id("com.github.spotbugs") version "5.1.4" apply false
|
||||
id("org.jetbrains.kotlin.android") version "2.1.0" apply false
|
||||
id("org.jetbrains.kotlin.android") version "2.1.10" apply false
|
||||
}
|
||||
|
||||
allprojects {
|
||||
|
||||
40
build.sh
@@ -3,7 +3,7 @@ set -euo pipefail
|
||||
IFS=$'\n\t'
|
||||
|
||||
### build.sh
|
||||
### Builds Catima the same way F-Droid does for reproducible builds
|
||||
### Builds Catima the same way rbtlog/IzzyOnDroid does for reproducible builds
|
||||
|
||||
if [ -z "${ANDROID_SDK_ROOT:-}" ]; then
|
||||
echo "ANDROID_SDK_ROOT is not set, setting to $HOME/Android/Sdk";
|
||||
@@ -25,7 +25,11 @@ echo "Starting build"
|
||||
./gradlew clean assembleRelease
|
||||
|
||||
echo "Build finished (unsigned)"
|
||||
echo "Your build is at app/build/outputs/apk/release/app-release-unsigned.apk"
|
||||
flavourDirs=$(find app/build/outputs/apk/ -mindepth 1 -maxdepth 1 -type d)
|
||||
for flavourDir in $flavourDirs; do
|
||||
flavourName="$(basename "$flavourDir")"
|
||||
echo "Your $flavourName flavour is at $flavourDir/release/app-$flavourName-release-unsigned.apk"
|
||||
done
|
||||
|
||||
if [ -z "${KEYSTORE:-}" ]; then
|
||||
echo "KEYSTORE not set, skipping signing..."
|
||||
@@ -36,16 +40,26 @@ else
|
||||
fi
|
||||
|
||||
apksigner_version="$(ls -1 "$HOME/Android/Sdk/build-tools/" | tail -n 1)"
|
||||
cp app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/app-release.apk
|
||||
"$HOME/Android/Sdk/build-tools/$apksigner_version/apksigner" sign -v --ks "$KEYSTORE" --ks-key-alias "$KEYSTORE_ALIAS" app/build/outputs/apk/release/app-release.apk
|
||||
|
||||
echo "Build finished (signed)"
|
||||
echo "Your build is at app/build/outputs/apk/release/app-release.apk"
|
||||
for flavourDir in $flavourDirs; do
|
||||
flavourName="$(basename "$flavourDir")"
|
||||
echo "Signing $flavourName flavour..."
|
||||
cp "$flavourDir/release/app-$flavourName-release-unsigned.apk" "$flavourDir/release/app-$flavourName-release.apk"
|
||||
"$HOME/Android/Sdk/build-tools/$apksigner_version/apksigner" sign -v --ks "$KEYSTORE" --ks-key-alias "$KEYSTORE_ALIAS" "$flavourDir/release/app-$flavourName-release.apk"
|
||||
|
||||
echo "Build finished (signed)"
|
||||
echo "Your $flavourName flavour is at $flavourDir/release/app-$flavourName-release.apk"
|
||||
done
|
||||
|
||||
shasumPath="$(pwd)/SHA256SUMS"
|
||||
echo "" > "$shasumPath"
|
||||
|
||||
for flavourDir in $flavourDirs; do
|
||||
pushd "$flavourDir/release/"
|
||||
sha256sum -- *.apk >> "$shasumPath"
|
||||
popd
|
||||
done
|
||||
|
||||
echo "SHA256SUMS generated"
|
||||
echo "Your SHA256SUMS are at SHA256SUMS"
|
||||
fi
|
||||
|
||||
pushd app/build/outputs/apk/release/
|
||||
sha256sum -- *.apk > SHA256SUMS
|
||||
popd
|
||||
|
||||
echo "SHA256SUMS generated"
|
||||
echo "Your SHA256SUMS is at app/build/outputs/apk/release/SHA256SUMS"
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
3. Update `CHANGELOG.md` with the new version name and the release date
|
||||
4. Update `app/build.gradle.kts` with the new `versionCode` and `versionName`
|
||||
5. Create a commit for the new release: `git add CHANGELOG.md app/build.gradle.kts && git commit -m "Release Catima <VERSION>"`
|
||||
6. Build a new .apk: `KEYSTORE=/path/to/keystore KEYSTORE_ALIAS=catima ./build.sh`
|
||||
7. Upload the APK to Google Play Open Testing
|
||||
6. Build the new .apks: `KEYSTORE=/path/to/keystore KEYSTORE_ALIAS=catima ./build.sh`
|
||||
7. Upload `app/build/outputs/apk/gplay/release/app-gplay-release.apk` to Google Play Open Testing
|
||||
8. Push the version update commit: `git push`
|
||||
9. Create a new release on GitHub and attach the `app-release.apk` and `SHA256SUMS` files
|
||||
9. Create a new release on GitHub and attach the `app/build/outputs/apk/foss/release/app-foss-release.apk` and `SHA256SUMS` files
|
||||
10. After the release has been approved on Google Play Production, update the metadata there: `bundle exec fastlane supply --version_code <VERSION_CODE>`
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 48 KiB |
3
fastlane/metadata/android/ca/changelogs/10.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Cambiat el nom per defecte en la exportació. (pull #84 (https://github.com/brarcher/loyalty-card-locker/pull/84))
|
||||
- Corregits els literals en la pàgina d'importació/exportació. (pull #87 (https://github.com/brarcher/loyalty-card-locker/pull/87))
|
||||
- Millores en l'estructura de la pàgina de visualització de targetes. El text hauria de ser més senzill de llegir i es pot seleccionar amb un clic llarg. (pull #91 (https://github.com/brarcher/loyalty-card-locker/pull/91))
|
||||
2
fastlane/metadata/android/ca/changelogs/100.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- La cerca s'amaga, els botons expandir i ordenar només es mostren quan hi ha contingut
|
||||
- Arreglos en els temes
|
||||
3
fastlane/metadata/android/ca/changelogs/101.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Ajustos en el retallador que no s'ajusta al color del tema
|
||||
- Ajustos menors en els temes
|
||||
- Afegit el tema Negre pur per pantalles de tipus OLED
|
||||
1
fastlane/metadata/android/ca/changelogs/128.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Corregit un error extrany
|
||||
1
fastlane/metadata/android/ca/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Pels teus codis de barres, subscripcions, targes de fidelitat, cupons i tiquets.
|
||||
1
fastlane/metadata/android/ca/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Catima
|
||||
1
fastlane/metadata/android/cs-CZ/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Zlepšení zobrazení ikon archivu/hvězdiček
|
||||
3
fastlane/metadata/android/cs-CZ/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Cíl Android 15
|
||||
- Oprava klávesnice zakrývající tlačítko pro uložení na obrazovce úprav
|
||||
- Oprava některých souborů pkpass, které nejsou detekovány jako pkpass (podpora typu mime application/vnd-com.apple.pkpass)
|
||||
2
fastlane/metadata/android/cs-CZ/changelogs/146.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Možnost třídit karty podle začátku platnosti
|
||||
- Dočasný návrat na cílový systém Android 14 kvůli opravě některých problémů s uživatelským rozhraním
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
1
fastlane/metadata/android/de-DE/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Verbesserte Anzeige der Symbole Archiv/Favoriten
|
||||
3
fastlane/metadata/android/de-DE/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Angepasst für Android 15
|
||||
- Die Tastatur verdeckt jetzt nicht mehr den "Speichern"-Button im Bearbeitungsbildschirm
|
||||
- Einige pkpass-Dateien wurden nicht als pkpass erkannt (Unterstützung des Mime-Typs application/vnd-com.apple.pkpass)
|
||||
2
fastlane/metadata/android/de-DE/changelogs/146.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Ermöglicht Kartensortierung nach „Beginn der Gültigkeit“
|
||||
- Vorübergehende Rückkehr zur Anpassung für Android 14, um ein paar Probleme mit der Benutzeroberfläche zu beheben
|
||||
@@ -1,7 +1,7 @@
|
||||
Schluss mit der Suche nach Kundenkarten aus Plastik beim Bezahlen im Geschäft oder Webshop.
|
||||
<b>Speichere Barcodes mit der Kamera auf dein Gerät und vergesse deine Karten.</b>
|
||||
<b>Speichere Barcodes mit der Kamera auf dein Gerät und vergiss deine Karten.</b>
|
||||
|
||||
Lass deine Geldbörse daheim, oder schaffe wenigstens viel Platz für die wichtigen Wertsachen.
|
||||
Lass deine Geldbörse daheim oder schaffe zumindest Platz für die wichtigen Wertsachen.
|
||||
|
||||
Mit diesem unverzichtbaren Programm schaffst du Platz für Bargeld statt für nutzloses Plastik.
|
||||
|
||||
@@ -11,12 +11,12 @@ Mit diesem unverzichtbaren Programm schaffst du Platz für Bargeld statt für nu
|
||||
- Importiere Karten und Codes aus Dateien, von Catima, FidMe, Loyalty Card Keychain, Stocard oder Voucher Vault.
|
||||
- Erstelle ein Backup aller deiner Karten und übertrage diese auf ein neues Gerät.
|
||||
- Teile Gutscheine, exklusive Angebote, Werbeaktionscodes oder Karten und sonstige Codes mit allen Apps.
|
||||
- Dunkles Design und Barrierefreiheit für sehbehinderte Nutzer.
|
||||
- Dunkles Design und Barrierefreiheit für Nutzer mit Sehbehinderung.
|
||||
- Von der Freien-Software-Gemeinschaft für alle Menschen gemacht.
|
||||
- Lokalisierte, menschliche Übersetzungen für mehr als 40 Sprachen.
|
||||
- Kostenlos, unterstützt durch Gemeinschaftsbeiträge.
|
||||
- Verwende, prüfe, ändere und teile die App, wie du willst; <i>mit allen</i>.
|
||||
- Nicht nur freie und quelloffene Software. Eine freie, <i>Copylefted</i> Software-Kartenverwaltung (GPLv3+).
|
||||
|
||||
Vereinfache dein Leben und deine Einkäufe, und verliere nie wieder einen Beleg, eine Gutscheinkarte oder ein Flugticket.
|
||||
Habe deine Prämien und Boni immer bei dir, und spare unterwegs.
|
||||
Vereinfache dein Leben und deine Einkäufe – verliere nie wieder einen Beleg, eine Gutscheinkarte oder ein Flugticket.
|
||||
Nimm deine Prämien und Boni mit und spare unterwegs.
|
||||
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 50 KiB |
1
fastlane/metadata/android/en-US/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Improve archive/starred icon display
|
||||
3
fastlane/metadata/android/en-US/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Target Android 15
|
||||
- Fix keyboard covering save button in edit screen
|
||||
- Fix some pkpass files not being detected as pkpass (application/vnd-com.apple.pkpass mime type support)
|
||||
2
fastlane/metadata/android/en-US/changelogs/146.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Ability to sort cards by start of validity
|
||||
- Temporarily revert to targeting Android 14 to fix some UI issues
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 49 KiB |
3
fastlane/metadata/android/et/changelogs/139.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Lisasime võimaluse liikuda kaartide vahel helivaljuse nuppudega
|
||||
- Parandasime Stocardi impordi vead
|
||||
- Parandasime "Import on katkestatud" vea peale õnnestunud importi
|
||||
3
fastlane/metadata/android/et/changelogs/142.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Lisasime Passbooki failide (.pkpass) toe
|
||||
- Parandasime läbipaistvate pdf-failide importimise
|
||||
- Parandasime läbipaistvate pisipiltide kuvamist
|
||||
1
fastlane/metadata/android/et/changelogs/143.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Parandasime rakenduse kokkujooksmise vigase pkpass-faili avamisel
|
||||
1
fastlane/metadata/android/et/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Parandasime arhiveeritud/lemmik ikoonide kuvamise
|
||||
3
fastlane/metadata/android/et/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Alusplatvorm on nüüd Android 15
|
||||
- Parandasime olukorra, kus klahvistik kattis muutmisvaates salvestusnupu
|
||||
- Parandasime olukorra, kus mõned pkpass failid jäid tuvastamata (application/vnd-com.apple.pkpass mime-tüüpi tugi)
|
||||
2
fastlane/metadata/android/et/changelogs/146.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Võimalus järjestada kaarte kehtivuse alguse alusel
|
||||
- Mõnede vigade parandamiseks on ajutiselt alusplatvormiks tagasi Android
|
||||
1
fastlane/metadata/android/et/changelogs/95.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Parandasime kokkujooksmise kaardi jagamisel
|
||||
2
fastlane/metadata/android/et/changelogs/96.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Lisaime CODE 93 toe
|
||||
- Mitmed väikesed veaparandused ja täiendused
|
||||
4
fastlane/metadata/android/et/changelogs/97.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Parandasime vea, kus salvesta nupu järjest klõpsimisel salvestus mitu kaarti
|
||||
- Et oleks enam kaarte näha, siis üksikasjade peitmisel kasutame veel madalamat päisekirjet
|
||||
- Korraldasime ümber muutmisvaate
|
||||
- Parandasime lemmiku ikooni kontrastust põhivaates
|
||||
1
fastlane/metadata/android/et/changelogs/98.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Parandasime erinevad TalkBacki vead
|
||||
1
fastlane/metadata/android/et/changelogs/99.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Võtsime kasutusele Material You kujunduskeele
|
||||