mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2025-12-24 23:57:53 -05:00
Compare commits
126 Commits
1647
...
create-pul
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2abc8b8f64 | ||
|
|
160e61ead4 | ||
|
|
c2e8577674 | ||
|
|
66b8f35994 | ||
|
|
b141009350 | ||
|
|
0e8dd2fd64 | ||
|
|
988336cfec | ||
|
|
5e3668820b | ||
|
|
81c919448e | ||
|
|
23ca0802cb | ||
|
|
40c2337054 | ||
|
|
7db8b1602d | ||
|
|
32b35382a6 | ||
|
|
3ec6cbe416 | ||
|
|
90322f75ce | ||
|
|
534c4001c1 | ||
|
|
e21030aed3 | ||
|
|
d6d12174d5 | ||
|
|
27e78dbadd | ||
|
|
0d520b48e1 | ||
|
|
d7a49013ec | ||
|
|
fc974e2038 | ||
|
|
7144f60340 | ||
|
|
883af7fd10 | ||
|
|
fcb2be604c | ||
|
|
d24366a3ba | ||
|
|
a0aa19f26f | ||
|
|
589f009a65 | ||
|
|
e849fd379e | ||
|
|
e28c5e877b | ||
|
|
ae90b46c05 | ||
|
|
a8a1158b4b | ||
|
|
8789be5340 | ||
|
|
93af3dbc36 | ||
|
|
96c111f0c8 | ||
|
|
89dca33ce8 | ||
|
|
f9f1149bb5 | ||
|
|
cfd5fbe3ae | ||
|
|
028905df42 | ||
|
|
3dd74fd674 | ||
|
|
0af9549d02 | ||
|
|
a367d24125 | ||
|
|
dfa0c36af5 | ||
|
|
66fcad7658 | ||
|
|
370ec55df1 | ||
|
|
b03ead95ea | ||
|
|
90e6463688 | ||
|
|
80cfb516c0 | ||
|
|
989cf31897 | ||
|
|
caf9e163df | ||
|
|
8363115faf | ||
|
|
48cc286b14 | ||
|
|
07e7b56c9f | ||
|
|
4cac19acb9 | ||
|
|
ed1db31d62 | ||
|
|
2a2a711375 | ||
|
|
c96cef5298 | ||
|
|
8506c05081 | ||
|
|
9adc6d0704 | ||
|
|
ca62d542ef | ||
|
|
84c343e41f | ||
|
|
d12283e75d | ||
|
|
0297304751 | ||
|
|
966846c507 | ||
|
|
48de759eb0 | ||
|
|
4e23fb4195 | ||
|
|
1cfd04ba67 | ||
|
|
c6f1e0cffe | ||
|
|
027d153747 | ||
|
|
bd1376e6bf | ||
|
|
7fa8ae8697 | ||
|
|
0b01604c4e | ||
|
|
d37dca7e7d | ||
|
|
5eb2753168 | ||
|
|
502e2e5e21 | ||
|
|
bbb2c0d81f | ||
|
|
59e62c2805 | ||
|
|
15d9a16ead | ||
|
|
e99cba7fcb | ||
|
|
781b6ecc48 | ||
|
|
ec8536976f | ||
|
|
2f9101e9f2 | ||
|
|
0cc2fd44ac | ||
|
|
6db4cbab9b | ||
|
|
0b2111b6f0 | ||
|
|
b3f118ef15 | ||
|
|
db8a652e5b | ||
|
|
d7a4f81eba | ||
|
|
d0c0694662 | ||
|
|
0fdf79449c | ||
|
|
cbf8b2d5f0 | ||
|
|
e194cca5f1 | ||
|
|
5d450852e1 | ||
|
|
ce86811d7c | ||
|
|
9fb3b765e7 | ||
|
|
d02dac2c41 | ||
|
|
243536d0d1 | ||
|
|
b258ba8654 | ||
|
|
5ec87a7a3a | ||
|
|
c84692db35 | ||
|
|
efe2a720f4 | ||
|
|
8b876f51fc | ||
|
|
033de00ad4 | ||
|
|
81f0e769b8 | ||
|
|
dd14533c6c | ||
|
|
f7c50caeb1 | ||
|
|
b00aa74bfe | ||
|
|
944089536f | ||
|
|
266732f744 | ||
|
|
33ee23a0e1 | ||
|
|
b064851254 | ||
|
|
19782fdb9c | ||
|
|
eb7658c35a | ||
|
|
fff35d7a74 | ||
|
|
ed5506554a | ||
|
|
dac7e8cb46 | ||
|
|
5ad27b1b53 | ||
|
|
ca3c29f5e4 | ||
|
|
935ef20955 | ||
|
|
86ec70ee72 | ||
|
|
2303caf1be | ||
|
|
ee1e5c0d0e | ||
|
|
4bdb5a86ad | ||
|
|
92ac59a783 | ||
|
|
89ea86e795 | ||
|
|
ffe6236c2d |
4
.github/workflows/android.yml
vendored
4
.github/workflows/android.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- 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@v1
|
||||
- uses: gradle/wrapper-validation-action@v2
|
||||
- name: set up OpenJDK 17
|
||||
run: |
|
||||
sudo apt-get update
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
run: ./gradlew spotbugsRelease
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.0.0
|
||||
uses: actions/upload-artifact@v4.3.1
|
||||
with:
|
||||
name: test-results
|
||||
path: app/build/reports
|
||||
|
||||
2
.github/workflows/changelog-to-fastlane.yml
vendored
2
.github/workflows/changelog-to-fastlane.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
- name: Run converter script
|
||||
run: python .scripts/changelog_to_fastlane.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5.0.2
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
title: "Update Fastlane changelogs"
|
||||
commit-message: "Update Fastlane changelogs"
|
||||
|
||||
5
.github/workflows/contributors-to-file.yml
vendored
5
.github/workflows/contributors-to-file.yml
vendored
@@ -28,11 +28,12 @@ jobs:
|
||||
uses: actions/checkout@v4.1.1
|
||||
- name: Update contributors
|
||||
id: update_contributors
|
||||
uses: TheLastProject/contributors-to-file-action@v3.0.2
|
||||
uses: TheLastProject/contributors-to-file-action@v3.2.0
|
||||
with:
|
||||
file_in_repo: app/src/main/res/raw/contributors.txt
|
||||
min_commit_count: 5
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5.0.2
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
title: "Update contributors"
|
||||
commit-message: "Update contributors"
|
||||
|
||||
@@ -38,7 +38,7 @@ jobs:
|
||||
- name: Generate featureGraphic.png for each language
|
||||
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5.0.2
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
title: "Update feature graphic"
|
||||
commit-message: "Update feature graphic"
|
||||
|
||||
4
.github/workflows/gradle-update.yml
vendored
4
.github/workflows/gradle-update.yml
vendored
@@ -24,9 +24,9 @@ jobs:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: obfusk/gradle-update-action@v2.0.0
|
||||
id: gradle-update
|
||||
- uses: gradle/wrapper-validation-action@v1
|
||||
- uses: gradle/wrapper-validation-action@v2
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5.0.2
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
|
||||
2
.github/workflows/update-locales.yml
vendored
2
.github/workflows/update-locales.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Update locales
|
||||
run: .scripts/locales.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5.0.2
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
title: "Update locales"
|
||||
commit-message: "Update locales"
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
# Changelog
|
||||
|
||||
## Unreleased - 132
|
||||
## Unreleased - 133
|
||||
|
||||
- Target Android 14
|
||||
- Open card icon in gallery on touch
|
||||
- Improve design of Photos tab in edit view
|
||||
|
||||
## v2.27.0 - 132 (2024-01-30)
|
||||
|
||||
- Refine "Add card" workflow
|
||||
- Validation flow improvements
|
||||
|
||||
75
Gemfile.lock
75
Gemfile.lock
@@ -3,25 +3,25 @@ GEM
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
rexml
|
||||
addressable (2.8.5)
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.824.0)
|
||||
aws-sdk-core (3.181.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.884.0)
|
||||
aws-sdk-core (3.191.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (~> 1.8)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.71.0)
|
||||
aws-sdk-core (~> 3, >= 3.177.0)
|
||||
aws-sdk-kms (1.77.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.134.0)
|
||||
aws-sdk-core (~> 3, >= 3.181.0)
|
||||
aws-sdk-s3 (1.143.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.6)
|
||||
aws-sigv4 (1.6.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-sigv4 (1.8.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
claide (1.1.0)
|
||||
@@ -32,11 +32,10 @@ GEM
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.103.0)
|
||||
excon (0.109.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
@@ -65,8 +64,8 @@ GEM
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.7)
|
||||
fastlane (2.215.1)
|
||||
fastimage (2.3.0)
|
||||
fastlane (2.219.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -85,6 +84,7 @@ GEM
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-env (>= 1.6.0, < 2.0.0)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
http-cookie (~> 1.0.5)
|
||||
@@ -93,7 +93,7 @@ GEM
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
naturally (~> 2.2)
|
||||
optparse (~> 0.1.1)
|
||||
optparse (>= 0.1.1)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.3)
|
||||
@@ -107,9 +107,9 @@ GEM
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.49.0)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.1)
|
||||
google-apis-core (0.11.3)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
@@ -117,28 +117,27 @@ GEM
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
google-apis-core (>= 0.9.0, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.6.1)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.44.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.19.0)
|
||||
google-apis-storage_v1 (~> 0.31.0)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
googleauth (1.8.0)
|
||||
googleauth (1.8.1)
|
||||
faraday (>= 0.17.3, < 3.a)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
multi_json (~> 1.11)
|
||||
@@ -149,7 +148,7 @@ GEM
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
json (2.7.1)
|
||||
jwt (2.7.1)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.5)
|
||||
@@ -157,11 +156,11 @@ GEM
|
||||
multipart-post (2.3.0)
|
||||
nanaimo (0.3.0)
|
||||
naturally (2.2.1)
|
||||
optparse (0.1.1)
|
||||
optparse (0.4.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.0)
|
||||
public_suffix (5.0.3)
|
||||
rake (13.0.6)
|
||||
plist (3.7.1)
|
||||
public_suffix (5.0.4)
|
||||
rake (13.1.0)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
@@ -185,17 +184,13 @@ GEM
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
trailblazer-option (0.1.2)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.1)
|
||||
tty-screen (0.8.2)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (2.4.2)
|
||||
webrick (1.8.1)
|
||||
unicode-display_width (2.5.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.22.0)
|
||||
xcodeproj (1.24.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
|
||||
@@ -15,14 +15,14 @@ spotbugs {
|
||||
|
||||
android {
|
||||
namespace = "protect.card_locker"
|
||||
compileSdk = 33
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "me.hackerchick.catima"
|
||||
minSdk = 21
|
||||
targetSdk = 33
|
||||
versionCode = 131
|
||||
versionName = "2.26.0"
|
||||
targetSdk = 34
|
||||
versionCode = 132
|
||||
versionName = "2.27.0"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
multiDexEnabled = true
|
||||
@@ -92,7 +92,7 @@ dependencies {
|
||||
implementation("androidx.exifinterface:exifinterface:1.3.7")
|
||||
implementation("androidx.palette:palette:1.0.0")
|
||||
implementation("androidx.preference:preference:1.2.1")
|
||||
implementation("com.google.android.material:material:1.9.0")
|
||||
implementation("com.google.android.material:material:1.11.0")
|
||||
implementation("com.github.yalantis:ucrop:2.2.8")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
|
||||
|
||||
@@ -101,7 +101,7 @@ dependencies {
|
||||
|
||||
// Third-party
|
||||
implementation("com.journeyapps:zxing-android-embedded:4.3.0@aar")
|
||||
implementation("com.google.zxing:core:3.5.2")
|
||||
implementation("com.google.zxing:core:3.5.3")
|
||||
implementation("org.apache.commons:commons-csv:1.9.0")
|
||||
implementation("com.jaredrummler:colorpicker:1.1.0")
|
||||
implementation("net.lingala.zip4j:zip4j:2.11.5")
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_name">Catima Debug</string>
|
||||
</resources>
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="app_name">Catima Debug</string>
|
||||
</resources>
|
||||
|
||||
@@ -111,10 +111,12 @@
|
||||
android:name=".preferences.SettingsActivity"
|
||||
android:label="@string/settings"
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<!-- FIXME: locked screenOrientation is a workaround for https://github.com/CatimaLoyalty/Android/issues/1715, remove when https://github.com/CatimaLoyalty/Android/issues/513 is fixed -->
|
||||
<activity
|
||||
android:name=".ImportExportActivity"
|
||||
android:label="@string/importExport"
|
||||
android:exported="true"
|
||||
android:screenOrientation="locked"
|
||||
android:theme="@style/AppTheme.NoActionBar">
|
||||
|
||||
<!-- ZIP Intent Filter -->
|
||||
|
||||
@@ -7,11 +7,11 @@ import android.view.View;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
|
||||
import protect.card_locker.databinding.AboutActivityBinding;
|
||||
|
||||
public class AboutActivity extends CatimaAppCompatActivity {
|
||||
@@ -98,11 +98,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
|
||||
}
|
||||
|
||||
private void showCredits() {
|
||||
new MaterialAlertDialogBuilder(this)
|
||||
.setTitle(R.string.credits)
|
||||
.setMessage(content.getContributorInfo())
|
||||
.setPositiveButton(R.string.ok, null)
|
||||
.show();
|
||||
showHTML(R.string.credits, content.getContributorInfo(), null);
|
||||
}
|
||||
|
||||
private void showHistory(View view) {
|
||||
@@ -117,7 +113,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
|
||||
showHTML(R.string.privacy_policy, content.getPrivacyInfo(), view);
|
||||
}
|
||||
|
||||
private void showHTML(@StringRes int title, final Spanned text, View view) {
|
||||
private void showHTML(@StringRes int title, final Spanned text, @Nullable View view) {
|
||||
int dialogContentPadding = getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
|
||||
TextView textView = new TextView(this);
|
||||
textView.setText(text);
|
||||
@@ -125,12 +121,21 @@ public class AboutActivity extends CatimaAppCompatActivity {
|
||||
ScrollView scrollView = new ScrollView(this);
|
||||
scrollView.addView(textView);
|
||||
scrollView.setPadding(dialogContentPadding, dialogContentPadding / 2, dialogContentPadding, 0);
|
||||
new MaterialAlertDialogBuilder(this)
|
||||
|
||||
// Create dialog
|
||||
MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(this);
|
||||
materialAlertDialogBuilder
|
||||
.setTitle(title)
|
||||
.setView(scrollView)
|
||||
.setPositiveButton(R.string.ok, null)
|
||||
.setNeutralButton(R.string.view_online, (dialog, which) -> openExternalBrowser(view))
|
||||
.show();
|
||||
.setPositiveButton(R.string.ok, null);
|
||||
|
||||
// Add View online button if an URL is linked to this view
|
||||
if (view != null && view.getTag() != null) {
|
||||
materialAlertDialogBuilder.setNeutralButton(R.string.view_online, (dialog, which) -> openExternalBrowser(view));
|
||||
}
|
||||
|
||||
// Show dialog
|
||||
materialAlertDialogBuilder.show();
|
||||
}
|
||||
|
||||
private void openExternalBrowser(View view) {
|
||||
|
||||
@@ -129,19 +129,19 @@ public class AboutContent {
|
||||
return result.toString();
|
||||
}
|
||||
|
||||
public String getContributorInfo() {
|
||||
public Spanned getContributorInfo() {
|
||||
StringBuilder contributorInfo = new StringBuilder();
|
||||
contributorInfo.append(getCopyright());
|
||||
contributorInfo.append("\n\n");
|
||||
contributorInfo.append("<br/><br/>");
|
||||
contributorInfo.append(context.getString(R.string.app_copyright_old));
|
||||
contributorInfo.append("\n\n");
|
||||
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_contributors), getContributors()), HtmlCompat.FROM_HTML_MODE_COMPACT));
|
||||
contributorInfo.append("\n\n");
|
||||
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_libraries), getThirdPartyLibraries()), HtmlCompat.FROM_HTML_MODE_COMPACT));
|
||||
contributorInfo.append("\n\n");
|
||||
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_resources), getUsedThirdPartyAssets()), HtmlCompat.FROM_HTML_MODE_COMPACT));
|
||||
contributorInfo.append("<br/><br/>");
|
||||
contributorInfo.append(String.format(context.getString(R.string.app_contributors), getContributors()));
|
||||
contributorInfo.append("<br/><br/>");
|
||||
contributorInfo.append(String.format(context.getString(R.string.app_libraries), getThirdPartyLibraries()));
|
||||
contributorInfo.append("<br/><br/>");
|
||||
contributorInfo.append(String.format(context.getString(R.string.app_resources), getUsedThirdPartyAssets()));
|
||||
|
||||
return contributorInfo.toString();
|
||||
return HtmlCompat.fromHtml(contributorInfo.toString(), HtmlCompat.FROM_HTML_MODE_COMPACT);
|
||||
}
|
||||
|
||||
public Spanned getHistoryInfo() {
|
||||
|
||||
@@ -12,12 +12,12 @@ import android.widget.EditText;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import protect.card_locker.databinding.BarcodeSelectorActivityBinding;
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,13 +15,13 @@ import android.service.controls.actions.ControlAction;
|
||||
import android.service.controls.templates.StatelessTemplate;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Flow;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.R)
|
||||
public class CardsOnPowerScreenService extends ControlsProviderService {
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.view.WindowInsetsControllerCompat;
|
||||
|
||||
public class CatimaAppCompatActivity extends AppCompatActivity {
|
||||
protected boolean activityOverridesNavBarColor = false;
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context base) {
|
||||
// Apply chosen language
|
||||
@@ -48,6 +50,14 @@ public class CatimaAppCompatActivity extends AppCompatActivity {
|
||||
Utils.postPatchColors(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (!activityOverridesNavBarColor) {
|
||||
Utils.setNavigationBarColor(this, null, Utils.resolveBackgroundColor(this), !Utils.isDarkModeEnabled(this));
|
||||
}
|
||||
}
|
||||
|
||||
protected void enableToolbarBackButton() {
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
|
||||
@@ -8,14 +8,12 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import protect.card_locker.databinding.GroupLayoutBinding;
|
||||
import protect.card_locker.preferences.Settings;
|
||||
|
||||
public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.GroupListItemViewHolder> {
|
||||
public final Context mContext;
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.InputType;
|
||||
@@ -16,23 +14,20 @@ import android.widget.EditText;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import protect.card_locker.async.TaskHandler;
|
||||
import protect.card_locker.databinding.ImportExportActivityBinding;
|
||||
import protect.card_locker.importexport.DataFormat;
|
||||
|
||||
@@ -4,13 +4,13 @@ import android.database.Cursor;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Currency;
|
||||
import java.util.Date;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
public class LoyaltyCard implements Parcelable {
|
||||
public final int id;
|
||||
public final String store;
|
||||
|
||||
@@ -15,13 +15,6 @@ import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.google.android.material.color.MaterialColors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
@@ -29,6 +22,13 @@ import androidx.core.graphics.BlendModeColorFilterCompat;
|
||||
import androidx.core.graphics.BlendModeCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.card.MaterialCardView;
|
||||
import com.google.android.material.color.MaterialColors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import protect.card_locker.databinding.LoyaltyCardLayoutBinding;
|
||||
|
||||
public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCursorAdapter.LoyaltyCardListItemViewHolder> {
|
||||
|
||||
@@ -777,7 +777,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
@SuppressLint("DefaultLocale")
|
||||
@Override
|
||||
public void onResume() {
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
Log.i(TAG, "To view card: " + loyaltyCardId);
|
||||
|
||||
@@ -3,6 +3,7 @@ package protect.card_locker;
|
||||
import android.app.Application;
|
||||
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
|
||||
import protect.card_locker.preferences.Settings;
|
||||
|
||||
public class LoyaltyCardLockerApplication extends Application {
|
||||
|
||||
@@ -47,7 +47,6 @@ import androidx.core.graphics.BlendModeColorFilterCompat;
|
||||
import androidx.core.graphics.BlendModeCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsControllerCompat;
|
||||
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
||||
|
||||
import com.google.android.material.color.MaterialColors;
|
||||
@@ -110,22 +109,25 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
return;
|
||||
}
|
||||
|
||||
ImageType imageType = imageTypes.get(mainImageIndex);
|
||||
|
||||
// If the barcode is shown, switch to fullscreen layout
|
||||
if (imageTypes.get(mainImageIndex) == ImageType.BARCODE) {
|
||||
if (imageType == ImageType.BARCODE) {
|
||||
setFullscreen(true);
|
||||
return;
|
||||
}
|
||||
|
||||
// If this is an image, open it in the gallery.
|
||||
openCurrentMainImageInGallery();
|
||||
openImageInGallery(imageType);
|
||||
}
|
||||
|
||||
private void openCurrentMainImageInGallery() {
|
||||
ImageType wantedImageType = imageTypes.get(mainImageIndex);
|
||||
|
||||
private void openImageInGallery(ImageType imageType) {
|
||||
File file = null;
|
||||
|
||||
switch (wantedImageType) {
|
||||
switch (imageType) {
|
||||
case ICON:
|
||||
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.icon);
|
||||
break;
|
||||
case IMAGE_FRONT:
|
||||
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.front);
|
||||
break;
|
||||
@@ -173,6 +175,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
enum ImageType {
|
||||
NONE,
|
||||
ICON,
|
||||
BARCODE,
|
||||
IMAGE_FRONT,
|
||||
IMAGE_BACK
|
||||
@@ -300,7 +303,13 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
binding.bottomAppBarNextButton.setOnClickListener(view -> prevNextCard(true));
|
||||
binding.bottomAppBarUpdateBalanceButton.setOnClickListener(view -> showBalanceUpdateDialog());
|
||||
|
||||
binding.iconContainer.setOnClickListener(view -> Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show());
|
||||
binding.iconContainer.setOnClickListener(view -> {
|
||||
if (Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon) != null) {
|
||||
openImageInGallery(ImageType.ICON);
|
||||
} else {
|
||||
Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
});
|
||||
binding.iconContainer.setOnLongClickListener(view -> {
|
||||
Intent intent = new Intent(getApplicationContext(), LoyaltyCardEditActivity.class);
|
||||
Bundle bundle = new Bundle();
|
||||
@@ -555,7 +564,8 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
protected void onResume() {
|
||||
activityOverridesNavBarColor = true;
|
||||
super.onResume();
|
||||
|
||||
Log.i(TAG, "To view card: " + loyaltyCardId);
|
||||
@@ -636,11 +646,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
// Set bottomAppBar and system navigation bar color
|
||||
binding.bottomAppBar.setBackgroundColor(darkenedColor);
|
||||
if (window != null && Build.VERSION.SDK_INT >= 27) {
|
||||
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, binding.getRoot());
|
||||
wic.setAppearanceLightNavigationBars(Utils.needsDarkForeground(darkenedColor));
|
||||
window.setNavigationBarColor(darkenedColor);
|
||||
}
|
||||
Utils.setNavigationBarColor(null, window, darkenedColor, Utils.needsDarkForeground(darkenedColor));
|
||||
|
||||
int complementaryColor = Utils.getComplementaryColor(darkenedColor);
|
||||
binding.fabEdit.setBackgroundTintList(ColorStateList.valueOf(complementaryColor));
|
||||
|
||||
@@ -13,6 +13,12 @@ import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.activity.OnBackPressedCallback;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
@@ -20,12 +26,6 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import androidx.activity.OnBackPressedCallback;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import protect.card_locker.databinding.ActivityManageGroupBinding;
|
||||
|
||||
public class ManageGroupActivity extends CatimaAppCompatActivity implements ManageGroupCursorAdapter.CardAdapterListener {
|
||||
|
||||
@@ -14,17 +14,17 @@ import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import protect.card_locker.databinding.ManageGroupsActivityBinding;
|
||||
|
||||
public class ManageGroupsActivity extends CatimaAppCompatActivity implements GroupCursorAdapter.GroupAdapterListener {
|
||||
|
||||
@@ -32,7 +32,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
@@ -8,6 +8,11 @@ import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.core.content.pm.ShortcutInfoCompat;
|
||||
import androidx.core.content.pm.ShortcutManagerCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -15,11 +20,6 @@ import java.util.Comparator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.core.content.pm.ShortcutInfoCompat;
|
||||
import androidx.core.content.pm.ShortcutManagerCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
|
||||
class ShortcutHelper {
|
||||
// Android documentation says that no more than 5 shortcuts
|
||||
// are supported. However, that may be too many, as not all
|
||||
|
||||
@@ -11,16 +11,16 @@ import android.view.Window;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import com.google.android.material.color.MaterialColors;
|
||||
import com.google.android.material.textview.MaterialTextView;
|
||||
import com.yalantis.ucrop.UCropActivity;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.graphics.ColorUtils;
|
||||
import androidx.core.view.WindowInsetsControllerCompat;
|
||||
|
||||
import com.google.android.material.color.MaterialColors;
|
||||
import com.google.android.material.textview.MaterialTextView;
|
||||
import com.yalantis.ucrop.UCropActivity;
|
||||
|
||||
public class UCropWrapper extends UCropActivity {
|
||||
public static final String UCROP_TOOLBAR_TYPEFACE_STYLE = "ucop_toolbar_typeface_style";
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.RawRes;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
@@ -665,25 +666,33 @@ public class Utils {
|
||||
}
|
||||
}
|
||||
|
||||
// XXX android 9 and below has issues with patched theme where the background becomes a
|
||||
// rendering mess
|
||||
// use after views are inflated
|
||||
// Force correct color
|
||||
// Fixes OLED dark mode in MainActivity
|
||||
public static void postPatchColors(AppCompatActivity activity) {
|
||||
TypedValue typedValue = new TypedValue();
|
||||
activity.getTheme().resolveAttribute(android.R.attr.colorBackground, typedValue, true);
|
||||
activity.findViewById(android.R.id.content).setBackgroundColor(typedValue.data);
|
||||
activity.findViewById(android.R.id.content).setBackgroundColor(resolveBackgroundColor(activity));
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 27) {
|
||||
Window window = activity.getWindow();
|
||||
// Either pass an Activity on which to call getWindow() or an existing Window (may be null) returned by that function.
|
||||
public static void setNavigationBarColor(@Nullable AppCompatActivity activity, @Nullable Window window, int color, boolean useLightBars) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
|
||||
if (window == null && activity != null) {
|
||||
window = activity.getWindow();
|
||||
}
|
||||
if (window != null) {
|
||||
View decorView = window.getDecorView();
|
||||
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
|
||||
wic.setAppearanceLightNavigationBars(!isDarkModeEnabled(activity));
|
||||
window.setNavigationBarColor(typedValue.data);
|
||||
wic.setAppearanceLightNavigationBars(useLightBars);
|
||||
window.setNavigationBarColor(color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static int resolveBackgroundColor(AppCompatActivity activity) {
|
||||
TypedValue typedValue = new TypedValue();
|
||||
activity.getTheme().resolveAttribute(android.R.attr.colorBackground, typedValue, true);
|
||||
return typedValue.data;
|
||||
}
|
||||
|
||||
public static int getHeaderColorFromImage(Bitmap image, int fallback) {
|
||||
if (image == null) {
|
||||
return fallback;
|
||||
|
||||
@@ -3,12 +3,13 @@ package protect.card_locker.preferences;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import androidx.annotation.IntegerRes;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import protect.card_locker.R;
|
||||
import protect.card_locker.Utils;
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package protect.card_locker.preferences;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
|
||||
@@ -369,75 +369,106 @@
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible">
|
||||
|
||||
<!-- Front image -->
|
||||
<LinearLayout
|
||||
android:id="@+id/frontImageHolder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="@dimen/inputPadding"
|
||||
android:paddingTop="@dimen/inputPadding">
|
||||
android:baselineAligned="false">
|
||||
|
||||
<!-- Front image -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/frontImageHolder"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:layout_marginTop="@dimen/activity_margin"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:paddingHorizontal="@dimen/inputPadding"
|
||||
app:cardCornerRadius="4dp"
|
||||
app:cardElevation="0dp">
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"
|
||||
style="?attr/materialCardViewElevatedStyle">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/frontImage"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/frontImageConstraint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:minHeight="50dp"
|
||||
android:contentDescription="@string/frontImageDescription"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_camera_white"
|
||||
android:background="?attr/colorPrimary" />
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<!-- Back image -->
|
||||
<ImageView
|
||||
android:id="@+id/frontImage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:minHeight="50dp"
|
||||
android:contentDescription="@string/backImageDescription"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_camera_white"
|
||||
android:background="?attr/colorPrimary"
|
||||
app:layout_constraintBottom_toTopOf="@id/frontImageDescription"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/frontImageDescription"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:text="@string/frontImageDescription"
|
||||
android:textAppearance="?attr/textAppearanceHeadlineSmall"
|
||||
android:gravity="center"
|
||||
app:layout_constraintTop_toBottomOf="@id/frontImage"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Back image -->
|
||||
<LinearLayout
|
||||
android:id="@+id/backImageHolder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="@dimen/inputPadding"
|
||||
android:paddingTop="@dimen/inputPadding">
|
||||
|
||||
<!-- Back image -->
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:id="@+id/backImageHolder"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginStart="@dimen/activity_margin"
|
||||
android:layout_marginTop="@dimen/activity_margin"
|
||||
android:layout_marginEnd="@dimen/activity_margin"
|
||||
android:layout_marginBottom="@dimen/activity_margin"
|
||||
android:paddingHorizontal="@dimen/inputPadding"
|
||||
app:cardCornerRadius="4dp"
|
||||
app:cardElevation="0dp">
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"
|
||||
style="?attr/materialCardViewElevatedStyle">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/backImage"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/backImageConstraint"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:minHeight="50dp"
|
||||
android:contentDescription="@string/backImageDescription"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_camera_white"
|
||||
android:background="?attr/colorPrimary" />
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<!-- Back image -->
|
||||
<ImageView
|
||||
android:id="@+id/backImage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:minHeight="50dp"
|
||||
android:contentDescription="@string/backImageDescription"
|
||||
android:scaleType="fitCenter"
|
||||
app:srcCompat="@drawable/ic_camera_white"
|
||||
android:background="?attr/colorPrimary"
|
||||
app:layout_constraintBottom_toTopOf="@id/backImageDescription"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/backImageDescription"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:text="@string/backImageDescription"
|
||||
android:textAppearance="?attr/textAppearanceHeadlineSmall"
|
||||
android:gravity="center"
|
||||
app:layout_constraintTop_toBottomOf="@id/backImage"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
</LinearLayout>
|
||||
</TableLayout>
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/coordinator_layout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
@@ -25,313 +25,32 @@ HudobniVolk
|
||||
Nyatsuki
|
||||
Samantaz Fox
|
||||
arno-github
|
||||
Ankit Tiwari
|
||||
Sergio Paredes
|
||||
Cliff Heraldo
|
||||
Balázs Meskó
|
||||
Sergio Paredes
|
||||
Ankit Tiwari
|
||||
Milan Šalka
|
||||
Jiri Grönroos
|
||||
Balázs Meskó
|
||||
Giovanni Donisi
|
||||
Milo Ivir
|
||||
Skrripy
|
||||
huuhaa
|
||||
Giovanni Donisi
|
||||
Jiri Grönroos
|
||||
Projjal Moitra
|
||||
Quentin PAGÈS
|
||||
Denis Shilin
|
||||
mdvhimself
|
||||
Robin Liu
|
||||
Ziad OUALHADJ
|
||||
Eryk Michalak
|
||||
Alexander Ivanov
|
||||
arshbeerSingh
|
||||
Freddo espresso
|
||||
Govind S Nair
|
||||
Kim Seohyun
|
||||
rudy3
|
||||
Michael Gangolf
|
||||
Virginie
|
||||
Silvério Santos
|
||||
Miha Frangež
|
||||
Arnis Jaundžeikars
|
||||
Camila
|
||||
Dan
|
||||
sr093906
|
||||
Katarzyna
|
||||
echo r"0xX4H" | rev
|
||||
Magnitudee
|
||||
Mohit ahlawat
|
||||
Muhammad Khuirul Huda
|
||||
Olivia (Zoe)
|
||||
Rohan H
|
||||
betsythefc
|
||||
waffshappen
|
||||
Robin
|
||||
tfuxu
|
||||
Alex
|
||||
ati3
|
||||
enolp
|
||||
Evgeniy Khramov
|
||||
Jane Kong
|
||||
Jean Mareilles
|
||||
Jean-Luc Tibaux
|
||||
José Rebelo
|
||||
K. Herbert
|
||||
Lisa A.
|
||||
Mawuena M. KODZO A.
|
||||
OMCM753
|
||||
Reza
|
||||
Still / Azaka
|
||||
String E. Fighter
|
||||
Tapu
|
||||
Yurical
|
||||
ngocanhtve
|
||||
rr-vesp
|
||||
yangyangdaji
|
||||
丛林意志
|
||||
alajemba-vik
|
||||
/usr/local/ΕΨΗΕΛΩΝ
|
||||
Adolfo Jayme-Barrientos
|
||||
Alessandro Mandelli
|
||||
Ankur Dahiya
|
||||
KovalevArtem
|
||||
Artem M.
|
||||
Astrohops1
|
||||
BMN
|
||||
balaraz
|
||||
BootVirtual
|
||||
Bottan Hermawan
|
||||
zChiip
|
||||
Clonewayx
|
||||
D. Domig
|
||||
Danylo Lystopadov
|
||||
Diego
|
||||
Eudes-alencar
|
||||
Fede Pujol
|
||||
FineFindus
|
||||
Fqwe1
|
||||
francescbassas
|
||||
Jason Li
|
||||
Jesse Davids
|
||||
Kamborio
|
||||
Kate O
|
||||
Kis Dominik
|
||||
Lukas Grassauer
|
||||
Luna Jernberg
|
||||
Marnick L'Eau
|
||||
Mateus Souza
|
||||
Michalis
|
||||
Michał
|
||||
Mohamed A. Salah
|
||||
Yatoku
|
||||
Neha Reddy
|
||||
Neko Nekowazarashi
|
||||
Quang Trung
|
||||
Rishi Agarwal
|
||||
Rosdyana Kusuma
|
||||
Sabri Ünal
|
||||
Sajal Agarwal
|
||||
Sand Smith
|
||||
umoenks
|
||||
Simon Rusinov
|
||||
Siriusmart
|
||||
Mritunjay
|
||||
Tarik Dzambic
|
||||
TheScientistPT
|
||||
Thomas Bertels
|
||||
Thomas Cruveilher
|
||||
Tian Jiale
|
||||
Tong Liu
|
||||
Tymofii Lytvynenko
|
||||
Wanath
|
||||
Yogesh
|
||||
Younes Bouhouche
|
||||
Runner
|
||||
pythonbass
|
||||
ce i moa
|
||||
enescan201
|
||||
Frablock
|
||||
Eryk Michalak
|
||||
Ziad OUALHADJ
|
||||
Robin Liu
|
||||
mdvhimself
|
||||
Denis Shilin
|
||||
Miha Frangež
|
||||
Silvério Santos
|
||||
ikanakova
|
||||
inesre
|
||||
lgasp
|
||||
notlin4
|
||||
olgacveysel
|
||||
phlostically
|
||||
pokegh0st
|
||||
sal0max
|
||||
Ágata Leuck
|
||||
BmBKun
|
||||
NamHyeonjeong
|
||||
Aditya Das
|
||||
asier123123131
|
||||
Kevin Sicong Jiang
|
||||
Tomer Ben-Rachel
|
||||
ngdangtu
|
||||
Tom Sawyer
|
||||
Abdullah Abdullah
|
||||
Abdullah khan
|
||||
Abhishek Tiwari
|
||||
Ahmed Saleh
|
||||
Airat
|
||||
Alex Tan
|
||||
Tapwaterisokey
|
||||
Alexandra-Ioana Moroz
|
||||
alyonaakshyata
|
||||
Andreas Blaser
|
||||
Angela Enogieru
|
||||
Animesh Chatterjee
|
||||
Anujever
|
||||
Artūras Kalenda
|
||||
Ashish Yadav
|
||||
Aya Elsaadany
|
||||
Aya
|
||||
bennycor
|
||||
Biren
|
||||
Booc Sylvan
|
||||
Brage Nesteby Reitan
|
||||
Brian Bentancour
|
||||
Cap Amr Karam
|
||||
Carlo Maria Cuoghi Barbagli
|
||||
ChaoticNeutralCzech
|
||||
2oranges7
|
||||
CherryMonster222
|
||||
Claus Kruse
|
||||
Colgrave
|
||||
djcand
|
||||
Mylou53
|
||||
Daniel Sych
|
||||
danieluhrinyi
|
||||
Daniele Tricoli
|
||||
Kasina Dheeraj
|
||||
Donno
|
||||
Reihan
|
||||
Erik Spjelkavik
|
||||
Flav
|
||||
Francisco J. Martín Fernández
|
||||
Franciszek Stefan
|
||||
Gael Caraballo
|
||||
Giacomo Alessandroni
|
||||
Grzegorz
|
||||
gneiss15
|
||||
Hamustra Scans
|
||||
helzubair
|
||||
HowITsDone
|
||||
Hubert Maciejewicz
|
||||
Izzy
|
||||
Jacek
|
||||
Jacopo Gennaro Esposito
|
||||
Jean-Baptiste
|
||||
Kung-chih
|
||||
Karvjorm
|
||||
polar
|
||||
krkk
|
||||
Kristoffer Grundström
|
||||
Laura Ferraz
|
||||
Lionel HANNEQUIN
|
||||
Lucas da Costa
|
||||
Roveliu Munteanu
|
||||
almir992
|
||||
Manan Jhaveri
|
||||
Marco
|
||||
BRBsoup
|
||||
Mateo Gomez
|
||||
Matti O
|
||||
Mattia
|
||||
Mattia Beccari
|
||||
Md. Al-Amin
|
||||
MOCCH
|
||||
3DN1M
|
||||
Minecraft boom
|
||||
Mitsos Dream
|
||||
Mobashir Raihan
|
||||
Moi Toi
|
||||
DiCeYMaYo
|
||||
OPADILOP
|
||||
DivideEtImpera
|
||||
Nicolas
|
||||
Nosnahc
|
||||
osamaqw
|
||||
Patricio Carrau
|
||||
Patrik Š.
|
||||
pbeckmann
|
||||
Peer Beckmann
|
||||
vandman
|
||||
Piotr Strebski
|
||||
Piotr Zet
|
||||
Poorva Patidar
|
||||
Quang Nguyen
|
||||
Ratnesh
|
||||
Rohan Babbar
|
||||
Ronak Upadhyay
|
||||
Rose Liverman
|
||||
SKULD
|
||||
Sabrina
|
||||
Salem Malus
|
||||
Samarth Asthan
|
||||
tatyhub
|
||||
Shailendra Maurya
|
||||
SilverFS
|
||||
Simone Dotto
|
||||
Subhashish Anand
|
||||
Subhradeep Bera
|
||||
Swayam Khare
|
||||
SziaTomi
|
||||
Mehedi Hasan
|
||||
Tim Trek
|
||||
Titas Pažereckas
|
||||
atakujonc
|
||||
Tomislav Kraljević
|
||||
Tony C
|
||||
Vancha March
|
||||
tyap-lyap-ivprod
|
||||
gokomurodokomodo
|
||||
Viviana Yanez
|
||||
Waldemar Stoczkowski
|
||||
Wei-Cheng Yeh (IID)
|
||||
Wiktor Kwapisiewicz
|
||||
Wonchul Kang
|
||||
Yevgeny M
|
||||
Yusril A
|
||||
ahmed-awad26
|
||||
Avik Kundu
|
||||
ayuyydev
|
||||
depimomo
|
||||
diksha-2911
|
||||
essys
|
||||
evelinabe
|
||||
gbonaspetti
|
||||
gemamur
|
||||
gittyboy-cell
|
||||
huang ivan
|
||||
kb01guy
|
||||
lassr8
|
||||
liva
|
||||
lucafont2
|
||||
mtrmirez
|
||||
michaelpratana
|
||||
opsik
|
||||
pesta007
|
||||
polarhun
|
||||
pooyanazari
|
||||
sghiri
|
||||
psa-jforestier
|
||||
redha salah
|
||||
z369369
|
||||
sergio
|
||||
skauVictor
|
||||
SravyaHSN
|
||||
080502
|
||||
Marcus
|
||||
techwebpd
|
||||
tjw123hh
|
||||
Truestorybaby
|
||||
Tygyh
|
||||
unstartdev
|
||||
wmilan 17
|
||||
xiawu240
|
||||
yourfav-raphi
|
||||
MeH762
|
||||
يوسف لطفي
|
||||
しいたけ
|
||||
元气
|
||||
JaeBeom An
|
||||
JungHee Lee
|
||||
Virginie
|
||||
Michael Gangolf
|
||||
rudy3
|
||||
Kim Seohyun
|
||||
Govind S Nair
|
||||
Freddo espresso
|
||||
arshbeerSingh
|
||||
Alexander Ivanov
|
||||
|
||||
@@ -311,4 +311,5 @@
|
||||
<string name="addWithoutBarcode">إضافة بدون باركود</string>
|
||||
<string name="field_must_not_be_empty">يجب ألا يكون الحقل فارغا</string>
|
||||
<string name="app_name">كاتيما</string>
|
||||
<string name="settings_follow_sensor_orientation">التدوير دائمًا ( تجاهل إعدادات النظام)</string>
|
||||
</resources>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="storeName">Nome</string>
|
||||
<string name="note">Nota</string>
|
||||
<string name="noMatchingGiftCards">Nun hai nengún resultáu. Prueba a camudar la busca.</string>
|
||||
|
||||
@@ -283,4 +283,5 @@
|
||||
<string name="addWithoutBarcode">Добавяне на карта без щрихкод</string>
|
||||
<string name="field_must_not_be_empty">Полето не трябва да е празно</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Винаги да се завърта (пренебрегва системната настройка)</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="addWithoutBarcode">Přidat kartu bez čárového kódu</string>
|
||||
<string name="field_must_not_be_empty">Položka nesmí být prázdná</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Vždy otáčet (ignoruje nastavení systému)</string>
|
||||
</resources>
|
||||
@@ -132,8 +132,8 @@
|
||||
<string name="setBackImage">Kartenrückseite</string>
|
||||
<string name="setFrontImage">Kartenvorderseite</string>
|
||||
<string name="photos">Fotos</string>
|
||||
<string name="frontImageDescription">Bild auf der Vorseite</string>
|
||||
<string name="backImageDescription">Bild auf der Rückseite</string>
|
||||
<string name="frontImageDescription">Bild der Vorseite</string>
|
||||
<string name="backImageDescription">Bild der Rückseite</string>
|
||||
<string name="passwordRequired">Bitte gib das Passwort ein</string>
|
||||
<string name="importStocardMessage">Wähle deinen <i>***.zip</i>-Export aus Stocard zum Importieren aus.
|
||||
\nSie erhalten ihn, indem du eine E-Mail an support@stocardapp.com sendest und um einen Export deiner Daten bitten.</string>
|
||||
@@ -174,7 +174,7 @@
|
||||
<string name="sort_by_most_recently_used">Zuletzt verwendet</string>
|
||||
<string name="sort_by_name">Name</string>
|
||||
<string name="sort">Sortieren</string>
|
||||
<string name="reverse">… in umgekehrter Reihenfolge</string>
|
||||
<string name="reverse">…in umgekehrter Reihenfolge</string>
|
||||
<string name="version_history">Versionshistorie</string>
|
||||
<string name="credits">Dank an</string>
|
||||
<string name="help_translate_this_app">Hilfe bei der Übersetzung</string>
|
||||
@@ -193,7 +193,7 @@
|
||||
<string name="editGroup">Gruppe wird bearbeitet: <xliff:g>%s</xliff:g></string>
|
||||
<string name="group_edit">Gruppe bearbeiten</string>
|
||||
<string name="noGiftCardsGroup">Erstelle einige Karten und ordne sie dann hier der Gruppe zu.</string>
|
||||
<string name="setIcon">Vorschau setzen</string>
|
||||
<string name="setIcon">Vorschaubild setzen</string>
|
||||
<string name="selectColor">Farbe auswählen</string>
|
||||
<string name="translate_platform">auf Weblate</string>
|
||||
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
|
||||
@@ -205,14 +205,14 @@
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> Punkte</item>
|
||||
</plurals>
|
||||
<string name="settings_oled_dark">Komplett schwarzer Hintergrund im dunklen Design</string>
|
||||
<string name="include_if_asking_support">Wenn Sie Unterstützung anfordern möchten, geben Sie bitte die folgenden Informationen an:</string>
|
||||
<string name="include_if_asking_support">Wenn Du Unterstützung haben möchtest, gib bitte folgende Informationen an:</string>
|
||||
<string name="settings_follow_system_orientation">System folgen</string>
|
||||
<string name="settings_landscape_orientation">Landschaft</string>
|
||||
<string name="settings_portrait_orientation">Porträt</string>
|
||||
<string name="settings_landscape_orientation">Querformat</string>
|
||||
<string name="settings_portrait_orientation">Hochformat</string>
|
||||
<string name="duplicateCard">Duplizieren</string>
|
||||
<string name="unarchive">Archivierung aufheben</string>
|
||||
<string name="settings_card_orientation">Barcode-Ausrichtung</string>
|
||||
<string name="unarchived">Karte nicht archiviert</string>
|
||||
<string name="unarchived">Karte aus dem Archiv entfernt</string>
|
||||
<string name="archive">Archivieren</string>
|
||||
<string name="archived">Karte archiviert</string>
|
||||
<string name="settings_lock_on_opening_orientation">Kartenausrichtung nach dem Öffnen beibehalten</string>
|
||||
@@ -223,7 +223,7 @@
|
||||
<string name="failedLaunchingPhotoPicker">Es konnte keine unterstützte Galerie-Anwendung gefunden werden</string>
|
||||
<string name="previousCard">Vorherige</string>
|
||||
<string name="nextCard">Nächste</string>
|
||||
<string name="failedToOpenUrl">Installieren Sie zunächst einen Webbrowser</string>
|
||||
<string name="failedToOpenUrl">Bitte installiere einen Webbrowser</string>
|
||||
<plurals name="viewArchivedCardsWithCount">
|
||||
<item quantity="one">Archiv ansehen (<xliff:g>%1$d</xliff:g> Karte)</item>
|
||||
<item quantity="other">Archiv ansehen (<xliff:g>%1$d</xliff:g> Karten)</item>
|
||||
@@ -239,8 +239,8 @@
|
||||
<string name="currentBalanceSentence">Aktuelles Guthaben: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">Neues Guthaben: <xliff:g>%s</xliff:g></string>
|
||||
<string name="updateBalance">Guthaben aktualisieren</string>
|
||||
<string name="storageReadPermissionRequired">Berechtigung zum Lesen des Speichers für diese Aktion erforderlich …</string>
|
||||
<string name="cameraPermissionRequired">Für diese Aktion wird die Erlaubnis zum Zugriff auf die Kamera benötigt …</string>
|
||||
<string name="storageReadPermissionRequired">Berechtigung zum Lesen des Speichers für diese Aktion erforderlich…</string>
|
||||
<string name="cameraPermissionRequired">Für diese Aktion wird die Erlaubnis zum Zugriff auf die Kamera benötigt…</string>
|
||||
<string name="validFromDate">Gültig ab</string>
|
||||
<string name="validFromSentence">Gültig ab: <xliff:g>%s</xliff:g></string>
|
||||
<string name="chooseValidFromDate">Gültig-ab-Datum wählen</string>
|
||||
@@ -283,4 +283,5 @@
|
||||
<string name="field_must_not_be_empty">Feld darf nicht leer sein</string>
|
||||
<string name="manually_enter_barcode_instructions">Trage die ID Nummer oder Text deiner Karte ein und drücke auf den Barcode, der wie auf deiner Karte aussieht.</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Immer drehen (ignoriert Systemeinstellungen)</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="addWithoutBarcode">Añadir una tarjeta sin código de barras</string>
|
||||
<string name="field_must_not_be_empty">Este campo no debe estar vacío</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Girar siempre (ignora la configuración del sistema)</string>
|
||||
</resources>
|
||||
@@ -281,4 +281,7 @@
|
||||
<string name="field_must_not_be_empty">Kenttä ei saa olla tyhjä</string>
|
||||
<string name="manually_enter_barcode_instructions">Syötä kortissa näkyvä numero tai teksti ja klikkaa viivakoodia, joka vastaa kortissa olevaa koodia.</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="balanceParsingFailed">Virheellinen saldo</string>
|
||||
<string name="view_online">Näytä verkossa</string>
|
||||
<string name="settings_follow_sensor_orientation">Kierrä aina (ohittaa järjestelmän asetukset)</string>
|
||||
</resources>
|
||||
@@ -95,9 +95,9 @@
|
||||
<string name="expiryDate">Date d’expiration</string>
|
||||
<string name="editBarcode">Modifier le code-barres</string>
|
||||
<string name="card">Carte</string>
|
||||
<string name="balanceSentence">Solde : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Expiré : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Expire : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
||||
<string name="balanceSentence">Solde : <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Expiré le : <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Expire le : <xliff:g>%s</xliff:g></string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Empêcher le verrouillage de l’écran</string>
|
||||
<string name="settings_keep_screen_on">Garder l’écran allumé</string>
|
||||
<string name="importVoucherVaultMessage">Sélectionnez votre exportation <i>vouchervault.json</i> de Voucher Vault à importer.
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="addWithoutBarcode">Ajouter une carte sans code-barres</string>
|
||||
<string name="field_must_not_be_empty">Le champ ne peut pas être vide</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Toujours pivoter (ignore les paramètres du système)</string>
|
||||
</resources>
|
||||
@@ -70,7 +70,7 @@
|
||||
<string name="noBarcode">बारकोड नहीं है</string>
|
||||
<string name="scanCardBarcode">बारकोड स्कैन करें</string>
|
||||
<string name="cardShortcut">कार्ड का सरल उपाय (शॉर्टकट)</string>
|
||||
<string name="noGiftCards">\"+\" बटन दबाके कार्ड जोड़ें वा मेन्यू से कार्ड आयात करें</string>
|
||||
<string name="noGiftCards">कार्ड जोड़ने के लिए + प्लस बटन पर क्लिक करें, या ⋮ मेनू से आयात करें।</string>
|
||||
<string name="importExportHelp">तथ्य (डाटा) को बैकअप करना हमें उसे दूसरे डिवाइस में भेजने देता है।</string>
|
||||
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> का बारकोड</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">स्क्रीन को लॉक होने से रोकें</string>
|
||||
@@ -107,7 +107,7 @@
|
||||
<string name="exportSuccessful">डेटा निर्यात किया गया</string>
|
||||
<string name="groupsList">समूह: <xliff:g>%s</xliff:g></string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> अंक</item>
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> बिंदु</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> अंक</item>
|
||||
</plurals>
|
||||
<string name="privacy_policy_popup_text">निजता नीति नोटिस (कुछ ऐप स्टोर के लिए आवश्यक):
|
||||
@@ -117,7 +117,7 @@
|
||||
\nदूसरे Catima ऍप के आयात/निर्यात मेनू से निर्यात बटन दबाकर, पहले catima.zip फाइल को बनाये.</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> चयनित</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> चयनित.</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> चयनित</item>
|
||||
</plurals>
|
||||
<string name="groups">समूहों</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">कॉपीराइट © 2019–<xliff:g>%d</xliff:g> Sylvia van Os और योगदाता</string>
|
||||
@@ -214,4 +214,74 @@
|
||||
<string name="show_balance">मात्रा दिखाओ</string>
|
||||
<string name="nextCard">अगला</string>
|
||||
<string name="rate_this_app">इस ऐप को रेट करें</string>
|
||||
<string name="settings_system_locale">सिस्टम</string>
|
||||
<string name="setIcon">थंबनेल सेट करें</string>
|
||||
<string name="sort_by_expiry">समाप्ति</string>
|
||||
<string name="sort_by">इसके अनुसार क्रमबद्ध करें</string>
|
||||
<string name="importCards">कार्ड आयात करें</string>
|
||||
<string name="add_a_card_in_a_different_way">कार्ड को भिन्न तरीके से जोड़ें</string>
|
||||
<string name="settings_locale">भाषा</string>
|
||||
<string name="settings_oled_dark">गहरे रंग की थीम के लिए शुद्ध काले रंग की पृष्ठभूमि</string>
|
||||
<string name="selectColor">रंग चुनो</string>
|
||||
<string name="app_contributors">इसके द्वारा संभव बनाया गया: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="sort">क्रमबद्ध करें</string>
|
||||
<string name="show_note">नोट दिखाएँ</string>
|
||||
<string name="settings_follow_sensor_orientation">हमेशा घुमाएँ (सिस्टम सेटिंग्स को अनदेखा करता है)</string>
|
||||
<string name="importFidmeMessage">आयात करने के लिए FidMe से अपना <i>fidme-export-request-xxxxxx.zip</i> निर्यात चुनें, और बाद में मैन्युअल रूप से बारकोड प्रकार चुनें।
|
||||
\nडेटा सुरक्षा चुनकर और फिर पहले मेरा डेटा निकालें दबाकर इसे अपनी FidMe प्रोफ़ाइल से बनाएं।</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">आयात करने के लिए लॉयल्टी कार्ड कीचेन से अपना <i>LoyaltyCardKeychen.csv</i> निर्यात चुनें।
|
||||
\nपहले वहां एक्सपोर्ट दबाकर लॉयल्टी कार्ड कीचेन में आयात/निर्यात मेनू से इसे बनाएं।</string>
|
||||
<string name="updateBarcodeQuestionText">आपने आईडी बदल दी. क्या आप समान मान का उपयोग करने के लिए बारकोड को भी अपडेट करना चाहते हैं?</string>
|
||||
<string name="exportPassword">अपने निर्यात की सुरक्षा के लिए एक पासवर्ड सेट करें (वैकल्पिक)</string>
|
||||
<string name="turn_flashlight_off">टॉर्च बंद करें</string>
|
||||
<string name="settings_oled_dark_summary">OLED डिस्प्ले पर बैटरी का उपयोग कम होता है</string>
|
||||
<string name="showMoreInfo">जानकारी दिखाएँ</string>
|
||||
<string name="updateBalance">शेष राशि अद्यतन करें</string>
|
||||
<string name="failedToRetrieveImageFile">छवि फ़ाइल पुनः प्राप्त करने में विफल</string>
|
||||
<string name="version_history">संस्करण इतिहास</string>
|
||||
<string name="archive">पुरालेख</string>
|
||||
<string name="archived">कार्ड संग्रहीत</string>
|
||||
<string name="barcodeLongPressMessage">गैलरी ऐप में केवल छवियां ही खोली जा सकती हैं</string>
|
||||
<string name="license">परवाना</string>
|
||||
<string name="source_repository">स्रोत रिपोजिटरी</string>
|
||||
<string name="include_if_asking_support">यदि आप सहायता का अनुरोध करना चाहते हैं, तो निम्नलिखित जानकारी शामिल करें:</string>
|
||||
<string name="starred">तारांकित</string>
|
||||
<string name="unarchived">कार्ड अनारक्षित</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> कार्ड (<xliff:g id="archivedCount">%2$d</xliff:g> संग्रहीत)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> कार्ड (<xliff:g id="archivedCount">%2$d</xliff:g> संग्रहीत)</item>
|
||||
</plurals>
|
||||
<plurals name="viewArchivedCardsWithCount">
|
||||
<item quantity="one">संग्रह देखें (<xliff:g>%1$d</xliff:g> कार्ड)</item>
|
||||
<item quantity="other">संग्रह देखें (<xliff:g>%1$d</xliff:g> कार्ड)</item>
|
||||
</plurals>
|
||||
<string name="updateBalanceTitle">आपने कितना खर्च किया?</string>
|
||||
<string name="chooseValidFromDate">दिनांक से वैध चुनें</string>
|
||||
<string name="show_name_below_image_thumbnail">छवि थंबनेल के नीचे नाम दिखाएँ</string>
|
||||
<string name="show_archived_cards">संग्रहीत कार्ड दिखाएँ</string>
|
||||
<string name="manually_enter_barcode_instructions">अपने कार्ड पर आईडी नंबर या टेक्स्ट दर्ज करें और अपने कार्ड पर मौजूद बारकोड की तरह दिखने वाले बारकोड को दबाएं।</string>
|
||||
<string name="welcome">कैटिमा में आपका स्वागत है</string>
|
||||
<string name="previousCard">पिछला</string>
|
||||
<string name="failedLaunchingPhotoPicker">कोई समर्थित गैलरी ऐप नहीं मिल सका</string>
|
||||
<string name="reverse">...उल्टे क्रम में</string>
|
||||
<string name="height">ऊंचाई:</string>
|
||||
<string name="importVoucherVaultMessage">आयात करने के लिए वाउचर वॉल्ट से अपना <i>vouchervault.json</i> निर्यात चुनें।
|
||||
\nसबसे पहले वाउचर वॉल्ट में एक्सपोर्ट दबाकर इसे बनाएं।</string>
|
||||
<string name="turn_flashlight_on">टॉर्च चालू करें</string>
|
||||
<string name="sort_by_name">नाम</string>
|
||||
<string name="credits">श्रेय</string>
|
||||
<string name="unarchive">असंग्रहित</string>
|
||||
<string name="failedToOpenUrl">सबसे पहले एक वेब ब्राउज़र इंस्टॉल करें</string>
|
||||
<string name="currentBalanceSentence">वर्तमान शेष: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">नया शेष: <xliff:g>%s</xliff:g></string>
|
||||
<string name="validFromDate">से मान्य</string>
|
||||
<string name="validFromSentence">यहां से मान्य: <xliff:g>%s</xliff:g></string>
|
||||
<string name="switchToFrontImage">सामने वाली छवि पर स्विच करें</string>
|
||||
<string name="switchToBackImage">पिछली छवि पर स्विच करें</string>
|
||||
<string name="switchToBarcode">बारकोड पर स्विच करें</string>
|
||||
<string name="openFrontImageInGalleryApp">गैलरी ऐप में सामने वाली छवि खोलें</string>
|
||||
<string name="openBackImageInGalleryApp">गैलरी ऐप में पिछली छवि खोलें</string>
|
||||
<string name="setBarcodeHeight">बारकोड ऊंचाई सेट करें</string>
|
||||
<string name="icon_header_click_text">थंबनेल संपादित करने के लिए देर तक दबाएँ</string>
|
||||
<string name="enter_card_id">अपने कार्ड पर आईडी नंबर या पाठ दर्ज करें</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="settings_category_title_privacy">Privatnost</string>
|
||||
<string name="settings_keep_screen_on_summary">Deaktivira isključivanje ekrana tijekom prikaza kartice</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Uvijek rotiraj (ignorira sistemske postavke)</string>
|
||||
</resources>
|
||||
@@ -283,4 +283,5 @@
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os és közreműködők</string>
|
||||
<string name="show_archived_cards">Archivált kártyák megjelenítése</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Mindig forgassa (figyelmen kívül hagyja a rendszerbeállításokat)</string>
|
||||
</resources>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="storeName">Nama</string>
|
||||
<string name="note">Keterangan</string>
|
||||
<string name="delete">Hapus</string>
|
||||
@@ -139,7 +139,7 @@
|
||||
<string name="privacy_policy_popup_text">Pemberitahuan kebijakan privasi (diperlukan oleh beberapa toko aplikasi):
|
||||
\n
|
||||
\nTIDAK ADA DATA YANG DIKUMPULKAN SAMA SEKALI, yang dapat dikonfirmasi oleh siapa pun karena aplikasi kami adalah libre software.</string>
|
||||
<string name="importCatimaMessage">Pilih ekspor <i>catima.zip</i> Anda dari Catima untuk diimpor.
|
||||
<string name="importCatimaMessage">Pilih ekspor <i>catima.zip</i> Anda dari Catima untuk diimpor.
|
||||
\nBuat dari menu Impor/Ekspor aplikasi Catima lain dengan menekan Ekspor di sana terlebih dahulu.</string>
|
||||
<string name="importFidmeMessage">Pilih ekspor <i>fidme-export-request-xxxxxx.zip</i> Anda dari FidMe untuk diimpor, dan pilih jenis barcode secara manual setelahnya.
|
||||
\nBuat dari profil FidMe Anda dengan memilih Perlindungan Data lalu tekan Ekstrak data saya terlebih dahulu.</string>
|
||||
@@ -276,4 +276,5 @@
|
||||
<string name="addWithoutBarcode">Tambah kartu tanpa barcode</string>
|
||||
<string name="field_must_not_be_empty">Isian tidak boleh kosong</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Selalu rotasi (abaikan pengaturan sistem)</string>
|
||||
</resources>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="action_add">Bæta</string>
|
||||
<string name="noBarcode">Nei strikamerkið</string>
|
||||
<string name="action_search">Leita að</string>
|
||||
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="addWithoutBarcode">Aggiungere una carta senza codice a barre</string>
|
||||
<string name="field_must_not_be_empty">Il campo non deve essere vuoto</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Ruota sempre (ignora le impostazioni di sistema)</string>
|
||||
</resources>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="wrongValueForBarcodeType">選択したバーコード形式ではこの番号は使用できません</string>
|
||||
<string name="unsupportedBarcodeType">このバーコード形式は表示できません。将来のアップデートにより対応するかもしれません。</string>
|
||||
<string name="setBarcodeId">バーコード番号を設定</string>
|
||||
@@ -67,8 +67,6 @@
|
||||
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="about_title_fmt">About <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="app_license">Copylefted libre software, licensed GPLv3+</string>
|
||||
<string name="app_copyright_old">Based on Loyalty Card Keychain
|
||||
\ncopyright © 2016–2020 Branden Archer.</string>
|
||||
<string name="app_resources">Libre third-party resources: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="about">Catimaについて</string>
|
||||
<string name="importOptionApplicationButton">外部のアプリを使う</string>
|
||||
@@ -117,7 +115,7 @@
|
||||
<string name="note">メモ</string>
|
||||
<string name="storeName">名前</string>
|
||||
<string name="noMatchingGiftCards">該当なし</string>
|
||||
<string name="noGiftCards">まず初めに+ボタンを押してカードを追加するか、メニューから以前のカードをインポートしてください。</string>
|
||||
<string name="noGiftCards">+ボタンからカードを新規追加、⋮メニューからカードをインポートすることができます。</string>
|
||||
<string name="action_add">追加</string>
|
||||
<string name="action_search">検索</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">カードを共有しましょう</string>
|
||||
@@ -152,15 +150,15 @@
|
||||
</plurals>
|
||||
<string name="barcodeImageDescriptionWithType">バーコード形式の画像 <xliff:g>%s</xliff:g></string>
|
||||
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="settings_brown_theme">Brown</string>
|
||||
<string name="settings_grey_theme">Gray</string>
|
||||
<string name="settings_green_theme">Green</string>
|
||||
<string name="settings_sky_blue_theme">Sky Blue</string>
|
||||
<string name="settings_blue_theme">Blue</string>
|
||||
<string name="settings_violet_theme">Violet</string>
|
||||
<string name="settings_magenta_theme">Magenta</string>
|
||||
<string name="settings_pink_theme">Pink</string>
|
||||
<string name="settings_catima_theme">Catima</string>
|
||||
<string name="settings_brown_theme">ブラウン/茶色</string>
|
||||
<string name="settings_grey_theme">グレー/灰色</string>
|
||||
<string name="settings_green_theme">グリーン/緑色</string>
|
||||
<string name="settings_sky_blue_theme">スカイブルー/水色</string>
|
||||
<string name="settings_blue_theme">ブルー/青色</string>
|
||||
<string name="settings_violet_theme">バイオレット/菫色</string>
|
||||
<string name="settings_magenta_theme">マゼンタ/赤紫色</string>
|
||||
<string name="settings_pink_theme">ピンク/桃色</string>
|
||||
<string name="settings_catima_theme">Catimaテーマ</string>
|
||||
<string name="settings_theme_color">テーマカラー</string>
|
||||
<string name="settings_system_locale">システムに従う</string>
|
||||
<string name="settings_locale">言語</string>
|
||||
@@ -186,10 +184,10 @@
|
||||
<string name="group_updated">グループを更新しました</string>
|
||||
<string name="editGroup">グループ編集: <xliff:g>%s</xliff:g></string>
|
||||
<string name="selectColor">色を選択</string>
|
||||
<string name="setIcon">アイコン設定</string>
|
||||
<string name="setIcon">サムネイルを設定</string>
|
||||
<string name="group_edit">グループ編集</string>
|
||||
<string name="group_name_already_in_use">このグループ名は既に使用されています</string>
|
||||
<string name="group_name_is_empty">グループ名を入力してください</string>
|
||||
<string name="group_name_is_empty">空欄にすることはできません</string>
|
||||
<string name="shortcutSelectCard">カードを選択してください</string>
|
||||
<string name="translate_platform">on Weblate</string>
|
||||
<string name="options">オプション</string>
|
||||
@@ -198,4 +196,14 @@
|
||||
<string name="chooseValidFromDate">有効期限を選択</string>
|
||||
<string name="anyDate">無期限</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_card_orientation">バーコードの向き</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">仕事をするためにいくつかのスキャナーが必要</string>
|
||||
<string name="settings_follow_system_orientation">システムに従う</string>
|
||||
<string name="storageReadPermissionRequired">このアクションのためにストレージの読み取り権限を許可…</string>
|
||||
<string name="cameraPermissionDeniedTitle">カメラへアクセスできません</string>
|
||||
<string name="settings_follow_sensor_orientation">自動回転 (システムを無視)</string>
|
||||
<string name="cameraPermissionRequired">このアクションのためにカメラへのアクセス権限の許可…</string>
|
||||
<string name="settings_landscape_orientation">横</string>
|
||||
<string name="settings_portrait_orientation">縦</string>
|
||||
<string name="noGiftCardsGroup">いくつかのカードを作って、それらをこのグループにアサインします。</string>
|
||||
</resources>
|
||||
@@ -283,4 +283,5 @@
|
||||
<string name="addWithoutBarcode">Kaart zonder barcode toevoegen</string>
|
||||
<string name="field_must_not_be_empty">Dit veld is vereist</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Altijd draaien (negeert systeeminstellingen)</string>
|
||||
</resources>
|
||||
@@ -297,4 +297,5 @@
|
||||
<string name="addWithoutBarcode">Dodaj kartę bez kodu kreskowego</string>
|
||||
<string name="field_must_not_be_empty">Pole nie może być puste</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Zawsze obracaj (ignoruje ustawienia systemowe)</string>
|
||||
</resources>
|
||||
@@ -78,7 +78,7 @@
|
||||
<string name="points">Puncte</string>
|
||||
<string name="cardShortcut">Scurtătură de card</string>
|
||||
<string name="scanCardBarcode">Scanați codul de bare</string>
|
||||
<string name="importExportHelp">Copierea de rezervă a datelor vă permite să le mutați pe un alt dispozitiv</string>
|
||||
<string name="importExportHelp">Copierea de rezervă a datelor vă permite să le mutați pe un alt dispozitiv.</string>
|
||||
<string name="exportSuccessfulTitle">Exportată</string>
|
||||
<string name="exportFailedTitle">Export eșuat</string>
|
||||
<string name="importOptionFilesystemExplanation">Alegeți un anumit fișier din sistemul de fișiere.</string>
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="settings_keep_screen_on_summary">Dezactivează temporizatorul de ecran când vizualizați un card</string>
|
||||
<string name="rate_this_app">Acordați o recenzie acestei aplicații</string>
|
||||
<string name="credits">Contribuabili</string>
|
||||
<string name="settings_follow_sensor_orientation">Rotește întotdeauna (ignora setările de sistem)</string>
|
||||
</resources>
|
||||
@@ -297,4 +297,5 @@
|
||||
<string name="addWithoutBarcode">Добавить карту без штрих-кода</string>
|
||||
<string name="field_must_not_be_empty">Поле не может быть пустым</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Всегда поворачивать (игнорировать системные настройки)</string>
|
||||
</resources>
|
||||
@@ -290,4 +290,5 @@
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os a prispievateľov</string>
|
||||
<string name="show_archived_cards">Zobraziť archivované karty</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Vždy otáčať (ignoruje nastavenie systému)</string>
|
||||
</resources>
|
||||
@@ -283,4 +283,5 @@
|
||||
<string name="addWithoutBarcode">Barkodsuz bir kart ekle</string>
|
||||
<string name="field_must_not_be_empty">Alan boş olamaz</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Her zaman döndür (sistem ayarlarını yok sayar)</string>
|
||||
</resources>
|
||||
@@ -87,7 +87,7 @@
|
||||
<string name="app_license">Вільне копілефт програмне забезпечення, ліцензоване GPLv3+</string>
|
||||
<string name="app_copyright_old">Створено на основі Loyalty Card Keychain
|
||||
\nавторські права © 2016–2020 Branden Archer</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Авторські права © 2019–<xliff:g>%d</xliff:g> Sylvia van Os та вкладники</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Авторські права © 2019–<xliff:g>%d</xliff:g> Sylvia van Os та співавтори</string>
|
||||
<string name="about">Про застосунок</string>
|
||||
<string name="importOptionApplicationButton">Використати інший застосунок</string>
|
||||
<string name="importOptionApplicationExplanation">Використайте інший застосунок чи ваш улюблений файловий менеджер для відкриття файлу.</string>
|
||||
@@ -131,7 +131,7 @@
|
||||
<string name="action_search">Пошук</string>
|
||||
<string name="turn_flashlight_off">Вимкнути спалах</string>
|
||||
<string name="turn_flashlight_on">Увімкнути спалах</string>
|
||||
<string name="failedGeneratingShareURL">Збій створення URL обміну. Будь ласка повідомте про цю помилку.</string>
|
||||
<string name="failedGeneratingShareURL">Збій створення URL обміну. Будь ласка повідомте про це.</string>
|
||||
<string name="passwordRequired">Будь ласка введіть пароль</string>
|
||||
<string name="takePhoto">Зробити світлину</string>
|
||||
<string name="removeImage">Видалити зображення</string>
|
||||
@@ -140,9 +140,9 @@
|
||||
<string name="photos">Світлини</string>
|
||||
<string name="backImageDescription">Тильна сторона</string>
|
||||
<string name="frontImageDescription">Лицьова сторона</string>
|
||||
<string name="importStocardMessage">Виберіть експорт <i> ***.zip </i> зі Stocard для імпорту.
|
||||
<string name="importStocardMessage">Виберіть експорт <i> ***.zip </i> з Stocard для імпорту.
|
||||
\nОтримайте його, надіславши електронного листа support@stocardapp.com з проханням експортувати ваші дані.</string>
|
||||
<string name="importStocard">Імпорт із Stocard</string>
|
||||
<string name="importStocard">Імпорт з Stocard</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one">Обрано: <xliff:g>%d</xliff:g></item>
|
||||
<item quantity="few">Обрані: <xliff:g>%d</xliff:g></item>
|
||||
@@ -280,13 +280,13 @@
|
||||
<string name="settings_keep_screen_on_summary">Вимикає тайм-аут екрана під час перегляду картки</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Вимикає блокування екрана під час перегляду картки</string>
|
||||
<string name="settings_allow_content_provider_read_title">Дозволити іншим застосункам доступ до моїх даних</string>
|
||||
<string name="settings_oled_dark_summary">Зменшує використання батареї на екранах з OLED</string>
|
||||
<string name="settings_oled_dark_summary">Зменшує використання батареї на OLED екранах</string>
|
||||
<string name="settings_category_title_cards">Картки</string>
|
||||
<string name="settings_category_title_general">Загальні</string>
|
||||
<string name="settings_category_title_privacy">Конфіденційність</string>
|
||||
<string name="view_online">Переглянути онлайн</string>
|
||||
<string name="action_display_options">Налаштування дисплея</string>
|
||||
<string name="app_copyright_short">Авторські права © Sylvia van Os та вкладники</string>
|
||||
<string name="action_display_options">Параметри відображення</string>
|
||||
<string name="app_copyright_short">Авторські права © Sylvia van Os та співавтори</string>
|
||||
<string name="show_archived_cards">Показати архівовані картки</string>
|
||||
<string name="card_id_must_not_be_empty">ID картки не повинен бути порожнім</string>
|
||||
<string name="balanceParsingFailed">Неправильний баланс</string>
|
||||
@@ -297,4 +297,5 @@
|
||||
<string name="addWithoutBarcode">Додати картку без штрих-коду</string>
|
||||
<string name="field_must_not_be_empty">Поле вводу не повинно бути порожнім</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Завжди обертати (ігнорувати системні налаштування)</string>
|
||||
</resources>
|
||||
@@ -48,7 +48,7 @@
|
||||
<string name="expiryStateSentence">Hết hạn: <xliff:g>%s</xliff:g></string>
|
||||
<string name="all">Tất cả</string>
|
||||
<string name="setIcon">Đặt ảnh con</string>
|
||||
<string name="cardShortcut">Lối Tắt Cho Thẻ</string>
|
||||
<string name="cardShortcut">Lối tắt thẻ</string>
|
||||
<string name="moveUp">Đẩy lên</string>
|
||||
<string name="noBarcodeFound">Không tìm thấy mã vạch nào</string>
|
||||
<string name="settings_category_title_general">Tổng quan</string>
|
||||
@@ -86,7 +86,7 @@
|
||||
<string name="yes">Có</string>
|
||||
<string name="barcodeType">Loại mã vạch</string>
|
||||
<string name="enter_card_id">Nhập số ID hoặc văn bản lên thẻ của bạn</string>
|
||||
<string name="unarchived">Thẻ không lưu trữ</string>
|
||||
<string name="unarchived">Thẻ đã được mở khóa</string>
|
||||
<string name="noBarcode">Không có mã vạch</string>
|
||||
<string name="chooseValidFromDate">Chọn ngày hợp lệ</string>
|
||||
<string name="action_display_options">Tùy chỉnh hiển thị</string>
|
||||
@@ -151,7 +151,7 @@
|
||||
<string name="options">Tùy chọn</string>
|
||||
<string name="sendLabel">Gửi…</string>
|
||||
<string name="importOptionFilesystemButton">Lấy từ hệ thống</string>
|
||||
<string name="settings_magenta_theme">Màu tím đỏ</string>
|
||||
<string name="settings_magenta_theme">Màu sắc tố tím và đỏ</string>
|
||||
<string name="importOptionApplicationButton">Dùng ứng dụng khác</string>
|
||||
<string name="failedGeneratingShareURL">Không tạo được URL chia sẻ. Xin hãy báo cáo sự cố này.</string>
|
||||
<string name="selectColor">Chọn màu</string>
|
||||
@@ -274,4 +274,7 @@
|
||||
<string name="switchToFrontImage">Chuyển sang hình ảnh phía trước</string>
|
||||
<string name="openBackImageInGalleryApp">Mở lại hình ảnh trong ứng dụng thư viện</string>
|
||||
<string name="failedToRetrieveImageFile">Không thể truy xuất tệp hình ảnh</string>
|
||||
<string name="app_contributors">Được thực hiện bởi: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="app_license">Phần mềm libre được bảo vệ bản quyền theo giấy phép GPLv3+.</string>
|
||||
<string name="settings_follow_sensor_orientation">Luôn xoay (bỏ qua thiết đặt hệ thống)</string>
|
||||
</resources>
|
||||
@@ -276,4 +276,5 @@
|
||||
<string name="addWithoutBarcode">不使用条形码添加卡片</string>
|
||||
<string name="field_must_not_be_empty">字段不能为空</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">始终旋转(忽略系统设置)</string>
|
||||
</resources>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="action_search">搜尋</string>
|
||||
<string name="action_add">新增</string>
|
||||
<string name="noGiftCards">點選 + 按鈕以新增卡片,或從 ⋮ 選單中匯入。</string>
|
||||
@@ -275,4 +275,5 @@
|
||||
<string name="enter_card_id">輸入卡片上的 ID 或文字</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">一些條碼掃描器需要此設定方能運作</string>
|
||||
<string name="field_must_not_be_empty">欄位不能為空</string>
|
||||
<string name="settings_follow_sensor_orientation">始終旋轉(忽略系統設定)</string>
|
||||
</resources>
|
||||
@@ -1,9 +1,8 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.junit.Test;
|
||||
@@ -11,12 +10,6 @@ import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.android.controller.ActivityController;
|
||||
import org.robolectric.shadows.ShadowLooper;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
@@ -13,19 +19,12 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Currency;
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class DatabaseTest {
|
||||
private SQLiteDatabase mDatabase;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
@@ -14,9 +17,6 @@ import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class ImportExportActivityTest {
|
||||
private void registerIntentHandler(String handler) {
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.database.Cursor;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
@@ -45,12 +51,6 @@ import protect.card_locker.importexport.ImportExportResultType;
|
||||
import protect.card_locker.importexport.MultiFormatExporter;
|
||||
import protect.card_locker.importexport.MultiFormatImporter;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class ImportExportTest {
|
||||
private Activity activity;
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.graphics.Color;
|
||||
@@ -19,10 +23,6 @@ import java.math.BigDecimal;
|
||||
import java.util.Currency;
|
||||
import java.util.Date;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class ImportURITest {
|
||||
private ImportURIHelper importURIHelper;
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.SharedPreferences;
|
||||
import android.database.Cursor;
|
||||
@@ -8,6 +12,9 @@ import android.graphics.Color;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -20,13 +27,6 @@ import org.robolectric.shadows.ShadowLog;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Currency;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class LoyaltyCardCursorAdapterTest {
|
||||
private Activity activity;
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static android.os.Looper.getMainLooper;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -27,9 +35,12 @@ import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.google.android.material.bottomappbar.BottomAppBar;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
@@ -59,21 +70,6 @@ import java.time.temporal.ChronoUnit;
|
||||
import java.util.Currency;
|
||||
import java.util.Date;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.widget.TextViewCompat;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import static android.os.Looper.getMainLooper;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class LoyaltyCardViewActivityTest {
|
||||
private final String BARCODE_DATA = "428311627547";
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import static android.os.Looper.getMainLooper;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
import android.content.SharedPreferences;
|
||||
@@ -10,6 +15,8 @@ import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
|
||||
@@ -18,20 +25,12 @@ import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.android.controller.ActivityController;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowActivity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import static android.os.Looper.getMainLooper;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class MainActivityTest {
|
||||
private SharedPreferences prefs;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
plugins {
|
||||
id("com.android.application") version "8.2.1" apply false
|
||||
id("com.android.application") version "8.2.2" apply false
|
||||
id("com.github.spotbugs") version "5.1.4" apply false
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,9 @@
|
||||
1. Press "Commit" and "Push" on Weblate to ensure all translations are up to date
|
||||
2. Merge Weblate pull request
|
||||
3. Update `CHANGELOG.md` with the new version name and the release date
|
||||
4. Update `app/build.gradle` with the new `versionCode` and `versionName`
|
||||
4. Update `app/build.gradle.kts` with the new `versionCode` and `versionName`
|
||||
5. Build a new .apk: `KEYSTORE=/path/to/keystore KEYSTORE_ALIAS=catima ./build.sh`
|
||||
6. Upload the APK to Google Play Open Testing
|
||||
7. Push the version update: `git add CHANGELOG.md app/build.gradle && git commit -m "Release Catima <VERSION>" && git push`
|
||||
7. Push the version update: `git add CHANGELOG.md app/build.gradle.kts && git commit -m "Release Catima <VERSION>" && git push`
|
||||
8. Create a new release on GitHub and attach the `app-release.apk` and `SHA256SUMS` files
|
||||
9. After the release has been approved on Google Play Production, update the metadata there: `bundle exec fastlane supply --version_code <VERSION_CODE>`
|
||||
|
||||
@@ -3,3 +3,4 @@
|
||||
- Oprava okrajového případu způsobujícího neplatný stav uživatelského rozhraní při přepínání zobrazování archivu
|
||||
- Použití motivu nebo barvy karty pro navigační lištu (Android 8.1+)
|
||||
- Aktualizovaný výběr data platnosti a vypršení platnosti
|
||||
- Přidání možnosti vždy otáčet (ignoruje nastavení systému)
|
||||
|
||||
1
fastlane/metadata/android/cs-CZ/changelogs/133.txt
Normal file
1
fastlane/metadata/android/cs-CZ/changelogs/133.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Cílový systém Android 14
|
||||
@@ -13,7 +13,7 @@ S tímto nezbytným nástrojem pro každodenní nošení (EDC) můžete nahradi
|
||||
- Sdílejte kupony, exkluzivní nabídky, propagační kódy nebo karty a kódy pomocí libovolné aplikace.
|
||||
- Tmavý motiv a možnosti zpřístupnění pro uživatele se zrakovým postižením.
|
||||
- Vytvořeno pro všechny komunitou svobodného softwaru.
|
||||
- Lokalizované ručně prováděné překlady pro více než 20 jazyků.
|
||||
- Lokalizované ručně prováděné překlady pro více než 40 jazyků.
|
||||
- Zdarma, podporováno příspěvky komunity.
|
||||
- Používejte, studujte, měňte a sdílejte dle libosti – <i>se všemi</i>.
|
||||
- Nejen svobodný software / open source. <i>Copylefted</i> svobodný software (GPLv3+) na správu karet.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
- Wenn du eine Karten-ID bearbeitest wird die vorhandene ID zu Beginn ausgefüllt. (Pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
|
||||
- Wenn du eine Karten-ID bearbeitest, wird die vorhandene ID zu Beginn ausgefüllt. (Pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
|
||||
- Begrenzen der Breite der erzeugten Barcodes, um die Speichernutzung und Fehler durch Speicherüberschreitung zu reduzieren. (Pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
|
||||
- Beim Bearbeiten einer Karte wird die Schaltfläche "Karte eingeben" in "Karte bearbeiten" geändert, wenn die Karten-ID existiert. (Pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
|
||||
- Beim Bearbeiten einer Karte wird die Schaltfläche "Karte eingeben" in "Karte bearbeiten" geändert, wenn bereits eine Karten-ID existiert. (Pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
|
||||
- Farbschema angepasst so, dass mit dem App-Symbol kompatibel ist und das Layout beim Anzeigen einer Karte übersichtlicher gestaltet. (Pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
|
||||
- Hinzufügen eines Intro-Assistenten, der beim ersten Start der App gestartet wird. (Pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))
|
||||
|
||||
@@ -1 +1 @@
|
||||
- Verwendete Bibliotheken upgedatet
|
||||
- Verwendete Bibliotheken aktualisiert
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
- "Karte hinzufügen" Worklow verbessert
|
||||
- Verbesserungen im Validierungsablauf
|
||||
- Seltener UI Problemfall behoben, wenn man die Archivansicht umgeschaltet hat
|
||||
- Theme oder Kartenfarbe wird für die Navigationsleiste verwendet (Android 8.1+)
|
||||
- Fehler behoben, der die Benutzeroberfläche beim Umschalten der Archivansicht in einen ungültigen Zustand versetzte
|
||||
- System- oder Kartenfarbe wird für die Navigationsleiste benutzt (Android 8.1+)
|
||||
- Aktualisierung des Datumsselektors für Gültigkeits- und Ablaufdatum
|
||||
- Option hinzugefügt, um die Drehung der Anzeige zu erzwingen (ignoriert die Systemeinstellung)
|
||||
|
||||
1
fastlane/metadata/android/de-DE/changelogs/133.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/133.txt
Normal file
@@ -0,0 +1 @@
|
||||
- auf Android 14 richten
|
||||
@@ -13,9 +13,9 @@ Mit diesem unverzichtbaren Programm schaffst du Platz für Bargeld statt für nu
|
||||
- Teile Gutscheine, exklusive Angebote, Werbeaktionscodes oder Karten und sonstige Codes mit allen Apps.
|
||||
- Dunkles Design und Barrierefreiheit für sehbehinderte Nutzer.
|
||||
- Von der Freien-Software-Gemeinschaft für alle Menschen gemacht.
|
||||
- Lokalisierte, menschliche Übersetzungen für mehr als 20 Sprachen.
|
||||
- Lokalisierte, menschliche Übersetzungen für mehr als 40 Sprachen.
|
||||
- Kostenlos, unterstützt durch Gemeinschaftsbeiträge.
|
||||
- Verwende, prüfe, ändere und teile die App, wie du willst; <i>mit Allen</i>.
|
||||
- Verwende, prüfe, ändere und teile die App, wie du willst; <i>mit allen</i>.
|
||||
- Nicht nur freie und quelloffene Software. Eine freie, <i>Copylefted</i> Software-Kartenverwaltung (GPLv3+).
|
||||
|
||||
Vereinfache dein Leben und deine Einkäufe, und verliere nie wieder einen Beleg, eine Gutscheinkarte oder ein Flugticket.
|
||||
|
||||
3
fastlane/metadata/android/en-US/changelogs/133.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/133.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Target Android 14
|
||||
- Open card icon in gallery on touch
|
||||
- Improve design of Photos tab in edit view
|
||||
@@ -13,7 +13,7 @@ With this essential everyday carry (EDC) tool you can replace useless plastic wi
|
||||
- Share coupons, exclusive offers, promo codes, or cards and codes using any app.
|
||||
- Dark theme and accessibility options for vision impaired users.
|
||||
- Made for everyone by the libre software community.
|
||||
- Localized hand-made translations for 20+ languages.
|
||||
- Localized hand-made translations for 40+ languages.
|
||||
- Gratis, supported by community contributions.
|
||||
- Use, study, change and share it as you wish; <i>with all</i>.
|
||||
- Not only Free Software / Open Source. <i>Copylefted</i> libre software (GPLv3+) card management.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
- Cuando se edita un ID de tarjeta, se pre-rellena ahora el ID existente al empezar. (pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
|
||||
- Restricción del ancho de los códigos de barras generados para reducir el uso de memoria y los errores de memoria agotada. (pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
|
||||
-En la edición de tarjeta, cambio del botón "Introducir Tarjeta" por "Editar Tarjeta" si ya existe un ID de tarjeta. (pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
|
||||
-Cambio de la combinación de colores para ser más tenue y compatible con el icono de la aplicación, y modificación de la distribución al ver una tarjeta por una más limpia. (pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
|
||||
-Adición de un asistente de inicio que se ejecute en el primer uso de la aplicación. (pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))
|
||||
- Al editar un ID de tarjeta, pre-poblar el ID existente para comenzar. (pull #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
|
||||
- Limitar el ancho de los códigos de barras generados para reducir el uso de memoria y los errores de memoria. (pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
|
||||
- Cuando edite una tarjeta, cambie el botón "Enter Card" para decir "Editar Tarjeta" si ya existe una tarjeta ID. (pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
|
||||
- Cambiar el esquema de color para que sea más suave y compatible con el icono de la aplicación, y cambiar el diseño al ver una tarjeta para que sea más limpio. (pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
|
||||
- Añadir un asistente de introducción que se inicia en el primer lanzamiento de la aplicación. (pull #108 (https://github.com/brarcher/loyalty-card-locker/pull/108))
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
Detenga la búsqueda de tarjetas de recompensa de plástico durante el pago en la tienda o en la tienda web.
|
||||
<b>Escanea códigos de barras a tu dispositivo usando su cámara, olvídate de las tarjetas.</b>
|
||||
Deje de buscar tarjetas de recompensa de plástico al pasar por caja en tiendas o tiendas web.
|
||||
<b>Escanea códigos de barras en tu dispositivo usando su cámara, olvídate de las tarjetas.</b>
|
||||
|
||||
Olvídese de su billetera o manténgala ultraligera para objetos de valor.
|
||||
Olvídese de la cartera, o manténgala ultraligera para los objetos de valor.
|
||||
|
||||
Con esta herramienta esencial de transporte diario (EDC), puede reemplazar el plástico inútil con dinero en efectivo.
|
||||
Con esta herramienta esencial para llevar a diario (EDC) puede sustituir el plástico inútil por dinero en efectivo.
|
||||
|
||||
- Evita espiar con muy pocos permisos. Sin acceso a Internet y sin anuncios.
|
||||
- Añade tarjetas o códigos con nombres y colores personalizables.
|
||||
- Entrada de código manual si no hay un código de barras para almacenar o no se puede usar.
|
||||
- Importación de tarjetas y códigos desde ficheros, Catima, FidMe, Llavero Tarjeta Fidelización, Stocard y Bóveda de Vales.
|
||||
- Haga una copia de seguridad de todas sus tarjetas y transfiéralas a un nuevo dispositivo si lo desea.
|
||||
- Comparta cupones, ofertas exclusivas, códigos promocionales o tarjetas y códigos usando cualquier aplicación.
|
||||
- Evite espiar con muy pocos permisos. Sin acceso a Internet y sin anuncios.
|
||||
- Añadir tarjetas o códigos con nombres y colores personalizables.
|
||||
- Entrada manual de código si no hay código de barras para almacenar, o no se puede utilizar.
|
||||
- Importar tarjetas y códigos de archivos, Catima, FidMe, Loyalty Card Keychain, Stocard y Voucher Vault.
|
||||
- Haga una copia de seguridad de todas sus tarjetas y transferirlas a un nuevo dispositivo si lo desea.
|
||||
- Comparte cupones, ofertas exclusivas, códigos promocionales o tarjetas y códigos utilizando cualquier aplicación.
|
||||
- Tema oscuro y opciones de accesibilidad para usuarios con problemas de visión.
|
||||
- Hecho para todos por la comunidad de software libre.
|
||||
- Traducciones hechas a mano localizadas para más de 20 idiomas.
|
||||
- Gratis, apoyado por contribuciones de la comunidad.
|
||||
- Úsalo, estúdialo, cámbialo y compártelo como quieras; <i>con todo</i>.
|
||||
- No solo Software Libre / Código Abierto. Gestión de tarjetas de software libre (GPLv3+) con <i>copyleft</i>.
|
||||
- Hecho para todos por la comunidad del software libre.
|
||||
- Traducciones localizadas a mano para más de 40 idiomas.
|
||||
- Gratis, gracias a las contribuciones de la comunidad.
|
||||
- Utilízala, estúdiala, modifícala y compártela como quieras; <i>con todos</i>.
|
||||
- No sólo Software Libre / Open Source. <i>Copylefted</i> software libre (GPLv3+) gestión de tarjetas.
|
||||
|
||||
Simplifique su vida y sus compras, y nunca más pierda un recibo en papel, una tarjeta de regalo de pago en la tienda o un boleto de avión.
|
||||
Llévate todas tus recompensas y bonificaciones contigo y ahorra sobre la marcha.
|
||||
Simplifique su vida y sus compras, y no vuelva a perder un recibo en papel, una tarjeta regalo de pago en tienda o un billete de avión.
|
||||
Llévate todos tus premios y bonificaciones contigo y ahorra sobre la marcha.
|
||||
|
||||
5
fastlane/metadata/android/hi-IN/changelogs/11.txt
Normal file
5
fastlane/metadata/android/hi-IN/changelogs/11.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
- कार्ड आईडी संपादित करते समय, शुरू करने के लिए मौजूदा आईडी को पहले से भरें। (खींचें #94 (https://github.com/brarcher/loyalty-card-locker/pull/94))
|
||||
- मेमोरी उपयोग को कम करने और मेमोरी त्रुटियों को दूर करने के लिए जेनरेट किए गए बारकोड की चौड़ाई सीमित करें। (#103 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/103))
|
||||
- कार्ड संपादित करते समय, यदि कार्ड आईडी पहले से मौजूद है तो "कार्ड दर्ज करें" बटन को बदलकर "कार्ड संपादित करें" कहें। (#104 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/104))
|
||||
- रंग योजना को नरम और ऐप आइकन के साथ संगत करने के लिए बदलें, और कार्ड को साफ-सुथरा देखने के लिए लेआउट बदलें। (#107 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/107))
|
||||
- एक परिचय विज़ार्ड जोड़ें जो ऐप के पहले लॉन्च पर लॉन्च होता है। (#108 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/108))
|
||||
@@ -1,4 +1,4 @@
|
||||
-लम्बे दबाव पर गैलरी में इमेज को खोलें
|
||||
-संवादों में मटेरियल स्टाइल लागू करें
|
||||
-Catima पर इमेज साझा करके कार्ड बनाने का समर्थन
|
||||
-कार्ड स्क्रीन पर त्वरित खर्च बटन जोड़ें
|
||||
- लंबे समय तक दबाकर रखने पर गैलरी में छवि खोलें
|
||||
- संवाद में सामग्री शैली लागू करें
|
||||
- कैटिमा में एक छवि साझा करके ग्रीटिंग कार्ड का समर्थन करें
|
||||
- कार्ड स्क्रीन में त्वरित खर्च बटन जोड़ें
|
||||
|
||||
2
fastlane/metadata/android/hi-IN/changelogs/116.txt
Normal file
2
fastlane/metadata/android/hi-IN/changelogs/116.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- अनुमति न देने वाले त्वरित व्यय संवाद को ठीक करें, विभाजक
|
||||
- फ़ाइल प्रबंधक से छवि लोड करने का समर्थन करें
|
||||
1
fastlane/metadata/android/hi-IN/changelogs/124.txt
Normal file
1
fastlane/metadata/android/hi-IN/changelogs/124.txt
Normal file
@@ -0,0 +1 @@
|
||||
- कार्ड अवलोकन में वास्तव में कौन सा विवरण देखना है, इसका चयन करने में सहायता
|
||||
4
fastlane/metadata/android/hi-IN/changelogs/127.txt
Normal file
4
fastlane/metadata/android/hi-IN/changelogs/127.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- बारकोड प्रतिपादन में सुधार
|
||||
- बाहरी ऐप्स के साथ बुनियादी अंतरसंचालनीयता (एंड्रॉइड 6.0+)
|
||||
- पुनर्गठित सेटिंग्स स्क्रीन
|
||||
- कुछ ब्राउज़रों से आयात को ठीक करें जो शेयर यूआरएल में पिछला / जोड़ते हैं
|
||||
3
fastlane/metadata/android/hi-IN/changelogs/129.txt
Normal file
3
fastlane/metadata/android/hi-IN/changelogs/129.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- बेहतर कैटिमा आयातक (आयात करते समय गुम हुए कार्डों को ठीक करता है)
|
||||
- वैध दिनांक/समाप्ति तिथि निर्धारित करते समय स्क्रीन को घुमाते समय क्रैश को ठीक करें
|
||||
- यूआई में मामूली बदलाव
|
||||
2
fastlane/metadata/android/hi-IN/changelogs/13.txt
Normal file
2
fastlane/metadata/android/hi-IN/changelogs/13.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- v0.11 में बदलाव से बारकोड ड्राइंग की मेमोरी का उपयोग कम हो गया, लेकिन बारकोड आयाम प्रभावित हुआ। मेमोरी उपयोग को कम करते हुए बारकोड आयामों को बनाए रखने के लिए इसे अब बदल दिया गया है। (खींचें #126 (https://github.com/brarcher/loyalty-card-locker/pull/126))
|
||||
- जर्मन और फ़्रेंच अनुवाद अपडेट करें। (#122 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/122), #124 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/124) , #125 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/125))
|
||||
4
fastlane/metadata/android/hi-IN/changelogs/130.txt
Normal file
4
fastlane/metadata/android/hi-IN/changelogs/130.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- मामूली यूआई सुधार
|
||||
- कार्ड संपादन स्क्रीन को घुमाते समय रीसेट होने वाली वैध और समाप्ति तिथियों को ठीक करें
|
||||
- कलर पिकर दिखाए जाने पर स्क्रीन को घुमाते समय क्रैश को ठीक करें
|
||||
- स्टोकार्ड आयात ठीक करता है
|
||||
3
fastlane/metadata/android/hi-IN/changelogs/131.txt
Normal file
3
fastlane/metadata/android/hi-IN/changelogs/131.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- "संग्रह मोड" को "प्रदर्शन विकल्प" (पहले "विवरण दिखाएं") मेनू में ले जाएं
|
||||
- एंड्रॉइड 13 प्रति-ऐप भाषा समर्थन
|
||||
- ऐप में गोपनीयता नीति, चेंजलॉग और लाइसेंस एम्बेड करें
|
||||
6
fastlane/metadata/android/hi-IN/changelogs/132.txt
Normal file
6
fastlane/metadata/android/hi-IN/changelogs/132.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
- "कार्ड जोड़ें" वर्कफ़्लो को परिष्कृत करें
|
||||
- सत्यापन प्रवाह में सुधार
|
||||
- संग्रह दिखाते समय टॉगल करते समय अमान्य यूआई स्थिति पैदा करने वाले एज केस को ठीक करें
|
||||
- नेविगेशन बार के लिए थीम या कार्ड रंग का उपयोग करें (एंड्रॉइड 8.1+)
|
||||
- अद्यतन वैधता और समाप्ति तिथि चयनकर्ता
|
||||
- हमेशा घुमाने का विकल्प जोड़ें (सिस्टम सेटिंग्स को अनदेखा करें)
|
||||
1
fastlane/metadata/android/hi-IN/changelogs/133.txt
Normal file
1
fastlane/metadata/android/hi-IN/changelogs/133.txt
Normal file
@@ -0,0 +1 @@
|
||||
- लक्ष्य एंड्रॉइड 14
|
||||
3
fastlane/metadata/android/hi-IN/changelogs/14.txt
Normal file
3
fastlane/metadata/android/hi-IN/changelogs/14.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- कार्ड प्रदर्शित करते समय स्क्रीन रोटेशन लॉक मेनू विकल्प जोड़ें। यदि लॉक किया गया है, तो स्क्रीन अपने "प्राकृतिक" ओरिएंटेशन में परिवर्तित हो जाएगी और आगे स्क्रीन रोटेशन अवरुद्ध हो जाएगा। (खींचें #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))
|
||||
- यदि कोई कार्ड मुख्य स्क्रीन से चुना गया है लेकिन लोड नहीं किया जा सकता है, तो एप्लिकेशन शान से विफल हो जाता है और एक संदेश पोस्ट करता है। (खींचें #132 (https://github.com/brarcher/loyalty-card-locker/pull/132))
|
||||
- उस मामले को ठीक करें जहां इंट्रो विज़ार्ड के लिए लेआउट आईडी नहीं मिल सके। (खींचें #128 (https://github.com/brarcher/loyalty-card-locker/pull/128))
|
||||
2
fastlane/metadata/android/hi-IN/changelogs/15.txt
Normal file
2
fastlane/metadata/android/hi-IN/changelogs/15.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- ऐप शॉर्टकट्स (एंड्रॉइड 7.1+) के लिए समर्थन जोड़ें, जहां सबसे हाल ही में उपयोग किए गए कार्ड शॉर्टकट के रूप में दिखाई देंगे। (#145 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/145))
|
||||
- एंड्रॉइड 7.1 से नीचे चलने वाले उपकरणों का समर्थन करने के लिए एक विजेट जोड़ें जो पिन किए गए ऐप शॉर्टकट की तरह काम करता है। (खींचें #142 (https://github.com/brarcher/loyalty-card-locker/pull/142))
|
||||
5
fastlane/metadata/android/hi-IN/changelogs/16.txt
Normal file
5
fastlane/metadata/android/hi-IN/changelogs/16.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
- कार्ड जोड़ते या संपादित करते समय होम स्क्रीन पर शॉर्टकट जोड़ने के लिए समर्थन जोड़ें। (#155 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/155))
|
||||
- विजेट हटा दें, क्योंकि यह शॉर्टकट का खराब विकल्प था। (#155 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/155))
|
||||
- एंड्रॉइड 7+ पर बैकअप निर्यात करना ठीक करें। (#153 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/153))
|
||||
- बैकअप डेटा निर्यात करते समय अधिक सटीक माइम प्रकार की रिपोर्ट करें। (खींचें #156 (https://github.com/brarcher/loyalty-card-locker/pull/156))
|
||||
- उस बग को ठीक करें जहां कार्ड को संपादित नहीं किया जा सका। (#155 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/155))
|
||||
2
fastlane/metadata/android/hi-IN/changelogs/17.txt
Normal file
2
fastlane/metadata/android/hi-IN/changelogs/17.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- लॉन्चर/होमस्क्रीन से लॉयल्टी कार्ड शॉर्टकट जोड़ने के लिए समर्थन जोड़ें। (खींचें #161 (https://github.com/brarcher/loyalty-card-locker/pull/161))
|
||||
- ऐप से ही लॉयल्टी कार्ड शॉर्टकट जोड़ने के लिए समर्थन हटा दें। इससे शॉर्टकट अनुमति की आवश्यकता समाप्त हो जाती है। (खींचें #163 (https://github.com/brarcher/loyalty-card-locker/pull/163))
|
||||
2
fastlane/metadata/android/hi-IN/changelogs/18.txt
Normal file
2
fastlane/metadata/android/hi-IN/changelogs/18.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- एंड्रॉइड एसडीके 24+ पर समस्या ठीक करें जहां फ़ाइल चयनकर्ता आयात विकल्प का उपयोग करने से क्रैश हो जाएगा। (#170 खींचें (https://github.com/brarcher/loyalty-card-locker/pull/170))
|
||||
- नया आइकन और रंग योजना। (खींचें #171 (https://github.com/brarcher/loyalty-card-locker/pull/171))
|
||||
1
fastlane/metadata/android/hi-IN/changelogs/20.txt
Normal file
1
fastlane/metadata/android/hi-IN/changelogs/20.txt
Normal file
@@ -0,0 +1 @@
|
||||
- कुछ एंड्रॉइड संस्करणों (संभवतः एंड्रॉइड 5 और उससे नीचे) पर इंस्टॉल के दौरान वर्कअराउंड क्रैश। (खींचें #184 (https://github.com/brarcher/loyalty-card-locker/pull/184))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user