Compare commits

...

68 Commits

Author SHA1 Message Date
Sylvia van Os
0ddb88b45c Add Maestro screenshot generation 2023-09-28 20:30:53 +02:00
Sylvia van Os
b326778219 Merge pull request #1527 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-09-28 17:51:25 +02:00
Mateus Souza
81e16d95ac Translated using Weblate (Portuguese)
Currently translated at 100.0% (129 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-09-28 06:44:59 +02:00
Mateus Souza
ef18bbdf7c Translated using Weblate (Portuguese)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt/
2023-09-28 06:44:58 +02:00
109247019824
6562a0177b Translated using Weblate (Bulgarian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-09-28 06:44:58 +02:00
Eric
275a427355 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2023-09-28 06:44:57 +02:00
Skrripy
ce6a79f03d Translated using Weblate (Ukrainian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-09-28 06:44:57 +02:00
solokot
dc792c8425 Translated using Weblate (Russian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-09-28 06:44:57 +02:00
J. Lavoie
680d2173d1 Translated using Weblate (French)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2023-09-28 06:44:57 +02:00
gallegonovato
e95a20b971 Translated using Weblate (Spanish)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2023-09-28 06:44:57 +02:00
kb01guy
56de06abac Translated using Weblate (German)
Currently translated at 98.6% (298 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2023-09-28 06:44:57 +02:00
Sylvia van Os
488c542cd5 Merge remote-tracking branch 'weblate/main' 2023-09-26 20:05:45 +02:00
Sylvia van Os
0e0693bdad Fix changelog to fastlane action 2023-09-26 19:57:12 +02:00
TheScientistPT
86267a2e38 Translated using Weblate (Portuguese)
Currently translated at 98.3% (294 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt/
2023-09-26 19:55:16 +02:00
Sylvia van Os
e2171856ff Update CHANGELOG 2023-09-26 19:32:39 +02:00
Sylvia van Os
3c3a37a9e8 Merge pull request #1524 from CatimaLoyalty/betterDefaultCardColours
Better default card colours
2023-09-26 19:30:59 +02:00
Sylvia van Os
573da1e4ff New add card workflow (#1512) 2023-09-26 19:30:35 +02:00
Sylvia van Os
1f70446bce Fix typo
Co-authored-by: FC (Fay) Stegerman <flx@obfusk.net>
2023-09-25 22:22:40 +02:00
TheScientistPT
ff4ef15dfc Translated using Weblate (Portuguese)
Currently translated at 98.3% (294 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt/
2023-09-25 22:01:46 +02:00
Sylvia van Os
926f3adb18 Remove default card colour which uses wrong foreground colour 2023-09-24 15:44:26 +02:00
Sylvia van Os
4b2d981cc6 Add test to ensure colours have white foreground 2023-09-24 15:44:22 +02:00
Sylvia van Os
93d5c5e03e Link feature graphic to homepage 2023-09-24 15:13:11 +02:00
Sylvia van Os
475f071575 Merge pull request #1522 from CatimaLoyalty/create-pull-request/patch-1695546611
Update feature graphic
2023-09-24 11:18:57 +02:00
TheLastProject
f77fa88ced Update feature graphic 2023-09-24 09:10:11 +00:00
Sand Smith
7fe5c18cb8 Translated using Weblate (Chinese (Traditional))
Currently translated at 94.9% (284 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-09-24 11:03:13 +02:00
109247019824
7e16798b33 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-09-24 11:03:13 +02:00
Jiri Grönroos
3edfb68bd7 Translated using Weblate (Finnish)
Currently translated at 99.3% (297 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2023-09-24 11:03:13 +02:00
Eric
4f307af6bd Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2023-09-24 11:03:13 +02:00
Skrripy
08848af908 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (129 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2023-09-24 11:03:13 +02:00
Skrripy
f4e9b85ae3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-09-24 11:03:12 +02:00
HudobniVolk
73ccb0ce65 Translated using Weblate (Slovenian)
Currently translated at 91.6% (274 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sl/
2023-09-24 11:02:27 +02:00
Sylvia van Os
15c5ee7f2c Merge pull request #1521 from CatimaLoyalty/create-pull-request/patch-1695528761
Update contributors
2023-09-24 09:42:31 +02:00
Sand Smith
f08be0d13f Translated using Weblate (Chinese (Traditional))
Currently translated at 94.9% (284 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-09-24 06:03:21 +00:00
109247019824
aa115e36fd Translated using Weblate (Bulgarian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-09-24 06:03:20 +00:00
Jiri Grönroos
cfa45013f4 Translated using Weblate (Finnish)
Currently translated at 99.3% (297 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2023-09-24 06:03:19 +00:00
Eric
cca01ae5a3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2023-09-24 06:03:18 +00:00
Skrripy
44af31f6d4 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (129 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2023-09-24 06:03:17 +00:00
Skrripy
8fb076421a Translated using Weblate (Ukrainian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-09-24 06:03:05 +00:00
HudobniVolk
89f8ca1387 Translated using Weblate (Slovenian)
Currently translated at 91.6% (274 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sl/
2023-09-24 06:03:04 +00:00
TheLastProject
fddb462618 Update contributors 2023-09-24 04:12:40 +00:00
Sylvia van Os
97343515a3 Consistency: may not/cannot -> must not 2023-09-23 18:11:42 +02:00
Sylvia van Os
dcbd2aa390 Merge pull request #1514 from CatimaLoyalty/improveValidation
Improve validation
2023-09-22 22:32:21 +02:00
Sylvia van Os
12e7aaa615 Trim spaces in store name 2023-09-22 22:02:15 +02:00
Sylvia van Os
50f93b87f5 Cleanups 2023-09-22 21:18:52 +02:00
Sylvia van Os
b4cefbc15e Merge pull request #1517 from CatimaLoyalty/returnToLastViewAfterEdit
Return to last view after edit
2023-09-22 21:04:17 +02:00
Sylvia van Os
4ce17c3742 Merge pull request #1520 from obfusk/rm-unused-setgroupnameerror
ManageGroupsActivity: rm unused setGroupNameError()
2023-09-22 20:55:57 +02:00
FC Stegerman
5035b83ae1 ManageGroupsActivity: rm unused setGroupNameError() 2023-09-22 20:13:32 +02:00
Sylvia van Os
dc327a3e24 Merge pull request #1519 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-09-21 19:03:08 +02:00
solokot
4ddceb83d5 Translated using Weblate (Russian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-09-21 15:44:20 +02:00
Heimen Stoffels
31048218af Translated using Weblate (Dutch)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-09-21 15:44:20 +02:00
Slávek Banko
6e3a9ca380 Translated using Weblate (Czech)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2023-09-21 15:44:20 +02:00
lassr8
09134f4c5f Translated using Weblate (Spanish)
Currently translated at 28.6% (37 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2023-09-21 05:03:56 +02:00
Sylvia van Os
89c9271726 Improve permission string 2023-09-20 18:11:08 +02:00
Sylvia van Os
473f8e6b72 Fix barcode not showing when returning and changing from none to some barcode 2023-09-19 20:45:34 +02:00
Sylvia van Os
8310f09641 Hide keyboard when switching back to view view 2023-09-19 19:40:13 +02:00
Sylvia van Os
31b9123a8f Don't close view activity when entering edit activity 2023-09-19 19:39:33 +02:00
Sylvia van Os
cc4aed6773 Update Fastlane 2023-09-18 19:30:20 +02:00
Sylvia van Os
a868aac579 Merge pull request #1515 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-09-18 19:24:37 +02:00
Áron Dubovszky
da48eec787 Translated using Weblate (Hungarian)
Currently translated at 98.6% (295 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-09-18 19:00:19 +02:00
Sylvia van Os
4aa56a55fe Balance validation fixes
Remove old string which may sometimes display "does not seem like a
valid balance." and default to 0 as balance if field is emptied.
2023-09-17 17:59:42 +02:00
Sylvia van Os
c3daa1cc86 Remove no longer used strings 2023-09-17 17:37:24 +02:00
Sylvia van Os
00d08d741c Don't regenerate barcode if value is empty 2023-09-17 17:37:24 +02:00
Sylvia van Os
2f33be6b3c Improve validation
If a field is empty when it shouldn't be, show it at the correct UI
element and focus
2023-09-17 17:37:21 +02:00
Sylvia van Os
d54a3127a6 Improve create group dialog
Don't show error from the start, disable OK button unless state is okay
2023-09-17 16:39:57 +02:00
Sylvia van Os
40ecf46b40 Merge branch 'main' of github.com:CatimaLoyalty/Android 2023-09-17 12:21:09 +02:00
Sylvia van Os
dd9b6a8fed Update fastlane 2023-09-17 12:21:02 +02:00
Sylvia van Os
194e1d5c26 Merge pull request #1513 from CatimaLoyalty/create-pull-request/patch-1694923968
Update contributors
2023-09-17 10:10:28 +02:00
TheLastProject
9360f2a1e0 Update contributors 2023-09-17 04:12:47 +00:00
69 changed files with 625 additions and 502 deletions

View File

@@ -9,7 +9,7 @@ on:
permissions:
actions: none
checks: none
contents: read
contents: write
deployments: none
discussions: none
id-token: none

View File

@@ -1,5 +1,10 @@
# Changelog
## Unreleased - 132
- Refine "Add card" workflow
- Validation flow improvements
## v2.26.0 - 131 (2023-09-14)
- Move "Archive mode" into "Display options" (previously "Show details") menu

View File

@@ -3,13 +3,13 @@ GEM
specs:
CFPropertyList (3.0.6)
rexml
addressable (2.8.4)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.793.0)
aws-sdk-core (3.180.0)
aws-partitions (1.824.0)
aws-sdk-core (3.181.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
@@ -17,8 +17,8 @@ GEM
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.132.0)
aws-sdk-core (~> 3, >= 3.179.0)
aws-sdk-s3 (1.134.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0)
@@ -36,7 +36,7 @@ GEM
unf (>= 0.0.5, < 1.0.0)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.100.0)
excon (0.103.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@@ -66,7 +66,7 @@ GEM
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.7)
fastlane (2.214.0)
fastlane (2.215.1)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -87,6 +87,7 @@ GEM
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
@@ -98,7 +99,7 @@ GEM
security (= 0.1.3)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
terminal-table (~> 3)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
@@ -106,7 +107,7 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.46.0)
google-apis-androidpublisher_v3 (0.49.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.1)
addressable (~> 2.5, >= 2.5.1)
@@ -137,10 +138,9 @@ GEM
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.7.0)
googleauth (1.8.0)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
@@ -151,9 +151,8 @@ GEM
jmespath (1.6.2)
json (2.6.3)
jwt (2.7.1)
memoist (0.16.2)
mini_magick (4.12.0)
mini_mime (1.1.2)
mini_mime (1.1.5)
multi_json (1.15.0)
multipart-post (2.3.0)
nanaimo (0.3.0)
@@ -173,7 +172,7 @@ GEM
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.17.0)
signet (0.18.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
@@ -182,8 +181,8 @@ GEM
CFPropertyList
naturally
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
@@ -193,7 +192,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
unicode-display_width (2.4.2)
webrick (1.8.1)
word_wrap (1.0.0)
xcodeproj (1.22.0)

View File

@@ -16,7 +16,6 @@ import com.google.zxing.BarcodeFormat;
import java.util.ArrayList;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.widget.Toolbar;
import protect.card_locker.databinding.BarcodeSelectorActivityBinding;
@@ -66,10 +65,6 @@ public class BarcodeSelectorActivity extends CatimaAppCompatActivity implements
runOnUiThread(() -> {
generateBarcodes(s.toString());
View noBarcodeButtonView = binding.noBarcode;
setButtonListener(noBarcodeButtonView, s.toString());
noBarcodeButtonView.setEnabled(s.length() > 0);
});
}, INPUT_DELAY);
}
@@ -95,17 +90,6 @@ public class BarcodeSelectorActivity extends CatimaAppCompatActivity implements
mAdapter.setBarcodes(barcodes);
}
private void setButtonListener(final View button, final String cardId) {
button.setOnClickListener(view -> {
Log.d(TAG, "Selected no barcode");
Intent result = new Intent();
result.putExtra(BARCODE_FORMAT, "");
result.putExtra(BARCODE_CONTENTS, cardId);
BarcodeSelectorActivity.this.setResult(RESULT_OK, result);
finish();
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {

View File

@@ -261,7 +261,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
+ ", updateLoyaltyCard=" + updateLoyaltyCard);
}
@Override
public void onSaveInstanceState(@NonNull Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
@@ -365,8 +364,15 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
storeFieldEdit.addTextChangedListener(new SimpleTextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
updateTempState(LoyaltyCardField.store, s.toString());
generateIcon(s.toString());
String storeName = s.toString().trim();
updateTempState(LoyaltyCardField.store, storeName);
generateIcon(storeName);
if (storeName.length() == 0) {
storeFieldEdit.setError(getString(R.string.field_must_not_be_empty));
} else {
storeFieldEdit.setError(null);
}
}
});
@@ -398,6 +404,10 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
balanceField.setOnFocusChangeListener((v, hasFocus) -> {
if (!hasFocus && !onResuming && !onRestoring) {
if (balanceField.getText().toString().isEmpty()) {
updateTempState(LoyaltyCardField.balance, BigDecimal.valueOf(0));
}
balanceField.setText(Utils.formatBalanceWithoutCurrencySymbol(tempLoyaltyCard.balance, tempLoyaltyCard.balanceType));
}
});
@@ -409,10 +419,12 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
try {
BigDecimal balance = Utils.parseBalance(s.toString(), tempLoyaltyCard.balanceType);
updateTempState(LoyaltyCardField.balance, balance);
balanceField.setError(null);
validBalance = true;
} catch (ParseException e) {
validBalance = false;
e.printStackTrace();
balanceField.setError(getString(R.string.balanceParsingFailed));
validBalance = false;
}
}
});
@@ -488,6 +500,12 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
updateTempState(LoyaltyCardField.cardId, s.toString());
if (s.length() == 0) {
cardIdFieldView.setError(getString(R.string.field_must_not_be_empty));
} else {
cardIdFieldView.setError(null);
}
}
});
@@ -933,7 +951,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
saveButton.setOnClickListener(v -> doSave());
saveButton.bringToFront();
generateIcon(storeFieldEdit.getText().toString());
generateIcon(storeFieldEdit.getText().toString().trim());
// It can't be null because we set it in updateTempState but SpotBugs insists it can be
// NP_NULL_ON_SOME_PATH: Possible null pointer dereference and
@@ -1352,7 +1370,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
thumbnailEditIcon.setBackgroundColor(Utils.needsDarkForeground(color) ? Color.BLACK : Color.WHITE);
thumbnailEditIcon.setColorFilter(Utils.needsDarkForeground(color) ? Color.WHITE : Color.BLACK);
generateIcon(storeFieldEdit.getText().toString());
generateIcon(storeFieldEdit.getText().toString().trim());
}
// ColorPickerDialogListener callback
@@ -1471,18 +1489,41 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
return;
}
boolean hasError = false;
if (tempLoyaltyCard.store.isEmpty()) {
Snackbar.make(storeFieldEdit, R.string.noStoreError, Snackbar.LENGTH_LONG).show();
return;
storeFieldEdit.setError(getString(R.string.field_must_not_be_empty));
// Focus element
tabs.selectTab(tabs.getTabAt(0));
storeFieldEdit.requestFocus();
hasError = true;
}
if (tempLoyaltyCard.cardId.isEmpty()) {
Snackbar.make(cardIdFieldView, R.string.noCardIdError, Snackbar.LENGTH_LONG).show();
return;
cardIdFieldView.setError(getString(R.string.field_must_not_be_empty));
// Focus element if first error element
if (!hasError) {
tabs.selectTab(tabs.getTabAt(0));
cardIdFieldView.requestFocus();
hasError = true;
}
}
if (!validBalance) {
Snackbar.make(balanceField, getString(R.string.parsingBalanceFailed, balanceField.getText().toString()), Snackbar.LENGTH_LONG).show();
balanceField.setError(getString(R.string.balanceParsingFailed));
// Focus element if first error element
if (!hasError) {
tabs.selectTab(tabs.getTabAt(1));
balanceField.requestFocus();
hasError = true;
}
}
if (hasError) {
return;
}
@@ -1618,7 +1659,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
String cardIdString = tempLoyaltyCard.barcodeId != null ? tempLoyaltyCard.barcodeId : tempLoyaltyCard.cardId;
CatimaBarcode barcodeFormat = tempLoyaltyCard.barcodeType;
if (cardIdString == null || barcodeFormat == null) {
if (cardIdString == null || cardIdString.isEmpty() || barcodeFormat == null) {
barcodeImageLayout.setVisibility(View.GONE);
return;
}

View File

@@ -98,7 +98,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
ImageView barcodeRenderTarget;
int mainImageIndex = 0;
List<ImageType> imageTypes;
boolean isBarcodeSupported = true;
static final String STATE_IMAGEINDEX = "imageIndex";
static final String STATE_FULLSCREEN = "isFullscreen";
@@ -293,7 +292,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
bundle.putBoolean(LoyaltyCardEditActivity.BUNDLE_UPDATE, true);
intent.putExtras(bundle);
startActivity(intent);
finish();
});
binding.fabEdit.bringToFront();
@@ -551,13 +549,18 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
Log.i(TAG, "To view card: " + loyaltyCardId);
// The brightness value is on a scale from [0, ..., 1], where
// '1' is the brightest. We attempt to maximize the brightness
// to help barcode readers scan the barcode.
Window window = getWindow();
if (window != null) {
// Hide the keyboard if still shown (could be the case when returning from edit activity
window.setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);
WindowManager.LayoutParams attributes = window.getAttributes();
// The brightness value is on a scale from [0, ..., 1], where
// '1' is the brightest. We attempt to maximize the brightness
// to help barcode readers scan the barcode.
if (settings.useMaxBrightnessDisplayingBarcode()) {
attributes.screenBrightness = 1F;
}
@@ -639,12 +642,15 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
fixBottomAppBarImageButtonColor(binding.bottomAppBarUpdateBalanceButton);
setBottomAppBarButtonState();
boolean isBarcodeSupported;
if (format != null && !format.isSupported()) {
isBarcodeSupported = false;
Toast.makeText(this, getString(R.string.unsupportedBarcodeType), Toast.LENGTH_LONG).show();
} else if (format == null) {
isBarcodeSupported = false;
} else {
isBarcodeSupported = true;
}
imageTypes = new ArrayList<>();

View File

@@ -11,16 +11,14 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.DefaultItemAnimator;
@@ -112,41 +110,16 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
return super.onOptionsItemSelected(item);
}
private void setGroupNameError(EditText input) {
String string = sanitizeAddGroupNameField(input.getText());
if (string.length() == 0) {
input.setError(getString(R.string.group_name_is_empty));
return;
}
if (DBHelper.getGroup(mDatabase, string) != null) {
input.setError(getString(R.string.group_name_already_in_use));
return;
}
input.setError(null);
}
private String sanitizeAddGroupNameField(CharSequence s) {
return s.toString().trim();
}
private void createGroup() {
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle(R.string.enter_group_name);
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_TEXT);
input.addTextChangedListener(new SimpleTextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
setGroupNameError(input);
}
});
setGroupNameError(input);
// Add spacing to EditText
FrameLayout container = new FrameLayout(this);
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
// Header
builder.setTitle(R.string.enter_group_name);
// Layout
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
@@ -154,25 +127,51 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
params.leftMargin = contentPadding;
params.topMargin = contentPadding / 2;
params.rightMargin = contentPadding;
// EditText with spacing
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_TEXT);
input.setLayoutParams(params);
container.addView(input);
layout.addView(input);
builder.setView(container);
// Set layout
builder.setView(layout);
// Buttons
builder.setPositiveButton(getString(R.string.ok), (dialog, which) -> {
CharSequence error = input.getError();
if (error != null) {
Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_SHORT).show();
return;
}
DBHelper.insertGroup(mDatabase, sanitizeAddGroupNameField(input.getText()));
DBHelper.insertGroup(mDatabase, input.getText().toString().trim());
updateGroupList();
});
builder.setNegativeButton(getString(R.string.cancel), (dialog, which) -> dialog.cancel());
AlertDialog dialog = builder.create();
// Now that the dialog exists, we can bind something that affects the OK button
input.addTextChangedListener(new SimpleTextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
String groupName = s.toString().trim();
if (groupName.length() == 0) {
input.setError(getString(R.string.group_name_is_empty));
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
return;
}
if (DBHelper.getGroup(mDatabase, groupName) != null) {
input.setError(getString(R.string.group_name_already_in_use));
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
return;
}
input.setError(null);
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
});
dialog.show();
// Disable button (must be done **after** dialog is shown to prevent crash
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
// Set focus on input field
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
input.requestFocus();
}

View File

@@ -1,5 +1,8 @@
package protect.card_locker;
import static protect.card_locker.BarcodeSelectorActivity.BARCODE_CONTENTS;
import static protect.card_locker.BarcodeSelectorActivity.BARCODE_FORMAT;
import android.Manifest;
import android.app.Activity;
import android.content.ActivityNotFoundException;
@@ -9,6 +12,7 @@ import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.text.InputType;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
@@ -16,15 +20,22 @@ import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
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;
import com.google.zxing.ResultPoint;
import com.google.zxing.client.android.Intents;
import com.journeyapps.barcodescanner.BarcodeCallback;
@@ -44,7 +55,6 @@ import protect.card_locker.databinding.ScanActivityBinding;
* originally licensed under Apache 2.0
*/
public class ScanActivity extends CatimaAppCompatActivity {
private ScanActivityBinding binding;
private CustomBarcodeScannerBinding customBarcodeScannerBinding;
private static final String TAG = "Catima";
@@ -65,6 +75,9 @@ public class ScanActivity extends CatimaAppCompatActivity {
// can't use the pre-made contract because that launches the file manager for image type instead of gallery
private ActivityResultLauncher<Intent> photoPickerLauncher;
static final String STATE_SCANNER_ACTIVE = "scannerActive";
private boolean mScannerActive = true;
private void extractIntentFields(Intent intent) {
final Bundle b = intent.getExtras();
cardId = b != null ? b.getString(LoyaltyCardEditActivity.BUNDLE_CARDID) : null;
@@ -87,8 +100,36 @@ public class ScanActivity extends CatimaAppCompatActivity {
manualAddLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> handleActivityResult(Utils.SELECT_BARCODE_REQUEST, result.getResultCode(), result.getData()));
photoPickerLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> handleActivityResult(Utils.BARCODE_IMPORT_FROM_IMAGE_FILE, result.getResultCode(), result.getData()));
customBarcodeScannerBinding.addFromImage.setOnClickListener(this::addFromImage);
customBarcodeScannerBinding.addManually.setOnClickListener(this::addManually);
customBarcodeScannerBinding.fabOtherOptions.setOnClickListener(view -> {
setScannerActive(false);
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(ScanActivity.this);
builder.setTitle(getString(R.string.add_a_card_in_a_different_way));
builder.setItems(
new CharSequence[]{
getString(R.string.addWithoutBarcode),
getString(R.string.addManually),
getString(R.string.addFromImage)
},
(dialogInterface, i) -> {
switch (i) {
case 0:
addWithoutBarcode();
break;
case 1:
addManually();
break;
case 2:
addFromImage();
break;
default:
throw new IllegalArgumentException("Unknown 'Add a card in a different way' dialog option");
}
}
);
builder.setOnCancelListener(dialogInterface -> setScannerActive(true));
builder.show();
});
barcodeScannerView = binding.zxingBarcodeScanner;
@@ -106,8 +147,8 @@ public class ScanActivity extends CatimaAppCompatActivity {
public void barcodeResult(BarcodeResult result) {
Intent scanResult = new Intent();
Bundle scanResultBundle = new Bundle();
scanResultBundle.putString(BarcodeSelectorActivity.BARCODE_CONTENTS, result.getText());
scanResultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, result.getBarcodeFormat().name());
scanResultBundle.putString(BARCODE_CONTENTS, result.getText());
scanResultBundle.putString(BARCODE_FORMAT, result.getBarcodeFormat().name());
if (addGroup != null) {
scanResultBundle.putString(LoyaltyCardEditActivity.BUNDLE_ADDGROUP, addGroup);
}
@@ -126,7 +167,11 @@ public class ScanActivity extends CatimaAppCompatActivity {
@Override
protected void onResume() {
super.onResume();
capture.onResume();
if (mScannerActive) {
capture.onResume();
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
showCameraPermissionMissingText(false);
}
@@ -146,9 +191,18 @@ public class ScanActivity extends CatimaAppCompatActivity {
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
capture.onSaveInstanceState(outState);
protected void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
capture.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean(STATE_SCANNER_ACTIVE, mScannerActive);
}
@Override
public void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mScannerActive = savedInstanceState.getBoolean(STATE_SCANNER_ACTIVE);
}
@Override
@@ -190,19 +244,20 @@ public class ScanActivity extends CatimaAppCompatActivity {
return super.onOptionsItemSelected(item);
}
private void handleActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
BarcodeValues barcodeValues = Utils.parseSetBarcodeActivityResult(requestCode, resultCode, intent, this);
if (barcodeValues.isEmpty()) {
return;
private void setScannerActive(boolean isActive) {
if (isActive) {
barcodeScannerView.resume();
} else {
barcodeScannerView.pause();
}
mScannerActive = isActive;
}
private void returnResult(String barcodeContents, String barcodeFormat) {
Intent manualResult = new Intent();
Bundle manualResultBundle = new Bundle();
manualResultBundle.putString(BarcodeSelectorActivity.BARCODE_CONTENTS, barcodeValues.content());
manualResultBundle.putString(BarcodeSelectorActivity.BARCODE_FORMAT, barcodeValues.format());
manualResultBundle.putString(BARCODE_CONTENTS, barcodeContents);
manualResultBundle.putString(BARCODE_FORMAT, barcodeFormat);
if (addGroup != null) {
manualResultBundle.putString(LoyaltyCardEditActivity.BUNDLE_ADDGROUP, addGroup);
}
@@ -211,7 +266,84 @@ public class ScanActivity extends CatimaAppCompatActivity {
finish();
}
public void addManually(View view) {
private void handleActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
BarcodeValues barcodeValues = Utils.parseSetBarcodeActivityResult(requestCode, resultCode, intent, this);
if (barcodeValues.isEmpty()) {
setScannerActive(true);
return;
}
returnResult(barcodeValues.content(), barcodeValues.format());
}
private void addWithoutBarcode() {
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this);
builder.setOnCancelListener(dialogInterface -> setScannerActive(true));
// Header
builder.setTitle(R.string.addWithoutBarcode);
// Layout
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
int contentPadding = getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
params.leftMargin = contentPadding;
params.topMargin = contentPadding / 2;
params.rightMargin = contentPadding;
// Description
TextView currentTextview = new TextView(this);
currentTextview.setText(getString(R.string.enter_card_id));
currentTextview.setLayoutParams(params);
layout.addView(currentTextview);
// EditText with spacing
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_TEXT);
input.setLayoutParams(params);
layout.addView(input);
// Set layout
builder.setView(layout);
// Buttons
builder.setPositiveButton(getString(R.string.ok), (dialog, which) -> {
returnResult(input.getText().toString(), "");
});
builder.setNegativeButton(getString(R.string.cancel), (dialog, which) -> dialog.cancel());
AlertDialog dialog = builder.create();
// Now that the dialog exists, we can bind something that affects the OK button
input.addTextChangedListener(new SimpleTextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 0) {
input.setError(getString(R.string.card_id_must_not_be_empty));
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
} else {
input.setError(null);
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
}
});
dialog.show();
// Disable button (must be done **after** dialog is shown to prevent crash
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
// Set focus on input field
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
input.requestFocus();
}
public void addManually() {
Intent i = new Intent(getApplicationContext(), BarcodeSelectorActivity.class);
if (cardId != null) {
final Bundle b = new Bundle();
@@ -221,7 +353,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
manualAddLauncher.launch(i);
}
public void addFromImage(View view) {
public void addFromImage() {
PermissionUtils.requestStorageReadPermission(this, PERMISSION_SCAN_ADD_FROM_IMAGE);
}
@@ -236,6 +368,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
try {
photoPickerLauncher.launch(chooserIntent);
} catch (ActivityNotFoundException e) {
setScannerActive(true);
Toast.makeText(getApplicationContext(), R.string.failedLaunchingPhotoPicker, Toast.LENGTH_LONG).show();
Log.e(TAG, "No activity found to handle intent", e);
}
@@ -288,6 +421,7 @@ public class ScanActivity extends CatimaAppCompatActivity {
if (granted) {
addFromImageAfterPermission();
} else {
setScannerActive(true);
Toast.makeText(this, R.string.storageReadPermissionRequired, Toast.LENGTH_LONG).show();
}
}

View File

@@ -34,7 +34,7 @@
app:layout_constraintBottom_toTopOf="@+id/barcodeIdLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:text="@string/enterBarcodeInstructions" />
android:text="@string/manually_enter_barcode_instructions" />
<LinearLayout
android:id="@+id/barcodeIdLayout"
android:orientation="horizontal"
@@ -42,7 +42,7 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/explanationText"
app:layout_constraintBottom_toTopOf="@+id/noBarcode"
app:layout_constraintBottom_toTopOf="@+id/barcodes"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView android:textSize="16.0sp"
@@ -65,21 +65,11 @@
android:minHeight="48dp"
tools:ignore="ContentDescription" />
</LinearLayout>
<Button
android:id="@+id/noBarcode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/barcodeIdLayout"
app:layout_constraintBottom_toTopOf="@+id/barcodes"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:text="@string/barcodeNoBarcode"
android:enabled="false" />
<ListView
android:id="@+id/barcodes"
android:layout_width="match_parent"
android:layout_height="fill_parent"
app:layout_constraintTop_toBottomOf="@+id/noBarcode"
app:layout_constraintTop_toBottomOf="@+id/barcodeIdLayout"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@@ -2,6 +2,15 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:id="@+id/fabOtherOptions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
app:icon="@drawable/ic_baseline_unfold_more_24"
android:text="@string/action_more_options"
android:layout_margin="16dp" />
<com.journeyapps.barcodescanner.BarcodeView
android:id="@+id/zxing_barcode_surface"
android:layout_width="match_parent"
@@ -33,25 +42,5 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/add_from_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/addFromImage"
app:layout_constraintBottom_toTopOf="@+id/add_manually"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/camera_permission_denied_layout"
app:layout_constraintVertical_bias="1.0" />
<Button
android:id="@+id/add_manually"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/addManually"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</merge>

View File

@@ -5,8 +5,8 @@ Allan Nordhøy
solokot
Heimen Stoffels
Oğuz Ersen
Katharine Chui
FC (Fay) Stegerman
Katharine Chui
SlavekB
mondstern
StoyanDimitrov
@@ -120,7 +120,7 @@ Tian Jiale
Tong Liu
Tymofii Lytvynenko
Wanath
YounesBouhouche
Younes Bouhouche
Runner
ce i moa
enescan201
@@ -143,6 +143,7 @@ tfuxu
Ahmed Saleh
Airat
Tapwaterisokey
Alexandra-Ioana Moroz
sNiXx
Angela Enogieru
Animesh Chatterjee
@@ -159,7 +160,7 @@ ChaoticNeutralCzech
ChengCheng
CherryMonster222
Colgrave
Csaba
djcand
Mylou53
Daniel Sych
danieluhrinyi
@@ -186,8 +187,10 @@ Jean-Baptiste
Kung-chih
Karvjorm
polar
Karol Kosek
krkk
Kristoffer Grundström
Laura Ferraz
Lionel HANNEQUIN
Lucas da Costa
almir992
Manan Jhaveri
@@ -251,6 +254,7 @@ essys
gbonaspetti
gittyboy-cell
huang ivan
lassr8
liva
lucafont2
mtrmirez
@@ -260,6 +264,7 @@ pesta007
polarhun
pooyanazari
psa-jforestier
z369369
sergio
skauVictor
080502
@@ -270,6 +275,7 @@ Truestorybaby
tygyh
unstartdev
wmilan 17
MeH762
يوسف لطفي
しいたけ
元气

View File

@@ -8,7 +8,6 @@
<string name="note">مذكرة</string>
<string name="cardId">معرّف البطاقة</string>
<string name="barcodeType">نوع الباركود</string>
<string name="barcodeNoBarcode">لا يوجد باركود</string>
<string name="noBarcode">لا يوجد باركود</string>
<string name="star">أضف الي المفضلة</string>
<string name="unstar">حذف من المفضلة</string>
@@ -29,8 +28,6 @@
<string name="noCardsMessage">اضف بطاقة أولا</string>
<string name="card_ids_copied">البطاقة(ات) الشخصية المنسوخة</string>
<string name="barcodeImageDescriptionWithType">صورة <xliff:g>%s</xliff:g> باركود</string>
<string name="noStoreError">لا يوجد اسم مدخل</string>
<string name="noCardIdError">لا يوجد بطاقة شخصية مدخلة</string>
<string name="noCardExistsError">لا يمكن العثور على هذه البطاقة</string>
<string name="failedParsingImportUriError">لا يمكن تحليل الرابط المستورد</string>
<string name="importExport">استيراد/تصدير</string>
@@ -50,7 +47,6 @@
<string name="app_license">البرمجيات الحرة متروكة الحقوق, ترخيص +GPLv3</string>
<string name="app_libraries">مكتبات الطرف الثالث الحرة: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">اختار الباركود</string>
<string name="enterBarcodeInstructions">أدخل بطاقة هوية ، واختر نوع الباركود أدناه ، أو \"لا يوجد باركود\".</string>
<string name="copy_to_clipboard_toast">تم نسخ بطاقة الهوية إلى الحافظة</string>
<string name="thumbnailDescription">صورة مصغرة</string>
<string name="starImage">نجم مفضل</string>
@@ -79,7 +75,6 @@
<string name="balance">الرصيد</string>
<string name="currency">العملة</string>
<string name="points">نقاط</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> لا يبدو أنه رصيد صالح.</string>
<string name="chooseImportType">استيراد البيانات من</string>
<string name="app_loyalty_card_keychain">سلسلة مفاتيح بطاقة الولاء</string>
<string name="privacy_policy">سياسة الخصوصية</string>

View File

@@ -9,7 +9,6 @@
<string name="confirm">Confirmar</string>
<string name="deleteConfirmation">¿Quies desaniciar esta tarxeta permanentemente\?</string>
<string name="importExport">Importar/Esportar</string>
<string name="noCardIdError">Nun s\'introduxo nenguna ID</string>
<string name="exportFailed">Num se pudo facer la esportación</string>
<string name="importFailedTitle">La importación falló</string>
<string name="exportOptionExplanation">Los datos escríbense nel llugar qu\'escueyas.</string>
@@ -22,7 +21,6 @@
</plurals>
<string name="noGiftCards">Calca\'l botón «+» p\'amestar una tarxeta o impórtales dende\'l menú «⋮».</string>
<string name="cardId">ID</string>
<string name="barcodeNoBarcode">Nun hai nengún códigu de barres</string>
<string name="save">Guardar</string>
<string name="edit">Editar</string>
<string name="delete">Desaniciar</string>
@@ -35,7 +33,6 @@
<string name="importFailed">Nun se pudo facer la importación</string>
<string name="noCardExistsError">Nun se pudo atopar esa tarxeta</string>
<string name="all">Too</string>
<string name="noStoreError">Nun s\'introduxo nengún nome</string>
<string name="sendLabel">Unviar…</string>
<string name="editCardTitle">Editar la tarxeta</string>
<string name="ok">D\'acuerdu</string>

View File

@@ -11,7 +11,6 @@
<string name="unstar">Премахва от любими</string>
<string name="star">Добавя към любими</string>
<string name="noBarcode">Липсва щрихкод</string>
<string name="barcodeNoBarcode">Липсва щрихкод</string>
<string name="barcodeType">Вид на щрихкода</string>
<string name="cardId">Номер на карта</string>
<string name="note">Бележка</string>
@@ -27,7 +26,6 @@
<string name="app_license">Свободен софтуер с авторски права, лицензиран под GPLv3+</string>
<string name="frontImageDescription">Снимка на предната страна</string>
<string name="backImageDescription">Снимка на задната страна</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> не изглежда истинска наличност.</string>
<string name="no">Не</string>
<string name="yes">Да</string>
<string name="setBackImage">Снимка на задната страна</string>
@@ -37,15 +35,14 @@
<string name="noCardExistsError">Картата не е намерена</string>
<string name="updateBarcodeQuestionText">Номерът е променен. Желаете ли същата стойност да бъде приложена и към щрихкода\?</string>
<string name="updateBarcodeQuestionTitle">Обновяване на щрихкода\?</string>
<string name="noCardIdError">Не е въведен номер</string>
<string name="noCardsMessage">Добавете карта</string>
<string name="cardShortcut">Пряк път до карта</string>
<string name="addCardTitle">Добавяне на карта</string>
<string name="removeImage">Премахване на изображение</string>
<string name="takePhoto">Снимане</string>
<string name="copy_to_clipboard_multiple_toast">Номерата са копирани в междинната памет</string>
<string name="copy_to_clipboard_multiple_toast">Номерата са копирани</string>
<string name="intent_import_card_from_url_share_multiple_text">Искам да споделя тези карти с вас</string>
<string name="wrongValueForBarcodeType">Неприемлива стойност за избрания вид щрихкод</string>
<string name="wrongValueForBarcodeType">Стойноста е неприемлива за избрания щрихкод</string>
<string name="setBarcodeId">Задаване на стойност</string>
<string name="sameAsCardId">Като номера</string>
<string name="barcodeId">Стойност на щрихкода</string>
@@ -79,7 +76,6 @@
<string name="expiryStateSentenceExpired">Изтекла: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Наличност: <xliff:g>%s</xliff:g></string>
<string name="noGroups">Докоснете бутона +, за да добавите списък.</string>
<string name="noStoreError">Не е въведено наименование</string>
<string name="groups">Списъци</string>
<string name="enter_group_name">Въведете име на списъка</string>
<string name="intent_import_card_from_url_share_text">Искам да споделя тази карта с вас</string>
@@ -93,8 +89,7 @@
<string name="settings">Настройки</string>
<string name="starImage">Звезда за любимо</string>
<string name="thumbnailDescription">Миниатюра</string>
<string name="copy_to_clipboard_toast">Номерът е копиран в междинната памет</string>
<string name="enterBarcodeInstructions">Въведете номер и после или изберете вида на щрихкода, или докоснете бутона „Липсва щрихкод“.</string>
<string name="copy_to_clipboard_toast">Номерът е копиран</string>
<string name="selectBarcodeTitle">Избиране на щрихкод</string>
<string name="importOptionApplicationButton">Избиране чрез приложение</string>
<string name="importing">Внасяне…</string>
@@ -112,7 +107,7 @@
<string name="scanCardBarcode">Снемане на щрихкод</string>
<string name="editCardTitle">Редактиране на карта</string>
<string name="share">Споделя</string>
<string name="copy_to_clipboard">Копира номера в междинната памет</string>
<string name="copy_to_clipboard">Копира номера</string>
<string name="ok">Добре</string>
<string name="importSuccessful">Данните са внесени</string>
<string name="chooseImportType">Внасяне на данни на</string>
@@ -201,7 +196,7 @@
<string name="group_name_already_in_use">Има списък с това име</string>
<string name="group_updated">Промените са запазени</string>
<string name="selectColor">Избиране на цвят</string>
<string name="group_name_is_empty">Името на списъка не може да е празно</string>
<string name="group_name_is_empty">Името на списъка не трябва да е празно</string>
<string name="group_edit">Редактиране на списък</string>
<string name="noGiftCardsGroup">Създайте карти и ги зачислите към списък от тук.</string>
<string name="translate_platform">в Weblate</string>
@@ -269,7 +264,7 @@
<string name="show_validity">Валидност</string>
<string name="show_name_below_image_thumbnail">Наименование</string>
<string name="permissionReadCardsLabel">Четене на карти на Catima</string>
<string name="permissionReadCardsDescription">Четене на картите с всички подробности, включително бележки и изображения</string>
<string name="permissionReadCardsDescription">четене на картите на Catima с всички подробности, включително бележки и изображения</string>
<string name="settings_allow_content_provider_read_title">Разрешаване на достъп на други приложения до данните</string>
<string name="settings_display_barcode_max_brightness_summary">Необходимо за работата на някои скенери</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Без заключване на екрана при преглед на карта</string>
@@ -283,4 +278,12 @@
<string name="show_archived_cards">Архивирани карти</string>
<string name="view_online">Преглед</string>
<string name="app_copyright_short">Всички права запазени © Силвия ван Ос и сътрудници</string>
<string name="card_id_must_not_be_empty">Номера на картата не трябва да бъде празен</string>
<string name="balanceParsingFailed">Неприемлив баланс</string>
<string name="add_a_card_in_a_different_way">Добавяне на карта по друг начин</string>
<string name="manually_enter_barcode_instructions">Въведете номера или текста и изберете щрихкода, който прилича на този от картата.</string>
<string name="action_more_options">Повече</string>
<string name="enter_card_id">Въведете номера или текста от картата</string>
<string name="addWithoutBarcode">Добавяне на карта без щрихкод</string>
<string name="field_must_not_be_empty">Полето не трябва да е празно</string>
</resources>

View File

@@ -4,7 +4,6 @@
<string name="cancel">বাতিল</string>
<string name="unstar">তারা মুক্ত</string>
<string name="star">তারা</string>
<string name="barcodeNoBarcode">কোনো বারকোড নেই</string>
<string name="barcodeType">বারকোড ধরন</string>
<string name="note">বিঃদ্রঃ</string>
<string name="storeName">দোকানের নাম</string>
@@ -69,7 +68,6 @@
<string name="reverse">...উল্টো ক্রমে</string>
<string name="sort_by">ক্রমানুসার</string>
<string name="noCardExistsError">কার্ডটি খুঁজে পাওয়া গেল না</string>
<string name="noStoreError">স্টোরেজ ত্রুটি নেই</string>
<string name="card_ids_copied">আইডি কপি করা হয়েছে</string>
<string name="noCardsMessage">কোন কার্ড বার্তা নেই</string>
<string name="addCardTitle">কার্ডের শিরোনাম যোগ করুন</string>
@@ -100,7 +98,6 @@
<string name="importOptionApplicationExplanation">একটি ফাইল খোলার জন্য যেকোনো অ্যাপ বা আপনার প্রিয় ফাইল ম্যানেজারটি ব্যবহার করুন।</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">মেধাস্বত্ব © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_license">কপিলেফট দ্বারা রক্ষা করা মুক্ত সফটওয়্যার, লাইসেন্স করা GPLv3+ এর অধীনে</string>
<string name="enterBarcodeInstructions">আইডিটি লিখুন আর নয় নিচ থেকে একটি বারকোডের প্রকার বা \"কোনো বারকোড নেই\", নির্বাচন করুন।</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">এই <xliff:g>%d</xliff:g>টি কার্ড কি চিরকালের জন্য মুছে দেবো\?</item>
<item quantity="other">এই <xliff:g>%d</xliff:g>টি কার্ড কি চিরকালের জন্য মুছে দেবো\?</item>
@@ -129,7 +126,6 @@
<string name="cardShortcut">কার্ড শর্টকাট</string>
<string name="exportFailed">রপ্তানি করা যাচ্ছে না</string>
<string name="copy_to_clipboard_toast">আইডি ক্লিপবোর্ডে নকল করা হল</string>
<string name="noCardIdError">কোনো আইডি দওয়া হয়নি</string>
<string name="importExportHelp">নিজের ডেটা অন্য কোথাও সংরক্ষণ করে রাখলে পরে সেটা অন্য ডিভাইসে সরিয়ে নিতে পারবেন।</string>
<string name="importFailed">আমদানি করা গেল না</string>
<string name="noGiftCardsGroup">কিছু কার্ড বানান আর এই গ্রুপে স্থির করুন।</string>
@@ -186,7 +182,6 @@
\nকোন তথ্য একেবারেই সংগ্রহ করা হয় না, যা যে কেউ নিশ্চিত করতে পারবেন কারন আমাদের অ্যাপ মুক্ত সফটওয়্যার।</string>
<string name="balance">ব্যালান্স</string>
<string name="points">পয়েন্ট</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> কোনো বৈধ ব্যালান্স মনে হচ্ছে না।</string>
<string name="chooseImportType">এখান থেকে তথ্য আমদানি করুন</string>
<string name="app_loyalty_card_keychain">আনুগত্য কার্ড কীচেন</string>
<string name="privacy_policy">ব্যক্তিগত তথ্যের গোপনীয়তা নীতি</string>

View File

@@ -29,7 +29,6 @@
<string name="storeName">নাম</string>
<string name="note">বিঃদ্রঃ</string>
<string name="star">ফেভারিটে যোগ করুন</string>
<string name="barcodeNoBarcode">কোন বারকোড নেই</string>
<string name="noBarcode">বারকোড নেই</string>
<string name="unstar">পছন্দের তালিকা থেকে অপসারণ</string>
<string name="cancel">বাতিল করুন</string>

View File

@@ -4,7 +4,6 @@
<string name="cancel">Odustani</string>
<string name="unstar">Ukloni sve omiljene</string>
<string name="star">Omiljene</string>
<string name="barcodeNoBarcode">Ne postoji barkod</string>
<string name="barcodeType">Barcode tip</string>
<string name="note">Bilježnica</string>
<string name="storeName">Ime</string>
@@ -69,7 +68,6 @@
<string name="reverse">Rikverc</string>
<string name="sort_by">Sortiraj</string>
<string name="noCardExistsError">Nisam mogao pronaći tu karticu</string>
<string name="noStoreError">Nije uneseno ime</string>
<string name="card_ids_copied">Kopiran ID/ovi</string>
<string name="noCardsMessage">Dodaj prvo kartu</string>
<string name="addCardTitle">Dodaj Kartu</string>
@@ -93,7 +91,6 @@
<string name="exportFailedTitle">Izvoz neuspješan</string>
<string name="scanCardBarcode">Skeniraj barkod</string>
<string name="cardShortcut">Prečica kartice</string>
<string name="noCardIdError">ID nije unesen</string>
<string name="failedParsingImportUriError">Nisam uspio parsirati URI za uvoz</string>
<string name="importExport">Uvoz/Izvoz</string>
<string name="exportName">Izvoz</string>

View File

@@ -16,8 +16,6 @@
<string name="editCardTitle">Editovat kartu</string>
<string name="addCardTitle">Přidat kartu</string>
<string name="scanCardBarcode">Naskenovat čárový kód</string>
<string name="noStoreError">Nezadáno žádné jméno</string>
<string name="noCardIdError">Nezadáno ID</string>
<string name="importExport">Import/Export</string>
<string name="exportName">Export</string>
<string name="importExportHelp">Zálohování dat vám umožní přesunout je do jiného zařízení.</string>
@@ -61,7 +59,6 @@
<string name="unstar">Odebrat z oblíbených</string>
<string name="star">Přidat do oblíbených</string>
<string name="noBarcode">Žádný čárový kód</string>
<string name="barcodeNoBarcode">Tato karta nemá čárový kód</string>
<string name="barcodeType">Typ čárového kódu</string>
<string name="noMatchingGiftCards">Nic nenalezeno. Zkuste zadat jiný výraz.</string>
<string name="action_search">Hledat</string>
@@ -92,7 +89,6 @@
<string name="expiryStateSentence">Platí do: <xliff:g>%s</xliff:g></string>
<string name="moveDown">Přesunout dolů</string>
<string name="moveUp">Přesunout nahoru</string>
<string name="enterBarcodeInstructions">Zadejte ID a níže vyberte typ čárového kódu nebo klikněte na „Tato karta nemá čárový kód“.</string>
<string name="settings_brown_theme">Hnědá</string>
<string name="settings_grey_theme">Šedá</string>
<string name="settings_green_theme">Zelená</string>
@@ -149,7 +145,6 @@
<string name="privacy_policy">Zásady soukromí</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Importovat data z</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> se nezdá být platným zůstatkem.</string>
<string name="points">Body</string>
<string name="currency">Měna</string>
<string name="balance">Zůstatek</string>
@@ -274,7 +269,7 @@
<string name="show_note">Zobrazit poznámku</string>
<string name="show_validity">Zobrazit platnost</string>
<string name="show_balance">Zobrazit zůstatek</string>
<string name="permissionReadCardsDescription">Číst vaše karty a všechny jejich podrobnosti, včetně poznámek a obrázků</string>
<string name="permissionReadCardsDescription">číst vaše karty Catima a všechny jejich podrobnosti, včetně poznámek a obrázků</string>
<string name="settings_allow_content_provider_read_summary">Aplikace budou i tak muset požádat o povolení k poskytnutí přístupu</string>
<string name="permissionReadCardsLabel">Číst karty Catima</string>
<string name="settings_allow_content_provider_read_title">Umožnit ostatním aplikacím přístup k mým datům</string>

View File

@@ -21,7 +21,6 @@
<string name="unstar">Fjern fra favoritter</string>
<string name="star">Føj til favoritter</string>
<string name="noBarcode">Ingen stregkode</string>
<string name="barcodeNoBarcode">Dette kort har ingen stregkode</string>
<string name="barcodeType">Stregkode type</string>
<string name="cardId">Kort ID</string>
<string name="note">Bemærk</string>
@@ -52,7 +51,6 @@
<string name="starImage">Favorit stjerne</string>
<string name="thumbnailDescription">Miniaturebillede til kort</string>
<string name="copy_to_clipboard_toast">Kort-ID kopieret til udklipsholderen</string>
<string name="enterBarcodeInstructions">Indtast kortets ID, og vælg enten kortets stregkodetype nedenfor, eller \"Dette kort har ingen stregkode\".</string>
<string name="selectBarcodeTitle">Vælg stregkode</string>
<string name="app_copyright_old">Baseret på Loyalty Card Keychain
\ncopyright © 2016-2020 Branden Archer.</string>
@@ -68,8 +66,6 @@
<string name="exportOptionExplanation">Dataene skrives til en placering efter eget valg.</string>
<string name="failedParsingImportUriError">Kunne ikke analysere import-URI\'en</string>
<string name="noCardExistsError">Kunne ikke finde kort</string>
<string name="noCardIdError">Der er ikke angivet noget kort-ID</string>
<string name="noStoreError">Intet navn angivet</string>
<string name="deleteConfirmationGroup">Slet gruppe\?</string>
<string name="all">Alle</string>
<string name="noGroupCards">Denne gruppe indeholder ikke nogen kort</string>

View File

@@ -22,8 +22,6 @@
<string name="scanCardBarcode">Barcode scannen</string>
<string name="cardShortcut">Shortcut zu einer Karte</string>
<string name="noCardsMessage">Füge zuerst eine Karte hinzu</string>
<string name="noStoreError">Kein Name eingegeben</string>
<string name="noCardIdError">Keine ID eingegeben</string>
<string name="noCardExistsError">Diese Karte konnte nicht gefunden werden</string>
<string name="importExport">Import/Export</string>
<string name="exportName">Export</string>
@@ -58,13 +56,11 @@
<string name="settings_light_theme">Hell</string>
<string name="settings_system_theme">System</string>
<string name="settings_theme">Farbschema</string>
<string name="enterBarcodeInstructions">Gib die ID ein und wähle unten entweder einen Barcodetyp oder „Es gibt keinen Barcode“.</string>
<string name="app_copyright_old">Basierend auf Loyalty Card Keychain
\nCopyright © 2016-2020 Branden Archer</string>
<string name="exportOptionExplanation">Die Daten werden an einen Ort deiner Wahl geschrieben.</string>
<string name="failedParsingImportUriError">Die Import-URI konnte nicht verarbeitet werden</string>
<string name="share">Teilen</string>
<string name="barcodeNoBarcode">Es gibt keinen Barcode</string>
<string name="barcodeType">Barcodetyp</string>
<string name="starImage">Favoritenstern</string>
<string name="deleteConfirmationGroup">Gruppe löschen?</string>
@@ -77,7 +73,7 @@
<string name="leaveWithoutSaveTitle">Beenden</string>
<string name="failedOpeningFileManager">Installiere zuerst einen Dateimanager.</string>
<string name="noBarcode">Kein Barcode</string>
<string name="addManually">ID manuell eingeben</string>
<string name="addManually">Code manuell eingeben</string>
<string name="moveDown">Nach unten verschieben</string>
<string name="moveUp">Nach oben verschieben</string>
<plurals name="groupCardCount">
@@ -87,7 +83,6 @@
<string name="groupsList">Gruppen: <xliff:g>%s</xliff:g></string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Daten importieren aus</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> scheint kein gültiges Guthaben zu sein.</string>
<string name="points">Punkte</string>
<string name="currency">Währung</string>
<string name="balance">Guthaben</string>
@@ -283,4 +278,11 @@
<string name="show_archived_cards">Zeige archivierte Karten</string>
<string name="app_copyright_short">Copyright © Sylvia van Os und Mitwirkende</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os und Mitwirkende</string>
<string name="card_id_must_not_be_empty">Kartennummer darf nicht leer sein</string>
<string name="balanceParsingFailed">Ungültiges Guthaben</string>
<string name="add_a_card_in_a_different_way">Karte anders hinzufügen</string>
<string name="action_more_options">Mehr Optionen</string>
<string name="enter_card_id">Gib die Codenummer oder Ziffernfolge deiner Karte an</string>
<string name="addWithoutBarcode">Eine Karde ohne Code hinzufügen</string>
<string name="field_must_not_be_empty">Feld darf nicht leer sein</string>
</resources>

View File

@@ -18,8 +18,6 @@
<string name="scanCardBarcode">Σαρώστε τον γραμμοκώδικα (bardcode)</string>
<string name="cardShortcut">Συντόμευση Κάρτας</string>
<string name="noCardsMessage">Προσθέστε μία κάρτα πρώτα</string>
<string name="noStoreError">Δεν έχει εισαχθεί όνομα</string>
<string name="noCardIdError">Δεν έχει εισαχθεί κωδικός</string>
<string name="noCardExistsError">Δεν ήταν δυνατό να εντοπιστεί η κάρτα</string>
<string name="importExport">Εισαγωγή/Εξαγωγή</string>
<string name="exportName">Εξαγωγή</string>
@@ -58,7 +56,6 @@
<item quantity="other"><xliff:g>%d</xliff:g> επιλέγχθηκαν</item>
</plurals>
<string name="noGiftCardsGroup">Δημιούργησε κάρτες και βάλτες σε αυτή την ομάδα.</string>
<string name="barcodeNoBarcode">Δεν υπάρχει barcode</string>
<string name="addManually">Χειροκίνητη εισαγωγή κωδικού</string>
<string name="never">Ποτέ</string>
<string name="share">Κοινοποίηση</string>
@@ -118,7 +115,6 @@
</plurals>
<string name="card_ids_copied">Αντιγραμμένη/ες ταυτότητα/ες</string>
<string name="errorReadingImage">Δεν ήταν δυνατό να διαβαστεί η εικόνα</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> δεν φαίνεται να είναι έγκυρο το υπόλοιπο.</string>
<string name="currency">Νόμισμα</string>
<string name="privacy_policy">Πολιτική απορρήτου</string>
<string name="chooseImportType">Εισαγωγή δεδομένων από</string>
@@ -180,7 +176,6 @@
</plurals>
<string name="app_copyright_old">Βασισμένο στο Loyalty Card Keychain
\nπνευματικά δικαιώματα © 2016-2020 Branden Archer</string>
<string name="enterBarcodeInstructions">Εισάγετε τον κωδικό και διαλέξτε έναν είδος γραμμοκώδικα από κάτω ή \"Δεν υπάρχει γραμμοκώδικας\".</string>
<string name="settings_follow_system_orientation">Ακολούθηση συστήματος</string>
<string name="settings_card_orientation">Προσανατολισμός γραμμοκώδικα</string>
<string name="settings_portrait_orientation">Πορτραίτο</string>

View File

@@ -1,6 +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">
<string name="barcodeNoBarcode">Strekokodo mankas al karto</string>
<string name="delete">Forigi</string>
<string name="noBarcode">Sen strekokodo</string>
<string name="barcodeType">Tipo de strekokodo</string>
@@ -65,8 +64,6 @@
<string name="importExportHelp">Subtenanta supre vian kartoj permesas vin movi ilin al alia aparato.</string>
<string name="failedParsingImportUriError">Ne eblis analizi la importado URI</string>
<string name="noCardExistsError">Ne eblis trovi karto</string>
<string name="noCardIdError">Neniu karto ID eniris</string>
<string name="noStoreError">Neniu eniris nomo</string>
<string name="noCardsMessage">Aldoni karto unua</string>
<string name="cardShortcut">Karto Mallongirejo</string>
<string name="scanCardBarcode">Scintigrafio Barcode Card</string>

View File

@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="ok">OK</string>
<string name="barcodeNoBarcode">No hay código de barra</string>
<string name="storeName">Nombre</string>
<string name="cancel">Cancelar</string>
<string name="action_search">Buscar</string>

View File

@@ -18,8 +18,6 @@
<string name="scanCardBarcode">Escanear código de barras</string>
<string name="cardShortcut">Atajo de tarjeta</string>
<string name="noCardsMessage">Añada una tarjeta primero</string>
<string name="noStoreError">No se proporcionó ningún nombre</string>
<string name="noCardIdError">No se ha introducido ninguna código</string>
<string name="noCardExistsError">No se ha podido encontrar esa tarjeta</string>
<string name="importExport">Importar/Exportar</string>
<string name="exportName">Exportar</string>
@@ -51,13 +49,11 @@
<string name="settings_light_theme">Claro</string>
<string name="settings_system_theme">Sistema</string>
<string name="settings_theme">Tema</string>
<string name="enterBarcodeInstructions">Introduzca el código, y elija un tipo de código de barras a continuación, o «No hay código de barras».</string>
<string name="app_copyright_old">Basado en Loyalty Card Keychain
\nderechos de autor © 2016-2020 de Branden Archer</string>
<string name="exportOptionExplanation">Los datos se guardarán en la ubicación que elija.</string>
<string name="failedParsingImportUriError">No se pudo procesar el URI de importación</string>
<string name="share">Compartir</string>
<string name="barcodeNoBarcode">No hay código de barras</string>
<string name="barcodeType">Tipo de código de barras</string>
<string name="noMatchingGiftCards">Sin resultados. Intente cambiar su búsqueda.</string>
<string name="action_search">Buscar</string>
@@ -71,7 +67,7 @@
<string name="enter_group_name">Introducir nombre del grupo</string>
<string name="groups">Grupos</string>
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
<string name="addManually">Introducir la ID manualmente</string>
<string name="addManually">Introducir manualmente el código de barras</string>
<string name="leaveWithoutSaveConfirmation">¿Quiere abandonar sin guardar\?</string>
<string name="leaveWithoutSaveTitle">Salir</string>
<string name="moveDown">Bajar</string>
@@ -142,13 +138,12 @@
<string name="privacy_policy">Política de privacidad</string>
<string name="app_loyalty_card_keychain">Llavero con tarjeta de fidelización</string>
<string name="chooseImportType">Importar datos de</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> no tendría un saldo válido.</string>
<string name="currency">Moneda</string>
<string name="balance">Saldo</string>
<string name="errorReadingImage">No se pudo leer la imagen</string>
<string name="noBarcodeFound">No se encontró código de barras</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="addFromImage">Selecciona imagen desde galería</string>
<string name="addFromImage">Selecciona una imagen de la galería</string>
<string name="settings_disable_lockscreen_while_viewing_card">Evitar el bloqueo de pantalla</string>
<string name="settings_keep_screen_on">Mantener pantalla encendida</string>
<plurals name="selectedCardCount">
@@ -226,7 +221,7 @@
</plurals>
<string name="welcome">Bienvenido/a a Catima</string>
<string name="group_name_already_in_use">Nombre del grupo ya está en uso</string>
<string name="group_name_is_empty">El nombre del grupo no puede estar vacío</string>
<string name="group_name_is_empty">El nombre del grupo no debe estar vacío</string>
<string name="settings_oled_dark">Fondo negro puro para el tema oscuro</string>
<string name="exportPasswordHint">Introduzca la contraseña</string>
<string name="previousCard">Anterior</string>
@@ -276,7 +271,7 @@
<string name="show_validity">Mostrar la validez</string>
<string name="show_balance">Mostrar el saldo</string>
<string name="permissionReadCardsLabel">Leer Tarjetas Catima</string>
<string name="permissionReadCardsDescription">Lee tus tarjetas y todos sus detalles, incluidas notas e imágenes</string>
<string name="permissionReadCardsDescription">leer tus tarjetas Catima y todos sus detalles, incluidas notas e imágenes</string>
<string name="settings_allow_content_provider_read_title">Permite a otras aplicaciones acceder a mis datos</string>
<string name="settings_display_barcode_max_brightness_summary">Necesario para que funcione en algunos escáneres</string>
<string name="settings_keep_screen_on_summary">Deshabilita el tiempo de espera de la pantalla mientras se ve una tarjeta</string>
@@ -290,4 +285,12 @@
<string name="show_archived_cards">Mostrar las tarjetas archivadas</string>
<string name="app_copyright_short">Derechos de autor © Sylvia van Os y colaboradores</string>
<string name="action_display_options">Opciones de la pantalla</string>
<string name="card_id_must_not_be_empty">La identificación de la tarjeta no debe estar vacía</string>
<string name="balanceParsingFailed">Saldo incorrecto</string>
<string name="add_a_card_in_a_different_way">Añadir una tarjeta de otra forma</string>
<string name="manually_enter_barcode_instructions">Introduce el número de identificación o el texto de tu tarjeta y pulsa en el código de barras que se parece al de tu tarjeta.</string>
<string name="action_more_options">Más opciones</string>
<string name="enter_card_id">Introduce el número de identificación o el texto de tu tarjeta</string>
<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>
</resources>

View File

@@ -30,7 +30,6 @@
<string name="privacy_policy">Tietosuojakäytäntö</string>
<string name="app_loyalty_card_keychain">Kanta-asiakaskortin avainnippu</string>
<string name="chooseImportType">Tuo tietoja kohteesta</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> ei vaikuta olevan kelvollinen saldo.</string>
<string name="points">Pisteet</string>
<string name="currency">Valuutta</string>
<string name="balance">Saldo</string>
@@ -76,7 +75,6 @@
<string name="starImage">Suosikkitähti</string>
<string name="thumbnailDescription">Pienoiskuva</string>
<string name="copy_to_clipboard_toast">ID-tunnus kopioitu leikepöydälle</string>
<string name="enterBarcodeInstructions">Syötä ID-tunnus ja valitse sen viivakoodityyppi, tai valitse \"Ei viivakoodia\".</string>
<string name="selectBarcodeTitle">Valitse viivakoodi</string>
<string name="app_resources">Vapaat kolmannen osapuolen resurssit: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Vapaat kolmannen osapuolen kirjastot: <xliff:g id="app_libraries_list">%s</xliff:g></string>
@@ -85,7 +83,7 @@
<string name="app_license">Copyleft (käyttäjänoikeus) - vapaa ohjelmisto, lisenssi GPLv3+</string>
<string name="app_copyright_old">Perustuu Loyalty Card Keychain -sovellukseen
\ntekijänoikeus © 20162020 Branden Archer</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Tekijänoikeus © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Tekijänoikeus © 2019<xliff:g>%d</xliff:g> Sylvia van Os ja avustajat</string>
<string name="about">Tietoja</string>
<string name="importOptionApplicationButton">Käytä toista sovellusta</string>
<string name="importOptionApplicationExplanation">Käytä mitä tahansa sovellusta tai suosikkitiedostonhallintaasi tiedoston avaamiseen.</string>
@@ -107,8 +105,6 @@
<string name="importExport">Tuo/vie</string>
<string name="failedParsingImportUriError">Tuonnin URI: n jäsentäminen epäonnistui</string>
<string name="noCardExistsError">Tätä korttia ei löytynyt</string>
<string name="noCardIdError">ID-tunnusta ei annettu</string>
<string name="noStoreError">Nimeä ei annettu</string>
<string name="card_ids_copied">Kopioidut tunnukset</string>
<string name="noCardsMessage">Lisää ensin kortti</string>
<string name="cardShortcut">Kortin pikakuvake</string>
@@ -127,7 +123,6 @@
<string name="unstar">Poista suosikeista</string>
<string name="star">Lisää suosikkeihin</string>
<string name="noBarcode">Ei viivakoodia</string>
<string name="barcodeNoBarcode">Viivakoodia ei ole</string>
<string name="barcodeType">Viivakoodin tyyppi</string>
<string name="cardId">Kortin ID-tunnus</string>
<string name="note">Lisätieto</string>
@@ -279,4 +274,7 @@
<string name="show_validity">Näytä kelpoisuus</string>
<string name="settings_category_title_cards">Kortit</string>
<string name="settings_category_title_general">Yleiset</string>
<string name="action_display_options">Näyttövalinnat</string>
<string name="app_copyright_short">Tekijänoikeus © Sylvia van Os ja avustajat</string>
<string name="show_archived_cards">Näytä arkistoidut kortit</string>
</resources>

View File

@@ -18,8 +18,6 @@
<string name="scanCardBarcode">Scanner le code-barres</string>
<string name="cardShortcut">Raccourci de carte</string>
<string name="noCardsMessage">Ajoutez dabord une carte</string>
<string name="noStoreError">Aucun nom saisi</string>
<string name="noCardIdError">Aucun identifiant saisi</string>
<string name="noCardExistsError">Impossible de trouver cette carte</string>
<string name="importExport">Importer/Exporter</string>
<string name="exportName">Exporter</string>
@@ -54,13 +52,11 @@
<string name="settings_light_theme">Clair</string>
<string name="settings_system_theme">Système</string>
<string name="settings_theme">Thème</string>
<string name="enterBarcodeInstructions">Entrez lidentifiant, et choisissez un type de code-barres ci-dessous, ou « Il ny a pas de code-barres ».</string>
<string name="app_copyright_old">Basé sur Loyalty Card Keychain
\ncopyright © 2016-2020 Branden Archer</string>
<string name="exportOptionExplanation">Les données seront exportées vers lemplacement de votre choix.</string>
<string name="failedParsingImportUriError">Impossible danalyser lURI dimportation</string>
<string name="share">Partager</string>
<string name="barcodeNoBarcode">Il ny a pas de code-barres</string>
<string name="barcodeType">Type de code-barres</string>
<string name="noMatchingGiftCards">Aucun résultat. Essayez de modifier votre recherche.</string>
<string name="action_search">Rechercher</string>
@@ -76,7 +72,7 @@
<string name="leaveWithoutSaveConfirmation">Quitter sans enregistrer \?</string>
<string name="leaveWithoutSaveTitle">Quitter</string>
<string name="failedOpeningFileManager">Installez dabord un gestionnaire de fichiers.</string>
<string name="addManually">Entrer manuellement lidentifiant</string>
<string name="addManually">Entrez le code-barres manuellement</string>
<string name="moveDown">Descendre</string>
<string name="moveUp">Monter</string>
<plurals name="groupCardCount">
@@ -92,7 +88,6 @@
<string name="privacy_policy">Politique de confidentialité</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Importer les données depuis</string>
<string name="parsingBalanceFailed"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g> ne semble pas être un solde valide.</string>
<string name="points">Points</string>
<string name="currency">Devise</string>
<string name="balance">Solde</string>
@@ -205,7 +200,7 @@
<string name="group_edit">Modifier le groupe</string>
<string name="group_name_already_in_use">Nom de groupe déjà utilisé</string>
<string name="group_updated">Groupe mis à jour</string>
<string name="group_name_is_empty">Le nom du groupe ne peut pas être vide</string>
<string name="group_name_is_empty">Le nom de groupe ne peut pas être vide</string>
<string name="setIcon">Définir la vignette</string>
<string name="selectColor">Sélectionnez la couleur</string>
<string name="translate_platform">sur Weblate</string>
@@ -275,7 +270,7 @@
<string name="show_validity">Afficher la validité</string>
<string name="show_balance">Afficher le solde</string>
<string name="permissionReadCardsLabel">Lire les cartes Catima</string>
<string name="permissionReadCardsDescription">Lisez vos cartes et tous ses détails, y compris les notes et les images</string>
<string name="permissionReadCardsDescription">lisez vos cartes Catima et tous leurs détails, y compris les notes et les images</string>
<string name="settings_allow_content_provider_read_title">Autoriser d\'autres applications à accéder à mes données</string>
<string name="settings_allow_content_provider_read_summary">Les applications devront toujours demander une autorisation pour obtenir l\'accès</string>
<string name="settings_display_barcode_max_brightness_summary">Nécessaire au fonctionnement de certains scanneurs</string>
@@ -290,4 +285,12 @@
<string name="show_archived_cards">Afficher les cartes archivées</string>
<string name="view_online">Voir en ligne</string>
<string name="action_display_options">Options daffichage</string>
<string name="card_id_must_not_be_empty">Lidentifiant de la carte ne peut pas être vide</string>
<string name="balanceParsingFailed">Solde invalide</string>
<string name="add_a_card_in_a_different_way">Ajouter une carte dune autre manière</string>
<string name="manually_enter_barcode_instructions">Entrez le numéro didentification ou le texte sur votre carte et appuyez sur le code-barres qui ressemble à celui sur votre carte.</string>
<string name="action_more_options">Plus doptions</string>
<string name="enter_card_id">Entrez le numéro didentification ou le texte sur votre carte</string>
<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>
</resources>

View File

@@ -10,7 +10,6 @@
<string name="share">שיתוף</string>
<string name="copy_to_clipboard">העתקת מזהה ללוח</string>
<string name="addCardTitle">הוספת כרטיס</string>
<string name="noCardIdError">אין מזהה כרטיס</string>
<string name="star">הוספה למועדפים</string>
<string name="unstar">הסרה ממועדפים</string>
<string name="note">הערות</string>
@@ -28,7 +27,6 @@
<string name="failedParsingImportUriError">נתיב לא נמצא</string>
<string name="noMatchingGiftCards">אין תוצאות. נסה חיפוש אחר.</string>
<string name="storeName">שם חנות</string>
<string name="barcodeNoBarcode">אין ברקוד</string>
<string name="delete">מחיקה</string>
<string name="confirm">אישור</string>
<string name="deleteTitle">מחק כרטיס</string>
@@ -39,7 +37,6 @@
<string name="cardShortcut">קיצור דרך</string>
<string name="noCardsMessage">תחילה הוסף כרטיס</string>
<string name="card_ids_copied">מזהי כרטיס הועתקו</string>
<string name="noStoreError">לא הוכנס שם חנות</string>
<string name="noCardExistsError">כרטיס לא נמצא</string>
<string name="importExport">ייבוא/ייצוא</string>
<string name="exportName">ייצוא</string>

View File

@@ -20,8 +20,6 @@
<string name="addCardTitle">कार्ड जोड़ें</string>
<string name="noCardsMessage">पहले एक कार्ड जोड़ें</string>
<string name="card_ids_copied">कॉपी की गई आईडी</string>
<string name="noStoreError">कोई नाम दर्ज नहीं</string>
<string name="noCardIdError">कोई पहचान पत्र (आईडी दर्ज नहीं) की गई</string>
<string name="noCardExistsError">वह कार्ड नहीं मिला</string>
<string name="importExport">आयात / निर्यात</string>
<string name="exportName">निर्यात</string>
@@ -70,7 +68,6 @@
<string name="importOptionApplicationExplanation">फाइल खोलने के लिए कोई भी ऐप या अपना पसंदिता फाइल मैनेजर का इस्तेमाल करे।</string>
<string name="settings_theme">विषय</string>
<string name="barcodeType">बारकोड का प्रकार</string>
<string name="barcodeNoBarcode">कोई बारकोड नहीं है</string>
<string name="noBarcode">बारकोड नहीं है</string>
<string name="copy_to_clipboard">पहचान पत्र(आई डी) को क्लिपबोर्ड में कॉपी करें</string>
<string name="scanCardBarcode">बारकोड स्कैन करें</string>
@@ -79,7 +76,6 @@
<string name="importExportHelp">तथ्य (डाटा) को बैकअप करना हमें उसे दूसरे डिवाइस में भेजने देता है|</string>
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> का बारकोड</string>
<string name="settings_disable_lockscreen_while_viewing_card">स्क्रीन को लॉक होने से रोकें</string>
<string name="enterBarcodeInstructions">अपनी आई डी लिखें तथा या तो बारकोड प्रकार चुनें, या फिर कोई बारकोड नहीं है चुनें|</string>
<string name="settings_lock_on_opening_orientation">कार्ड खोलते समय प्रयोग करि गयी अवस्था को प्रतिबन्ध करें</string>
<string name="intent_import_card_from_url_share_text">मैं तुम्हें एक कार्ड भेजना चाहता हूँ</string>
<string name="selectBarcodeTitle">बारकोड चुनें</string>
@@ -137,7 +133,6 @@
<string name="addManually">मैन्युअली आई डी दर्ज करें</string>
<string name="editGroup">समूह संपादन: <xliff:g>%s</xliff:g></string>
<string name="points">अंक</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> एक वैध शेष राशि नहीं है.</string>
<string name="chooseImportType">यहाँ से डेटा का आयात करें</string>
<string name="privacy_policy">निजता नीति</string>
<string name="importCatima">कैटिमा से आयात करें</string>

View File

@@ -25,10 +25,8 @@
<string name="noMatchingGiftCards">Nema rezultata. Pokušajte promijeniti pretraživanje.</string>
<string name="cardId">ID kartice</string>
<string name="barcodeType">Vrsta crtičnog koda</string>
<string name="barcodeNoBarcode">Ne postoji crtični kod</string>
<string name="cancel">Odustani</string>
<string name="noGiftCards">Pritisni gumb + plus za dodavanje kartice ili uvezi putem izbornika ⋮.</string>
<string name="noStoreError">Ime nije zadano</string>
<string name="noCardExistsError">Nije bilo moguće pronaći tu karticu</string>
<string name="failedParsingImportUriError">Nije bilo moguće obraditi URI uvoza</string>
<string name="importExport">Uvoz/Izvoz</string>
@@ -104,7 +102,6 @@
<string name="settings_grey_theme">Siva</string>
<string name="sort_by_expiry">Istek</string>
<string name="barcodeImageDescriptionWithType">Slika vrste crtičnog koda <xliff:g>%s</xliff:g></string>
<string name="noCardIdError">ID nije zadan</string>
<string name="importLoyaltyCardKeychain">Uvezi iz Loyalty Card Keychain</string>
<string name="frontImageDescription">Prednja slika</string>
<string name="exportPasswordHint">Upiši lozinku</string>
@@ -136,7 +133,6 @@
<string name="app_libraries">Libre biblioteke trećih strana: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Biranje crtičnog koda</string>
<string name="copy_to_clipboard_toast">ID je kopiran u međuspremnik</string>
<string name="enterBarcodeInstructions">Upiši ID i dolje odaberi vrstu crtičnog koda ili „Ne postoji crtični kod”.</string>
<string name="settings_portrait_orientation">Okomito</string>
<string name="settings_lock_on_opening_orientation">Zaključaj na položaj koji se koristi prilikom otvaranja kartice</string>
<string name="group_edit">Uredi grupu</string>
@@ -145,7 +141,6 @@
<string name="balance">Saldo</string>
<string name="chooseImportType">Uvezi podatke iz</string>
<string name="app_loyalty_card_keychain">Privjesak za Karticu Vjernosti</string>
<string name="parsingBalanceFailed">Čini se da <xliff:g>%s</xliff:g> nije ispravni saldo.</string>
<string name="privacy_policy_popup_text">Obavijest o politici privatnosti (obavezna za neke trgovine aplikacija):
\n
\nPODACI SE UOPĆE NE PRIKUPLJAJU, što svatko može potvrditi budući da je naša aplikacija libre softver.</string>

View File

@@ -14,7 +14,6 @@
<string name="note">Feljegyzés</string>
<string name="cardId">Kártyaazonosító</string>
<string name="barcodeType">Vonalkód típusa</string>
<string name="barcodeNoBarcode">Nincs vonalkód</string>
<string name="noBarcode">Nincs vonalkód</string>
<string name="star">Hozzáadás a kedvencekhez</string>
<string name="unstar">Eltávolítás a kedvencekből</string>
@@ -36,7 +35,6 @@
<string name="addCardTitle">Kártya hozzáadása</string>
<string name="scanCardBarcode">Vonalkód leolvasása</string>
<string name="cardShortcut">Kártya parancsikon</string>
<string name="noStoreError">Nincs név megadva</string>
<string name="failedParsingImportUriError">Az importálási URI nem értelmezhető</string>
<string name="importExport">Importálás/exportálás</string>
<string name="exportName">Exportálás</string>
@@ -53,7 +51,6 @@
<string name="deleteTitle">Kártya törlése</string>
<string name="card_ids_copied">Azonosító(k) másolva</string>
<string name="barcodeImageDescriptionWithType">A(z) <xliff:g>%s</xliff:g> vonalkód képe</string>
<string name="noCardIdError">Nincs azonosító megadva</string>
<string name="noCardExistsError">A kártya nem található</string>
<string name="importStocardMessage">Válassza ki az importálandó <i>***.zip</i> Stocard export fájlt.
\nAz adatainak exportálását a support@stocardapp.com címre írt levélben kérheti.</string>
@@ -89,7 +86,6 @@
<string name="debug_version_fmt">Verzió: <xliff:g id="version">%s</xliff:g></string>
<string name="app_resources">Szabad külső erőforrások: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Vonalkód kiválasztása</string>
<string name="enterBarcodeInstructions">Írja be az azonosítót, majd válasszon egy vonalkódot, vagy a „Nincs vonalkód” lehetőséget.</string>
<string name="copy_to_clipboard_toast">Azonosító vágólapra másolva</string>
<string name="starImage">Kedvencek csillag</string>
<string name="settings">Beállítások</string>
@@ -127,7 +123,6 @@
<string name="balance">Egyenleg</string>
<string name="currency">Pénznem</string>
<string name="points">Pontok</string>
<string name="parsingBalanceFailed">A(z) <xliff:g>%s</xliff:g> nem tűnik valós egyenlegnek.</string>
<string name="app_loyalty_card_keychain">Hűségkártya-kulcstartó</string>
<string name="privacy_policy">Adatvédelmi irányelvek</string>
<string name="accept">Elfogadás</string>
@@ -278,4 +273,5 @@
<string name="settings_keep_screen_on_summary">Letiltja a képernyő időtúllépését a kártya megtekintése közben</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Letiltja a képernyő időtúllépését a kártya megjelenítése közben</string>
<string name="settings_allow_content_provider_read_summary">Az alkalmazásoknak továbbra is engedélyt kell kérniük a hozzáféréshez</string>
<string name="view_online">Megtekintés online</string>
</resources>

View File

@@ -26,7 +26,6 @@
<string name="editCardTitle">Ubah Kartu</string>
<string name="addCardTitle">Tambah Kartu</string>
<string name="scanCardBarcode">Pindai Barcode</string>
<string name="barcodeNoBarcode">Tidak ada barcode</string>
<string name="cancel">Batalkan</string>
<string name="importExport">Impor/Ekspor</string>
<string name="settings_theme">Tema</string>
@@ -79,8 +78,6 @@
<string name="copy_to_clipboard">Salin ID ke papan klip</string>
<string name="sendLabel">Kirim…</string>
<string name="noCardsMessage">Tambah kartu terlebih dahulu</string>
<string name="noStoreError">Nama masih kosong</string>
<string name="noCardIdError">Tidak ada ID yang dimasukkan</string>
<string name="noCardExistsError">Tidak dapat menemukan kartu</string>
<string name="failedParsingImportUriError">Tidak dapat memparsing impor URI</string>
<string name="exportName">Ekspor</string>
@@ -108,7 +105,6 @@
<string name="debug_version_fmt">Versi: <xliff:g id="version">%s</xliff:g></string>
<string name="app_libraries">Pustaka pihak ketiga gratis: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Sumber daya pihak ketiga gratis: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="enterBarcodeInstructions">Masukkan ID, dan pilih jenis barcode di bawah ini, atau \"Tidak ada barcode\".</string>
<string name="copy_to_clipboard_toast">ID disalin ke papan klip</string>
<string name="thumbnailDescription">Gambar tampilan</string>
<string name="starImage">Favorit</string>
@@ -140,7 +136,6 @@
<string name="never">Tidak pernah</string>
<string name="moveBarcodeToTopOfScreen">Pindah barcode ke bagian paling depan</string>
<string name="points">Poin</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> sepertinya bukan saldo yang valid.</string>
<string name="app_loyalty_card_keychain">Gantungan kunci kartu kesetiaan</string>
<string name="privacy_policy">Kebijakan Privasi</string>
<string name="privacy_policy_popup_text">Pemberitahuan kebijakan privasi (diperlukan oleh beberapa toko aplikasi):

View File

@@ -10,7 +10,6 @@
<string name="cancel">Hætta</string>
<string name="noMatchingGiftCards">Engar niðurstöður. Prófaðu að breyta leitarorði.</string>
<string name="storeName">Nafnið</string>
<string name="barcodeNoBarcode">Þetta kort hefur ekki strikamerkið</string>
<string name="star">Bæta við eftirlæti</string>
<string name="unstar">Fjarlægja frá eftirlæti</string>
<string name="save">Sparaðu</string>
@@ -26,7 +25,6 @@
<string name="noCardsMessage">Bæta kort fyrstu</string>
<string name="exportFailedTitle">Flytja mistókst</string>
<string name="exportSuccessfulTitle">Flutt</string>
<string name="noStoreError">Ekkert nafn slegið</string>
<string name="noCardExistsError">Gæti ekki fundið kort</string>
<string name="failedParsingImportUriError">Get ekki lesið inn URI</string>
<string name="exportName">Flytja</string>

View File

@@ -7,7 +7,6 @@
<string name="storeName">Nome</string>
<string name="note">Note</string>
<string name="cardId">Codice</string>
<string name="barcodeNoBarcode">Non c\'è un codice a barre</string>
<string name="cancel">Annulla</string>
<string name="save">Salva</string>
<string name="edit">Modifica</string>
@@ -22,8 +21,6 @@
<string name="scanCardBarcode">Scansiona il codice</string>
<string name="cardShortcut">Scorciatoia per la carta</string>
<string name="noCardsMessage">Aggiungi prima una carta</string>
<string name="noStoreError">Nessun nome inserito</string>
<string name="noCardIdError">Nessun codice inserito</string>
<string name="noCardExistsError">Impossibile trovare quella carta</string>
<string name="failedParsingImportUriError">Impossibile analizzare l\'URI di importazione</string>
<string name="importExport">Importa/Esporta</string>
@@ -48,7 +45,6 @@
<string name="about_title_fmt">Informazioni su <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versione: <xliff:g id="version">%s</xliff:g></string>
<string name="selectBarcodeTitle">Seleziona codice a barre</string>
<string name="enterBarcodeInstructions">Inserisci il codice e scegli un tipo di codice a barre sotto oppure seleziona «Non c\'è un codice a barre».</string>
<string name="copy_to_clipboard_toast">Codice copiato negli appunti</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="settings">Impostazioni</string>
@@ -85,7 +81,6 @@
<item quantity="many"><xliff:g>%d</xliff:g> carte</item>
<item quantity="other"><xliff:g>%d</xliff:g> carte</item>
</plurals>
<string name="parsingBalanceFailed"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g> non sembra un saldo corretto.</string>
<string name="points">Punti</string>
<string name="currency">Valuta</string>
<string name="balance">Saldo</string>

View File

@@ -19,7 +19,6 @@
<string name="privacy_policy">プライバシーポリシー</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">インポート元を選択</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> は有効な残高ではないようです。</string>
<string name="points">ポイント</string>
<string name="currency">通貨</string>
<string name="balance">残高</string>
@@ -64,7 +63,6 @@
<string name="starImage">お気に入りのスター</string>
<string name="thumbnailDescription">サムネイル</string>
<string name="copy_to_clipboard_toast">カード番号をクリップボードにコピーしました</string>
<string name="enterBarcodeInstructions">カード番号を入力し、バーコード形式を選択してください。</string>
<string name="selectBarcodeTitle">バーコード選択</string>
<string name="app_libraries">Libre third-party libraries: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
@@ -99,8 +97,6 @@
<string name="importExport">インポート/エクスポート</string>
<string name="failedParsingImportUriError">インポートURIを解析できません</string>
<string name="noCardExistsError">カードが見つかりません</string>
<string name="noCardIdError">カード番号が入力されていません</string>
<string name="noStoreError">名前が入力されていません</string>
<string name="noCardsMessage">カードを追加</string>
<string name="cardShortcut">カードのショートカット</string>
<string name="scanCardBarcode">バーコードをスキャン</string>
@@ -118,7 +114,6 @@
<string name="unstar">お気に入りから削除</string>
<string name="star">お気に入りに追加</string>
<string name="noBarcode">バーコードなし</string>
<string name="barcodeNoBarcode">バーコードなし</string>
<string name="barcodeType">バーコード形式</string>
<string name="cardId">カード番号</string>
<string name="note">メモ</string>

View File

@@ -12,7 +12,6 @@
<string name="settings_system_theme">시스템</string>
<string name="settings_theme">테마</string>
<string name="settings">설정</string>
<string name="enterBarcodeInstructions">ID를 입력하고 아래에서 바코드 유형을 선택하거나 \"바코드가 없습니다\"를 선택하십시오.</string>
<string name="selectBarcodeTitle">바코드 선택</string>
<string name="about">정보</string>
<string name="exporting">내보내는 중…</string>
@@ -36,7 +35,6 @@
<string name="unstar">즐겨찾기에서 제거</string>
<string name="star">즐겨찾기에 추가</string>
<string name="noBarcode">바코드 없음</string>
<string name="barcodeNoBarcode">바코드가 없습니다</string>
<string name="barcodeType">바코드 형식</string>
<string name="cardId">카드 ID</string>
<string name="note">노트</string>
@@ -55,7 +53,6 @@
<string name="importFailed">가져오기를 수행할 수 없습니다</string>
<string name="importFailedTitle">가져오기 실패</string>
<string name="importSuccessfulTitle">가져오기 완료</string>
<string name="noCardIdError">ID를 입력하지 않음</string>
<string name="storeName">이름</string>
<string name="thumbnailDescription">썸네일</string>
<string name="importOptionApplicationButton">다른 앱 사용</string>
@@ -64,7 +61,6 @@
<string name="moveUp">위로 이동</string>
<string name="leaveWithoutSaveTitle">종료</string>
<string name="moveDown">아래로 이동</string>
<string name="noStoreError">이름을 입력하지 않음</string>
<string name="starImage">즐겨찾기 별</string>
<string name="settings_display_barcode_max_brightness">바코드를 표시할 때 화면 밝기 높이기</string>
<string name="deleteConfirmation">정말 이 카드를 삭제하시겠습니까\?</string>
@@ -145,7 +141,6 @@
<string name="translate_platform">Weblate에서</string>
<string name="shortcutSelectCard">카드 선택</string>
<string name="group_edit">그룹 편집</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> 이 유효한 잔액이 아닌 것 같습니다.</string>
<string name="chooseImportType">데이터 가져오기</string>
<string name="barcodeId">바코드 값</string>
<string name="setBackImage">이미지 설정</string>

View File

@@ -46,7 +46,6 @@
<string name="exportPasswordHint">Passwuert aginn</string>
<string name="noMatchingGiftCards">Ech hunn näischt fonnt. Probéieren Iech, Är Sich ze änneren.</string>
<string name="note">Beuechten</string>
<string name="barcodeNoBarcode">Dës Kaart huet kee Barcode</string>
<string name="importExportHelp">Wann Dir Är Kaarten sécheren, kënnen Si se op een anert Instrument réckelen.</string>
<string name="about">Iwwer</string>
<string name="selectBarcodeTitle">Wielt Barcode</string>
@@ -63,7 +62,6 @@
<string name="importOptionApplicationExplanation">Benotzen Se eng beliebige App oder Hire bevorzugten Dateimanager, fir eng Datei ze opmaachen.</string>
<string name="accept">Averstane</string>
<string name="settings_display_barcode_max_brightness">Erhellen barcode-Usiicht</string>
<string name="enterBarcodeInstructions">Gitt d \' Kaarten-ID en an wielen Se entweder den Barcode-Typ ënnen oder \"Dës Kaart huet kee Barcode\".</string>
<string name="importStocard">Importéieren vun Stocard</string>
<string name="importLoyaltyCardKeychain">Import vun Loyalty Card Keychain</string>
<string name="setBarcodeId">Leeë Si barcode-Wäert</string>

View File

@@ -15,8 +15,6 @@
<string name="editCardTitle">Redaguoti lojalumo kortelę</string>
<string name="addCardTitle">Pridėti lojalumo kortelę</string>
<string name="scanCardBarcode">Nuskaityti brūkšninį kodą</string>
<string name="noStoreError">Neįvestas pavadinimas</string>
<string name="noCardIdError">Neįvestas ID</string>
<string name="importExport">Importuoti/Exportuoti</string>
<string name="exportName">Exportuoti</string>
<string name="importFailed">Nepavyko importuoti</string>
@@ -35,7 +33,6 @@
<string name="unstar">Pašalinti iš mėgstamiausių</string>
<string name="star">Pridėti prie mėgstamiausių</string>
<string name="noBarcode">Nėra brūkšninio kodo</string>
<string name="barcodeNoBarcode">Brūkšninio kodo nėra</string>
<string name="barcodeType">Brūkšninio kodo tipas</string>
<string name="noMatchingGiftCards">Rezultatų nėra. Pabandykite pakeisti paiešką.</string>
<string name="action_search">Ieškoti</string>
@@ -47,7 +44,6 @@
\nSukurkite jį iš Loyalty Card Keychain meniu Importavimas/Eksportavimas, pirmiausia paspausdami Eksportuoti.</string>
<string name="importLoyaltyCardKeychain">Importuoti iš Loyalty Card Keychain</string>
<string name="app_loyalty_card_keychain">Lojalumo kortelės</string>
<string name="parsingBalanceFailed">Panašu, kad <xliff:g> %s </xliff:g> reikšmė nėra tinkama.</string>
<string name="moveBarcodeToTopOfScreen">Perkelti brūkšninį kodą į ekrano viršų</string>
<string name="settings_display_barcode_max_brightness">Šviesinti brūkšninio kodo rodinį</string>
<string name="failedParsingImportUriError">Nepavyko iššifruoti importo URI</string>
@@ -131,7 +127,6 @@
<string name="settings">Nustatymai</string>
<string name="starImage">Mėgstamiausia žvaigždė</string>
<string name="thumbnailDescription">Miniatiūra</string>
<string name="enterBarcodeInstructions">Įveskite ID ir toliau pasirinkite brūkšninio kodo tipą arba \"Nėra brūkšninio kodo\".</string>
<string name="app_resources">Laisvosios trečiųjų šalių ištekliai: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Laisvosios trečiųjų šalių bibliotekos: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_copyright_old">Paremta Loyalty Card Keychain

View File

@@ -7,7 +7,6 @@
<string name="storeName">Nosaukums</string>
<string name="note">Piezīme</string>
<string name="barcodeType">Svītrkoda tips</string>
<string name="barcodeNoBarcode">Bez svītrkoda</string>
<string name="noBarcode">Nav svītrkoda</string>
<string name="star">Pievienot izlasei</string>
<string name="unstar">Noņemt no izlases</string>
@@ -33,7 +32,6 @@
<string name="scanCardBarcode">Skenēt svītrkodu</string>
<string name="cardShortcut">Kartes saīsne</string>
<string name="noCardsMessage">Vispirms pievienojiet karti</string>
<string name="noStoreError">Vārds nav ievadīts</string>
<string name="noCardExistsError">Nevarēja atrast karti</string>
<string name="failedParsingImportUriError">Nevarēja parsēt importa URI</string>
<string name="importExport">Imports/Eksports</string>
@@ -96,13 +94,11 @@
<string name="translate_platform">vietnē Weblate</string>
<string name="starred">Izlase</string>
<string name="cardId">Kartes numurs</string>
<string name="enterBarcodeInstructions">Ievadiet kartes numuru un izvēlieties svītrkoda tipu (vai izvēlieties \"bez svītrkoda\").</string>
<plurals name="deleteCardsConfirmation">
<item quantity="zero">Neatgriezeniski dzēst šīs <xliff:g>%d</xliff:g> kartes\?</item>
<item quantity="one">Neatgriezeniski dzēst šo <xliff:g>%d</xliff:g> karti\?</item>
<item quantity="other">Neatgriezeniski dzēst šīs <xliff:g>%d</xliff:g> kartes\?</item>
</plurals>
<string name="noCardIdError">Numurs nav ievadīts</string>
<string name="about_title_fmt">Par <xliff:g id="app_name">%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Derīguma termiņš beidzās: <xliff:g>%s</xliff:g></string>
<string name="selectColor">Izvēlieties krāsu</string>
@@ -119,7 +115,6 @@
<item quantity="one"><xliff:g>%s</xliff:g> punkts</item>
<item quantity="other"><xliff:g>%s</xliff:g> punkti</item>
</plurals>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> nešķiet derīga bilance.</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy_popup_text">Paziņojums par privātuma politiku (nepieciešams dažiem lietotņu veikaliem):
\n

View File

@@ -19,8 +19,6 @@
<string name="scanCardBarcode">Skann strekkoden</string>
<string name="cardShortcut">Kort-snarvei</string>
<string name="noCardsMessage">Legg til et kort først</string>
<string name="noStoreError">Navn ikke angitt</string>
<string name="noCardIdError">Ingen ID innskrevet</string>
<string name="noCardExistsError">Fant ikke det kortet</string>
<string name="importExport">Importer/eksporter</string>
<string name="exportName">Eksporter</string>
@@ -45,7 +43,6 @@
<string name="about_title_fmt">Om <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versjon: <xliff:g id="version">%s</xliff:g></string>
<string name="selectBarcodeTitle">Velg strekkode</string>
<string name="enterBarcodeInstructions">Skriv inn kortets ID, og enten velg strekkodetypen nedenfor, eller «Det er ingen strekkode».</string>
<string name="copy_to_clipboard_toast">ID kopiert til utklippstavle</string>
<string name="thumbnailDescription">Miniatyrbilde</string>
<string name="settings">Innstillinger</string>
@@ -61,7 +58,6 @@
\nopphavsrett 20162020 Branden Archer</string>
<string name="failedParsingImportUriError">Kunne ikke tolke importerings-URI</string>
<string name="share">Del</string>
<string name="barcodeNoBarcode">Det er ingen strekkode</string>
<string name="noMatchingGiftCards">Ingen resultater. Prøv å endre søket.</string>
<string name="action_search">Søk</string>
<string name="starImage">Favorittstjerne</string>
@@ -92,7 +88,6 @@
<string name="expiryDate">Utløpsdato</string>
<string name="expiryStateSentenceExpired">Utløpt: <xliff:g>%s</xliff:g></string>
<string name="moveBarcodeToTopOfScreen">Flytt strekkoden til toppen av skjermen</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> ser ikke ut til å være en gyldig saldo.</string>
<string name="points">Poeng</string>
<string name="currency">Valuta</string>
<string name="balance">Saldo</string>

View File

@@ -8,7 +8,6 @@
<string name="note">Aantekening</string>
<string name="cardId">Kaartnummer</string>
<string name="barcodeType">Soort barcode</string>
<string name="barcodeNoBarcode">Er is geen barcode</string>
<string name="cancel">Annuleren</string>
<string name="save">Opslaan</string>
<string name="edit">Bewerken</string>
@@ -23,8 +22,6 @@
<string name="scanCardBarcode">Barcode scannen</string>
<string name="cardShortcut">Kaartsnelkoppeling</string>
<string name="noCardsMessage">Voeg eerst een kaart toe</string>
<string name="noStoreError">Geen naam ingevoerd</string>
<string name="noCardIdError">Geen id ingevoerd</string>
<string name="noCardExistsError">De kaart is niet aangetroffen</string>
<string name="failedParsingImportUriError">Kan de import-uri niet verwerken</string>
<string name="importExport">Importeren/Exporteren</string>
@@ -50,7 +47,6 @@
<string name="about_title_fmt">Over <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versie: <xliff:g id="version">%s</xliff:g></string>
<string name="selectBarcodeTitle">Barcode toevoegen</string>
<string name="enterBarcodeInstructions">Voer de kaart-id in en kies daarna het soort barcode of druk op “Deze kaart heeft geen barcode”.</string>
<string name="copy_to_clipboard_toast">De kaart-id is gekopieerd naar het klembord</string>
<string name="thumbnailDescription">Miniatuurvoorbeeld</string>
<string name="settings">Instellingen</string>
@@ -92,7 +88,6 @@
<string name="expiryStateSentence">Vervalt op <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Verlopen: <xliff:g>%s</xliff:g></string>
<string name="moveBarcodeToTopOfScreen">Barcode verplaatsen naar bovenkant van scherm</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> lijkt geen geldig saldo te zijn.</string>
<string name="points">Aantal punten</string>
<string name="currency">Valuta</string>
<string name="balance">Saldo</string>
@@ -270,7 +265,7 @@
<string name="show_validity">Geldigheid tonen</string>
<string name="permissionReadCardsLabel">Catimakaarten uitlezen</string>
<string name="settings_allow_content_provider_read_summary">Let op: apps moeten nog steeds om toestemming vragen</string>
<string name="permissionReadCardsDescription">Lees alle kaarten uit, inclusief alle details, aantekeningen en afbeeldingen</string>
<string name="permissionReadCardsDescription">Lees alle Catima-kaarten uit, inclusief alle details, aantekeningen en afbeeldingen</string>
<string name="settings_allow_content_provider_read_title">Andere apps toegang geven tot gegevens</string>
<string name="settings_keep_screen_on_summary">Laat het scherm niet op zwart gaan tijdens het bekijken van een kaart</string>
<string name="settings_category_title_privacy">Privacy</string>

View File

@@ -12,8 +12,6 @@
<string name="importExport">Importar/Exportar</string>
<string name="failedParsingImportUriError">Analisi impossibla lURI dimportacion</string>
<string name="noCardExistsError">Impossible de trobar aquesta carta</string>
<string name="noCardIdError">Cap didentificant pas picat</string>
<string name="noStoreError">Cap de nom pas picat</string>
<string name="card_ids_copied">ID copiat(s)</string>
<string name="noCardsMessage">Apondètz den primièr una carta</string>
<string name="cardShortcut">Acorchi de carta</string>
@@ -43,7 +41,6 @@
</plurals>
<string name="deleteTitle">Suprimir la carta</string>
<string name="noBarcode">Cap de còdi de barras</string>
<string name="barcodeNoBarcode">Cap de còdi de barras</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> seleccionada</item>
<item quantity="other"><xliff:g>%d</xliff:g> seleccionadas</item>

View File

@@ -7,7 +7,6 @@
<string name="storeName">Nazwa</string>
<string name="note">Notatka</string>
<string name="cardId">Identyfikator karty</string>
<string name="barcodeNoBarcode">Bez kodu kreskowego</string>
<string name="cancel">Anuluj</string>
<string name="save">Zapisz</string>
<string name="edit">Edytuj</string>
@@ -22,8 +21,6 @@
<string name="scanCardBarcode">Zeskanuj kod kreskowy</string>
<string name="cardShortcut">Skrót karty</string>
<string name="noCardsMessage">Najpierw dodaj kartę</string>
<string name="noStoreError">Nie wprowadzono nazwy</string>
<string name="noCardIdError">Nie wprowadzono identyfikatora</string>
<string name="noCardExistsError">Nie można znaleźć tej karty lojalnościowej</string>
<string name="failedParsingImportUriError">Nie można przeanalizować identyfikatora importu URI</string>
<string name="importExport">Importuj/Eksportuj</string>
@@ -48,7 +45,6 @@
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Wersja: <xliff:g id="version">%s</xliff:g></string>
<string name="selectBarcodeTitle">Wybierz kod kreskowy</string>
<string name="enterBarcodeInstructions">Wprowadź ID, a następnie wybierz typ kodu kreskowego, którego chcesz użyć lub wybierz „Bez kodu kreskowego”.</string>
<string name="copy_to_clipboard_toast">Skopiowano ID do schowka</string>
<string name="thumbnailDescription">Miniaturka</string>
<string name="settings">Ustawienia</string>
@@ -132,7 +128,6 @@
<string name="privacy_policy">Polityka prywatności</string>
<string name="app_loyalty_card_keychain">Brelok dla twoich kart lojalnościowych</string>
<string name="chooseImportType">Importuj dane z</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> nie wydaje się być prawidłową wartością.</string>
<string name="points">Punkty</string>
<string name="currency">Waluta</string>
<string name="balance">Saldo</string>

View File

@@ -8,7 +8,6 @@
<string name="storeName">Nome</string>
<string name="note">Nota</string>
<string name="barcodeType">Tipo de código de barras</string>
<string name="barcodeNoBarcode">Não há código de barras</string>
<string name="cancel">Cancelar</string>
<string name="save">Guardar</string>
<string name="edit">Editar</string>
@@ -39,7 +38,6 @@
<string name="cardId">Identificador do cartão</string>
<string name="cardShortcut">Atalho do cartão</string>
<string name="noCardsMessage">Adicione primeiro um cartão</string>
<string name="noStoreError">Nenhum nome inserido</string>
<string name="noCardExistsError">Não foi possível encontrar esse cartão</string>
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
<string name="importExport">Importar / exportar</string>
@@ -62,7 +60,6 @@
<string name="settings_light_theme">Claro</string>
<string name="settings_dark_theme">Escuro</string>
<string name="selectBarcodeTitle">Selecionar código de barras</string>
<string name="enterBarcodeInstructions">Introduza o identificador e depois escolha o tipo de código de barras abaixo ou \"Sem código de barras\".</string>
<string name="copy_to_clipboard_toast">Identificador copiado para a área de transferência</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="starImage">Favorito</string>
@@ -116,19 +113,19 @@
<item quantity="other"><xliff:g>%d</xliff:g> cartões</item>
</plurals>
<string name="importOptionFilesystemTitle">Importar do sistema de ficheiros</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Direitos de autor © 2019<xliff:g>%d</xliff:g> Sylvia van Os</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019-<xliff:g>%d</xliff:g> Sylvia van Os e colaboradores</string>
<string name="app_copyright_old">Baseado no Loyalty Card Keychain
\ndireitos de autor © 20162020 Branden Archer</string>
<string name="about_title_fmt">Sobre o <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Versão: <xliff:g id="version">%s</xliff:g></string>
<string name="expiryStateSentenceExpired">Expirados: <xliff:g>%s</xliff:g></string>
<string name="leaveWithoutSaveConfirmation">Sair sem guardar\?</string>
<string name="addManually">Introduzir manualmente o identificador</string>
<string name="addFromImage">Selecionar imagem da galeria</string>
<string name="addManually">Insira o código de barras manualmente</string>
<string name="addFromImage">Selecione uma imagem da galeria</string>
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="editBarcode">Editar código de barras</string>
<string name="expiryDate">Validade</string>
<string name="expiryDate">Data de expiração</string>
<string name="never">Nunca</string>
<string name="chooseExpiryDate">Escolher validade</string>
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo do ecrã</string>
@@ -137,8 +134,7 @@
<string name="balance">Saldo</string>
<string name="currency">Moeda</string>
<string name="points">Pontos</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> não parece ser um saldo válido.</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="app_loyalty_card_keychain">Chaveiro de cartão de fidelidade</string>
<string name="privacy_policy">Política de privacidade</string>
<string name="privacy_policy_popup_text">Aviso de política de privacidade (exigido por algumas lojas de aplicações):
\n
@@ -174,7 +170,7 @@
<string name="sort">Ordenar</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
<string name="sort_by_expiry">Validade</string>
<string name="sort_by_expiry">Expiração</string>
<string name="reverse">…na ordem inversa</string>
<string name="sort_by">Ordenar por</string>
<string name="version_history">Histórico de versões</string>
@@ -187,7 +183,6 @@
<string name="rate_this_app">Avalie esta aplicação</string>
<string name="on_google_play">no Google Play</string>
<string name="exportOptionExplanation">Os dados serão guardados num local à sua escolha.</string>
<string name="noCardIdError">Nenhum identificador inserido</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Eliminar <xliff:g>%d</xliff:g> cartão</item>
<item quantity="many">Eliminar <xliff:g>%d</xliff:g> cartões</item>
@@ -203,7 +198,7 @@
<string name="barcodeImageDescriptionWithType">Imagem do código de barras <xliff:g>%s</xliff:g></string>
<string name="group_edit">Editar grupo</string>
<string name="group_name_already_in_use">O nome do grupo já está a ser usado</string>
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
<string name="group_name_is_empty">O nome do grupo não pode ser vazio</string>
<string name="group_updated">Grupo atualizado</string>
<string name="editGroup">A editar grupo: <xliff:g>%s</xliff:g></string>
<string name="noGiftCardsGroup">Crie alguns cartões e atribua-os depois ao grupo aqui.</string>
@@ -273,7 +268,7 @@
<string name="show_validity">Mostrar validade</string>
<string name="show_balance">Mostrar saldo</string>
<string name="permissionReadCardsLabel">Ler Cartas Catima</string>
<string name="permissionReadCardsDescription">Leia seus cartões e todos os seus detalhes, incluindo notas e imagens</string>
<string name="permissionReadCardsDescription">leia seus cartões do Catima e todos os seus detalhes, incluindo notas e imagens</string>
<string name="show_note">Mostrar nota</string>
<string name="show_name_below_image_thumbnail">Mostrar nome abaixo da miniatura do ícone</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Desativa o bloqueio de tela ao visualizar um cartão</string>
@@ -286,4 +281,16 @@
<string name="settings_category_title_cards">cartões</string>
<string name="settings_category_title_general">geral</string>
<string name="settings_category_title_privacy">Privacidade</string>
<string name="card_id_must_not_be_empty">O ID do cartão não pode estar vazio</string>
<string name="balanceParsingFailed">Saldo inválido</string>
<string name="add_a_card_in_a_different_way">Adicione um cartão de uma forma diferente</string>
<string name="view_online">Exibir online</string>
<string name="manually_enter_barcode_instructions">Digite o número ID ou o texto em seu cartão e pressione o código de barras que se parece com o que está em seu cartão.</string>
<string name="action_more_options">Mais opções</string>
<string name="enter_card_id">Digite o número ID ou o texto em seu cartão</string>
<string name="action_display_options">Opções de exibição</string>
<string name="addWithoutBarcode">Adicione um cartão sem código de barras</string>
<string name="app_copyright_short">Copyright © Sylvia van Os e colaboradores</string>
<string name="field_must_not_be_empty">O campo não pode estar vazio</string>
<string name="show_archived_cards">Exibir cartões arquivados</string>
</resources>

View File

@@ -21,7 +21,6 @@
<string name="unstar">Eliminați din favorite</string>
<string name="star">Adaugă la favorite</string>
<string name="noBarcode">Fără cod de bare</string>
<string name="barcodeNoBarcode">Nu există cod de bare</string>
<string name="moveDown">Mutarea în jos</string>
<string name="card">Cardul</string>
<string name="settings_theme">Tema</string>
@@ -34,7 +33,6 @@
<string name="importSuccessfulTitle">Importat</string>
<string name="importFailedTitle">Importul a eșuat</string>
<string name="importFailed">Nu s-a putut efectua importarea</string>
<string name="noCardIdError">Nu s-a introdus niciun ID</string>
<string name="exportFailed">Nu s-a putut efectua exportarea</string>
<string name="importing">Importul…</string>
<string name="exporting">Exportul…</string>
@@ -51,7 +49,6 @@
<string name="importOptionApplicationExplanation">Utilizați orice aplicație sau managerul de fișiere preferat pentru a deschide un fișier.</string>
<string name="about">Despre</string>
<string name="app_license">Software liber cu copyleft, licențiat GPLv3+</string>
<string name="enterBarcodeInstructions">Introduceți ID-ul cardului și alegeți fie tipul de cod de bare de mai jos, fie \"Acest card nu are cod de bare\".</string>
<string name="settings_system_theme">Sistemul</string>
<string name="settings_light_theme">Lumină</string>
<string name="settings_dark_theme">Întuneric</string>
@@ -71,7 +68,6 @@
<string name="editBarcode">Editarea codului de bare</string>
<string name="chooseExpiryDate">Alegeți data de expirare</string>
<string name="copy_to_clipboard_toast">ID-ul cardului copiat în clipboard</string>
<string name="noStoreError">Nici un nume introdus</string>
<string name="selectBarcodeTitle">Selectare cod de bare</string>
<string name="noGroupCards">Acest grup nu conține nicio carte</string>
<string name="addFromImage">Selectați imaginea din galerie</string>

View File

@@ -8,7 +8,6 @@
<string name="note">Примечание</string>
<string name="cardId">Номер карты</string>
<string name="barcodeType">Тип штрих-кода</string>
<string name="barcodeNoBarcode">Нет штрих-кода</string>
<string name="cancel">Отмена</string>
<string name="save">Сохранить</string>
<string name="edit">Изменить</string>
@@ -23,8 +22,6 @@
<string name="scanCardBarcode">Отсканируйте штрих-код</string>
<string name="cardShortcut">Ярлык карты</string>
<string name="noCardsMessage">Сначала добавьте карту</string>
<string name="noStoreError">Название не указано</string>
<string name="noCardIdError">Номер не указан</string>
<string name="noCardExistsError">Карта не найдена</string>
<string name="failedParsingImportUriError">Невозможно разобрать импортируемый URI</string>
<string name="importExport">Импорт/Экспорт</string>
@@ -50,7 +47,6 @@
<string name="about_title_fmt">О приложении <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Версия: <xliff:g id="version">%s</xliff:g></string>
<string name="selectBarcodeTitle">Выбор штрих-кода</string>
<string name="enterBarcodeInstructions">Введите номер и выберите тип штрих-кода (или выберите \"Нет штрих-кода\").</string>
<string name="copy_to_clipboard_toast">Номер скопирован в буфер обмена</string>
<string name="thumbnailDescription">Логотип</string>
<string name="settings">Настройки</string>
@@ -80,7 +76,6 @@
<string name="expiryStateSentenceExpired">Срок действия истёк: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Срок действия истекает: <xliff:g>%s</xliff:g></string>
<string name="points">Баллы</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> не похож на правильный баланс.</string>
<string name="addManually">Ручной ввод номера</string>
<string name="privacy_policy_popup_text">Уведомление о политике конфиденциальности (требуется некоторыми магазинами приложений):
\n
@@ -282,7 +277,7 @@
<string name="show_validity">Показывать срок действия</string>
<string name="show_name_below_image_thumbnail">Показывать название под миниатюрой</string>
<string name="show_balance">Показывать баланс</string>
<string name="permissionReadCardsDescription">Чтение ваших карт и всех их данных, включая заметки и изображения</string>
<string name="permissionReadCardsDescription">чтение ваших карт Catima и всех их данных, включая заметки и изображения</string>
<string name="permissionReadCardsLabel">Чтение карт Catima</string>
<string name="settings_allow_content_provider_read_summary">Приложениям по-прежнему придётся запрашивать разрешение для получения доступа</string>
<string name="settings_allow_content_provider_read_title">Разрешать другим приложениям доступ к моим данным</string>
@@ -297,4 +292,12 @@
<string name="app_copyright_short">Авторское право © Sylvia van Os и помощники</string>
<string name="action_display_options">Настройки отображения</string>
<string name="show_archived_cards">Показывать архивные карты</string>
<string name="card_id_must_not_be_empty">Номер карты не может быть пустым</string>
<string name="balanceParsingFailed">Баланс неправильный</string>
<string name="add_a_card_in_a_different_way">Добавить карту другим способом</string>
<string name="manually_enter_barcode_instructions">Введите номер или текст с карты и нажмите штрих-код, который выглядит так же, как на карте.</string>
<string name="action_more_options">Ещё</string>
<string name="enter_card_id">Введите номер или текст с карты</string>
<string name="addWithoutBarcode">Добавить карту без штрих-кода</string>
<string name="field_must_not_be_empty">Поле не может быть пустым</string>
</resources>

View File

@@ -18,8 +18,6 @@
<string name="scanCardBarcode">Skenovať čiarový kód</string>
<string name="cardShortcut">Skratka</string>
<string name="noCardsMessage">Najprv pridajte kartu</string>
<string name="noStoreError">Nebol zadaný žiadny názov</string>
<string name="noCardIdError">Nebolo zadané ID</string>
<string name="noCardExistsError">Nepodarilo sa nájsť túto kartu</string>
<string name="importExport">Import/Export</string>
<string name="exportName">Export</string>
@@ -51,7 +49,6 @@
<string name="deleteConfirmation">Naozaj chcete túto kartu odstrániť?</string>
<string name="star">Pridať k obľúbeným</string>
<string name="noBarcode">Žiadny čiarový kód</string>
<string name="barcodeNoBarcode">Čiarový kód nie je k dispozícii</string>
<string name="barcodeType">Typ čiarových kódov</string>
<string name="noMatchingGiftCards">Žiadne výsledky. Skúste zmeniť vyhľadávanie.</string>
<string name="action_search">Vyhľadávanie</string>
@@ -89,7 +86,6 @@
<string name="settings_system_theme">Systém</string>
<string name="settings_theme">Téma</string>
<string name="starImage">Obľúbená hviezda</string>
<string name="enterBarcodeInstructions">Zadajte ID a vyberte typ čiarového kódu nižšie alebo \"Nie je tu žiadny čiarový kód\".</string>
<string name="exportOptionExplanation">Údaje sa zapíšu na vami zvolené miesto.</string>
<string name="failedParsingImportUriError">Nepodarilo sa analyzovať import URI</string>
<string name="share">Zdieľať</string>
@@ -192,7 +188,6 @@
<string name="updateBarcodeQuestionText">Zmenili ste ID. Chcete aktualizovať aj čiarový kód, aby používal rovnakú hodnotu\?</string>
<string name="no">Nie</string>
<string name="passwordRequired">Zadajte prosím heslo</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> sa nezdá byť platným zostatkom.</string>
<string name="noGiftCardsGroup">Zatiaľ nemáte žiadne vernostné karty. Keď nejaké pridáte, môžete ich priradiť ku skupine tu.</string>
<string name="noCameraPermissionDirectToSystemSetting">Na skenovanie čiarových kódov potrebuje Catima prístup k fotoaparátu. Ťuknite sem a zmeňte nastavenia oprávnení.</string>
<string name="importCards">Importovať karty</string>

View File

@@ -18,8 +18,6 @@
<string name="scanCardBarcode">Skeniraj črtno kodo</string>
<string name="cardShortcut">Bližnjica do kartice</string>
<string name="noCardsMessage">Najprej dodajte kartico</string>
<string name="noStoreError">Ime ni bilo vnešeno</string>
<string name="noCardIdError">ID številka kartice ni bila vnešena</string>
<string name="noCardExistsError">Te kartice zvestobe ni bilo mogoče najti</string>
<string name="importExport">Uvozi/izvozi</string>
<string name="exportName">Izvozi</string>
@@ -68,7 +66,6 @@
<string name="intent_import_card_from_url_share_text">Z vami želim deliti kartico</string>
<string name="settings_disable_lockscreen_while_viewing_card">Prepreči zaklepanje zaslona</string>
<string name="settings_keep_screen_on">Ohranite zaslon vklopljen</string>
<string name="enterBarcodeInstructions">Vnesite ID kartice in spodaj izberite vrsto črtne kode ali izbiro \"Ta kartica nima črtne kode\".</string>
<string name="settings_dark_theme">Temno</string>
<string name="settings_light_theme">Svetlo</string>
<string name="settings_system_theme">Sistem</string>
@@ -83,7 +80,6 @@
<string name="unstar">Odstrani iz priljubljenih</string>
<string name="star">Dodaj med priljubljene</string>
<string name="noBarcode">Brez črtne kode</string>
<string name="barcodeNoBarcode">Ni črtne kode</string>
<string name="barcodeType">Vrsta črtne kode</string>
<string name="noMatchingGiftCards">Brez rezultata iskanja. Poskusite spremeniti iskalni niz.</string>
<string name="action_search">Iskanje</string>
@@ -144,7 +140,6 @@
<string name="yes">Da</string>
<string name="frontImageDescription">Prednja stran</string>
<string name="backImageDescription">Zadnja stran</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> ni veljavno stanje.</string>
<string name="setBackImage">Nastavi sliko sprednje strani</string>
<string name="setFrontImage">Nastavi sliko sprednje strani</string>
<string name="photos">Fotografije</string>
@@ -268,4 +263,9 @@
<string name="validFromDate">Velja od</string>
<string name="anyDate">Katerikoli datum</string>
<string name="chooseValidFromDate">Izberite datum začetka veljavnosti</string>
</resources>
<string name="permissionReadCardsDescription">preberite svoje kartice Catima in vse podrobnosti, vključno z opombami in slikami</string>
<string name="settings_display_barcode_max_brightness_summary">Potrebno za delovanje nekaterih skenerjev</string>
<string name="app_copyright_short">Copyright © Sylvia van Os in drugi sodelujoči</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019<xliff:g>%d</xliff:g> Sylvia van Os in drugi sodelujoči</string>
<string name="permissionReadCardsLabel">Preberite kartice Catima</string>
</resources>

View File

@@ -2,7 +2,6 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<string name="settings_display_barcode_max_brightness">Gör streckkodsvyn ljusare</string>
<string name="settings_keep_screen_on">Håll skärmen påslagen</string>
<string name="enterBarcodeInstructions">Ange ID:t och välj antingen streckkodstyp nedan, eller \"Det finns ingen streckkod\".</string>
<string name="importFidmeMessage">Välj den exporterade <i>fidme-export-request-xxxxxx.zip</i> från FidMe som du vill importera och välj streckkodstyper manuellt efteråt.
\nSkapa den från din FidMe-profil först genom att välja \"Data Protection\" och sen trycka på \"Extract my data\".</string>
<string name="importOptionApplicationExplanation">Använd vilken app som helst eller den filhanterare du föredrar för att öppna en fil.</string>
@@ -99,8 +98,6 @@
<string name="importExportHelp">Säkerhetskopiering av din data möjliggör förflyttning av den till en annan enhet.</string>
<string name="importExport">Importera/Exportera</string>
<string name="noCardExistsError">Kunde inte hitta det kortet</string>
<string name="noCardIdError">Inget ID har angivits</string>
<string name="noStoreError">Inget namn har angivits</string>
<string name="noCardsMessage">Lägg till ett kort först</string>
<string name="cardShortcut">Kort-genväg</string>
<string name="addCardTitle">Lägg till kort</string>
@@ -127,7 +124,6 @@
<string name="unstar">Ta bort från favoriter</string>
<string name="star">Lägg till i favoriter</string>
<string name="noBarcode">Ingen streckkod</string>
<string name="barcodeNoBarcode">Det finns ingen streckkod</string>
<string name="barcodeType">Streckkodstyp</string>
<string name="cardId">Kort-ID</string>
<string name="storeName">Namn</string>
@@ -152,7 +148,6 @@
<string name="app_license">Copyleftad fri programvara, under GPLv3+-licens</string>
<string name="app_resources">Fria tredjepartsresurser: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Fria tredjepartsbibliotek: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> verkar inte vara ett giltigt saldo.</string>
<string name="balance">Saldo</string>
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
<string name="settings_disable_lockscreen_while_viewing_card">Förhindra skärmlåsning</string>

View File

@@ -57,7 +57,6 @@
<string name="privacy_policy">Gizlilik Politikası</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Verileri şuradan içe aktar</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> geçerli bir bakiye gibi görünmüyor.</string>
<string name="points">Puan</string>
<string name="currency">Para birimi</string>
<string name="balance">Bakiye</string>
@@ -104,7 +103,6 @@
<string name="starImage">Sık kullanılan yıldız</string>
<string name="thumbnailDescription">Küçük resim</string>
<string name="copy_to_clipboard_toast">Numara panoya kopyalandı</string>
<string name="enterBarcodeInstructions">Numarasını girin ve aşağıdan barkod türünü veya “Barkod yok” seçeneğini seçin.</string>
<string name="selectBarcodeTitle">Barkod Seç</string>
<string name="app_resources">Özgür üçüncü taraf kaynakları: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Özgür üçüncü taraf kütüphaneleri: <xliff:g id="app_libraries_list">%s</xliff:g></string>
@@ -135,8 +133,6 @@
<string name="importExport">İçe/Dışa aktar</string>
<string name="failedParsingImportUriError">İçe aktarma URI\'si ayrıştırılamadı</string>
<string name="noCardExistsError">Bu kart bulunamadı</string>
<string name="noCardIdError">Numara girilmedi</string>
<string name="noStoreError">Ad girilmedi</string>
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> barkod görüntüsü</string>
<string name="card_ids_copied">Numara(lar) kopyalandı</string>
<string name="copy_to_clipboard">Numarayı panoya kopyala</string>
@@ -167,7 +163,6 @@
<string name="unstar">Sık kullanılanlardan kaldır</string>
<string name="star">Sık kullanılanlara ekle</string>
<string name="noBarcode">Barkod yok</string>
<string name="barcodeNoBarcode">Barkod yok</string>
<string name="barcodeType">Barkod türü</string>
<string name="note">Not</string>
<string name="storeName">Ad</string>

View File

@@ -5,17 +5,15 @@
\nЖОДНОЇ ІНФОРМАЦІЇ НЕ ЗБИРАЄТЬСЯ, що може підтвердити будь-хто, адже наш застосунок це вільне програмне забезпечення.</string>
<string name="noGiftCards">Натисніть кнопку +, щоб додати картку, або ⋮ для імпорту з меню.</string>
<string name="settings_display_barcode_max_brightness">Яскравіший штрих-код</string>
<string name="enterBarcodeInstructions">Введіть ID та оберіть тип штрих-коду чи \"Не має штрих-коду\".</string>
<string name="selectBarcodeTitle">Оберіть штрих-код</string>
<string name="scanCardBarcode">Відсканувати штрих-код</string>
<string name="noBarcode">Без штрих-коду</string>
<string name="barcodeNoBarcode">Штрих-код відсутній</string>
<string name="barcodeType">Тип штрих-коду</string>
<plurals name="groupCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> картка</item>
<item quantity="few"><xliff:g>%d</xliff:g> карток</item>
<item quantity="many"><xliff:g>%d</xliff:g> картки</item>
<item quantity="other"><xliff:g>%d</xliff:g> картки</item>
<item quantity="few"><xliff:g>%d</xliff:g> картки</item>
<item quantity="many"><xliff:g>%d</xliff:g> карток</item>
<item quantity="other"><xliff:g>%d</xliff:g> карток</item>
</plurals>
<string name="no">НІ</string>
<string name="yes">Так</string>
@@ -40,9 +38,8 @@
<string name="importCatima">Імпорт з Catima</string>
<string name="accept">Прийняти</string>
<string name="privacy_policy">Політика конфіденційності</string>
<string name="app_loyalty_card_keychain">Брелок для картки лояльності</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="chooseImportType">Імпортувати дані з</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> здається, не є дійсним залишком.</string>
<string name="points">Бали</string>
<string name="currency">Валюта</string>
<string name="balance">Баланс</string>
@@ -59,7 +56,7 @@
<string name="expiryStateSentence">Термін дії закінчується: <xliff:g>%s</xliff:g></string>
<string name="groupsList">Групи: <xliff:g>%s</xliff:g></string>
<string name="addFromImage">Оберіть зображення з галереї</string>
<string name="addManually">Ввести ID вручну</string>
<string name="addManually">Ввести штрих-код вручну</string>
<string name="leaveWithoutSaveConfirmation">Вийти без збереження\?</string>
<string name="leaveWithoutSaveTitle">Вихід</string>
<string name="moveDown">Посунути донизу</string>
@@ -67,12 +64,12 @@
<string name="failedOpeningFileManager">Спочатку встановіть файловий менеджер.</string>
<string name="deleteConfirmationGroup">Видалити групу\?</string>
<string name="all">Усі</string>
<string name="noGroups">Натисніть + щоб додати групи для категоризації.</string>
<string name="noGroups">Натисніть +, щоб додати групи для категоризації.</string>
<string name="groups">Групи</string>
<string name="enter_group_name">Введіть ім\'я групи</string>
<string name="exportSuccessful">Дані експортовано</string>
<string name="importSuccessful">Дані імпортовано</string>
<string name="intent_import_card_from_url_share_text">Я хочу поділитися з тобою картою</string>
<string name="intent_import_card_from_url_share_text">Я хочу поділитися з тобою карткою</string>
<string name="settings_disable_lockscreen_while_viewing_card">Не блокувати екран</string>
<string name="settings_keep_screen_on">Не вимикати екран</string>
<string name="settings_dark_theme">Темна</string>
@@ -82,49 +79,47 @@
<string name="settings">Налаштування</string>
<string name="starImage">Улюблена зірка</string>
<string name="thumbnailDescription">Ескіз</string>
<string name="intent_import_card_from_url_share_multiple_text">Я хочу поділитися деякими картами з тобою</string>
<string name="intent_import_card_from_url_share_multiple_text">Я хочу поділитися з тобою деякими картками</string>
<string name="copy_to_clipboard_multiple_toast">ID скопійовано до буферу обміну</string>
<string name="copy_to_clipboard_toast">Ідентифікацію скопійовано до буферу обміну</string>
<string name="copy_to_clipboard_toast">ID скопійовано до буферу обміну</string>
<string name="app_resources">Вільні ресурси третіх сторін: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_libraries">Вільні бібліотеки третіх сторін: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="debug_version_fmt">Версія: <xliff:g id="version">%s</xliff:g></string>
<string name="about_title_fmt">Про <xliff:g id="app_name">%s</xliff:g></string>
<string name="app_license">Копілефт вільне програмне забезпечення, ліцензоване під GPLv3+</string>
<string name="app_license">Вільне копілефт програмне забезпечення, ліцензоване GPLv3+</string>
<string name="app_copyright_old">Створено на основі Loyalty Card Keychain
\nавторські права © 20162020 Branden Archer</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>
<string name="importOptionApplicationTitle">З іншого застосунку</string>
<string name="about">Про застосунок</string>
<string name="importOptionApplicationButton">Використати інший застосунок</string>
<string name="importOptionApplicationExplanation">Використайте інший застосунок чи ваш улюблений файловий менеджер для відкриття файлу.</string>
<string name="importOptionApplicationTitle">Використати інший застосунок</string>
<string name="importOptionFilesystemButton">Обрати файл</string>
<string name="importOptionFilesystemExplanation">Оберіть файл у провіднику.</string>
<string name="importOptionFilesystemExplanation">Оберіть потрібний файл у провіднику.</string>
<string name="importOptionFilesystemTitle">Імпорт з файлу</string>
<string name="exportOptionExplanation">Дані буде записано до локації обраної вами.</string>
<string name="exporting">Експортуємо</string>
<string name="importing">Імпортуємо</string>
<string name="exportFailed">Неможливо здійснити експорт</string>
<string name="exportOptionExplanation">Дані будуть записані у вибране вами місце.</string>
<string name="exporting">Експорт…</string>
<string name="importing">Імпорт…</string>
<string name="exportFailed">Не вдалося здійснити експорт</string>
<string name="exportFailedTitle">Помилка експорту</string>
<string name="exportSuccessfulTitle">Експортовано</string>
<string name="importFailed">Неможливо здійснити імпорт</string>
<string name="importFailed">Не вдалося здійснити імпорт</string>
<string name="importFailedTitle">Помилка імпорту</string>
<string name="importSuccessfulTitle">Імпортовано</string>
<string name="importExportHelp">Резервна копія даних дозволяє перемістити їх до іншого пристрою.</string>
<string name="importExportHelp">Резервне копіювання даних дозволяє перенести їх на інший пристрій.</string>
<string name="exportName">Експорт</string>
<string name="importExport">Імпорт/Експорт</string>
<string name="failedParsingImportUriError">Неможливо опрацювати імпорт-URI</string>
<string name="noCardExistsError">Карту не знайдено</string>
<string name="noCardIdError">ID не введено</string>
<string name="noStoreError">Ім\'я не введено</string>
<string name="failedParsingImportUriError">Не вдалося розібрати URI імпорту</string>
<string name="noCardExistsError">Не вдалося знайти цю картку</string>
<string name="card_ids_copied">ID скопійовано</string>
<string name="noCardsMessage">Спочатку додайте карту</string>
<string name="cardShortcut">Швидкий виклик карти</string>
<string name="addCardTitle">Додати карту</string>
<string name="editCardTitle">Редагувати карту</string>
<string name="noCardsMessage">Спочатку додайте картку</string>
<string name="cardShortcut">Ярлик картки</string>
<string name="addCardTitle">Додати картку</string>
<string name="editCardTitle">Редагувати картку</string>
<string name="sendLabel">Відправити…</string>
<string name="share">Поділитися</string>
<string name="copy_to_clipboard">Копіювати ID до буферу обміну</string>
<string name="ok">ОК</string>
<string name="ok">Добре</string>
<string name="confirm">Підтвердити</string>
<string name="delete">Видалити</string>
<string name="edit">Редагувати</string>
@@ -133,8 +128,8 @@
<string name="unstar">Видалити з улюблених</string>
<string name="star">Додати до улюблених</string>
<string name="cardId">ID картки</string>
<string name="note">Замітка</string>
<string name="storeName">Ім\'я</string>
<string name="note">Примітка</string>
<string name="storeName">Назва</string>
<string name="noMatchingGiftCards">Збігів не знайдено. Спробуйте змінити параметри пошуку.</string>
<string name="action_add">Додати</string>
<string name="action_search">Пошук</string>
@@ -159,7 +154,7 @@
<item quantity="other">Обрано: <xliff:g>%d</xliff:g></item>
</plurals>
<string name="deleteTitle">Видалити картку</string>
<string name="deleteConfirmation">Бажаєте видалити карту\?</string>
<string name="deleteConfirmation">Видалити цю картку назавжди\?</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Видалити <xliff:g>%d</xliff:g> картку</item>
<item quantity="few">Видалити <xliff:g>%d</xliff:g> картки</item>
@@ -167,10 +162,10 @@
<item quantity="other">Видалити <xliff:g>%d</xliff:g> карток</item>
</plurals>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Видалити цю <xliff:g>%d</xliff:g> карту назавжди\?</item>
<item quantity="few">Видалити ці <xliff:g>%d</xliff:g> карти назавжди\?</item>
<item quantity="many">Видалити ці <xliff:g>%d</xliff:g> карт назавжди\?</item>
<item quantity="other">Видалити ці <xliff:g>%d</xliff:g> карт назавжди\?</item>
<item quantity="one">Видалити цю <xliff:g>%d</xliff:g> картку назавжди\?</item>
<item quantity="few">Видалити ці <xliff:g>%d</xliff:g> картки назавжди\?</item>
<item quantity="many">Видалити ці <xliff:g>%d</xliff:g> карток назавжди\?</item>
<item quantity="other">Видалити ці <xliff:g>%d</xliff:g> карток назавжди\?</item>
</plurals>
<string name="settings_blue_theme">Синій</string>
<string name="settings_violet_theme">Фіолетовий</string>
@@ -205,16 +200,16 @@
<string name="report_error">Повідомити про помилку</string>
<string name="exportPassword">Встановіть пароль для захисту експорту (необов\'язково)</string>
<string name="exportPasswordHint">Введіть пароль</string>
<string name="group_name_is_empty">Назва групи не може бути пустою</string>
<string name="group_name_is_empty">Назва групи не повинна бути порожньою</string>
<string name="group_updated">Групу оновлено</string>
<string name="editGroup">Редагування групи: <xliff:g>%s</xliff:g></string>
<string name="group_edit">Змінити групу</string>
<string name="group_name_already_in_use">Група з такою назвою вже існує</string>
<string name="noGiftCardsGroup">Створите кілька карток, та призначте їх до групи тут.</string>
<string name="noGiftCardsGroup">Створіть кілька карток та призначте їх до групи тут.</string>
<string name="selectColor">Вибір кольору</string>
<string name="setIcon">Вибір мініатюри</string>
<string name="translate_platform">на Weblate</string>
<string name="shortcutSelectCard">Оберіть карту</string>
<string name="shortcutSelectCard">Оберіть картку</string>
<string name="options">Параметри</string>
<string name="showMoreInfo">Відобразити дані</string>
<string name="starred">Обране</string>
@@ -231,16 +226,16 @@
<string name="settings_follow_system_orientation">Як у системі</string>
<string name="duplicateCard">Дублювати</string>
<string name="archive">Архівувати</string>
<string name="settings_portrait_orientation">Поличчя</string>
<string name="settings_landscape_orientation">Краєвид</string>
<string name="settings_lock_on_opening_orientation">Блокування орієнтації при відкритті картки</string>
<string name="settings_portrait_orientation">Вертикальна</string>
<string name="settings_landscape_orientation">Горизонтальна</string>
<string name="settings_lock_on_opening_orientation">Фіксація орієнтації під час відкриття картки</string>
<string name="archived">Картка архівована</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="few"><xliff:g>%1$d</xliff:g> карти (<xliff:g id="archivedCount">%2$d</xliff:g> заархівовано)</item>
<item quantity="many"><xliff:g>%1$d</xliff:g> карт (<xliff:g id="archivedCount">%2$d</xliff:g> заархівовано)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> карт (<xliff:g id="archivedCount">%2$d</xliff:g> заархівовано)</item>
<item quantity="one"><xliff:g>%1$d</xliff:g> картка (<xliff:g id="archivedCount">%2$d</xliff:g> архівована)</item>
<item quantity="few"><xliff:g>%1$d</xliff:g> картки (<xliff:g id="archivedCount">%2$d</xliff:g> архівовано)</item>
<item quantity="many"><xliff:g>%1$d</xliff:g> карток (<xliff:g id="archivedCount">%2$d</xliff:g> архівовано)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> карток (<xliff:g id="archivedCount">%2$d</xliff:g> архівовано)</item>
</plurals>
<string name="failedLaunchingPhotoPicker">Підтримуваний застосунок галереї не знайдено</string>
<string name="previousCard">Попередня</string>
@@ -261,7 +256,7 @@
<string name="currentBalanceSentence">Поточний баланс: <xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">Новий баланс: <xliff:g>%s</xliff:g></string>
<string name="cameraPermissionDeniedTitle">Не вдалося отримати доступ до камери</string>
<string name="noCameraPermissionDirectToSystemSetting">Для сканування штрих-кодів програмі Catima потрібен доступ до вашої камери. Натисніть тут, щоб змінити дозволи.</string>
<string name="noCameraPermissionDirectToSystemSetting">Для сканування штрих-кодів, Catima потрібен доступ до вашої камери. Натисніть тут, щоб змінити дозволи.</string>
<string name="updateBalance">Оновити баланс</string>
<string name="storageReadPermissionRequired">Дозвіл на читання сховища, необхідний для цієї дії…</string>
<string name="cameraPermissionRequired">Дозвіл на доступ до камери, необхідний для цієї дії…</string>
@@ -272,8 +267,8 @@
<string name="switchToFrontImage">Перемкнутися на лицьову сторону</string>
<string name="switchToBackImage">Перемкнутися на зворотню сторону</string>
<string name="switchToBarcode">Перемкнутися на штрих-код</string>
<string name="openFrontImageInGalleryApp">Відкрити зображення лицьової сторони у додату галереї</string>
<string name="openBackImageInGalleryApp">Відкрити зображення тильної сторони у додатку галереї</string>
<string name="openFrontImageInGalleryApp">Відкрити зображення лицьової сторони у застосунку галереї</string>
<string name="openBackImageInGalleryApp">Відкрити зображення тильної сторони у застосунку галереї</string>
<string name="setBarcodeHeight">Встановити висоту штрих-коду</string>
<string name="height">Висота:</string>
<string name="donate">Пожертвувати</string>
@@ -282,13 +277,13 @@
<string name="show_note">Показати примітку</string>
<string name="show_validity">Показати термін дії</string>
<string name="show_balance">Показати баланс</string>
<string name="permissionReadCardsLabel">Читати карти Catima</string>
<string name="settings_allow_content_provider_read_summary">Додатки все ще муситимуть запитувати дозвіл на отримання доступу</string>
<string name="permissionReadCardsDescription">Читати всі ваші карти та їх деталі, в тому числі нотатки та зображення</string>
<string name="permissionReadCardsLabel">Читати картки Catima</string>
<string name="settings_allow_content_provider_read_summary">Застосунки все ще муситимуть запитувати дозвіл на отримання доступу</string>
<string name="permissionReadCardsDescription">читайте ваші картки Catima та всю інформацію на них, включно з примітками та зображеннями</string>
<string name="settings_display_barcode_max_brightness_summary">Необхідно для роботи деяких сканерів</string>
<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_allow_content_provider_read_title">Дозволити іншим застосункам доступ до моїх даних</string>
<string name="settings_oled_dark_summary">Зменшує використання батареї на екранах з OLED</string>
<string name="settings_category_title_cards">Картки</string>
<string name="settings_category_title_general">Загальні</string>
@@ -296,5 +291,13 @@
<string name="view_online">Переглянути онлайн</string>
<string name="action_display_options">Налаштування дисплея</string>
<string name="app_copyright_short">Авторські права © Sylvia van Os та вкладники</string>
<string name="show_archived_cards">Показати заархівовані картки</string>
<string name="show_archived_cards">Показати архівовані картки</string>
<string name="card_id_must_not_be_empty">ID картки не повинен бути порожнім</string>
<string name="balanceParsingFailed">Неправильний баланс</string>
<string name="add_a_card_in_a_different_way">Додати картку іншим способом</string>
<string name="manually_enter_barcode_instructions">Введіть ID або текст на вашій картці та натисніть на штрих-код, який виглядає як той, що на вашій картці.</string>
<string name="action_more_options">Більше опцій</string>
<string name="enter_card_id">Введіть ID або текст на вашій картці</string>
<string name="addWithoutBarcode">Додати картку без штрих-коду</string>
<string name="field_must_not_be_empty">Поле вводу не повинно бути порожнім</string>
</resources>

View File

@@ -39,7 +39,6 @@
<string name="privacy_policy">隐私政策</string>
<string name="app_loyalty_card_keychain">会员卡卡包</string>
<string name="chooseImportType">数据导入源</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g>似乎不是有效的余额。</string>
<string name="points">积分</string>
<string name="currency">货币</string>
<string name="balance">余额</string>
@@ -76,7 +75,6 @@
<string name="settings">设置</string>
<string name="thumbnailDescription">缩略图</string>
<string name="copy_to_clipboard_toast">已复制卡号到剪贴板</string>
<string name="enterBarcodeInstructions">输入卡号,并从下面选择其条码类型,或选择“无条码”。</string>
<string name="selectBarcodeTitle">选择条码</string>
<string name="app_resources">第三方自由资源:<xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="app_license">本软件为自由软件,使用 GPLv3+ 许可证</string>
@@ -103,8 +101,6 @@
<string name="importExport">导入/导出</string>
<string name="failedParsingImportUriError">无法解析导入 URI</string>
<string name="noCardExistsError">找不到卡片</string>
<string name="noCardIdError">未输入卡号</string>
<string name="noStoreError">未输入卡片名称</string>
<string name="card_ids_copied">已复制卡号</string>
<string name="noCardsMessage">请先添加一张卡片</string>
<string name="cardShortcut">卡片快捷键</string>
@@ -122,7 +118,6 @@
<string name="cancel">取消</string>
<string name="star">添加到收藏</string>
<string name="noBarcode">无条形码</string>
<string name="barcodeNoBarcode">无可用条形码</string>
<string name="barcodeType">条形码类型</string>
<string name="cardId">卡号</string>
<string name="note">备注</string>
@@ -263,7 +258,7 @@
<string name="permissionReadCardsLabel">读取 Catima 卡</string>
<string name="settings_allow_content_provider_read_summary">应用程序仍然需要请求权限</string>
<string name="settings_allow_content_provider_read_title">允许其他应用程序访问我的数据</string>
<string name="permissionReadCardsDescription">读取你的卡片及其所有细节,包括笔记和图像</string>
<string name="permissionReadCardsDescription">读取你的 Catima 卡片及其所有细节,包括笔记和图像</string>
<string name="settings_keep_screen_on_summary">在查看卡片时禁止屏幕超时</string>
<string name="settings_oled_dark_summary">减少 OLED 显示屏上的电池使用量</string>
<string name="settings_category_title_privacy">隐私</string>
@@ -276,4 +271,12 @@
<string name="show_archived_cards">显示已存档的卡片</string>
<string name="app_copyright_short">版权所有 © Sylvia van Os 及其贡献者们</string>
<string name="view_online">在线查看</string>
<string name="card_id_must_not_be_empty">卡片 ID 不能为空</string>
<string name="balanceParsingFailed">无效余额</string>
<string name="add_a_card_in_a_different_way">以不同方式添加卡片</string>
<string name="manually_enter_barcode_instructions">输入卡片上的 ID 号或文本,并按下和你卡片上的条形码看上去差不多的条形码。</string>
<string name="action_more_options">更多选项</string>
<string name="enter_card_id">输入卡片上的 ID 号或文本</string>
<string name="addWithoutBarcode">不使用条形码添加卡片</string>
<string name="field_must_not_be_empty">字段不能为空</string>
</resources>

View File

@@ -8,7 +8,6 @@
<string name="note">註記</string>
<string name="cardId">卡片 ID</string>
<string name="barcodeType">條碼種類</string>
<string name="barcodeNoBarcode">沒有可用的條碼</string>
<string name="noBarcode">無條碼</string>
<string name="privacy_policy_popup_text">隱私權政策(某些應用程式商店需要此條目):
\n
@@ -50,7 +49,6 @@
<string name="editBarcode">編輯條碼</string>
<string name="editCardTitle">編輯圖片</string>
<string name="enter_group_name">輸入群組名稱</string>
<string name="enterBarcodeInstructions">輸入 ID、選擇條碼種類、或選擇「此卡片沒有可用的條碼」。</string>
<string name="errorReadingImage">無法讀取此圖片</string>
<string name="expiryDate">逾期日期</string>
<string name="expiryStateSentence">逾期於:<xliff:g>%s</xliff:g></string>
@@ -84,7 +82,6 @@
<string name="no"></string>
<string name="noBarcodeFound">找不到可用的條碼</string>
<string name="noCardExistsError">無法找到此卡片</string>
<string name="noCardIdError">尚未輸入 ID</string>
<string name="noCardsMessage">請先新增卡片</string>
<string name="sort">排列</string>
<string name="settings_catima_theme">Catima</string>
@@ -154,7 +151,6 @@
<string name="ok">OK</string>
<string name="sendLabel">送出…</string>
<string name="scanCardBarcode">掃描條碼</string>
<string name="noStoreError">尚未輸入卡片名稱</string>
<string name="importExportHelp">備份您的資料以將其轉移至其他裝置中。</string>
<string name="importOptionFilesystemTitle">自檔案系統中匯入</string>
<string name="importOptionFilesystemExplanation">自檔案系統中選取檔案。</string>
@@ -179,7 +175,6 @@
<string name="importCatimaMessage">選取您自 Catima 匯出的 <i>catima.zip</i> 檔案以進行匯入。
\n您可透過其他裝置的 Catima 程式中的匯入/匯出選單進行匯出。</string>
<string name="points"></string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> 似乎不是個可用的餘額數值。</string>
<string name="app_libraries">第三方自由函式庫:<xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">第三方自由資源:<xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">選擇條碼</string>
@@ -260,4 +255,5 @@
<string name="openBackImageInGalleryApp">以圖庫軟體開啟背面圖片</string>
<string name="show_name_below_image_thumbnail">在縮圖下方顯示名稱</string>
<string name="setBarcodeHeight">設定條碼高度</string>
</resources>
<string name="app_copyright_short">著作權所有© Sylvia van Os and contributors</string>
</resources>

View File

@@ -129,7 +129,6 @@
<item>#f16364</item>
<item>#f58559</item>
<item>#f9a43e</item>
<item>#e4c62e</item>
<item>#67bf74</item>
<item>#59a2be</item>
<item>#2093cd</item>

View File

@@ -13,7 +13,6 @@
<string name="note">Note</string>
<string name="cardId">Card ID</string>
<string name="barcodeType">Barcode type</string>
<string name="barcodeNoBarcode">There is no barcode</string>
<string name="noBarcode">No barcode</string>
<string name="star">Add to favorites</string>
<string name="unstar">Remove from favorites</string>
@@ -50,8 +49,6 @@
<string name="card_ids_copied">Copied ID(s)</string>
<!-- %s is a type of barcode here -->
<string name="barcodeImageDescriptionWithType">Image <xliff:g>%s</xliff:g> barcode</string>
<string name="noStoreError">No name entered</string>
<string name="noCardIdError">No ID entered</string>
<string name="noCardExistsError">Could not find that card</string>
<string name="failedParsingImportUriError">Could not parse the import URI</string>
<string name="importExport">Import/Export</string>
@@ -68,7 +65,7 @@
<string name="storageReadPermissionRequired">Permission to read storage needed for this action…</string>
<string name="cameraPermissionRequired">Permission to access camera needed for this action…</string>
<string name="permissionReadCardsLabel">Read Catima Cards</string>
<string name="permissionReadCardsDescription">Read your cards and all its details, including notes and images</string>
<string name="permissionReadCardsDescription">read your Catima cards and all its details, including notes and images</string>
<string name="cameraPermissionDeniedTitle">Could not access the camera</string>
<string name="noCameraPermissionDirectToSystemSetting">To scan barcodes, Catima will need access to your camera. Tap here to change your permission settings.</string>
<string name="exportOptionExplanation">The data will be written to a location of your choice.</string>
@@ -88,7 +85,6 @@
<string name="app_libraries">Libre third-party libraries: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources">Libre third-party resources: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Select Barcode</string>
<string name="enterBarcodeInstructions">Enter the ID, and either pick a barcode type below, or “There is no barcode”.</string>
<string name="copy_to_clipboard_toast">ID copied to clipboard</string>
<string name="thumbnailDescription">Thumbnail</string>
<string name="starImage">Favorite star</string>
@@ -150,7 +146,7 @@
<item quantity="other"><xliff:g>%d</xliff:g> cards</item>
</plurals>
<string name="group_name_already_in_use">Group name already in use</string>
<string name="group_name_is_empty">Group name cannot be empty</string>
<string name="group_name_is_empty">Group name must not be empty</string>
<string name="group_updated">Group updated</string>
<string name="all">All</string>
<string name="deleteConfirmationGroup">Delete group?</string>
@@ -159,8 +155,8 @@
<string name="moveDown">Move downwards</string>
<string name="leaveWithoutSaveTitle">Exit</string>
<string name="leaveWithoutSaveConfirmation">Leave without saving?</string>
<string name="addManually">Manually enter ID</string>
<string name="addFromImage">Select image from gallery</string>
<string name="addManually">Enter the barcode manually</string>
<string name="addFromImage">Select an image from gallery</string>
<string name="groupsList">Groups: <xliff:g>%s</xliff:g></string>
<string name="editGroup">Editing Group: <xliff:g>%s</xliff:g></string>
<string name="expiryStateSentence">Expires: <xliff:g>%s</xliff:g></string>
@@ -181,7 +177,7 @@
<string name="balance">Balance</string>
<string name="currency">Currency</string>
<string name="points">Points</string>
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> does not seem to be a valid balance.</string>
<string name="balanceParsingFailed">Invalid balance</string>
<string name="chooseImportType">Import data from</string>
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
<string name="privacy_policy">Privacy Policy</string>
@@ -333,4 +329,11 @@
<string name="action_display_options">Display options</string>
<string name="show_archived_cards">Show archived cards</string>
<string name="view_online">View online</string>
<string name="action_more_options">More options</string>
<string name="addWithoutBarcode">Add a card with no barcode</string>
<string name="enter_card_id">Enter the ID number or text on your card</string>
<string name="card_id_must_not_be_empty">Card ID must not be empty</string>
<string name="add_a_card_in_a_different_way">Add a card in a different way</string>
<string name="field_must_not_be_empty">Field must not be empty</string>
<string name="manually_enter_barcode_instructions">Enter the ID number or text on your card and press the barcode that looks like the one on your card.</string>
</resources>

View File

@@ -30,72 +30,8 @@ public class BarcodeSelectorActivityTest {
Activity activity = (Activity) activityController.get();
final TextView cardId = activity.findViewById(R.id.cardId);
final Button noBarcodeButton = activity.findViewById(R.id.noBarcode);
// No card ID by default
assertEquals(cardId.getText().toString(), "");
// Button should be visible but disabled
assertEquals(View.VISIBLE, noBarcodeButton.getVisibility());
assertEquals(false, noBarcodeButton.isEnabled());
}
@Test
public void nonEmptyStateTest() throws InterruptedException {
ActivityController activityController = Robolectric.buildActivity(BarcodeSelectorActivity.class).create();
activityController.start();
activityController.resume();
Activity activity = (Activity) activityController.get();
final TextView cardId = activity.findViewById(R.id.cardId);
final Button noBarcodeButton = activity.findViewById(R.id.noBarcode);
cardId.setText("abcdefg");
// Run the delayed Handler
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// Button should be visible and enabled
assertEquals(View.VISIBLE, noBarcodeButton.getVisibility());
assertTrue(noBarcodeButton.isEnabled());
// Clicking button should create "empty" barcode
activity.findViewById(R.id.noBarcode).performClick();
Intent resultIntent = shadowOf(activity).getResultIntent();
// The BarcodeSelectorActivity should return an empty string
assertEquals("", resultIntent.getStringExtra(BarcodeSelectorActivity.BARCODE_FORMAT));
assertEquals("abcdefg", resultIntent.getStringExtra(BarcodeSelectorActivity.BARCODE_CONTENTS));
}
@Test
public void nonEmptyToEmptyStateTest() throws InterruptedException {
ActivityController activityController = Robolectric.buildActivity(BarcodeSelectorActivity.class).create();
activityController.start();
activityController.resume();
Activity activity = (Activity) activityController.get();
final TextView cardId = activity.findViewById(R.id.cardId);
final Button noBarcodeButton = activity.findViewById(R.id.noBarcode);
cardId.setText("abcdefg");
// Run the delayed Handler
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// Button should be visible and enabled
assertEquals(View.VISIBLE, noBarcodeButton.getVisibility());
assertTrue(noBarcodeButton.isEnabled());
cardId.setText("");
// Run the delayed Handler
ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
// Button should be visible but disabled
assertEquals(View.VISIBLE, noBarcodeButton.getVisibility());
assertFalse(noBarcodeButton.isEnabled());
}
}

View File

@@ -0,0 +1,34 @@
package protect.card_locker;
import static org.junit.Assert.assertFalse;
import android.content.res.TypedArray;
import android.graphics.Color;
import androidx.test.core.app.ActivityScenario;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class UtilsTest {
/**
* Ensure all the default card colours (used when a user has not chosen a card colour) use white foreground text
*/
@Test
public void allDefaultCardColoursHaveWhiteForegroundTest() {
try(ActivityScenario<MainActivity> scenario = ActivityScenario.launch(MainActivity.class)) {
scenario.onActivity(activity -> {
TypedArray colors = activity.getApplicationContext().getResources().obtainTypedArray(R.array.letter_tile_colors);
for (int i = 0; i < colors.length(); i++) {
// Grab white as fallback so that if the retrieval somehow fails the test is guaranteed to fail because a white background will have black foreground
int color = colors.getColor(i, Color.WHITE);
assertFalse(Utils.needsDarkForeground(color));
}
});
}
}
}

View File

@@ -20,7 +20,7 @@ Copylefted libre software (GPLv3+) card management app.
<a href="https://play.google.com/store/apps/details?id=me.hackerchick.catima" target="_blank">
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="90"/></a>
![Feature graphic](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/featureGraphic.png)
[![Feature graphic](https://github.com/TheLastProject/Catima/raw/main/fastlane/metadata/android/en-US/images/featureGraphic.png)](https://catima.app/)
*Logo by [Rose (TangentFoxy)](https://github.com/TangentFoxy), feature graphic by [Ziad OUALHADJ](https://github.com/ziadOUA)*

View File

@@ -1,5 +1,5 @@
- Cuando se edita un ID de tarjeta, pre-rellenar el ID existente al empezar. (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 agotada. (pull #103 (https://github.com/brarcher/loyalty-card-locker/pull/103))
- Al editar una tarjeta, cambiar que el botón "Introducir Tarjeta" diga "Editar Tarjeta" si ya existe un ID de tarjeta. (pull #104 (https://github.com/brarcher/loyalty-card-locker/pull/104))
-Cambiar la combinación de colores para ser más tenue y compatible con el icono de la aplicación, y cambiar la distribución al ver una tarjeta por una más limpia. (pull #107 (https://github.com/brarcher/loyalty-card-locker/pull/107))
-Añadir 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))
- 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))

View File

@@ -1 +1 @@
- Prevenir un fallo al rotar la pantalla en la primera ejecución del asistente.
- Evitar el error al rotar la pantalla en la primera ejecución del asistente.

View File

@@ -0,0 +1 @@
- Un manejo más agradecido a raíz de un encabezado sin colores

View File

@@ -1,2 +1,3 @@
- Mejorada la importación de Catima (corrige la tarjetas que faltan al importar)
- Corrección del error al rotar la pantalla mientras se establece las fechas de validez desde/hasta
- Cambios menores en la interfaz de usuario

View File

@@ -0,0 +1,3 @@
- Melhoria no importador Catima (corrige cartões ausentes durante a importação)
- Correção de falha ao girar a tela durante a configuração da data de início/fim de validade
- Pequenos ajustes na interface do usuário

View File

@@ -0,0 +1,4 @@
- Pequenas correções na interface do usuário
- Correção das datas de validade e expiração que são redefinidas ao girar a tela de edição do cartão
- Correção de falha ao girar a tela enquanto o seletor de cores é exibido
- Correções na importação de cartões

View File

@@ -0,0 +1,3 @@
- Mova o "Modo de arquivo" para o menu "Opções de exibição" (anteriormente "Mostrar detalhes")
- Suporte a idiomas por aplicativo no Android 13
- Incorporar política de privacidade, changelog e licença no aplicativo

View File

@@ -1,16 +1,16 @@
Тепер можна не шукати свої пластикові картки знижок та програм лояльності при покупці у магазині чи на сайті.
<b>Відскануйте штрих-коди на свій пристрій за допомогою його камери та забудьте про картки.</b>
Припиніть шукати пластикові бонусні картки під час оформлення замовлення в магазині чи в інтернеті.
<b>Скануйте штрих-коди на свій пристрій за допомогою його камери та забудьте про картки.</b>
Забудьте свій гаманець чи просто тримайте важливі речі у ньому.
Забудьте про гаманець або тримайте його надлегким для цінних речей
За допомогою цього важливого щоденного мобільного інструменту (ЩМІ) ви можете замінити непотрібний пластик готівкою.
- Уникнення шпигунства за допомогою дуже малої кількості дозволів. Немає доступу до Інтернету та реклами.
- Уникнення шпигунства за допомогою дуже малої кількості дозволів. Немає доступу до інтернету та без реклами.
- Додавання карток або кодів з іменами та настроюваними кольорами.
- Введення коду вручну, якщо немає штрих-коду для зберігання або він не може бути використаний.
- Імпорт карток та кодів з файлів (наприклад фото картки в галереї), Catima, FidMe, Loyalty Card Keychain, Stocard and Voucher Vault.
- Імпорт карток і кодів з файлів, Catima, FidMe, Loyalty Card Keychain, Stocard і Voucher Vault.
- Зробіть резервну копію всіх своїх карток і перенесіть їх на новий пристрій, якщо хочете.
- Діліться купонами, ексклюзивними пропозиціями, промо-кодами або картками та кодами за допомогою будь-якого застосунку.
- Діліться купонами, ексклюзивними пропозиціями, промокодами або картками та кодами за допомогою будь-якого застосунку.
- Темна тема та параметри доступності для користувачів із вадами зору.
- Створено для всіх спільнотою вільного програмного забезпечення.
- Локалізовані власноручні переклади для понад 20 мов.

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1 +1 @@
Catima — Гаманець для Карток
Catima — Гаманець для карток

54
maestro/01.yaml Normal file
View File

@@ -0,0 +1,54 @@
appId: me.hackerchick.catima.debug
name: Generate main screen overview with 8 cards
---
- launchApp:
appId: "me.hackerchick.catima.debug"
clearState: true
- evalScript: ${output.counter = 0}
# We only care about cardCount at this moment, but this way we can keep the card list in one script
- runScript:
file: js/01-getCardInfo.js
env:
INDEX: ${output.counter}
- repeat:
while:
true: ${output.counter < output.cardCount}
commands:
- runScript:
file: js/01-getCardInfo.js
env:
INDEX: ${output.counter}
- tapOn:
id: "me.hackerchick.catima.debug:id/fabAdd" # Add
- tapOn:
id: "me.hackerchick.catima.debug:id/fabOtherOptions" # More options
- tapOn:
id: "android:id/text1"
index: 0 # Add a card with no barcode
- inputText: 123456
- tapOn:
id: "android:id/button1" # OK
- tapOn:
id: "me.hackerchick.catima.debug:id/thumbnail" # Thumbnail
- tapOn:
id: "android:id/text1"
index: 0 # Select color
- tapOn:
id: "android:id/button3" # Custom
# BUG: Erase text twice to work around https://github.com/mobile-dev-inc/maestro/issues/495
- repeat:
times: 2
commands:
- tapOn:
id: "me.hackerchick.catima.debug:id/cpv_hex"
- eraseText
- inputText: ${output.cardColor}
- tapOn:
id: "android:id/button1" # Select
- tapOn:
id: "me.hackerchick.catima.debug:id/storeNameEdit" # Name
- inputText: ${output.cardName}
- tapOn:
id: "me.hackerchick.catima.debug:id/fabSave" # Save
- evalScript: ${output.counter = output.counter + 1}
- takeScreenshot: "screenshot-01"

View File

@@ -0,0 +1,34 @@
const cards = [{
name: "Bookshop",
color: "673ab7"
}, {
name: "Cafeteria",
color: "795548"
}, {
name: "Clothing Store",
color: "ff4fa5"
}, {
name: "Department Store",
color: "000000"
}, {
name: "Grocery Store",
color: "4caf50"
}, {
name: "Pharmacy",
color: "00286e"
}, {
name: "Restaurant",
color: "59a2be"
}, {
name: "Shoe Store",
color: "9c27b0"
}]
// For some reason Maestro passes this as a string with the value "0.0"
var index = Math.round(INDEX)
console.log("Returning card " + (index + 1) + " of " + cards.length + " with name " + cards[index]['name'] + " and color " + cards[index]['color'])
output.cardCount = cards.length
output.cardName = cards[index]['name']
output.cardColor = cards[index]['color']