Compare commits
58 Commits
v2.26.0
...
badAttempt
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f64449167 | ||
|
|
488c542cd5 | ||
|
|
0e0693bdad | ||
|
|
86267a2e38 | ||
|
|
e2171856ff | ||
|
|
3c3a37a9e8 | ||
|
|
573da1e4ff | ||
|
|
1f70446bce | ||
|
|
ff4ef15dfc | ||
|
|
926f3adb18 | ||
|
|
4b2d981cc6 | ||
|
|
93d5c5e03e | ||
|
|
475f071575 | ||
|
|
f77fa88ced | ||
|
|
7fe5c18cb8 | ||
|
|
7e16798b33 | ||
|
|
3edfb68bd7 | ||
|
|
4f307af6bd | ||
|
|
08848af908 | ||
|
|
f4e9b85ae3 | ||
|
|
73ccb0ce65 | ||
|
|
15c5ee7f2c | ||
|
|
f08be0d13f | ||
|
|
aa115e36fd | ||
|
|
cfa45013f4 | ||
|
|
cca01ae5a3 | ||
|
|
44af31f6d4 | ||
|
|
8fb076421a | ||
|
|
89f8ca1387 | ||
|
|
fddb462618 | ||
|
|
97343515a3 | ||
|
|
dcbd2aa390 | ||
|
|
12e7aaa615 | ||
|
|
50f93b87f5 | ||
|
|
b4cefbc15e | ||
|
|
4ce17c3742 | ||
|
|
5035b83ae1 | ||
|
|
dc327a3e24 | ||
|
|
4ddceb83d5 | ||
|
|
31048218af | ||
|
|
6e3a9ca380 | ||
|
|
09134f4c5f | ||
|
|
89c9271726 | ||
|
|
473f8e6b72 | ||
|
|
8310f09641 | ||
|
|
31b9123a8f | ||
|
|
cc4aed6773 | ||
|
|
a868aac579 | ||
|
|
da48eec787 | ||
|
|
4aa56a55fe | ||
|
|
c3daa1cc86 | ||
|
|
00d08d741c | ||
|
|
2f33be6b3c | ||
|
|
d54a3127a6 | ||
|
|
40ecf46b40 | ||
|
|
dd9b6a8fed | ||
|
|
194e1d5c26 | ||
|
|
9360f2a1e0 |
2
.github/workflows/changelog-to-fastlane.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
contents: read
|
||||
contents: write
|
||||
deployments: none
|
||||
discussions: none
|
||||
id-token: none
|
||||
|
||||
@@ -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
|
||||
|
||||
33
Gemfile.lock
@@ -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)
|
||||
|
||||
@@ -26,6 +26,19 @@ android {
|
||||
multiDexEnabled true
|
||||
|
||||
resourceConfigurations += ["ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "zh-rTW", "zh-rCN"]
|
||||
|
||||
//testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
flavorDimensions "version"
|
||||
productFlavors {
|
||||
fdroid {
|
||||
dimension "version"
|
||||
}
|
||||
screengrab {
|
||||
dimension "version"
|
||||
applicationIdSuffix = ".screengrab"
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -113,6 +126,12 @@ dependencies {
|
||||
testImplementation 'androidx.test:core:1.5.0'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'org.robolectric:robolectric:4.10.3'
|
||||
|
||||
// Screenshots
|
||||
testImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||
testImplementation 'com.android.support.test:rules:1.0.2'
|
||||
testImplementation 'com.android.support.test:runner:1.0.2'
|
||||
testImplementation 'tools.fastlane:screengrab:2.1.1'
|
||||
}
|
||||
|
||||
tasks.withType(SpotBugsTask) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<>();
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
يوسف لطفي
|
||||
しいたけ
|
||||
元气
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,7 +35,6 @@
|
||||
<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>
|
||||
@@ -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>
|
||||
@@ -94,7 +90,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="importOptionApplicationButton">Избиране чрез приложение</string>
|
||||
<string name="importing">Внасяне…</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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -142,7 +138,6 @@
|
||||
<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>
|
||||
|
||||
@@ -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 © 2016–2020 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>
|
||||
@@ -18,8 +18,6 @@
|
||||
<string name="scanCardBarcode">Scanner le code-barres</string>
|
||||
<string name="cardShortcut">Raccourci de carte</string>
|
||||
<string name="noCardsMessage">Ajoutez d’abord 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 l’identifiant, et choisissez un type de code-barres ci-dessous, ou « Il n’y 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 l’emplacement de votre choix.</string>
|
||||
<string name="failedParsingImportUriError">Impossible d’analyser l’URI d’importation</string>
|
||||
<string name="share">Partager</string>
|
||||
<string name="barcodeNoBarcode">Il n’y 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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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):
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 2016–2020 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
<string name="importExport">Importar/Exportar</string>
|
||||
<string name="failedParsingImportUriError">Analisi impossibla l’URI d’importacion</string>
|
||||
<string name="noCardExistsError">Impossible de trobar aquesta carta</string>
|
||||
<string name="noCardIdError">Cap d’identificant 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 d’en 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -137,7 +134,6 @@
|
||||
<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="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):
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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авторські права © 2016–2020 Branden Archer</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Авторські права © 2019–<xliff:g>%d</xliff:g> Sylvia van Os та вкладники</string>
|
||||
<string name="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>
|
||||
@@ -210,11 +205,11 @@
|
||||
<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,5 @@
|
||||
<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>
|
||||
</resources>
|
||||
<string name="show_archived_cards">Показати архівовані картки</string>
|
||||
</resources>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
17
app/src/screengrab/AndroidManifest.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<!-- Allows storing screenshots on external storage, where it can be accessed by ADB -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
|
||||
|
||||
<!-- Allows changing locales -->
|
||||
<uses-permission
|
||||
android:name="android.permission.CHANGE_CONFIGURATION"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
|
||||
<!-- Allows changing SystemUI demo mode -->
|
||||
<uses-permission
|
||||
android:name="android.permission.DUMP"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
|
||||
</manifest>
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
34
app/src/test/java/protect/card_locker/UtilsTest.java
Normal 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));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package protect.card_locker.screenshot;
|
||||
|
||||
import android.support.test.rule.ActivityTestRule;
|
||||
|
||||
import androidx.test.core.app.ActivityScenario;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
|
||||
import org.junit.ClassRule;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TestRule;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.JUnit4;
|
||||
|
||||
import protect.card_locker.MainActivity;
|
||||
import tools.fastlane.screengrab.Screengrab;
|
||||
import tools.fastlane.screengrab.locale.LocaleTestRule;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ScreenshotCreation {
|
||||
@ClassRule
|
||||
public static final TestRule classRule = new LocaleTestRule();
|
||||
|
||||
@Rule
|
||||
public final ActivityTestRule<MainActivity> activityTestRule = new ActivityTestRule<>(MainActivity.class);
|
||||
|
||||
@Test
|
||||
public void takeScreenshot() throws Exception {
|
||||
Screengrab.screenshot("mainactivity");
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||

|
||||
[](https://catima.app/)
|
||||
|
||||
*Logo by [Rose (TangentFoxy)](https://github.com/TangentFoxy), feature graphic by [Ziad OUALHADJ](https://github.com/ziadOUA)*
|
||||
|
||||
|
||||
48
fastlane/README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
fastlane documentation
|
||||
----
|
||||
|
||||
# Installation
|
||||
|
||||
Make sure you have the latest version of the Xcode command line tools installed:
|
||||
|
||||
```sh
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
|
||||
|
||||
# Available Actions
|
||||
|
||||
## Android
|
||||
|
||||
### android test
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android test
|
||||
```
|
||||
|
||||
Runs all the tests
|
||||
|
||||
### android beta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android beta
|
||||
```
|
||||
|
||||
Submit a new Beta Build to Crashlytics Beta
|
||||
|
||||
### android deploy
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android deploy
|
||||
```
|
||||
|
||||
Deploy a new version to the Google Play
|
||||
|
||||
----
|
||||
|
||||
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
|
||||
|
||||
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
|
||||
|
||||
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||
18
fastlane/Screengrabfile
Normal file
@@ -0,0 +1,18 @@
|
||||
# remove the leading '#' to uncomment lines
|
||||
|
||||
app_package_name('me.hackerchick.catima.screengrab.debug')
|
||||
use_tests_in_packages(['protect.card_locker.screenshot'])
|
||||
|
||||
app_apk_path('app/build/outputs/apk/screengrab/debug/app-screengrab-debug.apk')
|
||||
tests_apk_path('app/build/outputs/apk/androidTest/screengrab/debug/app-screengrab-debug-androidTest.apk')
|
||||
|
||||
locales(['en-US', 'fr-FR', 'it-IT'])
|
||||
|
||||
# clear all previously generated screenshots in your local output directory before creating new ones
|
||||
clear_previous_screenshots(true)
|
||||
|
||||
# For more information about all available options run
|
||||
# fastlane screengrab --help
|
||||
|
||||
#test_instrumentation_runner('android.test.InstrumentationTestRunner')
|
||||
#org.robolectric.RobolectricTestRunner')
|
||||
|
Before Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 53 KiB |
@@ -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))
|
||||
|
||||
@@ -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.
|
||||
|
||||
1
fastlane/metadata/android/es-ES/changelogs/125.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Un manejo más agradecido a raíz de un encabezado sin colores
|
||||
@@ -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
|
||||
|
||||
@@ -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 мов.
|
||||
|
||||
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 28 KiB |
@@ -1 +1 @@
|
||||
Catima — Гаманець для Карток
|
||||
Catima — Гаманець для карток
|
||||
|
||||
13
fastlane/report.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuites>
|
||||
<testsuite name="fastlane.lanes">
|
||||
|
||||
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000433854">
|
||||
|
||||
</testcase>
|
||||
|
||||
</testsuite>
|
||||
</testsuites>
|
||||