Compare commits
@@ -24,7 +24,7 @@ permissions:
|
||||
security-events: none
|
||||
statuses: none
|
||||
env:
|
||||
JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64
|
||||
JAVA_HOME: /usr/lib/jvm/java-25-openjdk-amd64
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -32,39 +32,43 @@ jobs:
|
||||
matrix:
|
||||
flavor: [Foss, Gplay]
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: gradle/actions/wrapper-validation@v5
|
||||
- name: set up OpenJDK 21
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- uses: gradle/actions/wrapper-validation@v6.2.0
|
||||
- name: set up OpenJDK 25
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y openjdk-21-jdk-headless
|
||||
sudo apt-get install -y openjdk-25-jdk-headless
|
||||
sudo update-alternatives --auto java
|
||||
- name: Build
|
||||
run: ./gradlew assemble${{ matrix.flavor }}Release
|
||||
- name: Check for non-free libraries
|
||||
run: |
|
||||
wget -q https://codeberg.org/Katastima/apkscanner/releases/download/v0.0.7/apk-scanner_v0.0.7.jar
|
||||
java -jar apk-scanner_v0.0.7.jar scan-apk "$(echo 'app/build/outputs/apk/${{ matrix.flavor }}/release/app-${{ matrix.flavor }}-release-unsigned.apk' | tr '[:upper:]' '[:lower:]')"
|
||||
- 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; }
|
||||
run: timeout 5m ./gradlew test${{ matrix.flavor }}DebugUnitTest || { ./gradlew --stop && timeout 5m ./gradlew test${{ matrix.flavor }}DebugUnitTest; }
|
||||
- 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
|
||||
- name: Run instrumented tests (API 23)
|
||||
uses: ReactiveCircus/android-emulator-runner@v2.38.0
|
||||
with:
|
||||
api-level: 21
|
||||
api-level: 23
|
||||
arch: x86_64
|
||||
script: ./gradlew connected${{ matrix.flavor }}DebugAndroidTest
|
||||
- name: Run instrumented tests (API 35)
|
||||
uses: ReactiveCircus/android-emulator-runner@v2
|
||||
uses: ReactiveCircus/android-emulator-runner@v2.38.0
|
||||
with:
|
||||
api-level: 35
|
||||
arch: x86_64
|
||||
script: ./gradlew connected${{ matrix.flavor }}DebugAndroidTest
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v6.0.0
|
||||
uses: actions/upload-artifact@v7.0.1
|
||||
with:
|
||||
name: test-results-flavor${{ matrix.flavor }}
|
||||
path: app/build/reports
|
||||
|
||||
@@ -19,15 +19,15 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
id: checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7.0.0
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v6.1.0
|
||||
uses: actions/setup-python@v6.3.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@v8.0.0
|
||||
uses: peter-evans/create-pull-request@v8.1.1
|
||||
with:
|
||||
title: "Update Fastlane changelogs"
|
||||
commit-message: "Update Fastlane changelogs"
|
||||
|
||||
@@ -17,15 +17,17 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
id: checkout
|
||||
uses: actions/checkout@v6
|
||||
uses: actions/checkout@v7.0.0
|
||||
- name: Update contributors
|
||||
id: update_contributors
|
||||
uses: TheLastProject/contributors-to-file-action@v3.2.0
|
||||
with:
|
||||
file_in_repo: app/src/main/res/raw/contributors.txt
|
||||
min_commit_count: 5
|
||||
- name: Remove gradle-update-robot from contributors (not a person)
|
||||
run: "sed -i '/^gradle-update-robot$/d' app/src/main/res/raw/contributors.txt"
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v8.0.0
|
||||
uses: peter-evans/create-pull-request@v8.1.1
|
||||
with:
|
||||
title: "Update contributors"
|
||||
commit-message: "Update contributors"
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
generate-feature-graphic:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Install requirements
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@@ -31,7 +31,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@v8.0.0
|
||||
uses: peter-evans/create-pull-request@v8.1.1
|
||||
with:
|
||||
title: "Update feature graphic"
|
||||
commit-message: "Update feature graphic"
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- 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
|
||||
- name: Check app_name consistency
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
name: Update Gradle Wrapper
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
update-gradle-wrapper:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Update Gradle Wrapper
|
||||
uses: gradle-update/update-gradle-wrapper-action@v2
|
||||
@@ -17,13 +17,13 @@ jobs:
|
||||
update-locales:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/checkout@v7.0.0
|
||||
- name: Add new locales
|
||||
run: .scripts/new-locales.py
|
||||
- name: Update locales
|
||||
run: .scripts/locales.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v8.0.0
|
||||
uses: peter-evans/create-pull-request@v8.1.1
|
||||
with:
|
||||
title: "Update locales"
|
||||
commit-message: "Update locales"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
3.3.11
|
||||
@@ -1,5 +1,45 @@
|
||||
# Changelog
|
||||
|
||||
## v2.44.0 - 168 (2026-07-28)
|
||||
|
||||
- Add option to open image in internal image viewer in gallery
|
||||
|
||||
## v2.43.0 - 167 (2026-07-12)
|
||||
|
||||
- Add support for showing the card ID in the card list
|
||||
- Add support to sort by most recently added
|
||||
- Add internal image viewer for zooming card front/back/icon images
|
||||
|
||||
## v2.42.1 - 166 (2026-05-16)
|
||||
|
||||
- Prevent crash on devices with misbehaving NFC
|
||||
|
||||
## v2.42.0 - 165 (2026-05-06)
|
||||
|
||||
- Disable NFC while showing a card by default
|
||||
- Ask keyboard to capitalize each word in store name in edit screen
|
||||
- Put date in export file name
|
||||
|
||||
## v2.41.7 - 164 (2026-03-06)
|
||||
|
||||
Android 5.0 and 5.1 are no longer supported starting with this release. If you want to use Catima on these versions, please use version 2.41.6.
|
||||
|
||||
- Fix crash when switching cards using volume buttons if only one card is available
|
||||
- Fix shortcut returning to previous card after rotation
|
||||
|
||||
## v2.41.6 - 163 (2026-01-23)
|
||||
|
||||
- Auto-detect URLs in card ID and make the clickable in card ID details pop-up
|
||||
- Fix barcode selector activity showing white squares instead of barcodes
|
||||
|
||||
## v2.41.5 - 162 (2026-01-15)
|
||||
|
||||
- Fix list widget sometimes opening wrong card
|
||||
- Fix several bugs with shortcut handling
|
||||
- Fix About activity not using pure black title bar in OLED mode
|
||||
- Fully remove automatic barcode encoding detection
|
||||
- Expose barcode encoding through ContentProvider (used by Gadgetbridge)
|
||||
|
||||
## v2.41.4 - 161 (2026-01-04)
|
||||
|
||||
- Disable automatic barcode encoding detection for now (breaks too many cards)
|
||||
|
||||
+11
-1
@@ -23,7 +23,9 @@ for good reason.
|
||||
|
||||
## Code Changes
|
||||
|
||||
Note: submitting LLM ("AI") generated code is strongly discouraged, as such
|
||||
### LLM ("AI") and coding agents
|
||||
|
||||
**Note:** submitting LLM ("AI") generated code is strongly discouraged, as such
|
||||
code is often (subtly) incorrect or overcomplicated (for example: unnecessarily
|
||||
pulling in extra libraries for functionality already covered by existing
|
||||
libraries). It also often makes unrelated changes that increase the risk of
|
||||
@@ -47,6 +49,14 @@ risk.
|
||||
|
||||
Please never submit LLM-generated code as-is.
|
||||
|
||||
### Kotlin and Compose migration
|
||||
|
||||
Catima uses a lot of "legacy" tech, Java, Android XML. This will be ported to Kotlin,
|
||||
then Jetpack Compose; for further details, see
|
||||
<https://github.com/CatimaLoyalty/Android/issues/2483>.
|
||||
|
||||
Thus, prefer Kotlin and Jetpack Compose for new code/UI where practical, especially new files/features.
|
||||
|
||||
### Test Your Code
|
||||
|
||||
There are four possible tests you can run to verify your code. The first
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "fastlane"
|
||||
|
||||
# https://github.com/fastlane/fastlane/issues/29183
|
||||
gem "abbrev"
|
||||
gem "mutex_m"
|
||||
gem "ostruct"
|
||||
|
||||
+85
-72
@@ -1,48 +1,50 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
CFPropertyList (3.0.8)
|
||||
abbrev (0.1.2)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
addressable (2.9.0)
|
||||
public_suffix (>= 2.0.2, < 8.0)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1117.0)
|
||||
aws-sdk-core (3.226.0)
|
||||
aws-partitions (1.1269.0)
|
||||
aws-sdk-core (3.254.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
bigdecimal
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
logger
|
||||
aws-sdk-kms (1.105.0)
|
||||
aws-sdk-core (~> 3, >= 3.225.0)
|
||||
aws-sdk-kms (1.130.0)
|
||||
aws-sdk-core (~> 3, >= 3.254.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.189.1)
|
||||
aws-sdk-core (~> 3, >= 3.225.0)
|
||||
aws-sdk-s3 (1.227.0)
|
||||
aws-sdk-core (~> 3, >= 3.254.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.3.0)
|
||||
benchmark (0.5.0)
|
||||
bigdecimal (4.1.2)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
csv (3.3.5)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.7.0)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.112.0)
|
||||
faraday (1.10.4)
|
||||
excon (1.5.0)
|
||||
logger
|
||||
faraday (1.10.6)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@@ -54,53 +56,62 @@ GEM
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-cookie_jar (0.0.7)
|
||||
faraday-cookie_jar (0.0.8)
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
http-cookie (>= 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.1)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.1.1)
|
||||
faraday-multipart (1.2.0)
|
||||
multipart-post (~> 2.0)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday-retry (1.0.4)
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.4.0)
|
||||
fastlane (2.228.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
fastimage (2.4.1)
|
||||
fastlane (2.237.0)
|
||||
CFPropertyList (>= 2.3, < 5.0.0)
|
||||
abbrev (~> 0.1)
|
||||
addressable (>= 2.9.0, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
aws-sdk-s3 (~> 1.197)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
base64 (~> 0.2)
|
||||
benchmark (>= 0.1.0)
|
||||
bundler (>= 2.4.0, < 5.0.0)
|
||||
colored (~> 1.2)
|
||||
commander (~> 4.6)
|
||||
csv (~> 3.3)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
excon (>= 0.71.0, < 1.0.0)
|
||||
excon (>= 0.71.0, < 2.0.0)
|
||||
faraday (~> 1.0)
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
fastlane-sirp (>= 1.0.0)
|
||||
fastlane-sirp (>= 1.1.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-env (>= 1.6.0, < 2.0.0)
|
||||
google-cloud-env (>= 1.6.0, < 2.3.0)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
http-cookie (~> 1.0.5)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
jwt (>= 2.10.3, < 4)
|
||||
logger (>= 1.6, < 2.0)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multi_json (~> 1.12)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
mutex_m (~> 0.3)
|
||||
naturally (~> 2.2)
|
||||
nkf (~> 0.2)
|
||||
optparse (>= 0.1.1, < 1.0.0)
|
||||
ostruct (>= 0.1.0)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.5)
|
||||
@@ -113,44 +124,48 @@ GEM
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.4.1)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-sirp (1.0.0)
|
||||
sysrandom (~> 1.0)
|
||||
fastlane-sirp (1.1.0)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.3)
|
||||
google-apis-androidpublisher_v3 (0.104.0)
|
||||
google-apis-core (>= 0.15.0, < 2.a)
|
||||
google-apis-core (0.18.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
googleauth (~> 1.9)
|
||||
httpclient (>= 2.8.3, < 3.a)
|
||||
mini_mime (~> 1.0)
|
||||
mutex_m
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.8.0)
|
||||
google-apis-iamcredentials_v1 (0.28.0)
|
||||
google-apis-core (>= 0.15.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.18.0)
|
||||
google-apis-core (>= 0.15.0, < 2.a)
|
||||
google-apis-storage_v1 (0.64.0)
|
||||
google-apis-core (>= 0.15.0, < 2.a)
|
||||
google-cloud-core (1.9.0)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.5.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
google-cloud-env (2.2.2)
|
||||
base64 (~> 0.2)
|
||||
faraday (>= 1.0, < 3.a)
|
||||
google-cloud-errors (1.7.0)
|
||||
google-cloud-storage (1.62.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.31.0)
|
||||
google-apis-core (>= 0.18, < 2)
|
||||
google-apis-iamcredentials_v1 (~> 0.18)
|
||||
google-apis-storage_v1 (>= 0.42)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
googleauth (~> 1.9)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (1.8.1)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
multi_json (~> 1.11)
|
||||
google-logging-utils (0.2.0)
|
||||
googleauth (1.17.1)
|
||||
faraday (>= 1.0, < 3.a)
|
||||
google-cloud-env (~> 2.2)
|
||||
google-logging-utils (~> 0.1)
|
||||
jwt (>= 1.4, < 4.0)
|
||||
os (>= 0.9, < 2.0)
|
||||
pstore (~> 0.1)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.8)
|
||||
@@ -158,43 +173,42 @@ GEM
|
||||
httpclient (2.9.0)
|
||||
mutex_m
|
||||
jmespath (1.6.2)
|
||||
json (2.12.2)
|
||||
jwt (2.10.1)
|
||||
json (2.21.1)
|
||||
jwt (3.2.0)
|
||||
base64
|
||||
logger (1.7.0)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multi_json (1.21.1)
|
||||
multipart-post (2.4.1)
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.3.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.6.0)
|
||||
nkf (0.3.0)
|
||||
optparse (0.8.1)
|
||||
os (1.1.4)
|
||||
ostruct (0.6.1)
|
||||
ostruct (0.6.3)
|
||||
plist (3.7.2)
|
||||
public_suffix (6.0.2)
|
||||
rake (13.3.0)
|
||||
pstore (0.2.1)
|
||||
public_suffix (7.0.5)
|
||||
rake (13.4.2)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.4.1)
|
||||
retriable (3.8.0)
|
||||
rexml (3.4.4)
|
||||
rouge (3.28.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.4.1)
|
||||
security (0.1.5)
|
||||
signet (0.20.0)
|
||||
signet (0.22.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
jwt (>= 1.5, < 4.0)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
sysrandom (1.0.5)
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@@ -206,12 +220,14 @@ GEM
|
||||
uber (0.1.0)
|
||||
unicode-display_width (2.6.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.27.0)
|
||||
xcodeproj (1.28.1)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
base64
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.4.0)
|
||||
nkf
|
||||
rexml (>= 3.3.6, < 4.0)
|
||||
xcpretty (0.4.1)
|
||||
rouge (~> 3.28.0)
|
||||
@@ -222,10 +238,7 @@ PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
abbrev
|
||||
fastlane
|
||||
mutex_m
|
||||
ostruct
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.22
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
**Last updated**
|
||||
September 30 2025
|
||||
April 29 2026
|
||||
|
||||
# Privacy Policy
|
||||
Catima does not collect or transmit any personal information.
|
||||
@@ -7,6 +7,7 @@ Catima does not collect or transmit any personal information.
|
||||
To ensure correct app functionality, we require access to the following:
|
||||
|
||||
- Camera: We need access to your camera to be able to scan barcodes. The app can still be used when camera access is denied, but you will have to manually type the barcode information.
|
||||
- NFC: We need NFC access to temporarily disable NFC while showing a barcode to prevent NFC payment apps from triggering (such as when using a check-in gates which support both barcodes and NFC payments). This functionality can be disabled in settings.
|
||||
- Storage (Android 5 and 6 only): We need access to your device storage to create or import backups. The app can still be used when storage access is denied, but you will not be able to create or import backups.
|
||||
|
||||
Catima offers a feature to share cards with other users. All the relevant data is in the generated shareable URLs and never transmitted to our servers. When viewed through catima.app, the data in the URL is rendered using client-side Javascript to further ensure no data is ever transmitted to us.
|
||||
|
||||
@@ -17,10 +17,10 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "me.hackerchick.catima"
|
||||
minSdk = 21
|
||||
minSdk = 23
|
||||
targetSdk = 36
|
||||
versionCode = 161
|
||||
versionName = "2.41.4"
|
||||
versionCode = 168
|
||||
versionName = "2.44.0"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
multiDexEnabled = true
|
||||
@@ -38,7 +38,7 @@ android {
|
||||
release {
|
||||
isMinifyEnabled = true
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android.txt"),
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
}
|
||||
@@ -98,7 +98,7 @@ android {
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget = JvmTarget.JVM_17
|
||||
jvmTarget = JvmTarget.JVM_21
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
@@ -107,9 +107,8 @@ android {
|
||||
// Flag to enable support for the new language APIs
|
||||
isCoreLibraryDesugaringEnabled = true
|
||||
|
||||
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Catima Debug</string>
|
||||
</resources>
|
||||
<string name="app_name">Debug di Catima</string>
|
||||
</resources>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Depuração do Catima</string>
|
||||
</resources>
|
||||
@@ -12,8 +12,12 @@
|
||||
<uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />
|
||||
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.NFC" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="23" />
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.nfc"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera"
|
||||
android:required="false" />
|
||||
@@ -94,9 +98,12 @@
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="adjustResize"/>
|
||||
<activity
|
||||
android:name=".LoyaltyCardViewActivity"
|
||||
android:name=".cardview.LoyaltyCardViewActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".cardimageview.LoyaltyCardImageViewActivity"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".LoyaltyCardEditActivity"
|
||||
android:exported="true"
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.google.zxing.EncodeHintType;
|
||||
@@ -56,9 +57,9 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
|
||||
private final boolean showFallback;
|
||||
private final BarcodeImageWriterResultCallback callback;
|
||||
|
||||
BarcodeImageWriterTask(
|
||||
public BarcodeImageWriterTask(
|
||||
Context context, ImageView imageView, String cardIdString,
|
||||
CatimaBarcode barcodeFormat, @Nullable Charset barcodeEncoding, TextView textView,
|
||||
CatimaBarcode barcodeFormat, @NonNull Charset barcodeEncoding, TextView textView,
|
||||
boolean showFallback, BarcodeImageWriterResultCallback callback, boolean roundCornerPadding, boolean isFullscreen
|
||||
) {
|
||||
mContext = context;
|
||||
@@ -185,26 +186,6 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
|
||||
MultiFormatWriter writer = new MultiFormatWriter();
|
||||
|
||||
Map<EncodeHintType, Object> encodeHints = new ArrayMap<>();
|
||||
Charset chosenEncoding = encoding;
|
||||
// Use charset if defined or guess otherwise
|
||||
if (chosenEncoding != null) {
|
||||
Log.d(TAG, "Encoding explicitly set, " + chosenEncoding.name());
|
||||
} else {
|
||||
// FIXME: Guessing encoding using zxing causes too many false positives and breaks the Deutschlandticket, a common public transport ticket in Germany
|
||||
// See https://github.com/CatimaLoyalty/Android/issues/2932
|
||||
//
|
||||
// So, for now, we just force ISO in the "guessing" path until we figure out a better way to guess
|
||||
// The previous code is commented before, DO NOT UNCOMMENT, IT IS BROKEN
|
||||
//
|
||||
// chosenEncoding = Charset.forName(StringUtils.guessEncoding(cardId.getBytes(), new ArrayMap<>()));
|
||||
// Log.d(TAG, "Guessed encoding: " + chosenEncoding.name());
|
||||
|
||||
// FIXME: Figure out a good way to automatically determine the best format to use, to not break UTF-8 barcodes
|
||||
// However, make sure to NOT break the Deutschlandticket!
|
||||
chosenEncoding = StandardCharsets.ISO_8859_1;
|
||||
Log.w(TAG, "The encoding guessing code path is temporarily disabled due to it breaking Deutschlandticket. Forcing ISO-8859-1...");
|
||||
}
|
||||
|
||||
// We don't want to pass the ISO-8859-1 as an encoding hint as zxing may add this as ECI
|
||||
// inside the barcode.
|
||||
//
|
||||
@@ -218,9 +199,9 @@ public class BarcodeImageWriterTask implements CompatCallable<Bitmap> {
|
||||
// cards without encode hints have never caused any issues (unless they were UTF-8), yet
|
||||
// just days after passing ISO-8859-1 as CHARACTER_SET in the encode hints already 2
|
||||
// scan failures were reported (one for QR, one for Aztec).
|
||||
if (!Objects.equals(chosenEncoding.name(), StandardCharsets.ISO_8859_1.name())) {
|
||||
if (!Objects.equals(encoding.name(), StandardCharsets.ISO_8859_1.name())) {
|
||||
Log.d(TAG, "Chosen encoding is not ISO_8859_1, so passing as encoding hint");
|
||||
encodeHints.put(EncodeHintType.CHARACTER_SET, chosenEncoding);
|
||||
encodeHints.put(EncodeHintType.CHARACTER_SET, encoding);
|
||||
} else {
|
||||
Log.d(TAG, "Not passing encoding as encoding hint");
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.widget.ArrayAdapter;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import protect.card_locker.async.TaskHandler;
|
||||
@@ -74,6 +75,9 @@ public class BarcodeSelectorAdapter extends ArrayAdapter<CatimaBarcodeWithValue>
|
||||
return viewHolder.image.getTag() != null && (boolean) viewHolder.image.getTag();
|
||||
}
|
||||
|
||||
// FIXME: The examples in the selector activity are always rendering using ISO-8859-1, even if UTF-8 is the selected type
|
||||
// This needs some refactoring to properly retrieve the barcode encoding when rendering an active barcode
|
||||
// This is the case for example when editing an active card, pressing the "Edit barcode" button, then "More options" and then "Enter the barcode manually"
|
||||
private void createBarcodeOption(final ImageView image, final String formatType, final String cardId, final TextView text) {
|
||||
final CatimaBarcode format = CatimaBarcode.fromName(formatType);
|
||||
|
||||
@@ -92,13 +96,13 @@ public class BarcodeSelectorAdapter extends ArrayAdapter<CatimaBarcodeWithValue>
|
||||
|
||||
Log.d(TAG, "Generating barcode for type " + formatType);
|
||||
|
||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getContext(), image, cardId, format, null, text, true, null, true, false);
|
||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getContext(), image, cardId, format, StandardCharsets.ISO_8859_1, text, true, null, true, false);
|
||||
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Log.d(TAG, "Generating barcode for type " + formatType);
|
||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getContext(), image, cardId, format, null, text, true, null, true, false);
|
||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getContext(), image, cardId, format, StandardCharsets.ISO_8859_1, text, true, null, true, false);
|
||||
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ import java.util.List;
|
||||
import java.util.concurrent.Flow;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import protect.card_locker.cardview.LoyaltyCardViewActivity;
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.R)
|
||||
public class CardsOnPowerScreenService extends ControlsProviderService {
|
||||
|
||||
|
||||
@@ -38,15 +38,10 @@ public class CatimaAppCompatActivity extends AppCompatActivity {
|
||||
Window window = getWindow();
|
||||
if (window != null) {
|
||||
boolean darkMode = Utils.isDarkModeEnabled(this);
|
||||
if (Build.VERSION.SDK_INT >= 23) {
|
||||
View decorView = window.getDecorView();
|
||||
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
|
||||
wic.setAppearanceLightStatusBars(!darkMode);
|
||||
window.setStatusBarColor(Color.TRANSPARENT);
|
||||
} else {
|
||||
// icons are always white back then
|
||||
window.setStatusBarColor(darkMode ? Color.TRANSPARENT : Color.argb(127, 0, 0, 0));
|
||||
}
|
||||
View decorView = window.getDecorView();
|
||||
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
|
||||
wic.setAppearanceLightStatusBars(!darkMode);
|
||||
window.setStatusBarColor(Color.TRANSPARENT);
|
||||
}
|
||||
// XXX android 9 and below has a nasty rendering bug if the theme was patched earlier
|
||||
Utils.postPatchColors(this);
|
||||
@@ -66,7 +61,4 @@ public class CatimaAppCompatActivity extends AppCompatActivity {
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
public void onMockedRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.database.sqlite.SQLiteOpenHelper;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
@@ -26,7 +27,7 @@ import java.util.Set;
|
||||
public class DBHelper extends SQLiteOpenHelper {
|
||||
public static final String DATABASE_NAME = "Catima.db";
|
||||
public static final int ORIGINAL_DATABASE_VERSION = 1;
|
||||
public static final int DATABASE_VERSION = 19;
|
||||
public static final int DATABASE_VERSION = 20;
|
||||
|
||||
// NB: changing these values requires a migration
|
||||
public static final int DEFAULT_ZOOM_LEVEL = 100;
|
||||
@@ -75,6 +76,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
|
||||
public enum LoyaltyCardOrder {
|
||||
Alpha,
|
||||
LastAdded,
|
||||
LastUsed,
|
||||
ValidFrom,
|
||||
Expiry
|
||||
@@ -116,7 +118,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " TEXT not null," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " INTEGER DEFAULT '0'," +
|
||||
LoyaltyCardDbIds.LAST_USED + " INTEGER DEFAULT '0', " +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " INTEGER DEFAULT '" + DEFAULT_ZOOM_LEVEL + "', " +
|
||||
@@ -356,6 +358,144 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
if (oldVersion < 19 && newVersion >= 19) {
|
||||
db.execSQL("UPDATE " + LoyaltyCardDbIds.TABLE + " SET " + LoyaltyCardDbIds.BARCODE_ENCODING + " = 'ISO-8859-1' WHERE " + LoyaltyCardDbIds.BARCODE_ENCODING + " IS NULL");
|
||||
}
|
||||
|
||||
if (oldVersion < 20 && newVersion >= 20) {
|
||||
// SQLite doesn't support modify column
|
||||
// So we need to create a temp column to make barcode encoding non-nullable
|
||||
// https://www.sqlite.org/faq.html#q11
|
||||
db.beginTransaction();
|
||||
|
||||
// First migrate all cards to ISO-8859-1
|
||||
db.execSQL("UPDATE " + LoyaltyCardDbIds.TABLE + " SET " + LoyaltyCardDbIds.BARCODE_ENCODING + " = 'ISO-8859-1' WHERE " + LoyaltyCardDbIds.BARCODE_ENCODING + " IS NULL");
|
||||
|
||||
// create temp table
|
||||
db.execSQL("CREATE TEMPORARY TABLE tmp (" +
|
||||
LoyaltyCardDbIds.ID + " INTEGER primary key autoincrement," +
|
||||
LoyaltyCardDbIds.STORE + " TEXT not null," +
|
||||
LoyaltyCardDbIds.NOTE + " TEXT not null," +
|
||||
LoyaltyCardDbIds.VALID_FROM + " INTEGER," +
|
||||
LoyaltyCardDbIds.EXPIRY + " INTEGER," +
|
||||
LoyaltyCardDbIds.BALANCE + " TEXT not null DEFAULT '0'," +
|
||||
LoyaltyCardDbIds.BALANCE_TYPE + " TEXT," +
|
||||
LoyaltyCardDbIds.HEADER_COLOR + " INTEGER," +
|
||||
LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " TEXT not null," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " INTEGER DEFAULT '0'," +
|
||||
LoyaltyCardDbIds.LAST_USED + " INTEGER DEFAULT '0', " +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " INTEGER DEFAULT '" + DEFAULT_ZOOM_LEVEL + "', " +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL_WIDTH + " INTEGER DEFAULT '" + DEFAULT_ZOOM_LEVEL_WIDTH + "', " +
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS + " INTEGER DEFAULT '0' )");
|
||||
|
||||
// Insert all cards into temp table
|
||||
db.execSQL("INSERT INTO tmp (" +
|
||||
LoyaltyCardDbIds.ID + " ," +
|
||||
LoyaltyCardDbIds.STORE + " ," +
|
||||
LoyaltyCardDbIds.NOTE + " ," +
|
||||
LoyaltyCardDbIds.VALID_FROM + " , " +
|
||||
LoyaltyCardDbIds.EXPIRY + " ," +
|
||||
LoyaltyCardDbIds.BALANCE + " ," +
|
||||
LoyaltyCardDbIds.BALANCE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.HEADER_COLOR + " ," +
|
||||
LoyaltyCardDbIds.CARD_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " ," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " ," +
|
||||
LoyaltyCardDbIds.LAST_USED + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL_WIDTH + " ," +
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS + ")" +
|
||||
" SELECT " +
|
||||
LoyaltyCardDbIds.ID + " ," +
|
||||
LoyaltyCardDbIds.STORE + " ," +
|
||||
LoyaltyCardDbIds.NOTE + " ," +
|
||||
LoyaltyCardDbIds.VALID_FROM + " ," +
|
||||
LoyaltyCardDbIds.EXPIRY + " ," +
|
||||
LoyaltyCardDbIds.BALANCE + " ," +
|
||||
LoyaltyCardDbIds.BALANCE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.HEADER_COLOR + " ," +
|
||||
LoyaltyCardDbIds.CARD_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " ," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " ," +
|
||||
LoyaltyCardDbIds.LAST_USED + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL_WIDTH + " ," +
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS +
|
||||
" FROM " + LoyaltyCardDbIds.TABLE);
|
||||
|
||||
// Drop old table
|
||||
db.execSQL("DROP TABLE " + LoyaltyCardDbIds.TABLE);
|
||||
|
||||
// Create table again
|
||||
db.execSQL("CREATE TABLE " + LoyaltyCardDbIds.TABLE + "(" +
|
||||
LoyaltyCardDbIds.ID + " INTEGER primary key autoincrement," +
|
||||
LoyaltyCardDbIds.STORE + " TEXT not null," +
|
||||
LoyaltyCardDbIds.NOTE + " TEXT not null," +
|
||||
LoyaltyCardDbIds.VALID_FROM + " INTEGER," +
|
||||
LoyaltyCardDbIds.EXPIRY + " INTEGER," +
|
||||
LoyaltyCardDbIds.BALANCE + " TEXT not null DEFAULT '0'," +
|
||||
LoyaltyCardDbIds.BALANCE_TYPE + " TEXT," +
|
||||
LoyaltyCardDbIds.HEADER_COLOR + " INTEGER," +
|
||||
LoyaltyCardDbIds.CARD_ID + " TEXT not null," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " TEXT," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " TEXT not null," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " INTEGER DEFAULT '0'," +
|
||||
LoyaltyCardDbIds.LAST_USED + " INTEGER DEFAULT '0', " +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " INTEGER DEFAULT '" + DEFAULT_ZOOM_LEVEL + "', " +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL_WIDTH + " INTEGER DEFAULT '" + DEFAULT_ZOOM_LEVEL_WIDTH + "', " +
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS + " INTEGER DEFAULT '0' )");
|
||||
|
||||
// Insert all temp cards into newly created table
|
||||
db.execSQL("INSERT INTO " + LoyaltyCardDbIds.TABLE + "(" +
|
||||
LoyaltyCardDbIds.ID + " ," +
|
||||
LoyaltyCardDbIds.STORE + " ," +
|
||||
LoyaltyCardDbIds.NOTE + " ," +
|
||||
LoyaltyCardDbIds.VALID_FROM + " , " +
|
||||
LoyaltyCardDbIds.EXPIRY + " ," +
|
||||
LoyaltyCardDbIds.BALANCE + " ," +
|
||||
LoyaltyCardDbIds.BALANCE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.HEADER_COLOR + " ," +
|
||||
LoyaltyCardDbIds.CARD_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " ," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " ," +
|
||||
LoyaltyCardDbIds.LAST_USED + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL_WIDTH + " ," +
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS + ")" +
|
||||
" SELECT " +
|
||||
LoyaltyCardDbIds.ID + " ," +
|
||||
LoyaltyCardDbIds.STORE + " ," +
|
||||
LoyaltyCardDbIds.NOTE + " ," +
|
||||
LoyaltyCardDbIds.VALID_FROM + " ," +
|
||||
LoyaltyCardDbIds.EXPIRY + " ," +
|
||||
LoyaltyCardDbIds.BALANCE + " ," +
|
||||
LoyaltyCardDbIds.BALANCE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.HEADER_COLOR + " ," +
|
||||
LoyaltyCardDbIds.CARD_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ID + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_TYPE + " ," +
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING + " ," +
|
||||
LoyaltyCardDbIds.STAR_STATUS + " ," +
|
||||
LoyaltyCardDbIds.LAST_USED + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL + " ," +
|
||||
LoyaltyCardDbIds.ZOOM_LEVEL_WIDTH + " ," +
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS +
|
||||
" FROM tmp");
|
||||
|
||||
// Drop tmp table
|
||||
db.execSQL("DROP TABLE tmp");
|
||||
|
||||
db.setTransactionSuccessful();
|
||||
db.endTransaction();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Set<String> imageFiles(Context context, final SQLiteDatabase database) {
|
||||
@@ -417,7 +557,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
public static long insertLoyaltyCard(
|
||||
final SQLiteDatabase database, final String store, final String note, final Date validFrom,
|
||||
final Date expiry, final BigDecimal balance, final Currency balanceType, final String cardId,
|
||||
final String barcodeId, final CatimaBarcode barcodeType, final @Nullable Charset barcodeEncoding,
|
||||
final String barcodeId, final CatimaBarcode barcodeType, final @NonNull Charset barcodeEncoding,
|
||||
final Integer headerColor,
|
||||
final int starStatus, final Long lastUsed, final int archiveStatus) {
|
||||
database.beginTransaction();
|
||||
@@ -433,7 +573,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ENCODING, barcodeEncoding != null ? barcodeEncoding.name() : null);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ENCODING, barcodeEncoding.name());
|
||||
contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor);
|
||||
contentValues.put(LoyaltyCardDbIds.STAR_STATUS, starStatus);
|
||||
contentValues.put(LoyaltyCardDbIds.LAST_USED, lastUsed != null ? lastUsed : Utils.getUnixTime());
|
||||
@@ -453,7 +593,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
final SQLiteDatabase database, final int id, final String store, final String note,
|
||||
final Date validFrom, final Date expiry, final BigDecimal balance,
|
||||
final Currency balanceType, final String cardId, final String barcodeId,
|
||||
final CatimaBarcode barcodeType, final @Nullable Charset barcodeEncoding,
|
||||
final CatimaBarcode barcodeType, final @NonNull Charset barcodeEncoding,
|
||||
final Integer headerColor, final int starStatus,
|
||||
final Long lastUsed, final int archiveStatus) {
|
||||
database.beginTransaction();
|
||||
@@ -470,7 +610,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ENCODING, barcodeEncoding != null ? barcodeEncoding.name() : null);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ENCODING, barcodeEncoding.name());
|
||||
contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor);
|
||||
contentValues.put(LoyaltyCardDbIds.STAR_STATUS, starStatus);
|
||||
contentValues.put(LoyaltyCardDbIds.LAST_USED, lastUsed != null ? lastUsed : Utils.getUnixTime());
|
||||
@@ -490,7 +630,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
SQLiteDatabase database, final int id, final String store, final String note,
|
||||
final Date validFrom, final Date expiry, final BigDecimal balance,
|
||||
final Currency balanceType, final String cardId, final String barcodeId,
|
||||
final CatimaBarcode barcodeType, final @Nullable Charset barcodeEncoding,
|
||||
final CatimaBarcode barcodeType, final @NonNull Charset barcodeEncoding,
|
||||
final Integer headerColor, final int starStatus,
|
||||
final Long lastUsed, final int archiveStatus) {
|
||||
database.beginTransaction();
|
||||
@@ -506,7 +646,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
contentValues.put(LoyaltyCardDbIds.CARD_ID, cardId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ID, barcodeId);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ENCODING, barcodeEncoding != null ? barcodeEncoding.name() : null);
|
||||
contentValues.put(LoyaltyCardDbIds.BARCODE_ENCODING, barcodeEncoding.name());
|
||||
contentValues.put(LoyaltyCardDbIds.HEADER_COLOR, headerColor);
|
||||
contentValues.put(LoyaltyCardDbIds.STAR_STATUS, starStatus);
|
||||
contentValues.put(LoyaltyCardDbIds.LAST_USED, lastUsed != null ? lastUsed : Utils.getUnixTime());
|
||||
@@ -950,6 +1090,10 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
return LoyaltyCardDbIds.STORE;
|
||||
}
|
||||
|
||||
if (order == LoyaltyCardOrder.LastAdded) {
|
||||
return LoyaltyCardDbIds.ID;
|
||||
}
|
||||
|
||||
if (order == LoyaltyCardOrder.LastUsed) {
|
||||
return LoyaltyCardDbIds.LAST_USED;
|
||||
}
|
||||
@@ -966,8 +1110,8 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
}
|
||||
|
||||
private static String getDbDirection(LoyaltyCardOrder order, LoyaltyCardOrderDirection direction) {
|
||||
if (order == LoyaltyCardOrder.LastUsed) {
|
||||
// We want the default sorting to put the most recently used first
|
||||
if (order == LoyaltyCardOrder.LastAdded || order == LoyaltyCardOrder.LastUsed) {
|
||||
// We want the default sorting to put the most recently added/used first
|
||||
return direction == LoyaltyCardOrderDirection.Descending ? "ASC" : "DESC";
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ import protect.card_locker.importexport.ImportExportResultType
|
||||
import java.io.IOException
|
||||
import java.io.InputStream
|
||||
import java.io.OutputStream
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
|
||||
class ImportExportActivity : CatimaAppCompatActivity() {
|
||||
private lateinit var binding: ImportExportActivityBinding
|
||||
@@ -45,6 +48,11 @@ class ImportExportActivity : CatimaAppCompatActivity() {
|
||||
|
||||
companion object {
|
||||
private const val TAG = "Catima"
|
||||
|
||||
internal fun getExportFilename(): String {
|
||||
val sdf = SimpleDateFormat("yyyyMMdd", Locale.US)
|
||||
return "catima_${sdf.format(Date())}.zip"
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@@ -107,7 +115,7 @@ class ImportExportActivity : CatimaAppCompatActivity() {
|
||||
val intentCreateDocumentAction = Intent(Intent.ACTION_CREATE_DOCUMENT).apply {
|
||||
addCategory(Intent.CATEGORY_OPENABLE)
|
||||
type = "application/zip"
|
||||
putExtra(Intent.EXTRA_TITLE, "catima.zip")
|
||||
putExtra(Intent.EXTRA_TITLE, getExportFilename())
|
||||
}
|
||||
|
||||
val exportButton: Button = binding.exportButton
|
||||
|
||||
@@ -70,7 +70,7 @@ public class ImportURIHelper {
|
||||
try {
|
||||
// These values are allowed to be null
|
||||
CatimaBarcode barcodeType = null;
|
||||
Charset barcodeEncoding = null;
|
||||
Charset barcodeEncoding = StandardCharsets.ISO_8859_1;
|
||||
Date validFrom = null;
|
||||
Date expiry = null;
|
||||
BigDecimal balance = new BigDecimal("0");
|
||||
@@ -206,9 +206,7 @@ public class ImportURIHelper {
|
||||
if (loyaltyCard.barcodeType != null) {
|
||||
fragment = appendFragment(fragment, BARCODE_TYPE, loyaltyCard.barcodeType.name());
|
||||
}
|
||||
if (loyaltyCard.barcodeEncoding != null) {
|
||||
fragment = appendFragment(fragment, BARCODE_ENCODING, loyaltyCard.barcodeEncoding.name());
|
||||
}
|
||||
fragment = appendFragment(fragment, BARCODE_ENCODING, loyaltyCard.barcodeEncoding.name());
|
||||
if (loyaltyCard.headerColor != null) {
|
||||
fragment = appendFragment(fragment, HEADER_COLOR, loyaltyCard.headerColor.toString());
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import android.view.View
|
||||
import android.widget.RemoteViews
|
||||
import androidx.core.widget.RemoteViewsCompat
|
||||
import protect.card_locker.DBHelper.LoyaltyCardArchiveFilter
|
||||
import protect.card_locker.cardview.LoyaltyCardViewActivity
|
||||
|
||||
class ListWidget : AppWidgetProvider() {
|
||||
fun updateAll(context: Context) {
|
||||
@@ -69,7 +70,9 @@ class ListWidget : AppWidgetProvider() {
|
||||
if (hasCards) {
|
||||
// If we have cards, create the list
|
||||
views = RemoteViews(context.packageName, R.layout.list_widget)
|
||||
val templateIntent = Intent(context, LoyaltyCardViewActivity::class.java)
|
||||
val templateIntent = Intent(context, LoyaltyCardViewActivity::class.java).apply {
|
||||
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||
}
|
||||
val pendingIntent = PendingIntent.getActivity(
|
||||
context,
|
||||
0,
|
||||
@@ -100,8 +103,7 @@ class ListWidget : AppWidgetProvider() {
|
||||
val foreground = if (Utils.needsDarkForeground(headerColor)) Color.BLACK else Color.WHITE
|
||||
setInt(R.id.item_container_foreground, "setBackgroundColor", headerColor)
|
||||
val icon = loyaltyCard.getImageThumbnail(context)
|
||||
// setImageViewIcon is not supported on Android 5, so force Android 5 down the text path
|
||||
// FIXME: The icon flow causes a crash up to Android 12L, so SDK_INT is forced up from 23 to 33
|
||||
// FIXME: The icon flow causes a crash up to Android 12L, so force anything below 33 down this path
|
||||
if (icon != null && Build.VERSION.SDK_INT >= 32) {
|
||||
setInt(R.id.item_container_foreground, "setBackgroundColor", foreground)
|
||||
setImageViewIcon(R.id.item_image, Icon.createWithBitmap(icon))
|
||||
@@ -128,4 +130,4 @@ class ListWidget : AppWidgetProvider() {
|
||||
|
||||
return remoteViews
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Currency;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -31,7 +32,6 @@ public class LoyaltyCard {
|
||||
public String barcodeId;
|
||||
@Nullable
|
||||
public CatimaBarcode barcodeType;
|
||||
@Nullable
|
||||
public Charset barcodeEncoding;
|
||||
@Nullable
|
||||
public Integer headerColor;
|
||||
@@ -94,7 +94,7 @@ public class LoyaltyCard {
|
||||
setCardId("");
|
||||
setBarcodeId(null);
|
||||
setBarcodeType(null);
|
||||
setBarcodeEncoding(null);
|
||||
setBarcodeEncoding(StandardCharsets.ISO_8859_1);
|
||||
setHeaderColor(null);
|
||||
setStarStatus(0);
|
||||
setLastUsed(Utils.getUnixTime());
|
||||
@@ -129,7 +129,7 @@ public class LoyaltyCard {
|
||||
public LoyaltyCard(final int id, final String store, final String note, @Nullable final Date validFrom,
|
||||
@Nullable final Date expiry, final BigDecimal balance, @Nullable final Currency balanceType,
|
||||
final String cardId, @Nullable final String barcodeId, @Nullable final CatimaBarcode barcodeType,
|
||||
@Nullable final Charset barcodeEncoding, @Nullable final Integer headerColor, final int starStatus,
|
||||
@NonNull final Charset barcodeEncoding, @Nullable final Integer headerColor, final int starStatus,
|
||||
final long lastUsed, final int zoomLevel, final int zoomLevelWidth, final int archiveStatus,
|
||||
@Nullable Bitmap imageThumbnail, @Nullable String imageThumbnailPath,
|
||||
@Nullable Bitmap imageFront, @Nullable String imageFrontPath,
|
||||
@@ -250,7 +250,7 @@ public class LoyaltyCard {
|
||||
this.barcodeType = barcodeType;
|
||||
}
|
||||
|
||||
public void setBarcodeEncoding(@Nullable Charset barcodeEncoding) {
|
||||
public void setBarcodeEncoding(@NonNull Charset barcodeEncoding) {
|
||||
this.barcodeEncoding = barcodeEncoding;
|
||||
}
|
||||
|
||||
@@ -478,7 +478,7 @@ public class LoyaltyCard {
|
||||
bundle.putString(BUNDLE_LOYALTY_CARD_BARCODE_TYPE, barcodeType != null ? barcodeType.name() : null);
|
||||
}
|
||||
if (!exportIsLimited || exportLimit.contains(BUNDLE_LOYALTY_CARD_BARCODE_ENCODING)) {
|
||||
bundle.putString(BUNDLE_LOYALTY_CARD_BARCODE_ENCODING, barcodeEncoding != null ? barcodeEncoding.name() : null);
|
||||
bundle.putString(BUNDLE_LOYALTY_CARD_BARCODE_ENCODING, barcodeEncoding.name());
|
||||
}
|
||||
if (!exportIsLimited || exportLimit.contains(BUNDLE_LOYALTY_CARD_HEADER_COLOR)) {
|
||||
bundle.putInt(BUNDLE_LOYALTY_CARD_HEADER_COLOR, headerColor != null ? headerColor : -1);
|
||||
@@ -558,8 +558,7 @@ public class LoyaltyCard {
|
||||
int barcodeTypeColumn = cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_TYPE);
|
||||
CatimaBarcode barcodeType = !cursor.isNull(barcodeTypeColumn) ? CatimaBarcode.fromName(cursor.getString(barcodeTypeColumn)) : null;
|
||||
// barcodeEncoding
|
||||
int barcodeEncodingColumn = cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_ENCODING);
|
||||
Charset barcodeEncoding = !cursor.isNull(barcodeEncodingColumn) ? Charset.forName(cursor.getString(barcodeEncodingColumn)) : null;
|
||||
Charset barcodeEncoding = Charset.forName(cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.BARCODE_ENCODING)));
|
||||
// headerColor
|
||||
int headerColorColumn = cursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.HEADER_COLOR);
|
||||
Integer headerColor = !cursor.isNull(headerColorColumn) ? cursor.getInt(headerColorColumn) : null;
|
||||
@@ -615,7 +614,7 @@ public class LoyaltyCard {
|
||||
Utils.equals(a.barcodeId, b.barcodeId) && // nullable String
|
||||
Utils.equals(a.barcodeType == null ? null : a.barcodeType.format(),
|
||||
b.barcodeType == null ? null : b.barcodeType.format()) && // nullable CatimaBarcode with no overridden .equals(), so we need to check .format()
|
||||
Utils.equals(a.barcodeEncoding, b.barcodeEncoding) && // nullable String
|
||||
a.barcodeEncoding.name().equals(b.barcodeEncoding.name()) && // non-nullable String
|
||||
Utils.equals(a.headerColor, b.headerColor) && // nullable Integer
|
||||
a.starStatus == b.starStatus && // non-nullable int
|
||||
a.archiveStatus == b.archiveStatus && // non-nullable int
|
||||
@@ -655,7 +654,7 @@ public class LoyaltyCard {
|
||||
this.cardId,
|
||||
this.barcodeId,
|
||||
this.barcodeType != null ? this.barcodeType.format() : null,
|
||||
this.barcodeEncoding != null ? this.barcodeEncoding.name() : null,
|
||||
this.barcodeEncoding.name(),
|
||||
this.headerColor,
|
||||
this.starStatus,
|
||||
this.lastUsed,
|
||||
|
||||
@@ -105,6 +105,12 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
inputHolder.setNoteField(null);
|
||||
}
|
||||
|
||||
if (mLoyaltyCardListDisplayOptions.showingCardId() && !loyaltyCard.cardId.isEmpty()) {
|
||||
inputHolder.setExtraField(inputHolder.mCardIdField, loyaltyCard.cardId, null, showDivider);
|
||||
} else {
|
||||
inputHolder.setExtraField(inputHolder.mCardIdField, null, null, false);
|
||||
}
|
||||
|
||||
if (mLoyaltyCardListDisplayOptions.showingBalance() && !loyaltyCard.balance.equals(new BigDecimal("0"))) {
|
||||
inputHolder.setExtraField(inputHolder.mBalanceField, Utils.formatBalance(mContext, loyaltyCard.balance, loyaltyCard.balanceType), null, showDivider);
|
||||
} else {
|
||||
@@ -211,7 +217,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
|
||||
public class LoyaltyCardListItemViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public TextView mCardText, mStoreField, mNoteField, mBalanceField, mValidFromField, mExpiryField;
|
||||
public TextView mCardText, mStoreField, mNoteField, mCardIdField, mBalanceField, mValidFromField, mExpiryField;
|
||||
public ImageView mCardIcon, mTickIcon;
|
||||
public MaterialCardView mRow;
|
||||
public ConstraintLayout mStar, mArchived;
|
||||
@@ -224,6 +230,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
mDivider = loyaltyCardLayoutBinding.infoDivider;
|
||||
mStoreField = loyaltyCardLayoutBinding.store;
|
||||
mNoteField = loyaltyCardLayoutBinding.note;
|
||||
mCardIdField = loyaltyCardLayoutBinding.cardId;
|
||||
mBalanceField = loyaltyCardLayoutBinding.balance;
|
||||
mValidFromField = loyaltyCardLayoutBinding.validFrom;
|
||||
mExpiryField = loyaltyCardLayoutBinding.expiry;
|
||||
|
||||
@@ -232,7 +232,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
|
||||
viewModel.setHasChanged(true);
|
||||
}
|
||||
|
||||
protected void setLoyaltyCardBarcodeEncoding(@Nullable Charset barcodeEncoding) {
|
||||
protected void setLoyaltyCardBarcodeEncoding(@NonNull Charset barcodeEncoding) {
|
||||
viewModel.getLoyaltyCard().setBarcodeEncoding(barcodeEncoding);
|
||||
|
||||
generateBarcode();
|
||||
@@ -594,18 +594,13 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
if (!s.toString().isEmpty()) {
|
||||
Log.d(TAG, "Setting barcode encoding to " + s.toString());
|
||||
if (s.toString().equals(getString(R.string.automatic))) {
|
||||
setLoyaltyCardBarcodeEncoding(null);
|
||||
} else {
|
||||
setLoyaltyCardBarcodeEncoding(Charset.forName(s.toString()));
|
||||
}
|
||||
setLoyaltyCardBarcodeEncoding(Charset.forName(s.toString()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
ArrayList<String> barcodeEncodingList = new ArrayList<>();
|
||||
barcodeEncodingList.add(getString(R.string.automatic));
|
||||
barcodeEncodingList.add(StandardCharsets.ISO_8859_1.name());
|
||||
barcodeEncodingList.add(StandardCharsets.UTF_8.name());
|
||||
ArrayAdapter<String> barcodeEncodingAdapter = new ArrayAdapter<>(LoyaltyCardEditActivity.this, android.R.layout.select_dialog_item, barcodeEncodingList);
|
||||
@@ -724,6 +719,14 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (mDatabase != null && mDatabase.isOpen()) {
|
||||
mDatabase.close();
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
private void selectTab(int index) {
|
||||
binding.tabs.selectTab(binding.tabs.getTabAt(index));
|
||||
viewModel.setTabIndex(index);
|
||||
@@ -810,7 +813,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
|
||||
CatimaBarcode barcodeType = viewModel.getLoyaltyCard().barcodeType;
|
||||
barcodeTypeField.setText(barcodeType != null ? barcodeType.prettyName() : getString(R.string.noBarcode));
|
||||
Charset barcodeEncoding = viewModel.getLoyaltyCard().barcodeEncoding;
|
||||
barcodeEncodingField.setText(barcodeEncoding != null ? barcodeEncoding.name() : getString(R.string.automatic));
|
||||
barcodeEncodingField.setText(barcodeEncoding.name());
|
||||
|
||||
// We set the balance here (with onResuming/onRestoring == true) to prevent formatBalanceCurrencyField() from setting it (via onTextChanged),
|
||||
// which can cause issues when switching locale because it parses the balance and e.g. the decimal separator may have changed.
|
||||
@@ -1532,7 +1535,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
DBHelper.setLoyaltyCardGroups(mDatabase, viewModel.getLoyaltyCardId(), selectedGroups);
|
||||
|
||||
ShortcutHelper.updateShortcuts(this, DBHelper.getLoyaltyCard(this, mDatabase, viewModel.getLoyaltyCardId()));
|
||||
ShortcutHelper.updateShortcuts(this);
|
||||
|
||||
if (viewModel.getDuplicateFromLoyaltyCardId()) {
|
||||
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
|
||||
|
||||
@@ -35,6 +35,7 @@ public class LoyaltyCardListDisplayOptionsManager {
|
||||
|
||||
private boolean mShowNameBelowThumbnail;
|
||||
private boolean mShowNote;
|
||||
private boolean mShowCardId;
|
||||
private boolean mShowBalance;
|
||||
private boolean mShowValidity;
|
||||
private boolean mShowArchivedCards;
|
||||
@@ -50,6 +51,7 @@ public class LoyaltyCardListDisplayOptionsManager {
|
||||
Context.MODE_PRIVATE);
|
||||
mShowNameBelowThumbnail = mCardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_name_below_thumbnail), false);
|
||||
mShowNote = mCardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_note), true);
|
||||
mShowCardId = mCardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_card_id), false);
|
||||
mShowBalance = mCardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_balance), true);
|
||||
mShowValidity = mCardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_validity), true);
|
||||
mShowArchivedCards = mCardDetailsPref.getBoolean(mContext.getString(R.string.sharedpreference_card_details_show_archived_cards), true);
|
||||
@@ -83,6 +85,17 @@ public class LoyaltyCardListDisplayOptionsManager {
|
||||
return mShowNote;
|
||||
}
|
||||
|
||||
public void showCardId(boolean show) {
|
||||
mShowCardId = show;
|
||||
mRefreshCardsCallback.run();
|
||||
|
||||
saveDetailState(R.string.sharedpreference_card_details_show_card_id, show);
|
||||
}
|
||||
|
||||
public boolean showingCardId() {
|
||||
return mShowCardId;
|
||||
}
|
||||
|
||||
public void showBalance(boolean show) {
|
||||
mShowBalance = show;
|
||||
mRefreshCardsCallback.run();
|
||||
@@ -137,6 +150,11 @@ public class LoyaltyCardListDisplayOptionsManager {
|
||||
showingNote(),
|
||||
this::showNote
|
||||
));
|
||||
displayOptions.add(new LoyaltyCardDisplayOption(
|
||||
mContext.getString(R.string.show_card_id),
|
||||
showingCardId(),
|
||||
this::showCardId
|
||||
));
|
||||
displayOptions.add(new LoyaltyCardDisplayOption(
|
||||
mContext.getString(R.string.show_balance),
|
||||
showingBalance(),
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
|
||||
import protect.card_locker.DBHelper.LoyaltyCardOrder
|
||||
import protect.card_locker.DBHelper.LoyaltyCardOrderDirection
|
||||
import protect.card_locker.LoyaltyCardCursorAdapter.CardAdapterListener
|
||||
import protect.card_locker.cardview.LoyaltyCardViewActivity
|
||||
import protect.card_locker.databinding.ContentMainBinding
|
||||
import protect.card_locker.databinding.MainActivityBinding
|
||||
import protect.card_locker.databinding.SortingOptionBinding
|
||||
@@ -156,8 +157,6 @@ class MainActivity : CatimaAppCompatActivity(), CardAdapterListener {
|
||||
Log.d(TAG, "Deleting card: " + loyaltyCard.id)
|
||||
|
||||
DBHelper.deleteLoyaltyCard(mDatabase, this@MainActivity, loyaltyCard.id)
|
||||
|
||||
ShortcutHelper.removeShortcut(this@MainActivity, loyaltyCard.id)
|
||||
}
|
||||
val tab = groupsTabLayout.getTabAt(selectedTab)
|
||||
mGroup = tab?.tag
|
||||
@@ -177,7 +176,6 @@ class MainActivity : CatimaAppCompatActivity(), CardAdapterListener {
|
||||
for (loyaltyCard in mAdapter.getSelectedItems()) {
|
||||
Log.d(TAG, "Archiving card: " + loyaltyCard.id)
|
||||
DBHelper.updateLoyaltyCardArchiveStatus(mDatabase, loyaltyCard.id, 1)
|
||||
ShortcutHelper.removeShortcut(this@MainActivity, loyaltyCard.id)
|
||||
updateLoyaltyCardList(false)
|
||||
inputMode.finish()
|
||||
invalidateOptionsMenu()
|
||||
@@ -466,6 +464,7 @@ class MainActivity : CatimaAppCompatActivity(), CardAdapterListener {
|
||||
}
|
||||
|
||||
ListWidget().updateAll(mAdapter.mContext)
|
||||
ShortcutHelper.updateShortcuts(mAdapter.mContext)
|
||||
}
|
||||
|
||||
private fun processParseResultList(
|
||||
|
||||
@@ -34,11 +34,6 @@ public class PermissionUtils {
|
||||
* @return
|
||||
*/
|
||||
public static boolean needsCameraPermission(Activity activity) {
|
||||
// Android only introduced the runtime permission system in Marshmallow (Android 6.0)
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ContextCompat.checkSelfPermission(activity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED;
|
||||
}
|
||||
|
||||
@@ -49,21 +44,14 @@ public class PermissionUtils {
|
||||
* @param activity
|
||||
* @param requestCode
|
||||
*/
|
||||
public static void requestStorageReadPermission(CatimaAppCompatActivity activity, int requestCode) {
|
||||
public static void requestStorageReadPermission(Activity activity, int requestCode) {
|
||||
String[] permissions = new String[]{ android.Manifest.permission.READ_EXTERNAL_STORAGE };
|
||||
int[] mockedResults = new int[]{ PackageManager.PERMISSION_GRANTED };
|
||||
|
||||
if (needsStorageReadPermission(activity)) {
|
||||
ActivityCompat.requestPermissions(activity, permissions, requestCode);
|
||||
} else {
|
||||
// FIXME: This points to onMockedRequestPermissionResult instead of to
|
||||
// onRequestPermissionResult because onRequestPermissionResult was only introduced in
|
||||
// Android 6.0 (SDK 23) and we and to support Android 5.0 (SDK 21) too.
|
||||
//
|
||||
// When minSdk becomes 23, this should point to onRequestPermissionResult directly and
|
||||
// the activity input variable should be changed from CatimaAppCompatActivity to
|
||||
// Activity.
|
||||
activity.onMockedRequestPermissionsResult(requestCode, permissions, mockedResults);
|
||||
activity.onRequestPermissionsResult(requestCode, permissions, mockedResults);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,21 +62,14 @@ public class PermissionUtils {
|
||||
* @param activity
|
||||
* @param requestCode
|
||||
*/
|
||||
public static void requestCameraPermission(CatimaAppCompatActivity activity, int requestCode) {
|
||||
public static void requestCameraPermission(Activity activity, int requestCode) {
|
||||
String[] permissions = new String[]{ Manifest.permission.CAMERA };
|
||||
int[] mockedResults = new int[]{ PackageManager.PERMISSION_GRANTED };
|
||||
|
||||
if (needsCameraPermission(activity)) {
|
||||
ActivityCompat.requestPermissions(activity, permissions, requestCode);
|
||||
} else {
|
||||
// FIXME: This points to onMockedRequestPermissionResult instead of to
|
||||
// onRequestPermissionResult because onRequestPermissionResult was only introduced in
|
||||
// Android 6.0 (SDK 23) and we and to support Android 5.0 (SDK 21) too.
|
||||
//
|
||||
// When minSdk becomes 23, this should point to onRequestPermissionResult directly and
|
||||
// the activity input variable should be changed from CatimaAppCompatActivity to
|
||||
// Activity.
|
||||
activity.onMockedRequestPermissionsResult(requestCode, permissions, mockedResults);
|
||||
activity.onRequestPermissionsResult(requestCode, permissions, mockedResults);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ import java.io.FileNotFoundException
|
||||
import java.io.IOException
|
||||
import java.math.BigDecimal
|
||||
import java.nio.charset.Charset
|
||||
import java.nio.charset.StandardCharsets
|
||||
import java.text.DateFormat
|
||||
import java.text.ParseException
|
||||
import java.time.ZonedDateTime
|
||||
@@ -41,7 +42,7 @@ class PkpassParser(context: Context, uri: Uri?) {
|
||||
private var cardId: String = context.getString(R.string.noBarcode)
|
||||
private var barcodeId: String? = null
|
||||
private var barcodeType: CatimaBarcode? = null
|
||||
private var barcodeEncoding: Charset? = null
|
||||
private var barcodeEncoding: Charset = StandardCharsets.ISO_8859_1
|
||||
private var headerColor: Int? = null
|
||||
private val starStatus = 0
|
||||
private val lastUsed: Long = 0
|
||||
@@ -348,11 +349,15 @@ class PkpassParser(context: Context, uri: Uri?) {
|
||||
try {
|
||||
cardId = barcodeInfo.getString("altText")
|
||||
barcodeId = barcodeInfo.getString("message")
|
||||
barcodeEncoding = Charset.forName(barcodeInfo.getString("messageEncoding"))
|
||||
} catch (ignored: JSONException) {
|
||||
cardId = barcodeInfo.getString("message")
|
||||
barcodeId = null
|
||||
}
|
||||
|
||||
try {
|
||||
barcodeEncoding = Charset.forName(barcodeInfo.getString("messageEncoding"))
|
||||
} catch (ignored: Exception) {
|
||||
// If encoding is not defined, null or otherwise invalid, stick to the default
|
||||
}
|
||||
|
||||
// Don't set barcodeId if it's the same as cardId
|
||||
|
||||
@@ -543,14 +543,6 @@ class ScanActivity : CatimaAppCompatActivity() {
|
||||
) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||
|
||||
onMockedRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||
}
|
||||
|
||||
override fun onMockedRequestPermissionsResult(
|
||||
requestCode: Int,
|
||||
permissions: Array<String>,
|
||||
grantResults: IntArray
|
||||
) {
|
||||
val granted =
|
||||
grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED
|
||||
|
||||
|
||||
@@ -2,31 +2,35 @@ package protect.card_locker;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.content.pm.ShortcutInfoCompat;
|
||||
import androidx.core.content.pm.ShortcutManagerCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
class ShortcutHelper {
|
||||
// Android documentation says that no more than 5 shortcuts
|
||||
// are supported. However, that may be too many, as not all
|
||||
// launcher will show all 5. Instead, the number is limited
|
||||
// to 3 here, so that the most recent shortcut has a good
|
||||
// chance of being shown.
|
||||
private static final int MAX_SHORTCUTS = 3;
|
||||
import protect.card_locker.cardview.LoyaltyCardViewActivity;
|
||||
|
||||
public class ShortcutHelper {
|
||||
/**
|
||||
* This variable controls the maximum number of shortcuts available.
|
||||
* It is made public only to make testing easier and should not be
|
||||
* manually modified. We use -1 here as a default value to check if
|
||||
* the value has been set either manually by the test scenario or
|
||||
* automatically in the `updateShortcuts` function.
|
||||
* Its actual value will be set based on the maximum amount of shortcuts
|
||||
* declared by the launcher via `getMaxShortcutCountPerActivity`.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
public static int maxShortcuts = -1;
|
||||
|
||||
// https://developer.android.com/reference/android/graphics/drawable/AdaptiveIconDrawable.html
|
||||
private static final int ADAPTIVE_BITMAP_SCALE = 1;
|
||||
@@ -35,86 +39,45 @@ class ShortcutHelper {
|
||||
private static final int ADAPTIVE_BITMAP_IMAGE_SIZE = ADAPTIVE_BITMAP_VISIBLE_SIZE + 5 * ADAPTIVE_BITMAP_SCALE;
|
||||
|
||||
/**
|
||||
* Add a card to the app shortcuts, and maintain a list of the most
|
||||
* recently used cards. If there is already a shortcut for the card,
|
||||
* the card is marked as the most recently used card. If adding this
|
||||
* card exceeds the max number of shortcuts, then the least recently
|
||||
* used card shortcut is discarded.
|
||||
* Update the dynamic shortcut list with the most recently viewed cards
|
||||
* based on the lastUsed field. Archived cards are excluded from the shortcuts
|
||||
* list. The list keeps at most maxShortcuts number of elements.
|
||||
*/
|
||||
static void updateShortcuts(Context context, LoyaltyCard card) {
|
||||
if (card.archiveStatus == 1) {
|
||||
// Don't add archived card to menu
|
||||
return;
|
||||
public static void updateShortcuts(Context context) {
|
||||
if (maxShortcuts == -1) {
|
||||
maxShortcuts = ShortcutManagerCompat.getMaxShortcutCountPerActivity(context);
|
||||
}
|
||||
|
||||
LinkedList<ShortcutInfoCompat> list = new LinkedList<>(ShortcutManagerCompat.getDynamicShortcuts(context));
|
||||
|
||||
SQLiteDatabase database = new DBHelper(context).getReadableDatabase();
|
||||
|
||||
String shortcutId = Integer.toString(card.id);
|
||||
|
||||
// Sort the shortcuts by rank, so working with the relative order will be easier.
|
||||
// This sorts so that the lowest rank is first.
|
||||
Collections.sort(list, Comparator.comparingInt(ShortcutInfoCompat::getRank));
|
||||
|
||||
Integer foundIndex = null;
|
||||
|
||||
for (int index = 0; index < list.size(); index++) {
|
||||
if (list.get(index).getId().equals(shortcutId)) {
|
||||
// Found the item already
|
||||
foundIndex = index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (foundIndex != null) {
|
||||
// If the item is already found, then the list needs to be
|
||||
// reordered, so that the selected item now has the lowest
|
||||
// rank, thus letting it survive longer.
|
||||
ShortcutInfoCompat found = list.remove(foundIndex.intValue());
|
||||
list.addFirst(found);
|
||||
} else {
|
||||
// The item is new to the list. We add it and trim the list later.
|
||||
ShortcutInfoCompat shortcut = createShortcutBuilder(context, card).build();
|
||||
list.addFirst(shortcut);
|
||||
}
|
||||
|
||||
LinkedList<ShortcutInfoCompat> finalList = new LinkedList<>();
|
||||
int rank = 0;
|
||||
DBHelper dbHelper = new DBHelper(context);
|
||||
SQLiteDatabase database = dbHelper.getReadableDatabase();
|
||||
try (Cursor loyaltyCardCursor = DBHelper.getLoyaltyCardCursor(
|
||||
database,
|
||||
"",
|
||||
null,
|
||||
DBHelper.LoyaltyCardOrder.LastUsed,
|
||||
DBHelper.LoyaltyCardOrderDirection.Ascending,
|
||||
DBHelper.LoyaltyCardArchiveFilter.Unarchived
|
||||
)) {
|
||||
int rank = 0;
|
||||
|
||||
// The ranks are now updated; the order in the list is the rank.
|
||||
for (int index = 0; index < list.size(); index++) {
|
||||
ShortcutInfoCompat prevShortcut = list.get(index);
|
||||
while (rank < maxShortcuts && loyaltyCardCursor.moveToNext()) {
|
||||
int id = loyaltyCardCursor.getInt(loyaltyCardCursor.getColumnIndexOrThrow(DBHelper.LoyaltyCardDbIds.ID));
|
||||
LoyaltyCard loyaltyCard = DBHelper.getLoyaltyCard(context, database, id);
|
||||
|
||||
LoyaltyCard loyaltyCard = DBHelper.getLoyaltyCard(context, database, Integer.parseInt(prevShortcut.getId()));
|
||||
|
||||
// skip outdated cards that no longer exist
|
||||
if (loyaltyCard != null) {
|
||||
ShortcutInfoCompat updatedShortcut = createShortcutBuilder(context, loyaltyCard)
|
||||
.setRank(rank)
|
||||
.build();
|
||||
|
||||
finalList.addLast(updatedShortcut);
|
||||
rank++;
|
||||
|
||||
// trim the list
|
||||
if (rank >= MAX_SHORTCUTS) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
dbHelper.close();
|
||||
}
|
||||
|
||||
ShortcutManagerCompat.setDynamicShortcuts(context, finalList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the given card id from the app shortcuts, if such a
|
||||
* shortcut exists.
|
||||
*/
|
||||
static void removeShortcut(Context context, int cardId) {
|
||||
ShortcutManagerCompat.removeDynamicShortcuts(context, Collections.singletonList(Integer.toString(cardId)));
|
||||
}
|
||||
|
||||
static @NotNull
|
||||
Bitmap createAdaptiveBitmap(@NotNull Bitmap in, int paddingColor) {
|
||||
Bitmap ret = Bitmap.createBitmap(ADAPTIVE_BITMAP_SIZE, ADAPTIVE_BITMAP_SIZE, Bitmap.Config.ARGB_8888);
|
||||
@@ -130,7 +93,7 @@ class ShortcutHelper {
|
||||
intent.setAction(Intent.ACTION_MAIN);
|
||||
// Prevent instances of the view activity from piling up; if one exists let this
|
||||
// one replace it.
|
||||
intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||
intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putInt(LoyaltyCardViewActivity.BUNDLE_ID, loyaltyCard.id);
|
||||
intent.putExtras(bundle);
|
||||
@@ -150,4 +113,4 @@ class ShortcutHelper {
|
||||
.setIntent(intent)
|
||||
.setIcon(icon);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,16 +40,9 @@ class UCropWrapper : UCropActivity() {
|
||||
return
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 23) {
|
||||
val decorView = window.decorView
|
||||
val wic = WindowInsetsControllerCompat(window, decorView)
|
||||
wic.isAppearanceLightStatusBars = !darkMode
|
||||
} else if (!darkMode) {
|
||||
window.statusBarColor = ColorUtils.compositeColors(
|
||||
Color.argb(127, 0, 0, 0),
|
||||
window.statusBarColor
|
||||
)
|
||||
}
|
||||
val decorView = window.decorView
|
||||
val wic = WindowInsetsControllerCompat(window, decorView)
|
||||
wic.isAppearanceLightStatusBars = !darkMode
|
||||
}
|
||||
|
||||
private fun checkViews(darkMode: Boolean) {
|
||||
|
||||
@@ -0,0 +1,240 @@
|
||||
package protect.card_locker.cardimageview
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION
|
||||
import android.graphics.Bitmap
|
||||
import android.os.Bundle
|
||||
import android.view.WindowManager
|
||||
import android.widget.Toast
|
||||
import androidx.activity.OnBackPressedDispatcher
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.gestures.detectTapGestures
|
||||
import androidx.compose.foundation.gestures.rememberTransformableState
|
||||
import androidx.compose.foundation.gestures.transformable
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.MoreVert
|
||||
import androidx.compose.material3.DropdownMenu
|
||||
import androidx.compose.material3.DropdownMenuItem
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableFloatStateOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
import androidx.compose.ui.graphics.graphicsLayer
|
||||
import androidx.compose.ui.input.pointer.pointerInput
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.layout.onSizeChanged
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.IntSize
|
||||
import androidx.core.content.FileProvider
|
||||
import protect.card_locker.CatimaComponentActivity
|
||||
import protect.card_locker.ImageLocationType
|
||||
import protect.card_locker.R
|
||||
import protect.card_locker.Utils
|
||||
import protect.card_locker.compose.CatimaTopAppBar
|
||||
import protect.card_locker.compose.theme.CatimaTheme
|
||||
import protect.card_locker.preferences.Settings
|
||||
|
||||
class LoyaltyCardImageViewActivity : CatimaComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
fixedEdgeToEdge()
|
||||
applyWindowPreferences()
|
||||
|
||||
val imageLocationType = intent.imageLocationType()
|
||||
val loyaltyCardId = intent.getIntExtra(BUNDLE_ID, 0)
|
||||
val bitmap = imageLocationType?.let {
|
||||
Utils.retrieveCardImage(this, loyaltyCardId, it)
|
||||
}
|
||||
|
||||
if (loyaltyCardId == 0 || imageLocationType == null || bitmap == null) {
|
||||
Toast.makeText(this, R.string.failedToRetrieveImageFile, Toast.LENGTH_SHORT).show()
|
||||
finish()
|
||||
return
|
||||
}
|
||||
|
||||
title = getString(imageLocationType.descriptionRes())
|
||||
|
||||
setContent {
|
||||
CatimaTheme {
|
||||
LoyaltyCardImageViewScreen(
|
||||
bitmap = bitmap,
|
||||
imageLocationType = imageLocationType,
|
||||
cardId = loyaltyCardId,
|
||||
contentDescriptionRes = imageLocationType.descriptionRes(),
|
||||
onBackPressedDispatcher = onBackPressedDispatcher
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun applyWindowPreferences() {
|
||||
val settings = Settings(this)
|
||||
val currentWindow = window ?: return
|
||||
|
||||
val attributes = currentWindow.attributes
|
||||
if (settings.useMaxBrightnessDisplayingBarcode()) {
|
||||
attributes.screenBrightness = 1F
|
||||
}
|
||||
|
||||
if (settings.keepScreenOn) {
|
||||
currentWindow.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
|
||||
}
|
||||
|
||||
currentWindow.attributes = attributes
|
||||
}
|
||||
|
||||
private fun Intent.imageLocationType(): ImageLocationType? {
|
||||
val name = getStringExtra(BUNDLE_IMAGE_LOCATION_TYPE) ?: return null
|
||||
return runCatching { ImageLocationType.valueOf(name) }.getOrNull()
|
||||
}
|
||||
|
||||
private fun ImageLocationType.descriptionRes(): Int {
|
||||
return when (this) {
|
||||
ImageLocationType.icon -> R.string.thumbnailDescription
|
||||
ImageLocationType.front -> R.string.frontImageDescription
|
||||
ImageLocationType.back -> R.string.backImageDescription
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val BUNDLE_ID = "id"
|
||||
const val BUNDLE_IMAGE_LOCATION_TYPE = "imageLocationType"
|
||||
|
||||
@JvmStatic
|
||||
fun createIntent(
|
||||
context: Context,
|
||||
loyaltyCardId: Int,
|
||||
imageLocationType: ImageLocationType
|
||||
): Intent {
|
||||
return Intent(context, LoyaltyCardImageViewActivity::class.java)
|
||||
.putExtra(BUNDLE_ID, loyaltyCardId)
|
||||
.putExtra(BUNDLE_IMAGE_LOCATION_TYPE, imageLocationType.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun LoyaltyCardImageViewScreen(
|
||||
bitmap: Bitmap,
|
||||
imageLocationType: ImageLocationType,
|
||||
cardId: Int,
|
||||
@StringRes contentDescriptionRes: Int,
|
||||
onBackPressedDispatcher: OnBackPressedDispatcher,
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
var scale by remember { mutableFloatStateOf(1F) }
|
||||
var offset by remember { mutableStateOf(Offset.Zero) }
|
||||
var size by remember { mutableStateOf(IntSize.Zero) }
|
||||
val zoomState = rememberTransformableState { _, zoomChange, panChange, _ ->
|
||||
val nextScale = (scale * zoomChange).coerceIn(1F, MAX_IMAGE_SCALE)
|
||||
scale = nextScale
|
||||
offset = if (nextScale == 1F) {
|
||||
Offset.Zero
|
||||
} else {
|
||||
(offset + panChange).clampTo(size, nextScale)
|
||||
}
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
CatimaTopAppBar(
|
||||
title = stringResource(contentDescriptionRes),
|
||||
onBackPressedDispatcher = onBackPressedDispatcher,
|
||||
actions = {
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
IconButton(onClick = { expanded = !expanded }) {
|
||||
Icon(
|
||||
imageVector = Icons.Filled.MoreVert,
|
||||
contentDescription = stringResource(R.string.action_more_options)
|
||||
)
|
||||
}
|
||||
DropdownMenu(
|
||||
expanded = expanded,
|
||||
onDismissRequest = { expanded = false }
|
||||
) {
|
||||
DropdownMenuItem(onClick = { openInImageGallery(context, cardId, imageLocationType) },
|
||||
text = { Text(stringResource(R.string.open_in_gallery)) },
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
) { innerPadding ->
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.padding(innerPadding)
|
||||
.background(MaterialTheme.colorScheme.background)
|
||||
.testTag("card_image_zoom")
|
||||
) {
|
||||
Image(
|
||||
bitmap = bitmap.asImageBitmap(),
|
||||
contentDescription = stringResource(contentDescriptionRes),
|
||||
contentScale = ContentScale.Fit,
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.onSizeChanged { size = it }
|
||||
.pointerInput(bitmap) {
|
||||
detectTapGestures(
|
||||
onDoubleTap = {
|
||||
scale = 1F
|
||||
offset = Offset.Zero
|
||||
}
|
||||
)
|
||||
}
|
||||
.transformable(zoomState)
|
||||
.graphicsLayer {
|
||||
scaleX = scale
|
||||
scaleY = scale
|
||||
translationX = offset.x
|
||||
translationY = offset.y
|
||||
}
|
||||
.testTag("card_image")
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun Offset.clampTo(size: IntSize, scale: Float): Offset {
|
||||
if (size.width == 0 || size.height == 0) {
|
||||
return this
|
||||
}
|
||||
|
||||
val maxX = size.width * (scale - 1F) / 2F
|
||||
val maxY = size.height * (scale - 1F) / 2F
|
||||
return Offset(
|
||||
x = x.coerceIn(-maxX, maxX),
|
||||
y = y.coerceIn(-maxY, maxY)
|
||||
)
|
||||
}
|
||||
|
||||
private fun openInImageGallery(context: Context, cardId: Int, imageLocationType: ImageLocationType){
|
||||
val imagePath = Utils.getCardImageFileName(cardId, imageLocationType)
|
||||
val viewInGalleryIntent = Intent(Intent.ACTION_VIEW).apply {
|
||||
setDataAndType(FileProvider.getUriForFile(context, context.packageName, context.getFileStreamPath(imagePath)), "image/*")
|
||||
flags = FLAG_GRANT_READ_URI_PERMISSION
|
||||
}
|
||||
context.startActivity(viewInGalleryIntent)
|
||||
}
|
||||
|
||||
private const val MAX_IMAGE_SCALE = 5F
|
||||
@@ -0,0 +1,103 @@
|
||||
package protect.card_locker.cardview;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
final class LoyaltyCardImageNavigator {
|
||||
private final List<LoyaltyCardImageType> imageTypes;
|
||||
private int currentIndex;
|
||||
|
||||
LoyaltyCardImageNavigator(List<LoyaltyCardImageType> imageTypes, int currentIndex) {
|
||||
this.imageTypes = new ArrayList<>(imageTypes);
|
||||
this.currentIndex = clampIndex(currentIndex);
|
||||
}
|
||||
|
||||
LoyaltyCardImageType getCurrent() {
|
||||
if (isEmpty()) {
|
||||
return LoyaltyCardImageType.NONE;
|
||||
}
|
||||
return imageTypes.get(currentIndex);
|
||||
}
|
||||
|
||||
boolean isEmpty() {
|
||||
return imageTypes.isEmpty();
|
||||
}
|
||||
|
||||
int size() {
|
||||
return imageTypes.size();
|
||||
}
|
||||
|
||||
boolean remove(LoyaltyCardImageType type) {
|
||||
int removedIndex = imageTypes.indexOf(type);
|
||||
if (removedIndex == -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
imageTypes.remove(removedIndex);
|
||||
currentIndex = clampIndex(currentIndex);
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean canGoPrevious() {
|
||||
return currentIndex > 0;
|
||||
}
|
||||
|
||||
boolean canGoNext() {
|
||||
return currentIndex < imageTypes.size() - 1;
|
||||
}
|
||||
|
||||
boolean movePrevious() {
|
||||
if (!canGoPrevious()) {
|
||||
return false;
|
||||
}
|
||||
currentIndex--;
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean moveNext(boolean overflow) {
|
||||
if (isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
if (canGoNext()) {
|
||||
currentIndex++;
|
||||
return true;
|
||||
}
|
||||
if (overflow) {
|
||||
currentIndex = 0;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
int getCurrentIndex() {
|
||||
return currentIndex;
|
||||
}
|
||||
|
||||
LoyaltyCardImageType peekNext(boolean overflow) {
|
||||
if (isEmpty()) {
|
||||
return LoyaltyCardImageType.NONE;
|
||||
}
|
||||
|
||||
if (canGoNext()) {
|
||||
return imageTypes.get(currentIndex + 1);
|
||||
}
|
||||
|
||||
return overflow ? imageTypes.get(0) : getCurrent();
|
||||
}
|
||||
|
||||
private int clampIndex(int index) {
|
||||
if (imageTypes.isEmpty()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Math.max(0, Math.min(index, imageTypes.size() - 1));
|
||||
}
|
||||
}
|
||||
|
||||
enum LoyaltyCardImageType {
|
||||
NONE,
|
||||
ICON,
|
||||
BARCODE,
|
||||
IMAGE_FRONT,
|
||||
IMAGE_BACK
|
||||
}
|
||||
@@ -0,0 +1,183 @@
|
||||
package protect.card_locker.cardview;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.google.android.material.color.MaterialColors;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
|
||||
import protect.card_locker.*;
|
||||
import protect.card_locker.async.TaskHandler;
|
||||
|
||||
final class LoyaltyCardMainImageRenderer {
|
||||
private final Context context;
|
||||
private final TaskHandler tasks = new TaskHandler();
|
||||
private final BarcodeImageWriterResultCallback barcodeCallback;
|
||||
|
||||
LoyaltyCardMainImageRenderer(
|
||||
Context context,
|
||||
BarcodeImageWriterResultCallback barcodeCallback
|
||||
) {
|
||||
this.context = context;
|
||||
this.barcodeCallback = barcodeCallback;
|
||||
}
|
||||
|
||||
void renderCurrent(
|
||||
LoyaltyCardImageType imageType,
|
||||
Bitmap frontImageBitmap,
|
||||
Bitmap backImageBitmap,
|
||||
CatimaBarcode format,
|
||||
Charset barcodeEncoding,
|
||||
String cardIdString,
|
||||
String barcodeIdString,
|
||||
ImageView barcodeRenderTarget,
|
||||
TextView mainImageDescription,
|
||||
MaterialCardView mainCardView,
|
||||
boolean isFullscreen,
|
||||
boolean waitForResize
|
||||
) {
|
||||
if (imageType == LoyaltyCardImageType.NONE) {
|
||||
// With no renderable media left, show the raw card ID instead of an empty card area.
|
||||
barcodeRenderTarget.setVisibility(View.GONE);
|
||||
mainCardView.setCardBackgroundColor(Color.TRANSPARENT);
|
||||
mainImageDescription.setTextColor(
|
||||
MaterialColors.getColor(
|
||||
mainImageDescription,
|
||||
com.google.android.material.R.attr.colorOnSurfaceVariant
|
||||
)
|
||||
);
|
||||
mainImageDescription.setText(cardIdString);
|
||||
return;
|
||||
}
|
||||
|
||||
if (imageType == LoyaltyCardImageType.BARCODE) {
|
||||
barcodeRenderTarget.setBackgroundColor(Color.WHITE);
|
||||
mainCardView.setCardBackgroundColor(Color.WHITE);
|
||||
mainImageDescription.setTextColor(context.getResources().getColor(R.color.md_theme_light_onSurfaceVariant));
|
||||
|
||||
if (waitForResize) {
|
||||
redrawBarcodeAfterResize(
|
||||
barcodeRenderTarget,
|
||||
barcodeIdString,
|
||||
cardIdString,
|
||||
format,
|
||||
barcodeEncoding,
|
||||
!isFullscreen,
|
||||
isFullscreen
|
||||
);
|
||||
} else {
|
||||
drawBarcode(
|
||||
barcodeRenderTarget,
|
||||
barcodeIdString,
|
||||
cardIdString,
|
||||
format,
|
||||
barcodeEncoding,
|
||||
!isFullscreen,
|
||||
isFullscreen
|
||||
);
|
||||
}
|
||||
|
||||
mainImageDescription.setText(cardIdString);
|
||||
barcodeRenderTarget.setContentDescription(
|
||||
context.getString(R.string.barcodeImageDescriptionWithType, format.prettyName())
|
||||
);
|
||||
} else if (imageType == LoyaltyCardImageType.IMAGE_FRONT) {
|
||||
barcodeRenderTarget.setImageBitmap(frontImageBitmap);
|
||||
barcodeRenderTarget.setBackgroundColor(Color.TRANSPARENT);
|
||||
mainCardView.setCardBackgroundColor(Color.TRANSPARENT);
|
||||
mainImageDescription.setTextColor(
|
||||
MaterialColors.getColor(
|
||||
mainImageDescription,
|
||||
com.google.android.material.R.attr.colorOnSurfaceVariant
|
||||
)
|
||||
);
|
||||
mainImageDescription.setText(context.getString(R.string.frontImageDescription));
|
||||
barcodeRenderTarget.setContentDescription(context.getString(R.string.frontImageDescription));
|
||||
} else if (imageType == LoyaltyCardImageType.IMAGE_BACK) {
|
||||
barcodeRenderTarget.setImageBitmap(backImageBitmap);
|
||||
barcodeRenderTarget.setBackgroundColor(Color.TRANSPARENT);
|
||||
mainCardView.setCardBackgroundColor(Color.TRANSPARENT);
|
||||
mainImageDescription.setTextColor(
|
||||
MaterialColors.getColor(
|
||||
mainImageDescription,
|
||||
com.google.android.material.R.attr.colorOnSurfaceVariant
|
||||
)
|
||||
);
|
||||
mainImageDescription.setText(context.getString(R.string.backImageDescription));
|
||||
barcodeRenderTarget.setContentDescription(context.getString(R.string.backImageDescription));
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown image type: " + imageType);
|
||||
}
|
||||
|
||||
barcodeRenderTarget.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
private void redrawBarcodeAfterResize(
|
||||
ImageView barcodeRenderTarget,
|
||||
String barcodeIdString,
|
||||
String cardIdString,
|
||||
CatimaBarcode format,
|
||||
Charset barcodeEncoding,
|
||||
boolean addPadding,
|
||||
boolean isFullscreen
|
||||
) {
|
||||
if (format == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Barcode dimensions depend on the final ImageView size, so wait for layout before rendering.
|
||||
barcodeRenderTarget.getViewTreeObserver().addOnGlobalLayoutListener(
|
||||
new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
barcodeRenderTarget.getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||
drawBarcode(
|
||||
barcodeRenderTarget,
|
||||
barcodeIdString,
|
||||
cardIdString,
|
||||
format,
|
||||
barcodeEncoding,
|
||||
addPadding,
|
||||
isFullscreen
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void drawBarcode(
|
||||
ImageView barcodeRenderTarget,
|
||||
String barcodeIdString,
|
||||
String cardIdString,
|
||||
CatimaBarcode format,
|
||||
Charset barcodeEncoding,
|
||||
boolean addPadding,
|
||||
boolean isFullscreen
|
||||
) {
|
||||
// Barcodes are regenerated eagerly because zoom/fullscreen changes affect the output bitmap.
|
||||
tasks.flushTaskList(TaskHandler.TYPE.BARCODE, true, false, false);
|
||||
if (format == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(
|
||||
context.getApplicationContext(),
|
||||
barcodeRenderTarget,
|
||||
barcodeIdString != null ? barcodeIdString : cardIdString,
|
||||
format,
|
||||
barcodeEncoding,
|
||||
null,
|
||||
false,
|
||||
barcodeCallback,
|
||||
addPadding,
|
||||
isFullscreen
|
||||
);
|
||||
tasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
||||
}
|
||||
}
|
||||
+349
-589
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,246 @@
|
||||
package protect.card_locker.cardview;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.text.InputType;
|
||||
import android.text.SpannableStringBuilder;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.DigitsKeyListener;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.text.util.Linkify;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import protect.card_locker.*;
|
||||
|
||||
final class LoyaltyCardViewDialogs {
|
||||
interface BalanceUpdateListener {
|
||||
void onBalanceUpdated(BigDecimal newBalance);
|
||||
}
|
||||
|
||||
void showInfoDialog(Context context, LoyaltyCard loyaltyCard, List<Group> loyaltyCardGroups) {
|
||||
AlertDialog.Builder infoDialog = new MaterialAlertDialogBuilder(context);
|
||||
|
||||
int dialogContentPadding = context.getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
|
||||
infoDialog.setTitle(loyaltyCard.store);
|
||||
|
||||
TextView infoTextview = new TextView(context);
|
||||
infoTextview.setPadding(
|
||||
dialogContentPadding,
|
||||
dialogContentPadding / 2,
|
||||
dialogContentPadding,
|
||||
0
|
||||
);
|
||||
infoTextview.setAutoLinkMask(Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS | Linkify.WEB_URLS);
|
||||
infoTextview.setTextIsSelectable(true);
|
||||
|
||||
SpannableStringBuilder infoText = new SpannableStringBuilder();
|
||||
if (!loyaltyCard.note.isEmpty()) {
|
||||
infoText.append(loyaltyCard.note);
|
||||
}
|
||||
|
||||
if (!loyaltyCardGroups.isEmpty()) {
|
||||
List<String> groupNames = new ArrayList<>();
|
||||
for (Group group : loyaltyCardGroups) {
|
||||
groupNames.add(group._id);
|
||||
}
|
||||
|
||||
padSpannableString(infoText);
|
||||
infoText.append(context.getString(R.string.groupsList, TextUtils.join(", ", groupNames)));
|
||||
}
|
||||
|
||||
if (hasBalance(loyaltyCard)) {
|
||||
padSpannableString(infoText);
|
||||
infoText.append(context.getString(
|
||||
R.string.balanceSentence,
|
||||
Utils.formatBalance(context, loyaltyCard.balance, loyaltyCard.balanceType)
|
||||
));
|
||||
}
|
||||
|
||||
appendDateInfo(
|
||||
context,
|
||||
infoText,
|
||||
loyaltyCard.validFrom,
|
||||
Utils::isNotYetValid,
|
||||
R.string.validFromSentence,
|
||||
R.string.validFromSentence
|
||||
);
|
||||
appendDateInfo(
|
||||
context,
|
||||
infoText,
|
||||
loyaltyCard.expiry,
|
||||
Utils::hasExpired,
|
||||
R.string.expiryStateSentenceExpired,
|
||||
R.string.expiryStateSentence
|
||||
);
|
||||
|
||||
infoTextview.setText(infoText);
|
||||
infoDialog.setView(infoTextview);
|
||||
infoDialog.setPositiveButton(R.string.ok, (dialogInterface, i) -> dialogInterface.dismiss());
|
||||
infoDialog.create().show();
|
||||
}
|
||||
|
||||
void showBalanceUpdateDialog(
|
||||
Context context,
|
||||
LoyaltyCard loyaltyCard,
|
||||
BalanceUpdateListener balanceUpdateListener
|
||||
) {
|
||||
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(context);
|
||||
builder.setTitle(R.string.updateBalanceTitle);
|
||||
|
||||
FrameLayout container = new FrameLayout(context);
|
||||
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
|
||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
);
|
||||
int contentPadding = context.getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
|
||||
params.leftMargin = contentPadding;
|
||||
params.topMargin = contentPadding / 2;
|
||||
params.rightMargin = contentPadding;
|
||||
|
||||
LinearLayout layout = new LinearLayout(context);
|
||||
layout.setOrientation(LinearLayout.VERTICAL);
|
||||
|
||||
TextView currentTextview = new TextView(context);
|
||||
currentTextview.setText(context.getString(
|
||||
R.string.currentBalanceSentence,
|
||||
Utils.formatBalance(context, loyaltyCard.balance, loyaltyCard.balanceType)
|
||||
));
|
||||
layout.addView(currentTextview);
|
||||
|
||||
final TextInputEditText input = new TextInputEditText(context);
|
||||
input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
|
||||
input.setKeyListener(DigitsKeyListener.getInstance("0123456789,."));
|
||||
input.setHint(R.string.updateBalanceHint);
|
||||
|
||||
layout.addView(input);
|
||||
layout.setLayoutParams(params);
|
||||
container.addView(layout);
|
||||
builder.setView(container);
|
||||
|
||||
builder.setPositiveButton(R.string.spend, (dialogInterface, i) -> {
|
||||
try {
|
||||
BigDecimal balanceChange = Utils.parseBalance(input.getText().toString(), loyaltyCard.balanceType);
|
||||
BigDecimal newBalance = loyaltyCard.balance.subtract(balanceChange).max(new BigDecimal(0));
|
||||
balanceUpdateListener.onBalanceUpdated(newBalance);
|
||||
Toast.makeText(
|
||||
context,
|
||||
context.getString(
|
||||
R.string.newBalanceSentence,
|
||||
Utils.formatBalance(context, newBalance, loyaltyCard.balanceType)
|
||||
),
|
||||
Toast.LENGTH_LONG
|
||||
).show();
|
||||
} catch (ParseException e) {
|
||||
Toast.makeText(context, R.string.amountParsingFailed, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
builder.setNegativeButton(R.string.receive, (dialogInterface, i) -> {
|
||||
try {
|
||||
BigDecimal balanceChange = Utils.parseBalance(input.getText().toString(), loyaltyCard.balanceType);
|
||||
BigDecimal newBalance = loyaltyCard.balance.add(balanceChange);
|
||||
balanceUpdateListener.onBalanceUpdated(newBalance);
|
||||
Toast.makeText(
|
||||
context,
|
||||
context.getString(
|
||||
R.string.newBalanceSentence,
|
||||
Utils.formatBalance(context, newBalance, loyaltyCard.balanceType)
|
||||
),
|
||||
Toast.LENGTH_LONG
|
||||
).show();
|
||||
} catch (ParseException e) {
|
||||
Toast.makeText(context, R.string.amountParsingFailed, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
builder.setNeutralButton(context.getString(R.string.cancel), (dialog, which) -> dialog.cancel());
|
||||
AlertDialog dialog = builder.create();
|
||||
|
||||
// Button state depends on the parsed input, so listeners must be bound after the dialog exists.
|
||||
input.addTextChangedListener(new SimpleTextWatcher() {
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
BigDecimal balanceChange;
|
||||
|
||||
try {
|
||||
balanceChange = Utils.parseBalance(s.toString(), loyaltyCard.balanceType);
|
||||
} catch (ParseException e) {
|
||||
input.setError(context.getString(R.string.amountParsingFailed));
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||
dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false);
|
||||
return;
|
||||
}
|
||||
|
||||
input.setError(null);
|
||||
boolean hasNonZeroValue = !balanceChange.equals(new BigDecimal(0));
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(hasNonZeroValue);
|
||||
dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(hasNonZeroValue);
|
||||
}
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
// Touching dialog buttons before show() can crash because they are not created yet.
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||
dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(false);
|
||||
|
||||
if (dialog.getWindow() != null) {
|
||||
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
|
||||
}
|
||||
// Focus immediately so the keyboard opens on the amount field.
|
||||
input.requestFocus();
|
||||
}
|
||||
|
||||
private boolean hasBalance(LoyaltyCard loyaltyCard) {
|
||||
return !loyaltyCard.balance.equals(new BigDecimal(0));
|
||||
}
|
||||
|
||||
private SpannableStringBuilder padSpannableString(SpannableStringBuilder spannableStringBuilder) {
|
||||
if (spannableStringBuilder.length() > 0) {
|
||||
spannableStringBuilder.append("\n\n");
|
||||
}
|
||||
|
||||
return spannableStringBuilder;
|
||||
}
|
||||
|
||||
private void appendDateInfo(
|
||||
Context context,
|
||||
SpannableStringBuilder infoText,
|
||||
Date date,
|
||||
Predicate<Date> dateCheck,
|
||||
@StringRes int dateCheckTrueString,
|
||||
@StringRes int dateCheckFalseString
|
||||
) {
|
||||
if (date == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
String formattedDate = DateFormat.getDateInstance(DateFormat.LONG).format(date);
|
||||
|
||||
padSpannableString(infoText);
|
||||
if (dateCheck.test(date)) {
|
||||
int start = infoText.length();
|
||||
infoText.append(context.getString(dateCheckTrueString, formattedDate));
|
||||
infoText.setSpan(new ForegroundColorSpan(Color.RED), start, infoText.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
} else {
|
||||
infoText.append(context.getString(dateCheckFalseString, formattedDate));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
package protect.card_locker.compose
|
||||
|
||||
import androidx.activity.OnBackPressedDispatcher
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.foundation.layout.RowScope
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
@@ -8,18 +11,40 @@ import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import protect.card_locker.R
|
||||
import protect.card_locker.preferences.Settings
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
fun CatimaTopAppBar(title: String, onBackPressedDispatcher: OnBackPressedDispatcher?) {
|
||||
fun CatimaTopAppBar(title: String,
|
||||
onBackPressedDispatcher: OnBackPressedDispatcher?,
|
||||
actions : @Composable RowScope.() -> Unit = {}) {
|
||||
// Use pure black in OLED theme
|
||||
val context = LocalContext.current
|
||||
val settings = Settings(context)
|
||||
val isDarkMode = when (settings.theme) {
|
||||
AppCompatDelegate.MODE_NIGHT_NO -> false
|
||||
AppCompatDelegate.MODE_NIGHT_YES -> true
|
||||
else -> isSystemInDarkTheme()
|
||||
}
|
||||
|
||||
val appBarColors = if (isDarkMode && settings.oledDark) {
|
||||
TopAppBarDefaults.topAppBarColors().copy(containerColor = Color.Black)
|
||||
} else {
|
||||
TopAppBarDefaults.topAppBarColors()
|
||||
}
|
||||
|
||||
TopAppBar(
|
||||
modifier = Modifier.testTag("topbar_catima"),
|
||||
title = { Text(text = title) },
|
||||
colors = appBarColors,
|
||||
navigationIcon = {
|
||||
if (onBackPressedDispatcher != null) {
|
||||
IconButton(onClick = { onBackPressedDispatcher.onBackPressed() }) {
|
||||
@@ -29,6 +54,7 @@ fun CatimaTopAppBar(title: String, onBackPressedDispatcher: OnBackPressedDispatc
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
actions = actions
|
||||
)
|
||||
}
|
||||
@@ -32,7 +32,7 @@ public class CardsContentProvider extends ContentProvider {
|
||||
public static final String MAJOR_COLUMN = "major";
|
||||
public static final String MINOR_COLUMN = "minor";
|
||||
public static final int MAJOR = 1;
|
||||
public static final int MINOR = 0;
|
||||
public static final int MINOR = 1;
|
||||
}
|
||||
|
||||
private static final int URI_VERSION = 0;
|
||||
@@ -52,7 +52,7 @@ public class CardsContentProvider extends ContentProvider {
|
||||
LoyaltyCardDbIds.CARD_ID,
|
||||
LoyaltyCardDbIds.BARCODE_ID,
|
||||
LoyaltyCardDbIds.BARCODE_TYPE,
|
||||
// FIXME: Expose BARCODE_ENCODING but without ever exposing the null value (so apps using this don't have to guess)
|
||||
LoyaltyCardDbIds.BARCODE_ENCODING,
|
||||
LoyaltyCardDbIds.STAR_STATUS,
|
||||
LoyaltyCardDbIds.LAST_USED,
|
||||
LoyaltyCardDbIds.ARCHIVE_STATUS,
|
||||
@@ -77,13 +77,6 @@ public class CardsContentProvider extends ContentProvider {
|
||||
@Nullable final String selection,
|
||||
@Nullable final String[] selectionArgs,
|
||||
@Nullable final String sortOrder) {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
|
||||
// Disable the content provider on SDK < 23 since it grants dangerous
|
||||
// permissions at install-time
|
||||
Log.w(TAG, "Content provider read is only available for SDK >= 23");
|
||||
return null;
|
||||
}
|
||||
|
||||
final Settings settings = new Settings(getContext());
|
||||
if (!settings.getAllowContentProviderRead()) {
|
||||
Log.w(TAG, "Content provider read is disabled");
|
||||
|
||||
@@ -155,7 +155,7 @@ public class CatimaExporter implements Exporter {
|
||||
card.cardId,
|
||||
card.barcodeId,
|
||||
card.barcodeType != null ? card.barcodeType.name() : "",
|
||||
card.barcodeEncoding != null ? card.barcodeEncoding.name() : "",
|
||||
card.barcodeEncoding.name(),
|
||||
card.headerColor,
|
||||
card.starStatus,
|
||||
card.lastUsed,
|
||||
|
||||
@@ -462,8 +462,8 @@ public class CatimaImporter implements Importer {
|
||||
// Barcode encoding information is only supported since Catima 2.41.0, so old exports will lack this field
|
||||
// Database migration 19 forcing ISO-8859-1 on all cards, so we should treat imports from old Catima versions the same and force ISO-8859-1 there too
|
||||
// This limits the risk of breaking cards when importing an old database backup
|
||||
Charset barcodeEncoding = null;
|
||||
String unparsedBarcodeEncoding = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BARCODE_ENCODING, record, "ISO-8859-1");
|
||||
Charset barcodeEncoding = StandardCharsets.ISO_8859_1;
|
||||
String unparsedBarcodeEncoding = CSVHelpers.extractString(DBHelper.LoyaltyCardDbIds.BARCODE_ENCODING, record, "");
|
||||
if (!unparsedBarcodeEncoding.isEmpty()) {
|
||||
barcodeEncoding = Charset.forName(unparsedBarcodeEncoding);
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ public class FidmeImporter implements Importer {
|
||||
cardId,
|
||||
null,
|
||||
barcodeType,
|
||||
null,
|
||||
StandardCharsets.ISO_8859_1,
|
||||
headerColor,
|
||||
starStatus,
|
||||
Utils.getUnixTime(),
|
||||
|
||||
@@ -162,7 +162,7 @@ public class VoucherVaultImporter implements Importer {
|
||||
cardId,
|
||||
null,
|
||||
barcodeType,
|
||||
null,
|
||||
StandardCharsets.ISO_8859_1,
|
||||
headerColor,
|
||||
0,
|
||||
Utils.getUnixTime(),
|
||||
|
||||
@@ -82,6 +82,10 @@ public class Settings {
|
||||
return getBoolean(R.string.settings_key_disable_lockscreen_while_viewing_card, true);
|
||||
}
|
||||
|
||||
public boolean getDisableNfcWhileViewingCard() {
|
||||
return getBoolean(R.string.settings_key_disable_nfc_while_viewing_card, true);
|
||||
}
|
||||
|
||||
public boolean getAllowContentProviderRead() {
|
||||
return getBoolean(R.string.settings_key_allow_content_provider_read, true);
|
||||
}
|
||||
|
||||
@@ -157,12 +157,6 @@ class SettingsActivity : CatimaAppCompatActivity() {
|
||||
true
|
||||
}
|
||||
|
||||
// Disable content provider on SDK < 23 since dangerous permissions
|
||||
// are granted at install-time
|
||||
val contentProviderReadPreference = findPreference<Preference>(getString(R.string.settings_key_allow_content_provider_read))
|
||||
contentProviderReadPreference!!.isVisible =
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
||||
|
||||
// Hide crash reporter settings on builds it's not enabled on
|
||||
val crashReporterPreference = findPreference<Preference>("acra.enable")
|
||||
crashReporterPreference!!.isVisible = BuildConfig.useAcraCrashReporter
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M2,6h2v12L2,18L2,6zM5,6h1v12L5,18L5,6zM7,6h3v12L7,18L7,6zM11,6h1v12h-1L11,6zM13,6h2v12h-2L13,6zM16,6h2v12h-2L16,6zM19,6h1v12h-1L19,6zM21,6h1v12h-1L21,6z"/>
|
||||
</vector>
|
||||
@@ -109,7 +109,8 @@
|
||||
android:id="@+id/storeNameEdit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true" />
|
||||
android:singleLine="true"
|
||||
android:inputType="textCapWords" />
|
||||
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -158,10 +158,31 @@
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:layout_constraintTop_toBottomOf="@+id/note"
|
||||
app:layout_constraintBottom_toTopOf="@+id/balance"
|
||||
app:layout_constraintBottom_toTopOf="@+id/cardId"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/cardId"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:textAppearance="?attr/textAppearanceBody2"
|
||||
app:drawableLeftCompat="@drawable/ic_card_id_24dp"
|
||||
android:drawablePadding="4dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="@+id/info_divider"
|
||||
app:layout_constraintBottom_toTopOf="@+id/balance"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:visibility="visible"
|
||||
tools:text="1234567890"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/balance"
|
||||
android:layout_width="match_parent"
|
||||
@@ -174,7 +195,7 @@
|
||||
app:drawableLeftCompat="@drawable/ic_baseline_payments_24"
|
||||
android:drawablePadding="4dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintTop_toBottomOf="@+id/info_divider"
|
||||
app:layout_constraintTop_toBottomOf="@+id/cardId"
|
||||
app:layout_constraintBottom_toTopOf="@+id/validFrom"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
@@ -6,63 +6,66 @@ Allan Nordhøy
|
||||
Heimen Stoffels
|
||||
Oğuz Ersen
|
||||
FC (Fay) Stegerman
|
||||
StoyanDimitrov
|
||||
B o d o
|
||||
大王叫我来巡山
|
||||
StoyanDimitrov
|
||||
SlavekB
|
||||
Katharine Chui
|
||||
Katharine Chui / Katie
|
||||
Silvério Santos
|
||||
mondstern
|
||||
IllusiveMan196
|
||||
Silvério Santos
|
||||
Altonss
|
||||
Максим Горпиніч
|
||||
Edgars Andersons
|
||||
Liner Seven
|
||||
Fjuro
|
||||
Altonss
|
||||
Joel A
|
||||
GitSpoon
|
||||
Michael Moroni
|
||||
Priit Jõerüüt
|
||||
Liner Seven
|
||||
Eric
|
||||
Fjuro
|
||||
Максим Горпиніч
|
||||
GitSpoon
|
||||
GM
|
||||
Petr Novák
|
||||
laralem
|
||||
Vasilis
|
||||
Taco
|
||||
Milo Ivir
|
||||
nadiafekihahmed
|
||||
pfaffenrodt
|
||||
Aayush Gupta
|
||||
Scrambled777
|
||||
josé m
|
||||
Vasilis
|
||||
ikanakova
|
||||
Nyatsuki
|
||||
Kachelkaiser
|
||||
Giovanni Donisi
|
||||
Milo Ivir
|
||||
HudobniVolk
|
||||
Горпиніч Максим Олександрович
|
||||
Kachelkaiser
|
||||
Jiri Grönroos
|
||||
Warder
|
||||
Samantaz Fox
|
||||
Balázs Meskó
|
||||
109247019824
|
||||
Feike Donia
|
||||
Arno-github
|
||||
Ankit Tiwari
|
||||
Cliff Heraldo
|
||||
Sergio Paredes
|
||||
Jose Delvani
|
||||
HudobniVolk
|
||||
Warder
|
||||
Traductor
|
||||
Balázs Meskó
|
||||
Samantaz Fox
|
||||
damjang
|
||||
mdvhimself
|
||||
Milan Šalka
|
||||
AMIR-G98
|
||||
Sergio Paredes
|
||||
Cliff Heraldo
|
||||
Ankit Tiwari
|
||||
Arno-github
|
||||
Feike
|
||||
Jose Delvani
|
||||
Milan Šalka
|
||||
Robin
|
||||
தமிழ்நேரம்
|
||||
huuhaa
|
||||
Skrripy
|
||||
Govindgopalyadav
|
||||
damjang
|
||||
Gideon
|
||||
waffshappen
|
||||
Marnick L'Eau
|
||||
JungHee Lee
|
||||
pacavarn
|
||||
ngocanhtve
|
||||
aradxxx
|
||||
StellarSand
|
||||
@@ -70,32 +73,37 @@ Quentin PAGÈS
|
||||
Projjal Moitra
|
||||
Aliaksandr Trush
|
||||
e-michalak
|
||||
JungHee Lee
|
||||
தமிழ் நேரம்
|
||||
hajertabbane
|
||||
inavleb
|
||||
Ziad OUALHADJ
|
||||
Robin Liu
|
||||
Ricky Tigg
|
||||
Renko
|
||||
Gideon
|
||||
Traductor
|
||||
Denis Shilin
|
||||
NooB9496
|
||||
Renko
|
||||
Ricky Tigg
|
||||
Robin Liu
|
||||
Ziad OUALHADJ
|
||||
しいたけ
|
||||
Alexander Ivanov
|
||||
Miha Frangež
|
||||
stavpup
|
||||
mrestivill
|
||||
josé m.
|
||||
ezn24
|
||||
ehrt74
|
||||
Virginie
|
||||
Tim Trek
|
||||
Peter Dave Hello
|
||||
Thu-Trang Pham
|
||||
Alì Mortacci
|
||||
MisterCosta96
|
||||
Andre Costa
|
||||
arshbeerSingh
|
||||
Augustin LAVILLE
|
||||
Freddo espresso
|
||||
Vasudev R.
|
||||
Govind S Nair
|
||||
Kim Seohyun
|
||||
Libre
|
||||
echo r"0xX4H" | rev
|
||||
rudy3
|
||||
Michael Gangolf
|
||||
PRATHAMESH BHAGAT
|
||||
Peter Dave Hello
|
||||
Thomas Bertels
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="action_search">بحث</string>
|
||||
<string name="action_add">أضف</string>
|
||||
<string name="noGiftCards">اضغط على زر الإضافة + لإضافة بطاقة، أو استورد من القائمة خلال ⋮</string>
|
||||
<string name="noMatchingGiftCards">لا نتائج. حاول تغيير كلمات البحث.</string>
|
||||
<string name="storeName">اسم</string>
|
||||
<string name="note">مذكرة</string>
|
||||
<string name="action_add">إضافة</string>
|
||||
<string name="noGiftCards">انقر على زر + لإضافة بطاقة، أو استوردها من قائمة ⋮</string>
|
||||
<string name="noMatchingGiftCards">لا توجد نتائج. حاول تغيير بحثك.</string>
|
||||
<string name="storeName">الاسم</string>
|
||||
<string name="note">ملاحظة</string>
|
||||
<string name="cardId">معرّف البطاقة</string>
|
||||
<string name="barcodeType">نوع الباركود</string>
|
||||
<string name="noBarcode">لا يوجد باركود</string>
|
||||
<string name="star">أضف الى المفضلة</string>
|
||||
<string name="unstar">حذف من المفضلة</string>
|
||||
<string name="star">إضافة إلى المفضلة</string>
|
||||
<string name="unstar">إزالة من المفضلة</string>
|
||||
<string name="cancel">إلغاء</string>
|
||||
<string name="save">حفظ</string>
|
||||
<string name="edit">تعديل</string>
|
||||
<string name="delete">مسح</string>
|
||||
<string name="delete">حذف</string>
|
||||
<string name="confirm">تأكيد</string>
|
||||
<string name="deleteConfirmation">مسح هذة البطاقة نهائيا؟</string>
|
||||
<string name="ok">حسنا</string>
|
||||
<string name="share">شارك</string>
|
||||
<string name="sendLabel">ارسل…</string>
|
||||
<string name="editCardTitle">عدل البطاقة</string>
|
||||
<string name="addCardTitle">اضف بطاقة</string>
|
||||
<string name="scanCardBarcode">مسح باركود</string>
|
||||
<string name="deleteConfirmation">حذف هذه البطاقة نهائيًّا؟</string>
|
||||
<string name="ok">حسنًا</string>
|
||||
<string name="share">مشاركة</string>
|
||||
<string name="sendLabel">إرسال…</string>
|
||||
<string name="editCardTitle">تعديل البطاقة</string>
|
||||
<string name="addCardTitle">إضافة بطاقة</string>
|
||||
<string name="scanCardBarcode">مسح الباركود</string>
|
||||
<string name="cardShortcut">اختصار البطاقة</string>
|
||||
<string name="noCardsMessage">اضف بطاقة أولا</string>
|
||||
<string name="noCardsMessage">أضف بطاقة أولًا</string>
|
||||
<string name="barcodeImageDescriptionWithType">صورة <xliff:g>%s</xliff:g> الباركود</string>
|
||||
<string name="noCardExistsError">لا يمكن العثور على هذه البطاقة</string>
|
||||
<string name="failedParsingImportUriError">لا يمكن تحليل الرابط المستورد</string>
|
||||
<string name="noCardExistsError">لم يتمّ العثور على تلك البطاقة</string>
|
||||
<string name="failedParsingImportUriError">لا يمكن تحليل عنوان URL المستورد</string>
|
||||
<string name="importExport">استيراد/تصدير</string>
|
||||
<string name="importExportHelp">انشاء نسخة احتياطية من بياناتك يسمح بنقلها إلى جهاز آخر.</string>
|
||||
<string name="importFailed">تعذر إجراء الاستيراد</string>
|
||||
<string name="exportSuccessfulTitle">متصدر</string>
|
||||
<string name="importExportHelp">تتيح لك عملية النسخ الاحتياطي لبياناتك نقلها إلى جهاز آخر</string>
|
||||
<string name="importFailed">تعذّر إجراء عملية الاستيراد</string>
|
||||
<string name="exportSuccessfulTitle">تمّ التصدير</string>
|
||||
<string name="exportFailedTitle">فشل التصدير</string>
|
||||
<string name="exportFailed">لا يمكن عمل التصدير</string>
|
||||
<string name="exportOptionExplanation">ستتم كتابة البيانات في الموقع الذي تختاره.</string>
|
||||
<string name="exportFailed">تعذّر إجراء عملية التصدير</string>
|
||||
<string name="exportOptionExplanation">ستكون البيانات مكتوبة في المسار الذي تختاره</string>
|
||||
<string name="importOptionFilesystemButton">من نظام الملفات</string>
|
||||
<string name="about">حول</string>
|
||||
<string name="app_copyright_old">بناء على Loyalty Card Keychain
|
||||
@@ -53,7 +53,7 @@
|
||||
<string name="exportSuccessful">تم تصدير البيانات</string>
|
||||
<string name="enter_group_name">أدخل اسم المجموعة</string>
|
||||
<string name="group_edit">تعديل المجموعة</string>
|
||||
<string name="noGroups">اضغط زر + لإضافة مجموعات للتصنيف.</string>
|
||||
<string name="noGroups">اضغط زر + لإضافة مجموعات للتصنيف</string>
|
||||
<string name="noGroupCards">هذه المجموعة فارغة</string>
|
||||
<string name="group_name_already_in_use">اسم المجموعة قيد الاستخدام بالفعل</string>
|
||||
<string name="group_name_is_empty">لا يمكن أن يكون اسم المجموعة فارغًا</string>
|
||||
@@ -73,9 +73,9 @@
|
||||
<string name="importCatima">الاستيراد من Catima</string>
|
||||
<string name="importCatimaMessage">حدّد ملفك تصدير من Catima للاستيراد.\nإنشئها من قائمة الاستيراد / التصدير لتطبيق Catima آخر بالضغط على تصدير .</string>
|
||||
<string name="importFidme">الاستيراد من FidMe</string>
|
||||
<string name="importFidmeMessage">حدّد ملفك <i>fidme-export-request-xxxxxx.zip</i> تصدير من FidMe للاستيراد، ثم حدد أنواع الباركود يدويًا بعد ذلك. \nإنشئها من ملف تعريف FidMe الخاص بك عن طريق اختيار حماية البيانات ثم الضغط على استخراج بياناتي أولاً.</string>
|
||||
<string name="importFidmeMessage">حدّد للتصدير من FidMe للاستيراد، ثم حدد أنواع الباركود يدويًا بعد ذلك. \nقم بإنشاءها من ملفك التعريفي في FidMe عن طريق اختيار \"حماية البيانات\" ثم النقر على \"استخراج بياناتي\".</string>
|
||||
<string name="importVoucherVault">الاستيراد من Voucher Vault</string>
|
||||
<string name="importVoucherVaultMessage">حدّد ملفك <i>vouchervault.json</i> تصدير من Voucher Vault للاستيراد. \nإنشئها بالضغط على تصدير في Voucher Vault أولاً.</string>
|
||||
<string name="importVoucherVaultMessage">حدّد ملفك <i>vouchervault.json</i> تصدير من Voucher Vault للاستيراد.\nإنشئها بالضغط على تصدير في Voucher Vault.</string>
|
||||
<string name="barcodeId">قيمة الباركود</string>
|
||||
<string name="sameAsCardId">نفس بطاقة الهوية</string>
|
||||
<string name="setBarcodeId">عيّن قيمة الباركود</string>
|
||||
@@ -122,21 +122,21 @@
|
||||
<string name="archived">تمت أرشفة البطاقة</string>
|
||||
<string name="unarchived">البطاقة غير مؤرشفة</string>
|
||||
<string name="failedLaunchingPhotoPicker">تعذر العثور على تطبيق معرض مدعوم</string>
|
||||
<string name="noGiftCardsGroup">أنشئ بعض البطاقات، ثم عيّنهم لهذه المجموعة.</string>
|
||||
<string name="deleteTitle">مسح بطاقة</string>
|
||||
<string name="noGiftCardsGroup">أنشئ بعض البطاقات، ثم عيّنها للمجموعة هنا</string>
|
||||
<string name="deleteTitle">حذف البطاقة</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="zero"><xliff:g>%d</xliff:g> محدد</item>
|
||||
<item quantity="zero"><xliff:g>%d</xliff:g> محددة</item>
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> محددة</item>
|
||||
<item quantity="two"><xliff:g>%d</xliff:g> محدد</item>
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> محدد</item>
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> محدد</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> محدد</item>
|
||||
<item quantity="two"><xliff:g>%d</xliff:g> محددتين</item>
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> محددة</item>
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> محددة</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> محددة</item>
|
||||
</plurals>
|
||||
<string name="importing">جار الاستيراد…</string>
|
||||
<string name="importing">جارٍ الاستيراد…</string>
|
||||
<string name="exportName">تصدير</string>
|
||||
<string name="exporting">جار التصدير…</string>
|
||||
<string name="importSuccessfulTitle">مستورد</string>
|
||||
<string name="importFailedTitle">فشل بالاستيراد</string>
|
||||
<string name="importSuccessfulTitle">تمّ الاستيراد</string>
|
||||
<string name="importFailedTitle">فشل الاستيراد</string>
|
||||
<string name="sort_by_most_recently_used">الأكثر أستعمالا مؤخرا</string>
|
||||
<string name="license">رخصة</string>
|
||||
<string name="sort_by_name">اسم</string>
|
||||
@@ -150,23 +150,23 @@
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> بطاقات ( <xliff:g id="archivedCount">%2$d</xliff:g> مؤرشفة)</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="zero">مسح <xliff:g>%d</xliff:g> بطاقة</item>
|
||||
<item quantity="one">مسح <xliff:g>%d</xliff:g> بطاقة</item>
|
||||
<item quantity="two">مسح <xliff:g>%d</xliff:g> بطاقتين</item>
|
||||
<item quantity="few">مسح <xliff:g>%d</xliff:g> بطائق</item>
|
||||
<item quantity="many">مسح <xliff:g>%d</xliff:g> بطاقة</item>
|
||||
<item quantity="other">مسح <xliff:g>%d</xliff:g> بطاقة</item>
|
||||
<item quantity="zero">حذف <xliff:g>%d</xliff:g> بطاقة</item>
|
||||
<item quantity="one">حذف <xliff:g>%d</xliff:g> بطاقة</item>
|
||||
<item quantity="two">حذف <xliff:g>%d</xliff:g> بطاقتَين</item>
|
||||
<item quantity="few">حذف <xliff:g>%d</xliff:g> من البطاقات</item>
|
||||
<item quantity="many">حذف <xliff:g>%d</xliff:g> من البطاقات</item>
|
||||
<item quantity="other">حذف <xliff:g>%d</xliff:g> من البطاقات</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="zero">مسح هذه <xliff:g>%d</xliff:g> البطاقة نهائيا؟</item>
|
||||
<item quantity="one">مسح هذه <xliff:g>%d</xliff:g> البطاقة نهائيا؟</item>
|
||||
<item quantity="two">مسح هذه <xliff:g>%d</xliff:g> البطاقتين نهائيا؟</item>
|
||||
<item quantity="few">مسح هذه <xliff:g>%d</xliff:g> البطاقات نهائيا؟</item>
|
||||
<item quantity="many">مسح هذه <xliff:g>%d</xliff:g> البطاقات نهائيا؟</item>
|
||||
<item quantity="other">مسح هذه <xliff:g>%d</xliff:g> البطاقات نهائيا؟</item>
|
||||
<item quantity="zero">حذف هذه <xliff:g>%d</xliff:g> البطاقة نهائيًا؟</item>
|
||||
<item quantity="one">حذف هذه <xliff:g>%d</xliff:g> البطاقة نهائيًا؟</item>
|
||||
<item quantity="two">حذف هذه <xliff:g>%d</xliff:g> البطاقتين نهائيًا؟</item>
|
||||
<item quantity="few">حذف هذه <xliff:g>%d</xliff:g> البطاقات نهائيًا؟</item>
|
||||
<item quantity="many">حذف هذه <xliff:g>%d</xliff:g> البطاقات نهائيًا؟</item>
|
||||
<item quantity="other">حذف هذه <xliff:g>%d</xliff:g> البطاقات نهائيًا؟</item>
|
||||
</plurals>
|
||||
<string name="importOptionFilesystemTitle">الاستيراد من نظام الملفات</string>
|
||||
<string name="importOptionFilesystemExplanation">اختر ملفًا محددًا من نظام الملفات.</string>
|
||||
<string name="importOptionFilesystemExplanation">اختر ملفًا محددًا من نظام الملفات</string>
|
||||
<string name="about_title_fmt">حول <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">نسخة: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="settings_system_theme">النظام</string>
|
||||
@@ -213,14 +213,13 @@
|
||||
<string name="report_error">الإبلاغ عن خطأ</string>
|
||||
<string name="sort_by_expiry">انقضاء</string>
|
||||
<string name="importLoyaltyCardKeychain">الاستيراد من Loyalty Card Keychain</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">حدّد ملفك <i>LoyaltyCardKeychain.csv</i> التصدير من Loyalty Card Keychain للاستيراد. \nإنشئها من قائمة الاستيراد / التصدير في Loyalty Card Keychain بالضغط على تصدير هناك أولاً.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">حدد تصديرك من سلسلة مفاتيح بطاقة الولاء للتصدير.\nانشئها من قائمة استيراد/تصدير في سلسلة مفاتيح بطاقة الولاء عبر ضغط زر تصدير.</string>
|
||||
<string name="failedGeneratingShareURL">تعذر إنشاء عنوان URL قابل للمشاركة</string>
|
||||
<string name="help_translate_this_app">ساعد في ترجمة هذا التطبيق</string>
|
||||
<string name="on_google_play">على Google Play</string>
|
||||
<string name="previousCard">السابق</string>
|
||||
<string name="nextCard">التالي</string>
|
||||
<string name="failedToRetrieveImageFile">فشل في استخراج ملف الصورة</string>
|
||||
<string name="barcodeLongPressMessage">يمكن فتح صور فقط في تطبيق معرض الصور</string>
|
||||
<string name="failedToOpenUrl">ثبت متصفح ويب أولاً</string>
|
||||
<string name="welcome">مرحبًا بك في كاتيما</string>
|
||||
<string name="updateBalanceTitle">كم أنفقت أو استلمت؟</string>
|
||||
@@ -228,22 +227,21 @@
|
||||
<string name="importCards">استيراد البطاقات</string>
|
||||
<string name="newBalanceSentence">الرصيد الجديد: <xliff:g>%s</xliff:g></string>
|
||||
<string name="cameraPermissionDeniedTitle">تعذر الوصول إلى الكاميرا</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">لمسح الباركود، ستحتاج Catima إلى الوصول إلى الكاميرا. اضغط هنا لتغيير إعدادات الأذونات.</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">لمسح الباركود، ستحتاج كاتيما إلى الوصول إلى الكاميرا. اضغط هنا لتغيير إعدادات الأذونات.</string>
|
||||
<string name="updateBalance">تحديث الرصيد</string>
|
||||
<string name="updateBalanceHint">أدخل المبلغ</string>
|
||||
<string name="storageReadPermissionRequired">الصلاحيه للوصل للتخزين مطلوبة لهذا الاجراء…</string>
|
||||
<string name="storageReadPermissionRequired">الصلاحيه للوصول للتخزين مطلوبة لهذا الاجراء…</string>
|
||||
<string name="validFromDate">عربيه</string>
|
||||
<string name="cameraPermissionRequired">إذن للوصول إلى الكاميرا اللازمة لهذا الإجراء…</string>
|
||||
<string name="anyDate">أي تاريخ</string>
|
||||
<string name="chooseValidFromDate">اختر صالح من التاريخ</string>
|
||||
<string name="validFromSentence">صالح من:<xliff:g>%s</xliff:g></string>
|
||||
<string name="height">الطول</string>
|
||||
<string name="permissionReadCardsDescription">اقرأ بطاقتك مع جميع التفاصيل، بما فيه الملاحضات والصور</string>
|
||||
<string name="permissionReadCardsDescription">اقرأ بطاقتك مع جميع التفاصيل، بما فيه الملاحظات والصور</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">ظروري لعمل بعض الماسحات الضوئية</string>
|
||||
<string name="permissionReadCardsLabel">اقرأ بطاقات كاتيما</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">حقوق النشر © 2019–<xliff:g>%d</xliff:g> Sylvia van Os والمساهمون</string>
|
||||
<string name="app_copyright_short">حقوق النشر © Sylvia van Os والمساهمون</string>
|
||||
<string name="openFrontImageInGalleryApp">افتح الصورة الأمامية في تطبيق المعرض</string>
|
||||
<string name="show_name_below_image_thumbnail">إظهار الاسم أسفل الصورة المصغرة</string>
|
||||
<string name="show_validity">إظهار الصلاحية</string>
|
||||
<string name="view_online">مشاهدة حية</string>
|
||||
@@ -259,7 +257,6 @@
|
||||
<string name="switchToFrontImage">التبديل إلى الصورة الأمامية</string>
|
||||
<string name="settings_allow_content_provider_read_summary">سيظل يتعين على التطبيقات طلب الإذن لمنحها حق الوصول</string>
|
||||
<string name="setBarcodeHeight">ضبط ارتفاع الباركود</string>
|
||||
<string name="openBackImageInGalleryApp">فتح الصورة الخلفية في تطبيق المعرض</string>
|
||||
<string name="settings_allow_content_provider_read_title">السماح للتطبيقات الأخرى بالوصول إلى بياناتي</string>
|
||||
<string name="donate">تبرّع</string>
|
||||
<string name="show_archived_cards">عرض البطاقات المؤرشفة</string>
|
||||
@@ -280,7 +277,7 @@
|
||||
<string name="spend">انفق</string>
|
||||
<string name="receive">استلم</string>
|
||||
<string name="amountParsingFailed">كمية غير صحيحة</string>
|
||||
<string name="add_manually_warning_message">في بعض المتاجر قيمة الباركود تختلف عن الرقم الموجود على البطاقة. لهذا السبب إدخال الباركود يدوياً لن ينجح دائماً. من المستحسن فحص الباركود بكاميرا بدلا من ذالك. هل انت مُصِر على الاستكمال؟</string>
|
||||
<string name="add_manually_warning_message">بالنسبة لبعض البطاقات، تختلف قيمة الرمز الشريطي عن الرقم المكتوب عليها. لذا، قد لا ينجح إدخال الرمز الشريطي يدويًا دائمًا. يُنصح بمسح الرمز الشريطي باستخدام الكاميرا. هل ما زلت ترغب في المتابعة؟</string>
|
||||
<string name="addFromPdfFile">تحديد ملف PDF</string>
|
||||
<string name="errorReadingFile">لا يمكن قراءة الملف</string>
|
||||
<string name="failedLaunchingFileManager">لم يتم العثور على مدير ملفات مدعوم</string>
|
||||
@@ -291,7 +288,7 @@
|
||||
<string name="exportCancelled">تم الغاء الاستخراج</string>
|
||||
<string name="useFrontImage">استخدام صورة أمامية</string>
|
||||
<string name="useBackImage">استخدم صورة خلفية</string>
|
||||
<string name="addFromPkpass">اختر ملف الدفتر (.pkpass)</string>
|
||||
<string name="addFromPkpass">اختر ملف الدفتر الحساب [Passbook] (.pkpass. / pkpasses)</string>
|
||||
<string name="unsupportedFile">هذا الملف غير مدعوم</string>
|
||||
<string name="generic_error_please_retry">حدث خطأ ما</string>
|
||||
<string name="settings_use_volume_keys_navigation">بدّل البطاقات باستخدام أزرار الصوت</string>
|
||||
@@ -313,4 +310,21 @@
|
||||
<string name="card_list_widget_name">قائمة البطاقات</string>
|
||||
<string name="cardWithNumber">البطاقة <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">البطاقة <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="card_list_widget_empty">بعد أن تضيف بطاقات الولاء في كاتيما، ستظهر هنا. وإذا كنت تملك البطاقات، تأكد من عدم وجودهن جميعا في الأرشفة.</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">نرجو منك عدم تدوير الجهاز، أو سيُلغى هذا الإجراء</string>
|
||||
<string name="acra_catima_has_crashed">نأسف، لقد توقف <xliff:g id="app_name">%s</xliff:g>. ساعدنا في إصلاح هذه المشكلة من خلال إرسال تقرير للأخطاء.</string>
|
||||
<string name="acra_explain_crash">بقدر الإمكان، نرجو منك أن تضيف مزيدا من المعلومات عمَّ كنت تفعل هنا:</string>
|
||||
<string name="acra_crash_email_subject">تقرير الأخطاء لـ<xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="copy_value">قيمة النسخ</string>
|
||||
<string name="copied_to_clipboard">تم النسخ إلى الحافظة</string>
|
||||
<string name="nothing_to_copy">لم يتم العثور على قيمة</string>
|
||||
<string name="barcodeEncoding">طريقة ترميز الرمز الشريطي \"الباركود\"</string>
|
||||
<string name="back">رجوع</string>
|
||||
<string name="pref_enable_acra">إخطار بإرسال تقارير الأخطاء</string>
|
||||
<string name="pref_enable_acra_summary">عند التفعيل, سيتم سؤالك للابلاغ بالاعطال عندما تحدث. لا ولن يتم الابلاغ بالاعطال تلفائيا.</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">وقف NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">وقف NFC لمنع NFC من العمل أثناء عرض بطاقة</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC موقوف</string>
|
||||
<string name="change_settings">تغير الاعدادات</string>
|
||||
<string name="nfc_block_system_error">فشل في ايقاف NFC</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<string name="action_add">Дадаць</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="action_search">Пошук</string>
|
||||
<string name="noGiftCards">Націсніце кнопку + плюс, каб дадаць картку, або імпартуйце праз меню ⋮.</string>
|
||||
<string name="noGiftCards">Націсніце кнопку + плюс, каб дадаць картку, або імпартуйце праз меню ⋮</string>
|
||||
<string name="storeName">Назва</string>
|
||||
<string name="star">Дадаць у абраныя</string>
|
||||
<string name="unstar">Выдаліць з абраных</string>
|
||||
@@ -37,7 +37,7 @@
|
||||
<string name="storageReadPermissionRequired">Для гэтага дзеяння патрабуецца дазвол на чытанне сховішча…</string>
|
||||
<string name="cameraPermissionRequired">Для гэтага дзеяння патрабуецца дазвол на доступ да камеры…</string>
|
||||
<string name="permissionReadCardsLabel">Чытаць карты Catima</string>
|
||||
<string name="exportOptionExplanation">Даныя будуць запісаны ў выбранае вамі месца.</string>
|
||||
<string name="exportOptionExplanation">Даныя будуць запісаны ў выбранае вамі месца</string>
|
||||
<string name="importOptionFilesystemExplanation">Выберыце пэўны файл з файлавай сістэмы.</string>
|
||||
<string name="importOptionFilesystemButton">З файлавай сістэмы</string>
|
||||
<string name="about">Аб праграме</string>
|
||||
@@ -65,7 +65,7 @@
|
||||
<string name="importExport">Імпарт/Экспарт</string>
|
||||
<string name="importOptionFilesystemTitle">Імпарт з файлавай сістэмы</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Аўтарскае права © 2019–<xliff:g>%d</xliff:g> Sylvia van Os і суаўтары</string>
|
||||
<string name="importExportHelp">Рэзервовае капіяванне даных дазваляе перанесці іх на іншую прыладу.</string>
|
||||
<string name="importExportHelp">Рэзервовае капіяванне даных дазваляе перанесці іх на іншую прыладу</string>
|
||||
<string name="failedParsingImportUriError">Не атрымалася разабраць URI імпарту</string>
|
||||
<string name="exportFailedTitle">Не ўдалося экспартаваць</string>
|
||||
<string name="exportFailed">Немагчыма выканаць экспарт</string>
|
||||
@@ -163,7 +163,6 @@
|
||||
<string name="showMoreInfo">Паказаць інфармацыю</string>
|
||||
<string name="updateBalance">Абнавіць баланс</string>
|
||||
<string name="failedToRetrieveImageFile">Не ўдалося атрымаць файл відарысу</string>
|
||||
<string name="barcodeLongPressMessage">У галерэі можна адкрываць толькі відарысы</string>
|
||||
<string name="sort_by_name">Назва</string>
|
||||
<string name="sort_by_most_recently_used">Частата выкарыстання</string>
|
||||
<string name="sort_by_valid_from">Дзейнічае ад</string>
|
||||
@@ -203,7 +202,6 @@
|
||||
<string name="validFromSentence">Дзейнічае з: <xliff:g>%s</xliff:g></string>
|
||||
<string name="height">Вышыня</string>
|
||||
<string name="switchToFrontImage">Пераключыцца на пярэдні відарыс</string>
|
||||
<string name="openBackImageInGalleryApp">Адкрыць задні відарыс у галерэі</string>
|
||||
<string name="setBarcodeHeight">Задаць вышыню штрыхкода</string>
|
||||
<string name="donate">Ахвяраваць</string>
|
||||
<string name="icon_header_click_text">Доўгі націск для рэдагавання мініяцюры</string>
|
||||
@@ -288,7 +286,6 @@
|
||||
<string name="report_error">Паведаміць пра памылку</string>
|
||||
<string name="failedLaunchingPhotoPicker">Не атрымалася знайсці праграму для галерэі, якая падтрымліваецца</string>
|
||||
<string name="unsupportedFile">Гэты файл не падтрымліваецца</string>
|
||||
<string name="openFrontImageInGalleryApp">Адкрыць пярэдні відарыс у галерэі</string>
|
||||
<string name="field_must_not_be_empty">Поле не павінна быць пустым</string>
|
||||
<string name="add_manually_warning_title">Рэкамендуецца сканаванне</string>
|
||||
<string name="errorReadingFile">Не атрымалася прачытаць файл</string>
|
||||
@@ -308,4 +305,8 @@
|
||||
<string name="card_list_widget_empty">Пасля таго, як вы дадасце некалькі картак лаяльнасці ў Catima, яны з\'явяцца тут. Калі ў вас ёсць карты, пераканайцеся, што яны не ўсе заархіваваны.</string>
|
||||
<string name="acra_catima_has_crashed">Прабачце, але ў праграме <xliff:g id="app_name">%s</xliff:g> адбыўся збой. Калі ласка, дапамажыце нам выправіць гэту праблему, даслаўшы нам справаздачу аб памылцы.</string>
|
||||
<string name="back">Назад</string>
|
||||
<string name="copy_value">Скапіяваць значэнне</string>
|
||||
<string name="copied_to_clipboard">Скапіявана ў буфер абмену</string>
|
||||
<string name="nothing_to_copy">Значэнне не знойдзенае</string>
|
||||
<string name="barcodeEncoding">Кадыяванне штрых-кодаў</string>
|
||||
</resources>
|
||||
|
||||
@@ -198,7 +198,6 @@
|
||||
<string name="nextCard">Следваща</string>
|
||||
<string name="failedToOpenUrl">Първо инсталирайте уеб браузър</string>
|
||||
<string name="welcome">Добре дошли при Катима</string>
|
||||
<string name="barcodeLongPressMessage">В приложението галерия могат да бъдат отваряни само изображения</string>
|
||||
<string name="failedToRetrieveImageFile">Не е възможно извличане на изображение</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">За да сканирате щрихкодове с Catima е необходим достъп до камерата. За да промените разрешението докоснете тук.</string>
|
||||
<string name="updateBalanceTitle">Колко е похарчено или получено?</string>
|
||||
@@ -218,8 +217,6 @@
|
||||
<string name="switchToFrontImage">Показване на предната страна</string>
|
||||
<string name="switchToBackImage">Показване на задната страна</string>
|
||||
<string name="switchToBarcode">Показване на щрихкода</string>
|
||||
<string name="openFrontImageInGalleryApp">Отваряне на изображението на предната страна в приложение за преглед за изображения</string>
|
||||
<string name="openBackImageInGalleryApp">Отваряне на изображението на задната страна в приложение за преглед за изображения</string>
|
||||
<string name="setBarcodeHeight">Задаване на височина на щрихкода</string>
|
||||
<string name="donate">Даряване</string>
|
||||
<string name="icon_header_click_text">Задръжте, за да промените миниатюрата</string>
|
||||
@@ -300,6 +297,14 @@
|
||||
<string name="copied_to_clipboard">Копирано</string>
|
||||
<string name="nothing_to_copy">Няма стойност</string>
|
||||
<string name="back">Назад</string>
|
||||
<string name="automatic">Автоматично</string>
|
||||
<string name="barcodeEncoding">Кодиране на щрихкода</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Пауза на NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Спира NFC, за да бъдат предотвратени безконтактни плащания при преглед на карта</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC е на пауза</string>
|
||||
<string name="change_settings">Настройки</string>
|
||||
<string name="nfc_block_system_error">Грешка при спиране на NFC</string>
|
||||
<string name="sort_by_most_recently_added">Поредност на добавяне</string>
|
||||
<string name="zoomFrontImage">Увеличаване на предното изображение</string>
|
||||
<string name="zoomBackImage">Увеличаване на задното изображение</string>
|
||||
<string name="show_card_id">Показване номера на картата</string>
|
||||
</resources>
|
||||
|
||||
@@ -193,7 +193,6 @@
|
||||
<string name="settings_oled_dark">অন্ধকার থিমের জন্য খাঁটি কালো পটভূমি</string>
|
||||
<string name="setIcon">আইকন সেট করুন</string>
|
||||
<string name="updateBalance">ব্যালেন্স আপডেট করুন</string>
|
||||
<string name="barcodeLongPressMessage">গ্যালারি অ্যাপে শুধুমাত্র ছবি খোলা যাবে</string>
|
||||
<string name="translate_platform">Weblate-এ</string>
|
||||
<string name="on_google_play">Google Play-তে</string>
|
||||
<string name="shortcutSelectCard">একটি কার্ড নির্বাচন করুন</string>
|
||||
@@ -225,8 +224,6 @@
|
||||
<string name="switchToBackImage">পিছনের ছবিটিতে সুইচ করুন</string>
|
||||
<string name="switchToFrontImage">সামনের ছবিটিতে সুইচ করুন</string>
|
||||
<string name="switchToBarcode">বারকোডে সুইচ করুন</string>
|
||||
<string name="openFrontImageInGalleryApp">সামনের ছবিটি গ্যালারি অ্যাপে খুলুন</string>
|
||||
<string name="openBackImageInGalleryApp">পিছনের ছবিটি গ্যালারি অ্যাপে খুলুন</string>
|
||||
<string name="setBarcodeHeight">বারকোডের উচ্চতা সেট করুন</string>
|
||||
<string name="icon_header_click_text">দীর্ঘক্ষন টাচ করে থাম্বনেইল এডিট করবেন</string>
|
||||
<string name="show_balance">ব্যালান্স দেখান</string>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="save">Snimi</string>
|
||||
<string name="cancel">Odustani</string>
|
||||
<string name="unstar">Ukloni iz omiljenih</string>
|
||||
@@ -8,15 +8,15 @@
|
||||
<string name="note">Zabilješka</string>
|
||||
<string name="storeName">Ime</string>
|
||||
<string name="noMatchingGiftCards">Nema rezultata. Pokušaj promijeniti pretragu.</string>
|
||||
<string name="noGiftCards">Kliknite + Plus dugme da dodate kartu ili uvezete nešto iz menija prvo.</string>
|
||||
<string name="noGiftCards">Kliknite na dugme + plus da biste dodali karticu ili je uvezite iz ⋮ menija</string>
|
||||
<string name="action_add">Dodaj</string>
|
||||
<string name="all">Sve</string>
|
||||
<string name="noGroupCards">Ova grupa ne sadrži nikakve karte</string>
|
||||
<string name="noGroups">Kliknite + Plus dugme da dodate grupe za kategorizaciju prvo.</string>
|
||||
<string name="noGroupCards">Ova grupa je prazna</string>
|
||||
<string name="noGroups">Kliknite na dugme + plus da biste dodali grupe za kategorizaciju</string>
|
||||
<string name="groups">Grupe</string>
|
||||
<string name="enter_group_name">Unesite ime grupe</string>
|
||||
<string name="exportSuccessful">Podaci o kartama izvožen</string>
|
||||
<string name="importSuccessful">Uvezeni podaci o kartama</string>
|
||||
<string name="exportSuccessful">Izvezeni podaci</string>
|
||||
<string name="importSuccessful">Uvezeni podaci</string>
|
||||
<string name="intent_import_card_from_url_share_text">Želim podijeliti čestitku s tobom</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Spriječi zaključavanje ekrana</string>
|
||||
<string name="settings_keep_screen_on">Zadrži ekran</string>
|
||||
@@ -28,38 +28,38 @@
|
||||
<string name="importLoyaltyCardKeychain">Uvezi iz Loyalty Card Keychain</string>
|
||||
<string name="importVoucherVault">Uvezi iz trezora vaučer</string>
|
||||
<string name="barcodeId">Barcode vrijednost</string>
|
||||
<string name="sameAsCardId">Isto kao i kartica</string>
|
||||
<string name="sameAsCardId">Isto kao i ID</string>
|
||||
<string name="setBarcodeId">Postavi vrijednost za bar kod</string>
|
||||
<string name="unsupportedBarcodeType">Ovaj bar kod još nije prikazan. Ona može biti podržana u kasnijoj verziji app.</string>
|
||||
<string name="wrongValueForBarcodeType">Izabrana vrijednost nije izvršna</string>
|
||||
<string name="wrongValueForBarcodeType">Vrijednost nije važeća za odabrani tip barkoda</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Želim podijeliti karte s tobom</string>
|
||||
<string name="frontImageDescription">Slika kartice</string>
|
||||
<string name="backImageDescription">Slika pozadine kartice</string>
|
||||
<string name="frontImageDescription">Prednja slika</string>
|
||||
<string name="backImageDescription">Stražnja slika</string>
|
||||
<string name="photos">Slike</string>
|
||||
<string name="setFrontImage">Postavi naslovnu sliku</string>
|
||||
<string name="setBackImage">Vrati sliku</string>
|
||||
<string name="removeImage">Ukloni sliku</string>
|
||||
<string name="takePhoto">Slikaj</string>
|
||||
<string name="updateBarcodeQuestionTitle">Ažurirati bar kod vrijednost\?</string>
|
||||
<string name="updateBarcodeQuestionText">Promijenio si auto. Da li želite ažurirati bar kod koristiti istu vrijednost\?</string>
|
||||
<string name="updateBarcodeQuestionText">Promijenili ste ID. Želite li ažurirati i barkod da koristi istu vrijednost?</string>
|
||||
<string name="yes">Da</string>
|
||||
<string name="no">Ne.</string>
|
||||
<string name="passwordRequired">Upišite šifru</string>
|
||||
<string name="failedGeneratingShareURL">Ne mogu generisati oštriji URL. Molim vas, prijavite ovo.</string>
|
||||
<string name="passwordRequired">Unesite lozinku</string>
|
||||
<string name="failedGeneratingShareURL">Nije moguće generirati URL za dijeljenje</string>
|
||||
<string name="turn_flashlight_on">Upali lampu</string>
|
||||
<string name="turn_flashlight_off">Ugasi lampu</string>
|
||||
<string name="settings_locale">Jezik</string>
|
||||
<string name="settings_system_locale">Sistem</string>
|
||||
<string name="sort">Poništi sortiranje</string>
|
||||
<string name="sort_by_name">Ime</string>
|
||||
<string name="sort_by_most_recently_used">Nedavno Korišten</string>
|
||||
<string name="sort_by_most_recently_used">Najnovije korišteno</string>
|
||||
<string name="sort_by_expiry">Sajam</string>
|
||||
<string name="reverse">Rikverc</string>
|
||||
<string name="reverse">...obrnutim redoslijedom</string>
|
||||
<string name="sort_by">Sortiraj</string>
|
||||
<string name="noCardExistsError">Nisam mogao pronaći tu karticu</string>
|
||||
<string name="noCardExistsError">Nisam mogao/la pronaći tu karticu</string>
|
||||
<string name="noCardsMessage">Dodaj prvo kartu</string>
|
||||
<string name="addCardTitle">Dodaj Kartu</string>
|
||||
<string name="editCardTitle">Izmijeni Karticu</string>
|
||||
<string name="addCardTitle">Dodaj karticu</string>
|
||||
<string name="editCardTitle">Uredi karticu</string>
|
||||
<string name="sendLabel">Pošalji…</string>
|
||||
<string name="share">Podijeli</string>
|
||||
<string name="deleteConfirmation">Izbriši trajno ovu karticu\?</string>
|
||||
@@ -72,25 +72,236 @@
|
||||
<string name="exportFailed">Nisam uspio izvršiti izvoz</string>
|
||||
<string name="app_copyright_old">Bazirano na Loyalty Card privjesku
|
||||
\ncopyright © 2016-2020 Branden Archer</string>
|
||||
<string name="noGiftCardsGroup">Kreirajte kartice, i dodajte ih ovdje u grupu.</string>
|
||||
<string name="importExportHelp">Backupovanje vaših podataka omogućava njihov prenos na drugi uređaj.</string>
|
||||
<string name="noGiftCardsGroup">Napravite nekoliko kartica, a zatim ih dodijelite grupi ovdje</string>
|
||||
<string name="importExportHelp">Pravljenje sigurnosne kopije podataka omogućava njihovo premještanje na drugi uređaj</string>
|
||||
<string name="importSuccessfulTitle">Uvezeno</string>
|
||||
<string name="exportFailedTitle">Izvoz neuspješan</string>
|
||||
<string name="scanCardBarcode">Skeniraj barkod</string>
|
||||
<string name="cardShortcut">Prečica kartice</string>
|
||||
<string name="failedParsingImportUriError">Nisam uspio parsirati URI za uvoz</string>
|
||||
<string name="importExport">Uvoz/Izvoz</string>
|
||||
<string name="failedParsingImportUriError">Nemogu analizirati URI za uvoz</string>
|
||||
<string name="importExport">Uvoz/izvoz</string>
|
||||
<string name="exportName">Izvoz</string>
|
||||
<string name="importFailedTitle">Uvoz neuspješan</string>
|
||||
<string name="importFailed">Nisam uspio odraditi uvoz</string>
|
||||
<string name="exportSuccessfulTitle">Izvezeno</string>
|
||||
<string name="importing">Uvozim…</string>
|
||||
<string name="exporting">Izvozim…</string>
|
||||
<string name="exportOptionExplanation">Ovi podaci će biti zapisani na lokaciju po Vašoj želji.</string>
|
||||
<string name="exportOptionExplanation">Podaci će biti zapisani na lokaciju po vašem izboru</string>
|
||||
<string name="importOptionFilesystemTitle">Uvoz iz file sistema</string>
|
||||
<string name="importOptionFilesystemExplanation">Izaberite specifični file iz file sistema.</string>
|
||||
<string name="importOptionFilesystemExplanation">Odaberite određenu datoteku iz datotečnog sistema</string>
|
||||
<string name="importOptionFilesystemButton">Iz file sistema</string>
|
||||
<string name="about">O</string>
|
||||
<string name="noBarcode">Nema barkoda</string>
|
||||
<string name="deleteTitle">Obriši karticu</string>
|
||||
</resources>
|
||||
<string name="app_name">Catima</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> odabran</item>
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> odabranih</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> odabrano</item>
|
||||
</plurals>
|
||||
<string name="cameraPermissionRequired">Za ovu radnju potrebna je dozvola za pristup kameri…</string>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">Obriši <xliff:g>%d</xliff:g> karticu</item>
|
||||
<item quantity="few">Obriši <xliff:g>%d</xliff:g> kartice</item>
|
||||
<item quantity="other">Obriši <xliff:g>%d</xliff:g> kartica</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Trajno izbrisati ovu <xliff:g>%d</xliff:g> karticu?</item>
|
||||
<item quantity="few">Trajno izbrisati ove <xliff:g>%d</xliff:g> kartice?</item>
|
||||
<item quantity="other">Trajno izbrisati ovih <xliff:g>%d</xliff:g> kartica?</item>
|
||||
</plurals>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> kartica</item>
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> kartice</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> kartica</item>
|
||||
</plurals>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> poen</item>
|
||||
<item quantity="few"><xliff:g>%s</xliff:g> poena</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> poena</item>
|
||||
</plurals>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
|
||||
<item quantity="few"><xliff:g>%1$d</xliff:g> kartice (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> archived)</item>
|
||||
</plurals>
|
||||
<string name="barcodeImageDescriptionWithType">Slika <xliff:g>%s</xliff:g> barkoda</string>
|
||||
<string name="storageReadPermissionRequired">Za ovu radnju potrebna je dozvola za čitanje pohrane…</string>
|
||||
<string name="permissionReadCardsLabel">Čitajte Catima kartice</string>
|
||||
<string name="permissionReadCardsDescription">da pročita vaše Catima kartice i sve njihove detalje, uključujući bilješke i slike</string>
|
||||
<string name="cameraPermissionDeniedTitle">Nije bilo moguće pristupiti kameri</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Za skeniranje barkodova, Catima će trebati pristup vašoj kameri. Dodirnite ovdje da promijenite postavke dozvola.</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Autorska prava © 2019–<xliff:g>%d</xliff:g> Sylvia van Os i saradnici</string>
|
||||
<string name="app_copyright_short">Autorska prava © Sylvia van Os i saradnici</string>
|
||||
<string name="app_license">Slobodni softver zaštićen autorskim pravom, licenciran pod GPLv3+</string>
|
||||
<string name="about_title_fmt">O aplikaciji <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Verzija: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_libraries">Biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Resursi trećih strana: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="selectBarcodeTitle">Odaberite barkod</string>
|
||||
<string name="thumbnailDescription">Sličica</string>
|
||||
<string name="settings">Postavke</string>
|
||||
<string name="failedOpeningFileManager">Nije moguće otvoriti upravitelj datoteka</string>
|
||||
<string name="moveUp">Pomakni se prema gore</string>
|
||||
<string name="moveDown">Pomakni se prema dolje</string>
|
||||
<string name="leaveWithoutSaveTitle">Izlaz</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Napustiti bez spremanja?</string>
|
||||
<string name="addManually">Ručno unesite barkod</string>
|
||||
<string name="addFromImage">Odaberite sliku iz galerije</string>
|
||||
<string name="groupsList">Grupe: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Grupa za uređivanje: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Ističe: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Isteklo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="balanceSentence">Stanje: <xliff:g>%s</xliff:g></string>
|
||||
<string name="card">Kartica</string>
|
||||
<string name="editBarcode">Uredi barkod</string>
|
||||
<string name="expiryDate">Datum isteka</string>
|
||||
<string name="never">Nikad</string>
|
||||
<string name="chooseExpiryDate">Odaberite datum isteka</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Pomaknite barkod na vrh ekrana</string>
|
||||
<string name="noBarcodeFound">Nije pronađen barkod</string>
|
||||
<string name="errorReadingImage">Nisam mogao/la pročitati sliku</string>
|
||||
<string name="balance">Stanje</string>
|
||||
<string name="currency">Valuta</string>
|
||||
<string name="points">Bodovi</string>
|
||||
<string name="balanceParsingFailed">Nevažeći saldo</string>
|
||||
<string name="chooseImportType">Uvoz podataka iz</string>
|
||||
<string name="app_loyalty_card_keychain">Privjesak za ključeve s karticom vjernosti</string>
|
||||
<string name="privacy_policy">Politika privatnosti</string>
|
||||
<string name="accept">Prihvati</string>
|
||||
<string name="importFidme">Uvoz iz FidMe-a</string>
|
||||
<string name="importFidmeMessage">Odaberite izvoz iz FidMe-a za uvoz i nakon toga ručno odaberite vrste barkodova. \nKreirajte ga iz svog FidMe profila odabirom Zaštita podataka, a zatim pritiskom na Izdvoji moje podatke.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Odaberite svoj izvoz iz Privjeska za ključeve s karticom vjernosti za uvoz.\nKreirajte ga iz menija Uvoz/Izvoz u Privjesku za ključeve s karticom vjernosti pritiskom na Izvoz.</string>
|
||||
<string name="importVoucherVaultMessage">Odaberite izvoz iz Voucher Vaulta za uvoz. \nKreirajte ga pritiskom na Izvoz u Voucher Vaultu.</string>
|
||||
<string name="switchToBarcode">Prebaci na barkod</string>
|
||||
<string name="switchToBackImage">Prebaci na sliku iz pozadine</string>
|
||||
<string name="switchToFrontImage">Prebaci na prednju sliku</string>
|
||||
<string name="height">Visina</string>
|
||||
<string name="validFromSentence">Važi od: <xliff:g>%s</xliff:g></string>
|
||||
<string name="chooseValidFromDate">Odaberite datum važenja od</string>
|
||||
<string name="anyDate">Bilo koji datum</string>
|
||||
<string name="validFromDate">Vrijedi od</string>
|
||||
<string name="newBalanceSentence">Novo stanje: <xliff:g>%s</xliff:g></string>
|
||||
<string name="currentBalanceSentence">Trenutno stanje: <xliff:g>%s</xliff:g></string>
|
||||
<string name="updateBalanceHint">Unesite iznos</string>
|
||||
<string name="updateBalanceTitle">Koliko ste potrošili ili primili?</string>
|
||||
<string name="importCards">Uvezi kartice</string>
|
||||
<string name="welcome">Dobrodošli u Catima</string>
|
||||
<string name="failedToOpenUrl">Prvo instalirajte web preglednik</string>
|
||||
<string name="nextCard">Sljedeće</string>
|
||||
<string name="previousCard">Prethodno</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nemogu pronaći podržani alat za odabir slika</string>
|
||||
<string name="unarchived">Kartica je vraćena iz arhive</string>
|
||||
<string name="archived">Kartica je arhivirana</string>
|
||||
<string name="unarchive">Vrati iz arhive</string>
|
||||
<string name="archive">Arhiva</string>
|
||||
<string name="duplicateCard">Duplikat</string>
|
||||
<string name="include_if_asking_support">Ako želite zatražiti podršku, uključite sljedeće informacije:</string>
|
||||
<string name="starred">Označeno zvjezdicom</string>
|
||||
<string name="options">Opcije</string>
|
||||
<string name="shortcutSelectCard">Odaberite karticu</string>
|
||||
<string name="translate_platform">na Weblateu</string>
|
||||
<string name="report_error">Prijavi grešku</string>
|
||||
<string name="on_google_play">na Google Play</string>
|
||||
<string name="rate_this_app">Ocijenite ovu aplikaciju</string>
|
||||
<string name="and_data_usage">i korištenje podataka</string>
|
||||
<string name="on_github">na GitHubu</string>
|
||||
<string name="source_repository">Izvorni repozitorij</string>
|
||||
<string name="license">Licenca</string>
|
||||
<string name="help_translate_this_app">Pomozite u prevođenju ove aplikacije</string>
|
||||
<string name="credits">Zasluge</string>
|
||||
<string name="version_history">Historija verzija</string>
|
||||
<string name="sort_by_valid_from">Vrijedi od</string>
|
||||
<string name="failedToRetrieveImageFile">Neuspjevam preuzimanje slikovne datoteke</string>
|
||||
<string name="updateBalance">Ažuriraj stanje</string>
|
||||
<string name="showMoreInfo">Prikaži informacije</string>
|
||||
<string name="app_contributors">Omogućeno zahvaljujući: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="setIcon">Postavi sličicu</string>
|
||||
<string name="selectColor">Odaberite boju</string>
|
||||
<string name="settings_oled_dark_summary">Smanjuje potrošnju baterije na OLED ekranima</string>
|
||||
<string name="settings_oled_dark">Čisto crna pozadina za tamnu temu</string>
|
||||
<string name="exportPasswordHint">Unesite lozinku</string>
|
||||
<string name="exportPassword">Postavite lozinku za zaštitu izvoza (opcionalno)</string>
|
||||
<string name="back">Nazad</string>
|
||||
<string name="barcodeEncoding">Kodiranje barkoda</string>
|
||||
<string name="nothing_to_copy">Nije pronađena vrijednost</string>
|
||||
<string name="settings_dark_theme">Tamno</string>
|
||||
<string name="settings_display_barcode_max_brightness">Posvijetli ekran</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Neophodno za rad nekih skenera</string>
|
||||
<string name="settings_keep_screen_on_summary">Onemogućava istek vremena ekrana tokom pregleda kartice</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Onemogućava zaključavanje ekrana tokom pregleda kartice</string>
|
||||
<string name="settings_allow_content_provider_read_title">Dozvoli drugim aplikacijama pristup mojim podacima</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Aplikacije će i dalje morati tražiti dozvolu za pristup</string>
|
||||
<string name="settings_use_volume_keys_navigation">Prebacivanje kartica pomoću tipki za jačinu zvuka</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Koristite tipke za jačinu zvuka da promijenite koja se kartica prikazuje</string>
|
||||
<string name="group_edit">Uredi grupu</string>
|
||||
<string name="group_name_already_in_use">Naziv grupe se već koristi</string>
|
||||
<string name="group_name_is_empty">Naziv grupe ne smije biti prazan</string>
|
||||
<string name="group_updated">Grupa ažurirana</string>
|
||||
<string name="deleteConfirmationGroup">Izbrisati grupu?</string>
|
||||
<string name="setBarcodeHeight">Postavi visinu barkoda</string>
|
||||
<string name="donate">Donirajte</string>
|
||||
<string name="icon_header_click_text">Dugo pritisnite za uređivanje sličice</string>
|
||||
<string name="show_name_below_image_thumbnail">Prikaži ime ispod sličice slike</string>
|
||||
<string name="show_note">Prikaži bilješku</string>
|
||||
<string name="show_balance">Prikaži stanje</string>
|
||||
<string name="show_validity">Prikaži validnost</string>
|
||||
<string name="settings_category_title_cards">Prikaz kartice</string>
|
||||
<string name="settings_category_title_cards_overview">Pregled kartica</string>
|
||||
<string name="settings_column_count_portrait">Kolone u portretnom načinu rada</string>
|
||||
<string name="settings_column_count_landscape">Kolone u pejzažnom načinu rada</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_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_category_title_general">Općenito</string>
|
||||
<string name="settings_category_title_privacy">Privatnost</string>
|
||||
<string name="action_display_options">Opcije prikaza</string>
|
||||
<string name="show_archived_cards">Prikaži arhivirane kartice</string>
|
||||
<string name="view_online">Pogledajte online</string>
|
||||
<string name="action_more_options">Više opcija</string>
|
||||
<string name="addWithoutBarcode">Dodajte karticu bez barkoda</string>
|
||||
<string name="enter_card_id">Unesite ID broj ili tekst sa vaše kartice</string>
|
||||
<string name="card_id_must_not_be_empty">ID kartice ne smije biti prazan</string>
|
||||
<string name="add_a_card_in_a_different_way">Dodajte karticu na drugačiji način</string>
|
||||
<string name="field_must_not_be_empty">Polje ne smije biti prazno</string>
|
||||
<string name="manually_enter_barcode_instructions">Unesite ID broj ili tekst sa vaše kartice i pritisnite barkod koji izgleda kao onaj na vašoj kartici.</string>
|
||||
<string name="add_manually_warning_title">Preporučuje se skeniranje</string>
|
||||
<string name="add_manually_warning_message">Za neke kartice, vrijednost barkoda se razlikuje od broja napisanog na kartici. Zbog toga, ručni unos barkoda možda neće uvijek funkcionirati. Preporučuje se skeniranje barkoda kamerom. Želite li i dalje nastaviti?</string>
|
||||
<string name="continue_">Nastavi</string>
|
||||
<string name="spend">Potroši</string>
|
||||
<string name="receive">Primi</string>
|
||||
<string name="amountParsingFailed">Nevažeći iznos</string>
|
||||
<string name="addFromPdfFile">Odaberite PDF datoteku</string>
|
||||
<string name="errorReadingFile">Nisam mogao pročitati datoteku</string>
|
||||
<string name="failedLaunchingFileManager">Nije pronađen podržani upravitelj datoteka</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Koji od pronađenih barkodova želite koristiti?</string>
|
||||
<string name="pageWithNumber">Stranica <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Izgleda da vaš uređaj nema kameru. Ako je ima, pokušajte ponovo pokrenuti uređaj. U suprotnom, koristite dugme Više opcija ispod da biste dodali barkod na drugi način.</string>
|
||||
<string name="importCancelled">Uvoz otkazan</string>
|
||||
<string name="exportCancelled">Izvoz otkazan</string>
|
||||
<string name="useFrontImage">Koristi prednju sliku</string>
|
||||
<string name="useBackImage">Koristi sliku sa zadnje strane</string>
|
||||
<string name="addFromPkpass">Odaberite Passbook datoteku (.pkpass / .pkpasses)</string>
|
||||
<string name="unsupportedFile">Ova datoteka nije podržana</string>
|
||||
<string name="generic_error_please_retry">Došlo je do greške</string>
|
||||
<string name="width">Širina</string>
|
||||
<string name="card_list_widget_name">Lista kartica</string>
|
||||
<string name="setBarcodeWidth">Postavi širinu barkoda</string>
|
||||
<string name="card_list_widget_empty">Nakon što dodate neke kartice vjernosti u Catima, one će se pojaviti ovdje. Ako imate kartice, provjerite da nisu sve arhivirane.</string>
|
||||
<string name="cardWithNumber">Kartica <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">Kartica <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Molimo vas da ne rotirate uređaj, jer će to prekinuti radnju</string>
|
||||
<string name="acra_catima_has_crashed">Žao nam je, ali aplikacija <xliff:g id="app_name">%s</xliff:g> se srušila. Molimo vas da nam pomognete da riješimo ovaj problem slanjem izvještaja o grešci.</string>
|
||||
<string name="acra_explain_crash">Ako je moguće, molimo vas da dodate više detalja o tome šta ste ovdje radili:</string>
|
||||
<string name="acra_crash_email_subject">Izvještaj o padu aplikacije <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="pref_enable_acra">Zatraži slanje izvještaja o padu programa</string>
|
||||
<string name="pref_enable_acra_summary">Kada je omogućeno, bit ćete upitani da prijavite pad sistema kada se dogodi. Izvještaji o padu sistema se nikada ne šalju automatski.</string>
|
||||
<string name="copy_value">Kopiraj vrijednost</string>
|
||||
<string name="copied_to_clipboard">Kopirano u međuspremnik</string>
|
||||
<string name="importCatimaMessage">Odaberite izvoz iz Catima za uvoz. \nKreirajte ga iz menija Uvoz/izvoz druge Catima aplikacije pritiskom na Izvoz.</string>
|
||||
</resources>
|
||||
|
||||
@@ -72,7 +72,6 @@
|
||||
<string name="no">No</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>
|
||||
@@ -167,7 +166,6 @@
|
||||
<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 l\'URI d\'importació</string>
|
||||
<string name="openFrontImageInGalleryApp">Obrir la imatge frontal a l\'app de galeria</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="starred">Preferides</string>
|
||||
@@ -183,7 +181,6 @@
|
||||
<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>
|
||||
|
||||
@@ -203,7 +203,6 @@
|
||||
<string name="nextCard">Následující</string>
|
||||
<string name="failedToOpenUrl">Nejprve nainstalujte webový prohlížeč</string>
|
||||
<string name="welcome">Vítejte v Catima</string>
|
||||
<string name="barcodeLongPressMessage">V aplikaci pro galerii mohou být otevírány pouze obrázky</string>
|
||||
<string name="failedToRetrieveImageFile">Nepodařilo se získat soubor obrázku</string>
|
||||
<string name="cameraPermissionDeniedTitle">Nepodařilo se získat přístup k fotoaparátu</string>
|
||||
<string name="importCards">Importovat karty</string>
|
||||
@@ -223,8 +222,6 @@
|
||||
<string name="switchToFrontImage">Přepnout na přední obrázek</string>
|
||||
<string name="switchToBackImage">Přepnout na zadní obrázek</string>
|
||||
<string name="switchToBarcode">Přepnout na čárový kód</string>
|
||||
<string name="openFrontImageInGalleryApp">Otevřít přední obrázek v aplikaci prohlížeče obrázků</string>
|
||||
<string name="openBackImageInGalleryApp">Otevřít zadní obrázek v aplikaci prohlížeče obrázků</string>
|
||||
<string name="setBarcodeHeight">Nastavit výšku čárového kódu</string>
|
||||
<string name="donate">Přispět</string>
|
||||
<string name="icon_header_click_text">Dlouhým stisknutím miniaturu upravíte</string>
|
||||
@@ -306,6 +303,14 @@
|
||||
<string name="copied_to_clipboard">Zkopírováno do schránky</string>
|
||||
<string name="nothing_to_copy">Nenalezena žádná hodnota</string>
|
||||
<string name="barcodeEncoding">Kódování čárového kódu</string>
|
||||
<string name="automatic">Automatické</string>
|
||||
<string name="back">Zpět</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pozastavit NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pozastaví NFC pro zabránění spuštění NFC plateb při zobrazování karty</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC je pozastaveno</string>
|
||||
<string name="change_settings">Změnit nastavení</string>
|
||||
<string name="nfc_block_system_error">Nepodařilo se pozastavit NFC</string>
|
||||
<string name="sort_by_most_recently_added">Nedávno přidáno</string>
|
||||
<string name="zoomFrontImage">Přiblížit přední obrázek</string>
|
||||
<string name="zoomBackImage">Přiblížit zadní obrázek</string>
|
||||
<string name="show_card_id">Zobrazit ID karty</string>
|
||||
</resources>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<string name="note">Bemærk</string>
|
||||
<string name="storeName">Navn</string>
|
||||
<string name="noMatchingGiftCards">Ingen resultater. Prøv at ændre din søgning.</string>
|
||||
<string name="noGiftCards">Klik på + plus-knappen for at tilføje et kort, eller importer kort fra ⋮ menuen.</string>
|
||||
<string name="noGiftCards">Klik på + plus-knappen for at tilføje et kort, eller importer kort fra ⋮ menuen</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> valgt kort</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> valgte kort</item>
|
||||
|
||||
@@ -197,7 +197,6 @@
|
||||
<string name="nextCard">Nächste</string>
|
||||
<string name="failedToOpenUrl">Bitte installiere zuerst einen Webbrowser</string>
|
||||
<string name="welcome">Willkommen bei Catima</string>
|
||||
<string name="barcodeLongPressMessage">In der Galerie können nur Bilder geöffnet werden</string>
|
||||
<string name="failedToRetrieveImageFile">Bilddatei konnte nicht abgerufen werden</string>
|
||||
<string name="updateBalanceTitle">Wie viel hast du ausgegeben oder erhalten?</string>
|
||||
<string name="cameraPermissionDeniedTitle">Kein Zugriff auf die Kamera</string>
|
||||
@@ -215,8 +214,6 @@
|
||||
<string name="anyDate">Beliebiges Datum</string>
|
||||
<string name="icon_header_click_text">Zum Bearbeiten des Vorschaubildes lang drücken</string>
|
||||
<string name="switchToBarcode">Zum Barcode wechseln</string>
|
||||
<string name="openFrontImageInGalleryApp">Vorderseite in Bildbetrachter öffnen</string>
|
||||
<string name="openBackImageInGalleryApp">Rückseite in Bildbetrachter öffnen</string>
|
||||
<string name="height">Höhe</string>
|
||||
<string name="switchToFrontImage">Zur Vorderseite wechseln</string>
|
||||
<string name="switchToBackImage">Zur Rückseite wechseln</string>
|
||||
@@ -300,6 +297,15 @@
|
||||
<string name="copied_to_clipboard">In die Zwischenablage kopiert</string>
|
||||
<string name="nothing_to_copy">Keinen Betrag gefunden</string>
|
||||
<string name="barcodeEncoding">Barcode-Kodierung</string>
|
||||
<string name="automatic">Automatisch</string>
|
||||
<string name="back">Zurück</string>
|
||||
<string name="change_settings">Einstellungen ändern</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC ist vorübergehend deaktiviert</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Deaktiviert vorübergehend NFC, sodass keine NFC-Zahlungen ausgelöst werden können, während eine Karte angezeigt wird</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFC vorübergehend deaktivieren</string>
|
||||
<string name="nfc_block_system_error">Pausieren von NFC ist fehlgeschlagen</string>
|
||||
<string name="show_card_id">Karten-ID anzeigen</string>
|
||||
<string name="zoomBackImage">Rückseite vergrößern</string>
|
||||
<string name="zoomFrontImage">Vorderseite vergrößern</string>
|
||||
<string name="sort_by_most_recently_added">Zuletzt hinzugefügt</string>
|
||||
<string name="open_in_gallery">In Bildergalerie öffnen</string>
|
||||
</resources>
|
||||
|
||||
@@ -200,7 +200,6 @@
|
||||
<string name="previousCard">Προηγούμενη</string>
|
||||
<string name="nextCard">Επόμενη</string>
|
||||
<string name="updateBalance">Ενημέρωση υπολοίπου</string>
|
||||
<string name="barcodeLongPressMessage">Μόνο εικόνες μπορούν να ανοιχτούν στην εφαρμογή φωτογραφιών</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Για να σκανάρετε γραμμωτούς κώδικες, θα χρειαστεί πρόσβαση στην κάμερα από το Catima. Πατήστε εδώ για να δώσετε πρόσβαση.</string>
|
||||
<string name="importCards">Εισαγωγή καρτών</string>
|
||||
<string name="updateBalanceHint">Εισάγετε ποσό</string>
|
||||
@@ -219,11 +218,9 @@
|
||||
<string name="switchToBarcode">Μετάβαση σε γραμμωτό κώδικα</string>
|
||||
<string name="validFromSentence">Ισχύει από: <xliff:g>%s</xliff:g></string>
|
||||
<string name="permissionReadCardsLabel">Διαβάστε τις κάρτες Catima</string>
|
||||
<string name="openBackImageInGalleryApp">Ανοίξτε την οπίσθια εικόνα στη συλλογή εικόνων</string>
|
||||
<string name="permissionReadCardsDescription">Διάβασε τις Κάρτες σου Catima και όλες τους τις λεπτομέρειες, συμπεριλαμβανομένων των σημειώσεων και των εικόνων</string>
|
||||
<string name="donate">Δωρεά</string>
|
||||
<string name="icon_header_click_text">Πατήστε παρατεταμένα για επεξεργασία του εικονιδίου</string>
|
||||
<string name="openFrontImageInGalleryApp">Ανοίξτε την εμπρόσθια εικόνα στη συλλογή εικόνων</string>
|
||||
<string name="storageReadPermissionRequired">Δικαίωμα ανάγνωσης του χώρου αποθήκευσης απαραίτητο για αυτήν την ενέργεια…</string>
|
||||
<string name="validFromDate">Ισχύει από</string>
|
||||
<string name="anyDate">Οποιαδήποτε ημερομηνία</string>
|
||||
@@ -299,7 +296,16 @@
|
||||
<string name="copy_value">Αντιγραφή τιμής</string>
|
||||
<string name="copied_to_clipboard">Αντιγράφηκε στο πρόχειρο</string>
|
||||
<string name="nothing_to_copy">Δεν βρέθηκε τιμή</string>
|
||||
<string name="automatic">Αυτόματη</string>
|
||||
<string name="barcodeEncoding">Κωδικοποίηση γραμμωτού κώδικα</string>
|
||||
<string name="back">Πίσω</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Παύση NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Παύση του NFC για την αποτροπή ενεργοποίησης πληρωμών NFC κατά την προβολή μιας κάρτας</string>
|
||||
<string name="nfc_blocked_while_viewing_card">Το NFC είναι σε παύση</string>
|
||||
<string name="change_settings">Αλλαγή ρυθμίσεων</string>
|
||||
<string name="nfc_block_system_error">Αποτυχία παύσης NFC</string>
|
||||
<string name="sort_by_most_recently_added">Πρόσφατα προστεθέντα</string>
|
||||
<string name="zoomFrontImage">Μεγέθυνση μπροστινής εικόνας</string>
|
||||
<string name="zoomBackImage">Μεγέθυνση πίσω εικόνας</string>
|
||||
<string name="show_card_id">Εμφάνιση ταυτότητας κάρτας</string>
|
||||
<string name="open_in_gallery">Άνοιγμα στη συλλογή εικόνων</string>
|
||||
</resources>
|
||||
|
||||
@@ -165,7 +165,6 @@
|
||||
<string name="chooseImportType">Importi datumojn de</string>
|
||||
<string name="importCatima">Importi el Catima</string>
|
||||
<string name="updateBalance">Ĝisdatigi saldon</string>
|
||||
<string name="barcodeLongPressMessage">Nur bildoj povas esti malfermitaj en la galeria apo</string>
|
||||
<string name="sort_by_name">Nomo</string>
|
||||
<string name="sort_by_most_recently_used">Plej laste uzitaj</string>
|
||||
<string name="sort_by_expiry">Dato de eksvalidiĝo</string>
|
||||
@@ -180,8 +179,6 @@
|
||||
<string name="newBalanceSentence">Nova saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="anyDate">Iam ajn</string>
|
||||
<string name="switchToFrontImage">Ŝanĝi al antaŭa bildo</string>
|
||||
<string name="openFrontImageInGalleryApp">Malfermi la antaŭan bildon en galeria apo</string>
|
||||
<string name="openBackImageInGalleryApp">Malfermi la malantaŭan bildon en galeria apo</string>
|
||||
<string name="show_name_below_image_thumbnail">Montri nomon sub la bildeto</string>
|
||||
<string name="show_note">Montri noton</string>
|
||||
<string name="settings_category_title_cards">Kartoj</string>
|
||||
|
||||
@@ -182,7 +182,6 @@
|
||||
<string name="selectColor">Seleccionar color</string>
|
||||
<string name="sort">Ordenar</string>
|
||||
<string name="app_contributors">Hecho posible por: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="barcodeLongPressMessage">Solo se puede abrir imágenes en la aplicación de galería</string>
|
||||
<string name="yes">Si</string>
|
||||
<string name="no">No</string>
|
||||
<string name="passwordRequired">Ingresa la contraseña</string>
|
||||
@@ -192,7 +191,7 @@
|
||||
<string name="reverse">en orden inverso</string>
|
||||
<string name="sort_by_most_recently_used">Más recientemente usado</string>
|
||||
<string name="settings_use_volume_keys_navigation">Cambiar tarjetas usando los botones de volumen</string>
|
||||
<string name="sort_by_valid_from">Válido Desde</string>
|
||||
<string name="sort_by_valid_from">Válido desde</string>
|
||||
<string name="sort_by_expiry">Vencimiento</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Usá los botones de volumen para cambiar la tarjeta que se muestra</string>
|
||||
<string name="cardWithNumberAndLocale">Tarjeta <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
@@ -227,4 +226,39 @@
|
||||
<string name="source_repository">Fuente de repositorio</string>
|
||||
<string name="and_data_usage">y uso de datos</string>
|
||||
<string name="include_if_asking_support">Si queres solicitar soporte, incluya la siguiente información:</string>
|
||||
<string name="starred">Favoritos</string>
|
||||
<string name="unarchive">Desarchivar</string>
|
||||
<string name="unarchived">Carta desarchivada</string>
|
||||
<string name="updateBalanceTitle">¿Cuánto gastó o ganó?</string>
|
||||
<string name="anyDate">Cualquier fecha</string>
|
||||
<string name="chooseValidFromDate">Elija fecha válida desde</string>
|
||||
<string name="switchToFrontImage">Cambiar a imagen frontal</string>
|
||||
<string name="switchToBackImage">Cambiar a imagen trasera</string>
|
||||
<string name="switchToBarcode">Cambiar a código de barras</string>
|
||||
<string name="setBarcodeHeight">Definir altura de código de barras</string>
|
||||
<string name="show_name_below_image_thumbnail">Mostrar nombre de la imagen bajo su miniatura</string>
|
||||
<string name="show_balance">Mostrar saldo</string>
|
||||
<string name="show_validity">Mostrar validez</string>
|
||||
<string name="settings_category_title_cards">Ver tarjeta</string>
|
||||
<string name="settings_category_title_cards_overview">Ver todas las tarjetas</string>
|
||||
<string name="settings_column_count_portrait">Columna en modo retrato</string>
|
||||
<string name="settings_column_count_landscape">Columna en modo horizontal</string>
|
||||
<string name="settings_automatic_column_count">Automático</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="currentBalanceSentence">Balance actual: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">Nuevo balance: <xliff:g>%s</xliff:g></string>
|
||||
<string name="validFromSentence">Válido desde <xliff:g>%s</xliff:g></string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_category_title_general">General</string>
|
||||
<string name="settings_category_title_privacy">Privacidad</string>
|
||||
<string name="action_display_options">Mostrar Opciones</string>
|
||||
<string name="show_archived_cards">Mostrar tarjetas archivadas</string>
|
||||
<string name="view_online">Ver Online</string>
|
||||
<string name="action_more_options">Más Opciones</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pause NFC</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
<string name="edit">Editar</string>
|
||||
<string name="delete">Eliminar</string>
|
||||
<string name="confirm">Confirmar</string>
|
||||
<string name="ok">De acuerdo</string>
|
||||
<string name="ok">Aceptar</string>
|
||||
<string name="sendLabel">Enviar…</string>
|
||||
<string name="editCardTitle">Editar tarjeta</string>
|
||||
<string name="addCardTitle">Añadir tarjeta</string>
|
||||
<string name="scanCardBarcode">Escanear código de barras</string>
|
||||
<string name="cardShortcut">Atajo de tarjeta</string>
|
||||
<string name="noCardsMessage">Añada una tarjeta primero</string>
|
||||
<string name="noCardsMessage">Añada una primera tarjeta</string>
|
||||
<string name="noCardExistsError">No se ha podido encontrar esa tarjeta</string>
|
||||
<string name="importExport">Importar/Exportar</string>
|
||||
<string name="exportName">Exportar</string>
|
||||
@@ -25,7 +25,7 @@
|
||||
<string name="importFailedTitle">Falló la importación</string>
|
||||
<string name="importFailed">No se ha podido realizar la importación</string>
|
||||
<string name="exportSuccessfulTitle">Exportado</string>
|
||||
<string name="exportFailedTitle">Falló la exportación</string>
|
||||
<string name="exportFailedTitle">Exportación incorrecta</string>
|
||||
<string name="exportFailed">No se han podido exportar</string>
|
||||
<string name="importing">Importando…</string>
|
||||
<string name="exporting">Exportando…</string>
|
||||
@@ -47,7 +47,7 @@
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="app_copyright_old">Basado en Loyalty Card Keychain
|
||||
\nderechos de autor © 2016-2020 de Branden Archer</string>
|
||||
<string name="exportOptionExplanation">Los datos se guardarán en la ubicación que elija</string>
|
||||
<string name="exportOptionExplanation">Los datos serán escritos en el lugar que elija</string>
|
||||
<string name="failedParsingImportUriError">No se pudo procesar el URI de importación</string>
|
||||
<string name="share">Compartir</string>
|
||||
<string name="barcodeType">Tipo de código de barras</string>
|
||||
@@ -134,7 +134,7 @@
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> seleccionadas</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> seleccionadas</item>
|
||||
</plurals>
|
||||
<string name="deleteTitle">Eliminar la tarjeta</string>
|
||||
<string name="deleteTitle">Eliminar tarjeta</string>
|
||||
<string name="deleteConfirmation">¿Quiere eliminar permanentemente esta tarjeta\?</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">¿Borrar esta tarjeta <xliff:g>%d</xliff:g> permanentemente\?</item>
|
||||
@@ -205,13 +205,12 @@
|
||||
</plurals>
|
||||
<string name="starred">Estrellado</string>
|
||||
<string name="failedToRetrieveImageFile">No se pudo recuperar el archivo de imagen</string>
|
||||
<string name="barcodeLongPressMessage">Solo se pueden abrir imágenes en la aplicación de galería</string>
|
||||
<string name="updateBalanceTitle">¿Cuánto has gastado o recibido?</string>
|
||||
<string name="currentBalanceSentence">Saldo actual: <xliff:g>%s</xliff:g></string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Para escanear códigos de barras, Catima necesitará acceso a su cámara. Toque aquí para cambiar la configuración de sus permisos.</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Para escanear códigos de barras, Catima necesitará acceso a su cámara. Toque aquí para cambiar los ajustes de su permiso.</string>
|
||||
<string name="updateBalanceHint">Introduzca el importe</string>
|
||||
<string name="newBalanceSentence">Nuevo balance: <xliff:g>%s</xliff:g></string>
|
||||
<string name="cameraPermissionDeniedTitle">No se pudo acceder a la cámara</string>
|
||||
<string name="cameraPermissionDeniedTitle">No pudo acceder a la cámara</string>
|
||||
<string name="updateBalance">Actualizar el balance</string>
|
||||
<string name="importCards">Importar tarjetas</string>
|
||||
<string name="storageReadPermissionRequired">Se necesita permiso para leer el almacenamiento para esta acción…</string>
|
||||
@@ -222,8 +221,6 @@
|
||||
<string name="validFromSentence">Válido desde: <xliff:g>%s</xliff:g></string>
|
||||
<string name="height">Alto</string>
|
||||
<string name="switchToFrontImage">Cambiar a imagen frontal</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imagen frontal en la aplicación de la galería</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imagen trasera en la aplicación de visor de imagen</string>
|
||||
<string name="setBarcodeHeight">Ajustar la altura del código de barras</string>
|
||||
<string name="donate">Donar</string>
|
||||
<string name="switchToBarcode">Cambiar a código de barras</string>
|
||||
@@ -234,7 +231,7 @@
|
||||
<string name="show_validity">Mostrar la validez</string>
|
||||
<string name="show_balance">Mostrar el saldo</string>
|
||||
<string name="permissionReadCardsLabel">Leer Tarjetas Catima</string>
|
||||
<string name="permissionReadCardsDescription">leer tus tarjetas Catima y todos sus detalles, incluidas notas e imágenes</string>
|
||||
<string name="permissionReadCardsDescription">lea sus tarjetas Catima y todos sus detalles, incluyendo notas e imágenes</string>
|
||||
<string name="settings_allow_content_provider_read_title">Permite a otras aplicaciones acceder a mis datos</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Necesario para que funcione en algunos escáneres</string>
|
||||
<string name="settings_keep_screen_on_summary">Deshabilita el tiempo de espera de la pantalla mientras se ve una tarjeta</string>
|
||||
@@ -305,4 +302,15 @@
|
||||
<string name="copy_value">Copia valor</string>
|
||||
<string name="copied_to_clipboard">Copiado al portapapeles</string>
|
||||
<string name="nothing_to_copy">Ningún valor encontrado</string>
|
||||
<string name="barcodeEncoding">Codificación de barra de código</string>
|
||||
<string name="back">Atrás</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pausar NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pausa NFC para prevenir abonaciones NFC desde disparador mientras vea una tarjeta</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC está pausado</string>
|
||||
<string name="change_settings">Cambiar ajustes</string>
|
||||
<string name="nfc_block_system_error">Incorrecto al pausar NFC</string>
|
||||
<string name="sort_by_most_recently_added">Más recientemente añadido</string>
|
||||
<string name="zoomFrontImage">Imagen frontal de zoom</string>
|
||||
<string name="zoomBackImage">Imagen trasera de zoom</string>
|
||||
<string name="show_card_id">Mostrar ID de tarjeta</string>
|
||||
</resources>
|
||||
|
||||
@@ -118,7 +118,6 @@
|
||||
<string name="updateBarcodeQuestionTitle">Kas uuendame triipkoodi väärtust?</string>
|
||||
<string name="yes">Jah</string>
|
||||
<string name="no">Ei</string>
|
||||
<string name="barcodeLongPressMessage">Galeriirakenduses saad avada vaid pilte</string>
|
||||
<string name="sort_by_most_recently_used">Viimati kasutatud</string>
|
||||
<string name="sort_by_expiry">Aegumine</string>
|
||||
<string name="reverse">…tagurpidi järjekorras</string>
|
||||
@@ -230,8 +229,6 @@
|
||||
<string name="switchToFrontImage">Vaata esikülje pilti</string>
|
||||
<string name="switchToBackImage">Vaata tagakülje pilti</string>
|
||||
<string name="switchToBarcode">Vaata triipkoodi</string>
|
||||
<string name="openFrontImageInGalleryApp">Ava esikülje pilt pildivalijas</string>
|
||||
<string name="openBackImageInGalleryApp">Ava tagakülje pilt pildivalijas</string>
|
||||
<string name="setBarcodeHeight">Määra triipkoodi kõrgus</string>
|
||||
<string name="donate">Toeta rahaliselt</string>
|
||||
<string name="icon_header_click_text">Pisipildi muutmiseks vajuta pikalt</string>
|
||||
@@ -300,6 +297,14 @@
|
||||
<string name="copied_to_clipboard">Kopeeritud lõikelauale</string>
|
||||
<string name="nothing_to_copy">Ühtegi väärtust ei leidu</string>
|
||||
<string name="barcodeEncoding">Triipkoodi kodeerimine</string>
|
||||
<string name="automatic">Automaatne</string>
|
||||
<string name="back">Tagasi</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Peata lähiväljaside (NFC)</string>
|
||||
<string name="nfc_blocked_while_viewing_card">Lähiväljaside (NFC) on peatatud</string>
|
||||
<string name="change_settings">Muuda seadistusi</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Vältimaks, et lähiväljaside (NFC) abil toimiv makseliides käivitub, lülitatakse kaardi vaatamisel lähiväljaside (NFC) välja</string>
|
||||
<string name="nfc_block_system_error">Lähiväljaside (NFC) peatamine ei õnnestunud</string>
|
||||
<string name="sort_by_most_recently_added">Viimasena lisatud</string>
|
||||
<string name="zoomFrontImage">Suumi esikaane pilti</string>
|
||||
<string name="zoomBackImage">Suumi tagakaane pilti</string>
|
||||
<string name="show_card_id">Näita kaardi tunnust</string>
|
||||
</resources>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<string name="app_name">کاتیما</string>
|
||||
<string name="action_search">جستجو</string>
|
||||
<string name="action_add">افزودن</string>
|
||||
<string name="noGiftCards">برای افزودن کارت دکمه + پلاس را بزنید, یا از ⋮ منو ایمپورت کنید.</string>
|
||||
<string name="noGiftCardsGroup">تعدادی کارت ایجاد کنید، و سپس آنها را اینجا به گروه بیافزایید.</string>
|
||||
<string name="noGiftCards">برای افزودن کارت، روی دکمه + کلیک کنید یا از منوی ⋮ کارتها را وارد کنید.</string>
|
||||
<string name="noGiftCardsGroup">چند کارت ایجاد کنید و سپس آنها را در اینجا به این گروه اختصاص دهید.</string>
|
||||
<string name="noMatchingGiftCards">بدون نتیجه. سعی کنید جستجویتان را تغییر دهید.</string>
|
||||
<string name="storeName">نام</string>
|
||||
<string name="note">یادداشت</string>
|
||||
@@ -139,7 +139,7 @@
|
||||
<string name="group_updated">گروه به روز شد</string>
|
||||
<string name="all">همه</string>
|
||||
<string name="deleteConfirmationGroup">حذف گروه؟</string>
|
||||
<string name="failedOpeningFileManager">ابتدا یک مدیریت فایل نصب کنید.</string>
|
||||
<string name="failedOpeningFileManager">نمی توان مدیر پرونده را باز کرد</string>
|
||||
<string name="moveUp">به بالا حرکت کن</string>
|
||||
<string name="moveDown">به پایین حرکت کن</string>
|
||||
<string name="leaveWithoutSaveConfirmation">بدون ذخیره ترک میکنید؟</string>
|
||||
@@ -179,7 +179,7 @@
|
||||
<string name="importCards">واردات کارت ها</string>
|
||||
<string name="height">ارتفاع</string>
|
||||
<string name="add_manually_warning_message">برای برخی از فروشگاهها، مقدار بارکد با عدد نوشته شده روی کارت متفاوت است. به همین دلیل، وارد کردن دستی بارکد ممکن است همیشه کار نکند. اکیداً توصیه میشود که به جای آن، بارکد را با دوربین خود اسکن کنید. آیا هنوز میخواهید ادامه دهید؟</string>
|
||||
<string name="generic_error_please_retry">ببخشید، مشکلی پیش آمده، لطفا دوباره امتحان کنید...</string>
|
||||
<string name="generic_error_please_retry">مشکلی پیش آمده</string>
|
||||
<string name="welcome">یه کتیما خوش آمدید</string>
|
||||
<string name="chooseValidFromDate">مقداری درست از تاریخ برگزینید</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">میخواهم چند کارت به شما بدهم</string>
|
||||
@@ -191,7 +191,7 @@
|
||||
<string name="no">نه</string>
|
||||
<string name="updateBarcodeQuestionTitle">مقدار بارکد را بهروز میکنید؟</string>
|
||||
<string name="updateBarcodeQuestionText">شما شناسه را تغییر دادید. میخواهید بارکد را هم بهروز کنید تا همین مقدار را بهکار ببرید؟</string>
|
||||
<string name="failedGeneratingShareURL">نتوانستم آدرس همرسانیپذیر بسازم. لطفن این را گزارش کنید.</string>
|
||||
<string name="failedGeneratingShareURL">نتوانستم نشانی همرسانیپذیر بسازم.</string>
|
||||
<string name="turn_flashlight_on">چراغقوه را روشن کنید</string>
|
||||
<string name="settings_locale">زبان</string>
|
||||
<string name="settings_oled_dark">پسزمینهی یکدست سیاه برای حالت تاریک</string>
|
||||
@@ -209,11 +209,10 @@
|
||||
<string name="wrongValueForBarcodeType">مقدار برای نوع بارکد برگزیده درست نیست</string>
|
||||
<string name="setBackImage">عکس پشتِسر را بگذارید</string>
|
||||
<string name="removeImage">عکس را برچینید</string>
|
||||
<string name="passwordRequired">لطفا گذرواژه را وارد کنید</string>
|
||||
<string name="passwordRequired">گذرواژه را وارد کنید</string>
|
||||
<string name="previousCard">پیشین</string>
|
||||
<string name="turn_flashlight_off">چراغقوه را خاموش کنید</string>
|
||||
<string name="updateBalance">بهروزرسانی موجودی</string>
|
||||
<string name="barcodeLongPressMessage">تنها عکس میتواند در گالری برنامه باز شود</string>
|
||||
<string name="sort_by_name">نام</string>
|
||||
<string name="sort_by_most_recently_used">بهتازگی استفادهشده</string>
|
||||
<string name="sort_by_expiry">انقضا</string>
|
||||
@@ -221,7 +220,6 @@
|
||||
<string name="include_if_asking_support">اگر میخواهید پشتیبانی درخواست کنید، اطلاعات زیر را پر کنید:</string>
|
||||
<string name="unarchive">برچیدن بایگانی</string>
|
||||
<string name="switchToBackImage">به عکس پشتِسر جابهجا کنید</string>
|
||||
<string name="openBackImageInGalleryApp">عکس پشتِسر را در برنامهی گالری باز کنید</string>
|
||||
<string name="setBarcodeHeight">ارتفاع بارگد را بگمارید</string>
|
||||
<string name="donate">کمک مالی کنید</string>
|
||||
<string name="icon_header_click_text">برای ویرایش قاب پیشنمایه فشار داده و نگهدارید</string>
|
||||
@@ -235,7 +233,7 @@
|
||||
<string name="settings_column_count_4">۴</string>
|
||||
<string name="settings_column_count_5">۵</string>
|
||||
<string name="settings_column_count_6">۶</string>
|
||||
<string name="failedLaunchingPhotoPicker">نتوانستم یک برنامهی گالری پشتیبانیشده بیابم</string>
|
||||
<string name="failedLaunchingPhotoPicker">نتوانستم یک برنامهی انتخاب تصویر پشتیبانیشده بیابم</string>
|
||||
<string name="show_balance">موجودی را نشان دهید</string>
|
||||
<string name="settings_column_count_landscape">ستونها در حالت لنداسکیپ</string>
|
||||
<string name="settings_column_count_1">۱</string>
|
||||
@@ -265,7 +263,6 @@
|
||||
<string name="failedToOpenUrl">نخست یک مرورگر وب نصب کنید</string>
|
||||
<string name="updateBalanceTitle">چقدر خرج یا دریافت کردید؟</string>
|
||||
<string name="switchToBarcode">به بارکد جابهجا کنید</string>
|
||||
<string name="openFrontImageInGalleryApp">عکس روبهرو را در برنامهی گالری باز کنید</string>
|
||||
<string name="add_a_card_in_a_different_way">یک کارت به روشی متفاوت بیافزایید</string>
|
||||
<string name="takePhoto">عکس بگیرید</string>
|
||||
<string name="settings_column_count_7">۷</string>
|
||||
@@ -286,4 +283,8 @@
|
||||
<string name="addFromPkpass">یک فایل دفترچه حساب (.pkpass) انتخاب کنید</string>
|
||||
<string name="noCameraFoundGuideText">به نظر نمیرسد دستگاه شما دوربین داشته باشد. اگر دارد، دستگاه را مجدداً راهاندازی کنید. در غیر این صورت، از دکمه گزینههای بیشتر در زیر برای افزودن بارکد به روش دیگری استفاده کنید.</string>
|
||||
<string name="card_list_widget_empty">بعد از اینکه چند کارت وفاداری در کاتیما اضافه کردید، آنها اینجا ظاهر میشوند. اگر کارت دارید، مطمئن شوید که همه آنها بایگانی نشدهاند.</string>
|
||||
<string name="card_list_widget_name">فهرست کارت</string>
|
||||
<string name="cardWithNumber">کارت <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">کارت <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">لطفا دستگاهتان را نچرخوانید، زیرا کار در حال انجام را لغو میکند</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,17 +10,14 @@
|
||||
<string name="setBarcodeId">Aseta viivakoodin arvo</string>
|
||||
<string name="sameAsCardId">Sama kuin ID-tunnus</string>
|
||||
<string name="barcodeId">Viivakoodin arvo</string>
|
||||
<string name="importVoucherVaultMessage">Valitse tuotava <i>vouchervault.json</i>-vienti Voucher Vaultista.
|
||||
\nLuo se painamalla ensin Vie Voucher Vaultissa.</string>
|
||||
<string name="importVoucherVaultMessage">Valitse vienti Voucher Vaultista tuotavaksi. \nLuo se painamalla \"Export\" Voucher Vaultissa.</string>
|
||||
<string name="importVoucherVault">Tuo Voucher Vault -varmuuskopiotiedostosta</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Valitse tuotava <i>LoyaltyCardKeychain.csv</i>-vientitiedostosi Loyalty Card Keychainista.
|
||||
\nTai luo se Loyalty Card Keychainin Import/Export-valikosta painamalla ensin Export (Vie).</string>
|
||||
<string name="importLoyaltyCardKeychain">Tuo Loyalty Card Keychain varmuuskopiotiedostosta</string>
|
||||
<string name="importFidmeMessage">Valitse tuotava <i>fidme-export-request-xxxxxxxx.zip</i>-vientitiedostosi FidMe:stä ja valitse viivakoodityypit manuaalisesti sen jälkeen.
|
||||
\nLuo se FidMe-profiilistasi valitsemalla Tietosuoja ja painamalla ensin Extract my data.</string>
|
||||
<string name="importFidmeMessage">Valitse vienti FidMe:stä tuotavaksi ja valitse viivakoodityypit manuaalisesti sen jälkeen. \nLuo se FidMe-profiilistasi valitsemalla \"Data Protection\" ja painamalla \"Extract my data\".</string>
|
||||
<string name="importFidme">Tuo FidMe-varmuuskopiotiedostosta</string>
|
||||
<string name="importCatimaMessage">Valitse tuotava <i>catima.zip</i>-vientitiedostosi Catimasta.
|
||||
\nLuo se Catima-sovelluksen Tuo/vie-valikosta painamalla siellä ensin Vie.</string>
|
||||
<string name="importCatimaMessage">Valitse tuotava vientitiedosto Catimasta. \nLuo se Catima-sovelluksen Tuo/vie-valikosta painamalla siellä ensin Vie.</string>
|
||||
<string name="importCatima">Tuo Catima varmuuskopiotiedostosta</string>
|
||||
<string name="accept">Hyväksy</string>
|
||||
<string name="privacy_policy">Tietosuojakäytäntö</string>
|
||||
@@ -47,14 +44,14 @@
|
||||
<string name="leaveWithoutSaveTitle">Poistu</string>
|
||||
<string name="moveDown">Siirrä alaspäin</string>
|
||||
<string name="moveUp">Siirrä ylöspäin</string>
|
||||
<string name="failedOpeningFileManager">Asenna ensin tiedostonhallintaohjelma.</string>
|
||||
<string name="failedOpeningFileManager">Tiedostonhallintaohjelman avaaminen epäonnistui</string>
|
||||
<string name="deleteConfirmationGroup">Poistetaanko ryhmä\?</string>
|
||||
<string name="all">Kaikki</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> kortti</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> korttia</item>
|
||||
</plurals>
|
||||
<string name="noGroups">Napsauta plus-painiketta (+) lisätäksesi ryhmät luokittelua varten.</string>
|
||||
<string name="noGroups">Napsauta plus-painiketta (+) lisätäksesi ryhmät luokittelua varten</string>
|
||||
<string name="groups">Ryhmät</string>
|
||||
<string name="enter_group_name">Anna ryhmän nimi</string>
|
||||
<string name="exportSuccessful">Tiedot viety</string>
|
||||
@@ -71,8 +68,8 @@
|
||||
<string name="starImage">Suosikkitähti</string>
|
||||
<string name="thumbnailDescription">Pienoiskuva</string>
|
||||
<string name="selectBarcodeTitle">Valitse viivakoodi</string>
|
||||
<string name="app_resources">Vapaat kolmannen osapuolen resurssit: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Vapaat kolmannen osapuolen kirjastot: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Kolmannen osapuolen resurssit: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Kolmannen osapuolen kirjastot: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Versio: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="about_title_fmt">Tietoja <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="app_license">Copyleft (käyttäjänoikeus) - vapaa ohjelmisto, lisenssi GPLv3+</string>
|
||||
@@ -81,9 +78,9 @@
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Tekijänoikeus © 2019–<xliff:g>%d</xliff:g> Sylvia van Os ja avustajat</string>
|
||||
<string name="about">Tietoja</string>
|
||||
<string name="importOptionFilesystemButton">Tiedostojärjestelmästä</string>
|
||||
<string name="importOptionFilesystemExplanation">Valitse tietty tiedosto tiedostojärjestelmästä.</string>
|
||||
<string name="importOptionFilesystemExplanation">Valitse tietty tiedosto tiedostojärjestelmästä</string>
|
||||
<string name="importOptionFilesystemTitle">Tuo tiedostojärjestelmästä</string>
|
||||
<string name="exportOptionExplanation">Tiedot kirjoitetaan valitsemaasi sijaintiin.</string>
|
||||
<string name="exportOptionExplanation">Tiedot kirjoitetaan valitsemaasi sijaintiin</string>
|
||||
<string name="exporting">Viedään…</string>
|
||||
<string name="importing">Tuodaan…</string>
|
||||
<string name="exportFailed">Vienti epäonnistui</string>
|
||||
@@ -92,10 +89,10 @@
|
||||
<string name="importFailed">Tuonti epäonnistui</string>
|
||||
<string name="importFailedTitle">Tuonti epäonnistui</string>
|
||||
<string name="importSuccessfulTitle">Tuonti valmis</string>
|
||||
<string name="importExportHelp">Tietojesi varmuuskopiointi mahdollistaa niiden siirtämisen toiseen laitteeseen.</string>
|
||||
<string name="importExportHelp">Tietojesi varmuuskopiointi mahdollistaa niiden siirtämisen toiseen laitteeseen</string>
|
||||
<string name="exportName">Vie</string>
|
||||
<string name="importExport">Tuo/vie</string>
|
||||
<string name="failedParsingImportUriError">Tuonnin URI: n jäsentäminen epäonnistui</string>
|
||||
<string name="failedParsingImportUriError">Tuonnin URI:n jäsentäminen epäonnistui</string>
|
||||
<string name="noCardExistsError">Tätä korttia ei löytynyt</string>
|
||||
<string name="noCardsMessage">Lisää ensin kortti</string>
|
||||
<string name="cardShortcut">Kortin pikakuvake</string>
|
||||
@@ -118,7 +115,7 @@
|
||||
<string name="note">Lisätieto</string>
|
||||
<string name="storeName">Nimi</string>
|
||||
<string name="noMatchingGiftCards">Ei hakutuloksia, kokeile toisella hakutermillä.</string>
|
||||
<string name="noGiftCards">Lisää kortti napsauttamalla plus-painiketta (+), tai mene ⋮-valikkoon tuodaksesi.</string>
|
||||
<string name="noGiftCards">Lisää kortti napsauttamalla plus-painiketta (+), tai mene ⋮-valikkoon tuodaksesi</string>
|
||||
<string name="action_add">Lisää</string>
|
||||
<string name="action_search">Hae</string>
|
||||
<string name="takePhoto">Ota valokuva</string>
|
||||
@@ -142,8 +139,8 @@
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> valittu</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> valitut</item>
|
||||
</plurals>
|
||||
<string name="passwordRequired">Ole hyvä ja syötä salasana</string>
|
||||
<string name="failedGeneratingShareURL">Jaettavaa URL-osoitetta ei voitu luoda. Ilmoita tästä.</string>
|
||||
<string name="passwordRequired">Syötä salasana</string>
|
||||
<string name="failedGeneratingShareURL">Jaettavaa URL-osoitetta ei voitu luoda</string>
|
||||
<string name="turn_flashlight_on">Käytä taskulamppua</string>
|
||||
<string name="turn_flashlight_off">Sammuta salamavalo</string>
|
||||
<string name="app_contributors">Mahdollistanut: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
@@ -173,7 +170,7 @@
|
||||
<string name="on_github">GitHubissa</string>
|
||||
<string name="and_data_usage">ja datan käyttö</string>
|
||||
<string name="on_google_play">Google Playssa</string>
|
||||
<string name="report_error">Ilmoita virheestä</string>
|
||||
<string name="report_error">Ilmoita ongelmasta</string>
|
||||
<string name="shortcutSelectCard">Valitse kortti</string>
|
||||
<string name="starred">Tähdellä merkityt</string>
|
||||
<string name="options">Vaihtoehdot</string>
|
||||
@@ -186,12 +183,12 @@
|
||||
<string name="translate_platform">Weblatessa</string>
|
||||
<string name="selectColor">Valitse väri</string>
|
||||
<string name="rate_this_app">Arvostele tämä sovellus</string>
|
||||
<string name="noGiftCardsGroup">Lisää kortteja ja lisää ne ryhmään täällä.</string>
|
||||
<string name="noGiftCardsGroup">Lisää kortteja ja lisää ne ryhmään täällä</string>
|
||||
<string name="barcodeImageDescriptionWithType">Kuva <xliff:g>%s</xliff:g> viivakoodi</string>
|
||||
<string name="unarchived">Kortti on poistettu arkistosta</string>
|
||||
<string name="unarchive">Poista arkistosta</string>
|
||||
<string name="archived">Kortti arkistoitu</string>
|
||||
<string name="failedLaunchingPhotoPicker">Tuettua galleriasovellusta ei löytynyt</string>
|
||||
<string name="failedLaunchingPhotoPicker">Tuettua kuvavalitsinta ei löytynyt</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> kortti (<xliff:g id="archivedCount">%2$d</xliff:g> arkistoitu)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> korttia (<xliff:g id="archivedCount">%2$d</xliff:g> arkistoitu)</item>
|
||||
@@ -203,7 +200,6 @@
|
||||
<string name="welcome">Tervetuloa Catimaan</string>
|
||||
<string name="updateBalanceTitle">Kuinka paljon kulutit tai tienasit?</string>
|
||||
<string name="updateBalanceHint">Syötä summa</string>
|
||||
<string name="barcodeLongPressMessage">Vain kuvia on mahdollista avata galleriasovelluksessa</string>
|
||||
<string name="archive">Arkistoi</string>
|
||||
<string name="importCards">Tuo kortteja</string>
|
||||
<string name="failedToRetrieveImageFile">Kuvatiedoston noutaminen epäonnistui</string>
|
||||
@@ -226,14 +222,12 @@
|
||||
<string name="height">Korkeus</string>
|
||||
<string name="switchToFrontImage">Vaihda etukuvaan</string>
|
||||
<string name="switchToBarcode">Vaihda viivakoodiin</string>
|
||||
<string name="openFrontImageInGalleryApp">Avaa etukuva galleriasovelluksessa</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Välttämätön, jotta jotkin skannerit toimivat</string>
|
||||
<string name="settings_keep_screen_on_summary">Poistaa näytön aikakatkaisun korttia katsellessa</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Poistaa näyttölukituksen käytöstä korttia katsellessa</string>
|
||||
<string name="settings_allow_content_provider_read_title">Salli muiden sovellusten käyttää omaa dataa</string>
|
||||
<string name="settings_oled_dark_summary">Vähentää akun käyttöä OLED-näytöillä</string>
|
||||
<string name="switchToBackImage">Vaihda takakuvaan</string>
|
||||
<string name="openBackImageInGalleryApp">Avaa takakuva galleriasovelluksessa</string>
|
||||
<string name="setBarcodeHeight">Aseta viivakoodin korkeus</string>
|
||||
<string name="icon_header_click_text">Pitkä painallus pikkukuvan muokkaamiseksi</string>
|
||||
<string name="show_name_below_image_thumbnail">Näytä nimi pikkukuvan alapuolella</string>
|
||||
@@ -284,12 +278,35 @@
|
||||
<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="addFromPkpass">Valitse Passbook-tiedosto (.pkpass)</string>
|
||||
<string name="addFromPkpass">Valitse Passbook-tiedosto (.pkpass / .pkpasses)</string>
|
||||
<string name="unsupportedFile">Tämä tiedosto ei ole tuettu</string>
|
||||
<string name="generic_error_please_retry">Pahoittelut, jokin meni pieleen. Yritä uudelleen...</string>
|
||||
<string name="generic_error_please_retry">Tapahtui virhe</string>
|
||||
<string name="sort_by_valid_from">Voimassa alkaen</string>
|
||||
<string name="width">Leveys</string>
|
||||
<string name="setBarcodeWidth">Aseta viivakoodin leveys</string>
|
||||
<string name="card_list_widget_name">Korttiluettelo</string>
|
||||
<string name="card_list_widget_empty">Kun olet lisännyt kanta-asiakaskortteja Catimaan, ne näkyvät täällä. Jos sinulla on kortteja, varmista, etteivät ne kaikki ole arkistoituja.</string>
|
||||
<string name="cardWithNumber">Kortti <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">Kortti <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Älä kierrä laitetta, koska se peruu toiminnon</string>
|
||||
<string name="acra_catima_has_crashed">Valitettavasti <xliff:g id="app_name">%s</xliff:g> kaatui. Auta korjaamaan ongelma lähettämällä virheraportti.</string>
|
||||
<string name="pref_enable_acra">Kysy kaatumisraporttien lähettämisestä</string>
|
||||
<string name="pref_enable_acra_summary">Kun käytössä, sinulta kysytään lupa lähettää raportti kaatumisen yhteydessä. Kaatumisraportteja ei koskaan lähetetä automaattisesti.</string>
|
||||
<string name="copy_value">Kopioi arvo</string>
|
||||
<string name="copied_to_clipboard">Kopioitu leikepöydälle</string>
|
||||
<string name="nothing_to_copy">Arvoa ei löytynyt</string>
|
||||
<string name="barcodeEncoding">Viivakoodin koodaus</string>
|
||||
<string name="back">Takaisin</string>
|
||||
<string name="acra_explain_crash">Jos mahdollista lisää tietoja toiminnastasi täällä:</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> pysähtymisraportti</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Keskeytä NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Keskeyttää NFC:n, jotta NFC-maksut eivät aktivoituisi korttia katsoessa</string>
|
||||
<string name="sort_by_most_recently_added">Viimeksi lisätty</string>
|
||||
<string name="zoomFrontImage">Suurenna etukuvaa</string>
|
||||
<string name="zoomBackImage">Suurenna takakuvaa</string>
|
||||
<string name="show_card_id">Näytä kortin tunniste</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC on keskeytetty</string>
|
||||
<string name="change_settings">Muuta asetuksia</string>
|
||||
<string name="nfc_block_system_error">NFC:n keskeyttäminen epäonnistui</string>
|
||||
<string name="open_in_gallery">Avaa kuvagalleriassa</string>
|
||||
</resources>
|
||||
|
||||
@@ -203,7 +203,6 @@
|
||||
<string name="previousCard">Précédent</string>
|
||||
<string name="failedToOpenUrl">Installez d\'abord un navigateur web</string>
|
||||
<string name="welcome">Bienvenue dans Catima</string>
|
||||
<string name="barcodeLongPressMessage">Seules les images peuvent être ouvertes dans l’application galerie</string>
|
||||
<string name="failedToRetrieveImageFile">Impossible de récupérer le fichier image</string>
|
||||
<string name="currentBalanceSentence">Solde actuel : <xliff:g>%s</xliff:g></string>
|
||||
<string name="updateBalanceHint">Entrez le montant</string>
|
||||
@@ -223,8 +222,6 @@
|
||||
<string name="switchToFrontImage">Passer à l\'image avant</string>
|
||||
<string name="switchToBackImage">Passer à l\'image arrière</string>
|
||||
<string name="switchToBarcode">Passer au code barre</string>
|
||||
<string name="openFrontImageInGalleryApp">Ouvrir l\'image du recto dans l\'application de visualisation des images</string>
|
||||
<string name="openBackImageInGalleryApp">Ouvrir l\'image du verso dans l\'application de visualisation des images</string>
|
||||
<string name="setBarcodeHeight">Définir la hauteur du code-barres</string>
|
||||
<string name="donate">Faire un don</string>
|
||||
<string name="icon_header_click_text">Appuyez longuement pour modifier la vignette</string>
|
||||
@@ -305,4 +302,16 @@
|
||||
<string name="copy_value">Copier la valeur</string>
|
||||
<string name="copied_to_clipboard">Copié dans le presse-papier</string>
|
||||
<string name="nothing_to_copy">Aucune valeur trouvée</string>
|
||||
<string name="barcodeEncoding">Encodage du code-barres</string>
|
||||
<string name="back">Retour</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Mettre en pause le NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Mettre en pause le NFC pour éviter le déclenchement de paiements NFC lors de la consultation d\'une carte</string>
|
||||
<string name="nfc_blocked_while_viewing_card">Le NFC est en pause</string>
|
||||
<string name="change_settings">Modifier les paramètres</string>
|
||||
<string name="nfc_block_system_error">Erreur lors de la mise en pause du NFC</string>
|
||||
<string name="sort_by_most_recently_added">Récemment ajoutés</string>
|
||||
<string name="zoomFrontImage">Grossir l\'image avant</string>
|
||||
<string name="zoomBackImage">Grossir l\'image arrière</string>
|
||||
<string name="show_card_id">Afficher l\'ID de carte</string>
|
||||
<string name="open_in_gallery">Ouvrir dans la galerie d\'images</string>
|
||||
</resources>
|
||||
|
||||
@@ -150,7 +150,6 @@
|
||||
<string name="showMoreInfo">Ver info</string>
|
||||
<string name="updateBalance">Actualizar saldo</string>
|
||||
<string name="failedToRetrieveImageFile">Fallou a obtención do ficheiro de imaxe</string>
|
||||
<string name="barcodeLongPressMessage">Só imaxes que se abren na app de galería</string>
|
||||
<string name="sort_by_name">Nome</string>
|
||||
<string name="sort_by_most_recently_used">Usadas recentemente</string>
|
||||
<string name="sort_by_expiry">Caducidade</string>
|
||||
@@ -194,8 +193,6 @@
|
||||
<string name="height">Altura</string>
|
||||
<string name="switchToFrontImage">Cambiar á imaxe frontal</string>
|
||||
<string name="switchToBackImage">Cambiar á imaxe posterior</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imaxe frontal no visor de imaxes</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imaxe posterior no visor de imaxes</string>
|
||||
<string name="setBarcodeHeight">Establecer altura do código de barras</string>
|
||||
<string name="icon_header_click_text">Pulsación longa para editar a miniatura</string>
|
||||
<string name="show_name_below_image_thumbnail">Mostrar nome debaixo da miniatura</string>
|
||||
@@ -298,4 +295,15 @@
|
||||
<string name="copy_value">Copiar valor</string>
|
||||
<string name="copied_to_clipboard">Copiado ao portapapeis</string>
|
||||
<string name="nothing_to_copy">Non hai ningún valor</string>
|
||||
<string name="barcodeEncoding">Códificación do código de barras</string>
|
||||
<string name="back">Volver</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFC en pausa</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Detén o NFC para evitar a activación de pago con NFC cando se mira unha tarxeta</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC está en pausa</string>
|
||||
<string name="change_settings">Cambiar axustes</string>
|
||||
<string name="nfc_block_system_error">Non se detivo NFC</string>
|
||||
<string name="sort_by_most_recently_added">Máis recentes</string>
|
||||
<string name="zoomFrontImage">Zoom na imaxe frontal</string>
|
||||
<string name="zoomBackImage">Zoom na imaxe posterior</string>
|
||||
<string name="show_card_id">Mostrar ID da tarxeta</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="action_add">הוספה</string>
|
||||
<string name="cardId">מזהה כרטיס</string>
|
||||
<string name="cancel">ביטול</string>
|
||||
<string name="save">שמור</string>
|
||||
<string name="ok">אישור</string>
|
||||
<string name="action_search">חיפוש</string>
|
||||
<string name="noGiftCards">לחץ על לחצן ה + להוספת כרטיס, או ייבא מספר כרטיסים באמצעות התפריט ⋮.</string>
|
||||
<string name="noGiftCards">לחץ על כפתור הפלוס (+) כדי להוסיף כרטיס, או ייבא כרטיס מהתפריט ⋮.</string>
|
||||
<string name="share">שיתוף</string>
|
||||
<string name="addCardTitle">הוספת כרטיס</string>
|
||||
<string name="star">הוספה למועדפים</string>
|
||||
@@ -16,7 +16,7 @@
|
||||
<string name="noBarcode">אין ברקוד</string>
|
||||
<string name="edit">עריכה</string>
|
||||
<string name="exportFailed">לא ניתן לייצא</string>
|
||||
<string name="noGiftCardsGroup">צור מספר כרטיסים, ואז שייך אותם לקבוצה פה.</string>
|
||||
<string name="noGiftCardsGroup">צור מספר כרטיסים, ולאחר מכן שייך אותם לקבוצה.</string>
|
||||
<string name="failedParsingImportUriError">נתיב לא נמצא</string>
|
||||
<string name="noMatchingGiftCards">אין תוצאות. נסה חיפוש אחר.</string>
|
||||
<string name="storeName">שם חנות</string>
|
||||
@@ -51,4 +51,19 @@
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">באיזה מהברקודים שנמצאו אתה רוצה להשתמש?</string>
|
||||
<string name="useFrontImage">השתמש בתמונה קדמית</string>
|
||||
<string name="useBackImage">השתמש בתמונה אחורית</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> נבחר</item>
|
||||
<item quantity="two"><xliff:g>%d</xliff:g> נבחרו</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> נבחרו</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">הסר <xliff:g>%d</xliff:g> כרטיסייה</item>
|
||||
<item quantity="two">הסר <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="two">להסיר את <xliff:g>%d</xliff:g> הכרטיסיות לצמיתות?</item>
|
||||
<item quantity="other">להסיר את <xliff:g>%d</xliff:g> הכרטיסיות לצמיתות?</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
|
||||
@@ -212,7 +212,6 @@
|
||||
<string name="version_history">वर्जन तिहास</string>
|
||||
<string name="archive">पुरालेख/संग्रहित (Archive)</string>
|
||||
<string name="archived">कार्ड संग्रहीत (Archived)</string>
|
||||
<string name="barcodeLongPressMessage">गैलरी ऐप में केवल छवियां ही खोली जा सकती हैं</string>
|
||||
<string name="license">अनुज्ञप्ति (लाइसेंस)</string>
|
||||
<string name="source_repository">स्रोत रिपोजिटरी</string>
|
||||
<string name="include_if_asking_support">यदि आप सहायता का अनुरोध करना चाहते हैं, तो निम्नलिखित जानकारी शामिल करें:</string>
|
||||
@@ -245,8 +244,6 @@
|
||||
<string name="switchToFrontImage">सामने वाली छवि पर स्विच करें</string>
|
||||
<string name="switchToBackImage">पिछली छवि पर स्विच करें</string>
|
||||
<string name="switchToBarcode">बारकोड पर स्विच करें</string>
|
||||
<string name="openFrontImageInGalleryApp">इमेज दर्शक सामने वाली इमेज खोलें</string>
|
||||
<string name="openBackImageInGalleryApp">पिछली इमेज खोलें</string>
|
||||
<string name="setBarcodeHeight">बारकोड ऊंचाई सेट करें</string>
|
||||
<string name="icon_header_click_text">छोटी छवि (थंबनेल) संपादित करने के लिए देर तक दबाएँ</string>
|
||||
<string name="enter_card_id">अपने कार्ड पर आईडी नंबर या टेक्स्ट दर्ज करें</string>
|
||||
@@ -298,4 +295,6 @@
|
||||
<string name="copy_value">मान कॉपी करें</string>
|
||||
<string name="copied_to_clipboard">क्लिपबोर्ड पर कॉपी किया गया</string>
|
||||
<string name="nothing_to_copy">कोई मूल्य नहीं मिला</string>
|
||||
<string name="barcodeEncoding">बारकोड एन्कोडिंग</string>
|
||||
<string name="back">वापस</string>
|
||||
</resources>
|
||||
|
||||
@@ -128,8 +128,6 @@
|
||||
<string name="switchToFrontImage">Prebaci na prednju sliku</string>
|
||||
<string name="switchToBackImage">Prebaci na stražnju sliku</string>
|
||||
<string name="switchToBarcode">Prebaci na crtični kod</string>
|
||||
<string name="openFrontImageInGalleryApp">Otvori prednju sliku u aplikaciji prikazivača slika</string>
|
||||
<string name="openBackImageInGalleryApp">Otvori stražnju sliku u aplikaciji prikazivača slika</string>
|
||||
<string name="setBarcodeHeight">Postavi visinu crtičnog koda</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> odabrana</item>
|
||||
@@ -159,7 +157,6 @@
|
||||
<string name="importVoucherVaultMessage">Odaberi tvoj izvoz iz Voucher Vault za uvoz. \nStvori ga u aplikaciji Voucher Vault pritiskom na „Izvoz”.</string>
|
||||
<string name="failedToRetrieveImageFile">Neuspjelo dohvaćanje slikovne datoteke</string>
|
||||
<string name="license">Licenca</string>
|
||||
<string name="barcodeLongPressMessage">U aplikaciji galerije se mogu otvoriiti samo slike</string>
|
||||
<string name="source_repository">Izvorni repozitorij</string>
|
||||
<string name="on_github">na GitHubu</string>
|
||||
<string name="on_google_play">na stranici Google Play</string>
|
||||
@@ -302,4 +299,13 @@
|
||||
<string name="acra_crash_email_subject">Izvještaj o prekidu rada aplikacije <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="pref_enable_acra">Pitaj da li poslati izvještaj o prekidu rada aplikacije</string>
|
||||
<string name="pref_enable_acra_summary">Kada je uključeno, zamolit ćemo te da prijaviš prekid rada aplikacije kada se dogodi. Izvještaji o prekidu rada se nikada ne šalju automatski.</string>
|
||||
<string name="copied_to_clipboard">Kopirano u međuspremnik</string>
|
||||
<string name="back">Natrag</string>
|
||||
<string name="copy_value">Kopiraj vrijednost</string>
|
||||
<string name="nothing_to_copy">Nije pronađena vrijednost</string>
|
||||
<string name="barcodeEncoding">Kodiranje barkoda</string>
|
||||
<string name="change_settings">Promijeni postavke</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pauziraj NFC</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC je pauziran</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pauzira NFC kako bi se spriječilo aktiviranje NFC plaćanja tijekom prikazivanja kartice</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="noGiftCards">Kattintson a + plusz gombra egy kártya hozzáadásához, vagy importáljon a ⋮ menüből.</string>
|
||||
<string name="noGiftCards">Koppintson a + plusz gombra egy kártya hozzáadásához, vagy importáljon a ⋮ menüből</string>
|
||||
<string name="action_add">Hozzáadás</string>
|
||||
<string name="action_search">Keresés</string>
|
||||
<plurals name="selectedCardCount">
|
||||
@@ -8,7 +8,7 @@
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> kiválasztva</item>
|
||||
</plurals>
|
||||
<string name="noCardsMessage">Először adjon hozzá egy kártyát</string>
|
||||
<string name="noGiftCardsGroup">Hozzon létre kártyákat, és rendelje hozzá a megfelelő csoporthoz.</string>
|
||||
<string name="noGiftCardsGroup">Hozzon létre kártyákat, és rendelje hozzá a megfelelő csoporthoz</string>
|
||||
<string name="noMatchingGiftCards">Nincs találat. Próbálja módosítani a keresést.</string>
|
||||
<string name="storeName">Név</string>
|
||||
<string name="note">Feljegyzés</string>
|
||||
@@ -32,12 +32,12 @@
|
||||
<string name="sendLabel">Küldés…</string>
|
||||
<string name="editCardTitle">Kártya szerkesztése</string>
|
||||
<string name="addCardTitle">Kártya hozzáadása</string>
|
||||
<string name="scanCardBarcode">Vonalkód leolvasása</string>
|
||||
<string name="cardShortcut">Kártya parancsikon</string>
|
||||
<string name="scanCardBarcode">Vonalkód beolvasása</string>
|
||||
<string name="cardShortcut">Kártya indítóikon</string>
|
||||
<string name="failedParsingImportUriError">Az importálási URI nem értelmezhető</string>
|
||||
<string name="importExport">Importálás/exportálás</string>
|
||||
<string name="exportName">Exportálás</string>
|
||||
<string name="importExportHelp">Az adatok mentése lehetővé teszi, hogy egy másik eszközre helyezze át.</string>
|
||||
<string name="importExportHelp">Az adatok mentése lehetővé teszi, hogy egy másik eszközre helyezze át</string>
|
||||
<string name="importSuccessfulTitle">Importálva</string>
|
||||
<string name="importFailedTitle">Az importálás sikertelen</string>
|
||||
<string name="importFailed">Nem sikerült az importálás végrehajtása</string>
|
||||
@@ -49,14 +49,14 @@
|
||||
</plurals>
|
||||
<string name="deleteTitle">Kártya törlése</string>
|
||||
<string name="barcodeImageDescriptionWithType">A(z) <xliff:g>%s</xliff:g> vonalkód képe</string>
|
||||
<string name="noCardExistsError">A kártya nem található</string>
|
||||
<string name="noCardExistsError">Ez a kártya nem található</string>
|
||||
<string name="importVoucherVault">Importálás a Voucher Vaultból</string>
|
||||
<string name="wrongValueForBarcodeType">Ez az érték meg megfelelő a kiválasztott vonalkódtípushoz</string>
|
||||
<string name="wrongValueForBarcodeType">Ez az érték nem felel meg a kiválasztott vonalkódtípushoz</string>
|
||||
<string name="setBackImage">Hátlapi kép beállítása</string>
|
||||
<string name="no">Nem</string>
|
||||
<string name="passwordRequired">Adja meg a jelszót</string>
|
||||
<string name="exportPasswordHint">Kód beírása</string>
|
||||
<string name="failedGeneratingShareURL">Nem lehetett megosztható webcímet előállítani. Kérjük, ezt jelentse.</string>
|
||||
<string name="failedGeneratingShareURL">Nem lehetett megosztható webcímet előállítani</string>
|
||||
<string name="sort">Rendezés</string>
|
||||
<string name="on_google_play">a Google Playen</string>
|
||||
<string name="and_data_usage">és adathasználat</string>
|
||||
@@ -68,13 +68,13 @@
|
||||
<string name="exportFailed">Nem sikerült az exportálás végrehajtása</string>
|
||||
<string name="importing">Importálás…</string>
|
||||
<string name="exporting">Exportálás…</string>
|
||||
<string name="exportOptionExplanation">Az adatok a kiválasztott helyre lesznek mentve.</string>
|
||||
<string name="exportOptionExplanation">Az adatok a kiválasztott helyre kerülnek mentésre</string>
|
||||
<string name="importOptionFilesystemTitle">Importálás fájlrendszerből</string>
|
||||
<string name="importOptionFilesystemButton">A fájlrendszerből</string>
|
||||
<string name="app_license">Copyleft licencű szabad szoftver, GPLv3+ alatt közzétéve</string>
|
||||
<string name="about_title_fmt">A <xliff:g id="app_name">%s</xliff:g> névjegye</string>
|
||||
<string name="debug_version_fmt">Verzió: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_resources">Szabad külső erőforrások: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Külső erőforrások: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="selectBarcodeTitle">Vonalkód kiválasztása</string>
|
||||
<string name="starImage">Kedvencek csillag</string>
|
||||
<string name="settings">Beállítások</string>
|
||||
@@ -91,14 +91,14 @@
|
||||
<string name="groups">Csoportok</string>
|
||||
<string name="group_edit">Csoport szerkesztése</string>
|
||||
<string name="group_name_is_empty">A csoportnév nem lehet üres</string>
|
||||
<string name="failedOpeningFileManager">Előbb telepítsen egy fájlkezelőt.</string>
|
||||
<string name="failedOpeningFileManager">Nem sikerült a fájlkezelő megnyitása</string>
|
||||
<string name="moveUp">Mozgatás felfelé</string>
|
||||
<string name="moveDown">Mozgatás lefelé</string>
|
||||
<string name="leaveWithoutSaveTitle">Kilépés</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Kilépés mentés nélkül\?</string>
|
||||
<string name="addManually">A vonalkód kézi beírása</string>
|
||||
<string name="addFromImage">Kép kiválasztása a galériából</string>
|
||||
<string name="editGroup">Csoportok szerkesztése: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Csoport szerkesztése: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Lejárat: <xliff:g>%s</xliff:g></string>
|
||||
<string name="balanceSentence">Egyenleg: <xliff:g>%s</xliff:g></string>
|
||||
<string name="card">Kártya</string>
|
||||
@@ -108,7 +108,7 @@
|
||||
<string name="chooseExpiryDate">Lejárati dátum kiválasztása</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Vonalkód feltolása a képernyő tetejére</string>
|
||||
<string name="noBarcodeFound">Nem található vonalkód</string>
|
||||
<string name="errorReadingImage">Nem lehet olvasni a képet</string>
|
||||
<string name="errorReadingImage">A kép nem olvasható</string>
|
||||
<string name="balance">Egyenleg</string>
|
||||
<string name="currency">Pénznem</string>
|
||||
<string name="points">Pontok</string>
|
||||
@@ -118,10 +118,8 @@
|
||||
<string name="importCatima">Importálás a Catimából</string>
|
||||
<string name="importFidme">Importálás a FidMeből</string>
|
||||
<string name="importLoyaltyCardKeychain">Importálás a Loyalty Card Keychainből</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Válassza ki a Loyalty Card Keychainből importálandó <i>LoyaltyCardKeychain.csv</i> export fájlt.
|
||||
\nEzt hozza létre a Loyalty Card Keychainben az Importálás/exportálás menüben, az Exportálás megnyomásával.</string>
|
||||
<string name="importVoucherVaultMessage">Válassza ki az importálandó <i>vouchervault.json</i> Voucher Vault export fájlt.
|
||||
\nEzt hozza létre a Voucher Vaultban az Exportálás megnyomásával.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Jelölje ki az importálandó Loyalty Card Keychain exportot. \nA Loyalty Card Keychain Importálás/Exportálás menüjéből hozhatja létre, az Exportálásra koppintva.</string>
|
||||
<string name="importVoucherVaultMessage">Jelölje ki az importálandó Voucher Vault exportot. \nA Voucher Vault-on belül az Exportálás gombra koppintva hozhatja létre.</string>
|
||||
<string name="barcodeId">Vonalkód értéke</string>
|
||||
<string name="sameAsCardId">Ugyanaz, mint az azonosító</string>
|
||||
<string name="setBarcodeId">Vonalkód értékének beállítása</string>
|
||||
@@ -167,30 +165,28 @@
|
||||
</plurals>
|
||||
<string name="chooseImportType">Adatok importálása innen</string>
|
||||
<string name="thumbnailDescription">Előkép</string>
|
||||
<string name="importOptionFilesystemExplanation">Válassza ki a kívánt fájlt a fájlrendszerből.</string>
|
||||
<string name="importOptionFilesystemExplanation">Válassza ki a kívánt fájlt a fájlrendszerből</string>
|
||||
<string name="about">Névjegy</string>
|
||||
<string name="app_copyright_old">Készült a Loyalty Card Keychain alapján
|
||||
\nCopyright © 2016–2020 Branden Archer</string>
|
||||
<string name="app_libraries">Szabad külső programkönyvtárak: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Külső programkönyvtárak: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="settings_dark_theme">Sötét</string>
|
||||
<string name="deleteConfirmationGroup">Csoport törlése\?</string>
|
||||
<string name="noGroups">Nyomja meg a + gombot a csoportok kategorizálásához.</string>
|
||||
<string name="noGroups">Koppintson a + gombra a csoportok kategorizálásához</string>
|
||||
<string name="group_name_already_in_use">A csoportnév már létezik</string>
|
||||
<string name="all">Összes</string>
|
||||
<string name="noGroupCards">Ez a csoport üres</string>
|
||||
<string name="group_updated">Csoport frissítve</string>
|
||||
<string name="expiryStateSentenceExpired">Lejárt: <xliff:g>%s</xliff:g></string>
|
||||
<string name="groupsList">Csoportok: <xliff:g>%s</xliff:g></string>
|
||||
<string name="importCatimaMessage">Válassza ki az exportált <i>catima.zip</i> fájlt az importáláshoz.
|
||||
\nLétrehozhatja az Importálás/exportálás menüből az Exportálást megnyomva egy másik Catima alkalmazásban.</string>
|
||||
<string name="importFidmeMessage">Válassza ki a FidMeből exportált <i>fidme-export-request-xxxxxx.zip</i> fájl majd importálja be, és utána válassza a kézi vonalkódbeírást.
|
||||
\nEzt hozza létre a FidMe-profiljában az Adatvédelem rész választásával, majd a Saját adatok kinyerése megnyomásával.</string>
|
||||
<string name="importCatimaMessage">Válassza ki a megfelelő exportált Catima elemet importálásra. \nAz Importálás/exportálás menüelemmel importálhat egy korábbi Catima exportot.</string>
|
||||
<string name="importFidmeMessage">Jelölje ki az importálandó FidMe exportot, ezt követően adja meg kézileg a vonalkód típusát. \nA FidMe profiljából tudja létrehozni, az Adatvédelem, majd a Saját adatok kinyerése lehetőséggel.</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> kártya (<xliff:g id="archivedCount">%2$d</xliff:g> archiválva)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> kártya (<xliff:g id="archivedCount">%2$d</xliff:g> archiválva)</item>
|
||||
</plurals>
|
||||
<string name="failedToOpenUrl">Először telepítsen egy webböngészőt</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nem található támogatott galéria alkalmazás</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nem található támogatott képválasztó</string>
|
||||
<string name="previousCard">Előző</string>
|
||||
<string name="nextCard">Következő</string>
|
||||
<string name="settings_oled_dark">Teljesen fekete háttér a sötét témánál</string>
|
||||
@@ -206,7 +202,6 @@
|
||||
<string name="newBalanceSentence">Új egyenleg: <xliff:g>%s</xliff:g></string>
|
||||
<string name="cameraPermissionDeniedTitle">Nem sikerült hozzáférni a kamerához</string>
|
||||
<string name="failedToRetrieveImageFile">Nem sikerült lekérni a képfájlt</string>
|
||||
<string name="barcodeLongPressMessage">Csak képek nyithatók meg a galéria alkalmazásban</string>
|
||||
<string name="unarchived">Kártya archiválása megszüntetve</string>
|
||||
<string name="welcome">Üdvözöljük a Catimában</string>
|
||||
<string name="updateBalance">Egyenleg frissítése</string>
|
||||
@@ -222,13 +217,11 @@
|
||||
<string name="switchToBackImage">Hátulnézeti képre váltás</string>
|
||||
<string name="switchToBarcode">Vonalkódra váltás</string>
|
||||
<string name="donate">Adományozás</string>
|
||||
<string name="openBackImageInGalleryApp">Hátulnézeti kép megnyitása a galéria alkalmazásban</string>
|
||||
<string name="openFrontImageInGalleryApp">Elölnézeti kép megnyitása a galéria alkalmazásban</string>
|
||||
<string name="setBarcodeHeight">Vonalkód magasságának megadása</string>
|
||||
<string name="icon_header_click_text">Hosszan nyomja meg a miniatűr szerkesztéséhez</string>
|
||||
<string name="show_note">Megjegyzés megjelenítése</string>
|
||||
<string name="show_balance">Egyenleg megjelenítése</string>
|
||||
<string name="permissionReadCardsLabel">Catima kártyák olvasása</string>
|
||||
<string name="permissionReadCardsLabel">Catima kártyák beolvasása</string>
|
||||
<string name="permissionReadCardsDescription">olvassa el a Catima-kártyáit, és annak minden részletét, beleértve a jegyzeteket és a képeket is</string>
|
||||
<string name="show_validity">Érvényesség megjelenítése</string>
|
||||
<string name="show_name_below_image_thumbnail">Név megjelenítése a kép miniatűrje alatt</string>
|
||||
@@ -257,7 +250,7 @@
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="amountParsingFailed">Hibás érték</string>
|
||||
<string name="add_manually_warning_title">Szkennelés ajánlott</string>
|
||||
<string name="add_manually_warning_message">Egyes boltoknál a kártyán levő számsor különbözik a vonalkódtól. Emiatt a manuális szám beírás nem minden esetben fog működni. Erősen ajánlott inkább a vonalkód szkennelése kamerával. Biztosan folytatja?</string>
|
||||
<string name="add_manually_warning_message">Az egyes kártyákon levő számsor különbözik a vonalkód számától. Emiatt a kézi számbeírás nem minden esetben fog működni. Ajánlott tehát a vonalkód kamerával történő beolvasása. Biztos, hogy folytatja?</string>
|
||||
<string name="continue_">Tovább</string>
|
||||
<string name="spend">Költött</string>
|
||||
<string name="receive">Megkapott</string>
|
||||
@@ -282,12 +275,32 @@
|
||||
<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="addFromPkpass">Válasszon egy Passbook fájlt (.pkpass / .pkpasses)</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="generic_error_please_retry">Hiba lépett fel</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="sort_by_valid_from">Érvényesség kezdete</string>
|
||||
<string name="width">Szélesség</string>
|
||||
<string name="setBarcodeWidth">Vonalkód szélességének beállítása</string>
|
||||
<string name="setBarcodeWidth">Vonalkódszélesség beállítása</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFC szüneteltetése</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Az NFC szüneteltetése a kártya megtekintése idejére, hogy ne indítsa be az NFC-s fizetést</string>
|
||||
<string name="card_list_widget_name">Kártyalista</string>
|
||||
<string name="card_list_widget_empty">Miután hozzáadja a kártyákat a Catimához, itt fognak megjelenni. Ha vannak kártyái, győződjön meg arról, hogy nincsenek-e archiválva.</string>
|
||||
<string name="cardWithNumber"><xliff:g>%d</xliff:g> kártya</string>
|
||||
<string name="cardWithNumberAndLocale"><xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>) kártya</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Ne forgassa el az eszközt, mert az megszakítja a műveletet</string>
|
||||
<string name="acra_catima_has_crashed">Sajnos a <xliff:g id="app_name">%s</xliff:g> összeomlott. Segítsen a hiba megoldásában azzal, hogy küld nekünk egy jelentést.</string>
|
||||
<string name="acra_explain_crash">Ha lehetséges, adja meg, hogy éppen milyen műveletet végzett:</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> összeomlási jelentés</string>
|
||||
<string name="pref_enable_acra">Rákérdezés az összeomlási jelentések elküldésére</string>
|
||||
<string name="pref_enable_acra_summary">Ha be van kapcsolva, akkor mindig rákérdez az összeomlási jelentés elküldésére. A jelentések sosem kerülnek küldésre automatikusan.</string>
|
||||
<string name="copy_value">Érték másolása</string>
|
||||
<string name="copied_to_clipboard">Vágólapra másolva</string>
|
||||
<string name="nothing_to_copy">Nem található érték</string>
|
||||
<string name="barcodeEncoding">Vonalkód kódolása</string>
|
||||
<string name="back">Vissza</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC szüneteltetve</string>
|
||||
<string name="change_settings">Beállítások változtatása</string>
|
||||
<string name="nfc_block_system_error">Nem sikerült szüneteltetni az NFC-t</string>
|
||||
</resources>
|
||||
|
||||
@@ -189,7 +189,6 @@
|
||||
<string name="archive">Arsip</string>
|
||||
<string name="archived">Kartu diarsipkan</string>
|
||||
<string name="failedToRetrieveImageFile">Gagal mengambil file gambar</string>
|
||||
<string name="barcodeLongPressMessage">Hanya gambar yang dapat dibuka di aplikasi galeri</string>
|
||||
<string name="unarchive">Ekstrak</string>
|
||||
<string name="unarchived">Kartu tidak diarsipkan</string>
|
||||
<string name="options">Opsi</string>
|
||||
@@ -212,8 +211,6 @@
|
||||
<string name="switchToFrontImage">Ubah ke depan gambar</string>
|
||||
<string name="switchToBackImage">Ubah ke belakang gambar</string>
|
||||
<string name="switchToBarcode">Ubah ke kode batang</string>
|
||||
<string name="openFrontImageInGalleryApp">Buka gambar depan di aplikasi penampil gambar</string>
|
||||
<string name="openBackImageInGalleryApp">Buka gambar di aplikasi penampil gambar</string>
|
||||
<string name="setBarcodeHeight">Atur tinggi kode batang</string>
|
||||
<string name="donate">Donasi</string>
|
||||
<string name="show_validity">Tunjukkan validitas</string>
|
||||
@@ -292,4 +289,16 @@
|
||||
<string name="pref_enable_acra_summary">Ketika diaktifkan, Anda akan diminta untuk melaporkan crash saat terjadi. Laporan crash tidak pernah dikirim secara otomatis.</string>
|
||||
<string name="copy_value">Salin nilai</string>
|
||||
<string name="copied_to_clipboard">Disalin ke papan klip</string>
|
||||
<string name="nothing_to_copy">Tidak ditemukan nilai</string>
|
||||
<string name="barcodeEncoding">Pengkodean barcode</string>
|
||||
<string name="back">Kembali</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Jeda NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Menjeda NFC untuk mencegah pembayaran NFC terpicu saat melihat kartu</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC dijeda</string>
|
||||
<string name="change_settings">Ubah pengaturan</string>
|
||||
<string name="nfc_block_system_error">Gagal menjeda NFC</string>
|
||||
<string name="show_card_id">Tampilkan ID Kartu</string>
|
||||
<string name="sort_by_most_recently_added">Terakhir ditambahkan</string>
|
||||
<string name="zoomFrontImage">Perbesar gambar depan</string>
|
||||
<string name="zoomBackImage">Perbesar gambar belakang</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="action_add">Bæta</string>
|
||||
<string name="noBarcode">Nei strikamerkið</string>
|
||||
<string name="noBarcode">Ekkert strikamerki</string>
|
||||
<string name="action_search">Leita að</string>
|
||||
<string name="delete">Eyða</string>
|
||||
<string name="noGiftCards">Smelltu á + plús takka til að bæta korti, eða að flytja inn frá ⋮ Valmynd.</string>
|
||||
<string name="noGiftCards">Smelltu á + plús takka til að bæta korti, eða að flytja inn frá ⋮ Valmynd</string>
|
||||
<string name="note">Athugið</string>
|
||||
<string name="barcodeType">Strikamerkið tegund</string>
|
||||
<string name="cancel">Hætta</string>
|
||||
@@ -12,61 +12,61 @@
|
||||
<string name="storeName">Nafnið</string>
|
||||
<string name="star">Bæta við eftirlæti</string>
|
||||
<string name="unstar">Fjarlægja frá eftirlæti</string>
|
||||
<string name="save">Sparaðu</string>
|
||||
<string name="save">Vista</string>
|
||||
<string name="edit">Breyta</string>
|
||||
<string name="confirm">Staðfesta</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="sendLabel">Sendu…</string>
|
||||
<string name="deleteConfirmation">Eyða þetta kort til frambúðar\?</string>
|
||||
<string name="deleteConfirmation">Eyða þessu korti til frambúðar?</string>
|
||||
<string name="share">Deila</string>
|
||||
<string name="editCardTitle">Breyta Kort</string>
|
||||
<string name="addCardTitle">Bæta Kort</string>
|
||||
<string name="scanCardBarcode">Skanna Kort Strikamerkið</string>
|
||||
<string name="noCardsMessage">Bæta kort fyrstu</string>
|
||||
<string name="exportFailedTitle">Flytja mistókst</string>
|
||||
<string name="exportSuccessfulTitle">Flutt</string>
|
||||
<string name="noCardExistsError">Gæti ekki fundið kort</string>
|
||||
<string name="failedParsingImportUriError">Get ekki lesið inn URI</string>
|
||||
<string name="exportName">Flytja</string>
|
||||
<string name="importExportHelp">Stuðningur upp spil gerir þér kleift að færa þá til annar tæki.</string>
|
||||
<string name="importSuccessfulTitle">Flutt</string>
|
||||
<string name="editCardTitle">Breyta Korti</string>
|
||||
<string name="addCardTitle">Bæta við korti</string>
|
||||
<string name="scanCardBarcode">Skanna Strikamerkið</string>
|
||||
<string name="noCardsMessage">Bæta fyrst við korti</string>
|
||||
<string name="exportFailedTitle">Útflutningur mistókst</string>
|
||||
<string name="exportSuccessfulTitle">Flutt út</string>
|
||||
<string name="noCardExistsError">Gat ekki fundið þetta kort</string>
|
||||
<string name="failedParsingImportUriError">Get ekki flutt inn URI</string>
|
||||
<string name="exportName">Flytja út</string>
|
||||
<string name="importExportHelp">Afritun gagna gerir þér kleift að færa það á annað tæki</string>
|
||||
<string name="importSuccessfulTitle">Flutt inn</string>
|
||||
<string name="importFailedTitle">Innflutningur mistókst</string>
|
||||
<string name="exportOptionExplanation">Gögnum verður skrifað á stað af eigin vali.</string>
|
||||
<string name="exportOptionExplanation">Gögnin verðs skrifuð á stað sem þú velur</string>
|
||||
<string name="importOptionFilesystemTitle">Innflutningur frá möppuna</string>
|
||||
<string name="importOptionFilesystemExplanation">Velja ákveðna skrá frá möppuna.</string>
|
||||
<string name="importOptionFilesystemExplanation">Velja ákveðna skrá úr skráakerfinu</string>
|
||||
<string name="starImage">Uppáhalds stjörnu</string>
|
||||
<string name="never">Aldrei</string>
|
||||
<string name="currency">Mynt</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Færa strikamerkið að efst á skjánum</string>
|
||||
<string name="errorReadingImage">Gat ekki lesið ímynd</string>
|
||||
<string name="errorReadingImage">Gat ekki lesið mynd</string>
|
||||
<string name="about">Um</string>
|
||||
<string name="settings">Stillingar</string>
|
||||
<string name="settings_keep_screen_on">Halda á skjánum</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Að koma í veg fyrir að læsa skjánum</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Koma í veg fyrir skjálæsingu</string>
|
||||
<string name="editBarcode">Breyta strikamerkið</string>
|
||||
<string name="settings_light_theme">Ljós</string>
|
||||
<string name="importOptionFilesystemButton">Frá möppuna</string>
|
||||
<string name="chooseImportType">Flytja gögn úr\?</string>
|
||||
<string name="chooseImportType">Flytja gögn úr</string>
|
||||
<string name="balance">Jafnvægi</string>
|
||||
<string name="points">Stig</string>
|
||||
<string name="selectBarcodeTitle">Veldu Strikamerkið</string>
|
||||
<string name="thumbnailDescription">Þumalinn fyrir kort</string>
|
||||
<string name="selectBarcodeTitle">Velja strikamerki</string>
|
||||
<string name="thumbnailDescription">Táknmynd</string>
|
||||
<string name="settings_theme">Þema</string>
|
||||
<string name="app_license">Copylefted frítt hugbúnaður, leyfi GPLv3+</string>
|
||||
<string name="noBarcodeFound">Nei strikamerkið var komist</string>
|
||||
<string name="settings_system_theme">Kerfi</string>
|
||||
<string name="settings_dark_theme">Dökk</string>
|
||||
<string name="settings_display_barcode_max_brightness">Bjartari strikamerkið skoða</string>
|
||||
<string name="settings_display_barcode_max_brightness">Bjartari skjá</string>
|
||||
<string name="enter_group_name">Inn nafn hópur</string>
|
||||
<string name="intent_import_card_from_url_share_text">Ég vil deila kort með þér</string>
|
||||
<string name="importSuccessful">Kortið gögn flutt</string>
|
||||
<string name="importSuccessful">Gögn flutt inn</string>
|
||||
<string name="groups">Tekur</string>
|
||||
<string name="exportSuccessful">Kortagögn flutt út</string>
|
||||
<string name="failedOpeningFileManager">Setja skráasafn fyrst.</string>
|
||||
<string name="exportSuccessful">Gögn flutt út</string>
|
||||
<string name="failedOpeningFileManager">Gat ekki opnað skráakerfistjóra</string>
|
||||
<string name="moveUp">Fara upp</string>
|
||||
<string name="leaveWithoutSaveTitle">Brottför</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Fara án þess að bjarga\?</string>
|
||||
<string name="addFromImage">Veldu mynd frá gallerí</string>
|
||||
<string name="addFromImage">Veldu mynd úr gallerí</string>
|
||||
<string name="card">Kort</string>
|
||||
<string name="expiryDate">Fyrningu</string>
|
||||
<string name="moveDown">Fara neðar</string>
|
||||
@@ -75,8 +75,32 @@
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> valið</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> valin</item>
|
||||
</plurals>
|
||||
<string name="noGiftCardsGroup">Búðu til nokkur kort og settu þau síðan í hópinn hér.</string>
|
||||
<string name="noGiftCardsGroup">Búðu til nokkur kort og settu þau síðan í hópinn hér</string>
|
||||
<string name="sort">flokka</string>
|
||||
<string name="sort_by">flokka Eftir</string>
|
||||
<string name="nextCard">Næsta</string>
|
||||
</resources>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Eyða þessu <xliff:g>%d</xliff:g> korti varanlega?</item>
|
||||
<item quantity="other">Eyða þessum <xliff:g>%d</xliff:g> kortum varanlega?</item>
|
||||
</plurals>
|
||||
<string name="barcodeImageDescriptionWithType">Mynd <xliff:g>%s</xliff:g> strikamerki</string>
|
||||
<string name="importExport">Flytja inn/út</string>
|
||||
<string name="importFailed">Gat ekki flutt inn</string>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">Eyða <xliff:g>%d</xliff:g> korti</item>
|
||||
<item quantity="other">Eyða <xliff:g>%d</xliff:g> kortum</item>
|
||||
</plurals>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> kort</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> kort</item>
|
||||
</plurals>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> punktur</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> punktar</item>
|
||||
</plurals>
|
||||
<string name="previousCard">Fyrra</string>
|
||||
<string name="failedToOpenUrl">Settu inn vef-vafra fyrst</string>
|
||||
<string name="welcome">Velkomin að Catima</string>
|
||||
<string name="importCards">Flytja inn kort</string>
|
||||
<string name="app_name">Catima</string>
|
||||
</resources>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<string name="action_search">Cerca</string>
|
||||
<string name="action_add">Aggiungi</string>
|
||||
<string name="noGiftCards">Premi il pulsante + per aggiungere una carta oppure importala dal menù ⋮</string>
|
||||
<string name="noMatchingGiftCards">Nessun risultato. Prova a cambiare la tua ricerca.</string>
|
||||
<string name="noMatchingGiftCards">Nessun risultato. Prova a modificare la ricerca.</string>
|
||||
<string name="storeName">Nome</string>
|
||||
<string name="note">Note</string>
|
||||
<string name="cardId">Codice</string>
|
||||
@@ -110,8 +110,8 @@
|
||||
<string name="addFromImage">Seleziona un\'immagine dalla galleria</string>
|
||||
<string name="unsupportedBarcodeType">Questo tipo di codice a barre non può ancora essere visualizzato. Potrebbe essere supportato in una versione successiva dell\'applicazione.</string>
|
||||
<string name="wrongValueForBarcodeType">Il valore non è valido per il tipo di codice a barre selezionato</string>
|
||||
<string name="app_resources">Risorse di terze parti: <xliff:g id="app_resources_list"> %s </xliff:g></string>
|
||||
<string name="app_libraries">Librerie di terze parti: <xliff:g id="app_libraries_list"> %s </xliff:g></string>
|
||||
<string name="app_resources">Risorse di terze parti: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Librerie di terze parti: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Voglio condividere alcune carte con te</string>
|
||||
<string name="no">No</string>
|
||||
<string name="yes">Sì</string>
|
||||
@@ -204,7 +204,6 @@
|
||||
<string name="welcome">Benvenuti su Catima</string>
|
||||
<string name="failedToOpenUrl">Installa prima un browser web</string>
|
||||
<string name="failedToRetrieveImageFile">Impossibile ottenere il file dell\'immagine</string>
|
||||
<string name="barcodeLongPressMessage">Si possono aprire solo immagini dell\'app della galleria</string>
|
||||
<string name="cameraPermissionDeniedTitle">Impossibile accedere alla fotocamera</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Per poter scansionare i codici a barre, Catima ha bisogno di accedere alla tua fotocamera. Premi qui per poter cambiare le impostazioni dei permessi.</string>
|
||||
<string name="updateBalance">Aggiorna bilancio</string>
|
||||
@@ -223,9 +222,7 @@
|
||||
<string name="switchToFrontImage">Passa all\'immagine frontale</string>
|
||||
<string name="switchToBackImage">Passa all\'immagine dietro</string>
|
||||
<string name="switchToBarcode">Passa al codice a barre</string>
|
||||
<string name="openFrontImageInGalleryApp">Apri immagine frontale nell\'app per la visualizzazione di immagini</string>
|
||||
<string name="donate">Dona</string>
|
||||
<string name="openBackImageInGalleryApp">Apri l\'immagine retro nell\'app per la visualizzazione di immagini</string>
|
||||
<string name="setBarcodeHeight">Imposta l\'altezza del codice a barre</string>
|
||||
<string name="icon_header_click_text">Premi a lungo per modificare l\'immagine</string>
|
||||
<string name="show_note">Mostra nota</string>
|
||||
@@ -305,4 +302,15 @@
|
||||
<string name="copy_value">Copia valore</string>
|
||||
<string name="copied_to_clipboard">Copiato negli appunti</string>
|
||||
<string name="nothing_to_copy">Nessun valore trovato</string>
|
||||
<string name="barcodeEncoding">Codifica codici a barre</string>
|
||||
<string name="back">Indietro</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pausa NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Sospende la funzione NFC per impedire che i pagamenti NFC vengano attivati durante la visualizzazione di una carta</string>
|
||||
<string name="nfc_blocked_while_viewing_card">La funzione NFC è disattivata</string>
|
||||
<string name="change_settings">Modifica impostazioni</string>
|
||||
<string name="nfc_block_system_error">Impossibile mettere in pausa l\'NFC</string>
|
||||
<string name="sort_by_most_recently_added">Aggiunte più di recente</string>
|
||||
<string name="show_card_id">Mostra ID carta</string>
|
||||
<string name="zoomFrontImage">Zoom immagine fronte</string>
|
||||
<string name="zoomBackImage">Zoom immagine retro</string>
|
||||
</resources>
|
||||
|
||||
@@ -8,4 +8,9 @@
|
||||
</plurals>
|
||||
<string name="action_add">הוסף</string>
|
||||
<string name="noGiftCards">לחץ על כפתור הפלוס (+) כדי להוסיף כרטיס, או ייבא מתפריט ⋮.</string>
|
||||
<string name="noMatchingGiftCards">אין תוצאות. נסה לשנות את החיפוש.</string>
|
||||
<string name="storeName">שם החנות</string>
|
||||
<string name="note">הערות</string>
|
||||
<string name="barcodeType">סוג ברקוד</string>
|
||||
<string name="noBarcode">אין ברקוד</string>
|
||||
</resources>
|
||||
|
||||
@@ -233,7 +233,6 @@
|
||||
<string name="showMoreInfo">情報を確認</string>
|
||||
<string name="updateBalance">残高を更新</string>
|
||||
<string name="failedToRetrieveImageFile">画像ファイルを取得できませんでした</string>
|
||||
<string name="barcodeLongPressMessage">ギャラリーアプリは画像のみ開けます</string>
|
||||
<string name="sort_by_valid_from">有効期限</string>
|
||||
<string name="starred">スター付き</string>
|
||||
<string name="include_if_asking_support">サポートを依頼する場合、以下の情報を含めて下さい:</string>
|
||||
@@ -250,8 +249,6 @@
|
||||
<string name="switchToFrontImage">前面画像へ切り替え</string>
|
||||
<string name="switchToBackImage">背面画像へ切り替え</string>
|
||||
<string name="switchToBarcode">バーコードへ切り替え</string>
|
||||
<string name="openFrontImageInGalleryApp">前面画像を画像ビューワーアプリで開く</string>
|
||||
<string name="openBackImageInGalleryApp">背面画像を画像ビューワーアプリで開く</string>
|
||||
<string name="setBarcodeHeight">バーコードの高さを設定</string>
|
||||
<string name="icon_header_click_text">サムネイルを長押しして編集</string>
|
||||
<string name="settings_category_title_cards_overview">カードの概要</string>
|
||||
@@ -292,4 +289,16 @@
|
||||
<string name="copy_value">値をコピー</string>
|
||||
<string name="copied_to_clipboard">クリップボードへコピー</string>
|
||||
<string name="nothing_to_copy">値が見つかりません</string>
|
||||
<string name="barcodeEncoding">バーコードの符号化</string>
|
||||
<string name="back">戻る</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFCを一時停止</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">カードの表示中にNFC決済が誤って実行されないようにNFCを一時停止します</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFCは停止中です</string>
|
||||
<string name="change_settings">設定を変更する</string>
|
||||
<string name="nfc_block_system_error">NFCの一時停止に失敗</string>
|
||||
<string name="sort_by_most_recently_added">最近追加されたもの</string>
|
||||
<string name="zoomFrontImage">券面を拡大</string>
|
||||
<string name="zoomBackImage">背面を拡大</string>
|
||||
<string name="show_card_id">カードIDを表示</string>
|
||||
<string name="open_in_gallery">ギャラリーを開く</string>
|
||||
</resources>
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
<string name="donate">ದಾನ ಮಾಡಿ</string>
|
||||
<string name="action_more_options">ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳು</string>
|
||||
<string name="add_a_card_in_a_different_way">ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಕಾರ್ಡ್ ಸೇರಿಸಿ</string>
|
||||
<string name="barcodeLongPressMessage">ಗ್ಯಾಲರಿ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ಮಾತ್ರ ತೆರೆಯಬಹುದು</string>
|
||||
<string name="all">ಎಲ್ಲವೂ</string>
|
||||
<string name="chooseValidFromDate">ದಿನಾಂಕದಿಂದ ಮಾನ್ಯವಾಗಿ ಆಯ್ಕೆಮಾಡಿ</string>
|
||||
<string name="delete">ಅಳಿಸಿ</string>
|
||||
|
||||
@@ -82,16 +82,15 @@
|
||||
<string name="takePhoto">사진 찍기</string>
|
||||
<string name="yes">예</string>
|
||||
<string name="no">아니오</string>
|
||||
<string name="failedGeneratingShareURL">공유 가능한 URL을 생성할 수 없습니다. 이를 개발자에게 알려 주십시오.</string>
|
||||
<string name="failedGeneratingShareURL">공유 가능한 URL을 생성할 수 없습니다</string>
|
||||
<string name="turn_flashlight_off">손전등 끄기</string>
|
||||
<string name="settings_locale">언어</string>
|
||||
<string name="settings_system_locale">시스템</string>
|
||||
<string name="selectColor">색상 선택</string>
|
||||
<string name="app_contributors">기여자: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="app_contributors">제작 지원: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="showMoreInfo">정보 보기</string>
|
||||
<string name="updateBalance">잔액 업데이트</string>
|
||||
<string name="failedToRetrieveImageFile">이미지 파일을 검색하지 못했습니다</string>
|
||||
<string name="barcodeLongPressMessage">갤러리 앱에서는 이미지만 열 수 있습니다</string>
|
||||
<string name="sort_by_name">이름</string>
|
||||
<string name="reverse">... 역순으로</string>
|
||||
<string name="sort_by">정렬 기준</string>
|
||||
@@ -138,8 +137,6 @@
|
||||
<string name="group_updated">그룹 업데이트됨</string>
|
||||
<string name="moveBarcodeToTopOfScreen">바코드를 화면 상단으로 이동</string>
|
||||
<string name="height">키</string>
|
||||
<string name="openFrontImageInGalleryApp">갤러리 앱에서 전면 이미지 열기</string>
|
||||
<string name="openBackImageInGalleryApp">갤러리 앱에서 다시 이미지 열기</string>
|
||||
<string name="setBarcodeHeight">바코드 높이 설정</string>
|
||||
<string name="setFrontImage">전면 이미지 설정</string>
|
||||
<plurals name="selectedCardCount">
|
||||
@@ -149,12 +146,12 @@
|
||||
<string name="noCameraPermissionDirectToSystemSetting">바코드를 스캔하려면 Catima가 카메라에 접근해야 합니다. 권한 설정을 변경하려면 여기를 탭하세요.</string>
|
||||
<string name="exportOptionExplanation">데이터는 선택한 위치에 기록됩니다</string>
|
||||
<string name="app_license">GPL v3+로 라이선스된 카피레프트 자유 소프트웨어</string>
|
||||
<string name="failedOpeningFileManager">먼저 파일 관리자를 설치하십시오.</string>
|
||||
<string name="failedOpeningFileManager">파일 관리자를 열 수 없습니다</string>
|
||||
<string name="importSuccessful">데이터 들여옴</string>
|
||||
<string name="group_name_is_empty">그룹 이름은 필수임</string>
|
||||
<string name="chooseExpiryDate">만료일 선택</string>
|
||||
<string name="settings_oled_dark">어두운 테마를 위한 검정색 배경</string>
|
||||
<string name="noGroups">+ 더하기 버튼을 클릭하여 분류할 그룹을 추가합니다.</string>
|
||||
<string name="noGroups">+ 더하기 버튼을 눌러 카테고리 그룹 추가</string>
|
||||
<string name="deleteConfirmationGroup">그룹을 삭제하시겠습니까\?</string>
|
||||
<string name="errorReadingImage">이미지를 읽을 수 없습니다</string>
|
||||
<string name="expiryStateSentence">만료: <xliff:g>%s</xliff:g></string>
|
||||
@@ -210,17 +207,13 @@
|
||||
<string name="app_loyalty_card_keychain">로열티 카드 키체인</string>
|
||||
<string name="privacy_policy">개인 정보 정책</string>
|
||||
<string name="importCatima">Catima에서 가져오기</string>
|
||||
<string name="importCatimaMessage">가져올 Catima에서 <i>catima.zip</i> 내보내기를 선택합니다.
|
||||
\n먼저 내보내기를 눌러 다른 Catima 앱의 가져오기/내보내기 메뉴에서 생성합니다.</string>
|
||||
<string name="importCatimaMessage">가져올 Catima에서 <i>catima.zip</i> 내보내기를 선택합니다. \n먼저 내보내기를 눌러 다른 Catima 앱의 가져오기/내보내기 메뉴에서 생성합니다.</string>
|
||||
<string name="importFidme">FidMe에서 가져오기</string>
|
||||
<string name="importFidmeMessage">가져올 FidMe에서 <i>fidme-export-request-xxxxxx.zip</i> 내보내기를 선택하고 나중에 바코드 유형을 수동으로 선택합니다.
|
||||
\n데이터 보호를 선택한 다음 먼저 내 데이터 추출을 눌러 FidMe 프로필에서 생성합니다.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">가져올 포인트 카드 키체인에서 <i>LoyaltyCardKeychain.csv</i> 내보내기를 선택합니다.
|
||||
\n먼저 내보내기를 눌러 로열티 카드 키체인의 가져오기/내보내기 메뉴에서 만드십시오.</string>
|
||||
<string name="importFidmeMessage">가져올 FidMe에서 <i>fidme-export-request-xxxxxx.zip</i> 내보내기를 선택하고 나중에 바코드 유형을 수동으로 선택합니다. \n데이터 보호를 선택한 다음 먼저 내 데이터 추출을 눌러 FidMe 프로필에서 생성합니다.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">가져올 포인트 카드 키체인에서 <i>LoyaltyCardKeychain.csv</i> 내보내기를 선택합니다. \n먼저 내보내기를 눌러 로열티 카드 키체인의 가져오기/내보내기 메뉴에서 만드십시오.</string>
|
||||
<string name="setBarcodeId">바코드 값 설정</string>
|
||||
<string name="importVoucherVault">Voucher Vault에서 가져오기</string>
|
||||
<string name="importVoucherVaultMessage">가져올 Voucher Vault에서 <i>vouchervault.json</i> 내보내기를 선택합니다.
|
||||
\n먼저 바우처 금고에서 내보내기를 눌러 생성하세요.</string>
|
||||
<string name="importVoucherVaultMessage">가져올 Voucher Vault에서 <i>vouchervault.json</i> 내보내기를 선택합니다. \n먼저 바우처 금고에서 내보내기를 눌러 생성하세요.</string>
|
||||
<string name="sameAsCardId">아이디와 동일</string>
|
||||
<string name="previousCard">이전의</string>
|
||||
<string name="nextCard">다음</string>
|
||||
@@ -266,7 +259,7 @@
|
||||
<string name="useFrontImage">전면 이미지 사용</string>
|
||||
<string name="useBackImage">후면 이미지 사용</string>
|
||||
<string name="addFromPkpass">Passbook 파일 선택하기 (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">죄송합니다, 문제가 발생했습니다. 다시 시도해 주세요...</string>
|
||||
<string name="generic_error_please_retry">오류가 발생했습니다</string>
|
||||
<string name="settings_use_volume_keys_navigation">볼륨 버튼을 사용하여 카드 전환하기</string>
|
||||
<string name="unsupportedFile">이 파일은 지원되지 않습니다</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">볼륨 버튼을 사용하여 표시되는 카드를 변경합니다</string>
|
||||
@@ -284,4 +277,24 @@
|
||||
<string name="sort_by_valid_from">유효 기간</string>
|
||||
<string name="width">너비</string>
|
||||
<string name="setBarcodeWidth">바코드 너비를 설정하세요</string>
|
||||
<string name="card_list_widget_name">카드 목록</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFC 일시 중지</string>
|
||||
<string name="card_list_widget_empty">Catima에 멤버십 카드를 추가하면 여기에 표시됩니다. 카드가 있는데도 보이지 않는다면 모두 보관 처리되어 있지 않은지 확인해 보세요.</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">기기를 회전하지 마세요. 진행 중인 작업이 취소될 수 있습니다</string>
|
||||
<string name="acra_catima_has_crashed">죄송합니다. <xliff:g id="app_name">%s</xliff:g> 앱이 종료되었습니다. 문제 해결을 위해 오류 리포트를 보내주세요.</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> 크래시 리포트</string>
|
||||
<string name="pref_enable_acra">오류 리포트 전송 요청</string>
|
||||
<string name="pref_enable_acra_summary">이 기능을 켜면 오류가 발생했을 때 보고서 전송 여부를 확인합니다. 오류 리포트는 절대 자동으로 전송되지 않습니다.</string>
|
||||
<string name="copy_value">값 복사</string>
|
||||
<string name="copied_to_clipboard">클립보드에 복사됨</string>
|
||||
<string name="nothing_to_copy">데이터를 찾을 수 없습니다</string>
|
||||
<string name="back">돌아가기</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC 일시 중지됨</string>
|
||||
<string name="change_settings">설정 변경</string>
|
||||
<string name="nfc_block_system_error">NFC 일시 중지에 실패</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">카드를 보는 동안 NFC 결제가 실행되는 것을 방지하기 위해 NFC 기능을 일시 중지합니다</string>
|
||||
<string name="cardWithNumber"><xliff:g>%d</xliff:g>번 카드</string>
|
||||
<string name="cardWithNumberAndLocale"><xliff:g>%d</xliff:g> 번 카드 (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="acra_explain_crash">가능하다면, 오류가 발생했을 때 어떤 작업을 하고 계셨는지 자세히 적어주세요:</string>
|
||||
<string name="barcodeEncoding">바코드 인코딩</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="action_add">Pridėti</string>
|
||||
<string name="noGiftCards">Norėdami pridėti kortelę, spustelėkite mygtuką + arba importuokite kortelę iš ⋮ meniu.</string>
|
||||
<string name="noGiftCards">Norėdami pridėti kortelę, spustelėkite mygtuką + arba importuokite iš ⋮ meniu</string>
|
||||
<string name="storeName">Pavadinimas</string>
|
||||
<string name="note">Užrašas</string>
|
||||
<string name="cardId">Kortelės ID</string>
|
||||
@@ -46,7 +46,7 @@
|
||||
<string name="failedParsingImportUriError">Nepavyko iššifruoti importo URI</string>
|
||||
<string name="turn_flashlight_off">Išjunkti žibintuvėlį</string>
|
||||
<string name="turn_flashlight_on">Įjunkti žibintuvėlį</string>
|
||||
<string name="failedGeneratingShareURL">Nepavyko sugeneruoti bendrinamo URL. Praneškite apie tai.</string>
|
||||
<string name="failedGeneratingShareURL">Nepavyko sugeneruoti bendrinamo URL</string>
|
||||
<string name="passwordRequired">Įveskite slaptažodį</string>
|
||||
<string name="no">Ne</string>
|
||||
<string name="yes">Taip</string>
|
||||
@@ -87,14 +87,14 @@
|
||||
<string name="balanceSentence">Balansas: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Galiojimas baigėsi: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Nustoja galioti: <xliff:g>%s</xliff:g></string>
|
||||
<string name="groupsList">Grupės: <xliff:g> %s </xliff:g></string>
|
||||
<string name="groupsList">Grupės: <xliff:g>%s</xliff:g></string>
|
||||
<string name="addFromImage">Pasirinkti vaizdą iš galerijos</string>
|
||||
<string name="addManually">Rankiniu būdu įvesti ID</string>
|
||||
<string name="addManually">Įvesti barcodą rankiniu būdu</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Išeiti neišsaugojus\?</string>
|
||||
<string name="leaveWithoutSaveTitle">Išeiti</string>
|
||||
<string name="moveDown">Judėti žemyn</string>
|
||||
<string name="moveUp">Judėti aukštyn</string>
|
||||
<string name="failedOpeningFileManager">Pirmiausia įdiekite failų tvarkyklę.</string>
|
||||
<string name="failedOpeningFileManager">Nepavyko atidaryti failų tvarkyklės</string>
|
||||
<string name="deleteConfirmationGroup">Ištrinti grupę\?</string>
|
||||
<string name="all">Visos</string>
|
||||
<plurals name="groupCardCount">
|
||||
@@ -102,7 +102,7 @@
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> kortelės</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> kortelių</item>
|
||||
</plurals>
|
||||
<string name="noGroups">Spustelėkite mygtuką +, kad pridėtumėte grupes kategorizavimui.</string>
|
||||
<string name="noGroups">Spustelėkite mygtuką +, kad pridėtumėte grupes kategorizavimui</string>
|
||||
<string name="groups">Grupės</string>
|
||||
<string name="enter_group_name">Įvesti grupės pavadinimą</string>
|
||||
<string name="exportSuccessful">Duomenys eksportuoti</string>
|
||||
@@ -123,14 +123,14 @@
|
||||
\nautorinės teisės © 2016–2020 Branden Archer</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Autorinės teisės © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
||||
<string name="importOptionFilesystemButton">Iš failų sistemos</string>
|
||||
<string name="importOptionFilesystemExplanation">Pasirinkite konkretų failą iš failų sistemos.</string>
|
||||
<string name="importOptionFilesystemExplanation">Pasirinkite konkretų failą iš failų sistemos</string>
|
||||
<string name="importOptionFilesystemTitle">Importuoti iš failų sistemos</string>
|
||||
<string name="exportOptionExplanation">Duomenys bus įrašyti į jūsų pasirinktą vietą.</string>
|
||||
<string name="exportOptionExplanation">Duomenys bus įrašyti į jūsų pasirinktą vietą</string>
|
||||
<string name="exportFailedTitle">Eksportuoti nepavyko</string>
|
||||
<string name="exportSuccessfulTitle">Eksportuota</string>
|
||||
<string name="importFailedTitle">Importuoti nepavyko</string>
|
||||
<string name="importSuccessfulTitle">Importuota</string>
|
||||
<string name="importExportHelp">Duomenų atsarginių kopijų darymas leidžia perkelti juos į kitą įrenginį.</string>
|
||||
<string name="importExportHelp">Duomenų atsarginių kopijų darymas leidžia perkelti juos į kitą įrenginį</string>
|
||||
<string name="noCardExistsError">Nepavyko rasti šios kortelės</string>
|
||||
<string name="share">Dalintis</string>
|
||||
<plurals name="selectedCardCount">
|
||||
@@ -178,7 +178,7 @@
|
||||
<string name="editGroup">Redaguojama grupė: <xliff:g>%s</xliff:g></string>
|
||||
<string name="group_updated">Grupė atnaujinta</string>
|
||||
<string name="group_edit">Redaguoti grupę</string>
|
||||
<string name="noGiftCardsGroup">Sukurkite keletą kortelių ir priskirkite jas grupei čia.</string>
|
||||
<string name="noGiftCardsGroup">Sukurkite keletą kortelių ir priskirkite jas grupei čia</string>
|
||||
<string name="setIcon">Nustatyti piktogramą</string>
|
||||
<string name="selectColor">Pasirinkti spalvą</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nepavyko rasti palaikomos galerijos programėlės</string>
|
||||
@@ -191,7 +191,6 @@
|
||||
</plurals>
|
||||
<string name="updateBalance">Atnaujinti balansą</string>
|
||||
<string name="failedToRetrieveImageFile">Nepavyko gauti vaizdo failo</string>
|
||||
<string name="barcodeLongPressMessage">Galerijos programėlėje galima atidaryti tik vaizdus</string>
|
||||
<string name="translate_platform">Weblate svetainėje</string>
|
||||
<string name="shortcutSelectCard">Pasirinkti kortelę</string>
|
||||
<string name="options">Parinktys</string>
|
||||
@@ -220,7 +219,6 @@
|
||||
<string name="importCards">Importuoti korteles</string>
|
||||
<string name="storageReadPermissionRequired">Šio veiksmo atlikimui reikalinga prieiga prie saugyklos…</string>
|
||||
<string name="cameraPermissionRequired">Šio veiksmo atlikimui reikalinga prieiga prie kameros…</string>
|
||||
<string name="openBackImageInGalleryApp">Atidarykite galinį vaizdą galerijos programėlėje</string>
|
||||
<string name="setBarcodeHeight">Nustatyti brūkšninio kodo aukštį</string>
|
||||
<string name="validFromDate">Galioja nuo</string>
|
||||
<string name="anyDate">Bet kuri data</string>
|
||||
@@ -230,7 +228,6 @@
|
||||
<string name="switchToBarcode">Perjungti į brūkšninį kodą</string>
|
||||
<string name="height">Aukštis</string>
|
||||
<string name="switchToFrontImage">Perjungti į priekinį vaizdą</string>
|
||||
<string name="openFrontImageInGalleryApp">Atidarykite priekinį vaizdą galerijos programėlėje</string>
|
||||
<string name="donate">Aukoti</string>
|
||||
<string name="settings_keep_screen_on_summary">Išjungti ekrano užmigdymą kol peržiūrite kortelę</string>
|
||||
<string name="manually_enter_barcode_instructions">Įveskite ID numerį arba tekstą ant jūsų kortelės ir paspauskite brūkšninį kodą, kuris atrodo kaip ant jūsų kortelės.</string>
|
||||
@@ -280,4 +277,8 @@
|
||||
<string name="sort_by_valid_from">Teisinga forma</string>
|
||||
<string name="settings_use_volume_keys_navigation">Keisti korteles su garso mygtukais</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Naudokite garso mygtukus kortelių pakeitimui</string>
|
||||
<string name="settings_category_title_cards_overview">Kortelių apžvalga</string>
|
||||
<string name="settings_column_count_portrait">Stulpeliai vertikaliame režime</string>
|
||||
<string name="settings_column_count_landscape">Stulpeliai horizontaliame režime</string>
|
||||
<string name="settings_automatic_column_count">Automatiškai</string>
|
||||
</resources>
|
||||
|
||||
@@ -80,7 +80,6 @@
|
||||
<string name="never">Nekad</string>
|
||||
<string name="chooseExpiryDate">Izvēlēties beigu datumu</string>
|
||||
<string name="failedToRetrieveImageFile">Neizdevās iegūt attēla datni</string>
|
||||
<string name="barcodeLongPressMessage">Galerijas lietotnē var atvērt tikai attēlus</string>
|
||||
<string name="sort_by_expiry">Derīgums</string>
|
||||
<string name="reverse">...apgrieztā secībā</string>
|
||||
<string name="credits">Pateicības</string>
|
||||
@@ -215,7 +214,6 @@
|
||||
<string name="icon_header_click_text">Ilgi piespiest, lai labotu sīktēlu</string>
|
||||
<string name="anyDate">Jebkurš datums</string>
|
||||
<string name="height">Augstums</string>
|
||||
<string name="openBackImageInGalleryApp">Atvērt aizmugures attēlu attēlu skatītāja lietotnē</string>
|
||||
<string name="donate">Ziedot</string>
|
||||
<string name="field_must_not_be_empty">Lauks nedrīkst būt tukšs</string>
|
||||
<string name="card_id_must_not_be_empty">Kartes identifikators nedrīkst būt tukšs</string>
|
||||
@@ -224,7 +222,6 @@
|
||||
<string name="noCameraFoundGuideText">Šķiet, ka ierīcei nav kameras. Ja tā tomēr ir, jāmēģina pārsāknēt ierīci. Pretējā gadījumā jāizmanto zemāk esošā poga \"Vairāk iespēju\", lai pievienot svītrkodu citā veidā.</string>
|
||||
<string name="settings_allow_content_provider_read_title">Ļaut citām lietotnēm piekļūt maniem datiem</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Lietotnēm joprojām būs jāpieprasa atļauja, lai nodrošinātu piekļuvi</string>
|
||||
<string name="openFrontImageInGalleryApp">Atvērt priekšpuses attēlu attēlu skatītāja lietotnē</string>
|
||||
<string name="show_note">Rādīt piezīmi</string>
|
||||
<string name="show_balance">Rādīt atlikumu</string>
|
||||
<string name="settings_category_title_privacy">Privātums</string>
|
||||
@@ -305,4 +302,11 @@
|
||||
<string name="copy_value">Ievietot vērtību starpliktuvē</string>
|
||||
<string name="copied_to_clipboard">Ievietots starpliktuvē</string>
|
||||
<string name="nothing_to_copy">Nav atrasta vērtība</string>
|
||||
<string name="barcodeEncoding">Svītrkoda šifrēšana</string>
|
||||
<string name="back">Atpakaļ</string>
|
||||
<string name="nfc_block_system_error">Neizdevās apturēt NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Apturēt NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Aptur NFC, lai novērstu NFC maksājumu izsaukšanu kartes apskatīšanas laikā</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC ir apturēts</string>
|
||||
<string name="change_settings">Mainīt iestatījumus</string>
|
||||
</resources>
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
<string name="exportFailedTitle">Kunne ikke eksportere</string>
|
||||
<string name="exportFailed">Kunne ikke utføre eksport</string>
|
||||
<string name="importing">Importerer…</string>
|
||||
<string name="exporting">Exporterer…</string>
|
||||
<string name="exporting">Eksporterer…</string>
|
||||
<string name="exportOptionExplanation">Data skrives dit du ønsker det.</string>
|
||||
<string name="importOptionFilesystemTitle">Importer fra filsystem</string>
|
||||
<string name="importOptionFilesystemExplanation">Velg spesifikk fil fra filsystemet.</string>
|
||||
<string name="importOptionFilesystemExplanation">Velg en bestemt fil fra filsystemet.</string>
|
||||
<string name="importOptionFilesystemButton">Fra filsystem</string>
|
||||
<string name="about">Om</string>
|
||||
<string name="app_license">Gemenhetslig fri programvare, lisensiert GPLv3+</string>
|
||||
<string name="app_license">Opphavsrettslig fri programvare, lisensiert GPLv3+</string>
|
||||
<string name="about_title_fmt">Om <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Versjon: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="selectBarcodeTitle">Velg strekkode</string>
|
||||
@@ -48,7 +48,7 @@
|
||||
<string name="settings_dark_theme">Mørk</string>
|
||||
<string name="settings_light_theme">Lys</string>
|
||||
<string name="settings_system_theme">System</string>
|
||||
<string name="settings_theme">Drakt</string>
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="app_copyright_old">Basert på Kundekortknippe
|
||||
\nopphavsrett 2016–2020 Branden Archer</string>
|
||||
<string name="failedParsingImportUriError">Kunne ikke tolke importerings-URI</string>
|
||||
@@ -132,10 +132,10 @@
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> valgt</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> valgt</item>
|
||||
</plurals>
|
||||
<string name="deleteConfirmation">Slett dette kortet for godt?</string>
|
||||
<string name="deleteConfirmation">Slette dette kortet for godt?</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Slett dette <xliff:g>%d</xliff:g> kortet for godt\?</item>
|
||||
<item quantity="other">Slett disse <xliff:g>%d</xliff:g> kortene for godt\?</item>
|
||||
<item quantity="one">Slette dette <xliff:g>%d</xliff:g> kortet for godt?</item>
|
||||
<item quantity="other">Slette disse <xliff:g>%d</xliff:g> kortene for godt?</item>
|
||||
</plurals>
|
||||
<string name="turn_flashlight_on">Skru på lommelykten</string>
|
||||
<string name="turn_flashlight_off">Skru av lommelykten</string>
|
||||
@@ -203,7 +203,6 @@
|
||||
<string name="failedToOpenUrl">Installer en nettleser først</string>
|
||||
<string name="welcome">Velkommen til Catima</string>
|
||||
<string name="failedToRetrieveImageFile">Kunne ikke hente bildefil</string>
|
||||
<string name="barcodeLongPressMessage">Kun bilder kan åpnes i galleriprogrammet</string>
|
||||
<string name="cameraPermissionDeniedTitle">Fikk ikke tilgang til kameraet</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Catima trenger kameratilgang for å skanne strekkoder. Trykk her for å endre tilgangsinnstillingene.</string>
|
||||
<string name="importCards">Importer kort</string>
|
||||
@@ -227,8 +226,6 @@
|
||||
<string name="show_balance">Vis saldo</string>
|
||||
<string name="show_note">Vis notat</string>
|
||||
<string name="show_validity">Vis gyldighet</string>
|
||||
<string name="openFrontImageInGalleryApp">Åpne frontbilde i galleriprogrammet</string>
|
||||
<string name="openBackImageInGalleryApp">Åpne baksidebilde i galleriprogram</string>
|
||||
<string name="setBarcodeHeight">Sett strekkodehøyde</string>
|
||||
<string name="donate">Doner</string>
|
||||
<string name="permissionReadCardsLabel">Les Catima-kort</string>
|
||||
|
||||
@@ -199,7 +199,6 @@
|
||||
<string name="welcome">Welkom bij Catima</string>
|
||||
<string name="failedToOpenUrl">Installeer een webbrowser</string>
|
||||
<string name="failedToRetrieveImageFile">De afbeelding kan niet worden opgehaald</string>
|
||||
<string name="barcodeLongPressMessage">Alleen afbeeldingen kunnen worden geopend in de galerij-app</string>
|
||||
<string name="cameraPermissionDeniedTitle">Geen cameratoegang</string>
|
||||
<string name="updateBalanceTitle">Hoeveel heb je uitgegeven of ontvangen?</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Catima heeft toegang tot je camera nodig om barcodes te kunnen scannen. Druk hier om toegang te verlenen.</string>
|
||||
@@ -219,8 +218,6 @@
|
||||
<string name="switchToFrontImage">Voorzijde tonen</string>
|
||||
<string name="switchToBackImage">Achterzijde tonen</string>
|
||||
<string name="switchToBarcode">Barcode tonen</string>
|
||||
<string name="openFrontImageInGalleryApp">Voorzijde openen in afbeeldingsweergave-app</string>
|
||||
<string name="openBackImageInGalleryApp">Achterzijde openen in afbeeldingsweergave-app</string>
|
||||
<string name="donate">Doneren</string>
|
||||
<string name="icon_header_click_text">Houd lang ingedrukt om miniatuur te bewerken</string>
|
||||
<string name="show_balance">Saldo tonen</string>
|
||||
@@ -299,4 +296,15 @@
|
||||
<string name="nothing_to_copy">Geen waarde gevonden</string>
|
||||
<string name="copied_to_clipboard">Gekopieerd naar klembord</string>
|
||||
<string name="copy_value">Kopieer waarde</string>
|
||||
<string name="back">Terug</string>
|
||||
<string name="barcodeEncoding">Barcodecodering</string>
|
||||
<string name="change_settings">Verander instellingen</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pauzeer NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pauzeert NFC om te voorkomen dat NFC-betalingen activeren tijdens het bekijken van een kaart</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC is gepauzeerd</string>
|
||||
<string name="nfc_block_system_error">Pauzeren van NFC mislukt</string>
|
||||
<string name="sort_by_most_recently_added">Op onlangs toegevoegd</string>
|
||||
<string name="show_card_id">Kaart ID tonen</string>
|
||||
<string name="zoomFrontImage">Voorzijde inzoomen</string>
|
||||
<string name="zoomBackImage">Achterzijde inzoomen</string>
|
||||
</resources>
|
||||
|
||||
@@ -179,7 +179,6 @@
|
||||
<string name="showMoreInfo">دیدن اطلاعات</string>
|
||||
<string name="updateBalance">بهروزرسانی موجودی</string>
|
||||
<string name="failedToRetrieveImageFile">فایل تصویر بازیابی نشد</string>
|
||||
<string name="barcodeLongPressMessage">فقط عکس میتونه تو گالری برنامه باز بشه</string>
|
||||
<string name="sort_by_name">اسم</string>
|
||||
<string name="sort_by_most_recently_used">جدیدا استفاده شده</string>
|
||||
<string name="sort_by_valid_from">معتبر از</string>
|
||||
@@ -228,8 +227,6 @@
|
||||
<string name="switchToFrontImage">تغییر به عکس جلو</string>
|
||||
<string name="switchToBackImage">تغییر به عکس عقب</string>
|
||||
<string name="switchToBarcode">به بارکد تغییر بده</string>
|
||||
<string name="openFrontImageInGalleryApp">عکس جلویی رو تو image viewer app باز کن</string>
|
||||
<string name="openBackImageInGalleryApp">باز کردن عکس تو image viewer app</string>
|
||||
<string name="setBarcodeHeight">تنظیم ارتفاع بارکد</string>
|
||||
<string name="donate">کمک مالی کن</string>
|
||||
<string name="icon_header_click_text">برای ویرایش عکس کوچیک، فشار طولانی بده</string>
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
<string name="noCardsMessage">Najpierw dodaj kartę</string>
|
||||
<string name="noCardExistsError">Nie można znaleźć tej karty</string>
|
||||
<string name="failedParsingImportUriError">Nie można przeanalizować identyfikatora importu URL</string>
|
||||
<string name="importExport">Importuj/Eksportuj</string>
|
||||
<string name="importExport">Import/eksport</string>
|
||||
<string name="exportName">Eksportuj</string>
|
||||
<string name="importExportHelp">Kopie zapasowe umożliwiają przeniesienie danych na inne urządzenie.</string>
|
||||
<string name="importExportHelp">Kopie zapasowe umożliwiają przeniesienie danych na inne urządzenie</string>
|
||||
<string name="importSuccessfulTitle">Zaimportowano</string>
|
||||
<string name="importFailedTitle">Importowanie nie powiodło się</string>
|
||||
<string name="importFailed">Nie udało się zaimportować</string>
|
||||
@@ -51,7 +51,7 @@
|
||||
<string name="intent_import_card_from_url_share_text">Chcę udostępnić Ci kartę lojalnościową</string>
|
||||
<string name="deleteConfirmationGroup">Usunąć grupę\?</string>
|
||||
<string name="all">Wszystko</string>
|
||||
<string name="noGroups">Kliknij przycisk + plus, aby dodać grupy do kategoryzacji.</string>
|
||||
<string name="noGroups">Kliknij przycisk +, aby dodać grupy do kategoryzacji</string>
|
||||
<string name="groups">Grupy</string>
|
||||
<string name="enter_group_name">Wpisz nazwę grupy</string>
|
||||
<string name="exportSuccessful">Dane zostały wyeksportowane</string>
|
||||
@@ -59,7 +59,7 @@
|
||||
<string name="starImage">Gwiazdka ulubionych</string>
|
||||
<string name="app_copyright_old">Na podstawie Loyalty Card Keychain
|
||||
\nWszelkie prawa zastrzeżone © 2016–2020 Branden Archer</string>
|
||||
<string name="exportOptionExplanation">Dane zostaną zapisane w wybranym przez ciebie miejscu.</string>
|
||||
<string name="exportOptionExplanation">Dane zostaną zapisane w wybranym przez ciebie miejscu</string>
|
||||
<string name="unstar">Usuń z ulubionych</string>
|
||||
<string name="star">Dodaj do ulubionych</string>
|
||||
<string name="noBarcode">Brak kodu kreskowego</string>
|
||||
@@ -71,8 +71,8 @@
|
||||
<string name="settings_locale">Język</string>
|
||||
<string name="turn_flashlight_off">Wyłącz latarkę</string>
|
||||
<string name="turn_flashlight_on">Włącz latarkę</string>
|
||||
<string name="failedGeneratingShareURL">Nie można wygenerować adresu URL do udostępnienia. Proszę to zgłosić.</string>
|
||||
<string name="passwordRequired">Proszę wpisać hasło</string>
|
||||
<string name="failedGeneratingShareURL">Nie można wygenerować adresu URL do udostępnienia</string>
|
||||
<string name="passwordRequired">Wprowadź hasło</string>
|
||||
<string name="no">Nie</string>
|
||||
<string name="yes">Tak</string>
|
||||
<string name="updateBarcodeQuestionText">Zmieniłeś ID. Czy chcesz zaktualizować kod kreskowy, aby używał tej samej wartości\?</string>
|
||||
@@ -90,17 +90,13 @@
|
||||
<string name="setBarcodeId">Ustaw wartość kodu kreskowego</string>
|
||||
<string name="sameAsCardId">Taki sam jak ID</string>
|
||||
<string name="barcodeId">Wartość kodu kreskowego</string>
|
||||
<string name="importVoucherVaultMessage">Wybierz swój <i>vouchervault.json</i> z Voucher Vault, aby zaimportować.
|
||||
\nUtwórz go wpierw klikając Eksportuj w Voucher Vault.</string>
|
||||
<string name="importVoucherVaultMessage">Wybierz swój plik eksportu z Voucher Vault, aby zaimportować. \nUtwórz go wybierając Eksportuj w Voucher Vault.</string>
|
||||
<string name="importVoucherVault">Importuj z Voucher Vault</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Wybierz swój <i>LoyaltyCardKeychain.csv</i> z Loyalty Card Keychain, aby zaimportować.
|
||||
\nUtwórz go z menu Importuj/Eksportuj w Loyalty Card Keychain, wpierw klikając tam Eksportuj.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Wybierz swój plik eksportu z Loyalty Card Keychain, aby zaimportować. \nUtwórz go z menu Import/eksport w Loyalty Card Keychain, wybierając opcję Eksportuj.</string>
|
||||
<string name="importLoyaltyCardKeychain">Importuj z Loyalty Card Keychain</string>
|
||||
<string name="importFidmeMessage">Wybierz swój <i>fidme-export-request-xxxxxx.zip</i> z FidMe, aby zaimportować, po czym wybierz typy kodów kreskowych.
|
||||
\nStwórz go ze swojego profilu FidMe, wybierając wpierw Ochrona Danych, a następnie naciskając Wyodrębnij moje dane.</string>
|
||||
<string name="importFidmeMessage">Wybierz swój plik eksportu z FidMe, aby zaimportować, po czym wybierz typy kodów kreskowych. \nStwórz go ze swojego profilu FidMe, wybierając Ochrona Danych, a następnie Wyodrębnij moje dane.</string>
|
||||
<string name="importFidme">Importuj z FidMe</string>
|
||||
<string name="importCatimaMessage">Wybierz swój <i>catima.zip</i> z Catima, aby zaimportować.
|
||||
\nUtwórz go z menu Importuj/Eksportuj innej aplikacji Catima, wpierw klikając tam Eksportuj.</string>
|
||||
<string name="importCatimaMessage">Wybierz swój plik eksportu z Catima, aby zaimportować. \nUtwórz go z menu Import/eksport innej aplikacji Catima poprzez wybór opcji Eksport.</string>
|
||||
<string name="importCatima">Importuj z Catima</string>
|
||||
<string name="accept">Zaakceptuj</string>
|
||||
<string name="privacy_policy">Polityka prywatności</string>
|
||||
@@ -109,7 +105,7 @@
|
||||
<string name="points">Punkty</string>
|
||||
<string name="currency">Waluta</string>
|
||||
<string name="balance">Saldo</string>
|
||||
<string name="errorReadingImage">Nie udało się odczytać zdjęcia</string>
|
||||
<string name="errorReadingImage">Odczytanie zdjęcia nie powiodło się</string>
|
||||
<string name="noBarcodeFound">Nie znaleziono kodu kreskowego</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Przenieś kod kreskowy na górę ekranu</string>
|
||||
<string name="chooseExpiryDate">Wybierz datę wygaśnięcia</string>
|
||||
@@ -127,7 +123,7 @@
|
||||
<string name="leaveWithoutSaveTitle">Wyjdź</string>
|
||||
<string name="moveDown">Przesuń w dół</string>
|
||||
<string name="moveUp">Przesuń w górę</string>
|
||||
<string name="failedOpeningFileManager">Nie można otworzyć menadżera plików.</string>
|
||||
<string name="failedOpeningFileManager">Nie można otworzyć menadżera plików</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> karta</item>
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> karty</item>
|
||||
@@ -137,8 +133,8 @@
|
||||
<string name="noGroupCards">Ta grupa jest pusta</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Zapobiegaj wyłączeniu ekranu</string>
|
||||
<string name="settings_keep_screen_on">Nie wygaszaj ekranu</string>
|
||||
<string name="app_resources">Otwarte zewnętrzne zasoby: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Otwarte zewnętrzne biblioteki: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Zasoby zewnętrzne: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Biblioteki zewnętrzne: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Wszelkie prawa zastrzeżone © 2019–<xliff:g>%d</xliff:g> Sylvia van Os i współtwórcy</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Usunąć tą <xliff:g>%d</xliff:g> kartę permamentnie\?</item>
|
||||
@@ -184,7 +180,7 @@
|
||||
<string name="group_name_already_in_use">Ta nazwa jest już w użytku</string>
|
||||
<string name="group_name_is_empty">Nazwa grupy nie może być pusta</string>
|
||||
<string name="group_updated">Zaktualizowano grupę</string>
|
||||
<string name="editGroup">Edytowanie grupy: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Edycja grupy: <xliff:g>%s</xliff:g></string>
|
||||
<string name="exportPassword">Ustaw hasło, aby zabezpieczyć twoje wyeksportowane dane (opcjonalne)</string>
|
||||
<string name="exportPasswordHint">Wpisz hasło</string>
|
||||
<string name="options">Opcje</string>
|
||||
@@ -203,7 +199,7 @@
|
||||
<string name="unarchive">Cofnij archiwizację</string>
|
||||
<string name="archived">Karta zarchiwizowana</string>
|
||||
<string name="unarchived">Karta niezarchiwizowana</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nie można odnaleźć obsługiwanej galerii.</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nie można odnaleźć obsługiwanej galerii</string>
|
||||
<string name="previousCard">Poprzedni</string>
|
||||
<string name="nextCard">Następny</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
@@ -213,7 +209,6 @@
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> kart (<xliff:g id="archivedCount">%2$d</xliff:g> zarchwizowanych)</item>
|
||||
</plurals>
|
||||
<string name="failedToRetrieveImageFile">Nie udało się pobrać pliku obrazu</string>
|
||||
<string name="barcodeLongPressMessage">W galerii możesz otworzyć tylko obrazy</string>
|
||||
<string name="failedToOpenUrl">Najpierw zainstaluj przeglądarkę</string>
|
||||
<string name="welcome">Witaj w Catima</string>
|
||||
<string name="currentBalanceSentence">Bieżące saldo: <xliff:g>%s</xliff:g></string>
|
||||
@@ -234,16 +229,14 @@
|
||||
<string name="switchToFrontImage">Przełącz na obraz z przodu</string>
|
||||
<string name="switchToBackImage">Przełącz na obraz z tyłu</string>
|
||||
<string name="switchToBarcode">Przełącz na kod kreskowy</string>
|
||||
<string name="openFrontImageInGalleryApp">Otwórz obraz z przodu w galerii</string>
|
||||
<string name="setBarcodeHeight">Ustaw wysokość kodu kreskowego</string>
|
||||
<string name="donate">Darowizna</string>
|
||||
<string name="openBackImageInGalleryApp">Otwórz obraz z powrotem w galerii</string>
|
||||
<string name="icon_header_click_text">Przytrzymaj, aby edytować miniaturę</string>
|
||||
<string name="show_name_below_image_thumbnail">Pokaż nazwę pod miniaturką zdjęcia</string>
|
||||
<string name="show_balance">Pokaż balans</string>
|
||||
<string name="show_validity">Pokaż ważność</string>
|
||||
<string name="show_note">Pokaż notatkę</string>
|
||||
<string name="permissionReadCardsLabel">Odczytaj Karty Catima</string>
|
||||
<string name="permissionReadCardsLabel">Odczytaj karty Catima</string>
|
||||
<string name="permissionReadCardsDescription">odczytywanie swoich kart Catima i ich szczegółów, włącznie z notatkami i obrazkami</string>
|
||||
<string name="settings_allow_content_provider_read_title">Pozwól innym aplikacjom na dostęp do moich danych</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Potrzebne aby niektóre skanery działały</string>
|
||||
@@ -275,9 +268,9 @@
|
||||
<string name="receive">Otrzymaj</string>
|
||||
<string name="amountParsingFailed">Nieprawidłowa ilość</string>
|
||||
<string name="add_manually_warning_title">Skanowanie jest zalecane</string>
|
||||
<string name="failedLaunchingFileManager">Nie można znaleźć obsługiwanego menedżera plików</string>
|
||||
<string name="failedLaunchingFileManager">Nie można znaleźć wspieranego menedżera plików</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Którego ze znalezionych kodów kreskowych chciałbyś użyć?</string>
|
||||
<string name="add_manually_warning_message">W przypadku niektórych sklepów wartość kodu kreskowego różni się od liczby zapisanej na karcie. Z tego powodu ręczne wprowadzanie kodu kreskowego może nie zawsze działać. Zdecydowanie zaleca się zeskanowanie kodu kreskowego za pomocą aparatu. Czy nadal chcesz kontynuować?</string>
|
||||
<string name="add_manually_warning_message">W przypadku niektórych kart wartość kodu kreskowego różni się od liczby zapisanej na karcie. Z tego powodu ręczne wprowadzanie kodu kreskowego może nie zawsze działać. Zaleca się zeskanowanie kodu kreskowego za pomocą aparatu. Czy nadal chcesz kontynuować?</string>
|
||||
<string name="noCameraFoundGuideText">Nie wykryto kamery. Jeśli twoje urządzenie posiada kamerę, spróbuj uruchomić je ponownie. W innym wypadku wybierz Więcej opcji i dodaj kartę w inny sposób.</string>
|
||||
<string name="importCancelled">Import anulowany</string>
|
||||
<string name="exportCancelled">Eksport anulowany</string>
|
||||
@@ -298,17 +291,32 @@
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="addFromPkpass">Wybierz plik Passbook (.pkpass / .pkpasses)</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>
|
||||
<string name="sort_by_valid_from">Poprawna forma</string>
|
||||
<string name="generic_error_please_retry">Wystąpił błąd</string>
|
||||
<string name="sort_by_valid_from">Ważne od</string>
|
||||
<string name="setBarcodeWidth">Ustaw szerokość kodu kreskowego</string>
|
||||
<string name="width">Szerokość</string>
|
||||
<string name="card_list_widget_empty">Karty lojalnościowe dodane w aplikacji Catima pokażą się tutaj. Jeżeli masz jakieś karty, upewnij się że nie są one zarchiwizowane.</string>
|
||||
<string name="card_list_widget_name">Lista kart</string>
|
||||
<string name="cardWithNumber">Karta <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">Karta <xliff:g>%d</xliff:g> (%s)</string>
|
||||
<string name="cardWithNumberAndLocale">Karta <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Proszę nie obracać urządzenia, gdyż anuluje to obecne zadanie</string>
|
||||
<string name="acra_explain_crash">Jeśli możliwe, dodaj więcej szczegółów na temat co robiłeś/aś tutaj:</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> raport błędu</string>
|
||||
<string name="pref_enable_acra">Zapytaj o wysłanie raportu błędu</string>
|
||||
<string name="pref_enable_acra_summary">Kiedy zaznaczone, będziesz proszony/a o zgłoszenie raportu błędu, gdyby zaistniał. Raporty błędu nigdy nie są wysyłane automatycznie.</string>
|
||||
<string name="acra_catima_has_crashed">Przepraszamy, ale aplikacja <xliff:g id="app_name">%s</xliff:g> uległa awarii. Prosimy o pomoc w rozwiązaniu tego problemu poprzez przesłanie nam raportu o błędzie.</string>
|
||||
<string name="copy_value">Kopiuj wartość</string>
|
||||
<string name="copied_to_clipboard">Skopiowano do schowka</string>
|
||||
<string name="nothing_to_copy">Nie znaleziono wartości</string>
|
||||
<string name="back">Wstecz</string>
|
||||
<string name="barcodeEncoding">Kodowanie kodów kreskowych</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Zatrzymaj NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Wstrzymuje działanie funkcji NFC, aby zapobiec uruchomieniu płatności NFC podczas przeglądania karty</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC zostało zatrzymane</string>
|
||||
<string name="change_settings">Zmień ustawienia</string>
|
||||
<string name="nfc_block_system_error">Błąd podczas zatrzymania NFC</string>
|
||||
<string name="sort_by_most_recently_added">Najnowsze dodane</string>
|
||||
<string name="zoomFrontImage">Powiększ zdjęcie z przodu</string>
|
||||
<string name="zoomBackImage">Powiększ zdjęcie z tyłu</string>
|
||||
<string name="show_card_id">Pokaż ID karty</string>
|
||||
</resources>
|
||||
|
||||
@@ -129,7 +129,6 @@
|
||||
<string name="showMoreInfo">Mostrar informações</string>
|
||||
<string name="updateBalance">Atualizar saldo</string>
|
||||
<string name="failedToRetrieveImageFile">Falha ao recuperar o arquivo de imagem</string>
|
||||
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na galeria</string>
|
||||
<string name="sort_by_most_recently_used">Usado mais recentemente</string>
|
||||
<string name="reverse">...em ordem inversa</string>
|
||||
<string name="sort_by">Ordenar por</string>
|
||||
@@ -152,8 +151,6 @@
|
||||
<string name="switchToBarcode">Mudar para código de barras</string>
|
||||
<string name="switchToFrontImage">Mudar para imagem frontal</string>
|
||||
<string name="switchToBackImage">Mudar para imagem traseira</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imagem frontal no visualizador de imagens</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imagem traseira no visualizador de imagens</string>
|
||||
<string name="setBarcodeHeight">Definir altura do código de barras</string>
|
||||
<string name="donate">Doar</string>
|
||||
<string name="icon_header_click_text">Pressione e segure para editar a miniatura</string>
|
||||
@@ -305,4 +302,15 @@
|
||||
<string name="copy_value">Copiar valor</string>
|
||||
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
|
||||
<string name="nothing_to_copy">Nenhum valor encontrado</string>
|
||||
<string name="barcodeEncoding">codificação de código de barras</string>
|
||||
<string name="back">Voltar</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pausar NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Suspende a tecnologia NFC para impedir que pagamentos NFC sejam acionados enquanto o cartão estiver sendo visualizado</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC está pausado</string>
|
||||
<string name="change_settings">Alterar configurações</string>
|
||||
<string name="nfc_block_system_error">Falha ao pausar o NFC</string>
|
||||
<string name="sort_by_most_recently_added">Adicionados mais recentemente</string>
|
||||
<string name="zoomFrontImage">Ampliar imagem frontal</string>
|
||||
<string name="zoomBackImage">Reduzir o zoom da imagem</string>
|
||||
<string name="show_card_id">Mostrar ID do cartão</string>
|
||||
</resources>
|
||||
|
||||
@@ -205,7 +205,6 @@
|
||||
<string name="failedToOpenUrl">Instale primeiro um navegador de Internet</string>
|
||||
<string name="welcome">Bem-vindo ao Catima</string>
|
||||
<string name="failedToRetrieveImageFile">Falha ao recuperar o ficheiro de imagem</string>
|
||||
<string name="barcodeLongPressMessage">Só podem ser abertas imagens na aplicação da galeria</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Para digitalizar códigos de barras, o Catima tem de aceder à câmara. Clique aqui para mudar as configurações de permissão.</string>
|
||||
<string name="cameraPermissionDeniedTitle">Não foi possível aceder à câmara</string>
|
||||
<string name="importCards">Importar cartões</string>
|
||||
@@ -224,8 +223,6 @@
|
||||
<string name="height">Altura</string>
|
||||
<string name="switchToBackImage">Mudar para a imagem de trás</string>
|
||||
<string name="switchToBarcode">Mudar para o código de barras</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imagem frontal na app visualizadora de imagens</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imagem traseira na app visualizadora de imagens</string>
|
||||
<string name="setBarcodeHeight">Definir altura do código de barras</string>
|
||||
<string name="donate">Doar</string>
|
||||
<string name="show_validity">Mostrar validade</string>
|
||||
@@ -305,4 +302,13 @@
|
||||
<string name="copy_value">Copiar valor</string>
|
||||
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
|
||||
<string name="nothing_to_copy">Nenhum valor encontrado</string>
|
||||
<string name="barcodeEncoding">Codificação de códigos de barras</string>
|
||||
<string name="back">Voltar</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pausar NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pausa NFC para evitar que pagamentos de NFC sejam acionados enquanto visualiza um cartão</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC está pausado</string>
|
||||
<string name="change_settings">Alterar configurações</string>
|
||||
<string name="nfc_block_system_error">Falha ao pausar o NFC</string>
|
||||
<string name="zoomFrontImage">Ampliar imagem frontal</string>
|
||||
<string name="show_card_id">Mostrar ID do cartão</string>
|
||||
</resources>
|
||||
|
||||
@@ -194,7 +194,6 @@
|
||||
<string name="showMoreInfo">Mostrar informações</string>
|
||||
<string name="updateBalance">Atualizar saldo</string>
|
||||
<string name="failedToRetrieveImageFile">Falha ao recuperar o arquivo de imagem</string>
|
||||
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na galeria</string>
|
||||
<string name="sort_by_name">Nome</string>
|
||||
<string name="sort_by_most_recently_used">Usado mais recentemente</string>
|
||||
<string name="sort_by_valid_from">Válido a partir de</string>
|
||||
@@ -244,8 +243,6 @@
|
||||
<string name="switchToFrontImage">Mudar para imagem frontal</string>
|
||||
<string name="switchToBackImage">Mudar para imagem traseira</string>
|
||||
<string name="switchToBarcode">Mudar para código de barras</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imagem frontal no visualizador de imagens</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imagem traseira no visualizador de imagens</string>
|
||||
<string name="setBarcodeHeight">Definir altura do código de barras</string>
|
||||
<string name="donate">Doar</string>
|
||||
<string name="icon_header_click_text">Pressione e segure para editar a miniatura</string>
|
||||
@@ -304,4 +301,14 @@
|
||||
<string name="copy_value">Copiar valor</string>
|
||||
<string name="copied_to_clipboard">Copiado para a área de transferência</string>
|
||||
<string name="nothing_to_copy">Nenhum valor encontrado</string>
|
||||
<string name="barcodeEncoding">codificação de código de barras</string>
|
||||
<string name="back">Voltar</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pausar NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pausa NFC para evitar que pagamentos de NFC sejam acionados enquanto visualiza um cartão</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC está pausado</string>
|
||||
<string name="change_settings">Alterar configurações</string>
|
||||
<string name="nfc_block_system_error">Erro ao pausar o NFC</string>
|
||||
<string name="zoomFrontImage">Ampliar imagem frontal</string>
|
||||
<string name="show_card_id">Mostrar ID do cartão</string>
|
||||
<string name="sort_by_most_recently_added">Adicionados mais recentemente</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?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="barcodeType">Tip cod de bare</string>
|
||||
<string name="cardId">Identificatorul cardului</string>
|
||||
<string name="note">Notă</string>
|
||||
<string name="cardId">ID-ul cardului</string>
|
||||
<string name="note">Nota</string>
|
||||
<string name="storeName">Numele</string>
|
||||
<string name="noMatchingGiftCards">Nu au fost găsite rezultate. Încercați să schimbați termenii de căutare.</string>
|
||||
<string name="noGiftCards">Faceți clic pe butonul + plus pentru a adăuga o carte sau mai întâi importați una din meniu.</string>
|
||||
<string name="noGiftCards">Faceți clic pe butonul + plus pentru a adăuga un card sau importă din ⋮ meniu</string>
|
||||
<string name="action_add">Adăugați</string>
|
||||
<string name="action_search">Căutare</string>
|
||||
<string name="sendLabel">Trimiteți…</string>
|
||||
@@ -25,17 +25,17 @@
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="all">Toate</string>
|
||||
<string name="noCardsMessage">Adăugați mai întâi un card</string>
|
||||
<string name="noCardExistsError">Cardul nu a putut fi găsit</string>
|
||||
<string name="noCardExistsError">N-am găsit cardul respectiv</string>
|
||||
<string name="failedParsingImportUriError">Nu s-a putut analiza URI-ul de import</string>
|
||||
<string name="importExport">Importă/Exportă</string>
|
||||
<string name="importExport">Importă/exportă</string>
|
||||
<string name="exportName">Exportați</string>
|
||||
<string name="importSuccessfulTitle">Importat</string>
|
||||
<string name="importFailedTitle">Importul a eșuat</string>
|
||||
<string name="importFailed">Nu s-a putut efectua importarea</string>
|
||||
<string name="exportFailed">Nu s-a putut efectua exportarea</string>
|
||||
<string name="importing">Importul…</string>
|
||||
<string name="exporting">Exportul…</string>
|
||||
<string name="exportOptionExplanation">Datele vor fi scrise într-o locație aleasă de dumneavoastră.</string>
|
||||
<string name="importing">Importare…</string>
|
||||
<string name="exporting">Exportare…</string>
|
||||
<string name="exportOptionExplanation">Datele vor fi scrise într-o locație aleasă de dumneavoastră</string>
|
||||
<string name="importOptionFilesystemTitle">Import din sistemul de fișiere</string>
|
||||
<string name="starImage">Stea de preferintă</string>
|
||||
<string name="settings">Setări</string>
|
||||
@@ -56,15 +56,15 @@
|
||||
<string name="balance">Balanță</string>
|
||||
<string name="importSuccessful">Date importate</string>
|
||||
<string name="exportSuccessful">Date exportate</string>
|
||||
<string name="noGroups">Faceți clic pe butonul + plus pentru a adăuga grupuri pentru clasificare.</string>
|
||||
<string name="noGroups">Faceți clic pe butonul + plus pentru a adăuga grupuri pentru clasificare</string>
|
||||
<string name="deleteConfirmationGroup">Ștergeți grupul\?</string>
|
||||
<string name="failedOpeningFileManager">Instalați mai întâi un manager de fișiere.</string>
|
||||
<string name="failedOpeningFileManager">Eșec în a deschide managerul de fișiere</string>
|
||||
<string name="leaveWithoutSaveTitle">Ieșire</string>
|
||||
<string name="addManually">Introduceți codul de bare manual</string>
|
||||
<string name="currency">Monedă</string>
|
||||
<string name="editBarcode">Editarea codului de bare</string>
|
||||
<string name="chooseExpiryDate">Alegeți data de expirare</string>
|
||||
<string name="selectBarcodeTitle">Selectare cod de bare</string>
|
||||
<string name="selectBarcodeTitle">Selectează codul de bare</string>
|
||||
<string name="noGroupCards">Acest grup este gol</string>
|
||||
<string name="addFromImage">Selectați o imagine din galerie</string>
|
||||
<string name="never">Niciodată</string>
|
||||
@@ -74,21 +74,21 @@
|
||||
<string name="moveBarcodeToTopOfScreen">Mutați codul de bare în partea de sus a ecranului</string>
|
||||
<string name="errorReadingImage">Nu s-a putut citi imaginea</string>
|
||||
<string name="points">Puncte</string>
|
||||
<string name="cardShortcut">Scurtătură de card</string>
|
||||
<string name="cardShortcut">Comandă rapidă pentru card</string>
|
||||
<string name="scanCardBarcode">Scanați codul de bare</string>
|
||||
<string name="importExportHelp">Copia de rezervă a datelor vă permite să le mutați pe un alt dispozitiv.</string>
|
||||
<string name="importExportHelp">Copia de rezervă a datelor vă permite să le mutați pe un alt dispozitiv</string>
|
||||
<string name="exportSuccessfulTitle">Exportat</string>
|
||||
<string name="exportFailedTitle">Export eșuat</string>
|
||||
<string name="importOptionFilesystemExplanation">Alegeți un anumit fișier din sistemul de fișiere.</string>
|
||||
<string name="importOptionFilesystemExplanation">Alegeți un anumit fișier din sistemul de fișiere</string>
|
||||
<string name="thumbnailDescription">Miniatură</string>
|
||||
<string name="enter_group_name">Introduceți numele grupului</string>
|
||||
<string name="yes">Da</string>
|
||||
<string name="no">Nu</string>
|
||||
<string name="archive">Arhivare</string>
|
||||
<string name="passwordRequired">Vă rugăm, introduceți parola</string>
|
||||
<string name="passwordRequired">Introduceți parola</string>
|
||||
<string name="unsupportedBarcodeType">Acest tip de cod de bare nu poate fi afișat. Este posibil ca acesta să se poată afișa într-o versiune mai nouă a aplicației.</string>
|
||||
<string name="photos">Imagini</string>
|
||||
<string name="noGiftCardsGroup">Creați câteva carduri, iar apoi atribuiți-le grupului de aici.</string>
|
||||
<string name="noGiftCardsGroup">Creați câteva carduri, iar apoi atribuiți-le grupului de aici</string>
|
||||
<string name="importCatima">Importați din Catima</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Aș dori să partajez niște carduri cu tine</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Drepturi de autor © 2019–<xliff:g>%d</xliff:g> Sylvia van Os și contribuitorii</string>
|
||||
@@ -99,7 +99,6 @@
|
||||
<string name="exportPasswordHint">Introduceți o parolă</string>
|
||||
<string name="about_title_fmt">Despre <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="barcodeImageDescriptionWithType">Imagine <xliff:g>%s</xliff:g> cod de bare</string>
|
||||
<string name="openFrontImageInGalleryApp">Deschideți imaginea frontală în aplicația galerie</string>
|
||||
<string name="show_name_below_image_thumbnail">Afișați numele sub imaginea miniaturii</string>
|
||||
<string name="removeImage">Ștergeți imaginea</string>
|
||||
<string name="help_translate_this_app">Ajutați la traducerea aplicației</string>
|
||||
@@ -107,7 +106,7 @@
|
||||
<string name="add_a_card_in_a_different_way">Adăugați un card într-o altă modalitate</string>
|
||||
<string name="takePhoto">Faceți o poză</string>
|
||||
<string name="validFromDate">Valid de la data de</string>
|
||||
<string name="cameraPermissionDeniedTitle">Camera nu a putut fi accesată</string>
|
||||
<string name="cameraPermissionDeniedTitle">Camera n-a putut fi accesată</string>
|
||||
<string name="wrongValueForBarcodeType">Valoarea nu este validă pentru tipul de cod de bare selectat</string>
|
||||
<string name="welcome">Bine ați venit la Catima</string>
|
||||
<string name="and_data_usage">și utilizarea datelor</string>
|
||||
@@ -122,7 +121,6 @@
|
||||
<string name="height">Înălțime</string>
|
||||
<string name="expiryStateSentence">Expiră: <xliff:g>%s</xliff:g></string>
|
||||
<string name="setIcon">Setați miniatura</string>
|
||||
<string name="barcodeLongPressMessage">Doar imagini pot fi deschise în aplicația galerie</string>
|
||||
<string name="settings_category_title_general">General</string>
|
||||
<string name="manually_enter_barcode_instructions">Introduceți numărul de identificare sau textul de pe cardul dumneavoastră iar apoi selectați codul de bare ce arată ca și cel de pe cardul dumneavoastră.</string>
|
||||
<string name="balanceSentence">Sold: <xliff:g>%s</xliff:g></string>
|
||||
@@ -132,7 +130,7 @@
|
||||
<string name="action_more_options">Mai multe opțiuni</string>
|
||||
<string name="app_copyright_old">Bazat pe Loyalty Card Keychain
|
||||
\ndrepturi de autor rezervate © 2016-2020 Branden Archer</string>
|
||||
<string name="importVoucherVaultMessage">Selectați exportul dvs. <i>vouchervault.json</i> din Voucher Vault pentru a-l importa.\nCreați întâi fișierul prin apăsarea butonului Export în Voucher Vault.</string>
|
||||
<string name="importVoucherVaultMessage">Selectați exportul dumneavoastră din Voucher Vault pentru import.\nCreați întâi fișierul prin apăsarea butonului Export în Voucher Vault.</string>
|
||||
<string name="chooseImportType">Importați date din</string>
|
||||
<string name="frontImageDescription">Imagine frontală</string>
|
||||
<string name="showMoreInfo">Afișați informații</string>
|
||||
@@ -140,9 +138,9 @@
|
||||
<string name="setBackImage">Setați imaginea din spate</string>
|
||||
<string name="permissionReadCardsDescription">citiți cardurile dumneavoastră Catima și toate detaliile lor, inclusiv notițele și imaginile</string>
|
||||
<string name="anyDate">Orice dată</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nu a putut fi găsită o aplicație galerie suportată</string>
|
||||
<string name="failedLaunchingPhotoPicker">N-a putut fi găsită o aplicație galerie suportată</string>
|
||||
<string name="expiryStateSentenceExpired">Expirat: <xliff:g>%s</xliff:g></string>
|
||||
<string name="source_repository">Repozitor Sursă</string>
|
||||
<string name="source_repository">Depozit sursă</string>
|
||||
<string name="groupsList">Grupuri: <xliff:g>%s</xliff:g></string>
|
||||
<string name="enter_card_id">Introduceți numărul de identificare sau textul de pe cardul dumneavoastră</string>
|
||||
<string name="unarchived">Card dezarhivat</string>
|
||||
@@ -181,19 +179,18 @@
|
||||
<string name="settings_allow_content_provider_read_summary">Aplicațiile vor trebui totuși să solicite permisiunea pentru a primi acces</string>
|
||||
<string name="license">Licență</string>
|
||||
<string name="newBalanceSentence">Balanța nouă: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Editarea grupului: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Grup de editare: <xliff:g>%s</xliff:g></string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> card (<xliff:g id="archivedCount">%2$d</xliff:g> arhivat)</item>
|
||||
<item quantity="few"><xliff:g>%1$d</xliff:g> carduri (<xliff:g id="archivedCount">%2$d</xliff:g> arhivate)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> de carduri (<xliff:g id="archivedCount">%2$d</xliff:g> arhivate)</item>
|
||||
</plurals>
|
||||
<string name="sameAsCardId">Acelașil cu identificatorul</string>
|
||||
<string name="sameAsCardId">Același cu identificatorul</string>
|
||||
<string name="options">Opțiuni</string>
|
||||
<string name="failedGeneratingShareURL">Nu s-a putut genera un URL partajabil. Vă rugăm să raportați aceasta eroare.</string>
|
||||
<string name="failedGeneratingShareURL">Nu s-a putut genera o adresă URL care poate fi partajată.</string>
|
||||
<string name="selectColor">Selectați o culoare</string>
|
||||
<string name="setBarcodeHeight">Setați înălțimea codului de bare</string>
|
||||
<string name="privacy_policy">Politica de Confidențialitate</string>
|
||||
<string name="openBackImageInGalleryApp">Deschideți imaginea din spate în aplicația galerie</string>
|
||||
<string name="privacy_policy">Politica de confidențialitate</string>
|
||||
<string name="settings_system_locale">Sistem</string>
|
||||
<string name="updateBalance">Actualizați balanța</string>
|
||||
<string name="sort_by_most_recently_used">Cele mai recent utilizate</string>
|
||||
@@ -202,10 +199,10 @@
|
||||
<string name="settings_locale">Limbă</string>
|
||||
<string name="sort_by_name">Nume</string>
|
||||
<string name="setFrontImage">Setați imaginea din față</string>
|
||||
<string name="cameraPermissionRequired">Pentru această acțiune este necesară permisiunea de acces la camera …</string>
|
||||
<string name="cameraPermissionRequired">Permisiunea de acces la cameră este necesară pentru această acțiune…</string>
|
||||
<string name="settings_allow_content_provider_read_title">Permiteți altor aplicații să acceseze datele mele</string>
|
||||
<string name="updateBarcodeQuestionText">Ați schimbat identificatorul. Doriți să actualizați și codul de bare pentru a utiliza aceeași valoare?</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Selectați exportul dvs. <i>LoyaltyCardKeychain.csv</i> din Loyalty Card Keychain pentru a-l importa. \nCreați întâi fișierul din meniul Import/Export în Loyalty Card Keychain prin apăsarea butonului Export.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Selectați exportul dumneavoastră din Loyalty Card Keychain pentru import.\nCreați întâi fișierul din meniul Import/Export în Loyalty Card Keychain prin apăsarea butonului Export.</string>
|
||||
<string name="currentBalanceSentence">Balanța curentă: <xliff:g>%s</xliff:g></string>
|
||||
<string name="importLoyaltyCardKeychain">Importați din Loyalty Card Keychain</string>
|
||||
<string name="group_updated">Grup actualizat</string>
|
||||
@@ -213,7 +210,7 @@
|
||||
<string name="on_github">pe GitHub</string>
|
||||
<string name="sort">Sortați</string>
|
||||
<string name="permissionReadCardsLabel">Citiți cardurile Catima</string>
|
||||
<string name="storageReadPermissionRequired">Pentru această acțiune este necesară permisiunea de citire a mediului de stocare …</string>
|
||||
<string name="storageReadPermissionRequired">Permisiunea de citire a spațiului de stocare este necesară pentru această acțiune…</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Ștergeți acest <xliff:g>%d</xliff:g> card permanent?</item>
|
||||
<item quantity="few">Ștergeți aceste <xliff:g>%d</xliff:g> carduri permanent?</item>
|
||||
@@ -226,9 +223,9 @@
|
||||
<string name="group_name_already_in_use">Acest nume de grup este deja utilizat</string>
|
||||
<string name="include_if_asking_support">Dacă doriți să cereți ajutor, includeți informațiile următoare:</string>
|
||||
<string name="show_archived_cards">Afișați cardurile arhivate</string>
|
||||
<string name="app_libraries">Listă de biblioteci libere de la terți: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Biblioteci terțe: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="updateBalanceTitle">Cât de mult ați cheltuit sau primit?</string>
|
||||
<string name="app_resources">Listă de resurse gratuite de la terți: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Resurse terțe: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="shortcutSelectCard">Selectați un card</string>
|
||||
<string name="accept">Acceptă</string>
|
||||
@@ -245,26 +242,26 @@
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> selectate</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> selectate</item>
|
||||
</plurals>
|
||||
<string name="version_history">Istoric versiuni</string>
|
||||
<string name="importCatimaMessage">Selectați exportul dvs. <i>catima.zip</i> din Catima pentru a importa. \nCreați întâi fișierul din meniul Import/Export al unei alte aplicații Catima apăsând acolo butonul de Export.</string>
|
||||
<string name="version_history">Istoricul versiunilor</string>
|
||||
<string name="importCatimaMessage">Selectați exportul dumneavoastră din Catima pentru import.\nCreați întâi fișierul din meniul Import/Export al unei alte aplicații Catima apăsând butonul de Export.</string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> punct</item>
|
||||
<item quantity="few"><xliff:g>%s</xliff:g> puncte</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> de puncte</item>
|
||||
</plurals>
|
||||
<string name="importFidmeMessage">Selectați exportul dvs. <i>fidme-export-request-xxxxx.zip</i> din FidMe pentru a-l importa, și apoi selectați tipurile de cod de bare manual.\nCreați întâi fișierul din profilul dvs. FidMe prin alegerea Protecție Date și apoi apăsând Extrageți datele mele.</string>
|
||||
<string name="importFidmeMessage">Selectați exportul dumneavoastră din FidMe pentru import si selectați manual tipurile de coduri de bare dupa.\nCreați întâi fișierul din profilul dvs. FidMe prin alegerea Protecție Date și apoi apăsând Extrageți datele mele.</string>
|
||||
<string name="updateBarcodeQuestionTitle">Actualizați valoarea codului de bare?</string>
|
||||
<string name="settings_keep_screen_on_summary">Dezactivează temporizatorul de ecran când vizualizați un card</string>
|
||||
<string name="rate_this_app">Acordați o recenzie acestei aplicații</string>
|
||||
<string name="credits">Contribuitori</string>
|
||||
<string name="continue_">Continua</string>
|
||||
<string name="add_manually_warning_title">Se recomandă scanarea</string>
|
||||
<string name="add_manually_warning_message">Pentru unele magazine, valoarea codului de bare diferă de numărul scris pe card. Din acest motiv, este posibil ca introducerea manuală a unui cod de bare să nu funcționeze întotdeauna. În schimb, este recomandat să scanați codul de bare cu camera dvs. Mai vrei să continui?</string>
|
||||
<string name="add_manually_warning_message">Pentru unele carduri, valoarea codului de bare diferă de numărul scris pe card. Din acest motiv, este posibil ca introducerea manuală a unui cod de bare să nu funcționeze întotdeauna. În schimb, este recomandat să scanați codul de bare cu camera dvs. Mai vrei să continui?</string>
|
||||
<string name="spend">Cheltuie</string>
|
||||
<string name="receive">Primește</string>
|
||||
<string name="amountParsingFailed">Sumă invalidă</string>
|
||||
<string name="addFromPdfFile">Selectați un fișier PDF</string>
|
||||
<string name="errorReadingFile">Nu am putut citi fișierul</string>
|
||||
<string name="errorReadingFile">N-am putut citi fișierul</string>
|
||||
<string name="failedLaunchingFileManager">Nu s-a găsit un manager de fișiere suportat</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Care dintre codurile de bare găsite dorești să-l folosești?</string>
|
||||
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
|
||||
@@ -285,12 +282,31 @@
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_column_count_landscape">Coloane in mod orizontal</string>
|
||||
<string name="settings_category_title_cards_overview">Vedere de ansamblu al cardlui</string>
|
||||
<string name="sort_by_valid_from">Forma validă</string>
|
||||
<string name="sort_by_valid_from">Valabil de la</string>
|
||||
<string name="settings_column_count_portrait">Coloane in mod portret</string>
|
||||
<string name="addFromPkpass">Selectează un fișier de tip Passbook (.pkpass)</string>
|
||||
<string name="addFromPkpass">Selectează un fișier de tip Passbook (.pkpass / .pkpasses)</string>
|
||||
<string name="unsupportedFile">Acest fișier nu este suportat</string>
|
||||
<string name="generic_error_please_retry">Scuze, ceva nu a funționat. Încearcă din nou ...</string>
|
||||
<string name="generic_error_please_retry">A apărut o eroare</string>
|
||||
<string name="width">Lățime</string>
|
||||
<string name="setBarcodeWidth">Setează Lățimea Codului de Bare</string>
|
||||
<string name="setBarcodeWidth">Setează lățimea codului de bare</string>
|
||||
<string name="card_list_widget_name">Listă de carduri</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pauză NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pauză NFC pentru a preveni declanșarea plăților NFC în timpul vizualizării unui card</string>
|
||||
<string name="card_list_widget_empty">După ce adăugați carduri de fidelitate în Catima, ele vor apărea aici. Dacă aveți carduri, fi-ți sigur că ele nu sunt arhivate.</string>
|
||||
<string name="cardWithNumber">Card <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">Card <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Vă rog să nu rotiți dispozitivul, deoarece acest lucru va anula acțiunea</string>
|
||||
<string name="acra_catima_has_crashed">Ne cerem scuze, dar <xliff:g id="app_name">%s</xliff:g> s-a oprit. Vă rog să ne ajutați să rezolvăm problema, trimițându-ne un raport de eroare.</string>
|
||||
<string name="acra_explain_crash">Dacă este posibil, vă rog să adăugați mai multe detalii despre ce ați făcut aici:</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> raport de crash</string>
|
||||
<string name="pref_enable_acra">Cere să trimiți rapoarte de crash</string>
|
||||
<string name="pref_enable_acra_summary">Când este activat, veți fi întrebat să raportați crash-ul când se întâmpla. Raporturile de crash nu sunt niciodata trimise automat.</string>
|
||||
<string name="copy_value">Copiază valoarea</string>
|
||||
<string name="copied_to_clipboard">Copiat în clipboard</string>
|
||||
<string name="nothing_to_copy">Nicio valoare găsită</string>
|
||||
<string name="barcodeEncoding">Codarea codului de bare</string>
|
||||
<string name="back">Înapoi</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC este pus pe pauza</string>
|
||||
<string name="change_settings">Schimbă setările</string>
|
||||
<string name="nfc_block_system_error">Nu s-a putut întrerupe NFC-ul</string>
|
||||
</resources>
|
||||
|
||||
@@ -211,7 +211,6 @@
|
||||
<string name="welcome">Добро пожаловать в Catima</string>
|
||||
<string name="failedToOpenUrl">Сначала необходимо установить браузер</string>
|
||||
<string name="failedToRetrieveImageFile">Невозможно получить файл изображения</string>
|
||||
<string name="barcodeLongPressMessage">В приложении галереи можно открывать только изображения</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Для сканирования штрих-кодов Catima требуется доступ к камере устройства. Нажмите здесь, чтобы изменить настройки разрешений.</string>
|
||||
<string name="updateBalance">Обновить баланс</string>
|
||||
<string name="newBalanceSentence">Новый баланс: <xliff:g>%s</xliff:g></string>
|
||||
@@ -231,8 +230,6 @@
|
||||
<string name="switchToBarcode">Переключить на штрих-код</string>
|
||||
<string name="switchToFrontImage">Переключить на лицевую сторону</string>
|
||||
<string name="switchToBackImage">Переключить на заднюю сторону</string>
|
||||
<string name="openFrontImageInGalleryApp">Открыть лицевое изображение в приложении просмотра изображений</string>
|
||||
<string name="openBackImageInGalleryApp">Открыть заднее изображение в приложении просмотра изображений</string>
|
||||
<string name="donate">Пожертвовать</string>
|
||||
<string name="icon_header_click_text">Долгое нажатие для редактирования</string>
|
||||
<string name="show_note">Показывать примечание</string>
|
||||
@@ -311,4 +308,16 @@
|
||||
<string name="copy_value">Скопировать значение</string>
|
||||
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
|
||||
<string name="nothing_to_copy">Значение не найдено</string>
|
||||
<string name="barcodeEncoding">Кодировка штрих-кода</string>
|
||||
<string name="back">Назад</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Приостанавливать работу NFC для предотвращения срабатывание NFC-платежей при просмотре карты</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Отключать NFC</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC приостановлен</string>
|
||||
<string name="change_settings">Изменить настройки</string>
|
||||
<string name="nfc_block_system_error">Приостановка NFC невозможна</string>
|
||||
<string name="sort_by_most_recently_added">Порядок добавления</string>
|
||||
<string name="show_card_id">Показывать номер карты</string>
|
||||
<string name="zoomFrontImage">Масштабирование лицевого изображения</string>
|
||||
<string name="zoomBackImage">Масштабирование заднего изображения</string>
|
||||
<string name="open_in_gallery">Открыть в галерее</string>
|
||||
</resources>
|
||||
|
||||
@@ -210,7 +210,6 @@
|
||||
<item quantity="few"><xliff:g>%1$d</xliff:g> karty (<xliff:g id="archivedCount">%2$d</xliff:g> archivované)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> kariet (<xliff:g id="archivedCount">%2$d</xliff:g> archivovaných)</item>
|
||||
</plurals>
|
||||
<string name="barcodeLongPressMessage">V aplikácii galéria je možné otvoriť iba obrázky</string>
|
||||
<string name="cameraPermissionDeniedTitle">Nepodarilo sa získať prístup k fotoaparátu</string>
|
||||
<string name="storageReadPermissionRequired">Pre túto akciu je potrebné oprávnenie na čítanie úložiska…</string>
|
||||
<string name="importFidmeMessage">Vyberte svoj export zo služby FidMe pre import a potom vyberte typy čiarových kódov ručne.\nVytvorte ho z profilu FidMe tak, že vyberiete položku Ochrana údajov a potom stlačíte tlačidlo Extrahovať moje údaje.</string>
|
||||
@@ -226,8 +225,6 @@
|
||||
<string name="settings_keep_screen_on_summary">Ponechať obrazovku aktívnu počas prezerania karty</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Pre zaistenie čitateľnosti pre niektoré skenery</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Aplikácie budú musieť stále žiadať o povolenie, aby im bol udelený prístup</string>
|
||||
<string name="openBackImageInGalleryApp">Otvorenie zadného obrázka v prehliadači obrázkov</string>
|
||||
<string name="openFrontImageInGalleryApp">Otvorenie predného obrázka v prehliadači obrázkov</string>
|
||||
<string name="setBarcodeHeight">Nastavenie výšky čiarového kódu</string>
|
||||
<string name="show_balance">Ukážte zostatok</string>
|
||||
<string name="show_name_below_image_thumbnail">Zobraziť názov pod miniatúrou obrázka</string>
|
||||
@@ -305,4 +302,10 @@
|
||||
<string name="copy_value">Kopírovať hodnotu</string>
|
||||
<string name="copied_to_clipboard">Skopírované do schránky</string>
|
||||
<string name="nothing_to_copy">Nenašla sa žiadna hodnota</string>
|
||||
<string name="barcodeEncoding">Kódovanie čiarového kódu</string>
|
||||
<string name="back">Späť</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pozastaviť NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pozastaví NFC pre zabránenie spustenia NFC platieb pri zobrazovaní karty</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC je pozastavené</string>
|
||||
<string name="change_settings">Zmenit nastavenie</string>
|
||||
</resources>
|
||||
|
||||
@@ -211,7 +211,6 @@
|
||||
<string name="settings_oled_dark">Čisto črno ozadje za temno temo</string>
|
||||
<string name="selectColor">Izberi barvo</string>
|
||||
<string name="app_contributors">Omogočeno od: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="barcodeLongPressMessage">V aplikaciji za gledanje slik lahko odpremo samo slike</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirana)</item>
|
||||
<item quantity="two"><xliff:g>%1$d</xliff:g> kartici (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirani)</item>
|
||||
@@ -287,8 +286,6 @@
|
||||
<string name="switchToFrontImage">Preklopi na prednjo sliko</string>
|
||||
<string name="switchToBackImage">Preklopi na zadnjo sliko</string>
|
||||
<string name="switchToBarcode">Preklopi na črtno kodo</string>
|
||||
<string name="openFrontImageInGalleryApp">Odpri sprednjo sliko v aplikaciji za slike</string>
|
||||
<string name="openBackImageInGalleryApp">Odpri zadnjo sliko v aplikaciji za slike</string>
|
||||
<string name="setBarcodeHeight">Nastavi višino črtne kode</string>
|
||||
<string name="useFrontImage">Uporabi prednjo sliko</string>
|
||||
<string name="useBackImage">Uporabi zadnjo sliko</string>
|
||||
@@ -310,4 +307,15 @@
|
||||
<string name="copy_value">Kopiraj vrednost</string>
|
||||
<string name="copied_to_clipboard">Kopirano v odložišče</string>
|
||||
<string name="nothing_to_copy">Nobena vrednost ni najdena</string>
|
||||
<string name="barcodeEncoding">Kodiranje črtne kode</string>
|
||||
<string name="back">Nazaj</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pavza NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Začasno ustavi NFC, da prepreči sprožitev plačil NFC med ogledovanjem kartice</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC je zaustavljen</string>
|
||||
<string name="change_settings">Spremeni nastavitve</string>
|
||||
<string name="nfc_block_system_error">ustavitev NFC-ja ni uspela</string>
|
||||
<string name="sort_by_most_recently_added">Nazadnje dodane</string>
|
||||
<string name="zoomFrontImage">Povečaj sprednjo sliko</string>
|
||||
<string name="zoomBackImage">Povečaj zadnjo sliko</string>
|
||||
<string name="show_card_id">Prikaži ID kartice</string>
|
||||
</resources>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="action_add">Dodaj</string>
|
||||
<string name="action_search">Pretraga</string>
|
||||
<string name="noGiftCards">Klikni + plus znak da dodaš karticu, ili je uvezi pomoću ⋮ menija.</string>
|
||||
<string name="noGiftCards">Klikni + plus znak da dodaš karticu, ili je uvezi pomoću ⋮ menija</string>
|
||||
<string name="storeName">Ime</string>
|
||||
<string name="cardId">Broj kartice</string>
|
||||
<string name="star">Dodaj u omiljene</string>
|
||||
@@ -27,10 +27,10 @@
|
||||
<string name="cardShortcut">Prečica kartice</string>
|
||||
<string name="noCardsMessage">Prvo dodaj karticu</string>
|
||||
<string name="noCardExistsError">Nije moguće pronaći tu karticu</string>
|
||||
<string name="failedParsingImportUriError">Nije moguće obraditi uvozni URI</string>
|
||||
<string name="importExport">Uvoz/Izvoz</string>
|
||||
<string name="failedParsingImportUriError">Nije moguće obraditi uvozni URL</string>
|
||||
<string name="importExport">Uvoz/izvoz</string>
|
||||
<string name="exportName">Izvoz</string>
|
||||
<string name="importExportHelp">Pravljenje rezervnih kopija podataka omogućava premeštanje na drugi uređaj.</string>
|
||||
<string name="importExportHelp">Pravljenje rezervnih kopija podataka omogućava premeštanje na drugi uređaj</string>
|
||||
<string name="importSuccessfulTitle">Uvezeno</string>
|
||||
<string name="importFailedTitle">Uvoz nije uspeo</string>
|
||||
<string name="importFailed">Nije moguće izvršiti uvoz</string>
|
||||
@@ -43,8 +43,8 @@
|
||||
<string name="noBarcode">Nema bar-koda</string>
|
||||
<string name="scanCardBarcode">Skeniraj bar-kod</string>
|
||||
<string name="barcodeImageDescriptionWithType">Fotografija <xliff:g>%s</xliff:g> bar-koda</string>
|
||||
<string name="exportOptionExplanation">Podaci će biti sačuvani na lokaciji po tvom izboru.</string>
|
||||
<string name="importOptionFilesystemExplanation">Odaberi određenu datoteku iz sistema za upravljanje datotekama.</string>
|
||||
<string name="exportOptionExplanation">Podaci će biti sačuvani na lokaciji po tvom izboru</string>
|
||||
<string name="importOptionFilesystemExplanation">Odaberi određenu datoteku iz sistema za upravljanje datotekama</string>
|
||||
<string name="importOptionFilesystemTitle">Uvezi iz sistema za upravljanje datotekama</string>
|
||||
<string name="importOptionFilesystemButton">Iz sistema za upravljanje datotekama</string>
|
||||
<string name="about">O aplikaciji</string>
|
||||
@@ -68,7 +68,7 @@
|
||||
<string name="importSuccessful">Podaci uvezeni</string>
|
||||
<string name="exportSuccessful">Podaci izvezeni</string>
|
||||
<string name="enter_group_name">Unesite ime grupe</string>
|
||||
<string name="noGroups">Klikni + plus znak da dodaš grupe za kategorizaciju.</string>
|
||||
<string name="noGroups">Klikni + plus znak da dodaš grupe za kategorizaciju</string>
|
||||
<string name="noGroupCards">Ova grupa je prazna</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> kartica</item>
|
||||
@@ -99,11 +99,9 @@
|
||||
<string name="importCatima">Uvezi iz Catime</string>
|
||||
<string name="importFidme">Uvoz iz FidMe</string>
|
||||
<string name="importLoyaltyCardKeychain">Uvezi iz aplikacije Loyalty Card Keychain</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Odaberi svoj <i>LoyaltyCardKeychain.csv</i> izvoz iz aplikacije Loyalty Card Keychain za uvoz.
|
||||
\nKreiraj ga iz menija \"Import/Export\" u aplikaciji Loyalty Card Keychain klikom na \"Export\".</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Odaberi svoj izvoz iz aplikacije Loyalty Card Keychain za uvoz. \nKreiraj ga iz menija \"Import/Export\" u aplikaciji Loyalty Card Keychain klikom na \"Export\".</string>
|
||||
<string name="importVoucherVault">Uvoz iz Voucher Vault</string>
|
||||
<string name="importVoucherVaultMessage">Odaberi svoj <i>vouchervault.json</i> izvoz iz Voucher Vault za uvoz.
|
||||
\nKreiraj ga pritiskom na \"Export\" u Voucher Vault aplikaciji.</string>
|
||||
<string name="importVoucherVaultMessage">Odaberi svoj izvoz iz Voucher Vault za uvoz. \nKreiraj ga pritiskom na \"Export\" u Voucher Vault aplikaciji.</string>
|
||||
<string name="barcodeId">Vrednost bar-koda</string>
|
||||
<string name="sameAsCardId">Isti kao broj kartice</string>
|
||||
<string name="setBarcodeId">Podesi vrednost bar-koda</string>
|
||||
@@ -119,7 +117,7 @@
|
||||
<string name="yes">Da</string>
|
||||
<string name="exportPassword">Podesi lozinku da bi zaštitio svoj izvoz (opciono)</string>
|
||||
<string name="exportPasswordHint">Unesi lozinku</string>
|
||||
<string name="failedGeneratingShareURL">Nije moguće generisati URL koji se može podeliti. Molim te da prijaviš ovo developeru.</string>
|
||||
<string name="failedGeneratingShareURL">Nije moguće generisati URL koji se može podeliti.</string>
|
||||
<string name="turn_flashlight_on">Uključi blic</string>
|
||||
<string name="turn_flashlight_off">Isključi blic</string>
|
||||
<string name="settings_locale">Jezik</string>
|
||||
@@ -155,7 +153,7 @@
|
||||
<string name="unarchive">Ukloni iz arhive</string>
|
||||
<string name="unarchived">Kartica uklonjena iz arhive</string>
|
||||
<string name="archived">Kartica dodata u arhivu</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nije moguće pronaći podržanu galerija aplikaciju</string>
|
||||
<string name="failedLaunchingPhotoPicker">Nije moguće pronaći podržan birač fotografija</string>
|
||||
<string name="previousCard">Prethodna</string>
|
||||
<string name="nextCard">Sledeća</string>
|
||||
<string name="failedToOpenUrl">Prvo instalirajte internet pregledač</string>
|
||||
@@ -171,7 +169,6 @@
|
||||
<string name="height">Visina</string>
|
||||
<string name="switchToFrontImage">Prebaci na prednju fotografiju</string>
|
||||
<string name="switchToBarcode">Prebaci na bar-kod</string>
|
||||
<string name="openFrontImageInGalleryApp">Otvori prednju fotografiju u galerija aplikaciji</string>
|
||||
<string name="setBarcodeHeight">Postavi visinu bar-koda</string>
|
||||
<string name="donate">Doniraj</string>
|
||||
<string name="icon_header_click_text">Dugi pritisak za izmenu naslovne fotografije</string>
|
||||
@@ -191,7 +188,7 @@
|
||||
<item quantity="few"><xliff:g>%d</xliff:g> izabrane</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> izabranih</item>
|
||||
</plurals>
|
||||
<string name="noGiftCardsGroup">Kreirajte par kartica, a zatim ih ovde dodeli grupi.</string>
|
||||
<string name="noGiftCardsGroup">Kreiraj par kartica, a zatim ih ovde dodeli grupi.</string>
|
||||
<string name="noMatchingGiftCards">Nema rezultata. Pokušaj da promeniš pretragu.</string>
|
||||
<string name="note">Napomena</string>
|
||||
<plurals name="deleteCardsTitle">
|
||||
@@ -208,8 +205,8 @@
|
||||
<string name="app_license">Kopileftovani slobodni softver, licenciran GPLv3+</string>
|
||||
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Verzija: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_libraries">Slobodne biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Slobodni resursi trećih strana: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Resursi trećih strana: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="settings_keep_screen_on">Drži ekran uključen</string>
|
||||
<string name="settings_keep_screen_on_summary">Onemogućava vremensko ograničenje gašenja ekrana dok gledate karticu</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Onemogućava zaključavanje ekrana dok gledate karticu</string>
|
||||
@@ -217,7 +214,7 @@
|
||||
<string name="groups">Grupe</string>
|
||||
<string name="group_edit">Izmeni grupu</string>
|
||||
<string name="group_updated">Grupa ažurirana</string>
|
||||
<string name="failedOpeningFileManager">Prvo instaliraj menadžer datoteka.</string>
|
||||
<string name="failedOpeningFileManager">Otvaranje menadžera datoteka nije uspelo.</string>
|
||||
<string name="editGroup">Izmena grupe: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Ističe: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Istekla: <xliff:g>%s</xliff:g></string>
|
||||
@@ -233,17 +230,14 @@
|
||||
<string name="never">Nikad</string>
|
||||
<string name="chooseExpiryDate">Odaberi datum isteka</string>
|
||||
<string name="noBarcodeFound">Nije pronađen bar-kod</string>
|
||||
<string name="importCatimaMessage">Odaberi svoj <i>catima.zip</i> koji želiš da uvezeš.
|
||||
\nMožeš da ga kreiraš u Catima aplikaciji koju prenosiš iz menija Uvoz/Izvoz aplikacije pritiskom na izvoz.</string>
|
||||
<string name="importFidmeMessage">Odaberi svoj <i>fidme-export-request-xxxxxx.zip</i> izvoz iz FidMe za uvoz, a zatim ručno izaberite tipove bar-kodova.
|
||||
\nKreirajte ga iz svog FidMe profila tako što ćeš izabrati \"Data Protection\", a zatim pritisnuti \"Extract my data first\".</string>
|
||||
<string name="importCatimaMessage">Odaberi svoj export iz Carine radi importa.\nMožeš da ga kreiraš u Catima aplikaciji koju prenosiš iz menija Uvoz/Izvoz u drugoj Catima aplikaciji pritiskom na Izvoz.</string>
|
||||
<string name="importFidmeMessage">Odaberi svoj izvoz iz FidMe za uvoz, a zatim ručno izaberite tipove bar-kodova.\nKreirajte ga iz svog FidMe profila tako što ćeš izabrati \"Data Protection\", a zatim pritisnuti \"Extract my data first\".</string>
|
||||
<string name="backImageDescription">Zadnja fotografija kartice</string>
|
||||
<string name="setBackImage">Postavi zadnju fotografiju</string>
|
||||
<string name="passwordRequired">Unesi lozinku</string>
|
||||
<string name="updateBarcodeQuestionText">Promenio si broj kartice. Da li želiš da ažuriraš i bar-kod da bude iste vrednosti?</string>
|
||||
<string name="no">Ne</string>
|
||||
<string name="app_contributors">Saradnici: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="barcodeLongPressMessage">Samo fotografije mogu da se otvore u galerija aplikaciji</string>
|
||||
<string name="translate_platform">na Weblate-u</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirana)</item>
|
||||
@@ -253,7 +247,6 @@
|
||||
<string name="include_if_asking_support">Ako želiš da zatražiš podršku, ubaci sledeće informacije:</string>
|
||||
<string name="newBalanceSentence">Novo stanje: <xliff:g>%s</xliff:g></string>
|
||||
<string name="switchToBackImage">Prebaci na zadnju fotografiju</string>
|
||||
<string name="openBackImageInGalleryApp">Otvori zadnju fotografiju u galerija aplikaciji</string>
|
||||
<string name="settings_category_title_cards">Pregled kartica</string>
|
||||
<string name="addWithoutBarcode">Dodaj karticu bez bar-koda</string>
|
||||
<string name="enter_card_id">Unesite broj ili tekst sa kartice</string>
|
||||
@@ -262,7 +255,7 @@
|
||||
<string name="field_must_not_be_empty">Ovo polje ne sme biti prazno</string>
|
||||
<string name="manually_enter_barcode_instructions">Unesi broj ili tekst sa kartice i pritisnite bar-kod koji liči na onaj koji je na kartici.</string>
|
||||
<string name="add_manually_warning_title">Skeniranje se preporučuje</string>
|
||||
<string name="add_manually_warning_message">Za neke prodavnice, vrednost bar-koda može da se razlikuje od broja napisanog na kartici. Zbog toga, ručno unešeni bar-kod možda neće uvek funkcionisati. Toplo se preporučuje da umesto toga skeniraš bar-kod kamerom. Da li ipak želiš da nastaviš?</string>
|
||||
<string name="add_manually_warning_message">Za neke kartice, vrednost bar-koda može da se razlikuje od broja napisanog na kartici. Zbog toga, ručno unešeni bar-kod možda neće uvek funkcionisati. Preporučujemo da umesto toga skeniraš bar-kod kamerom. Da li ipak želiš da nastaviš?</string>
|
||||
<string name="continue_">Nastavi</string>
|
||||
<string name="spend">Potroši</string>
|
||||
<string name="receive">Primi</string>
|
||||
@@ -278,7 +271,7 @@
|
||||
<string name="pageWithNumber">Strana <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Čini se da tvoj uređaj nema kameru. Ako je ima, pokušaj da ponovo pokreneš uređaj. U suprotnom, koristi dugme Više opcija, koje se nalazi ispod, da bi dodao bar-kod na drugi način.</string>
|
||||
<string name="sort_by_valid_from">Važi od</string>
|
||||
<string name="generic_error_please_retry">Izvinite, nešto je pošlo naopako, molimo Vas pokušajte ponovo...</string>
|
||||
<string name="generic_error_please_retry">Došlo je do greške</string>
|
||||
<string name="width">Širina</string>
|
||||
<string name="setBarcodeWidth">Postavi širinu barkoda</string>
|
||||
<string name="settings_use_volume_keys_navigation">Promeni kartice koristeći dugmad za zvuk</string>
|
||||
@@ -295,7 +288,25 @@
|
||||
<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="addFromPkpass">Izaberi \"Passbook\" dokument (.pkpass)</string>
|
||||
<string name="addFromPkpass">Izaberi \"Passbook\" dokument (.pkpass/.pkpasses)</string>
|
||||
<string name="card_list_widget_name">Lista kartica</string>
|
||||
<string name="card_list_widget_empty">Nakon što dodate neke kartice lojalnosti u Catima, one će se pojaviti ovde. Ako imate kartice, uverite se da nisu sve arhivirane.</string>
|
||||
<string name="cardWithNumber">Kartica <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">Kartica <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Molimo ne rotiraj uređaj, jer će to poništiti radnju</string>
|
||||
<string name="acra_catima_has_crashed">Nažalost, aplikacija <xliff:g id="app_name">%s</xliff:g> se neočekivano zaustavila. Molimo te da nam pomogneš u popravljanju ovog problema tako što ćeš nam poslati izveštaj o grešci.</string>
|
||||
<string name="acra_explain_crash">Ukoliko je moguće, molimo te da dodaš još detalja o tome šta si radio ovde:</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> izveštaj o grešci</string>
|
||||
<string name="pref_enable_acra">Pitaj za slanje izveštaja o grešci</string>
|
||||
<string name="pref_enable_acra_summary">Kada je omogućeno, bićeš upitan da prijaviš grešku kada do nje dođe. Izveštaji o grešci nikada neće biti poslati automatski.</string>
|
||||
<string name="copy_value">Kopiraj vrednost</string>
|
||||
<string name="copied_to_clipboard">Kopiramo u privremenu memoriju</string>
|
||||
<string name="nothing_to_copy">Nije pronađena vrednost</string>
|
||||
<string name="barcodeEncoding">Enkodiranje bar-koda</string>
|
||||
<string name="back">Nazad</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Застани НФЦ</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Застани НФЦ ради спречавања окидања плаћања НФЦ-ом приликом прегледа картице</string>
|
||||
<string name="nfc_blocked_while_viewing_card">НФЦ је заустављен</string>
|
||||
<string name="change_settings">Измени поставке</string>
|
||||
<string name="nfc_block_system_error">Нисам успео застанути НФЦ</string>
|
||||
</resources>
|
||||
|
||||
@@ -209,11 +209,9 @@
|
||||
<string name="cameraPermissionRequired">Behörighet att komma åt kameran krävs för denna åtgärd…</string>
|
||||
<string name="updateBalance">Uppdatera balans</string>
|
||||
<string name="failedToRetrieveImageFile">Misslyckades att hämta bildfil</string>
|
||||
<string name="barcodeLongPressMessage">Endast bilder kan öppnas i galleriappen</string>
|
||||
<string name="updateBalanceTitle">Hur mycket spenderade du eller fick du?</string>
|
||||
<string name="updateBalanceHint">Ange summa</string>
|
||||
<string name="newBalanceSentence">Ny balans: <xliff:g>%s</xliff:g></string>
|
||||
<string name="openFrontImageInGalleryApp">Öppna bilden på framsidan i bildvisningsappen</string>
|
||||
<string name="show_name_below_image_thumbnail">Visa namnet nedanför bildens miniatyr</string>
|
||||
<string name="show_validity">Visa giltighet</string>
|
||||
<string name="view_online">Visa på internet</string>
|
||||
@@ -233,7 +231,6 @@
|
||||
<string name="switchToFrontImage">Byt till bilden på framsidan</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Appar måste fortfarande begära åtkomst för att få tillgång</string>
|
||||
<string name="setBarcodeHeight">Ställ in streckkodens höjd</string>
|
||||
<string name="openBackImageInGalleryApp">Öppna bilden på baksidan i bildvisningsappen</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Kopieringsskydd © 2019–<xliff:g>%d</xliff:g> Sylvia van Os och medverkande</string>
|
||||
<string name="settings_allow_content_provider_read_title">Tillåt andra appar att komma åt min data</string>
|
||||
<string name="permissionReadCardsLabel">Läsa Catima-kort</string>
|
||||
@@ -299,4 +296,12 @@
|
||||
<string name="copy_value">Kopiera värde</string>
|
||||
<string name="copied_to_clipboard">Kopierade till urklipp</string>
|
||||
<string name="nothing_to_copy">Inget värde hittades</string>
|
||||
<string name="barcodeEncoding">Streckkods-kodning</string>
|
||||
<string name="back">Tillbaka</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Pausa NFC</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC är pausad</string>
|
||||
<string name="change_settings">Ändra inställningar</string>
|
||||
<string name="nfc_block_system_error">Lyckades inte pausa NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Pausar NFC för att förhindra att NFC-betalningar genomförs av misstag medan du tittar på ett kort</string>
|
||||
<string name="sort_by_most_recently_added">Senast tillagda</string>
|
||||
</resources>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> தேர்ந்தெடுக்கப்பட்டன</item>
|
||||
</plurals>
|
||||
<string name="noGiftCards">ஒரு அட்டையைச் சேர்க்க + சேர் பொத்தானைக் சொடுக்கு செய்க அல்லது ⋮ பட்டியலிருந்து இறக்குமதி செய்</string>
|
||||
<string name="noGiftCardsGroup">சில அட்டைகளை உருவாக்கி, பின்னர் அவற்றை இங்கே குழுவிற்கு ஒதுக்குங்கள்.</string>
|
||||
<string name="noGiftCardsGroup">சில அட்டைகளை உருவாக்கி, பின்னர் அவற்றை இங்கே குழுவிற்கு ஒதுக்குங்கள்</string>
|
||||
<string name="storeName">பெயர்</string>
|
||||
<string name="note">குறிப்பு</string>
|
||||
<string name="cardId">அட்டை ஐடி</string>
|
||||
@@ -58,7 +58,7 @@
|
||||
<string name="errorReadingImage">படத்தைப் படிக்க முடியவில்லை</string>
|
||||
<string name="balance">இருப்பு</string>
|
||||
<string name="currency">நாணயம்</string>
|
||||
<string name="importFidme">FIDME இலிருந்து இறக்குமதி</string>
|
||||
<string name="importFidme">FidMe இலிருந்து இறக்குமதி</string>
|
||||
<string name="barcodeId">பார்கோடு மதிப்பு</string>
|
||||
<string name="backImageDescription">பின் படம்</string>
|
||||
<string name="photos">புகைப்படங்கள்</string>
|
||||
@@ -79,7 +79,7 @@
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="spend">செலவு</string>
|
||||
<string name="unsupportedFile">இந்த கோப்பு ஆதரிக்கப்படவில்லை</string>
|
||||
<string name="generic_error_please_retry">மன்னிக்கவும், ஏதோ தவறு நடந்தது, தயவுசெய்து மீண்டும் முயற்சிக்கவும் ...</string>
|
||||
<string name="generic_error_please_retry">பிழை ஏற்பட்டது</string>
|
||||
<string name="noMatchingGiftCards">முடிவுகள் இல்லை. உங்கள் தேடலை மாற்ற முயற்சிக்கவும்.</string>
|
||||
<string name="edit">தொகு</string>
|
||||
<string name="deleteTitle">அட்டையை நீக்கு</string>
|
||||
@@ -138,14 +138,14 @@
|
||||
<string name="importCatima">கேட்டிமாவில் இருந்து இறக்குமதி செய்</string>
|
||||
<string name="importCatimaMessage">நீங்கள் பூனையம்மாவிலிருந்து ஏற்றுமதியை தேர்ந்துஎடுத்து இறக்குமதி செய்.\nமற்றொரு பூனையம்மா செயலியில் இறக்குமதி/ஏற்றுமதி பட்டியலிலிருந்து ஏற்றுமதியை தேர்ந்துஎடுத்து இக்கோப்பை உருவாக்கு.</string>
|
||||
<string name="importLoyaltyCardKeychain">விசுவாச அட்டை கீச்சினிலிருந்து இறக்குமதி செய்யுங்கள்</string>
|
||||
<string name="importFidmeMessage">"உங்கள் இறக்குமதியை FIDME இலிருந்து ஏற்றுமதி செய்து, பின்னர் பட்டைகோடு வகைகளைக் கைமுறையாகத் தேர்ந்தெடு.\n தரவு பாதுகாப்பைத் தேர்ந்தெடுப்பதன் மூலம் உங்கள் FIDME தன்விவரத்திலிருந்து அதை உருவாக்கவும், பின்னர் எனது தரவைப் பிரித்தெடு அழுத்தவும்."</string>
|
||||
<string name="importFidmeMessage">உங்கள் இறக்குமதியை FidMe இலிருந்து ஏற்றுமதி செய்து, பின்னர் பட்டைகோடு வகைகளைக் கைமுறையாகத் தேர்ந்தெடு.\n தரவு பாதுகாப்பைத் தேர்ந்தெடுப்பதன் மூலம் உங்கள் FidMe தன்விவரத்திலிருந்து அதை உருவாக்கவும், பின்னர் எனது தரவைப் பிரித்தெடு அழுத்தவும்.</string>
|
||||
<string name="importVoucherVault">வவுச்சர் பெட்டகத்திலிருந்து இறக்குமதி</string>
|
||||
<string name="sameAsCardId">ஐடி அதே</string>
|
||||
<string name="setBarcodeId">பார்கோடு மதிப்பை அமைக்கவும்</string>
|
||||
<string name="unsupportedBarcodeType">இந்த பார்கோடு வகையை இன்னும் காட்ட முடியாது. பயன்பாட்டின் பின்னர் பதிப்பில் இது ஆதரிக்கப்படலாம்.</string>
|
||||
<string name="wrongValueForBarcodeType">தேர்ந்தெடுக்கப்பட்ட பார்கோடு வகைக்கு மதிப்பு செல்லுபடியாகாது</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">சில அட்டைகளை உங்களுடன் பகிர்ந்து கொள்ள விரும்புகிறேன்</string>
|
||||
<string name="importVoucherVaultMessage">உங்கள் <i> vouchervault.json </i> வவுச்சர் பெட்டகத்திலிருந்து இறக்குமதி செய்ய ஏற்றுமதி என்பதைத் தேர்ந்தெடுக்கவும்.\n முதலில் வவுச்சர் வால்ட்டில் ஏற்றுமதியை அழுத்துவதன் மூலம் அதை உருவாக்கவும்.</string>
|
||||
<string name="importVoucherVaultMessage">இறக்குமதி செய்ய வவுச்சர் வால்ட்டிலிருந்து உங்கள் ஏற்றுமதியைத் தேர்ந்தெடுக்கவும். \nவவுச்சர் வால்ட்டில் ஏற்றுமதி என்பதை அழுத்தி உருவாக்கவும்.</string>
|
||||
<string name="frontImageDescription">முன் படம்</string>
|
||||
<string name="updateBarcodeQuestionTitle">பார்கோடு மதிப்பைப் புதுப்பிக்கவா?</string>
|
||||
<string name="updateBarcodeQuestionText">நீங்கள் ஐடியை மாற்றினீர்கள். அதே மதிப்பைப் பயன்படுத்த பார்கோடு புதுப்பிக்க விரும்புகிறீர்களா?</string>
|
||||
@@ -154,7 +154,7 @@
|
||||
<string name="passwordRequired">கடவுச்சொல்லை உள்ளிடவும்</string>
|
||||
<string name="exportPassword">உங்கள் ஏற்றுமதியைப் பாதுகாக்க கடவுச்சொல்லை அமைக்கவும் (விரும்பினால்)</string>
|
||||
<string name="exportPasswordHint">கடவுச்சொல்லை உள்ளிடவும்</string>
|
||||
<string name="failedGeneratingShareURL">பகிரக்கூடிய முகவரி ஐ உருவாக்க முடியவில்லை. இதை புகாரளிக்கவும்.</string>
|
||||
<string name="failedGeneratingShareURL">பகிரக்கூடிய முகவரி ஐ உருவாக்க முடியவில்லை</string>
|
||||
<string name="turn_flashlight_on">ஒளிரும் விளக்கை இயக்கவும்</string>
|
||||
<string name="turn_flashlight_off">ஒளிரும் விளக்கை அணைக்கவும்</string>
|
||||
<string name="settings_locale">மொழி</string>
|
||||
@@ -166,7 +166,6 @@
|
||||
<string name="updateBalance">இருப்பு புதுப்பிக்கவும்</string>
|
||||
<string name="failedToRetrieveImageFile">படக் கோப்பை மீட்டெடுப்பதில் தோல்வி</string>
|
||||
<string name="sort_by">வரிசைப்படுத்தவும்</string>
|
||||
<string name="barcodeLongPressMessage">கேலரி பயன்பாட்டில் படங்களை மட்டுமே திறக்க முடியும்</string>
|
||||
<string name="version_history">பதிப்பு வரலாறு</string>
|
||||
<string name="credits">வரவு</string>
|
||||
<string name="on_google_play">கூகிள் பிளேயில்</string>
|
||||
@@ -187,7 +186,7 @@
|
||||
<string name="unarchive">அன்கான்</string>
|
||||
<string name="archived">அட்டை காப்பகப்படுத்தப்பட்டது</string>
|
||||
<string name="unarchived">அட்டை பதிக்கப்படாதது</string>
|
||||
<string name="failedLaunchingPhotoPicker">உதவி கேலரி பயன்பாட்டைக் கண்டுபிடிக்க முடியவில்லை</string>
|
||||
<string name="failedLaunchingPhotoPicker">ஆதரிக்கப்படும் படத் தேர்வியைக் கண்டறிய முடியவில்லை</string>
|
||||
<string name="previousCard">முந்தைய</string>
|
||||
<string name="failedToOpenUrl">முதலில் ஒரு வலை உலாவியை நிறுவவும்</string>
|
||||
<string name="welcome">கேட்டிமாவுக்கு வருக</string>
|
||||
@@ -201,8 +200,6 @@
|
||||
<string name="switchToFrontImage">முன் படத்திற்கு மாறவும்</string>
|
||||
<string name="switchToBackImage">பின் படத்திற்கு மாறவும்</string>
|
||||
<string name="switchToBarcode">பார்கோடு மாறவும்</string>
|
||||
<string name="openFrontImageInGalleryApp">கேலரி பயன்பாட்டில் முன் படத்தைத் திறக்கவும்</string>
|
||||
<string name="openBackImageInGalleryApp">கேலரி பயன்பாட்டில் படத்தைத் திறக்கவும்</string>
|
||||
<string name="setBarcodeHeight">பார்கோடு உயரத்தை அமைக்கவும்</string>
|
||||
<string name="donate">நன்கொடை</string>
|
||||
<string name="icon_header_click_text">சிறுபடத்தைத் திருத்த நீண்ட அழுத்தவும்</string>
|
||||
@@ -234,37 +231,37 @@
|
||||
<string name="continue_">தொடரவும்</string>
|
||||
<string name="receive">பெறுங்கள்</string>
|
||||
<string name="amountParsingFailed">தவறான தொகை</string>
|
||||
<string name="add_manually_warning_message">சில கடைகளுக்கு, பார்கோடு மதிப்பு அட்டையில் எழுதப்பட்ட எண்ணிலிருந்து வேறுபடுகிறது. இதன் காரணமாக, ஒரு பார்கோடு கைமுறையாக நுழைவது எப்போதும் வேலை செய்யாது. அதற்கு பதிலாக உங்கள் கேமராவுடன் பார்கோடு ச்கேன் செய்ய கடுமையாக பரிந்துரைக்கப்படுகிறது. நீங்கள் இன்னும் தொடர விரும்புகிறீர்களா?</string>
|
||||
<string name="add_manually_warning_message">சில கார்டுகளுக்கு, கார்டில் எழுதப்பட்ட எண்ணிலிருந்து பார்கோடு மதிப்பு வேறுபடும். இதன் காரணமாக, பார்கோடு கைமுறையாக உள்ளிடுவது எப்போதும் வேலை செய்யாது. அதற்கு பதிலாக உங்கள் கேமரா மூலம் பார்கோடை வருடு செய்ய பரிந்துரைக்கப்படுகிறது. நீங்கள் இன்னும் தொடர விரும்புகிறீர்களா?</string>
|
||||
<string name="addFromPdfFile">PDF கோப்பைத் தேர்ந்தெடுக்கவும்</string>
|
||||
<string name="errorReadingFile">கோப்பைப் படிக்க முடியவில்லை</string>
|
||||
<string name="failedLaunchingFileManager">உதவி கோப்பு மேலாளரைக் கண்டுபிடிக்க முடியவில்லை</string>
|
||||
<string name="failedLaunchingFileManager">ஆதரிக்கப்படும் கோப்பு மேலாளரைக் கண்டுபிடிக்க முடியவில்லை</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">கண்டுபிடிக்கப்பட்ட பார்கோடுகளில் எது நீங்கள் பயன்படுத்த விரும்புகிறீர்கள்?</string>
|
||||
<string name="noCameraFoundGuideText">உங்கள் சாதனத்தில் கேமரா இருப்பதாகத் தெரியவில்லை. அவ்வாறு இருந்தால், சாதனத்தை மறுதொடக்கம் செய்ய முயற்சிக்கவும். இல்லையெனில், பார்கோடை மற்றொரு வழியில் சேர்க்க கீழே உள்ள கூடுதல் விருப்பங்கள் பொத்தானைப் பயன்படுத்தவும்.</string>
|
||||
<string name="importCancelled">இறக்குமதி ரத்து செய்யப்பட்டது</string>
|
||||
<string name="exportCancelled">ஏற்றுமதி ரத்து செய்யப்பட்டது</string>
|
||||
<string name="useBackImage">பின் படத்தைப் பயன்படுத்தவும்</string>
|
||||
<string name="addFromPkpass">பாச் புக் கோப்பைத் தேர்ந்தெடுக்கவும் (.pkpass)</string>
|
||||
<string name="addFromPkpass">பாச்புக் கோப்பைத் தேர்ந்தெடுக்கவும் (.pkpass / .pkpasses)</string>
|
||||
<string name="useFrontImage">முன் படத்தைப் பயன்படுத்தவும்</string>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> அட்டை நீக்கு</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> அட்டைகளை நீக்கு</item>
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> கார்டை நீக்கவும்</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> கார்டுகளை நீக்கவும்</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">இந்த <xliff:g>%d</xliff:g> அட்டையை நிரந்தரமாக நீக்கவா?</item>
|
||||
<item quantity="other">இந்த <xliff:g>%d</xliff:g> அட்டைகளை நிரந்தரமாக நீக்கவா?</item>
|
||||
<item quantity="one">இந்த <xliff:g>%d</xliff:g> கார்டை நிரந்தரமாக நீக்கவா?</item>
|
||||
<item quantity="other">இந்த <xliff:g>%d</xliff:g> கார்டுகளை நிரந்தரமாக நீக்கவா?</item>
|
||||
</plurals>
|
||||
<string name="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>
|
||||
<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="importLoyaltyCardKeychainMessage">இறக்குமதி செய்ய லாயல்டி கார்டு கீசெயினிலிருந்து உங்கள் ஏற்றுமதியைத் தேர்ந்தெடுக்கவும். \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>
|
||||
@@ -277,22 +274,32 @@
|
||||
<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>
|
||||
<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>
|
||||
<string name="sort_by_valid_from">இருந்து செல்லுபடியாகும்</string>
|
||||
<string name="setBarcodeWidth">பட்டைகுறி அகலம் அமை</string>
|
||||
<string name="setBarcodeWidth">பார்கோடு அகலத்தை அமைக்கவும்</string>
|
||||
<string name="width">அகலம்</string>
|
||||
<string name="card_list_widget_name">அட்டை பட்டியல்</string>
|
||||
<string name="card_list_widget_empty">கேட்டிமாவில் நீங்கள் விசுவாச அட்டைகளை சேர்த்த பிறகு, அவை இங்கு தோன்றும். அட்டைகள் காப்பகப்படுத்த படவில்லை என உறுதி செய்க.</string>
|
||||
<string name="cardWithNumber">அட்டை<xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumber">அட்டை <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">அட்டை<xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">தயவுசெய்து சாதனத்தை சுழற்றாதீர்கள், இது செயலை ரத்து செய்யும்.</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">தயவுசெய்து சாதனத்தை சுழற்றாதீர்கள், இது செயலை கைவிடும்</string>
|
||||
<string name="acra_catima_has_crashed">மன்னிக்கவும், <xliff:g id="app_name">%s</xliff:g> செயலி செயலிழந்துள்ளது. தயவுசெய்து பிழை அறிக்கையை அனுப்பி, இந்த பிரச்சினையை சரிசெய்ய எங்களுக்கு உதவுங்கள்.</string>
|
||||
<string name="acra_explain_crash">சாத்தியமானால், நீங்கள் இங்கே என்ன செய்தீர்கள் என்பதைப் பற்றிய மேலும் விவரங்களைச் சேர்க்கவும்:</string>
|
||||
<string name="acra_crash_email_subject"><xliff:g id="app_name">%s</xliff:g> செயலிழப்பு அறிக்கை</string>
|
||||
<string name="pref_enable_acra">செயலிழப்பு அறிக்கைகளை அனுப்ப வேண்டுமா</string>
|
||||
<string name="pref_enable_acra_summary">இது இயக்கப்பட்டால், செயலி செயலிழக்கும் போது அதைப் பற்றிய அறிக்கையை அனுப்பும்படி உங்களிடம் கேட்கப்படும். செயலிழப்பு அறிக்கைகள் ஒருபோதும் தானாக அனுப்பப்படமாட்டாது.</string>
|
||||
<string name="copy_value">நகல் மதிப்பு</string>
|
||||
<string name="copied_to_clipboard">இடைநிலைப்பலகைக்கு நகலெடுக்கப்பட்டது</string>
|
||||
<string name="nothing_to_copy">மதிப்பு இல்லை</string>
|
||||
<string name="barcodeEncoding">பார்கோடு குறியாக்கம்</string>
|
||||
<string name="back">பின்</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFC ஐ இடைநிறுத்து</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">கார்டைப் பார்க்கும்போது NFC பேமெண்ட்கள் தூண்டப்படுவதைத் தடுக்க NFCஐ இடைநிறுத்துகிறது</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC இடைநிறுத்தப்பட்டது</string>
|
||||
<string name="change_settings">அமைப்புகளை மாற்றவும்</string>
|
||||
<string name="nfc_block_system_error">NFC ஐ இடைநிறுத்த முடியவில்லை</string>
|
||||
</resources>
|
||||
|
||||
@@ -199,7 +199,6 @@
|
||||
<string name="failedToOpenUrl">Önce bir web tarayıcısı kurun</string>
|
||||
<string name="welcome">Catima\'ya Hoş Geldiniz</string>
|
||||
<string name="failedToRetrieveImageFile">Resim dosyası alınamadı</string>
|
||||
<string name="barcodeLongPressMessage">Galeri uygulamasında yalnızca resimler açılabilir</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Barkodları taramak için Catima\'nın kameranıza erişmesi gerekecektir. İzin ayarlarınızı değiştirmek için buraya dokunun.</string>
|
||||
<string name="currentBalanceSentence">Geçerli bakiye: <xliff:g>%s</xliff:g></string>
|
||||
<string name="updateBalanceHint">Miktarı girin</string>
|
||||
@@ -220,8 +219,6 @@
|
||||
<string name="donate">Bağış yap</string>
|
||||
<string name="switchToFrontImage">Ön resme geç</string>
|
||||
<string name="setBarcodeHeight">Barkod yüksekliğini ayarla</string>
|
||||
<string name="openFrontImageInGalleryApp">Ön resmi resim görüntüleyici uygulamasında aç</string>
|
||||
<string name="openBackImageInGalleryApp">Arka resmi resim görüntüleyici uygulamasında aç</string>
|
||||
<string name="icon_header_click_text">Küçük resmi düzenlemek için uzun basın</string>
|
||||
<string name="show_name_below_image_thumbnail">Küçük resmin altında adı göster</string>
|
||||
<string name="show_note">Notu göster</string>
|
||||
@@ -299,4 +296,16 @@
|
||||
<string name="copy_value">Değeri kopyala</string>
|
||||
<string name="copied_to_clipboard">Panoya kopyalandı</string>
|
||||
<string name="nothing_to_copy">Değer bulunamadı</string>
|
||||
<string name="barcodeEncoding">Barkod kodlaması</string>
|
||||
<string name="back">Geri</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">NFC\'yi duraklat</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Kart görüntülenirken NFC ödemelerinin tetiklenmesini önlemek için NFC işlevini duraklatır</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC duraklatıldı</string>
|
||||
<string name="change_settings">Ayarları değiştir</string>
|
||||
<string name="nfc_block_system_error">NFC duraklatılamadı</string>
|
||||
<string name="sort_by_most_recently_added">En son eklenen</string>
|
||||
<string name="zoomFrontImage">Ön görüntüyü yakınlaştır</string>
|
||||
<string name="zoomBackImage">Arka görüntüyü yakınlaştır</string>
|
||||
<string name="show_card_id">Kart numarasını göster</string>
|
||||
<string name="open_in_gallery">Resim galerisinde aç</string>
|
||||
</resources>
|
||||
|
||||
@@ -211,7 +211,6 @@
|
||||
<string name="failedToOpenUrl">Спочатку встановіть браузер</string>
|
||||
<string name="welcome">Ласкаво просимо до Catima</string>
|
||||
<string name="failedToRetrieveImageFile">Збій доступу до файлу зображення</string>
|
||||
<string name="barcodeLongPressMessage">Галерея може відкривати лише зображення</string>
|
||||
<string name="importCards">Імпорт карток</string>
|
||||
<string name="updateBalanceTitle">Скільки ви витратили або отримали?</string>
|
||||
<string name="updateBalanceHint">Введіть суму</string>
|
||||
@@ -229,8 +228,6 @@
|
||||
<string name="switchToFrontImage">Перемкнутися на лицьову сторону</string>
|
||||
<string name="switchToBackImage">Перемкнутися на зворотню сторону</string>
|
||||
<string name="switchToBarcode">Перемкнутися на штрих-код</string>
|
||||
<string name="openFrontImageInGalleryApp">Відкрити зображення спереду в програмі для перегляду зображень</string>
|
||||
<string name="openBackImageInGalleryApp">Відкрити зображення ззаду у програмі для перегляду зображень</string>
|
||||
<string name="setBarcodeHeight">Встановити висоту штрих-коду</string>
|
||||
<string name="height">Висота</string>
|
||||
<string name="donate">Пожертвувати</string>
|
||||
@@ -311,4 +308,11 @@
|
||||
<string name="copy_value">Копіювати значення</string>
|
||||
<string name="copied_to_clipboard">Скопійовано в буфер обміну</string>
|
||||
<string name="nothing_to_copy">Значення не знайдено</string>
|
||||
<string name="barcodeEncoding">Кодування штрих-кодів</string>
|
||||
<string name="back">Назад</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Зупинити NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Зупиняє NFC щоб уникнути NFC платежів під час перегляду карти</string>
|
||||
<string name="nfc_blocked_while_viewing_card">NFC зупинений</string>
|
||||
<string name="change_settings">Змінити налаштування</string>
|
||||
<string name="nfc_block_system_error">Не вдалось зупинити NFC</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="translate_platform">trên Weblate</string>
|
||||
<string name="failedOpeningFileManager">Cài đặt trình quản lý tập tin trước đã.</string>
|
||||
<string name="failedOpeningFileManager">Không thể mở trình quản lý tập tin</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Tôi muốn chia sẻ vài cái thẻ với bạn</string>
|
||||
<string name="card_id_must_not_be_empty">ID thẻ không thể bỏ trống</string>
|
||||
<string name="duplicateCard">Tạo bản sao</string>
|
||||
@@ -21,12 +21,12 @@
|
||||
<string name="takePhoto">Chụp ảnh</string>
|
||||
<string name="storeName">Tên</string>
|
||||
<string name="validFromDate">Có hiệu lực từ</string>
|
||||
<string name="cameraPermissionDeniedTitle">Không sử dụng được camera</string>
|
||||
<string name="wrongValueForBarcodeType">Giá trị cho loại mã vạch này không hợp lệ</string>
|
||||
<string name="cameraPermissionDeniedTitle">Không thể truy cập camera</string>
|
||||
<string name="wrongValueForBarcodeType">Giá trị không hợp lệ cho loại mã vạch đã chọn</string>
|
||||
<string name="expiryDate">Ngày hết hạn</string>
|
||||
<string name="currency">Tiền tệ</string>
|
||||
<string name="welcome">Chào mừng tới Catima</string>
|
||||
<string name="failedParsingImportUriError">Không thể phân tích URI được cung cấp</string>
|
||||
<string name="failedParsingImportUriError">Không thể phân tích URI đã nhập</string>
|
||||
<string name="exporting">Đang xuất dữ liệu…</string>
|
||||
<string name="group_edit">Sửa nhóm</string>
|
||||
<string name="debug_version_fmt">Phiên bản: <xliff:g id="version">%s</xliff:g></string>
|
||||
@@ -54,11 +54,10 @@
|
||||
<string name="cardId">ID thẻ</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Tắt tính năng khóa màng hình khi đang xem thẻ</string>
|
||||
<string name="action_more_options">Tùy chọn mở rộng</string>
|
||||
<string name="exportOptionExplanation">Dữ liệu sẽ được ghi vào vị trí mà bạn chọn.</string>
|
||||
<string name="exportOptionExplanation">Dữ liệu sẽ được ghi vào vị trí mà bạn chọn</string>
|
||||
<string name="app_copyright_old">Dựa trên Loyalty Card Keychain
|
||||
\nbản quyền © 2016–2020 Branden Archer</string>
|
||||
<string name="importVoucherVaultMessage">Chọn <i>vouchervault.json</i> được xuất từ Voucher Vault để nhập liệu.
|
||||
\nTập tin này có thể tạo bằng cách bấm Export trong ứng dụng Voucher Vault.</string>
|
||||
<string name="importVoucherVaultMessage">Chọn tập tin đã xuất từ Voucher Vault để nhập liệu. \nTạo tập tin này bằng cách bấm Export trong ứng dụng Voucher Vault.</string>
|
||||
<string name="importFailed">Không thể nhập dữ liệu</string>
|
||||
<string name="chooseImportType">Nhập dữ liệu từ</string>
|
||||
<string name="frontImageDescription">Ảnh mặt trước</string>
|
||||
@@ -106,18 +105,18 @@
|
||||
<string name="on_google_play">trên CH Play</string>
|
||||
<string name="turn_flashlight_off">Tắt đèn pin</string>
|
||||
<string name="show_note">Hiện ghi chú</string>
|
||||
<string name="report_error">Báo Lỗi</string>
|
||||
<string name="report_error">Báo lỗi</string>
|
||||
<string name="passwordRequired">Xin mời nhập mật khẩu</string>
|
||||
<string name="intent_import_card_from_url_share_text">Tôi muốn chia sẻ thẻ với bạn</string>
|
||||
<string name="star">Đánh dấu ưa thích</string>
|
||||
<string name="addFromImage">Chọn ảnh từ thư viện ảnh</string>
|
||||
<string name="reverse">...theo trật tự đảo ngược</string>
|
||||
<string name="app_copyright_short">Bản quyền © Sylvia van Os và các cộng sự</string>
|
||||
<string name="importExportHelp">Sao lưu cho phép bạn chuyển dữ liệu của mình đến thiết bị khác.</string>
|
||||
<string name="importExportHelp">Sao lưu cho phép bạn chuyển dữ liệu của mình đến thiết bị khác</string>
|
||||
<string name="settings_oled_dark">Nền đen tuyền cho chủ đề tối</string>
|
||||
<string name="starred">Ưa thích</string>
|
||||
<string name="field_must_not_be_empty">Không được để ô trống</string>
|
||||
<string name="importOptionFilesystemExplanation">Chọn 1 tập tin cụ thể từ hệ thống (filesystem).</string>
|
||||
<string name="importOptionFilesystemExplanation">Chọn 1 tập tin cụ thể từ hệ thống (filesystem)</string>
|
||||
<string name="validFromSentence">Hợp lệ từ: <xliff:g>%s</xliff:g></string>
|
||||
<string name="exportSuccessful">Xuất dữ liệu xong</string>
|
||||
<string name="previousCard">Trước</string>
|
||||
@@ -125,7 +124,7 @@
|
||||
<string name="license">Giấy phép</string>
|
||||
<string name="newBalanceSentence">Số dư mới: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Sửa nhóm: <xliff:g>%s</xliff:g></string>
|
||||
<string name="noGroups">Bấm vào dấu cộng + để thêm nhóm cho việc phân loại.</string>
|
||||
<string name="noGroups">Bấm vào dấu cộng + để thêm nhóm cho việc phân loại</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> thẻ (lưu trữ <xliff:g id="archivedCount">%2$d</xliff:g>)</item>
|
||||
</plurals>
|
||||
@@ -137,10 +136,10 @@
|
||||
<string name="options">Tùy chọn</string>
|
||||
<string name="sendLabel">Gửi…</string>
|
||||
<string name="importOptionFilesystemButton">Lấy từ hệ thống</string>
|
||||
<string name="failedGeneratingShareURL">Không tạo được URL chia sẻ. Xin hãy báo cáo sự cố này.</string>
|
||||
<string name="failedGeneratingShareURL">Không tạo được URL để chia sẻ</string>
|
||||
<string name="selectColor">Chọn màu</string>
|
||||
<string name="setBarcodeHeight">Đặt chiều cao cho mã vạch</string>
|
||||
<string name="privacy_policy">Chính Sách Quyền Riêng Tư</string>
|
||||
<string name="privacy_policy">Chính sách quyền riêng tư</string>
|
||||
<string name="enter_group_name">Nhập tên nhóm</string>
|
||||
<string name="addCardTitle">Thêm Thẻ</string>
|
||||
<string name="exportFailed">Không thể xuất dữ liệu</string>
|
||||
@@ -149,7 +148,7 @@
|
||||
<string name="addManually">Nhập mã vạch thủ công</string>
|
||||
<string name="updateBalance">Cập nhật số dư</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Bản quyền © 2019–<xliff:g>%d</xliff:g> Sylvia van Os và các cộng sự</string>
|
||||
<string name="sort_by_most_recently_used">Sửa dụng gần đây nhất</string>
|
||||
<string name="sort_by_most_recently_used">Sử dụng gần đây nhất</string>
|
||||
<string name="noGiftCards">Bấm nút dấu cộng + để thêm thẻ, hoặc nhập dữ liệu từ ⋮ menu</string>
|
||||
<string name="importVoucherVault">Nhập dữ liệu từ Voucher Vault</string>
|
||||
<string name="barcodeId">Giá trị mã vạch</string>
|
||||
@@ -164,8 +163,7 @@
|
||||
<string name="cameraPermissionRequired">Tác vụ này cần được cấp quyền sử dụng camera…</string>
|
||||
<string name="settings_allow_content_provider_read_title">Cho phép ứng dụng khác truy cập vào dữ liệu của tôi</string>
|
||||
<string name="updateBarcodeQuestionText">Bạn đã thay đổi ID. Bạn có muốn cập nhật mã vạch dùng chung giá trị này\?</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Chọn <i>LoyaltyCardKeychain.csv</i> được xuất từ Loyalty Card Keychain để nhập liệu.
|
||||
\nTập tin này có thể tạo bằng cách vào menu Import/Export của Loyalty Card Keychain → bấm Export.</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Chọn tập tin được xuất từ Loyalty Card Keychain để nhập liệu. \nTạo tập tin này bằng cách vào menu Import/Export của Loyalty Card Keychain và bấm Export.</string>
|
||||
<string name="settings_light_theme">Sáng</string>
|
||||
<string name="moveDown">Kéo xuống</string>
|
||||
<string name="importSuccessfulTitle">Nhập dữ liệu xong</string>
|
||||
@@ -178,7 +176,7 @@
|
||||
<string name="scanCardBarcode">Quét Mã Vạch</string>
|
||||
<string name="updateBalanceHint">Nhập số lượng</string>
|
||||
<string name="action_search">Tìm kiếm</string>
|
||||
<string name="noGiftCardsGroup">Tạo vài thẻ, và phân công chúng vào nhóm này.</string>
|
||||
<string name="noGiftCardsGroup">Tạo vài thẻ, và sắp xếp chúng vào nhóm này</string>
|
||||
<string name="on_github">trên Github</string>
|
||||
<string name="sort">Sắp Xếp</string>
|
||||
<string name="permissionReadCardsLabel">Đọc thẻ Catima</string>
|
||||
@@ -202,11 +200,11 @@
|
||||
<string name="show_archived_cards">Hiện thẻ lưu trữ</string>
|
||||
<string name="selectBarcodeTitle">Chọn Mã Vạch</string>
|
||||
<string name="importSuccessful">Nhập dữ liệu xong</string>
|
||||
<string name="app_libraries">Thư viện mở từ bên thứ 3: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_libraries">Thư viện mở từ bên thứ ba: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="updateBalanceTitle">Bạn đã chi tiêu hoặc nhận được bao nhiêu?</string>
|
||||
<string name="editCardTitle">Sửa Thẻ</string>
|
||||
<string name="editCardTitle">Sửa thẻ</string>
|
||||
<string name="archive">Lưu trữ</string>
|
||||
<string name="app_resources">Tài nguyên mở từ bên thứ 3: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Tài nguyên mở từ bên thứ ba: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="shortcutSelectCard">Chọn một thẻ</string>
|
||||
<string name="accept">Đồng ý</string>
|
||||
<string name="noCardsMessage">Thêm danh sách thẻ</string>
|
||||
@@ -220,15 +218,13 @@
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> đã được chọn</item>
|
||||
</plurals>
|
||||
<string name="version_history">Lịch Sử Phiên Bản</string>
|
||||
<string name="version_history">Lịch sử phiên bản</string>
|
||||
<string name="note">Ghi chú</string>
|
||||
<string name="importCatimaMessage">Chọn <i>catima.zip</i> được xuất từ Catima để nhập liệu.
|
||||
\nTập tin này có thể tạo bằng cách vào menu Nhập/Xuất dữ liệu → bấm Xuất dữ liệu ở ứng dụng Catima khác.</string>
|
||||
<string name="importCatimaMessage">Chọn tập tin được xuất từ Catima để nhập liệu.\nTạo tập tin từ menu Nhập/Xuất dữ liệu ở ứng dụng Catima khác và bấm Xuất dữ liệu.</string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> điểm</item>
|
||||
</plurals>
|
||||
<string name="importFidmeMessage">Chọn <i>fidme-export-request-xxxxxx.zip</i> được xuất từ FidMe để nhập liệu, sau đó chọn mã vạch thủ công.
|
||||
\nTập tin này có thể tạo bằng cách vào FidMe profile → Data Protection → bấm Extract my data.</string>
|
||||
<string name="importFidmeMessage">Chọn tập tin được xuất từ FidMe để nhập liệu, sau đó chọn thủ công loại mã vạch. \nTạo tập tin này bằng cách vào tài khoản FidMe, chọn Data Protection, rồi bấm Extract my data.</string>
|
||||
<string name="action_add">Thêm</string>
|
||||
<string name="updateBarcodeQuestionTitle">Cập nhật giá trị cho mã vạch chứ\?</string>
|
||||
<string name="deleteTitle">Xóa thẻ</string>
|
||||
@@ -238,14 +234,11 @@
|
||||
<string name="rate_this_app">Đánh giá ứng dụng</string>
|
||||
<string name="credits">Ghi nhận</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="openFrontImageInGalleryApp">Mở hình ảnh phía trước trong ứng dụng thư viện</string>
|
||||
<string name="and_data_usage">và sử dụng dữ liệu</string>
|
||||
<string name="show_validity">Hiển thị tính hợp lệ</string>
|
||||
<string name="barcodeLongPressMessage">Chỉ có thể mở hình ảnh trong ứng dụng thư viện</string>
|
||||
<string name="source_repository">Kho lưu trữ nguồn</string>
|
||||
<string name="switchToBackImage">Chuyển sang hình ảnh phía sau</string>
|
||||
<string name="switchToFrontImage">Chuyển sang hình ảnh phía trước</string>
|
||||
<string name="openBackImageInGalleryApp">Mở lại hình ảnh trong ứng dụng thư viện</string>
|
||||
<string name="failedToRetrieveImageFile">Không thể truy xuất tệp hình ảnh</string>
|
||||
<string name="app_contributors">Được thực hiện bởi: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="app_license">Phần mềm miễn phí có bản quyền theo giấy phép GPLv3+</string>
|
||||
@@ -254,12 +247,12 @@
|
||||
<string name="spend">Tiêu</string>
|
||||
<string name="receive">Nhận được</string>
|
||||
<string name="amountParsingFailed">Số tiền không hợp lệ</string>
|
||||
<string name="add_manually_warning_message">Đối với một số cửa hàng, giá trị mã vạch khác với số ghi trên thẻ. Vì lý do này, việc nhập mã vạch theo cách thủ công không phải lúc nào cũng hiệu quả. Thay vào đó, bạn nên quét mã vạch bằng máy ảnh của mình. Bạn vẫn muốn tiếp tục chứ?</string>
|
||||
<string name="add_manually_warning_message">Đối với một số thẻ, giá trị mã vạch khác với số ghi trên thẻ. Vì lý do này, việc nhập mã vạch theo cách thủ công không phải lúc nào cũng hiệu quả. Thay vào đó, bạn nên quét mã vạch bằng máy ảnh của mình. Bạn vẫn muốn tiếp tục chứ?</string>
|
||||
<string name="addFromPdfFile">Chọn tệp PDF</string>
|
||||
<string name="errorReadingFile">Không thể đọc tệp</string>
|
||||
<string name="errorReadingFile">Không thể đọc tập tin</string>
|
||||
<string name="pageWithNumber">Page <xliff:g>%d</xliff:g></string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Bạn muốn sử dụng mã vạch nào được tìm thấy?</string>
|
||||
<string name="failedLaunchingFileManager">Không thể tìm thấy trình quản lý tệp được hỗ trợ</string>
|
||||
<string name="failedLaunchingFileManager">Không thể tìm thấy trình quản lý tập tin được hỗ trợ</string>
|
||||
<string name="noCameraFoundGuideText">Có vẻ như thiết bị của bạn không có camera. Nếu có, hãy thử khởi động lại thiết bị. Nếu không, hãy sử dụng nút Tùy chọn khác bên dưới để thêm mã vạch theo cách khác.</string>
|
||||
<string name="useFrontImage">Sử dụng hình ảnh phía trước</string>
|
||||
<string name="useBackImage">Sử dụng hình ảnh phía sau</string>
|
||||
@@ -279,10 +272,29 @@
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="sort_by_valid_from">Có hiệu lực từ</string>
|
||||
<string name="addFromPkpass">Chọn tệp Passbook (.pkpass)</string>
|
||||
<string name="addFromPkpass">Chọn tập tin Passbook (.pkpass / .pkpasses)</string>
|
||||
<string name="unsupportedFile">Tập tin này không được hỗ trợ</string>
|
||||
<string name="generic_error_please_retry">Xin lỗi, có gì đó không ổn, vui lòng thử lại...</string>
|
||||
<string name="generic_error_please_retry">Có lỗi xảy ra</string>
|
||||
<string name="width">Chiều rộng</string>
|
||||
<string name="setBarcodeWidth">Đặt chiều rộng mã vạch</string>
|
||||
<string name="card_list_widget_name">Danh sách thẻ</string>
|
||||
<string name="card_list_widget_empty">Sau khi được nhập vào Catima, thẻ hội viên của bạn sẽ xuất hiện ở đây. Hãy đảm bảo tất cả các thẻ không ở trạng thái đã lưu trữ.</string>
|
||||
<string name="cardWithNumber">Thẻ <xliff:g>%d</xliff:g></string>
|
||||
<string name="cardWithNumberAndLocale">Thẻ <xliff:g>%d</xliff:g> (<xliff:g>%s</xliff:g>)</string>
|
||||
<string name="pleaseDoNotRotateTheDevice">Vui lòng không quay thiết bị, thao tác này sẽ huỷ hành động</string>
|
||||
<string name="acra_catima_has_crashed">Rất tiếc, <xliff:g id="app_name">%s</xliff:g> đã bị lỗi. Vui lòng giúp chúng tôi sửa vấn đề này bằng cách gửi báo cáo lỗi.</string>
|
||||
<string name="acra_explain_crash">Nếu được, bạn vui lòng mô tả rõ hơn về thao tác đã thực hiện tại đây:</string>
|
||||
<string name="acra_crash_email_subject">Báo cáo lỗi <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="pref_enable_acra">Yêu cầu gửi báo cáo lỗi</string>
|
||||
<string name="pref_enable_acra_summary">Khi nhấn cho phép, bạn sẽ được yêu cầu gửi báo cáo khi lỗi xảy ra. Báo cáo lỗi sẽ không bao giờ được tự động gửi đi.</string>
|
||||
<string name="copy_value">Sao chép giá trị</string>
|
||||
<string name="copied_to_clipboard">Sao chép vào bộ nhớ tạm</string>
|
||||
<string name="nothing_to_copy">Không tìm thấy giá trị</string>
|
||||
<string name="barcodeEncoding">Mã hoá mã vạch</string>
|
||||
<string name="back">Quay lại</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card">Tạm dừng NFC</string>
|
||||
<string name="settings_disable_nfc_while_viewing_card_summary">Tạm dừng NFC để tránh tự động kích hoạt thanh toán NFC khi đang xem một thẻ</string>
|
||||
<string name="nfc_blocked_while_viewing_card">Đã tạm dừng NFC</string>
|
||||
<string name="change_settings">Thay đổi cài đặt</string>
|
||||
<string name="nfc_block_system_error">Không thể tạm dừng NFC</string>
|
||||
</resources>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user