Compare commits

..

23 Commits

Author SHA1 Message Date
Sylvia van Os
0431803336 Load thumbnails on main screen asynchronously
Decoding a bitmap can be slow. On slow devices, loading all the images
as soon as the card should be shown can lead to UI freezes.

By loading the thumbnail asynchronously, scrolling quickly remains
smooth even on slow devices.
2024-06-27 18:28:27 +02:00
Sylvia van Os
5f5280e2a6 Merge pull request #1957 from CatimaLoyalty/dependabot/gradle/androidx.test-core-1.6.1
Bump androidx.test:core from 1.6.0 to 1.6.1
2024-06-27 17:40:43 +02:00
dependabot[bot]
220d6cb993 Bump androidx.test:core from 1.6.0 to 1.6.1
Bumps androidx.test:core from 1.6.0 to 1.6.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-27 02:13:00 +00:00
Sylvia van Os
5f33807560 Merge pull request #1956 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-26 17:54:21 +02:00
Marian Turba
6d64a900f0 Translated using Weblate (Slovak)
Currently translated at 97.0% (130 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2024-06-26 15:09:57 +02:00
Allan Nordhøy
3550c2a9f7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.8% (303 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2024-06-26 15:09:56 +02:00
Sylvia van Os
0bdda70761 Merge pull request #1955 from CatimaLoyalty/dependabot/gradle/androidx.test-core-1.6.0
Bump androidx.test:core from 1.5.0 to 1.6.0
2024-06-25 17:52:25 +02:00
dependabot[bot]
01debf1a09 Bump androidx.test:core from 1.5.0 to 1.6.0
Bumps androidx.test:core from 1.5.0 to 1.6.0.

---
updated-dependencies:
- dependency-name: androidx.test:core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-25 02:02:34 +00:00
Sylvia van Os
76df487661 Merge pull request #1953 from CatimaLoyalty/dependabot/github_actions/peter-evans/create-pull-request-6.1.0
Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0
2024-06-24 21:58:08 +02:00
dependabot[bot]
73a129b430 Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.0.5 to 6.1.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6.0.5...v6.1.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-24 02:09:21 +00:00
Sylvia van Os
71afba8ab9 Merge pull request #1951 from CatimaLoyalty/create-pull-request/patch-1719116160
Update contributors
2024-06-23 13:58:06 +02:00
TheLastProject
c0b01fca35 Update contributors 2024-06-23 04:16:00 +00:00
Sylvia van Os
7158de8b81 Merge pull request #1950 from CatimaLoyalty/create-pull-request/patch-1719066500
Update feature graphic
2024-06-22 16:39:03 +02:00
TheLastProject
c1afefb712 Update feature graphic 2024-06-22 14:28:19 +00:00
Sylvia van Os
d924029a5a Merge pull request #1946 from CatimaLoyalty/fix/featuregraphic_generation
Fix kn-IN feature graphic generation
2024-06-22 16:27:19 +02:00
Sylvia van Os
f5d104fa68 Fix kn-IN feature graphic generation 2024-06-22 16:25:33 +02:00
Sylvia van Os
1c0c1c6efc Merge pull request #1941 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-06-21 21:28:13 +02:00
Sylvia van Os
4d4e449150 Update fastlane 2024-06-20 17:13:09 +02:00
Krisna A. Prayoga
900f92cbd6 Translated using Weblate (Indonesian)
Currently translated at 97.0% (130 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2024-06-19 17:09:45 +00:00
Krisna A. Prayoga
48aab74737 Translated using Weblate (Indonesian)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2024-06-19 17:09:44 +00:00
しいたけ
427aa039d6 Translated using Weblate (Japanese)
Currently translated at 3.7% (5 of 134 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ja/
2024-06-19 17:09:43 +00:00
ΣΤΑΥΡΟΣ ΔΑΛΙΑΚΟΠΟΥΛΟΣ
91909e2ce3 Translated using Weblate (Greek)
Currently translated at 100.0% (313 of 313 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/el/
2024-06-19 17:09:42 +00:00
Sylvia van Os
967f20edc7 Add missing date to changelog 2024-06-19 18:51:24 +02:00
29 changed files with 94 additions and 55 deletions

View File

@@ -35,7 +35,7 @@ jobs:
- name: Run converter script - name: Run converter script
run: python .scripts/changelog_to_fastlane.py run: python .scripts/changelog_to_fastlane.py
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5 uses: peter-evans/create-pull-request@v6.1.0
with: with:
title: "Update Fastlane changelogs" title: "Update Fastlane changelogs"
commit-message: "Update Fastlane changelogs" commit-message: "Update Fastlane changelogs"

View File

@@ -33,7 +33,7 @@ jobs:
file_in_repo: app/src/main/res/raw/contributors.txt file_in_repo: app/src/main/res/raw/contributors.txt
min_commit_count: 5 min_commit_count: 5
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5 uses: peter-evans/create-pull-request@v6.1.0
with: with:
title: "Update contributors" title: "Update contributors"
commit-message: "Update contributors" commit-message: "Update contributors"

View File

@@ -6,6 +6,7 @@ on:
- main - main
paths: paths:
- 'fastlane/**/title.txt' - 'fastlane/**/title.txt'
- '.scripts/generate_feature_graphic/**'
permissions: permissions:
actions: none actions: none
checks: none checks: none
@@ -38,7 +39,7 @@ jobs:
- name: Generate featureGraphic.png for each language - name: Generate featureGraphic.png for each language
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5 uses: peter-evans/create-pull-request@v6.1.0
with: with:
title: "Update feature graphic" title: "Update feature graphic"
commit-message: "Update feature graphic" commit-message: "Update feature graphic"

View File

@@ -26,7 +26,7 @@ jobs:
id: gradle-update id: gradle-update
- uses: gradle/actions/wrapper-validation@v3 - uses: gradle/actions/wrapper-validation@v3
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5 uses: peter-evans/create-pull-request@v6.1.0
with: with:
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}" title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}" commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"

View File

@@ -31,7 +31,7 @@ jobs:
- name: Update locales - name: Update locales
run: .scripts/locales.py run: .scripts/locales.py
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.5 uses: peter-evans/create-pull-request@v6.1.0
with: with:
title: "Update locales" title: "Update locales"
commit-message: "Update locales" commit-message: "Update locales"

View File

@@ -34,8 +34,8 @@ for lang in "$script_location/../../fastlane/metadata/android/"*; do
bg|el-GR|ru-RU|uk) sed -i "s/Lexend Deca/Noto Serif/" featureGraphic.svg ;; bg|el-GR|ru-RU|uk) sed -i "s/Lexend Deca/Noto Serif/" featureGraphic.svg ;;
hi-IN) sed -i -e "s/Yesteryear/Noto Serif Devanagari/" -e "s/Lexend Deca/Noto Serif Devanagari/" featureGraphic.svg ;; hi-IN) sed -i -e "s/Yesteryear/Noto Serif Devanagari/" -e "s/Lexend Deca/Noto Serif Devanagari/" featureGraphic.svg ;;
ja-JP) sed -i "s/Lexend Deca/Noto Serif CJK JP/" featureGraphic.svg ;; ja-JP) sed -i "s/Lexend Deca/Noto Serif CJK JP/" featureGraphic.svg ;;
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e "s/Yesteryear/Noto Serif Kannada/" featureGraphic.svg ;;
ko) sed -i "s/Lexend Deca/Noto Serif CJK KR/" featureGraphic.svg ;; ko) sed -i "s/Lexend Deca/Noto Serif CJK KR/" featureGraphic.svg ;;
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e 's/y="285.511"/y="235.511"/' featureGraphic.svg ;;
zh-CN) sed -i "s/Lexend Deca/Noto Serif CJK SC/" featureGraphic.svg ;; zh-CN) sed -i "s/Lexend Deca/Noto Serif CJK SC/" featureGraphic.svg ;;
zh-TW) sed -i "s/Lexend Deca/Noto Serif CJK TC/" featureGraphic.svg ;; zh-TW) sed -i "s/Lexend Deca/Noto Serif CJK TC/" featureGraphic.svg ;;
*) ;; *) ;;

View File

@@ -1,6 +1,6 @@
# Changelog # Changelog
## v2.30.0 - 136 ## v2.30.0 - 136 (2024-06-18)
- Support for creating a card when sharing plain text - Support for creating a card when sharing plain text
- Display image type instead of barcode below images - Display image type instead of barcode below images

View File

@@ -10,17 +10,17 @@ GEM
artifactory (3.0.17) artifactory (3.0.17)
atomos (0.1.3) atomos (0.1.3)
aws-eventstream (1.3.0) aws-eventstream (1.3.0)
aws-partitions (1.931.0) aws-partitions (1.945.0)
aws-sdk-core (3.196.1) aws-sdk-core (3.197.1)
aws-eventstream (~> 1, >= 1.3.0) aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0) aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8) aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1) jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.81.0) aws-sdk-kms (1.85.0)
aws-sdk-core (~> 3, >= 3.193.0) aws-sdk-core (~> 3, >= 3.197.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.151.0) aws-sdk-s3 (1.152.3)
aws-sdk-core (~> 3, >= 3.194.0) aws-sdk-core (~> 3, >= 3.197.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.8) aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0) aws-sigv4 (1.8.0)
@@ -68,7 +68,7 @@ GEM
faraday_middleware (1.2.0) faraday_middleware (1.2.0)
faraday (~> 1.0) faraday (~> 1.0)
fastimage (2.3.1) fastimage (2.3.1)
fastlane (2.220.0) fastlane (2.221.1)
CFPropertyList (>= 2.3, < 4.0.0) CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0) addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0) artifactory (~> 3.0)
@@ -147,14 +147,14 @@ GEM
os (>= 0.9, < 2.0) os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a) signet (>= 0.16, < 2.a)
highline (2.0.3) highline (2.0.3)
http-cookie (1.0.5) http-cookie (1.0.6)
domain_name (~> 0.5) domain_name (~> 0.5)
httpclient (2.8.3) httpclient (2.8.3)
jmespath (1.6.2) jmespath (1.6.2)
json (2.7.2) json (2.7.2)
jwt (2.8.1) jwt (2.8.2)
base64 base64
mini_magick (4.12.0) mini_magick (4.13.1)
mini_mime (1.1.5) mini_mime (1.1.5)
multi_json (1.15.0) multi_json (1.15.0)
multipart-post (2.4.1) multipart-post (2.4.1)
@@ -164,15 +164,15 @@ GEM
optparse (0.5.0) optparse (0.5.0)
os (1.1.4) os (1.1.4)
plist (3.7.1) plist (3.7.1)
public_suffix (5.0.5) public_suffix (5.1.1)
rake (13.2.1) rake (13.2.1)
representable (3.2.0) representable (3.2.0)
declarative (< 0.1.0) declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0) trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0) uber (< 0.2.0)
retriable (3.1.2) retriable (3.1.2)
rexml (3.2.8) rexml (3.2.9)
strscan (>= 3.0.9) strscan
rouge (2.0.7) rouge (2.0.7)
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
rubyzip (2.3.2) rubyzip (2.3.2)

View File

@@ -110,7 +110,7 @@ dependencies {
implementation("io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0") implementation("io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0")
// Testing // Testing
testImplementation("androidx.test:core:1.5.0") testImplementation("androidx.test:core:1.6.1")
testImplementation("junit:junit:4.13.2") testImplementation("junit:junit:4.13.2")
testImplementation("org.robolectric:robolectric:4.12.2") testImplementation("org.robolectric:robolectric:4.12.2")
} }

View File

@@ -6,6 +6,8 @@ import android.database.Cursor;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Looper;
import android.util.SparseBooleanArray; import android.util.SparseBooleanArray;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.HapticFeedbackConstants; import android.view.HapticFeedbackConstants;
@@ -88,9 +90,29 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.mDivider.setVisibility(View.GONE); inputHolder.mDivider.setVisibility(View.GONE);
LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(inputCursor); LoyaltyCard loyaltyCard = LoyaltyCard.toLoyaltyCard(inputCursor);
Bitmap icon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
if (mLoyaltyCardListDisplayOptions.showingNameBelowThumbnail() && icon != null) { inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
// Default header at first, real icon will be retrieved asynchronously if it exists to ensure
// smooth scrolling even on slower devices
Utils.setIconOrTextWithBackground(mContext, loyaltyCard, null, inputHolder.mCardIcon, inputHolder.mCardText);
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
boolean hasIcon = Utils.retrieveCardImageAsFile(mContext, loyaltyCard.id, ImageLocationType.icon).exists();
if (hasIcon) {
new Thread() {
@Override
public void run() {
Bitmap icon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
new Handler(Looper.getMainLooper()).post(() -> {
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText);
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputHolder.getAdapterPosition()));
});
}
}.start();
}
if (mLoyaltyCardListDisplayOptions.showingNameBelowThumbnail() && hasIcon) {
showDivider = true; showDivider = true;
inputHolder.setStoreField(loyaltyCard.store); inputHolder.setStoreField(loyaltyCard.store);
} else { } else {
@@ -122,11 +144,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
inputHolder.setExtraField(inputHolder.mExpiryField, null, null, false); inputHolder.setExtraField(inputHolder.mExpiryField, null, null, false);
} }
inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText);
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
inputHolder.itemView.setActivated(mSelectedItems.get(inputCursor.getPosition(), false)); inputHolder.itemView.setActivated(mSelectedItems.get(inputCursor.getPosition(), false));
applyIconAnimation(inputHolder, inputCursor.getPosition()); applyIconAnimation(inputHolder, inputCursor.getPosition());
applyClickEvents(inputHolder, inputCursor.getPosition()); applyClickEvents(inputHolder, inputCursor.getPosition());

View File

@@ -29,7 +29,6 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:contentDescription="@string/thumbnailDescription" android:contentDescription="@string/thumbnailDescription"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -7,8 +7,8 @@ Heimen Stoffels
Oğuz Ersen Oğuz Ersen
FC (Fay) Stegerman FC (Fay) Stegerman
Katharine Chui Katharine Chui
StoyanDimitrov
SlavekB SlavekB
StoyanDimitrov
mondstern mondstern
IllusiveMan196 IllusiveMan196
Altonss Altonss
@@ -28,24 +28,26 @@ Scrambled777
Giovanni Donisi Giovanni Donisi
Jiri Grönroos Jiri Grönroos
Samantaz Fox Samantaz Fox
arno-github
Cliff Heraldo Cliff Heraldo
Sergio Paredes Sergio Paredes
Ankit Tiwari Ankit Tiwari
Milo Ivir arno-github
Milan Šalka
mdvhimself mdvhimself
Milan Šalka
Milo Ivir
Balázs Meskó Balázs Meskó
Skrripy Skrripy
huuhaa huuhaa
waffshappen
ngocanhtve
ikanakova
Projjal Moitra Projjal Moitra
Quentin PAGÈS Quentin PAGÈS
ikanakova
ngocanhtve
waffshappen
Ziad OUALHADJ
Robin Liu
Denis Shilin Denis Shilin
Jose Delvani
Robin Liu
Ziad OUALHADJ
しいたけ
Alexander Ivanov Alexander Ivanov
Viet Nguyen Hoang Viet Nguyen Hoang
Miha Frangež Miha Frangež
@@ -58,4 +60,3 @@ Govind S Nair
Freddo espresso Freddo espresso
arshbeerSingh arshbeerSingh
MisterCosta96 MisterCosta96
しいたけ

View File

@@ -92,7 +92,7 @@
\nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής στο Loyalty Card Keychain επιλέγοντας Εξαγωγή.</string> \nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής στο Loyalty Card Keychain επιλέγοντας Εξαγωγή.</string>
<string name="importFidme">Εισαγωγή από FidMe</string> <string name="importFidme">Εισαγωγή από FidMe</string>
<string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμωτού κώδικα μετέπειτα. <string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμωτού κώδικα μετέπειτα.
\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και διαλέγοντας εξαγωγή δεδομένων.</string> \nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και πατώντας Εξαγωγή δεδομένων πρώτα.</string>
<string name="setBarcodeId">Επιλέξτε τιμή γραμμωτού κώδικα</string> <string name="setBarcodeId">Επιλέξτε τιμή γραμμωτού κώδικα</string>
<string name="wrongValueForBarcodeType">Η τιμή δεν είναι έγκυρη για τον επιλεγμένο γραμμωτό κώδικα</string> <string name="wrongValueForBarcodeType">Η τιμή δεν είναι έγκυρη για τον επιλεγμένο γραμμωτό κώδικα</string>
<string name="setBackImage">Επιλογή οπίσθιας εικόνας</string> <string name="setBackImage">Επιλογή οπίσθιας εικόνας</string>
@@ -295,4 +295,5 @@
<string name="field_must_not_be_empty">Το πεδίο δεν πρέπει να είναι κενό</string> <string name="field_must_not_be_empty">Το πεδίο δεν πρέπει να είναι κενό</string>
<string name="manually_enter_barcode_instructions">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας και πατήστε τον γραμμωτό κώδικα που μοιάζει με αυτόν της κάρτας σας.</string> <string name="manually_enter_barcode_instructions">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας και πατήστε τον γραμμωτό κώδικα που μοιάζει με αυτόν της κάρτας σας.</string>
<string name="add_manually_warning_title">Συνιστάται η σάρωση</string> <string name="add_manually_warning_title">Συνιστάται η σάρωση</string>
<string name="noCameraFoundGuideText">Η συσκευή σας δεν φαίνεται να διαθέτει κάμερα. Αν έχει, δοκιμάστε να κάνετε επανεκκίνηση της συσκευής. Διαφορετικά, χρησιμοποιήστε το κουμπί Περισσότερες επιλογές παρακάτω για να προσθέσετε έναν γραμμωτό κώδικα με άλλο τρόπο.</string>
</resources> </resources>

View File

@@ -150,8 +150,8 @@
<string name="importStocardMessage">Pilih ekspor <i>***.zip</i> Anda dari Stocard untuk diimpor. <string name="importStocardMessage">Pilih ekspor <i>***.zip</i> Anda dari Stocard untuk diimpor.
\nDapatkan dengan mengirim email ke support@stocardapp.com untuk meminta ekspor data Anda.</string> \nDapatkan dengan mengirim email ke support@stocardapp.com untuk meminta ekspor data Anda.</string>
<string name="importVoucherVault">Impor dari Voucher Vault</string> <string name="importVoucherVault">Impor dari Voucher Vault</string>
<string name="importVoucherVaultMessage">Pilih ekspor <i>vouchervault.json</i> Anda dari Vault Voucher untuk diimpor. <string name="importVoucherVaultMessage">Pilih ekspor <i>vouchervault.json</i> Anda dari Voucher Vault untuk diimpor.
\nBuat dengan menekan Ekspor di Vault Voucher terlebih dahulu.</string> \nBuat dengan menekan Ekspor di Voucher Vault terlebih dahulu.</string>
<string name="unsupportedBarcodeType">Jenis barcode ini belum dapat ditampilkan. Ini mungkin didukung di versi aplikasi yang lebih baru.</string> <string name="unsupportedBarcodeType">Jenis barcode ini belum dapat ditampilkan. Ini mungkin didukung di versi aplikasi yang lebih baru.</string>
<string name="wrongValueForBarcodeType">Nilai tidak berlaku untuk jenis barcode yang dipilih</string> <string name="wrongValueForBarcodeType">Nilai tidak berlaku untuk jenis barcode yang dipilih</string>
<string name="frontImageDescription">Gambar depan</string> <string name="frontImageDescription">Gambar depan</string>
@@ -288,4 +288,5 @@
<string name="receive">Terima</string> <string name="receive">Terima</string>
<string name="amountParsingFailed">Jumlah tidak valid</string> <string name="amountParsingFailed">Jumlah tidak valid</string>
<string name="add_manually_warning_message">Untuk beberapa toko, nilai barcode berbeda dengan nomor yang tertulis di kartu. Oleh karena itu, memasukkan barcode secara manual mungkin tidak selalu berhasil. Sangat disarankan untuk memindai barcode dengan kamera anda. Apakah anda masih ingin melanjutkan?</string> <string name="add_manually_warning_message">Untuk beberapa toko, nilai barcode berbeda dengan nomor yang tertulis di kartu. Oleh karena itu, memasukkan barcode secara manual mungkin tidak selalu berhasil. Sangat disarankan untuk memindai barcode dengan kamera anda. Apakah anda masih ingin melanjutkan?</string>
<string name="noCameraFoundGuideText">Perangkat Anda sepertinya tidak memiliki kamera. Jika iya, coba mulai ulang perangkat. Jika tidak, gunakan tombol Opsi lainnya di bawah untuk menambahkan barcode dengan cara lain.</string>
</resources> </resources>

View File

@@ -295,4 +295,5 @@
<string name="errorReadingFile">Kunne ikke lese filen</string> <string name="errorReadingFile">Kunne ikke lese filen</string>
<string name="failedLaunchingFileManager">Fant ikke støttet filbehandler</string> <string name="failedLaunchingFileManager">Fant ikke støttet filbehandler</string>
<string name="multipleBarcodesFoundPleaseChooseOne">Hvilken av de oppdagede strekkodene vil du bruke?</string> <string name="multipleBarcodesFoundPleaseChooseOne">Hvilken av de oppdagede strekkodene vil du bruke?</string>
<string name="noCameraFoundGuideText">Finner ikke kamera på enheten din. Hvis dette ikke stemmer kan du prøve en omstart av den. Ellers kan du legge til strekkoder med «Mer»-knappen nedenfor.</string>
</resources> </resources>

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -0,0 +1,4 @@
- Target Android 14
- Buka ikon kartu pada galeri dengan menyentuh
- Meningkatkan desain tab Foto pada tampilan sunting
- Perbarui layar pengeluaran untuk juga mendukung penerimaan

View File

@@ -0,0 +1,3 @@
- Mendukung pemindaian berkas PDF untuk barcode
- Mendukung berkas gambar dengan beberapa barcode
- Perbaikan kecil antarmuka

View File

@@ -0,0 +1 @@
- Berbagai perbaikan dan peningkatan pada penanganan keseimbangan

View File

@@ -0,0 +1,4 @@
- Dukungan untuk membuat kartu saat berbagi teks biasa
- Tampilkan jenis gambar alih-alih barcode di bawah gambar
- Memperbaiki kemungkinan kerusakan saat mencoba mengimpor cadangan dari aplikasi Nextcloud
- Peningkatan dukungan untuk perangkat tanpa kamera

View File

@@ -7,8 +7,8 @@
- Meningkatkan visibilitas notifikasi dan ikon aplikasi (#330 (https://github.com/brarcher/loyalty-card-locker/pull/330)) - Meningkatkan visibilitas notifikasi dan ikon aplikasi (#330 (https://github.com/brarcher/loyalty-card-locker/pull/330))
- Memperbarui SDK target ke Android 10 - Memperbarui SDK target ke Android 10
- Memperbaiki terjemahan berikut ini: - Memperbaiki terjemahan berikut ini:
- Jerman - Jerman
- Italia - Italia
- Belanda - Belanda
- Polandia - Polandia
- Rusia - Rusia

View File

@@ -13,7 +13,7 @@ Dengan aplikasi ini, Anda bisa mengganti plastik tidak guna dengan uang.
- Bagikan kupon, penawaran eksklusif, kode promo, atau kartu dan kode menggunakan aplikasi apa pun. - Bagikan kupon, penawaran eksklusif, kode promo, atau kartu dan kode menggunakan aplikasi apa pun.
- Tema gelap dan opsi aksesibilitas untuk pengguna berkebutuhan khusus. - Tema gelap dan opsi aksesibilitas untuk pengguna berkebutuhan khusus.
- Dibuat untuk semuanya oleh komunitas perangkat lunak libre. - Dibuat untuk semuanya oleh komunitas perangkat lunak libre.
- Terjemahan untuk 20+ bahasa. - Terjemahan untuk 40+ bahasa.
- Gratis, didukung oleh kontribusi komunitas. - Gratis, didukung oleh kontribusi komunitas.
- Gunakan, pelajari, ubah, dan bagikan semau Anda; <i>dengan semua</i>. - Gunakan, pelajari, ubah, dan bagikan semau Anda; <i>dengan semua</i>.
- Tidak hanya perangkat lunak bebas. Perangkat lunak pengelola kartu yang libre dan <i>copyleft</i> (GPLv3+). - Tidak hanya perangkat lunak bebas. Perangkat lunak pengelola kartu yang libre dan <i>copyleft</i> (GPLv3+).

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -1 +1 @@
Catima — 複数のポイントカードを一括管理 Catima — ポイントカードを一括管理

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,4 +1,6 @@
- Refine "Pridať kartu" workflow - Spresnenie postupu "Pridať kartu"
- Zlepšenie validácie - Zlepšenie validácie
- Fix hrany prípad spôsobuje neplatný stav UI, keď toggling ukazuje archív - Oprava okrajového prípadu spôsobujúceho neplatný stav používateľského rozhrania pri prepínaní zobrazovania archívu
- Použite tému alebo farbu karty pre navigačnú tyč (Android 8.1+) - Použitie motívu alebo farby karty pre navigačnú lištu (Android 8.1+)
- Aktualizovaný výber dátumu platnosti a vypršania platnosti
- Pridanie možnosti vždy otáčať (ignoruje nastavenie systému)

View File

@@ -0,0 +1,4 @@
- Cieľový systém Android 14
- Otvorenie ikony karty v galérii na dotykovom displeji
- Vylepšenie dizajnu karty Fotografie pri zobrazovaní úprav
- Aktualizovaná obrazovka výdajov, aby podporovala aj prijímanie

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB