Compare commits
295 Commits
pdfImport
...
feature/as
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0431803336 | ||
|
|
5f5280e2a6 | ||
|
|
220d6cb993 | ||
|
|
5f33807560 | ||
|
|
6d64a900f0 | ||
|
|
3550c2a9f7 | ||
|
|
0bdda70761 | ||
|
|
01debf1a09 | ||
|
|
76df487661 | ||
|
|
73a129b430 | ||
|
|
71afba8ab9 | ||
|
|
c0b01fca35 | ||
|
|
7158de8b81 | ||
|
|
c1afefb712 | ||
|
|
d924029a5a | ||
|
|
f5d104fa68 | ||
|
|
1c0c1c6efc | ||
|
|
4d4e449150 | ||
|
|
900f92cbd6 | ||
|
|
48aab74737 | ||
|
|
427aa039d6 | ||
|
|
91909e2ce3 | ||
|
|
967f20edc7 | ||
|
|
61d2e9545e | ||
|
|
b1ea40abeb | ||
|
|
b898be199c | ||
|
|
e82b61ed7e | ||
|
|
31aef55343 | ||
|
|
3da7797ecc | ||
|
|
b677a34942 | ||
|
|
8275a0da69 | ||
|
|
cc86506868 | ||
|
|
83ee75dc55 | ||
|
|
a8d92c1e69 | ||
|
|
ccf98f9b32 | ||
|
|
6c17498481 | ||
|
|
ce9794f72f | ||
|
|
a48ddeef7f | ||
|
|
864298cee8 | ||
|
|
63b48685a6 | ||
|
|
37d4c2c552 | ||
|
|
0515f7876b | ||
|
|
9e801f0f1c | ||
|
|
c7a8d6ddae | ||
|
|
0f828b5663 | ||
|
|
3f28a69d7d | ||
|
|
8980d92263 | ||
|
|
dd7512cc62 | ||
|
|
3005f7d845 | ||
|
|
cbbd90a884 | ||
|
|
883803d348 | ||
|
|
56b73ef7e2 | ||
|
|
b1c98d33e5 | ||
|
|
4a4feea1be | ||
|
|
ea015b531a | ||
|
|
5b8c40dd8a | ||
|
|
4859499179 | ||
|
|
0e6cdbbb6b | ||
|
|
cc8c8ead2e | ||
|
|
2b6a4ef466 | ||
|
|
a3b9d78463 | ||
|
|
7873d21644 | ||
|
|
2ad1b08de2 | ||
|
|
4fae252d0a | ||
|
|
f89179da21 | ||
|
|
b4e63f89ce | ||
|
|
ff872edc4b | ||
|
|
013258d421 | ||
|
|
15575e4189 | ||
|
|
3c051cde95 | ||
|
|
5d2a173e22 | ||
|
|
a2032ab730 | ||
|
|
9e4d8b846c | ||
|
|
7e8dd2dc2e | ||
|
|
b73d0f1836 | ||
|
|
b478e54ec0 | ||
|
|
cf8c6b8c24 | ||
|
|
d64294284a | ||
|
|
098468e6bd | ||
|
|
cebc87a197 | ||
|
|
0d3ceb0e61 | ||
|
|
e017b07337 | ||
|
|
c4ec81f22b | ||
|
|
c597df056d | ||
|
|
5517b418ac | ||
|
|
81e7642bb8 | ||
|
|
17718d5349 | ||
|
|
f5ef97fa30 | ||
|
|
30c6657148 | ||
|
|
2b173dc7f6 | ||
|
|
cd48a28b5a | ||
|
|
b7ad5f1f42 | ||
|
|
9bf6795328 | ||
|
|
4364189b3e | ||
|
|
40676a365f | ||
|
|
97314a0436 | ||
|
|
d1b93018e3 | ||
|
|
a6b7b227f7 | ||
|
|
1c6a5454b8 | ||
|
|
06745becd7 | ||
|
|
c172a12956 | ||
|
|
c6f18fb7b2 | ||
|
|
dc3fabbbb9 | ||
|
|
905402ebab | ||
|
|
fbed0d7857 | ||
|
|
cc74395297 | ||
|
|
560c55d5db | ||
|
|
a45c972a38 | ||
|
|
51c1af5ad9 | ||
|
|
d537164799 | ||
|
|
012910268b | ||
|
|
74d9068925 | ||
|
|
5d68f558a1 | ||
|
|
2164c1a51a | ||
|
|
5f180fc289 | ||
|
|
5be44d9bd2 | ||
|
|
54c9857072 | ||
|
|
c48ac797f6 | ||
|
|
9180d22629 | ||
|
|
aa0274534c | ||
|
|
c97b37f279 | ||
|
|
14c12533a7 | ||
|
|
39f50bad30 | ||
|
|
014061d0a4 | ||
|
|
76c498a7f9 | ||
|
|
fa9229c687 | ||
|
|
182e7ef9a6 | ||
|
|
08e6600880 | ||
|
|
edeb95aee0 | ||
|
|
4b1d1f4541 | ||
|
|
801d3fa8cd | ||
|
|
d15a46fc6f | ||
|
|
7f46a267b6 | ||
|
|
195cb8d5ee | ||
|
|
7454a965bc | ||
|
|
9ef988c259 | ||
|
|
7a2ff0995f | ||
|
|
9b65d3926b | ||
|
|
06b3536079 | ||
|
|
315396fd42 | ||
|
|
b90c43f667 | ||
|
|
6d97a29e9c | ||
|
|
7f0e2acab9 | ||
|
|
be35886c92 | ||
|
|
73ad9c5365 | ||
|
|
818751ffad | ||
|
|
d5856e7974 | ||
|
|
2caf3d42f4 | ||
|
|
e766743baa | ||
|
|
facb23f0a5 | ||
|
|
a2dff0e6bf | ||
|
|
60c53ec1d1 | ||
|
|
e3c903f773 | ||
|
|
955764aa18 | ||
|
|
ed22aa844f | ||
|
|
6b8fc50021 | ||
|
|
1aed5c36b1 | ||
|
|
4690f53be7 | ||
|
|
29a22926aa | ||
|
|
a4da8144c3 | ||
|
|
84bfa304c4 | ||
|
|
72749015dd | ||
|
|
ae5d656a64 | ||
|
|
d8f2cde9de | ||
|
|
935a4ae46e | ||
|
|
ffecec9cba | ||
|
|
734845eff0 | ||
|
|
bd6b18eea2 | ||
|
|
6473bfe84e | ||
|
|
66fff2d3d9 | ||
|
|
ef1b470f0a | ||
|
|
b087d49530 | ||
|
|
cd46cd3f8d | ||
|
|
c44133942a | ||
|
|
24e40f41a5 | ||
|
|
43b90587a5 | ||
|
|
f5b2516492 | ||
|
|
5bec40eb59 | ||
|
|
6b1cccfdf8 | ||
|
|
ddf28d7542 | ||
|
|
9cf69a3128 | ||
|
|
8dc62def08 | ||
|
|
ac8b898ccc | ||
|
|
97e675e476 | ||
|
|
4b488ce1f7 | ||
|
|
7f5fe8831a | ||
|
|
f7ff63301b | ||
|
|
9bb1602370 | ||
|
|
40da1d2e16 | ||
|
|
8dd61d026c | ||
|
|
4d0464f729 | ||
|
|
e0f1410c8b | ||
|
|
2bf7698961 | ||
|
|
0654a2baef | ||
|
|
0e785b2ccf | ||
|
|
46088a48f9 | ||
|
|
82acaef96f | ||
|
|
8556f4d586 | ||
|
|
e8308b1069 | ||
|
|
6516d18cc2 | ||
|
|
6dd0105908 | ||
|
|
3e27b931b5 | ||
|
|
73046e56e5 | ||
|
|
84c350af90 | ||
|
|
30bd8d810f | ||
|
|
d67b17c58a | ||
|
|
5033fbba50 | ||
|
|
5e752ecfb4 | ||
|
|
e976bf3ef6 | ||
|
|
24ae8d3c4c | ||
|
|
26fb9482aa | ||
|
|
1a3019b94f | ||
|
|
67136b708f | ||
|
|
07990cea6f | ||
|
|
a92895f96e | ||
|
|
861df94e69 | ||
|
|
5efd18dac7 | ||
|
|
77fcc8cd7e | ||
|
|
b5e53eb076 | ||
|
|
39fe0a17b8 | ||
|
|
524278a94c | ||
|
|
8d3f36d62c | ||
|
|
459b318fdf | ||
|
|
68e7930835 | ||
|
|
947b3f79be | ||
|
|
8070e5564b | ||
|
|
443a67581e | ||
|
|
60aaff9f38 | ||
|
|
0464e3dbfe | ||
|
|
6f892e5174 | ||
|
|
187cbb7d67 | ||
|
|
b114b6da81 | ||
|
|
1228d55fcb | ||
|
|
b5c17c9776 | ||
|
|
27ee52b5c0 | ||
|
|
ccbbd2555a | ||
|
|
d78b7b2fee | ||
|
|
047639a36e | ||
|
|
86b5007ba5 | ||
|
|
4879aab701 | ||
|
|
da49b651b8 | ||
|
|
c2e9c0eebc | ||
|
|
9ed6bc921d | ||
|
|
d78ecf17e2 | ||
|
|
8aeddf1141 | ||
|
|
31924276d3 | ||
|
|
3321b11e2a | ||
|
|
920379c5af | ||
|
|
598a4345f0 | ||
|
|
ff8013ed44 | ||
|
|
20b69b4286 | ||
|
|
60165bad5c | ||
|
|
149f7ff106 | ||
|
|
ac699a1c76 | ||
|
|
a43c480e0c | ||
|
|
6eda7791c6 | ||
|
|
7dc0bf027a | ||
|
|
c218518805 | ||
|
|
0505c51ee8 | ||
|
|
f29da33bcf | ||
|
|
5f8e3069b3 | ||
|
|
8d7abddace | ||
|
|
39fe61f57e | ||
|
|
176f7a0cc8 | ||
|
|
e9ec9889d4 | ||
|
|
0a161bdf55 | ||
|
|
e817f190b6 | ||
|
|
f88a96cd4f | ||
|
|
7cf47935e0 | ||
|
|
f2844003e8 | ||
|
|
9702fd6ce5 | ||
|
|
577c3f2990 | ||
|
|
bf9216168b | ||
|
|
95dc2f1235 | ||
|
|
84503253d2 | ||
|
|
5fd48c6707 | ||
|
|
335668c03a | ||
|
|
cba4b6856c | ||
|
|
c345c6cdd1 | ||
|
|
a1e214e657 | ||
|
|
ff1654b3f7 | ||
|
|
12e24abdd6 | ||
|
|
33a9d7fbcf | ||
|
|
bdff59e628 | ||
|
|
c1ef5c346a | ||
|
|
a573db1be9 | ||
|
|
84e3e37a44 | ||
|
|
f5724dfca0 | ||
|
|
f848710afa | ||
|
|
1e0dc4f541 | ||
|
|
470bbf4261 | ||
|
|
026bfaf7a9 | ||
|
|
4d4e76960f | ||
|
|
3637c37cca | ||
|
|
a5ed6caa5a |
6
.github/workflows/android.yml
vendored
@@ -29,10 +29,10 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- name: Fail on bad translations
|
||||
run: if grep -ri "<xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi
|
||||
- uses: gradle/wrapper-validation-action@v2
|
||||
- uses: gradle/actions/wrapper-validation@v3
|
||||
- name: set up OpenJDK 17
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
run: ./gradlew spotbugsRelease
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.3.1
|
||||
uses: actions/upload-artifact@v4.3.3
|
||||
with:
|
||||
name: test-results
|
||||
path: app/build/reports
|
||||
|
||||
6
.github/workflows/changelog-to-fastlane.yml
vendored
@@ -27,15 +27,15 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
id: checkout
|
||||
uses: actions/checkout@v4.1.1
|
||||
uses: actions/checkout@v4.1.7
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5.0.0
|
||||
uses: actions/setup-python@v5.1.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@v6.0.2
|
||||
uses: peter-evans/create-pull-request@v6.1.0
|
||||
with:
|
||||
title: "Update Fastlane changelogs"
|
||||
commit-message: "Update Fastlane changelogs"
|
||||
|
||||
4
.github/workflows/contributors-to-file.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
id: checkout
|
||||
uses: actions/checkout@v4.1.1
|
||||
uses: actions/checkout@v4.1.7
|
||||
- name: Update contributors
|
||||
id: update_contributors
|
||||
uses: TheLastProject/contributors-to-file-action@v3.2.0
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
file_in_repo: app/src/main/res/raw/contributors.txt
|
||||
min_commit_count: 5
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v6.0.2
|
||||
uses: peter-evans/create-pull-request@v6.1.0
|
||||
with:
|
||||
title: "Update contributors"
|
||||
commit-message: "Update contributors"
|
||||
|
||||
@@ -6,6 +6,7 @@ on:
|
||||
- main
|
||||
paths:
|
||||
- 'fastlane/**/title.txt'
|
||||
- '.scripts/generate_feature_graphic/**'
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
@@ -24,7 +25,7 @@ jobs:
|
||||
generate-feature-graphic:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- name: Install requirements
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@@ -38,7 +39,7 @@ jobs:
|
||||
- name: Generate featureGraphic.png for each language
|
||||
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v6.0.2
|
||||
uses: peter-evans/create-pull-request@v6.1.0
|
||||
with:
|
||||
title: "Update feature graphic"
|
||||
commit-message: "Update feature graphic"
|
||||
|
||||
6
.github/workflows/gradle-update.yml
vendored
@@ -21,12 +21,12 @@ jobs:
|
||||
gradle-update:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- uses: obfusk/gradle-update-action@v2.0.0
|
||||
id: gradle-update
|
||||
- uses: gradle/wrapper-validation-action@v2
|
||||
- uses: gradle/actions/wrapper-validation@v3
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v6.0.2
|
||||
uses: peter-evans/create-pull-request@v6.1.0
|
||||
with:
|
||||
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
|
||||
4
.github/workflows/update-locales.yml
vendored
@@ -25,13 +25,13 @@ jobs:
|
||||
update-locales:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v4.1.7
|
||||
- name: Add new locales
|
||||
run: .scripts/new-locales.py
|
||||
- name: Update locales
|
||||
run: .scripts/locales.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v6.0.2
|
||||
uses: peter-evans/create-pull-request@v6.1.0
|
||||
with:
|
||||
title: "Update locales"
|
||||
commit-message: "Update locales"
|
||||
|
||||
@@ -34,8 +34,8 @@ for lang in "$script_location/../../fastlane/metadata/android/"*; do
|
||||
bg|el-GR|ru-RU|uk) sed -i "s/Lexend Deca/Noto Serif/" featureGraphic.svg ;;
|
||||
hi-IN) sed -i -e "s/Yesteryear/Noto Serif Devanagari/" -e "s/Lexend Deca/Noto Serif Devanagari/" featureGraphic.svg ;;
|
||||
ja-JP) sed -i "s/Lexend Deca/Noto Serif CJK JP/" featureGraphic.svg ;;
|
||||
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e "s/Yesteryear/Noto Serif Kannada/" featureGraphic.svg ;;
|
||||
ko) sed -i "s/Lexend Deca/Noto Serif CJK KR/" featureGraphic.svg ;;
|
||||
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e 's/y="285.511"/y="235.511"/' featureGraphic.svg ;;
|
||||
zh-CN) sed -i "s/Lexend Deca/Noto Serif CJK SC/" featureGraphic.svg ;;
|
||||
zh-TW) sed -i "s/Lexend Deca/Noto Serif CJK TC/" featureGraphic.svg ;;
|
||||
*) ;;
|
||||
|
||||
@@ -24,7 +24,7 @@ sed = [
|
||||
]
|
||||
subprocess.run(sed, check=True)
|
||||
|
||||
with open("app/src/main/res/xml/locales_config.xml", "w") as fh:
|
||||
with open("app/src/main/res/xml/locales_config.xml", "w", encoding="utf-8") as fh:
|
||||
fh.write('<?xml version="1.0" encoding="utf-8"?>\n')
|
||||
fh.write('<locale-config xmlns:android="http://schemas.android.com/apk/res/android">\n')
|
||||
fh.write(' <locale android:name="en-US" />\n')
|
||||
|
||||
@@ -19,15 +19,27 @@ REPLACE_CODES = {
|
||||
STATS_URL = "https://hosted.weblate.org/api/components/catima/catima/statistics/"
|
||||
|
||||
|
||||
class Error(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def get_weblate_langs() -> List[Tuple[str, int]]:
|
||||
r = requests.get(STATS_URL, timeout=5)
|
||||
r.raise_for_status()
|
||||
url = STATS_URL
|
||||
results = []
|
||||
for lang in r.json()["results"]:
|
||||
if lang["code"] != "en":
|
||||
code = REPLACE_CODES.get(lang["code"], lang["code"]).replace("_", "-r")
|
||||
results.append((code, round(lang["translated_percent"])))
|
||||
return sorted(results)
|
||||
for _ in range(16): # avoid endless loops just in case
|
||||
r = requests.get(url, timeout=5)
|
||||
r.raise_for_status()
|
||||
data = r.json()
|
||||
for lang in data["results"]:
|
||||
if lang["code"] != "en":
|
||||
code = REPLACE_CODES.get(lang["code"], lang["code"]).replace("_", "-r")
|
||||
results.append((code, round(lang["translated_percent"])))
|
||||
url = data["next"]
|
||||
if not url:
|
||||
return sorted(results)
|
||||
if not url.split("?")[0] == STATS_URL:
|
||||
raise Error(f"Unexpected next URL: {url}")
|
||||
raise Error("Too many pages")
|
||||
|
||||
|
||||
def get_dir_langs() -> List[str]:
|
||||
@@ -42,7 +54,7 @@ def get_dir_langs() -> List[str]:
|
||||
def get_xml_langs() -> List[Tuple[str, bool]]:
|
||||
results = []
|
||||
in_section = False
|
||||
with open("app/src/main/res/values/settings.xml") as fh:
|
||||
with open("app/src/main/res/values/settings.xml", encoding="utf-8") as fh:
|
||||
for line in fh:
|
||||
if not in_section and 'name="locale_values"' in line:
|
||||
in_section = True
|
||||
@@ -59,7 +71,7 @@ def get_xml_langs() -> List[Tuple[str, bool]]:
|
||||
def update_xml_langs(langs: List[Tuple[str, bool]]) -> None:
|
||||
lines: List[str] = []
|
||||
in_section = False
|
||||
with open("app/src/main/res/values/settings.xml") as fh:
|
||||
with open("app/src/main/res/values/settings.xml", encoding="utf-8") as fh:
|
||||
for line in fh:
|
||||
if not in_section and 'name="locale_values"' in line:
|
||||
in_section = True
|
||||
@@ -70,7 +82,7 @@ def update_xml_langs(langs: List[Tuple[str, bool]]) -> None:
|
||||
else:
|
||||
continue
|
||||
lines.append(line)
|
||||
with open("app/src/main/res/values/settings.xml", "w") as fh:
|
||||
with open("app/src/main/res/values/settings.xml", "w", encoding="utf-8") as fh:
|
||||
for line in lines:
|
||||
fh.write(line)
|
||||
|
||||
|
||||
14
CHANGELOG.md
@@ -1,9 +1,21 @@
|
||||
# Changelog
|
||||
|
||||
## Unreleased - 134
|
||||
## v2.30.0 - 136 (2024-06-18)
|
||||
|
||||
- Support for creating a card when sharing plain text
|
||||
- Display image type instead of barcode below images
|
||||
- Fix possible crash when trying to import a backup from the Nextcloud app
|
||||
- Improved support for devices without camera
|
||||
|
||||
## v2.29.1 - 135 (2024-05-19)
|
||||
|
||||
- Various fixes and improvements to balance handling
|
||||
|
||||
## v2.29.0 - 134 (2024-04-19)
|
||||
|
||||
- Support for scanning PDF files for barcodes
|
||||
- Support for image files with multiple barcodes
|
||||
- Minor UI fixes
|
||||
|
||||
## v2.28.0 - 133 (2024-03-08)
|
||||
|
||||
|
||||
65
Gemfile.lock
@@ -1,29 +1,32 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
artifactory (3.0.15)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.884.0)
|
||||
aws-sdk-core (3.191.0)
|
||||
aws-partitions (1.945.0)
|
||||
aws-sdk-core (3.197.1)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.77.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sdk-kms (1.85.0)
|
||||
aws-sdk-core (~> 3, >= 3.197.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.143.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sdk-s3 (1.152.3)
|
||||
aws-sdk-core (~> 3, >= 3.197.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-sigv4 (1.8.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.2.0)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
@@ -35,7 +38,7 @@ GEM
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.109.0)
|
||||
excon (0.110.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
@@ -64,15 +67,15 @@ GEM
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.3.0)
|
||||
fastlane (2.219.0)
|
||||
fastimage (2.3.1)
|
||||
fastlane (2.221.1)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
colored
|
||||
colored (~> 1.2)
|
||||
commander (~> 4.6)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
@@ -93,10 +96,10 @@ GEM
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
naturally (~> 2.2)
|
||||
optparse (>= 0.1.1)
|
||||
optparse (>= 0.1.1, < 1.0.0)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.3)
|
||||
security (= 0.1.5)
|
||||
simctl (~> 1.6.3)
|
||||
terminal-notifier (>= 2.0.0, < 3.0.0)
|
||||
terminal-table (~> 3)
|
||||
@@ -105,7 +108,7 @@ GEM
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
@@ -123,12 +126,12 @@ GEM
|
||||
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.6.1)
|
||||
google-cloud-core (1.7.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.3.1)
|
||||
google-cloud-errors (1.4.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
@@ -144,34 +147,37 @@ GEM
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.5)
|
||||
http-cookie (1.0.6)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.2)
|
||||
json (2.7.1)
|
||||
jwt (2.7.1)
|
||||
mini_magick (4.12.0)
|
||||
json (2.7.2)
|
||||
jwt (2.8.2)
|
||||
base64
|
||||
mini_magick (4.13.1)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.3.0)
|
||||
multipart-post (2.4.1)
|
||||
nanaimo (0.3.0)
|
||||
naturally (2.2.1)
|
||||
optparse (0.4.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.5.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.1)
|
||||
public_suffix (5.0.4)
|
||||
rake (13.1.0)
|
||||
public_suffix (5.1.1)
|
||||
rake (13.2.1)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.6)
|
||||
rexml (3.2.9)
|
||||
strscan
|
||||
rouge (2.0.7)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.3)
|
||||
signet (0.18.0)
|
||||
security (0.1.5)
|
||||
signet (0.19.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
@@ -179,6 +185,7 @@ GEM
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
strscan (3.1.0)
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@@ -209,4 +216,4 @@ DEPENDENCIES
|
||||
fastlane
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.26
|
||||
2.5.9
|
||||
|
||||
@@ -21,13 +21,13 @@ android {
|
||||
applicationId = "me.hackerchick.catima"
|
||||
minSdk = 21
|
||||
targetSdk = 34
|
||||
versionCode = 133
|
||||
versionName = "2.28.0"
|
||||
versionCode = 136
|
||||
versionName = "2.30.0"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
multiDexEnabled = true
|
||||
|
||||
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
|
||||
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rBR", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -87,13 +87,13 @@ android {
|
||||
dependencies {
|
||||
|
||||
// AndroidX
|
||||
implementation("androidx.appcompat:appcompat:1.6.1")
|
||||
implementation("androidx.appcompat:appcompat:1.7.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||
implementation("androidx.exifinterface:exifinterface:1.3.7")
|
||||
implementation("androidx.palette:palette:1.0.0")
|
||||
implementation("androidx.preference:preference:1.2.1")
|
||||
implementation("com.google.android.material:material:1.11.0")
|
||||
implementation("com.github.yalantis:ucrop:2.2.8")
|
||||
implementation("com.google.android.material:material:1.12.0")
|
||||
implementation("com.github.yalantis:ucrop:2.2.9")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
|
||||
|
||||
// Splash Screen
|
||||
@@ -110,9 +110,9 @@ dependencies {
|
||||
implementation("io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0")
|
||||
|
||||
// Testing
|
||||
testImplementation("androidx.test:core:1.5.0")
|
||||
testImplementation("androidx.test:core:1.6.1")
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("org.robolectric:robolectric:4.11.1")
|
||||
testImplementation("org.robolectric:robolectric:4.12.2")
|
||||
}
|
||||
|
||||
tasks.withType<SpotBugsTask>().configureEach {
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_name">تصحيح Catima</string>
|
||||
</resources>
|
||||
@@ -1,2 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_name">Αποσφαλμάτωση Catima</string>
|
||||
</resources>
|
||||
4
app/src/debug/res/values-pt-rBR/strings.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Depuração do Catima</string>
|
||||
</resources>
|
||||
@@ -1,2 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_name">Catima 除錯版</string>
|
||||
</resources>
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera"
|
||||
android:required="true" />
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera.autofocus"
|
||||
android:required="false" />
|
||||
@@ -43,6 +43,7 @@
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<data android:mimeType="text/plain" />
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="application/pdf" />
|
||||
</intent-filter>
|
||||
|
||||
@@ -4,22 +4,24 @@ import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.core.util.Consumer;
|
||||
|
||||
import com.journeyapps.barcodescanner.CaptureManager;
|
||||
import com.journeyapps.barcodescanner.DecoratedBarcodeView;
|
||||
|
||||
public class CatimaCaptureManager extends CaptureManager {
|
||||
private final Context mContext;
|
||||
private final Consumer<String> mErrorCallback;
|
||||
|
||||
public CatimaCaptureManager(Activity activity, DecoratedBarcodeView barcodeView) {
|
||||
public CatimaCaptureManager(Activity activity, DecoratedBarcodeView barcodeView, Consumer<String> errorCallback) {
|
||||
super(activity, barcodeView);
|
||||
|
||||
mContext = activity.getApplicationContext();
|
||||
mErrorCallback = errorCallback;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void displayFrameworkBugMessageAndExit(String message) {
|
||||
// We don't want to exit, as we also have a enter from card image and add manually button here
|
||||
// So we show a toast instead
|
||||
Toast.makeText(mContext, message, Toast.LENGTH_LONG).show();
|
||||
// So, instead, we call our error callback
|
||||
mErrorCallback.accept(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,15 +80,21 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
||||
Log.e(TAG, "Activity returned NULL uri");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
OutputStream writer = getContentResolver().openOutputStream(uri);
|
||||
Log.e(TAG, "Starting file export with: " + result.toString());
|
||||
startExport(writer, uri, exportPassword.toCharArray(), true);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Failed to export file: " + result.toString(), e);
|
||||
onExportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, result.toString()), uri);
|
||||
}
|
||||
|
||||
// Running this in a thread prevents Android from throwing a NetworkOnMainThreadException for large files
|
||||
// FIXME: This is still suboptimal, because showing that the export started is delayed until the network request finishes
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
OutputStream writer = getContentResolver().openOutputStream(uri);
|
||||
Log.d(TAG, "Starting file export with: " + result);
|
||||
startExport(writer, uri, exportPassword.toCharArray(), true);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Failed to export file: " + result, e);
|
||||
onExportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, result.toString()), uri);
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
});
|
||||
fileOpenLauncher = registerForActivityResult(new ActivityResultContracts.GetContent(), result -> {
|
||||
if (result == null) {
|
||||
@@ -160,14 +166,21 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
||||
}
|
||||
|
||||
private void openFileForImport(Uri uri, char[] password) {
|
||||
try {
|
||||
InputStream reader = getContentResolver().openInputStream(uri);
|
||||
Log.e(TAG, "Starting file import with: " + uri.toString());
|
||||
startImport(reader, uri, importDataFormat, password, true);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Failed to import file: " + uri.toString(), e);
|
||||
onImportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, e.toString()), uri, importDataFormat);
|
||||
}
|
||||
// Running this in a thread prevents Android from throwing a NetworkOnMainThreadException for large files
|
||||
// FIXME: This is still suboptimal, because showing that the import started is delayed until the network request finishes
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
InputStream reader = getContentResolver().openInputStream(uri);
|
||||
Log.d(TAG, "Starting file import with: " + uri);
|
||||
startImport(reader, uri, importDataFormat, password, true);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Failed to import file: " + uri, e);
|
||||
onImportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, e.toString()), uri, importDataFormat);
|
||||
}
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
|
||||
private void chooseImportType(boolean choosePicker,
|
||||
|
||||
@@ -164,7 +164,7 @@ public class LoyaltyCard implements Parcelable {
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return id;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
||||
@@ -6,6 +6,8 @@ import android.database.Cursor;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.SparseBooleanArray;
|
||||
import android.util.TypedValue;
|
||||
import android.view.HapticFeedbackConstants;
|
||||
@@ -88,9 +90,29 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
inputHolder.mDivider.setVisibility(View.GONE);
|
||||
|
||||
LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(inputCursor);
|
||||
Bitmap icon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
|
||||
|
||||
if (mLoyaltyCardListDisplayOptions.showingNameBelowThumbnail() && icon != null) {
|
||||
inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
|
||||
|
||||
// Default header at first, real icon will be retrieved asynchronously if it exists to ensure
|
||||
// smooth scrolling even on slower devices
|
||||
Utils.setIconOrTextWithBackground(mContext, loyaltyCard, null, inputHolder.mCardIcon, inputHolder.mCardText);
|
||||
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
|
||||
boolean hasIcon = Utils.retrieveCardImageAsFile(mContext, loyaltyCard.id, ImageLocationType.icon).exists();
|
||||
if (hasIcon) {
|
||||
new Thread() {
|
||||
@Override
|
||||
public void run() {
|
||||
Bitmap icon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
|
||||
|
||||
new Handler(Looper.getMainLooper()).post(() -> {
|
||||
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText);
|
||||
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputHolder.getAdapterPosition()));
|
||||
});
|
||||
}
|
||||
}.start();
|
||||
}
|
||||
|
||||
if (mLoyaltyCardListDisplayOptions.showingNameBelowThumbnail() && hasIcon) {
|
||||
showDivider = true;
|
||||
inputHolder.setStoreField(loyaltyCard.store);
|
||||
} else {
|
||||
@@ -122,11 +144,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
inputHolder.setExtraField(inputHolder.mExpiryField, null, null, false);
|
||||
}
|
||||
|
||||
inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
|
||||
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText);
|
||||
|
||||
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
|
||||
|
||||
inputHolder.itemView.setActivated(mSelectedItems.get(inputCursor.getPosition(), false));
|
||||
applyIconAnimation(inputHolder, inputCursor.getPosition());
|
||||
applyClickEvents(inputHolder, inputCursor.getPosition());
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.ColorStateList;
|
||||
@@ -29,7 +28,6 @@ import android.view.Window;
|
||||
import android.view.WindowInsets;
|
||||
import android.view.WindowInsetsController;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
@@ -61,7 +59,6 @@ import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Currency;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
@@ -444,7 +441,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
layout.addView(currentTextview);
|
||||
|
||||
final TextInputEditText input = new TextInputEditText(this);
|
||||
input.setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
|
||||
input.setKeyListener(DigitsKeyListener.getInstance("0123456789,."));
|
||||
input.setHint(R.string.updateBalanceHint);
|
||||
|
||||
@@ -654,10 +651,15 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
cardIdString = loyaltyCard.cardId;
|
||||
barcodeIdString = loyaltyCard.barcodeId;
|
||||
|
||||
binding.cardIdView.setText(loyaltyCard.cardId);
|
||||
binding.mainImageDescription.setText(loyaltyCard.cardId);
|
||||
|
||||
// Display full text on click in case it doesn't fit in a single line
|
||||
binding.cardIdView.setOnClickListener(v -> {
|
||||
binding.mainImageDescription.setOnClickListener(v -> {
|
||||
if (mainImageIndex != 0) {
|
||||
// Don't show cardId dialog, we're displaying something else
|
||||
return;
|
||||
}
|
||||
|
||||
TextView cardIdView = new TextView(LoyaltyCardViewActivity.this);
|
||||
cardIdView.setText(loyaltyCard.cardId);
|
||||
cardIdView.setTextIsSelectable(true);
|
||||
@@ -930,7 +932,9 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
if (imageTypes.isEmpty()) {
|
||||
barcodeRenderTarget.setVisibility(View.GONE);
|
||||
binding.mainCardView.setCardBackgroundColor(Color.TRANSPARENT);
|
||||
binding.cardIdView.setTextColor(MaterialColors.getColor(binding.cardIdView, com.google.android.material.R.attr.colorOnSurfaceVariant));
|
||||
binding.mainImageDescription.setTextColor(MaterialColors.getColor(binding.mainImageDescription, com.google.android.material.R.attr.colorOnSurfaceVariant));
|
||||
|
||||
binding.mainImageDescription.setText(loyaltyCard.cardId);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -939,7 +943,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
if (wantedImageType == ImageType.BARCODE) {
|
||||
barcodeRenderTarget.setBackgroundColor(Color.WHITE);
|
||||
binding.mainCardView.setCardBackgroundColor(Color.WHITE);
|
||||
binding.cardIdView.setTextColor(getResources().getColor(R.color.md_theme_light_onSurfaceVariant));
|
||||
binding.mainImageDescription.setTextColor(getResources().getColor(R.color.md_theme_light_onSurfaceVariant));
|
||||
|
||||
if (waitForResize) {
|
||||
redrawBarcodeAfterResize(!isFullscreen);
|
||||
@@ -947,18 +951,23 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
drawBarcode(!isFullscreen);
|
||||
}
|
||||
|
||||
binding.mainImageDescription.setText(loyaltyCard.cardId);
|
||||
barcodeRenderTarget.setContentDescription(getString(R.string.barcodeImageDescriptionWithType, format.prettyName()));
|
||||
} else if (wantedImageType == ImageType.IMAGE_FRONT) {
|
||||
barcodeRenderTarget.setImageBitmap(frontImageBitmap);
|
||||
barcodeRenderTarget.setBackgroundColor(Color.TRANSPARENT);
|
||||
binding.mainCardView.setCardBackgroundColor(Color.TRANSPARENT);
|
||||
binding.cardIdView.setTextColor(MaterialColors.getColor(binding.cardIdView, com.google.android.material.R.attr.colorOnSurfaceVariant));
|
||||
binding.mainImageDescription.setTextColor(MaterialColors.getColor(binding.mainImageDescription, com.google.android.material.R.attr.colorOnSurfaceVariant));
|
||||
|
||||
binding.mainImageDescription.setText(getString(R.string.frontImageDescription));
|
||||
barcodeRenderTarget.setContentDescription(getString(R.string.frontImageDescription));
|
||||
} else if (wantedImageType == ImageType.IMAGE_BACK) {
|
||||
barcodeRenderTarget.setImageBitmap(backImageBitmap);
|
||||
barcodeRenderTarget.setBackgroundColor(Color.TRANSPARENT);
|
||||
binding.mainCardView.setCardBackgroundColor(Color.TRANSPARENT);
|
||||
binding.cardIdView.setTextColor(MaterialColors.getColor(binding.cardIdView, com.google.android.material.R.attr.colorOnSurfaceVariant));
|
||||
binding.mainImageDescription.setTextColor(MaterialColors.getColor(binding.mainImageDescription, com.google.android.material.R.attr.colorOnSurfaceVariant));
|
||||
|
||||
binding.mainImageDescription.setText(getString(R.string.backImageDescription));
|
||||
barcodeRenderTarget.setContentDescription(getString(R.string.backImageDescription));
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown image type: " + wantedImageType);
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.google.android.material.tabs.TabLayout;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
@@ -482,7 +483,9 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
if (Intent.ACTION_SEND.equals(receivedAction)) {
|
||||
List<BarcodeValues> barcodeValuesList;
|
||||
|
||||
if (receivedType.startsWith("image/")) {
|
||||
if (receivedType.equals("text/plain")) {
|
||||
barcodeValuesList = Collections.singletonList(new BarcodeValues(null, intent.getStringExtra(Intent.EXTRA_TEXT)));
|
||||
} else if (receivedType.startsWith("image/")) {
|
||||
barcodeValuesList = Utils.retrieveBarcodesFromImage(this, intent.getParcelableExtra(Intent.EXTRA_STREAM));
|
||||
} else if (receivedType.equals("application/pdf")) {
|
||||
barcodeValuesList = Utils.retrieveBarcodesFromPdf(this, intent.getParcelableExtra(Intent.EXTRA_STREAM));
|
||||
|
||||
@@ -78,6 +78,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
|
||||
|
||||
static final String STATE_SCANNER_ACTIVE = "scannerActive";
|
||||
private boolean mScannerActive = true;
|
||||
private boolean mHasError = false;
|
||||
|
||||
private void extractIntentFields(Intent intent) {
|
||||
final Bundle b = intent.getExtras();
|
||||
@@ -141,7 +142,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
|
||||
|
||||
// Even though we do the actual decoding with the barcodeScannerView
|
||||
// CaptureManager needs to be running to show the camera and scanning bar
|
||||
capture = new CatimaCaptureManager(this, barcodeScannerView);
|
||||
capture = new CatimaCaptureManager(this, barcodeScannerView, this::onCaptureManagerError);
|
||||
Intent captureIntent = new Intent();
|
||||
Bundle captureIntentBundle = new Bundle();
|
||||
captureIntentBundle.putBoolean(Intents.Scan.BEEP_ENABLED, false);
|
||||
@@ -178,9 +179,14 @@ public class ScanActivity extends CatimaAppCompatActivity {
|
||||
capture.onResume();
|
||||
}
|
||||
|
||||
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
|
||||
showCameraPermissionMissingText(false);
|
||||
if (!Utils.deviceHasCamera(this)) {
|
||||
showCameraError(getString(R.string.noCameraFoundGuideText), false);
|
||||
} else if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
|
||||
showCameraPermissionMissingText();
|
||||
} else {
|
||||
hideCameraError();
|
||||
}
|
||||
|
||||
scaleScreen();
|
||||
}
|
||||
|
||||
@@ -402,12 +408,37 @@ public class ScanActivity extends CatimaAppCompatActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private void showCameraPermissionMissingText(boolean show) {
|
||||
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedClickableArea.setOnClickListener(show ? v -> {
|
||||
public void onCaptureManagerError(String errorMessage) {
|
||||
if (mHasError) {
|
||||
// We're already showing an error, ignore this new error
|
||||
return;
|
||||
}
|
||||
|
||||
showCameraError(errorMessage, false);
|
||||
}
|
||||
|
||||
private void showCameraPermissionMissingText() {
|
||||
showCameraError(getString(R.string.noCameraPermissionDirectToSystemSetting), true);
|
||||
}
|
||||
|
||||
private void showCameraError(String message, boolean setOnClick) {
|
||||
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorMessage.setText(message);
|
||||
|
||||
setCameraErrorState(true, setOnClick);
|
||||
}
|
||||
|
||||
private void hideCameraError() {
|
||||
setCameraErrorState(false, false);
|
||||
}
|
||||
|
||||
private void setCameraErrorState(boolean visible, boolean setOnClick) {
|
||||
mHasError = visible;
|
||||
|
||||
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorClickableArea.setOnClickListener(visible && setOnClick ? v -> {
|
||||
navigateToSystemPermissionSetting();
|
||||
} : null);
|
||||
customBarcodeScannerBinding.cardInputContainer.setBackgroundColor(show ? obtainThemeAttribute(com.google.android.material.R.attr.colorSurface) : Color.TRANSPARENT);
|
||||
customBarcodeScannerBinding.cameraPermissionDeniedLayout.getRoot().setVisibility(show ? View.VISIBLE : View.GONE);
|
||||
customBarcodeScannerBinding.cardInputContainer.setBackgroundColor(visible ? obtainThemeAttribute(com.google.android.material.R.attr.colorSurface) : Color.TRANSPARENT);
|
||||
customBarcodeScannerBinding.cameraErrorLayout.getRoot().setVisibility(visible ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
|
||||
private void scaleScreen() {
|
||||
@@ -417,8 +448,8 @@ public class ScanActivity extends CatimaAppCompatActivity {
|
||||
float mediumSizePx = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,MEDIUM_SCALE_FACTOR_DIP,getResources().getDisplayMetrics());
|
||||
boolean shouldScaleSmaller = screenHeight < mediumSizePx;
|
||||
|
||||
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedIcon.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
|
||||
customBarcodeScannerBinding.cameraPermissionDeniedLayout.cameraPermissionDeniedTitle.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
|
||||
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorIcon.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
|
||||
customBarcodeScannerBinding.cameraErrorLayout.cameraErrorTitle.setVisibility(shouldScaleSmaller ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
|
||||
private int obtainThemeAttribute(int attribute) {
|
||||
@@ -444,7 +475,11 @@ public class ScanActivity extends CatimaAppCompatActivity {
|
||||
boolean granted = grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED;
|
||||
|
||||
if (requestCode == CaptureManager.getCameraPermissionReqCode()) {
|
||||
showCameraPermissionMissingText(!granted);
|
||||
if (granted) {
|
||||
hideCameraError();
|
||||
} else {
|
||||
showCameraPermissionMissingText();
|
||||
}
|
||||
} else if (requestCode == PERMISSION_SCAN_ADD_FROM_IMAGE || requestCode == PERMISSION_SCAN_ADD_FROM_PDF) {
|
||||
if (granted) {
|
||||
if (requestCode == PERMISSION_SCAN_ADD_FROM_IMAGE) {
|
||||
|
||||
@@ -13,6 +13,8 @@ import android.graphics.Color;
|
||||
import android.graphics.ImageDecoder;
|
||||
import android.graphics.Matrix;
|
||||
import android.graphics.pdf.PdfRenderer;
|
||||
import android.hardware.camera2.CameraAccessException;
|
||||
import android.hardware.camera2.CameraManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
@@ -65,7 +67,9 @@ import java.math.BigDecimal;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.DecimalFormatSymbols;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@@ -169,46 +173,57 @@ public class Utils {
|
||||
|
||||
static public List<BarcodeValues> retrieveBarcodesFromPdf(Context context, Uri uri) {
|
||||
Log.i(TAG, "Received PDF file with possible barcode");
|
||||
|
||||
if (uri == null) {
|
||||
Log.e(TAG, "Uri did not contain any data");
|
||||
Toast.makeText(context, R.string.errorReadingFile, Toast.LENGTH_LONG).show();
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
ParcelFileDescriptor parcelFileDescriptor;
|
||||
PdfRenderer renderer;
|
||||
ParcelFileDescriptor parcelFileDescriptor = null;
|
||||
PdfRenderer renderer = null;
|
||||
List<BarcodeValues> barcodesFromPdfPages = new ArrayList<>();
|
||||
|
||||
try {
|
||||
parcelFileDescriptor = context.getContentResolver().openFileDescriptor(uri, "r");
|
||||
renderer = new PdfRenderer(parcelFileDescriptor);
|
||||
if (parcelFileDescriptor != null) {
|
||||
renderer = new PdfRenderer(parcelFileDescriptor);
|
||||
|
||||
// Loop over all pages to find barcodes
|
||||
Bitmap renderedPage;
|
||||
for (int i = 0; i < renderer.getPageCount(); i++) {
|
||||
PdfRenderer.Page page = renderer.openPage(i);
|
||||
renderedPage = Bitmap.createBitmap(page.getWidth(), page.getHeight(), Bitmap.Config.ARGB_8888);
|
||||
page.render(renderedPage, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
|
||||
page.close();
|
||||
|
||||
List<BarcodeValues> barcodesFromPage = getBarcodesFromBitmap(renderedPage);
|
||||
for (BarcodeValues barcodeValues : barcodesFromPage) {
|
||||
barcodeValues.setNote(String.format(context.getString(R.string.pageWithNumber), i+1));
|
||||
barcodesFromPdfPages.add(barcodeValues);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Could not read file in uri");
|
||||
Log.e(TAG, "Error reading PDF file", e);
|
||||
Toast.makeText(context, R.string.errorReadingFile, Toast.LENGTH_LONG).show();
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
// Loop over all pages to find barcodes
|
||||
List<BarcodeValues> barcodesFromPdfPages = new ArrayList<>();
|
||||
Bitmap renderedPage;
|
||||
for (int i = 0; i < renderer.getPageCount(); i++) {
|
||||
PdfRenderer.Page page = renderer.openPage(i);
|
||||
renderedPage = Bitmap.createBitmap(page.getWidth(), page.getHeight(), Bitmap.Config.ARGB_8888);
|
||||
page.render(renderedPage, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
|
||||
page.close();
|
||||
|
||||
List<BarcodeValues> barcodesFromPage = getBarcodesFromBitmap(renderedPage);
|
||||
for (BarcodeValues barcodeValues : barcodesFromPage) {
|
||||
barcodeValues.setNote(String.format(context.getString(R.string.pageWithNumber), i+1));
|
||||
barcodesFromPdfPages.add(barcodeValues);
|
||||
} finally {
|
||||
// Resource handling
|
||||
if (renderer != null) {
|
||||
renderer.close();
|
||||
}
|
||||
if (parcelFileDescriptor != null) {
|
||||
try {
|
||||
parcelFileDescriptor.close();
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "Error closing ParcelFileDescriptor", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
renderer.close();
|
||||
|
||||
if (barcodesFromPdfPages.isEmpty()) {
|
||||
Log.i(TAG, "No barcode found in pdf file");
|
||||
Toast.makeText(context, R.string.noBarcodeFound, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
return barcodesFromPdfPages;
|
||||
}
|
||||
|
||||
@@ -380,6 +395,7 @@ public class Utils {
|
||||
|
||||
static public String formatBalance(Context context, BigDecimal value, Currency currency) {
|
||||
NumberFormat numberFormat = NumberFormat.getInstance();
|
||||
numberFormat.setGroupingUsed(false);
|
||||
|
||||
if (currency == null) {
|
||||
numberFormat.setMaximumFractionDigits(0);
|
||||
@@ -387,6 +403,7 @@ public class Utils {
|
||||
}
|
||||
|
||||
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
|
||||
currencyFormat.setGroupingUsed(false);
|
||||
currencyFormat.setCurrency(currency);
|
||||
currencyFormat.setMinimumFractionDigits(currency.getDefaultFractionDigits());
|
||||
currencyFormat.setMaximumFractionDigits(currency.getDefaultFractionDigits());
|
||||
@@ -396,6 +413,7 @@ public class Utils {
|
||||
|
||||
static public String formatBalanceWithoutCurrencySymbol(BigDecimal value, Currency currency) {
|
||||
NumberFormat numberFormat = NumberFormat.getInstance();
|
||||
numberFormat.setGroupingUsed(false);
|
||||
|
||||
if (currency == null) {
|
||||
numberFormat.setMaximumFractionDigits(0);
|
||||
@@ -408,19 +426,72 @@ public class Utils {
|
||||
return numberFormat.format(value);
|
||||
}
|
||||
|
||||
private static final double LargestPreciseDouble = (double) (1l << 53);
|
||||
static{
|
||||
assert (LargestPreciseDouble + 1.0) == LargestPreciseDouble;
|
||||
assert (LargestPreciseDouble - 1.0) != LargestPreciseDouble;
|
||||
}
|
||||
|
||||
private static BigDecimal fromParsed(Number parsed){
|
||||
if(parsed instanceof BigDecimal)
|
||||
return (BigDecimal) parsed;
|
||||
|
||||
final double d = parsed.doubleValue();
|
||||
if(d >= LargestPreciseDouble)
|
||||
return new BigDecimal(parsed.longValue());
|
||||
return new BigDecimal(d);
|
||||
}
|
||||
|
||||
static public BigDecimal parseBalance(String value, Currency currency) throws ParseException {
|
||||
// This function expects the input string to not have any grouping (thousand separators).
|
||||
// It will refuse to work otherwise
|
||||
NumberFormat numberFormat = NumberFormat.getInstance();
|
||||
numberFormat.setGroupingUsed(false);
|
||||
|
||||
if (numberFormat instanceof DecimalFormat) {
|
||||
((DecimalFormat) numberFormat).setParseBigDecimal(true);
|
||||
}
|
||||
|
||||
if (currency == null) {
|
||||
numberFormat.setMaximumFractionDigits(0);
|
||||
} else {
|
||||
numberFormat.setMinimumFractionDigits(currency.getDefaultFractionDigits());
|
||||
numberFormat.setMaximumFractionDigits(currency.getDefaultFractionDigits());
|
||||
int fractionDigits = currency.getDefaultFractionDigits();
|
||||
|
||||
numberFormat.setMinimumFractionDigits(fractionDigits);
|
||||
numberFormat.setMaximumFractionDigits(fractionDigits);
|
||||
|
||||
if (numberFormat instanceof DecimalFormat) {
|
||||
// If the string contains both thousand separators and decimals separators, fail hard
|
||||
DecimalFormatSymbols decimalFormatSymbols = ((DecimalFormat) numberFormat).getDecimalFormatSymbols();
|
||||
char decimalSeparator = decimalFormatSymbols.getDecimalSeparator();
|
||||
|
||||
// Translate all non-digits to decimal separators, failing if we find more than 1.
|
||||
// We loop over the codepoints to make sure eastern arabic numerals are not mistakenly
|
||||
// treated as a separator.
|
||||
boolean separatorFound = false;
|
||||
StringBuilder translatedValue = new StringBuilder();
|
||||
for (int i = 0; i < value.length();) {
|
||||
int character = value.codePointAt(i);
|
||||
|
||||
if (Character.isDigit(character)) {
|
||||
translatedValue.append(value.charAt(i));
|
||||
} else {
|
||||
if (separatorFound) {
|
||||
throw new ParseException("Contains multiple separators", i);
|
||||
}
|
||||
|
||||
separatorFound = true;
|
||||
translatedValue.append(decimalSeparator);
|
||||
}
|
||||
|
||||
i += Character.charCount(character);
|
||||
}
|
||||
|
||||
value = translatedValue.toString();
|
||||
}
|
||||
}
|
||||
|
||||
Log.d(TAG, numberFormat.parse(value).toString());
|
||||
|
||||
return new BigDecimal(numberFormat.parse(value).toString());
|
||||
return fromParsed(numberFormat.parse(value));
|
||||
}
|
||||
|
||||
static public byte[] bitmapToByteArray(Bitmap bitmap) {
|
||||
@@ -946,4 +1017,12 @@ public class Utils {
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
public static boolean deviceHasCamera(Context context) {
|
||||
try {
|
||||
return ((CameraManager) context.getSystemService(Context.CAMERA_SERVICE)).getCameraIdList().length > 0;
|
||||
} catch (CameraAccessException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
@@ -20,11 +21,12 @@
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<ScrollView
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:padding="10dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@@ -35,7 +37,9 @@
|
||||
android:id="@+id/version_history"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/version_history_main"
|
||||
@@ -74,7 +78,9 @@
|
||||
android:id="@+id/credits"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/credits_main"
|
||||
@@ -113,7 +119,9 @@
|
||||
android:id="@+id/translate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/translate_main"
|
||||
@@ -153,7 +161,9 @@
|
||||
android:id="@+id/license"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/license_main"
|
||||
@@ -193,7 +203,9 @@
|
||||
android:id="@+id/repo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/repo_main"
|
||||
@@ -233,7 +245,9 @@
|
||||
android:id="@+id/privacy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/privacy_main"
|
||||
@@ -273,7 +287,9 @@
|
||||
android:id="@+id/donate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/donate_main"
|
||||
@@ -284,6 +300,7 @@
|
||||
android:text="@string/donate"
|
||||
android:textSize="18sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
@@ -303,7 +320,9 @@
|
||||
android:id="@+id/rate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="8dp">
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/rate_main"
|
||||
@@ -340,10 +359,12 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:padding="8dp"
|
||||
android:id="@+id/report_error"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingVertical="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:background="?android:selectableItemBackground">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/report_error_main"
|
||||
@@ -379,5 +400,5 @@
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
@@ -31,13 +31,6 @@
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
style="?attr/toolbarStyle" />
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/groups"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:tabMode="scrollable" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
|
||||
|
||||
@@ -9,20 +9,20 @@
|
||||
tools:showIn="@layout/custom_barcode_scanner">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/camera_permission_denied_clickable_area"
|
||||
android:id="@+id/camera_error_clickable_area"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/camera_permission_denied_icon"
|
||||
android:id="@+id/camera_error_icon"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="84dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/camera_permission_denied" />
|
||||
android:src="@drawable/camera_error" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/camera_permission_denied_title"
|
||||
android:id="@+id/camera_error_title"
|
||||
style="@style/TextAppearance.Material3.HeadlineLarge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -30,12 +30,12 @@
|
||||
android:text="@string/cameraPermissionDeniedTitle" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/camera_permission_denied_message"
|
||||
android:id="@+id/camera_error_message"
|
||||
style="@style/AppTheme.TextView.NoData"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/noCameraPermissionDirectToSystemSetting" />
|
||||
android:text="@string/zxing_msg_camera_framework_bug" />
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -34,8 +34,8 @@
|
||||
android:padding="@dimen/activity_scanner_padding">
|
||||
|
||||
<include
|
||||
android:id="@+id/camera_permission_denied_layout"
|
||||
layout="@layout/camera_permission_failed_layout"
|
||||
android:id="@+id/camera_error_layout"
|
||||
layout="@layout/camera_error_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
@@ -17,11 +18,11 @@
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
@@ -127,7 +128,7 @@
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/importOptionApplicationButton" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
@@ -29,7 +30,8 @@
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tabs"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent">
|
||||
<com.google.android.material.tabs.TabItem
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -46,9 +48,10 @@
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<ScrollView android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||
<TableLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -473,6 +476,6 @@
|
||||
</LinearLayout>
|
||||
</TableLayout>
|
||||
</TableLayout>
|
||||
</ScrollView>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
android:layout_height="match_parent"
|
||||
android:contentDescription="@string/thumbnailDescription"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@mipmap/ic_launcher"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/card_id_view"
|
||||
android:id="@+id/main_image_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/text_size_large"
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
@@ -31,6 +32,7 @@
|
||||
android:id="@+id/groups"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
app:tabMode="scrollable"
|
||||
android:visibility="gone"/>
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
||||
@@ -15,38 +15,41 @@ Altonss
|
||||
Michael Moroni
|
||||
GM
|
||||
Eric
|
||||
laralem
|
||||
Petr Novák
|
||||
Joel A
|
||||
laralem
|
||||
Taco
|
||||
pfaffenrodt
|
||||
Aayush Gupta
|
||||
HudobniVolk
|
||||
大王叫我来巡山
|
||||
Nyatsuki
|
||||
Samantaz Fox
|
||||
Scrambled777
|
||||
Giovanni Donisi
|
||||
Jiri Grönroos
|
||||
arno-github
|
||||
Samantaz Fox
|
||||
Cliff Heraldo
|
||||
Sergio Paredes
|
||||
Ankit Tiwari
|
||||
Milan Šalka
|
||||
arno-github
|
||||
mdvhimself
|
||||
Balázs Meskó
|
||||
Milan Šalka
|
||||
Milo Ivir
|
||||
Balázs Meskó
|
||||
Skrripy
|
||||
huuhaa
|
||||
大王叫我来巡山
|
||||
Projjal Moitra
|
||||
Quentin PAGÈS
|
||||
ikanakova
|
||||
waffshappen
|
||||
ngocanhtve
|
||||
Ziad OUALHADJ
|
||||
Scrambled777
|
||||
Robin Liu
|
||||
ikanakova
|
||||
Projjal Moitra
|
||||
Quentin PAGÈS
|
||||
Denis Shilin
|
||||
Jose Delvani
|
||||
Robin Liu
|
||||
Ziad OUALHADJ
|
||||
しいたけ
|
||||
Alexander Ivanov
|
||||
Viet Nguyen Hoang
|
||||
Miha Frangež
|
||||
Silvério Santos
|
||||
Virginie
|
||||
@@ -56,3 +59,4 @@ Kim Seohyun
|
||||
Govind S Nair
|
||||
Freddo espresso
|
||||
arshbeerSingh
|
||||
MisterCosta96
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
<string name="noCameraPermissionDirectToSystemSetting">لمسح الباركود، ستحتاج Catima إلى الوصول إلى الكاميرا. اضغط هنا لتغيير إعدادات الأذونات.</string>
|
||||
<string name="updateBalance">تحديث الرصيد</string>
|
||||
<string name="updateBalanceHint">أدخل المبلغ</string>
|
||||
<string name="storageReadPermissionRequired">الصلاحيه للوصل للتخزين مطلوبة لهذا الاجراء</string>
|
||||
<string name="storageReadPermissionRequired">الصلاحيه للوصل للتخزين مطلوبة لهذا الاجراء…</string>
|
||||
<string name="validFromDate">عربيه</string>
|
||||
<string name="cameraPermissionRequired">إذن للوصول إلى الكاميرا اللازمة لهذا الإجراء…</string>
|
||||
<string name="anyDate">أي تاريخ</string>
|
||||
@@ -310,7 +310,7 @@
|
||||
<string name="enter_card_id">أدخل رقم الهوية أو النص الموجود على بطاقتك</string>
|
||||
<string name="addWithoutBarcode">إضافة بدون باركود</string>
|
||||
<string name="field_must_not_be_empty">يجب ألا يكون الحقل فارغا</string>
|
||||
<string name="app_name">كاتيما</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">التدوير دائمًا ( تجاهل إعدادات النظام)</string>
|
||||
<string name="add_manually_warning_title">الفحص موصى به</string>
|
||||
<string name="continue_">استمر</string>
|
||||
@@ -318,4 +318,10 @@
|
||||
<string name="receive">استلم</string>
|
||||
<string name="amountParsingFailed">كمية غير صحيحة</string>
|
||||
<string name="add_manually_warning_message">في بعض المتاجر قيمة الباركود تختلف عن الرقم الموجود على البطاقة. لهذا السبب إدخال الباركود يدوياً لن ينجح دائماً. من المستحسن فحص الباركود بكاميرا بدلا من ذالك. هل انت مُصِر على الاستكمال؟</string>
|
||||
<string name="addFromPdfFile">تحديد ملف PDF</string>
|
||||
<string name="errorReadingFile">لا يمكن قراءة الملف</string>
|
||||
<string name="failedLaunchingFileManager">لم يتم العثور على مدير ملفات مدعوم</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">اي من الـbarcodes تريد استخدامه؟</string>
|
||||
<string name="pageWithNumber">صفحة <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">يبدوا أن جهازك لا يمتلك كاميرا. إذا كان يمتلكها، أطفئ الجهاز وحاول مرة اخرى. اذا لم ينجح ذلك، أضغط على زر \"المزيد من الأختيارات\" في الأسفل لإضافة الباركود بطريقة أخرى.</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,9 @@
|
||||
<string name="amountParsingFailed">Неприемлива сума</string>
|
||||
<string name="spend">Похарчено</string>
|
||||
<string name="receive">Получено</string>
|
||||
<string name="pageWithNumber">Страница <xliff:g>%d</xliff:g></string>
|
||||
<string name="addFromPdfFile">Изберете PDF</string>
|
||||
<string name="errorReadingFile">Файлът не може да бъде прочетен</string>
|
||||
<string name="failedLaunchingFileManager">Не е намерено приложение за управление на файлове</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Кой от намерените щрихкодове желаете да бъде използван?</string>
|
||||
</resources>
|
||||
@@ -2,13 +2,13 @@
|
||||
<resources>
|
||||
<string name="save">Snimi</string>
|
||||
<string name="cancel">Odustani</string>
|
||||
<string name="unstar">Ukloni sve omiljene</string>
|
||||
<string name="star">Omiljene</string>
|
||||
<string name="barcodeType">Barcode tip</string>
|
||||
<string name="note">Bilježnica</string>
|
||||
<string name="unstar">Ukloni iz omiljenih</string>
|
||||
<string name="star">Dodaj u omiljene</string>
|
||||
<string name="barcodeType">Tip barkoda</string>
|
||||
<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 uvozite nešto iz menija prvo.</string>
|
||||
<string name="noGiftCards">Kliknite + Plus dugme da dodate kartu ili uvezete nešto iz menija prvo.</string>
|
||||
<string name="action_add">Dodaj</string>
|
||||
<string name="all">Sve</string>
|
||||
<string name="noGroupCards">Ova grupa ne sadrži nikakve karte</string>
|
||||
@@ -104,4 +104,6 @@
|
||||
<string name="importOptionApplicationExplanation">Koristi bilo koju aplikaciju ili Vašu omiljenu aplikaciju da bi otvorili file.</string>
|
||||
<string name="importOptionApplicationButton">Koristi drugu aplikaciju</string>
|
||||
<string name="about">O</string>
|
||||
</resources>
|
||||
<string name="noBarcode">Nema barkoda</string>
|
||||
<string name="deleteTitle">Obriši karticu</string>
|
||||
</resources>
|
||||
@@ -297,4 +297,9 @@
|
||||
<string name="spend">Utratit</string>
|
||||
<string name="receive">Obdržet</string>
|
||||
<string name="amountParsingFailed">Neplatné množství</string>
|
||||
<string name="addFromPdfFile">Vybrat soubor PDF</string>
|
||||
<string name="errorReadingFile">Soubor nelze přečíst</string>
|
||||
<string name="pageWithNumber">Stránka <xliff:g>%d</xliff:g></string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Který z nalezených čárových kódů chcete použít?</string>
|
||||
<string name="failedLaunchingFileManager">Nelze nalézt podporovaný správce souborů</string>
|
||||
</resources>
|
||||
@@ -12,16 +12,16 @@
|
||||
<string name="edit">Bearbeiten</string>
|
||||
<string name="delete">Löschen</string>
|
||||
<string name="confirm">Bestätigen</string>
|
||||
<string name="star">Zu den Favoriten hinzufügen</string>
|
||||
<string name="unstar">Aus den Favoriten entfernen</string>
|
||||
<string name="star">Zu Favoriten hinzufügen</string>
|
||||
<string name="unstar">Aus Favoriten entfernen</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="sendLabel">Senden …</string>
|
||||
<string name="sendLabel">Senden…</string>
|
||||
<string name="editCardTitle">Karte bearbeiten</string>
|
||||
<string name="addCardTitle">Neue Karte</string>
|
||||
<string name="scanCardBarcode">Barcode scannen</string>
|
||||
<string name="cardShortcut">Shortcut zu einer Karte</string>
|
||||
<string name="cardShortcut">Kartenkürzel</string>
|
||||
<string name="noCardsMessage">Füge zuerst eine Karte hinzu</string>
|
||||
<string name="noCardExistsError">Diese Karte konnte nicht gefunden werden</string>
|
||||
<string name="noCardExistsError">Konnte die Karte nicht finden</string>
|
||||
<string name="importExport">Import/Export</string>
|
||||
<string name="exportName">Export</string>
|
||||
<string name="importExportHelp">Wenn du deine Daten sicherst, kannst du sie auf ein anderes Gerät übertragen.</string>
|
||||
@@ -33,12 +33,12 @@
|
||||
<string name="exportFailed">Export konnte nicht durchgeführt werden</string>
|
||||
<string name="importing">Importiere…</string>
|
||||
<string name="exporting">Exportiere…</string>
|
||||
<string name="importOptionFilesystemTitle">Importiere aus dem Dateisystem</string>
|
||||
<string name="importOptionFilesystemExplanation">Wähle eine Datei vom Dateisystem aus.</string>
|
||||
<string name="importOptionFilesystemButton">Wähle vom Dateisystem</string>
|
||||
<string name="importOptionApplicationTitle">Andere Anwendungen</string>
|
||||
<string name="importOptionFilesystemTitle">Aus Dateisystem importieren</string>
|
||||
<string name="importOptionFilesystemExplanation">Eine bestimmte Datei aus dem Dateisystem auswählen.</string>
|
||||
<string name="importOptionFilesystemButton">vom Dateisystem</string>
|
||||
<string name="importOptionApplicationTitle">Andere App verwenden</string>
|
||||
<string name="importOptionApplicationExplanation">Beliebige Anwendung oder deinen bevorzugten Dateimanager zur Dateiauswahl verwenden.</string>
|
||||
<string name="importOptionApplicationButton">Aus anderer Anwendung</string>
|
||||
<string name="importOptionApplicationButton">Andere App verwenden</string>
|
||||
<string name="about">Über</string>
|
||||
<string name="app_license">Freie Software, lizensiert unter der GPLv3+</string>
|
||||
<string name="about_title_fmt">Über <xliff:g id="app_name">%s</xliff:g></string>
|
||||
@@ -66,7 +66,7 @@
|
||||
<string name="noGroups">Klicke auf das Pluszeichen +, um eine Gruppe hinzuzufügen.</string>
|
||||
<string name="noGroupCards">Diese Gruppe ist leer</string>
|
||||
<string name="groups">Gruppen</string>
|
||||
<string name="enter_group_name">Gib einen Gruppennamen ein</string>
|
||||
<string name="enter_group_name">Gruppennamen eingeben</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Beenden ohne zu speichern\?</string>
|
||||
<string name="leaveWithoutSaveTitle">Beenden</string>
|
||||
<string name="failedOpeningFileManager">Installiere zuerst einen Dateimanager.</string>
|
||||
@@ -95,7 +95,7 @@
|
||||
<string name="expiryStateSentence">Läuft ab: <xliff:g>%s</xliff:g></string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Sperrbildschirm verhindern</string>
|
||||
<string name="settings_keep_screen_on">Bildschirm aktiv lassen</string>
|
||||
<string name="privacy_policy_popup_text">Hinweis zum Datenschutz (oft gefordert):
|
||||
<string name="privacy_policy_popup_text">Hinweis zum Datenschutz (von einigen App-Stores verlangt):
|
||||
\n
|
||||
\nKEINE DATEN WERDEN GESAMMELT, was jeder bestätigen kann, da unsere Anwendung eine freie Software ist.</string>
|
||||
<string name="accept">Annehmen</string>
|
||||
@@ -112,10 +112,10 @@
|
||||
<string name="importCatimaMessage">Wähle deinen <i>catima.zip</i>-Export aus Catima zum Importieren aus.
|
||||
\nErstelle ihn aus dem Import/Export-Menü einer anderen Catima-Anwendung, indem du dort zuerst Export drückst.</string>
|
||||
<string name="importCatima">Aus Catima importieren</string>
|
||||
<string name="setBarcodeId">Manuell eingeben</string>
|
||||
<string name="setBarcodeId">Barcodewert festlegen</string>
|
||||
<string name="sameAsCardId">Entspricht Kartennummer</string>
|
||||
<string name="barcodeId">Barcodewert</string>
|
||||
<string name="errorReadingImage">Bildverarbeitung fehlgeschlagen</string>
|
||||
<string name="errorReadingImage">Konnte das Bild nicht lesen</string>
|
||||
<string name="noBarcodeFound">Kein Barcode erkannt</string>
|
||||
<string name="addFromImage">Bild aus der Galerie wählen</string>
|
||||
<string name="unsupportedBarcodeType">Dieser Barcodetyp kann noch nicht angezeigt werden. Wir hoffen das Format in einer zukünftigen Version zu unterstützen.</string>
|
||||
@@ -129,17 +129,17 @@
|
||||
<string name="updateBarcodeQuestionTitle">Barcodewert aktualisieren?</string>
|
||||
<string name="takePhoto">Foto aufnehmen</string>
|
||||
<string name="removeImage">Bild entfernen</string>
|
||||
<string name="setBackImage">Kartenrückseite</string>
|
||||
<string name="setFrontImage">Kartenvorderseite</string>
|
||||
<string name="setBackImage">Rückseite einstellen</string>
|
||||
<string name="setFrontImage">Vorderseite einstellen</string>
|
||||
<string name="photos">Fotos</string>
|
||||
<string name="frontImageDescription">Bild der Vorseite</string>
|
||||
<string name="backImageDescription">Bild der Rückseite</string>
|
||||
<string name="frontImageDescription">Vorderseite</string>
|
||||
<string name="backImageDescription">Rückseite</string>
|
||||
<string name="passwordRequired">Bitte gib das Passwort ein</string>
|
||||
<string name="importStocardMessage">Wähle deinen <i>***.zip</i>-Export aus Stocard zum Importieren aus.
|
||||
\nSie erhalten ihn, indem du eine E-Mail an support@stocardapp.com sendest und um einen Export deiner Daten bitten.</string>
|
||||
<string name="importStocard">Von Stocard importieren</string>
|
||||
<string name="turn_flashlight_off">Licht ausschalten</string>
|
||||
<string name="turn_flashlight_on">Licht einschalten</string>
|
||||
<string name="turn_flashlight_off">Blitzlicht ausschalten</string>
|
||||
<string name="turn_flashlight_on">Blitzlicht einschalten</string>
|
||||
<string name="failedGeneratingShareURL">URL konnte nicht erstellt werden. Bitte melde das an uns.</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> ausgewählt</item>
|
||||
@@ -193,10 +193,10 @@
|
||||
<string name="editGroup">Gruppe wird bearbeitet: <xliff:g>%s</xliff:g></string>
|
||||
<string name="group_edit">Gruppe bearbeiten</string>
|
||||
<string name="noGiftCardsGroup">Erstelle einige Karten und ordne sie dann hier der Gruppe zu.</string>
|
||||
<string name="setIcon">Vorschaubild setzen</string>
|
||||
<string name="setIcon">Vorschaubild festlegen</string>
|
||||
<string name="selectColor">Farbe auswählen</string>
|
||||
<string name="translate_platform">auf Weblate</string>
|
||||
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
|
||||
<string name="shortcutSelectCard">Wähle eine Karte</string>
|
||||
<string name="options">Optionen</string>
|
||||
<string name="showMoreInfo">Infos anzeigen</string>
|
||||
<string name="starred">als Favorit</string>
|
||||
@@ -233,7 +233,7 @@
|
||||
<string name="failedToRetrieveImageFile">Bilddatei konnte nicht abgerufen werden</string>
|
||||
<string name="updateBalanceTitle">Wie viel hast du ausgegeben oder erhalten?</string>
|
||||
<string name="cameraPermissionDeniedTitle">Kein Zugriff auf die Kamera möglich</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Um Strichcodes zu scannen, benötigt Catima Zugriff auf Ihre Kamera. Tippen Sie hier, um Ihre Berechtigungseinstellungen zu ändern.</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Um Strichcodes zu scannen, benötigt Catima Zugriff auf deine Kamera. Tippe hier, um deine Berechtigungseinstellungen zu ändern.</string>
|
||||
<string name="updateBalanceHint">Betrag eingeben</string>
|
||||
<string name="importCards">Karten importieren</string>
|
||||
<string name="currentBalanceSentence">Aktuelles Guthaben: <xliff:g>%s</xliff:g></string>
|
||||
@@ -245,23 +245,23 @@
|
||||
<string name="validFromSentence">Gültig ab: <xliff:g>%s</xliff:g></string>
|
||||
<string name="chooseValidFromDate">Gültig-ab-Datum wählen</string>
|
||||
<string name="anyDate">Beliebiges Datum</string>
|
||||
<string name="icon_header_click_text">Langes Drücken zum Bearbeiten der Vorschau</string>
|
||||
<string name="switchToBarcode">Umschalten auf Barcode</string>
|
||||
<string name="openFrontImageInGalleryApp">Vorderes Bild in der Galerie öffnen</string>
|
||||
<string name="openBackImageInGalleryApp">Hinteres Bild in der Galerie öffnen</string>
|
||||
<string name="icon_header_click_text">Zum Bearbeiten des Vorschaubildes lang drücken</string>
|
||||
<string name="switchToBarcode">Zum Barcode wechseln</string>
|
||||
<string name="openFrontImageInGalleryApp">Vorderseite in Galerie öffnen</string>
|
||||
<string name="openBackImageInGalleryApp">Rückseite in Galerie öffnen</string>
|
||||
<string name="height">Höhe:</string>
|
||||
<string name="switchToFrontImage">Zum vorderen Bild wechseln</string>
|
||||
<string name="switchToBackImage">Zum hinteren Bild wechseln</string>
|
||||
<string name="switchToFrontImage">Zur Vorderseite wechseln</string>
|
||||
<string name="switchToBackImage">Zur Rückseite wechseln</string>
|
||||
<string name="setBarcodeHeight">Barcode-Höhe einstellen</string>
|
||||
<string name="donate">Spenden</string>
|
||||
<string name="show_note">Notiz anzeigen</string>
|
||||
<string name="show_balance">Betrag anzeigen</string>
|
||||
<string name="show_validity">Gültigkeitsdauer anzeigen</string>
|
||||
<string name="show_name_below_image_thumbnail">Namen unter Bildvorschau anzeigen</string>
|
||||
<string name="settings_allow_content_provider_read_title">Anderen Anwendungen den Zugriff auf meine Daten gestatten</string>
|
||||
<string name="show_name_below_image_thumbnail">Namen unter Vorschaubild anzeigen</string>
|
||||
<string name="settings_allow_content_provider_read_title">Anderen Apps den Zugriff auf meine Daten gestatten</string>
|
||||
<string name="permissionReadCardsLabel">Catima-Karten lesen</string>
|
||||
<string name="permissionReadCardsDescription">lesen deiner Catima Karten mit allen Details, einschließlich Notizen und Bildern</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Anwendungen müssen weiterhin eine Genehmigung beantragen, um Zugriff zu erhalten</string>
|
||||
<string name="permissionReadCardsDescription">Lesen deiner Catima Karten mit allen Details, einschließlich Notizen und Bildern</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Apps müssen weiterhin eine Genehmigung beantragen, um Zugriff zu erhalten</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Erforderlich für das Funktionieren einiger Scanner</string>
|
||||
<string name="settings_keep_screen_on_summary">Deaktiviert die Bildschirmzeitüberschreitung beim Anzeigen einer Karte</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Deaktiviert die Bildschirmsperre während der Anzeige einer Karte</string>
|
||||
@@ -269,9 +269,9 @@
|
||||
<string name="settings_category_title_cards">Karten</string>
|
||||
<string name="settings_category_title_privacy">Datenschutz</string>
|
||||
<string name="settings_category_title_general">Allgemein</string>
|
||||
<string name="view_online">Zeige online</string>
|
||||
<string name="view_online">Online anzeigen</string>
|
||||
<string name="action_display_options">Anzeigeoptionen</string>
|
||||
<string name="show_archived_cards">Zeige archivierte Karten</string>
|
||||
<string name="show_archived_cards">Archivierte Karten anzeigen</string>
|
||||
<string name="app_copyright_short">Copyright © Sylvia van Os und Mitwirkende</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os und Mitwirkende</string>
|
||||
<string name="card_id_must_not_be_empty">Kartennummer darf nicht leer sein</string>
|
||||
@@ -279,9 +279,9 @@
|
||||
<string name="add_a_card_in_a_different_way">Karte anders hinzufügen</string>
|
||||
<string name="action_more_options">Mehr Optionen</string>
|
||||
<string name="enter_card_id">Gib die Codenummer oder Ziffernfolge deiner Karte an</string>
|
||||
<string name="addWithoutBarcode">Eine Karde ohne Code hinzufügen</string>
|
||||
<string name="addWithoutBarcode">Eine Karte ohne Code hinzufügen</string>
|
||||
<string name="field_must_not_be_empty">Feld darf nicht leer sein</string>
|
||||
<string name="manually_enter_barcode_instructions">Trage die ID Nummer oder Text deiner Karte ein und drücke auf den Barcode, der wie auf deiner Karte aussieht.</string>
|
||||
<string name="manually_enter_barcode_instructions">Trage die ID Nummer oder Text deiner Karte ein und drücke auf den Barcode, der wie der auf deiner Karte aussieht.</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Immer drehen (ignoriert Systemeinstellungen)</string>
|
||||
<string name="continue_">Fortfahren</string>
|
||||
@@ -290,4 +290,10 @@
|
||||
<string name="spend">Zahlen</string>
|
||||
<string name="receive">Erhalten</string>
|
||||
<string name="amountParsingFailed">Ungültiger Betrag</string>
|
||||
<string name="addFromPdfFile">PDF-Datei auswählen</string>
|
||||
<string name="errorReadingFile">Datei konnte nicht gelesen werden</string>
|
||||
<string name="failedLaunchingFileManager">Konnte keinen unterstützten Dateimanager finden</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Welchen der gefundenen Barcodes möchtest du verwenden?</string>
|
||||
<string name="pageWithNumber">Seite <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Dein Gerät scheint nicht über eine Kamera zu verfügen. Wenn dies der Fall ist, versuche, das Gerät neu zu starten. Andernfalls verwende die Schaltfläche Weitere Optionen unten, um einen Barcode auf andere Weise hinzuzufügen.</string>
|
||||
</resources>
|
||||
@@ -14,13 +14,13 @@
|
||||
<string name="sendLabel">Αποστολή…</string>
|
||||
<string name="editCardTitle">Επεξεργασία Κάρτας</string>
|
||||
<string name="addCardTitle">Προσθήκη Κάρτας</string>
|
||||
<string name="scanCardBarcode">Σαρώστε τον γραμμοκώδικα (bardcode)</string>
|
||||
<string name="scanCardBarcode">Σαρώστε τον γραμμωτό κώδικα</string>
|
||||
<string name="cardShortcut">Συντόμευση Κάρτας</string>
|
||||
<string name="noCardsMessage">Προσθέστε μία κάρτα πρώτα</string>
|
||||
<string name="noCardExistsError">Δεν ήταν δυνατό να εντοπιστεί η κάρτα</string>
|
||||
<string name="importExport">Εισαγωγή/Εξαγωγή</string>
|
||||
<string name="exportName">Εξαγωγή</string>
|
||||
<string name="importExportHelp">Τα αντίγραφα ασφαλείας, σας επιτρέπουν να τα εισάγετε σε άλλη συσκευή.</string>
|
||||
<string name="importExportHelp">Τα αντίγραφα ασφαλείας σας επιτρέπουν να τα εισάγετε σε άλλη συσκευή.</string>
|
||||
<string name="importSuccessfulTitle">Εισήχθησαν</string>
|
||||
<string name="importFailedTitle">Εισαγωγή ανεπιτυχής</string>
|
||||
<string name="importFailed">Δεν ήταν δυνατή η εισαγωγή</string>
|
||||
@@ -39,7 +39,7 @@
|
||||
<string name="app_license">Άδεια χρήσης υπό GPLv3+</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="selectBarcodeTitle">Επιλέξτε Barcode</string>
|
||||
<string name="selectBarcodeTitle">Επιλέξτε γραμμωτό κώδικα</string>
|
||||
<string name="thumbnailDescription">Μικρογραφία</string>
|
||||
<string name="settings">Ρυθμίσεις</string>
|
||||
<string name="settings_dark_theme">Σκοτεινό</string>
|
||||
@@ -54,7 +54,7 @@
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> επιλέγχθηκαν</item>
|
||||
</plurals>
|
||||
<string name="noGiftCardsGroup">Δημιούργησε κάρτες και βάλτες σε αυτή την ομάδα.</string>
|
||||
<string name="addManually">Χειροκίνητη εισαγωγή κωδικού</string>
|
||||
<string name="addManually">Εισαγάγετε τον γραμμωτό κώδικα με μη αυτόματο τρόπο</string>
|
||||
<string name="never">Ποτέ</string>
|
||||
<string name="share">Κοινοποίηση</string>
|
||||
<plurals name="balancePoints">
|
||||
@@ -64,14 +64,14 @@
|
||||
<string name="exportOptionExplanation">Τα δεδομένα θα μεταφερθούν σε τοποθεσία της επιλογής σας.</string>
|
||||
<string name="settings_theme">Θέμα</string>
|
||||
<string name="groupsList">Ομάδες: <xliff:g>%s</xliff:g></string>
|
||||
<string name="barcodeId">Τιμή γραμμοκώδικα</string>
|
||||
<string name="barcodeId">Τιμή γραμμωτού κώδικα</string>
|
||||
<string name="sort">Ταξινόμηση</string>
|
||||
<string name="deleteConfirmationGroup">Διαγραφή ομάδας;</string>
|
||||
<string name="moveDown">Προχώρα κάτω</string>
|
||||
<string name="accept">Αποδοχή</string>
|
||||
<string name="yes">Ναι</string>
|
||||
<string name="no">Όχι</string>
|
||||
<string name="addFromImage">Επιλογή εικόνας από την συλλογή</string>
|
||||
<string name="addFromImage">Επιλέξτε μια εικόνα από τη συλλογή</string>
|
||||
<string name="expiryStateSentence">Λήγει: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryDate">Ημερομηνία λήξης</string>
|
||||
<string name="settings_keep_screen_on">Κράτα την οθόνη ανοιχτή</string>
|
||||
@@ -91,18 +91,18 @@
|
||||
<string name="importLoyaltyCardKeychainMessage">Επιλέξτε την <i>LoyaltyCardKeychain.csv</i> εξαγωγή από το Loyalty Card Keychain για εισαγωγή.
|
||||
\nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής στο Loyalty Card Keychain επιλέγοντας Εξαγωγή.</string>
|
||||
<string name="importFidme">Εισαγωγή από FidMe</string>
|
||||
<string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμοκώδικα μετέπειτα.
|
||||
\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και διαλέγοντας εξαγωγή δεδομένων.</string>
|
||||
<string name="setBarcodeId">Επιλέξτε τιμή γραμμοκώδικα</string>
|
||||
<string name="wrongValueForBarcodeType">Η τιμή δεν είναι έγκυρη για αυτού του τύπου γραμμοκώδικα</string>
|
||||
<string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμωτού κώδικα μετέπειτα.
|
||||
\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και πατώντας Εξαγωγή δεδομένων πρώτα.</string>
|
||||
<string name="setBarcodeId">Επιλέξτε τιμή γραμμωτού κώδικα</string>
|
||||
<string name="wrongValueForBarcodeType">Η τιμή δεν είναι έγκυρη για τον επιλεγμένο γραμμωτό κώδικα</string>
|
||||
<string name="setBackImage">Επιλογή οπίσθιας εικόνας</string>
|
||||
<string name="removeImage">Αφαίρεση εικόνας</string>
|
||||
<string name="takePhoto">Τραβήξτε μια φωτογραφία</string>
|
||||
<string name="updateBarcodeQuestionText">Αλλάξατε τον κωδικό. Θέλετε να ενημερώσετε και τον γραμμοκώδικα στην ίδια τιμή;</string>
|
||||
<string name="updateBarcodeQuestionText">Αλλάξατε τον κωδικό. Θέλετε να ενημερώσετε και τον γραμμωτό κώδικα στην ίδια τιμή;</string>
|
||||
<string name="options">Επιλογές</string>
|
||||
<string name="noGroupCards">Αυτή η ομάδα είναι άδεια</string>
|
||||
<string name="settings_display_barcode_max_brightness">Επιπλέον φωτισμός γραμμοκώδικα</string>
|
||||
<string name="group_name_is_empty">Το όνομα ομάδας δεν γίνεται να είναι κενό</string>
|
||||
<string name="settings_display_barcode_max_brightness">Επιπλέον φωτισμός γραμμωτού κώδικα</string>
|
||||
<string name="group_name_is_empty">Το όνομα της ομάδας δεν πρέπει να είναι κενό</string>
|
||||
<string name="group_edit">Επεξεργασία ομάδας</string>
|
||||
<string name="star">Προσθήκη στα αγαπημένα</string>
|
||||
<string name="unstar">Αφαίρεση από τα αγαπημένα</string>
|
||||
@@ -114,7 +114,7 @@
|
||||
<string name="currency">Νόμισμα</string>
|
||||
<string name="privacy_policy">Πολιτική απορρήτου</string>
|
||||
<string name="chooseImportType">Εισαγωγή δεδομένων από</string>
|
||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||
<string name="app_loyalty_card_keychain">Lοyalty Card Keychain</string>
|
||||
<string name="privacy_policy_popup_text">Σημείωμα πολιτικής απορρήτου ( υποχρεωτικό σε κάποια \"μαγαζιά\" εφαρμογών)
|
||||
\n
|
||||
\nΜΗΔΕΝΙΚΆ ΔΕΔΟΜΈΝΑ ΣΥΛΛΈΓΟΝΤΑΙ, ο οποιοσδήποτε μπορεί να το επιβεβαιώσει μιας και η εφαρμογή είναι ελεύθερο λογισμικό.</string>
|
||||
@@ -131,21 +131,21 @@
|
||||
<string name="setFrontImage">Επιλογή μπροστινής εικόνας</string>
|
||||
<string name="importVoucherVaultMessage">Επιλέξτε την <i>vouchervault.json</i> εξαγωγή από το Voucher Vault για εισαγωγή.
|
||||
\nΔημιουργήστε το επιλέγοντας Εξαγωγή στο Voucher Vault.</string>
|
||||
<string name="unsupportedBarcodeType">Ο τύπος γραμμοκώδικα δεν γίνεται να εμφανιστεί ακόμα. Μπορεί να υποστηρίζεται σε μια μελλοντική έκδοση της εφαρμογής.</string>
|
||||
<string name="unsupportedBarcodeType">Ο τύπος γραμμωτού κώδικα δεν μπορεί να εμφανιστεί ακόμα. Μπορεί να υποστηρίζεται σε μια μελλοντική έκδοση της εφαρμογής.</string>
|
||||
<string name="frontImageDescription">Μπροστινή εικόνα</string>
|
||||
<string name="photos">Φωτογραφίες</string>
|
||||
<string name="backImageDescription">Οπίσθια εικόνα</string>
|
||||
<string name="updateBarcodeQuestionTitle">Ενημέρωση τιμής γραμμοκώδικα;</string>
|
||||
<string name="updateBarcodeQuestionTitle">Ενημέρωση τιμής γραμμωτού κώδικα;</string>
|
||||
<string name="passwordRequired">Παρακαλώ εισάγετε τον κωδικό</string>
|
||||
<string name="sort_by_most_recently_used">Χρησιμοποιήθηκαν πρόσφατα</string>
|
||||
<string name="shortcutSelectCard">Επιλέξτε μία κάρτα</string>
|
||||
<string name="barcodeImageDescriptionWithType">Εικόνα <xliff:g>%s</xliff:g> γραμμοκώδικα</string>
|
||||
<string name="barcodeImageDescriptionWithType">Εικόνα <xliff:g>%s</xliff:g> γραμμωτού κώδικα</string>
|
||||
<string name="app_libraries">Ελεύθερες βιβλιοθήκες τρίτων: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="license">Άδεια</string>
|
||||
<string name="include_if_asking_support">Αν θέλετε να ζητήσετε υποστήριξη, συμπεριλάβετε τις ακόλουθες πληροφορίες:</string>
|
||||
<string name="importSuccessful">Δεδομένα εισήχθησαν</string>
|
||||
<string name="moveUp">Προχώρα πάνω</string>
|
||||
<string name="barcodeType">Τύπος γραμμοκώδικα</string>
|
||||
<string name="barcodeType">Τύπος γραμμωτού κώδικα</string>
|
||||
<string name="app_resources">Ελεύθερες πηγές τρίτων: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="selectColor">Επιλογή χρώματος</string>
|
||||
<string name="setIcon">Ορισμός εικονιδίου</string>
|
||||
@@ -162,7 +162,7 @@
|
||||
<string name="exportSuccessful">Δεδομένα εξήχθησαν</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Αποτροπή κλειδώματος οθόνης</string>
|
||||
<string name="failedLaunchingPhotoPicker">Δεν βρέθηκε υποστηριζόμενη εφαρμογή συλλογής</string>
|
||||
<string name="noBarcode">Χωρίς barcode</string>
|
||||
<string name="noBarcode">Χωρίς γραμμωτό κώδικα</string>
|
||||
<string name="starImage">Αγαπημένο αστέρι</string>
|
||||
<string name="balanceSentence">Υπόλοιπο: <xliff:g>%s</xliff:g></string>
|
||||
<string name="failedParsingImportUriError">Δεν ήταν δυνατή η ανάλυση του εισαγόμενου URL</string>
|
||||
@@ -173,7 +173,7 @@
|
||||
<string name="app_copyright_old">Βασισμένο στο Loyalty Card Keychain
|
||||
\nπνευματικά δικαιώματα © 2016-2020 Branden Archer</string>
|
||||
<string name="settings_follow_system_orientation">Ακολούθηση συστήματος</string>
|
||||
<string name="settings_card_orientation">Προσανατολισμός γραμμοκώδικα</string>
|
||||
<string name="settings_card_orientation">Προσανατολισμός γραμμωτού κώδικα</string>
|
||||
<string name="settings_portrait_orientation">Πορτραίτο</string>
|
||||
<string name="settings_landscape_orientation">Οριζόντια</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Πνευματικά δικαιώματα © 2019-<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
||||
@@ -189,15 +189,15 @@
|
||||
<string name="leaveWithoutSaveConfirmation">Έξοδος χωρίς αποθήκευση;</string>
|
||||
<string name="expiryStateSentenceExpired">Έληξε: <xliff:g>%s</xliff:g></string>
|
||||
<string name="card">Κάρτα</string>
|
||||
<string name="editBarcode">Επεξεργασία γραμμοκώδικα</string>
|
||||
<string name="editBarcode">Επεξεργασία γραμμωτού κώδικα</string>
|
||||
<string name="chooseExpiryDate">Επιλέξτε ημερομηνία λήξης</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Μετακίνηση του γραμμοκώδικα στο πάνω μέρος της οθόνης</string>
|
||||
<string name="noBarcodeFound">Δεν βρέθηκε γραμμοκώδικας</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Μετακίνηση του γραμμωτού κώδικα στο πάνω μέρος της οθόνης</string>
|
||||
<string name="noBarcodeFound">Δεν βρέθηκε γραμμωτός κώδικα</string>
|
||||
<string name="balance">Υπόλοιπο</string>
|
||||
<string name="importCatima">Εισαγωγή από Catima</string>
|
||||
<string name="importStocard">Εισαγωγή από Stocard</string>
|
||||
<string name="importVoucherVault">Εισαγωγή από Voucher Vault</string>
|
||||
<string name="sameAsCardId">Ίδιος κωδικός</string>
|
||||
<string name="sameAsCardId">Όπως ο κωδικός</string>
|
||||
<string name="exportPassword">Προσθέστε έναν κωδικό για προστασία της εξαγωγής (προαιρετικά)</string>
|
||||
<string name="exportPasswordHint">Εισαγωγή κωδικού</string>
|
||||
<string name="failedGeneratingShareURL">Δεν ήταν δυνατή η δημιουργία κοινοποιούμενου URL. Παρακαλώ αναφέρετε το.</string>
|
||||
@@ -207,7 +207,7 @@
|
||||
<string name="settings_oled_dark">Απόλυτο μαύρο φόντο για το μαύρο θέμα</string>
|
||||
<string name="settings_system_locale">Σύστημα</string>
|
||||
<string name="settings_theme_color">Χρώμα θέματος</string>
|
||||
<string name="settings_catima_theme">Catima</string>
|
||||
<string name="settings_catima_theme">Κάτιμα</string>
|
||||
<string name="settings_pink_theme">Ροζ</string>
|
||||
<string name="settings_magenta_theme">Φούξια</string>
|
||||
<string name="settings_violet_theme">Βιολετί</string>
|
||||
@@ -229,7 +229,7 @@
|
||||
<string name="nextCard">Επόμενη</string>
|
||||
<string name="updateBalance">Ενημέρωση υπολοίπου</string>
|
||||
<string name="barcodeLongPressMessage">Μόνο εικόνες μπορούν να ανοιχτούν στην εφαρμογή φωτογραφιών</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Για να σκανάρετε γραμμοκώδικες, θα χρειαστεί πρόσβαση στην κάμερα από το Catima. Πατήστε εδώ για να δώσετε πρόσβαση.</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Για να σκανάρετε γραμμωτούς κώδικες, θα χρειαστεί πρόσβαση στην κάμερα από το Catima. Πατήστε εδώ για να δώσετε πρόσβαση.</string>
|
||||
<plurals name="viewArchivedCardsWithCount">
|
||||
<item quantity="one">Προβολή αρχείου (<xliff:g>%1$d</xliff:g> κάρτας)</item>
|
||||
<item quantity="other">Προβολή αρχείου (<xliff:g>%1$d</xliff:g> καρτών)</item>
|
||||
@@ -240,20 +240,20 @@
|
||||
<string name="newBalanceSentence">Νέο υπόλοιπο: <xliff:g>%s</xliff:g></string>
|
||||
<string name="failedToOpenUrl">Εγκαταστήστε έναν περιηγητή πρώτα</string>
|
||||
<string name="welcome">Καλώς ήρθατε στο Catima</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Απενεργοποιεί το κλείδωμα οθόνης ενόσω βλέπετε μια κάρτα</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Απαραίτητο για να δουλέψει σε κάποια σκάνερ</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Απενεργοποιεί το κλείδωμα οθόνης κατά την προβολή μιας κάρτας</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Απαραίτητο για να δουλέψει σε κάποιους σαρωτές</string>
|
||||
<string name="cameraPermissionRequired">Δικαίωμα πρόσβασης στην κάμερα απαραίτητο γι\' αυτή την ενέργεια…</string>
|
||||
<string name="settings_allow_content_provider_read_title">Επιτρέπει σε άλλες εφαρμογές να έχουν πρόσβαση στα δεδομένα μου</string>
|
||||
<string name="settings_allow_content_provider_read_title">Να επιτρέπεται σε άλλες εφαρμογές να έχουν πρόσβαση στα δεδομένα μου</string>
|
||||
<string name="app_copyright_short">Πνευματικά δικαιώματα © Sylvia van Os και συνεργάτες</string>
|
||||
<string name="height">Ύψος:</string>
|
||||
<string name="switchToFrontImage">Μετάβαση στην μπροστινή εικόνα</string>
|
||||
<string name="switchToBackImage">Μετάβαση στην πίσω εικόνα</string>
|
||||
<string name="switchToBarcode">Μετάβαση σε barcode</string>
|
||||
<string name="switchToBackImage">Μετάβαση στην οπίσθια εικόνα</string>
|
||||
<string name="switchToBarcode">Μετάβαση σε γραμμωτό κώδικα</string>
|
||||
<string name="validFromSentence">Ισχύει από: <xliff:g>%s</xliff:g></string>
|
||||
<string name="permissionReadCardsLabel">Διαβάστε τις κάρτες Catima</string>
|
||||
<string name="openBackImageInGalleryApp">Ανοίξτε την πίσω εικόνα στην εφαρμογή γκαλερί</string>
|
||||
<string name="openBackImageInGalleryApp">Ανοίξτε την οπίσθια εικόνα στην εφαρμογή γκαλερί</string>
|
||||
<string name="permissionReadCardsDescription">Διάβασε τις Κάρτες σου Catima και όλες τους τις λεπτομέρειες, συμπεριλαμβανομένων των σημειώσεων και των εικόνων</string>
|
||||
<string name="donate">Προσφέρω</string>
|
||||
<string name="donate">Δωρεά</string>
|
||||
<string name="icon_header_click_text">Πατήστε παρατεταμένα για επεξεργασία του εικονιδίου</string>
|
||||
<string name="openFrontImageInGalleryApp">Ανοίξτε την μπροστινή εικόνα στην εφαρμογή γκαλερί</string>
|
||||
<string name="storageReadPermissionRequired">Δικαίωμα ανάγνωσης του χώρου αποθήκευσης απαραίτητο για αυτήν την ενέργεια…</string>
|
||||
@@ -261,7 +261,39 @@
|
||||
<string name="validFromDate">Ισχύει από</string>
|
||||
<string name="anyDate">Οποιαδήποτε ημερομηνία</string>
|
||||
<string name="chooseValidFromDate">Επιλέξτε έγκυρη ημερομηνία από</string>
|
||||
<string name="setBarcodeHeight">Ρυθμίστε το ύψος του barcode</string>
|
||||
<string name="setBarcodeHeight">Ρυθμίστε το ύψος του γραμμωτού κώδικα</string>
|
||||
<string name="show_name_below_image_thumbnail">Εμφάνιση ονόματος κάτω από το εικονίδιο</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="balanceParsingFailed">Μη έγκυρο υπόλοιπο</string>
|
||||
<string name="continue_">Συνέχεια</string>
|
||||
<string name="settings_category_title_privacy">Απόρρητο</string>
|
||||
<string name="addFromPdfFile">Επιλογή αρχείου PDF</string>
|
||||
<string name="add_manually_warning_message">Για ορισμένα καταστήματα, ο γραμμωτός κώδικας διαφέρει από τον αριθμό που αναγράφεται πάνω στην κάρτα. Εξαιτίας αυτού, η εισαγωγή γραμμωτού κώδικα χειροκίνητα ενδέχεται να μην λειτουργεί πάντα. Προτείνεται να σκανάρετε τον γραμμωτό κώδικα με χρήση της κάμερας. Επιθυμείτε να συνεχίσετε ;</string>
|
||||
<string name="amountParsingFailed">Μη έγκυρο ποσό</string>
|
||||
<string name="show_balance">Προβολή υπολοίπου</string>
|
||||
<string name="action_display_options">Επιλογές εμφάνισης</string>
|
||||
<string name="settings_category_title_cards">Κάρτες</string>
|
||||
<string name="settings_category_title_general">Γενικά</string>
|
||||
<string name="show_archived_cards">Προβολή αρχειοθετημένων καρτών</string>
|
||||
<string name="addWithoutBarcode">Προσθήκη κάρτας χωρίς γραμμωτό κώδικα</string>
|
||||
<string name="view_online">Προβολή διαδικτυακά</string>
|
||||
<string name="errorReadingFile">Δεν ήταν δυνατή η ανάγνωση του αρχείου</string>
|
||||
<string name="failedLaunchingFileManager">Δεν ήταν δυνατή η εύρεση υποστηριζόμενου διαχειριστή αρχείων</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Ποιους από τους γραμμωτούς κώδικες που βρέθηκαν θέλετε να χρησιμοποιήσετε;</string>
|
||||
<string name="pageWithNumber">Σελίδα <xliff:g>%d</xliff:g></string>
|
||||
<string name="spend">Δαπάνησε</string>
|
||||
<string name="receive">Λήψη</string>
|
||||
<string name="settings_keep_screen_on_summary">Απενεργοποιεί το χρονικό όριο της οθόνης κατά την προβολή μιας κάρτας</string>
|
||||
<string name="settings_oled_dark_summary">Μειώνει τη χρήση της μπαταρίας στις οθόνες OLED</string>
|
||||
<string name="show_note">Εμφάνιση σημείωσης</string>
|
||||
<string name="action_more_options">Περισσότερες επιλογές</string>
|
||||
<string name="enter_card_id">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας</string>
|
||||
<string name="show_validity">Εμφάνιση εγκυρότητας</string>
|
||||
<string name="add_a_card_in_a_different_way">Προσθέστε μια κάρτα με διαφορετικό τρόπο</string>
|
||||
<string name="card_id_must_not_be_empty">Ο κωδικός αριθμός της κάρτας δεν πρέπει να είναι κενός</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Οι εφαρμογές θα πρέπει ακόμα να ζητήσουν άδεια για να τους δοθεί πρόσβαση</string>
|
||||
<string name="field_must_not_be_empty">Το πεδίο δεν πρέπει να είναι κενό</string>
|
||||
<string name="manually_enter_barcode_instructions">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας και πατήστε τον γραμμωτό κώδικα που μοιάζει με αυτόν της κάρτας σας.</string>
|
||||
<string name="add_manually_warning_title">Συνιστάται η σάρωση</string>
|
||||
<string name="noCameraFoundGuideText">Η συσκευή σας δεν φαίνεται να διαθέτει κάμερα. Αν έχει, δοκιμάστε να κάνετε επανεκκίνηση της συσκευής. Διαφορετικά, χρησιμοποιήστε το κουμπί Περισσότερες επιλογές παρακάτω για να προσθέσετε έναν γραμμωτό κώδικα με άλλο τρόπο.</string>
|
||||
</resources>
|
||||
@@ -70,7 +70,7 @@
|
||||
<string name="backImageDescription">Imágen dorsal</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Para escanear códigos de barra, Catima necesitará acceso a la cámara. Presione aquí para cambiar la configuración de sus permisos.</string>
|
||||
<string name="settings_lock_on_opening_orientation">Bloquear a la orientación utilizada al abrir la tarjeta</string>
|
||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||
<string name="app_loyalty_card_keychain">Cartera para Tarjetas de Fidelización</string>
|
||||
<string name="importOptionFilesystemTitle">Importar desde su sistema de archivos</string>
|
||||
<string name="leaveWithoutSaveTitle">Salir</string>
|
||||
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
|
||||
@@ -184,4 +184,37 @@
|
||||
<string name="settings_keep_screen_on_summary">Deshabilita el tiempo de espera de la pantalla mientras se ve una tarjeta</string>
|
||||
<string name="thumbnailDescription">Miniatura</string>
|
||||
<string name="deleteConfirmationGroup">¿Eliminar grupo\?</string>
|
||||
<string name="updateBarcodeQuestionText">Has cambiado el ID. ¿Quieres actualizar también el código de barras para usar el mismo valor?</string>
|
||||
<string name="settings_locale">Idioma</string>
|
||||
<string name="settings_system_locale">Sistema</string>
|
||||
<string name="settings_catima_theme">Catima</string>
|
||||
<string name="settings_pink_theme">Rosa</string>
|
||||
<string name="exportPassword">Agregar una contraseña para protejer tu exportación (opcional)</string>
|
||||
<string name="settings_sky_blue_theme">Celeste</string>
|
||||
<string name="settings_green_theme">Verde</string>
|
||||
<string name="settings_grey_theme">Gris</string>
|
||||
<string name="exportPasswordHint">Ingresar contraseña</string>
|
||||
<string name="setIcon">Establecer miniatura</string>
|
||||
<string name="showMoreInfo">Mostrar información</string>
|
||||
<string name="turn_flashlight_on">Encender linterna</string>
|
||||
<string name="turn_flashlight_off">Apagar linterna</string>
|
||||
<string name="updateBalance">Actualizar balance</string>
|
||||
<string name="failedToRetrieveImageFile">Error al obtener archivo de imagen</string>
|
||||
<string name="settings_oled_dark_summary">Reduce uso de batería en pantallas OLED</string>
|
||||
<string name="settings_oled_dark">Fondo negro puro para tema oscuro</string>
|
||||
<string name="selectColor">Seleccionar color</string>
|
||||
<string name="settings_theme_color">Color del tema</string>
|
||||
<string name="settings_magenta_theme">Magenta</string>
|
||||
<string name="settings_violet_theme">Violeta</string>
|
||||
<string name="settings_brown_theme">Marrón</string>
|
||||
<string name="sort">Ordenar</string>
|
||||
<string name="settings_blue_theme">Azul</string>
|
||||
<string name="app_contributors">Hecho posible por: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="barcodeLongPressMessage">Solo se puede abrir imágenes en la aplicación de galería</string>
|
||||
<string name="settings_follow_sensor_orientation">Siempre rotar (ignora configuración del sistema)</string>
|
||||
<string name="yes">Si</string>
|
||||
<string name="no">No</string>
|
||||
<string name="passwordRequired">Por favor ingresa la contraseña</string>
|
||||
<string name="failedGeneratingShareURL">No se pudo generar URL compartible. Por favor reporte esto.</string>
|
||||
<string name="sort_by_name">Nombre</string>
|
||||
</resources>
|
||||
@@ -4,7 +4,7 @@
|
||||
<string name="noGiftCards">Haz clic en el botón + para añadir una tarjeta, o importa desde el menú ⋮.</string>
|
||||
<string name="storeName">Nombre</string>
|
||||
<string name="note">Nota</string>
|
||||
<string name="cardId">ID. de tarjeta</string>
|
||||
<string name="cardId">ID de tarjeta</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="save">Guardar</string>
|
||||
<string name="edit">Editar</string>
|
||||
@@ -20,7 +20,7 @@
|
||||
<string name="noCardExistsError">No se ha podido encontrar esa tarjeta</string>
|
||||
<string name="importExport">Importar/Exportar</string>
|
||||
<string name="exportName">Exportar</string>
|
||||
<string name="importExportHelp">Hacer una copia de seguridad de los datos permite trasladarlos a otro dispositivo.</string>
|
||||
<string name="importExportHelp">Respaldar tus datos permite trasladarlos a otro dispositivo.</string>
|
||||
<string name="importSuccessfulTitle">Importado</string>
|
||||
<string name="importFailedTitle">Falló la importación</string>
|
||||
<string name="importFailed">No se ha podido realizar la importación</string>
|
||||
@@ -33,9 +33,9 @@
|
||||
<string name="importOptionFilesystemExplanation">Elegir un archivo concreto del sistema de archivos.</string>
|
||||
<string name="importOptionFilesystemButton">Desde el sistema de archivos</string>
|
||||
<string name="importOptionApplicationTitle">Utilizar otra aplicación</string>
|
||||
<string name="importOptionApplicationExplanation">Use una aplicación o su gestor de archivos favoritos para abrir un archivo.</string>
|
||||
<string name="importOptionApplicationExplanation">Usa cualquier aplicación o tu administrador de archivos favorito para abrir un archivo.</string>
|
||||
<string name="importOptionApplicationButton">Utilizar otra aplicación</string>
|
||||
<string name="about">Acerca de</string>
|
||||
<string name="about">Información</string>
|
||||
<string name="app_license">Programa libre con «copyleft», disponible en virtud de la licencia GPLv3+</string>
|
||||
<string name="about_title_fmt">Acerca de <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Versión: <xliff:g id="version">%s</xliff:g></string>
|
||||
@@ -56,16 +56,16 @@
|
||||
<string name="barcodeType">Tipo de código de barras</string>
|
||||
<string name="noMatchingGiftCards">Sin resultados. Intente cambiar su búsqueda.</string>
|
||||
<string name="action_search">Buscar</string>
|
||||
<string name="noGroups">Pulse en el botón «+» para añadir grupos de categorización.</string>
|
||||
<string name="noGroups">Pulse en el botón + para añadir grupos de categorización.</string>
|
||||
<string name="starImage">Estrella favorita</string>
|
||||
<string name="thumbnailDescription">Miniatura</string>
|
||||
<string name="selectBarcodeTitle">Seleccionar el código de barras</string>
|
||||
<string name="unstar">Eliminar de favoritos</string>
|
||||
<string name="noBarcode">Sin código de barras</string>
|
||||
<string name="enter_group_name">Introducir nombre del grupo</string>
|
||||
<string name="enter_group_name">Escribe el nombre del grupo</string>
|
||||
<string name="groups">Grupos</string>
|
||||
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
||||
<string name="addManually">Introducir manualmente el código de barras</string>
|
||||
<string name="addManually">Escribe manualmente el código de barras</string>
|
||||
<string name="leaveWithoutSaveConfirmation">¿Quiere abandonar sin guardar\?</string>
|
||||
<string name="leaveWithoutSaveTitle">Salir</string>
|
||||
<string name="moveDown">Bajar</string>
|
||||
@@ -115,7 +115,7 @@
|
||||
<string name="removeImage">Quitar imagen</string>
|
||||
<string name="setFrontImage">Establecer imagen frontal</string>
|
||||
<string name="photos">Fotos</string>
|
||||
<string name="backImageDescription">Imagen del reverso</string>
|
||||
<string name="backImageDescription">Imagen de atrás</string>
|
||||
<string name="frontImageDescription">Imagen frontal</string>
|
||||
<string name="wrongValueForBarcodeType">El valor no es válido para el tipo de código de barras seleccionado</string>
|
||||
<string name="unsupportedBarcodeType">Este tipo de código de barras todavía no se puede visualizar. Es posible que se admita en una futura versión de la aplicación.</string>
|
||||
@@ -184,10 +184,10 @@
|
||||
<string name="settings_portrait_orientation">Formato vertical</string>
|
||||
<string name="group_edit">Editar grupo</string>
|
||||
<string name="group_updated">Grupo actualizado</string>
|
||||
<string name="noGiftCardsGroup">Cree algunas tarjetas y luego asígnelas al grupo aquí.</string>
|
||||
<string name="settings_follow_system_orientation">Seguir el sistema</string>
|
||||
<string name="noGiftCardsGroup">Crea algunas tarjetas y luego asígnelas al grupo aquí.</string>
|
||||
<string name="settings_follow_system_orientation">Segue el sistema</string>
|
||||
<string name="settings_lock_on_opening_orientation">Bloqueo a la orientación utilizada al abrir la tarjeta</string>
|
||||
<string name="sort_by_most_recently_used">Lo más reciente que se ha utilizado</string>
|
||||
<string name="sort_by_most_recently_used">Lo más usado recientemente</string>
|
||||
<string name="sort_by_expiry">Caducidad</string>
|
||||
<string name="version_history">Historial de versiones</string>
|
||||
<string name="help_translate_this_app">Ayuda a traducir esta aplicación</string>
|
||||
@@ -199,7 +199,7 @@
|
||||
<string name="sort_by_name">Nombre</string>
|
||||
<string name="license">Licencia</string>
|
||||
<string name="source_repository">Repositorio de fuente</string>
|
||||
<string name="on_github">En GitHub</string>
|
||||
<string name="on_github">en GitHub</string>
|
||||
<string name="on_google_play">en Google Play</string>
|
||||
<string name="report_error">Informar de un error</string>
|
||||
<string name="translate_platform">en Weblate</string>
|
||||
@@ -230,7 +230,7 @@
|
||||
<string name="archived">Tarjeta archivada</string>
|
||||
<string name="unarchived">Tarjeta desarchivada</string>
|
||||
<string name="exportPassword">Establezca una contraseña para proteger su exportación (opcional)</string>
|
||||
<string name="failedLaunchingPhotoPicker">No se ha podido encontrar una aplicación de galería compatible</string>
|
||||
<string name="failedLaunchingPhotoPicker">No se ha encontró una aplicación de galería compatible</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> tarjeta (archivada)<xliff:g id="archivedCount">%2$d</xliff:g></item>
|
||||
<item quantity="many"><xliff:g>%1$d</xliff:g> tarjetas (archivadas)<xliff:g id="archivedCount">%2$d</xliff:g></item>
|
||||
@@ -239,7 +239,7 @@
|
||||
<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 ha gastado o recibido?</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="updateBalanceHint">Introduzca el importe</string>
|
||||
@@ -297,4 +297,10 @@
|
||||
<string name="spend">Gastar</string>
|
||||
<string name="receive">Recibió</string>
|
||||
<string name="amountParsingFailed">Importe incorrecto</string>
|
||||
<string name="addFromPdfFile">Seleccionar un archivo PDF</string>
|
||||
<string name="errorReadingFile">No se ha podido leer el archivo</string>
|
||||
<string name="failedLaunchingFileManager">No se ha podido encontrar un gestor de archivos compatible</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">¿Cuál de los códigos de barras encontrados desea utilizar?</string>
|
||||
<string name="pageWithNumber">Página <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Tu dispositivo no parece tener cámara. Si la tiene, intente reiniciar el dispositivo. De lo contrario, utilice el botón Más opciones a continuación para añadir un código de barras de otra manera.</string>
|
||||
</resources>
|
||||
2
app/src/main/res/values-fa/strings.xml
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
@@ -290,4 +290,9 @@
|
||||
<string name="receive">Vastaanota</string>
|
||||
<string name="amountParsingFailed">Virheellinen määrä</string>
|
||||
<string name="add_manually_warning_message">Joidenkin kauppojen kohdalla viivakoodin arvo eroaa kortilla olevasta numerosta. Tämän takia viivakoodin syöttäminen käsin ei aina toimi. On vahvasti suositeltua skannata viivakoodi kameralla. Haluatko silti jatkaa?</string>
|
||||
<string name="addFromPdfFile">Valitse PDF-tiedosto</string>
|
||||
<string name="errorReadingFile">Tiedostoa ei voitu lukea</string>
|
||||
<string name="failedLaunchingFileManager">Tuettua tiedostonhallintasovellusta ei löytynyt</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Mitä löytyneistä viivakoodeista haluat käyttää?</string>
|
||||
<string name="pageWithNumber">Sivu <xliff:g>%d</xliff:g></string>
|
||||
</resources>
|
||||
5
app/src/main/res/values-fil/strings.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="action_search">Hanap</string>
|
||||
<string name="app_name">Catima</string>
|
||||
</resources>
|
||||
@@ -297,4 +297,10 @@
|
||||
<string name="spend">Dépenser</string>
|
||||
<string name="receive">Reçevoir</string>
|
||||
<string name="amountParsingFailed">Montant Invalide</string>
|
||||
<string name="addFromPdfFile">Sélectionner un fichier PDF</string>
|
||||
<string name="errorReadingFile">Lecture du fichier impossible</string>
|
||||
<string name="failedLaunchingFileManager">Impossible de trouver un gestionnaire de fichiers supporté</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Quel code-barre, parmi ceux trouvés, voulez-vous utiliser ?</string>
|
||||
<string name="pageWithNumber">Page <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Votre appareil ne semble pas disposer d\'une caméra. Si c\'est le cas, veuillez essayer de redémarrer l\'appareil. Sinon, vous pouvez utiliser le bouton \"Plus d\'options\" ci-dessous pour ajouter un code-barre d\'une autre manière.</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,10 @@
|
||||
<string name="spend">खर्च किया</string>
|
||||
<string name="receive">प्राप्त किया</string>
|
||||
<string name="amountParsingFailed">अमान्य राशि</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">आप पाए गए बारकोड में से कौन सा उपयोग करना चाहते हैं?</string>
|
||||
<string name="pageWithNumber">पृष्ठ <xliff:g>%d</xliff:g></string>
|
||||
<string name="addFromPdfFile">एक PDF फाइल चुनें</string>
|
||||
<string name="errorReadingFile">फाइल को पढ़ा नहीं जा सका</string>
|
||||
<string name="failedLaunchingFileManager">समर्थित फाइल प्रबंधक नहीं मिल सका</string>
|
||||
<string name="noCameraFoundGuideText">ऐसा लगता है कि आपके डिवाइस में कैमरा नहीं है। अगर है, तो डिवाइस को रीबूट करने का प्रयास करें। अन्यथा, किसी अन्य तरीके से बारकोड जोड़ने के लिए नीचे दिए गए अधिक विकल्प बटन का उपयोग करें।</string>
|
||||
</resources>
|
||||
@@ -252,7 +252,7 @@
|
||||
<string name="shortcutSelectCard">Odaberi karticu</string>
|
||||
<string name="previousCard">Prethodna</string>
|
||||
<string name="nextCard">Sljedeća</string>
|
||||
<string name="updateBalanceTitle">Koliko si potrošio/la?</string>
|
||||
<string name="updateBalanceTitle">Koliko si potrošio/la ili primio/la?</string>
|
||||
<string name="updateBalanceHint">Upiši iznos</string>
|
||||
<string name="about_title_fmt">Informaije o <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="failedToOpenUrl">Najprije instaliraj web preglednik</string>
|
||||
@@ -291,4 +291,15 @@
|
||||
<string name="settings_keep_screen_on_summary">Deaktivira isključivanje ekrana tijekom prikaza kartice</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Uvijek rotiraj (ignorira sistemske postavke)</string>
|
||||
<string name="continue_">Nastavi</string>
|
||||
<string name="add_manually_warning_message">Za neke trgovine se vrijednost barkoda razlikuje od broja napisanog na kartici. Zbog toga ručni unos barkoda možda neće uvijek funkcionirati. Preporučuje se snimanje barkoda pomoću kamere. Želiš li svejedno nastaviti?</string>
|
||||
<string name="add_manually_warning_title">Preporučuje se snimanje</string>
|
||||
<string name="addFromPdfFile">Odaberi PDF datoteku</string>
|
||||
<string name="errorReadingFile">Neuspjelo čitanje datoteke</string>
|
||||
<string name="failedLaunchingFileManager">Nije pronađen podržani upravljač datoteka</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Koji pronađeni barkod želiš koristiti?</string>
|
||||
<string name="pageWithNumber">Stranica <xliff:g>%d</xliff:g></string>
|
||||
<string name="spend">Potroši</string>
|
||||
<string name="receive">Primi</string>
|
||||
<string name="amountParsingFailed">Neispravan iznos</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,10 @@
|
||||
<string name="continue_">Tovább</string>
|
||||
<string name="spend">Költött</string>
|
||||
<string name="receive">Megkapott</string>
|
||||
<string name="addFromPdfFile">PDF fájl kiválasztása</string>
|
||||
<string name="errorReadingFile">A fájl nem olvasható</string>
|
||||
<string name="pageWithNumber"><xliff:g>%d</xliff:g>. oldal</string>
|
||||
<string name="failedLaunchingFileManager">Nem található támogatott fájlkezelő</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">A talált vonalkódok közül melyiket szeretné használni?</string>
|
||||
<string name="noCameraFoundGuideText">Úgy tűnik, az eszközén nincs kamera. Ha van, próbálja meg újraindítani az eszközt. Másképp, használja a További beállítások gombot alul, hogy máshogy hozzáadjon egy vonalkódot.</string>
|
||||
</resources>
|
||||
@@ -141,17 +141,17 @@
|
||||
\nTIDAK ADA DATA YANG DIKUMPULKAN SAMA SEKALI, yang dapat dikonfirmasi oleh siapa pun karena aplikasi kami adalah libre software.</string>
|
||||
<string name="importCatimaMessage">Pilih ekspor <i>catima.zip</i> Anda dari Catima untuk diimpor.
|
||||
\nBuat dari menu Impor/Ekspor aplikasi Catima lain dengan menekan Ekspor di sana terlebih dahulu.</string>
|
||||
<string name="importFidmeMessage">Pilih ekspor <i>fidme-export-request-xxxxxx.zip</i> Anda dari FidMe untuk diimpor, dan pilih jenis barcode secara manual setelahnya.
|
||||
<string name="importFidmeMessage">Pilih ekspor <i>fidme-export-request-xxxxxx.zip</i> Anda dari FidMe untuk diimpor, dan pilih jenis barcode secara manual setelahnya.
|
||||
\nBuat dari profil FidMe Anda dengan memilih Perlindungan Data lalu tekan Ekstrak data saya terlebih dahulu.</string>
|
||||
<string name="importLoyaltyCardKeychain">Impor dari Loyalty Card Keychain</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Pilih ekspor <i>LoyaltyCardKeychain.csv</i> Anda dari Loyalty Card Keychain untuk diimpor.
|
||||
<string name="importLoyaltyCardKeychainMessage">Pilih ekspor <i>LoyaltyCardKeychain.csv</i> Anda dari Loyalty Card Keychain untuk diimpor.
|
||||
\nBuat dari menu Import/Export di Loyalty Card Keychain dengan menekan Export terlebih dahulu.</string>
|
||||
<string name="importStocard">Impor dari Stocard</string>
|
||||
<string name="importStocardMessage">Pilih ekspor <i>***.zip</i> Anda dari Stocard untuk diimpor.
|
||||
<string name="importStocardMessage">Pilih ekspor <i>***.zip</i> Anda dari Stocard untuk diimpor.
|
||||
\nDapatkan dengan mengirim email ke support@stocardapp.com untuk meminta ekspor data Anda.</string>
|
||||
<string name="importVoucherVault">Impor dari Voucher Vault</string>
|
||||
<string name="importVoucherVaultMessage">Pilih ekspor <i>vouchervault.json</i> Anda dari Vault Voucher untuk diimpor.
|
||||
\nBuat dengan menekan Ekspor di Vault Voucher terlebih dahulu.</string>
|
||||
<string name="importVoucherVaultMessage">Pilih ekspor <i>vouchervault.json</i> Anda dari Voucher Vault untuk diimpor.
|
||||
\nBuat dengan menekan Ekspor di Voucher Vault terlebih dahulu.</string>
|
||||
<string name="unsupportedBarcodeType">Jenis barcode ini belum dapat ditampilkan. Ini mungkin didukung di versi aplikasi yang lebih baru.</string>
|
||||
<string name="wrongValueForBarcodeType">Nilai tidak berlaku untuk jenis barcode yang dipilih</string>
|
||||
<string name="frontImageDescription">Gambar depan</string>
|
||||
@@ -231,7 +231,7 @@
|
||||
<string name="updateBalance">Perbarui saldo</string>
|
||||
<string name="updateBalanceHint">Masukkan jumlah</string>
|
||||
<string name="currentBalanceSentence">Saldo saat ini: <xliff:g>%s</xliff:g></string>
|
||||
<string name="updateBalanceTitle">Berapa banyak yang telah kamu habiskan ?</string>
|
||||
<string name="updateBalanceTitle">Berapa banyak yang kamu belanjakan atau terima?</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Untuk memindai barcode, Catima membutuhkan akses ke kamera mu. Tap disini untuk mengganti pengaturan perizinan mu.</string>
|
||||
<string name="cameraPermissionRequired">Berikan izin untuk mengakses kamera anda…</string>
|
||||
<string name="storageReadPermissionRequired">Berikan izin untuk membaca penyimpanan anda…</string>
|
||||
@@ -277,4 +277,16 @@
|
||||
<string name="field_must_not_be_empty">Isian tidak boleh kosong</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Selalu rotasi (abaikan pengaturan sistem)</string>
|
||||
<string name="add_manually_warning_title">Pemindaian sangat dianjurkan</string>
|
||||
<string name="continue_">Lanjut</string>
|
||||
<string name="failedLaunchingFileManager">Tidak dapat menemukan pengelola file yang didukung</string>
|
||||
<string name="errorReadingFile">Tidak dapat membaca file</string>
|
||||
<string name="addFromPdfFile">Pilih file PDF</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Barcode mana yang ingin Anda gunakan?</string>
|
||||
<string name="pageWithNumber">Halaman <xliff:g>%d</xliff:g></string>
|
||||
<string name="spend">Dibelanjakan</string>
|
||||
<string name="receive">Terima</string>
|
||||
<string name="amountParsingFailed">Jumlah tidak valid</string>
|
||||
<string name="add_manually_warning_message">Untuk beberapa toko, nilai barcode berbeda dengan nomor yang tertulis di kartu. Oleh karena itu, memasukkan barcode secara manual mungkin tidak selalu berhasil. Sangat disarankan untuk memindai barcode dengan kamera anda. Apakah anda masih ingin melanjutkan?</string>
|
||||
<string name="noCameraFoundGuideText">Perangkat Anda sepertinya tidak memiliki kamera. Jika iya, coba mulai ulang perangkat. Jika tidak, gunakan tombol Opsi lainnya di bawah untuk menambahkan barcode dengan cara lain.</string>
|
||||
</resources>
|
||||
@@ -297,4 +297,10 @@
|
||||
<string name="amountParsingFailed">Importo non valido</string>
|
||||
<string name="spend">Spendi</string>
|
||||
<string name="receive">Ricevi</string>
|
||||
<string name="errorReadingFile">Impossibile leggere il file</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Quale dei codici a barre trovati vuoi utilizzare?</string>
|
||||
<string name="addFromPdfFile">Seleziona un file PDF</string>
|
||||
<string name="failedLaunchingFileManager">Impossibile trovare un file manager supportato</string>
|
||||
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Sembra che il tuo dispositivo non abbia una fotocamera. In tal caso, prova a riavviare il dispositivo. Altrimenti, utilizza il pulsante Altre opzioni di seguito per aggiungere un codice a barre in un altro modo.</string>
|
||||
</resources>
|
||||
@@ -52,8 +52,8 @@
|
||||
<string name="exportSuccessful">データがエクスポートされました</string>
|
||||
<string name="importSuccessful">データがインポートされました</string>
|
||||
<string name="intent_import_card_from_url_share_text">カード共有をしましょう</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">バーコード表示中は画面をロックしない</string>
|
||||
<string name="settings_keep_screen_on">バーコード表示中は画面を消灯しない</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">バーコード表示中に画面をロックしない</string>
|
||||
<string name="settings_keep_screen_on">バーコード表示中に画面を点けたままにする</string>
|
||||
<string name="settings_display_barcode_max_brightness">バーコード表示画面を明るくする</string>
|
||||
<string name="settings_dark_theme">ダーク</string>
|
||||
<string name="settings_light_theme">ライト</string>
|
||||
@@ -64,11 +64,11 @@
|
||||
<string name="thumbnailDescription">サムネイル</string>
|
||||
<string name="selectBarcodeTitle">バーコード選択</string>
|
||||
<string name="app_libraries">Libre third-party libraries: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="about_title_fmt">About <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">バージョン: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="about_title_fmt"><xliff:g id="app_name">%s</xliff:g> について</string>
|
||||
<string name="app_license">Copylefted libre software, licensed GPLv3+</string>
|
||||
<string name="app_resources">Libre third-party resources: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="about">Catimaについて</string>
|
||||
<string name="about">このアプリについて</string>
|
||||
<string name="importOptionApplicationButton">外部のアプリを使う</string>
|
||||
<string name="importOptionApplicationExplanation">任意のアプリやお気に入りのファイルマネージャーからファイルを開く。</string>
|
||||
<string name="importOptionApplicationTitle">外部アプリを使う</string>
|
||||
@@ -130,8 +130,8 @@
|
||||
<string name="takePhoto">写真を撮影する</string>
|
||||
<string name="removeImage">画像を削除</string>
|
||||
<string name="setBackImage">裏面の画像を設定</string>
|
||||
<string name="setFrontImage">オモテ面の画像を設定</string>
|
||||
<string name="photos">フォト</string>
|
||||
<string name="setFrontImage">表面の画像を設定</string>
|
||||
<string name="photos">画像</string>
|
||||
<string name="backImageDescription">裏</string>
|
||||
<string name="frontImageDescription">表</string>
|
||||
<string name="importStocardMessage">Stocardでエクスポートした<i>***.zip</i>ファイルを選択してください。
|
||||
@@ -175,12 +175,12 @@
|
||||
<string name="exportPasswordHint">パスワードを入力してください</string>
|
||||
<string name="version_history">更新履歴</string>
|
||||
<string name="credits">貢献者</string>
|
||||
<string name="help_translate_this_app">このアプリの翻訳を手伝う</string>
|
||||
<string name="help_translate_this_app">翻訳を手伝う</string>
|
||||
<string name="license">ライセンス</string>
|
||||
<string name="on_google_play">Google Play</string>
|
||||
<string name="report_error">エラーを報告する</string>
|
||||
<string name="report_error">問題を報告する</string>
|
||||
<string name="reverse">逆順</string>
|
||||
<string name="and_data_usage">and data usage</string>
|
||||
<string name="and_data_usage">データの扱いなど</string>
|
||||
<string name="group_updated">グループを更新しました</string>
|
||||
<string name="editGroup">グループ編集: <xliff:g>%s</xliff:g></string>
|
||||
<string name="selectColor">色を選択</string>
|
||||
@@ -189,7 +189,7 @@
|
||||
<string name="group_name_already_in_use">このグループ名は既に使用されています</string>
|
||||
<string name="group_name_is_empty">空欄にすることはできません</string>
|
||||
<string name="shortcutSelectCard">カードを選択してください</string>
|
||||
<string name="translate_platform">on Weblate</string>
|
||||
<string name="translate_platform">Weblate</string>
|
||||
<string name="options">オプション</string>
|
||||
<string name="show_note">メモを表示</string>
|
||||
<string name="validFromDate">有効期限</string>
|
||||
@@ -207,4 +207,31 @@
|
||||
<string name="settings_portrait_orientation">縦</string>
|
||||
<string name="noGiftCardsGroup">いくつかのカードを作って、それらをこのグループにアサインします。</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">バーコードをスキャンするためには、Catimaはカメラへのアクセスを必要とします。ここをタップして権限設定の変更をお願いします。</string>
|
||||
<string name="importCards">カードをインポート</string>
|
||||
<string name="show_balance">残高を表示</string>
|
||||
<string name="show_validity">有効期限を表示</string>
|
||||
<string name="donate">寄付する</string>
|
||||
<string name="duplicateCard">複製</string>
|
||||
<string name="unarchived">アーカイブを解除しました</string>
|
||||
<string name="welcome">Catimaへようこそ</string>
|
||||
<string name="show_name_below_image_thumbnail">画像サムネイルの下に名前を表示</string>
|
||||
<string name="settings_keep_screen_on_summary">画面の自動消灯を無効化します</string>
|
||||
<string name="settings_category_title_cards">カード</string>
|
||||
<string name="settings_category_title_general">一般</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">画面のロックを無効化します</string>
|
||||
<string name="action_display_options">表示の設定</string>
|
||||
<string name="unarchive">アーカイブ解除</string>
|
||||
<string name="archive">アーカイブ</string>
|
||||
<string name="archived">アーカイブしました</string>
|
||||
<string name="show_archived_cards">アーカイブしたカードを表示</string>
|
||||
<string name="addFromPdfFile">PDFファイルを選択</string>
|
||||
<string name="addWithoutBarcode">バーコードを登録せずにカードを追加</string>
|
||||
<string name="failedToOpenUrl">ブラウザーをインストールしてください</string>
|
||||
<string name="previousCard">前へ</string>
|
||||
<string name="nextCard">次へ</string>
|
||||
<string name="settings_lock_on_opening_orientation">カードを開いた時の向きに固定</string>
|
||||
<string name="settings_oled_dark">ダークテーマで黒い背景を使用する</string>
|
||||
<string name="settings_oled_dark_summary">有機ELディスプレイでの電池の使用量を削減します</string>
|
||||
<string name="action_more_options">オプション</string>
|
||||
<string name="add_a_card_in_a_different_way">別の方法でカードを追加</string>
|
||||
</resources>
|
||||
@@ -278,4 +278,14 @@
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="add_manually_warning_title">스캔을 권장합니다</string>
|
||||
<string name="settings_follow_sensor_orientation">항상 회전 (시스템 설정 무시)</string>
|
||||
<string name="continue_">계속</string>
|
||||
<string name="addFromPdfFile">PDF 파일 선택</string>
|
||||
<string name="errorReadingFile">파일을 읽을 수 없습니다</string>
|
||||
<string name="failedLaunchingFileManager">지원되는 파일 관리자를 찾을 수 없습니다</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">검색된 바코드 중 어떤 바코드를 사용하시겠습니까?</string>
|
||||
<string name="pageWithNumber">페이지 <xliff:g>%d</xliff:g></string>
|
||||
<string name="spend">보내기</string>
|
||||
<string name="receive">받기</string>
|
||||
<string name="amountParsingFailed">잘못된 금액</string>
|
||||
<string name="add_manually_warning_message">일부 매장의 경우 바코드 값이 카드에 적힌 숫자와 다릅니다. 이 때문에 수동으로 바코드를 입력하는 것이 항상 작동하지 않을 수 있습니다. 대신 카메라로 바코드를 스캔하는 것이 좋습니다. 계속하시겠습니까?</string>
|
||||
</resources>
|
||||
@@ -260,7 +260,7 @@
|
||||
<string name="setBarcodeHeight">Sett strekkodehøyde</string>
|
||||
<string name="donate">Doner</string>
|
||||
<string name="permissionReadCardsLabel">Les Catima-kort</string>
|
||||
<string name="permissionReadCardsDescription">Les kortene dine og detaljene om dem, inkludert notater og bilder</string>
|
||||
<string name="permissionReadCardsDescription">Les Catima-kortene dine og detaljene om dem, inkludert notater og bilder</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Programmer vil fremdeles måtte forespørre tilgang for å få det innvilget</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Nødvendig for noen skannere</string>
|
||||
<string name="settings_keep_screen_on_summary">Skrur av skjermtidsavbrudd under visning av et kort</string>
|
||||
@@ -290,4 +290,10 @@
|
||||
<string name="receive">Inntekt</string>
|
||||
<string name="settings_follow_sensor_orientation">Alltid roter (ignorerer systeminnstilling)</string>
|
||||
<string name="add_manually_warning_message">I noen butikker er strekkoden forskjellig fra nummeret på kortet. Som følge av dette kan det hende at å skrive inn strekkoden ikke virker. Det anbefales å skanne strekkoden med kameraet istedenfor. Fortsett?</string>
|
||||
<string name="pageWithNumber">Side <xliff:g>%d</xliff:g></string>
|
||||
<string name="addFromPdfFile">Velg en PDF-fil</string>
|
||||
<string name="errorReadingFile">Kunne ikke lese filen</string>
|
||||
<string name="failedLaunchingFileManager">Fant ikke støttet filbehandler</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Hvilken av de oppdagede strekkodene vil du bruke?</string>
|
||||
<string name="noCameraFoundGuideText">Finner ikke kamera på enheten din. Hvis dette ikke stemmer kan du prøve en omstart av den. Ellers kan du legge til strekkoder med «Mer»-knappen nedenfor.</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,10 @@
|
||||
<string name="spend">Geef uit</string>
|
||||
<string name="receive">Ontvang</string>
|
||||
<string name="amountParsingFailed">Ongeldig bedrag</string>
|
||||
<string name="addFromPdfFile">Kies een pdf-bestand</string>
|
||||
<string name="errorReadingFile">Lezen bestand mislukt</string>
|
||||
<string name="failedLaunchingFileManager">Geen ondersteunde bestandsbeheerder aangetroffen</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Welke van de gevonden barcodes wil je gebruiken?</string>
|
||||
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Uw apparaat lijkt niet over een camera te beschikken. Als het dat wel doet, probeer uw apparaat dan opnieuw op te starten. Anders gebruikt u de knop \"Meer opties\" beneden om handmatig een streepjescode in te voeren.</string>
|
||||
</resources>
|
||||
@@ -248,7 +248,7 @@
|
||||
</plurals>
|
||||
<string name="currentBalanceSentence">Bieżące saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">By zeskanować kody kreskowe, Catima musi mieć dostęp do twojej kamery. Dotknij tutaj by zmienić swoje ustawienia dostępu.</string>
|
||||
<string name="updateBalanceTitle">Ile wydałeś?</string>
|
||||
<string name="updateBalanceTitle">Ile wydałeś lub otrzymałeś?</string>
|
||||
<string name="updateBalanceHint">Wpisz sumę</string>
|
||||
<string name="updateBalance">Zaktualizuj balans</string>
|
||||
<string name="cameraPermissionDeniedTitle">Odmówiono dostępu do kamery</string>
|
||||
@@ -298,4 +298,16 @@
|
||||
<string name="field_must_not_be_empty">Pole nie może być puste</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Zawsze obracaj (ignoruje ustawienia systemowe)</string>
|
||||
<string name="continue_">Kontynuuj</string>
|
||||
<string name="addFromPdfFile">Wybierz plik PDF</string>
|
||||
<string name="errorReadingFile">Nie można odczytać pliku</string>
|
||||
<string name="pageWithNumber">Strona <xliff:g>%d</xliff:g></string>
|
||||
<string name="spend">Wydaj</string>
|
||||
<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="multipleBarcodesFoundPleaseChooseOne">Którego ze znalezionych kodów kreskowych chciałbyś użyć?</string>
|
||||
<string name="add_manually_warning_message">W przypadku niektórych sklepów wartość kodu kreskowego różni się od liczby zapisanej na karcie. Z tego powodu ręczne wprowadzanie kodu kreskowego może nie zawsze działać. Zdecydowanie zaleca się zeskanowanie kodu kreskowego za pomocą aparatu. Czy nadal chcesz kontynuować?</string>
|
||||
<string name="noCameraFoundGuideText">Nie wykryto kamery. Jeśli twoje urządzenie posiada kamerę, spróbuj uruchomić je ponownie. W innym wypadku wybierz Więcej opcji i dodaj kartę w inny sposób.</string>
|
||||
</resources>
|
||||
306
app/src/main/res/values-pt-rBR/strings.xml
Normal file
@@ -0,0 +1,306 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="action_search">Pesquisar</string>
|
||||
<string name="action_add">Adicionar</string>
|
||||
<string name="noGiftCards">Clique no botão \"+\" para adicionar um cartão ou importar a partir do menu \"⋮\".</string>
|
||||
<string name="noGiftCardsGroup">Crie alguns cartões e, em seguida, atribua-os ao grupo aqui.</string>
|
||||
<string name="noMatchingGiftCards">Nenhum resultado. Tente alterar sua pesquisa.</string>
|
||||
<string name="storeName">Nome</string>
|
||||
<string name="note">Nota</string>
|
||||
<string name="cardId">ID do cartão</string>
|
||||
<string name="barcodeType">Tipo de código de barras</string>
|
||||
<string name="noBarcode">Nenhum código de barras</string>
|
||||
<string name="star">Adicionar aos favoritos</string>
|
||||
<string name="unstar">Remover dos favoritos</string>
|
||||
<string name="cancel">Cancelar</string>
|
||||
<string name="save">Salvar</string>
|
||||
<string name="edit">Editar</string>
|
||||
<string name="delete">Excluir</string>
|
||||
<string name="confirm">Confirmar</string>
|
||||
<string name="deleteTitle">Excluir cartão</string>
|
||||
<string name="share">Compartilhar</string>
|
||||
<string name="importExport">Importar/Exportar</string>
|
||||
<string name="exportSuccessfulTitle">Exportado</string>
|
||||
<string name="importing">Importando…</string>
|
||||
<string name="exporting">Exportando…</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Para ler códigos de barras, Catima precisará de acesso à sua câmera. Toque aqui para alterar suas configurações de permissão.</string>
|
||||
<string name="importOptionFilesystemTitle">Importar dos seus arquivos</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> selecionado</item>
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> selecionados</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> selecionados</item>
|
||||
</plurals>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">Excluir <xliff:g>%d</xliff:g> cartão</item>
|
||||
<item quantity="many">Excluir <xliff:g>%d</xliff:g> cartões</item>
|
||||
<item quantity="other">Excluir <xliff:g>%d</xliff:g> cartões</item>
|
||||
</plurals>
|
||||
<string name="deleteConfirmation">Excluir esse cartão permanentemente?</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Excluir <xliff:g>%d</xliff:g> cartão permanentemente?</item>
|
||||
<item quantity="many">Excluir <xliff:g>%d</xliff:g> cartões permanentemente?</item>
|
||||
<item quantity="other">Excluir <xliff:g>%d</xliff:g> cartões permanentemente?</item>
|
||||
</plurals>
|
||||
<string name="ok">OK</string>
|
||||
<string name="sendLabel">Enviar…</string>
|
||||
<string name="editCardTitle">Editar cartão</string>
|
||||
<string name="addCardTitle">Adicionar cartão</string>
|
||||
<string name="scanCardBarcode">Ler código de barras</string>
|
||||
<string name="cardShortcut">Atalho de cartões</string>
|
||||
<string name="noCardsMessage">Adicione um cartão primeiro</string>
|
||||
<string name="barcodeImageDescriptionWithType">Imagem <xliff:g>%s</xliff:g> do código de barras</string>
|
||||
<string name="noCardExistsError">Não foi possível encontrar esse cartão</string>
|
||||
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
|
||||
<string name="exportName">Exportar</string>
|
||||
<string name="importExportHelp">Fazer backup de seus dados permite movê-los para outro dispositivo.</string>
|
||||
<string name="importSuccessfulTitle">Importado</string>
|
||||
<string name="importFailedTitle">Falha na importação</string>
|
||||
<string name="importFailed">Não foi possível importar</string>
|
||||
<string name="exportFailedTitle">Falha na exportação</string>
|
||||
<string name="exportFailed">Não foi possível exportar</string>
|
||||
<string name="storageReadPermissionRequired">Permissão para ler o armazenamento é necessário para esta ação…</string>
|
||||
<string name="cameraPermissionRequired">Permissão para acessar a câmera é necessária para esta ação…</string>
|
||||
<string name="permissionReadCardsLabel">Ler cartões Catima</string>
|
||||
<string name="permissionReadCardsDescription">ler seus cartões Catima e todos os seus detalhes, incluindo notas e imagens</string>
|
||||
<string name="cameraPermissionDeniedTitle">Não foi possível acessar a câmera</string>
|
||||
<string name="exportOptionExplanation">Os dados serão gravados em um local de sua escolha.</string>
|
||||
<string name="importOptionFilesystemExplanation">Escolha um arquivo específico nos seus arquivos.</string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> ponto</item>
|
||||
<item quantity="many"><xliff:g>%s</xliff:g> pontos</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> pontos</item>
|
||||
</plurals>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> cartão</item>
|
||||
<item quantity="many"><xliff:g>%d</xliff:g> cartões</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> cartões</item>
|
||||
</plurals>
|
||||
<string name="noCameraFoundGuideText">Seu dispositivo parece não ter uma câmera. Se tiver, tente reiniciar o dispositivo. Caso contrário, tente usar o botão \"Mais opções\" abaixo para adicionar um código de barras manualmente.</string>
|
||||
<string name="settings_follow_system_orientation">Padrão do sistema</string>
|
||||
<string name="settings_lock_on_opening_orientation">Bloquear para orientação usada ao abrir o cartão</string>
|
||||
<string name="importCatimaMessage">Selecionar arquivo <i>catima.zip</i>, exportado do Catima, para importação.
|
||||
\nPrimeiro, crie-o pelo menu Importar/Exportar em outro aplicativo Catima clicando em Exportar.</string>
|
||||
<string name="importLoyaltyCardKeychain">Importar do Loyalty Card Keychain</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Selecionar arquivo <i>LoyaltyCardKeychain.csv</i>, exportado do Loyalty Card Keychain, para importação.
|
||||
\nPrimeiro, crie-o pelo menu Importar/Exportar no Loyalty Card Keychain clicando em Exportar.</string>
|
||||
<string name="setBarcodeId">Definir valor do código de barras</string>
|
||||
<string name="importStocard">Importar de Stocard</string>
|
||||
<string name="importVoucherVault">Importar de Cofre de Vouchers</string>
|
||||
<string name="barcodeId">Valor no código de barras</string>
|
||||
<string name="sameAsCardId">Igual ao ID</string>
|
||||
<string name="photos">Fotos</string>
|
||||
<string name="unsupportedBarcodeType">Este tipo de código de barras não pode ser exibido. É possível que seja trazido em uma versão futura do aplicativo.</string>
|
||||
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Quero compartilhar alguns cartões com você</string>
|
||||
<string name="backImageDescription">Imagem traseira</string>
|
||||
<string name="frontImageDescription">Imagem frontal</string>
|
||||
<string name="setFrontImage">Definir imagem frontal</string>
|
||||
<string name="setBackImage">Definir imagem traseira</string>
|
||||
<string name="removeImage">Remover imagem</string>
|
||||
<string name="takePhoto">Tirar uma photo</string>
|
||||
<string name="updateBarcodeQuestionTitle">Atualizar valor do código de barras?</string>
|
||||
<string name="exportPasswordHint">Insira sua senha</string>
|
||||
<string name="passwordRequired">Por favor, insira a senha</string>
|
||||
<string name="exportPassword">Defina uma senha para proteger o arquivo exportado (opcional)</string>
|
||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||
<string name="add_manually_warning_message">Em algumas lojas, o valor do código de barras é diferente do número escrito no cartão. Por esse motivo, inserir um código de barras manualmente pode nem sempre funcionar. É altamente recomendável digitalizar o código de barras com a câmera. Você ainda deseja continuar?</string>
|
||||
<string name="importOptionApplicationTitle">Usar outro aplicativo</string>
|
||||
<string name="importOptionApplicationExplanation">Use qualquer aplicativo ou o seu gerenciador de arquivos favorito para abrir um arquivo.</string>
|
||||
<string name="importOptionApplicationButton">Usar outro aplicativo</string>
|
||||
<string name="about">Sobre</string>
|
||||
<string name="about_title_fmt">Sobre <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Versão: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="selectBarcodeTitle">Selecionar código de barras</string>
|
||||
<string name="settings">Configurações</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os e contribuidores</string>
|
||||
<string name="app_copyright_short">Copyright © Sylvia van Os e contribuidores</string>
|
||||
<string name="app_copyright_old">Baseado no Loyalty Card Keychain
|
||||
\ncopyright © 2016–2020 Branden Archert</string>
|
||||
<string name="importOptionFilesystemButton">A partir do Sistema de Arquivos</string>
|
||||
<string name="thumbnailDescription">Miniatura</string>
|
||||
<string name="starImage">Item favorito</string>
|
||||
<string name="app_libraries">Bibliotecas open source de terceiros : <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Recursos open source de terceiros: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="updateBarcodeQuestionText">Você mudou o ID. Também quer atualizar o código de barras para usar o mesmo valor?</string>
|
||||
<string name="yes">Sim</string>
|
||||
<string name="no">Não</string>
|
||||
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL compartilhável. Por favor, reporte isto.</string>
|
||||
<string name="turn_flashlight_on">Ligar lanterna</string>
|
||||
<string name="turn_flashlight_off">Desligar lanterna</string>
|
||||
<string name="settings_locale">Idioma</string>
|
||||
<string name="settings_oled_dark_summary">Reduz o uso da bateria em telas OLED</string>
|
||||
<string name="settings_system_locale">Sistema</string>
|
||||
<string name="settings_oled_dark">Preto puro como cor de fundo para o tema escuro</string>
|
||||
<string name="settings_pink_theme">Rosa</string>
|
||||
<string name="settings_magenta_theme">Magenta</string>
|
||||
<string name="settings_blue_theme">Azul</string>
|
||||
<string name="settings_sky_blue_theme">Azul celeste</string>
|
||||
<string name="settings_green_theme">Verde</string>
|
||||
<string name="settings_grey_theme">Cinza</string>
|
||||
<string name="settings_brown_theme">Marrom</string>
|
||||
<string name="app_contributors">Só foi possível graças a: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="sort">Ordenar</string>
|
||||
<string name="showMoreInfo">Mostrar informações</string>
|
||||
<string name="updateBalance">Atualizar saldo</string>
|
||||
<string name="failedToRetrieveImageFile">Falha ao recuperar o arquivo de imagem</string>
|
||||
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na galeria</string>
|
||||
<string name="sort_by_most_recently_used">Usado mais recentemente</string>
|
||||
<string name="reverse">...em ordem inversa</string>
|
||||
<string name="sort_by">Ordenar por</string>
|
||||
<string name="version_history">Histórico de Atualização</string>
|
||||
<string name="and_data_usage">e uso de dados</string>
|
||||
<string name="rate_this_app">Avalie este aplicativo</string>
|
||||
<string name="on_google_play">na Google Play</string>
|
||||
<string name="report_error">Informar erro</string>
|
||||
<string name="setIcon">Definir miniatura</string>
|
||||
<string name="options">Opções</string>
|
||||
<string name="starred">Favoritos</string>
|
||||
<string name="duplicateCard">Duplicar</string>
|
||||
<string name="archived">Cartão arquivado</string>
|
||||
<string name="unarchived">Cartão desarquivado</string>
|
||||
<string name="failedLaunchingPhotoPicker">Não foi possível encontrar um aplicativo de galeria compatível</string>
|
||||
<string name="failedToOpenUrl">Instale um navegador primeiro</string>
|
||||
<string name="welcome">Bem-vindo(a) ao Catima</string>
|
||||
<string name="importCards">Importar cartões</string>
|
||||
<plurals name="viewArchivedCardsWithCount">
|
||||
<item quantity="one">Ver arquivamento (<xliff:g>%1$d</xliff:g> cartão)</item>
|
||||
<item quantity="many">Ver arquivamento (<xliff:g>%1$d</xliff:g> cartões)</item>
|
||||
<item quantity="other">Ver arquivamento (<xliff:g>%1$d</xliff:g> cartões)</item>
|
||||
</plurals>
|
||||
<string name="height">Altura:</string>
|
||||
<string name="switchToBarcode">Mudar para código de barras</string>
|
||||
<string name="switchToFrontImage">Mudar para imagem frontal</string>
|
||||
<string name="switchToBackImage">Mudar para imagem traseira</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imagem frontal no aplicativo da galeria</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imagem traseira no aplicativo da galeria</string>
|
||||
<string name="setBarcodeHeight">Definir altura do código de barras</string>
|
||||
<string name="donate">Doar</string>
|
||||
<string name="icon_header_click_text">Pressione e segure para editar a miniatura</string>
|
||||
<string name="show_name_below_image_thumbnail">Mostrar nome abaixo da miniatura</string>
|
||||
<string name="show_note">Mostrar nota</string>
|
||||
<string name="show_balance">Mostrar saldo</string>
|
||||
<string name="show_validity">Mostrar validade</string>
|
||||
<string name="action_more_options">Mais opções</string>
|
||||
<string name="addWithoutBarcode">Adicionar cartão sem código de barras</string>
|
||||
<string name="card_id_must_not_be_empty">O ID do cartão não pode estar vazio</string>
|
||||
<string name="add_a_card_in_a_different_way">Adicionar cartão de outra forma</string>
|
||||
<string name="field_must_not_be_empty">O campo não pode estar vazio</string>
|
||||
<string name="spend">Gastar</string>
|
||||
<string name="receive">Receber</string>
|
||||
<string name="amountParsingFailed">Quantidade inválida</string>
|
||||
<string name="addFromPdfFile">Selecionar arquivo PDF</string>
|
||||
<string name="settings_theme_color">Cor do tema</string>
|
||||
<string name="settings_catima_theme">Catima</string>
|
||||
<string name="selectColor">Selecionar cor</string>
|
||||
<string name="settings_violet_theme">Violeta</string>
|
||||
<string name="sort_by_name">Nome</string>
|
||||
<string name="sort_by_expiry">Expiração</string>
|
||||
<string name="credits">Créditos</string>
|
||||
<string name="license">Licença</string>
|
||||
<string name="source_repository">Repositório de Origem</string>
|
||||
<string name="on_github">no GitHub</string>
|
||||
<string name="translate_platform">no Weblate</string>
|
||||
<string name="help_translate_this_app">Ajude a traduzir este aplicativo</string>
|
||||
<string name="shortcutSelectCard">Selecione um cartão</string>
|
||||
<string name="include_if_asking_support">Se você gostaria de solicitar suporte, inclua as seguintes informações:</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> cartão (<xliff:g id="archivedCount">%2$d</xliff:g> arquivado)</item>
|
||||
<item quantity="many"><xliff:g>%1$d</xliff:g> cartões (<xliff:g id="archivedCount">%2$d</xliff:g> arquivados)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> cartões (<xliff:g id="archivedCount">%2$d</xliff:g> arquivados)</item>
|
||||
</plurals>
|
||||
<string name="archive">Arquivar</string>
|
||||
<string name="unarchive">Desarquivar</string>
|
||||
<string name="previousCard">Anterior</string>
|
||||
<string name="nextCard">Próximo</string>
|
||||
<string name="updateBalanceTitle">Quanto você gastou ou recebeu?</string>
|
||||
<string name="currentBalanceSentence">Saldo atual: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">Novo saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="settings_category_title_cards">Cartões</string>
|
||||
<string name="updateBalanceHint">Inserir quantidade</string>
|
||||
<string name="anyDate">Qualquer data</string>
|
||||
<string name="settings_category_title_general">Geral</string>
|
||||
<string name="settings_category_title_privacy">Privacidade</string>
|
||||
<string name="action_display_options">Configurações de exibição</string>
|
||||
<string name="show_archived_cards">Mostrar cartões arquivados</string>
|
||||
<string name="add_manually_warning_title">A digitalização é recomendada</string>
|
||||
<string name="continue_">Continuar</string>
|
||||
<string name="errorReadingFile">Não foi possível fazer a leitura do arquivo</string>
|
||||
<string name="failedLaunchingFileManager">Não foi possível encontrar um gerenciador de arquivos compatível</string>
|
||||
<string name="pageWithNumber">Página <xliff:g>%d</xliff:g></string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Qual dos códigos de barras encontrados você quer usar?</string>
|
||||
<string name="settings_display_barcode_max_brightness">Clarear visão do código de barras</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Necessário para alguns scanners funcionarem</string>
|
||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="balance">Saldo</string>
|
||||
<string name="settings_follow_sensor_orientation">Sempre girar (ignora as configurações do sistema)</string>
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="settings_light_theme">Claro</string>
|
||||
<string name="settings_system_theme">Sistema</string>
|
||||
<string name="settings_dark_theme">Escuro</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo da tela</string>
|
||||
<string name="settings_card_orientation">Orientação do código de barras</string>
|
||||
<string name="settings_portrait_orientation">Retrato</string>
|
||||
<string name="settings_landscape_orientation">Paisagem</string>
|
||||
<string name="settings_keep_screen_on_summary">Desativa o tempo limite de tela enquanto estiver vendo um cartão</string>
|
||||
<string name="importSuccessful">Dados importados</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Desativa bloqueio de tela enquanto estiver vendo um cartão</string>
|
||||
<string name="intent_import_card_from_url_share_text">Eu quero compartilhar um cartão com você</string>
|
||||
<string name="settings_keep_screen_on">Manter tela ligada</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Previnir bloqueio de tela</string>
|
||||
<string name="settings_allow_content_provider_read_title">Permitir que outros aplicativos acessem meus dados</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Aplicativos ainda precisarão pedir permissão para ter acesso concedido</string>
|
||||
<string name="group_edit">Editar grupo</string>
|
||||
<string name="exportSuccessful">Dados exportados</string>
|
||||
<string name="noGroups">Clique no botão \"+\" para adicionar grupos a serem categorizados.</string>
|
||||
<string name="group_name_already_in_use">Nome do grupo já em uso</string>
|
||||
<string name="deleteConfirmationGroup">Excluir grupo?</string>
|
||||
<string name="failedOpeningFileManager">Instale um gerenciador de arquivos primeiro.</string>
|
||||
<string name="enter_group_name">Inserir nome do grupo</string>
|
||||
<string name="groups">Grupos</string>
|
||||
<string name="noGroupCards">Este grupo está vazio</string>
|
||||
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
|
||||
<string name="group_updated">Grupo atualizado</string>
|
||||
<string name="all">Todos</string>
|
||||
<string name="addManually">Insira o código de barras manualmente</string>
|
||||
<string name="chooseExpiryDate">Escolher data de expiração</string>
|
||||
<string name="moveUp">Mover para cima</string>
|
||||
<string name="never">Nunca</string>
|
||||
<string name="moveDown">Mover para baixo</string>
|
||||
<string name="leaveWithoutSaveTitle">Sair</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Sair sem salvar?</string>
|
||||
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Editando grupo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editBarcode">Editar código de barras</string>
|
||||
<string name="expiryDate">Data de expiração</string>
|
||||
<string name="noBarcodeFound">Nenhum código de barras foi encontrado</string>
|
||||
<string name="addFromImage">Selecionar uma imagem da galeria</string>
|
||||
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Expirado: <xliff:g>%s</xliff:g></string>
|
||||
<string name="card">Cartão</string>
|
||||
<string name="errorReadingImage">Não foi possível ler a imagem</string>
|
||||
<string name="points">Pontos</string>
|
||||
<string name="privacy_policy">Política de Privacidade</string>
|
||||
<string name="currency">Moeda</string>
|
||||
<string name="chooseImportType">Importar dados de</string>
|
||||
<string name="privacy_policy_popup_text">Declaração de Política de Privacidade
|
||||
\n
|
||||
\nNENHUM DADO É COLETADO, o que pode ser confimado por qualquer pessoa já que o nosso aplicativo é software livre.</string>
|
||||
<string name="importCatima">Importar do Catima</string>
|
||||
<string name="balanceParsingFailed">Saldo inválido</string>
|
||||
<string name="accept">Aceitar</string>
|
||||
<string name="importFidme">Importar de FidMe</string>
|
||||
<string name="importFidmeMessage">Selecione o arquivo <i>fidme-export-request-xxxxxx.zip</i>, exportado de FidMe, para importação e em seguida selecione o tipo de código de barras manualmente.
|
||||
\nCrie-o pelo seu perfil no FidMe escolhendo \'Proteção de Dados\' (Data Protection) e então clicando em \"Extrair meus dados\".</string>
|
||||
<string name="importStocardMessage">Selecionar arquivo <i>***.zip</i>, exportado de Stocard, para importação.
|
||||
\nObtenha-o enviando um e-mail para support@stocardapp.com solicitando exportação dos seus dados.</string>
|
||||
<string name="importVoucherVaultMessage">Selecionar arquivo<i>vouchervault.json</i>, exportado de Voucher Vault, para importação.
|
||||
\nPrimeiro, crie-o pressionando em Exportar no Voucher Vault.</string>
|
||||
<string name="enter_card_id">Insira o ID ou texto escrito no seu cartão</string>
|
||||
<string name="manually_enter_barcode_instructions">Insira o ID ou texto escrito no seu cartão e clique no código de barras que se parece com o do seu cartão.</string>
|
||||
<string name="app_license">Software livre com copyleft, licenciado sob a licença GPLv3+</string>
|
||||
<string name="validFromDate">Válido a partir de</string>
|
||||
<string name="chooseValidFromDate">Escolha uma data válida a partir de</string>
|
||||
<string name="validFromSentence">Válido a partir de: <xliff:g>%s</xliff:g></string>
|
||||
<string name="view_online">Ver online</string>
|
||||
</resources>
|
||||
@@ -123,7 +123,7 @@
|
||||
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editBarcode">Editar código de barras</string>
|
||||
<string name="expiryDate">Data de expiração</string>
|
||||
<string name="expiryDate">Data de validade</string>
|
||||
<string name="never">Nunca</string>
|
||||
<string name="chooseExpiryDate">Escolher validade</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo do ecrã</string>
|
||||
@@ -152,7 +152,7 @@
|
||||
<string name="unsupportedBarcodeType">Este tipo de código de barras ainda não pode ser mostrado. Pode vir a ser suportado numa versão posterior da aplicação.</string>
|
||||
<string name="setFrontImage">Definir imagem frontal</string>
|
||||
<string name="setBackImage">Definir imagem de trás</string>
|
||||
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL partilhável. Por favor reporte isto aos programadores.</string>
|
||||
<string name="failedGeneratingShareURL">Não foi possível gerar um URL partilhável. Por favor reporte isto aos programadores.</string>
|
||||
<string name="turn_flashlight_on">Ligar lanterna</string>
|
||||
<string name="turn_flashlight_off">Desligar lanterna</string>
|
||||
<string name="settings_locale">Idioma</string>
|
||||
@@ -167,7 +167,7 @@
|
||||
<string name="sort">Ordenar</string>
|
||||
<string name="sort_by_name">Nome</string>
|
||||
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
|
||||
<string name="sort_by_expiry">Expiração</string>
|
||||
<string name="sort_by_expiry">Validade</string>
|
||||
<string name="reverse">…na ordem inversa</string>
|
||||
<string name="sort_by">Ordenar por</string>
|
||||
<string name="version_history">Histórico de versões</string>
|
||||
@@ -203,7 +203,7 @@
|
||||
<string name="shortcutSelectCard">Selecione um cartão</string>
|
||||
<string name="translate_platform">no Weblate</string>
|
||||
<string name="starred">Estrela</string>
|
||||
<string name="showMoreInfo">Mostrar info</string>
|
||||
<string name="showMoreInfo">Mostrar informação</string>
|
||||
<string name="options">Opções</string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> ponto</item>
|
||||
@@ -230,7 +230,7 @@
|
||||
<string name="failedLaunchingPhotoPicker">Não foi encontrada nenhuma aplicação de galeria de imagens</string>
|
||||
<string name="nextCard">Próximo</string>
|
||||
<string name="previousCard">Anterior</string>
|
||||
<string name="failedToOpenUrl">Instale primeiro um navegador da Internet</string>
|
||||
<string name="failedToOpenUrl">Instale primeiro um navegador de Internet</string>
|
||||
<plurals name="viewArchivedCardsWithCount">
|
||||
<item quantity="one">Ver arquivo (<xliff:g>%1$d</xliff:g> cartão)</item>
|
||||
<item quantity="many">Ver arquivo (<xliff:g>%1$d</xliff:g> cartões)</item>
|
||||
@@ -238,7 +238,7 @@
|
||||
</plurals>
|
||||
<string name="welcome">Bem-vindo ao Catima</string>
|
||||
<string name="failedToRetrieveImageFile">Falha ao recuperar o ficheiro de imagem</string>
|
||||
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na aplicação de galeria</string>
|
||||
<string name="barcodeLongPressMessage">Só podem ser abertas imagens na aplicação da galeria</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Para digitalizar código de barras, o Catima tem de aceder à câmara. Clique aqui para mudar as configurações de permissão.</string>
|
||||
<string name="cameraPermissionDeniedTitle">Não foi possível aceder à câmara</string>
|
||||
<string name="importCards">Importar cartões</string>
|
||||
@@ -272,29 +272,35 @@
|
||||
<string name="settings_keep_screen_on_summary">Desativa o tempo limite da tela ao visualizar um cartão</string>
|
||||
<string name="settings_allow_content_provider_read_title">Permitir que outros aplicativos acessem meus dados</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Os aplicativos ainda terão que solicitar permissão para receber acesso</string>
|
||||
<string name="settings_oled_dark_summary">Reduz o uso da bateria em telas OLED</string>
|
||||
<string name="settings_oled_dark_summary">Reduz a utilização da bateria em ecrãs OLED</string>
|
||||
<string name="icon_header_click_text">Pressione e segure para editar o icone</string>
|
||||
<string name="settings_category_title_cards">cartões</string>
|
||||
<string name="settings_category_title_general">geral</string>
|
||||
<string name="settings_category_title_cards">Cartões</string>
|
||||
<string name="settings_category_title_general">Geral</string>
|
||||
<string name="settings_category_title_privacy">Privacidade</string>
|
||||
<string name="card_id_must_not_be_empty">O ID do cartão não pode estar vazio</string>
|
||||
<string name="balanceParsingFailed">Saldo inválido</string>
|
||||
<string name="add_a_card_in_a_different_way">Adicione um cartão de uma forma diferente</string>
|
||||
<string name="view_online">Exibir online</string>
|
||||
<string name="view_online">Ver online</string>
|
||||
<string name="manually_enter_barcode_instructions">Digite o número ID ou o texto em seu cartão e pressione o código de barras que se parece com o que está em seu cartão.</string>
|
||||
<string name="action_more_options">Mais opções</string>
|
||||
<string name="enter_card_id">Digite o número ID ou o texto em seu cartão</string>
|
||||
<string name="action_display_options">Opções de exibição</string>
|
||||
<string name="action_display_options">Opções de visualização</string>
|
||||
<string name="addWithoutBarcode">Adicione um cartão sem código de barras</string>
|
||||
<string name="app_copyright_short">Copyright © Sylvia van Os e colaboradores</string>
|
||||
<string name="field_must_not_be_empty">O campo não pode estar vazio</string>
|
||||
<string name="show_archived_cards">Exibir cartões arquivados</string>
|
||||
<string name="show_archived_cards">Mostrar cartões arquivados</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="continue_">Continuar</string>
|
||||
<string name="add_manually_warning_title">Recomenda-se a digitalização</string>
|
||||
<string name="add_manually_warning_message">Em algumas lojas, o valor do código de barras é diferente do número escrito no cartão. Por este motivo, a introdução manual de um código de barras pode nem sempre funcionar. Recomenda-se vivamente que, em vez disso, digitalize o código de barras com a sua câmara. Ainda quer continuar?</string>
|
||||
<string name="spend">Gastar</string>
|
||||
<string name="receive">Receber</string>
|
||||
<string name="amountParsingFailed">Montante inválida</string>
|
||||
<string name="amountParsingFailed">Montante inválido</string>
|
||||
<string name="settings_follow_sensor_orientation">Rodar sempre (ignora as definições do sistema)</string>
|
||||
<string name="addFromPdfFile">Selecionar um ficheiro PDF</string>
|
||||
<string name="errorReadingFile">Não foi possível ler o ficheiro</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Qual dos códigos de barras encontrados pretende utilizar?</string>
|
||||
<string name="pageWithNumber">Página <xliff:g>%d</xliff:g></string>
|
||||
<string name="failedLaunchingFileManager">Não foi possível encontrar um gestor de ficheiros suportado</string>
|
||||
<string name="noCameraFoundGuideText">O seu dispositivo não parece ter uma câmara. Se tiver, tente reiniciar o dispositivo. Caso contrário, utilize o botão \"Mais opções\" abaixo para adicionar um código de barras de outra maneira.</string>
|
||||
</resources>
|
||||
@@ -24,10 +24,10 @@
|
||||
<string name="card">Cardul</string>
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="all">Toate</string>
|
||||
<string name="noCardsMessage">Adăugați mai întâi o carte</string>
|
||||
<string name="noCardsMessage">Adăugați mai întâi un card</string>
|
||||
<string name="noCardExistsError">Acel card nu a putut fi găsit</string>
|
||||
<string name="failedParsingImportUriError">Nu s-a putut analiza URI-ul de import</string>
|
||||
<string name="importExport">Importație/Export</string>
|
||||
<string name="importExport">Importă/Exportă</string>
|
||||
<string name="exportName">Exportați</string>
|
||||
<string name="importSuccessfulTitle">Importat</string>
|
||||
<string name="importFailedTitle">Importul a eșuat</string>
|
||||
@@ -297,4 +297,9 @@
|
||||
<string name="spend">Cheltuie</string>
|
||||
<string name="receive">Primește</string>
|
||||
<string name="amountParsingFailed">Sumă nevalidă</string>
|
||||
<string name="addFromPdfFile">Selectați un fișier PDF</string>
|
||||
<string name="errorReadingFile">Nu am putut citi fișierul</string>
|
||||
<string name="failedLaunchingFileManager">Nu s-a găsit un manager de fișiere suportat</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Pe care dintre codurile de bare găsite dorești să-l folosești?</string>
|
||||
<string name="pageWithNumber">Pagina <xliff:g>%d</xliff:g></string>
|
||||
</resources>
|
||||
@@ -304,4 +304,10 @@
|
||||
<string name="spend">Потрачено</string>
|
||||
<string name="receive">Получено</string>
|
||||
<string name="amountParsingFailed">Недопустимая сумма</string>
|
||||
<string name="addFromPdfFile">Выберите PDF-файл</string>
|
||||
<string name="errorReadingFile">Невозможно прочитать файл</string>
|
||||
<string name="pageWithNumber">Страница <xliff:g>%d</xliff:g></string>
|
||||
<string name="failedLaunchingFileManager">Не найден поддерживаемый файловый менеджер</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Какой из найденных штрих-кодов вы хотите использовать?</string>
|
||||
<string name="noCameraFoundGuideText">Похоже, ваше устройство не оснащено камерой. Если это не так, попробуйте перезагрузить устройство. В противном случае воспользуйтесь кнопкой \"Ещё\", чтобы добавить штри-хкод другим способом.</string>
|
||||
</resources>
|
||||
@@ -297,4 +297,9 @@
|
||||
<string name="amountParsingFailed">Neplatná hodnota</string>
|
||||
<string name="add_manually_warning_title">Skenovanie je odporúčané</string>
|
||||
<string name="add_manually_warning_message">V niektorých obchodoch nie je číslo na cenovke totožné s čiarovým kódom, preto je lepšie zoskenovať čiarový kód. Chcete napriek tomu pokračovať?</string>
|
||||
<string name="addFromPdfFile">Vyberte súbor PDF</string>
|
||||
<string name="errorReadingFile">Súbor sa nepodarilo prečítať</string>
|
||||
<string name="failedLaunchingFileManager">Nepodarilo sa nájsť podporovaného správcu súborov</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Ktorý z nájdených čiarových kódov chcete použiť?</string>
|
||||
<string name="pageWithNumber">Stránka <xliff:g>%d</xliff:g></string>
|
||||
</resources>
|
||||
@@ -290,4 +290,10 @@
|
||||
<string name="spend">Harca</string>
|
||||
<string name="receive">Al</string>
|
||||
<string name="amountParsingFailed">Geçersiz miktar</string>
|
||||
<string name="errorReadingFile">Dosya okunamadı</string>
|
||||
<string name="failedLaunchingFileManager">Desteklenen dosya yöneticisi bulunamadı</string>
|
||||
<string name="addFromPdfFile">PDF dosyası seç</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Bulunan barkodlardan hangisini kullanmak istiyorsunuz?</string>
|
||||
<string name="pageWithNumber">Sayfa <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Aygıtınızda kamera yok gibi görünüyor. Eğer varsa, aygıtı yeniden başlatmayı deneyin. Aksi takdirde, barkodu başka bir şekilde eklemek için aşağıdaki daha fazla seçenek düğmesini kullanın.</string>
|
||||
</resources>
|
||||
@@ -247,7 +247,7 @@
|
||||
<string name="failedToRetrieveImageFile">Збій доступу до файлу зображення</string>
|
||||
<string name="barcodeLongPressMessage">Галерея може відкривати лише зображення</string>
|
||||
<string name="importCards">Імпорт карток</string>
|
||||
<string name="updateBalanceTitle">Скільки витратили?</string>
|
||||
<string name="updateBalanceTitle">Скільки ви витратили або отримали?</string>
|
||||
<string name="updateBalanceHint">Введіть суму</string>
|
||||
<string name="currentBalanceSentence">Поточний баланс: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">Новий баланс: <xliff:g>%s</xliff:g></string>
|
||||
@@ -301,4 +301,13 @@
|
||||
<string name="add_manually_warning_message">У деяких магазинах значення штрихкоду відрізняється від номера, записаного на картці. Через це введення штрихкоду вручну може не завжди спрацювати. Наполегливо рекомендуємо відсканувати штрихкод за допомогою камери. Ви все ще хочете продовжити?</string>
|
||||
<string name="continue_">Продовжити</string>
|
||||
<string name="add_manually_warning_title">Рекомендується відсканувати</string>
|
||||
<string name="failedLaunchingFileManager">Не вдалося знайти підтримуваний файловий менеджер</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Який зі знайдених штрих-кодів ви хочете використати?</string>
|
||||
<string name="addFromPdfFile">Виберіть PDF файл</string>
|
||||
<string name="errorReadingFile">Не вдалося прочитати файл</string>
|
||||
<string name="pageWithNumber">Сторінка <xliff:g>%d</xliff:g></string>
|
||||
<string name="spend">Витратити</string>
|
||||
<string name="receive">Отримайте</string>
|
||||
<string name="amountParsingFailed">Неправильна сума</string>
|
||||
<string name="noCameraFoundGuideText">Ваш пристрій може не мати камери. перезавантажте пристрій, якщо це не так. В іншому випадку додайте штрих-код за допомогою кнопки \"Більше опцій\".</string>
|
||||
</resources>
|
||||
@@ -283,4 +283,10 @@
|
||||
<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="addFromPdfFile">Chọn tệp PDF</string>
|
||||
<string name="errorReadingFile">Không thể đọc tệp</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="noCameraFoundGuideText">Có vẻ như thiết bị của bạn không có camera. Nếu có, hãy thử khởi động lại thiết bị. Nếu không, hãy sử dụng nút Tùy chọn khác bên dưới để thêm mã vạch theo cách khác.</string>
|
||||
</resources>
|
||||
@@ -283,4 +283,10 @@
|
||||
<string name="receive">接收</string>
|
||||
<string name="amountParsingFailed">无效金额</string>
|
||||
<string name="spend">支出</string>
|
||||
<string name="errorReadingFile">无法读取文件</string>
|
||||
<string name="failedLaunchingFileManager">找不到支持的文件管理器</string>
|
||||
<string name="pageWithNumber">第 <xliff:g>%d</xliff:g> 页</string>
|
||||
<string name="addFromPdfFile">选择 PDF 文件</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">找到的多个条形码中,你希望使用哪个?</string>
|
||||
<string name="noCameraFoundGuideText">你的设备似乎没有相机。如果的确如此,请尝试重启设备。否则,使用下方的“更多”按钮以另一种方式添加条形码。</string>
|
||||
</resources>
|
||||
@@ -234,7 +234,7 @@
|
||||
<string name="cameraPermissionRequired">這個行動需要使用鏡頭的權限…</string>
|
||||
<string name="cameraPermissionDeniedTitle">不能使用鏡頭</string>
|
||||
<string name="updateBalance">更新餘額</string>
|
||||
<string name="updateBalanceTitle">你用了多少?</string>
|
||||
<string name="updateBalanceTitle">你花費或收到了多少錢?</string>
|
||||
<string name="updateBalanceHint">輸入金額</string>
|
||||
<string name="currentBalanceSentence">餘額:<xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">新的餘額:<xliff:g>%s</xliff:g></string>
|
||||
@@ -276,4 +276,16 @@
|
||||
<string name="settings_display_barcode_max_brightness_summary">一些條碼掃描器需要此設定方能運作</string>
|
||||
<string name="field_must_not_be_empty">欄位不能為空</string>
|
||||
<string name="settings_follow_sensor_orientation">始終旋轉(忽略系統設定)</string>
|
||||
<string name="add_manually_warning_title">建議掃描</string>
|
||||
<string name="failedLaunchingFileManager">找不到支援的檔案管理器</string>
|
||||
<string name="addFromPdfFile">選擇一個 PDF 檔案</string>
|
||||
<string name="errorReadingFile">無法讀取此檔案</string>
|
||||
<string name="receive">接收</string>
|
||||
<string name="amountParsingFailed">無效的數值</string>
|
||||
<string name="continue_">繼續</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">你想要使用哪個找到的條碼?</string>
|
||||
<string name="pageWithNumber">第 <xliff:g>%d</xliff:g> 頁</string>
|
||||
<string name="add_manually_warning_message">對於某些商店,條碼值與卡片上寫的數字並不相同。因此,手動輸入條碼可能並不總是有效。強烈建議使用相機掃描條碼。你還想繼續嗎?</string>
|
||||
<string name="spend">花費</string>
|
||||
<string name="noCameraFoundGuideText">您的裝置似乎沒有相機鏡頭。如果實際上有相機鏡頭,請嘗試重新啟動此裝置,否則請點選下方的「更多」按鈕,以其它方式新增條碼。</string>
|
||||
</resources>
|
||||
@@ -81,7 +81,9 @@
|
||||
<item>eo</item>
|
||||
<item>es</item>
|
||||
<item>es-rAR</item>
|
||||
<!-- <item>fa</item> -->
|
||||
<item>fi</item>
|
||||
<!-- <item>fil</item> -->
|
||||
<item>fr</item>
|
||||
<item>he-rIL</item>
|
||||
<item>hi</item>
|
||||
@@ -102,6 +104,7 @@
|
||||
<item>nl</item>
|
||||
<item>oc</item>
|
||||
<item>pl</item>
|
||||
<item>pt-rBR</item>
|
||||
<item>pt-rPT</item>
|
||||
<item>ro-rRO</item>
|
||||
<item>ru</item>
|
||||
|
||||
@@ -346,4 +346,5 @@
|
||||
<string name="failedLaunchingFileManager">Could not find a supported file manager</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Which of the found barcodes do you want to use?</string>
|
||||
<string name="pageWithNumber">Page <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Your device does not seem to have a camera. If it does, try rebooting the device. Otherwise, use the "More options" button below to add a barcode another way.</string>
|
||||
</resources>
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
<locale android:name="nl" />
|
||||
<locale android:name="oc" />
|
||||
<locale android:name="pl" />
|
||||
<locale android:name="pt-BR" />
|
||||
<locale android:name="pt-PT" />
|
||||
<locale android:name="ro-RO" />
|
||||
<locale android:name="ru" />
|
||||
|
||||
@@ -308,7 +308,7 @@ public class LoyaltyCardViewActivityTest {
|
||||
final String barcodeId, final String barcodeType,
|
||||
final Bitmap frontImage, final Bitmap backImage) {
|
||||
if (mode == ViewMode.VIEW_CARD) {
|
||||
checkFieldProperties(activity, R.id.card_id_view, View.VISIBLE, cardId, FieldTypeView.TextView);
|
||||
checkFieldProperties(activity, R.id.main_image_description, View.VISIBLE, cardId, FieldTypeView.TextView);
|
||||
} else {
|
||||
int editVisibility = View.VISIBLE;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
plugins {
|
||||
id("com.android.application") version "8.3.1" apply false
|
||||
id("com.android.application") version "8.5.0" apply false
|
||||
id("com.github.spotbugs") version "5.1.4" apply false
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ Copylefted libre software (GPLv3+) card management app.
|
||||
|
||||
[](https://github.com/TheLastProject/Catima/releases)
|
||||
[](https://apt.izzysoft.de/fdroid/index/apk/me.hackerchick.catima)
|
||||
[](https://f-droid.org/packages/me.hackerchick.catima/)
|
||||
[](https://play.google.com/store/apps/details?id=me.hackerchick.catima)
|
||||
|
||||

|
||||
@@ -14,8 +13,6 @@ Copylefted libre software (GPLv3+) card management app.
|
||||
|
||||
<a href="https://apt.izzysoft.de/fdroid/index/apk/me.hackerchick.catima" target="_blank">
|
||||
<img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="90"/></a>
|
||||
<a href="https://f-droid.org/repository/browse/?fdid=me.hackerchick.catima" target="_blank">
|
||||
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="90"/></a>
|
||||
|
||||
<a href="https://play.google.com/store/apps/details?id=me.hackerchick.catima" target="_blank">
|
||||
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="90"/></a>
|
||||
@@ -60,7 +57,7 @@ For FidMe you need to select the barcode type for each entry afterwards.
|
||||
|
||||
# Building
|
||||
|
||||
Building can either be done through Android Studio (not reproducible!) or the build.sh script in this repository (reproducibly with OpenJDK 17, same way F-Droid builds it). This script can also sign the build.
|
||||
Building can either be done through Android Studio (not reproducible!) or the build.sh script in this repository (reproducible with OpenJDK 17). This script can also sign the build.
|
||||
|
||||
Build without signing:
|
||||
```
|
||||
|
||||
1
fastlane/metadata/android/ar/changelogs/10.txt
Normal file
@@ -0,0 +1 @@
|
||||
- تم تغيير اسم ملف الاستيراد/التصدير الافتراضي. (سحب رقم 84 (https://github.com/brarcher/loyalty-card-locker/pull/84)) - السلسلة الصحيحة في صفحة الاستيراد/التصدير. (سحب رقم 87 (https://github.com/brarcher/loyalty-card-locker/pull/87)) - تحسين تخطيط صفحة عرض البطاقة. يجب أن يكون النص أسهل في القراءة، ويمكن تحديده بنقرة طويلة. (سحب رقم 91 (https://github.com/brarcher/loyalty-card-locker/pull/91))
|
||||
3
fastlane/metadata/android/ar/changelogs/101.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- إصلاح cropper لايمكنه استخدم لون السمة
|
||||
- إصلاح مشاكل السمات البسيطة
|
||||
- إضافة سمة سوداء خالصة داكنة لشاشات OLED
|
||||
2
fastlane/metadata/android/ar/changelogs/102.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- إصلاحات طفيفة مختلفة
|
||||
- إصلاح العطل عند استخدام الترجمة النرويجية
|
||||
2
fastlane/metadata/android/ar/changelogs/103.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- إصلاح عدم تطبيق الاختيار اليدوي للغة في كل مكان
|
||||
- إصلاح العطل في طريقة عرض التحرير على لغة بلا منطقة
|
||||
2
fastlane/metadata/android/ar/changelogs/104.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- حفظ حالة توسيع تفاصيل البطاقة
|
||||
- إصلاحات بسيطة لواجهة المستخدم
|
||||
2
fastlane/metadata/android/ar/changelogs/105.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- إصلاح ظهور الكتلة الرمادية على قيمة غير صالحة للباركود
|
||||
- إصلاحات استيراد Stocard
|
||||
1
fastlane/metadata/android/ar/changelogs/106.txt
Normal file
@@ -0,0 +1 @@
|
||||
- إصلاح بعض تسلسلات الأحرف التي تظهر كحرف واحد
|
||||
1
fastlane/metadata/android/ar/changelogs/107.txt
Normal file
@@ -0,0 +1 @@
|
||||
- إصلاحات استيراد Stocard
|
||||
3
fastlane/metadata/android/de-DE/changelogs/134.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Unterstützung für das Scannen von PDF-Dateien nach Barcodes
|
||||
- Unterstützung für Bilddateien mit mehreren Barcodes
|
||||
- Kleinere UI-Korrekturen
|
||||
1
fastlane/metadata/android/de-DE/changelogs/135.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Verschiedene Fehlerbehebungen und Verbesserungen bei der Handhabung der Balance
|
||||
4
fastlane/metadata/android/de-DE/changelogs/136.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Unterstützung für die Erstellung einer Karte beim Teilen von einfachem Text
|
||||
- Anzeige des Bildtyps anstelle des Barcodes unter Bildern
|
||||
- Behebung eines möglichen Absturzes beim Versuch, ein Backup aus der Nextcloud-App zu importieren
|
||||
- Verbesserte Unterstützung für Geräte ohne Kamera
|
||||
3
fastlane/metadata/android/en-US/changelogs/134.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Support for scanning PDF files for barcodes
|
||||
- Support for image files with multiple barcodes
|
||||
- Minor UI fixes
|
||||
1
fastlane/metadata/android/en-US/changelogs/135.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Various fixes and improvements to balance handling
|
||||
4
fastlane/metadata/android/en-US/changelogs/136.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Support for creating a card when sharing plain text
|
||||
- Display image type instead of barcode below images
|
||||
- Fix possible crash when trying to import a backup from the Nextcloud app
|
||||
- Improved support for devices without camera
|
||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 57 KiB |
@@ -2,3 +2,5 @@
|
||||
- Améliorations du flux de validation
|
||||
- Correction du cas de bord qui causait un état de l'interface invalide au basculement sur l'affichage de l'archive
|
||||
- Utilisation du thème ou de la couleur de carte pour la barre de navigation (Android 8.1+)
|
||||
- Mise à jour du sélecteur de date de validité et d'expiration
|
||||
- Ajout d'une option pour toujours pivoter (ignore les paramètres système)
|
||||
|
||||