mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2025-12-24 15:47:53 -05:00
Compare commits
110 Commits
create-pul
...
v2.33.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a74c4f822e | ||
|
|
c228d274b5 | ||
|
|
d8e0e03aa5 | ||
|
|
171dd7af59 | ||
|
|
10bf27a246 | ||
|
|
199c243eb0 | ||
|
|
11b0143b1c | ||
|
|
f2e20eaea3 | ||
|
|
c8725a4588 | ||
|
|
f881965485 | ||
|
|
3e16d0daf6 | ||
|
|
7068f57443 | ||
|
|
8b611511f5 | ||
|
|
1c9f0ee724 | ||
|
|
2d816b39f6 | ||
|
|
c0b13bf040 | ||
|
|
e40d98f386 | ||
|
|
8af295a72b | ||
|
|
ac4dde1f8b | ||
|
|
2dc87fd37c | ||
|
|
aebceec1f6 | ||
|
|
95b59a9cc3 | ||
|
|
4ff72b66a8 | ||
|
|
d1162d0272 | ||
|
|
794ac2bab2 | ||
|
|
7b76fe86b2 | ||
|
|
4387c7ed1e | ||
|
|
f819fc7db9 | ||
|
|
fb5a882fdb | ||
|
|
be8c0a6787 | ||
|
|
5dc84fbd77 | ||
|
|
0c37827fb0 | ||
|
|
cee5d39b27 | ||
|
|
9c5603eae6 | ||
|
|
dd42c99ca7 | ||
|
|
403c60ec6c | ||
|
|
7c7e6d3b45 | ||
|
|
316e51efb2 | ||
|
|
9e838e266b | ||
|
|
a56b984c53 | ||
|
|
4040b270a8 | ||
|
|
eab8614bcc | ||
|
|
ef8befe0cd | ||
|
|
860b79fc9b | ||
|
|
93341fc4ec | ||
|
|
51f123bc41 | ||
|
|
f0512fbeca | ||
|
|
71f6fcd2e6 | ||
|
|
d1a244efa0 | ||
|
|
075478db17 | ||
|
|
6f4582eec9 | ||
|
|
91f5f9a8b4 | ||
|
|
f04adc0901 | ||
|
|
f184ee7e58 | ||
|
|
9abeec578e | ||
|
|
8deab5f94f | ||
|
|
50fca74267 | ||
|
|
9e7bf97cc9 | ||
|
|
96be72b4c6 | ||
|
|
5c31ac6d00 | ||
|
|
1675d591dd | ||
|
|
361495dfed | ||
|
|
2b81e861f6 | ||
|
|
657a761c3a | ||
|
|
6d401c4234 | ||
|
|
8a33d2e5ed | ||
|
|
66e994be60 | ||
|
|
4e50ca9340 | ||
|
|
af064d1cda | ||
|
|
585c444f2d | ||
|
|
85683a0b3f | ||
|
|
4c7aa2b26b | ||
|
|
af236e1099 | ||
|
|
79f6014e26 | ||
|
|
0fa3de40ba | ||
|
|
d77f938107 | ||
|
|
e44aaa6618 | ||
|
|
96d88bb08c | ||
|
|
b502f89da6 | ||
|
|
d7b8cd7e03 | ||
|
|
61681bdc2b | ||
|
|
dc65030a63 | ||
|
|
328c110a97 | ||
|
|
0b7cd32209 | ||
|
|
b1c0ab74d7 | ||
|
|
faee01cde2 | ||
|
|
6f456437f7 | ||
|
|
1b0fd94a8c | ||
|
|
268d04841f | ||
|
|
9408ac5d9f | ||
|
|
45d2b6206e | ||
|
|
a943fdcc5a | ||
|
|
06e02f0b0f | ||
|
|
5b29dc66a9 | ||
|
|
5187916fd3 | ||
|
|
d6e444c6e9 | ||
|
|
59f4ef1091 | ||
|
|
bab1b3e9df | ||
|
|
4e8cbdc93b | ||
|
|
d3e5c5b335 | ||
|
|
2b4b38ddc6 | ||
|
|
d3e6d775e8 | ||
|
|
ecf3b57679 | ||
|
|
115981ecc6 | ||
|
|
009f297f59 | ||
|
|
f539fb1acf | ||
|
|
297e1e79c2 | ||
|
|
d8a95d9d48 | ||
|
|
1d8e87981b | ||
|
|
5c97f9c89a |
@@ -1,6 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## Unreleased - 140
|
||||
## v2.33.0 - 141 (2024-11-19)
|
||||
|
||||
- Change default column on wide screens to 4
|
||||
- Allow overriding column counts for portrait and landscape in settings
|
||||
- Keep main screen search filter when rotating screen or opening a card
|
||||
- Limit max length of note display on main screen
|
||||
|
||||
## v2.32.1 - 140 (2024-10-29)
|
||||
|
||||
- Fix text wrapping on add dialog
|
||||
|
||||
|
||||
54
Gemfile.lock
54
Gemfile.lock
@@ -10,20 +10,20 @@ GEM
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.958.0)
|
||||
aws-sdk-core (3.201.3)
|
||||
aws-partitions (1.998.0)
|
||||
aws-sdk-core (3.211.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.88.0)
|
||||
aws-sdk-core (~> 3, >= 3.201.0)
|
||||
aws-sdk-kms (1.95.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.156.0)
|
||||
aws-sdk-core (~> 3, >= 3.201.0)
|
||||
aws-sdk-s3 (1.169.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.9.0)
|
||||
aws-sigv4 (1.10.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.2.0)
|
||||
@@ -38,8 +38,8 @@ GEM
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.111.0)
|
||||
faraday (1.10.3)
|
||||
excon (0.112.0)
|
||||
faraday (1.10.4)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@@ -65,10 +65,10 @@ GEM
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.3.1)
|
||||
fastlane (2.222.0)
|
||||
fastlane (2.225.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -84,6 +84,7 @@ GEM
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
fastlane-sirp (>= 1.0.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
@@ -109,6 +110,8 @@ GEM
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-sirp (1.0.0)
|
||||
sysrandom (~> 1.0)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
@@ -126,7 +129,7 @@ GEM
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.7.0)
|
||||
google-cloud-core (1.7.1)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
@@ -147,18 +150,18 @@ GEM
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.6)
|
||||
http-cookie (1.0.7)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.2)
|
||||
json (2.7.2)
|
||||
jwt (2.8.2)
|
||||
json (2.7.5)
|
||||
jwt (2.9.3)
|
||||
base64
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.4.1)
|
||||
nanaimo (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.2.1)
|
||||
nkf (0.2.0)
|
||||
optparse (0.5.0)
|
||||
@@ -171,8 +174,7 @@ GEM
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.9)
|
||||
strscan
|
||||
rexml (3.3.9)
|
||||
rouge (2.0.7)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
@@ -185,7 +187,7 @@ GEM
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
strscan (3.1.0)
|
||||
sysrandom (1.0.5)
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@@ -195,15 +197,15 @@ GEM
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unicode-display_width (2.5.0)
|
||||
unicode-display_width (2.6.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.24.0)
|
||||
xcodeproj (1.26.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.3.0)
|
||||
rexml (~> 3.2.4)
|
||||
nanaimo (~> 0.4.0)
|
||||
rexml (>= 3.3.6, < 4.0)
|
||||
xcpretty (0.3.0)
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
@@ -216,4 +218,4 @@ DEPENDENCIES
|
||||
fastlane
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.11
|
||||
2.5.16
|
||||
|
||||
@@ -21,13 +21,13 @@ android {
|
||||
applicationId = "me.hackerchick.catima"
|
||||
minSdk = 21
|
||||
targetSdk = 34
|
||||
versionCode = 139
|
||||
versionName = "2.32.0"
|
||||
versionCode = 141
|
||||
versionName = "2.33.0"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
multiDexEnabled = true
|
||||
|
||||
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "et", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rBR", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sr", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
|
||||
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "et", "fi", "fr", "gl", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rBR", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sr", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@@ -90,13 +90,13 @@ dependencies {
|
||||
|
||||
// AndroidX
|
||||
implementation("androidx.appcompat:appcompat:1.7.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.2.0")
|
||||
implementation("androidx.exifinterface:exifinterface:1.3.7")
|
||||
implementation("androidx.palette:palette:1.0.0")
|
||||
implementation("androidx.preference:preference:1.2.1")
|
||||
implementation("com.google.android.material:material:1.12.0")
|
||||
implementation("com.github.yalantis:ucrop:2.2.9")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.2")
|
||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.3")
|
||||
|
||||
// Splash Screen
|
||||
implementation("androidx.core:core-splashscreen:1.0.1")
|
||||
@@ -116,7 +116,7 @@ dependencies {
|
||||
val junitVersion = "4.13.2"
|
||||
testImplementation("androidx.test:core:$androidXTestVersion")
|
||||
testImplementation("junit:junit:$junitVersion")
|
||||
testImplementation("org.robolectric:robolectric:4.13")
|
||||
testImplementation("org.robolectric:robolectric:4.14")
|
||||
|
||||
androidTestImplementation("androidx.test:core:$androidXTestVersion")
|
||||
androidTestImplementation("junit:junit:$junitVersion")
|
||||
|
||||
4
app/src/debug/res/values-gl/strings.xml
Normal file
4
app/src/debug/res/values-gl/strings.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Depuración de Catima</string>
|
||||
</resources>
|
||||
@@ -12,15 +12,15 @@ import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.content.pm.ShortcutInfoCompat;
|
||||
import androidx.core.content.pm.ShortcutManagerCompat;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import protect.card_locker.databinding.SimpleToolbarListActivityBinding;
|
||||
import protect.card_locker.databinding.CardShortcutConfigureActivityBinding;
|
||||
import protect.card_locker.preferences.Settings;
|
||||
|
||||
/**
|
||||
* The configuration screen for creating a shortcut.
|
||||
*/
|
||||
public class CardShortcutConfigure extends CatimaAppCompatActivity implements LoyaltyCardCursorAdapter.CardAdapterListener {
|
||||
private SimpleToolbarListActivityBinding binding;
|
||||
private CardShortcutConfigureActivityBinding binding;
|
||||
static final String TAG = "Catima";
|
||||
private SQLiteDatabase mDatabase;
|
||||
private LoyaltyCardCursorAdapter mAdapter;
|
||||
@@ -28,7 +28,7 @@ public class CardShortcutConfigure extends CatimaAppCompatActivity implements Lo
|
||||
@Override
|
||||
public void onCreate(Bundle bundle) {
|
||||
super.onCreate(bundle);
|
||||
binding = SimpleToolbarListActivityBinding.inflate(getLayoutInflater());
|
||||
binding = CardShortcutConfigureActivityBinding.inflate(getLayoutInflater());
|
||||
mDatabase = new DBHelper(this).getReadableDatabase();
|
||||
|
||||
// Set the result to CANCELED. This will cause nothing to happen if the
|
||||
@@ -47,15 +47,20 @@ public class CardShortcutConfigure extends CatimaAppCompatActivity implements Lo
|
||||
finish();
|
||||
}
|
||||
|
||||
final RecyclerView cardList = binding.list;
|
||||
GridLayoutManager layoutManager = (GridLayoutManager) cardList.getLayoutManager();
|
||||
if (layoutManager != null) {
|
||||
layoutManager.setSpanCount(getResources().getInteger(R.integer.main_view_card_columns));
|
||||
}
|
||||
|
||||
Cursor cardCursor = DBHelper.getLoyaltyCardCursor(mDatabase, DBHelper.LoyaltyCardArchiveFilter.All);
|
||||
mAdapter = new LoyaltyCardCursorAdapter(this, cardCursor, this, null);
|
||||
cardList.setAdapter(mAdapter);
|
||||
binding.list.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
var layoutManager = (GridLayoutManager) binding.list.getLayoutManager();
|
||||
if (layoutManager != null) {
|
||||
var settings = new Settings(this);
|
||||
layoutManager.setSpanCount(settings.getPreferredColumnCount());
|
||||
}
|
||||
}
|
||||
|
||||
private void onClickAction(int position) {
|
||||
|
||||
@@ -30,6 +30,7 @@ import java.text.DateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import protect.card_locker.databinding.LoyaltyCardLayoutBinding;
|
||||
import protect.card_locker.preferences.Settings;
|
||||
|
||||
public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCursorAdapter.LoyaltyCardListItemViewHolder> {
|
||||
private int mCurrentSelectedIndex = -1;
|
||||
@@ -111,19 +112,19 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
}
|
||||
|
||||
if (mLoyaltyCardListDisplayOptions.showingValidity() && loyaltyCard.validFrom != null) {
|
||||
inputHolder.setExtraField(inputHolder.mValidFromField, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.validFrom), Utils.isNotYetValid(loyaltyCard.validFrom) ? Color.RED : null, showDivider);
|
||||
inputHolder.setExtraField(inputHolder.mValidFromField, DateFormat.getDateInstance(DateFormat.MEDIUM).format(loyaltyCard.validFrom), Utils.isNotYetValid(loyaltyCard.validFrom) ? Color.RED : null, showDivider);
|
||||
} else {
|
||||
inputHolder.setExtraField(inputHolder.mValidFromField, null, null, false);
|
||||
}
|
||||
|
||||
if (mLoyaltyCardListDisplayOptions.showingValidity() && loyaltyCard.expiry != null) {
|
||||
inputHolder.setExtraField(inputHolder.mExpiryField, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.expiry), Utils.hasExpired(loyaltyCard.expiry) ? Color.RED : null, showDivider);
|
||||
inputHolder.setExtraField(inputHolder.mExpiryField, DateFormat.getDateInstance(DateFormat.MEDIUM).format(loyaltyCard.expiry), Utils.hasExpired(loyaltyCard.expiry) ? Color.RED : null, showDivider);
|
||||
} else {
|
||||
inputHolder.setExtraField(inputHolder.mExpiryField, null, null, false);
|
||||
}
|
||||
|
||||
inputHolder.mCardIcon.setContentDescription(loyaltyCard.store);
|
||||
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText);
|
||||
inputHolder.mIconBackgroundColor = Utils.setIconOrTextWithBackground(mContext, loyaltyCard, icon, inputHolder.mCardIcon, inputHolder.mCardText, new Settings(mContext).getPreferredColumnCount());
|
||||
|
||||
inputHolder.toggleCardStateIcon(loyaltyCard.starStatus != 0, loyaltyCard.archiveStatus != 0, itemSelected(inputCursor.getPosition()));
|
||||
|
||||
@@ -339,10 +340,4 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int dpToPx(int dp, Context mContext) {
|
||||
Resources r = mContext.getResources();
|
||||
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, r.getDisplayMetrics());
|
||||
return px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -720,7 +720,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
binding.fabEdit.setImageDrawable(editButtonIcon);
|
||||
|
||||
Bitmap icon = Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon);
|
||||
Utils.setIconOrTextWithBackground(this, loyaltyCard, icon, binding.iconImage, binding.iconText);
|
||||
Utils.setIconOrTextWithBackground(this, loyaltyCard, icon, binding.iconImage, binding.iconText, 1);
|
||||
|
||||
// If the background is very bright, we should use dark icons
|
||||
backgroundNeedsDarkIcons = Utils.needsDarkForeground(backgroundHeaderColor);
|
||||
|
||||
@@ -27,6 +27,7 @@ import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.view.ActionMode;
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.core.splashscreen.SplashScreen;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
@@ -43,6 +44,7 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
import protect.card_locker.databinding.ContentMainBinding;
|
||||
import protect.card_locker.databinding.MainActivityBinding;
|
||||
import protect.card_locker.databinding.SortingOptionBinding;
|
||||
import protect.card_locker.preferences.Settings;
|
||||
import protect.card_locker.preferences.SettingsActivity;
|
||||
|
||||
public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCardCursorAdapter.CardAdapterListener {
|
||||
@@ -52,6 +54,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
public static final String RESTART_ACTIVITY_INTENT = "restart_activity_intent";
|
||||
|
||||
private static final int MEDIUM_SCALE_FACTOR_DIP = 460;
|
||||
static final String STATE_SEARCH_QUERY = "SEARCH_QUERY";
|
||||
|
||||
private SQLiteDatabase mDatabase;
|
||||
private LoyaltyCardCursorAdapter mAdapter;
|
||||
@@ -59,6 +62,8 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
private SearchView mSearchView;
|
||||
private int mLoyaltyCardCount = 0;
|
||||
protected String mFilter = "";
|
||||
private String currentQuery = "";
|
||||
private String finalQuery = "";
|
||||
protected Object mGroup = null;
|
||||
protected DBHelper.LoyaltyCardOrder mOrder = DBHelper.LoyaltyCardOrder.Alpha;
|
||||
protected DBHelper.LoyaltyCardOrderDirection mOrderDirection = DBHelper.LoyaltyCardOrderDirection.Ascending;
|
||||
@@ -68,9 +73,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
private View mNoMatchingCardsText;
|
||||
private View mNoGroupCardsText;
|
||||
private TabLayout groupsTabLayout;
|
||||
|
||||
private Runnable mUpdateLoyaltyCardListRunnable;
|
||||
|
||||
private ActivityResultLauncher<Intent> mBarcodeScannerLauncher;
|
||||
private ActivityResultLauncher<Intent> mSettingsLauncher;
|
||||
|
||||
@@ -197,7 +200,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
protected void onCreate(Bundle inputSavedInstanceState) {
|
||||
SplashScreen.installSplashScreen(this);
|
||||
super.onCreate(inputSavedInstanceState);
|
||||
|
||||
// We should extract the share intent after we called the super.onCreate as it may need to spawn a dialog window and the app needs to be initialized to not crash
|
||||
extractIntentFields(getIntent());
|
||||
|
||||
@@ -249,9 +251,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
mCardList.setAdapter(mAdapter);
|
||||
registerForContextMenu(mCardList);
|
||||
|
||||
mGroup = null;
|
||||
updateLoyaltyCardList(true);
|
||||
|
||||
mBarcodeScannerLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
|
||||
// Exit early if the user cancelled the scan (pressed back/home)
|
||||
if (result.getResultCode() != RESULT_OK) {
|
||||
@@ -299,7 +298,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
if (mSearchView != null && !mSearchView.isIconified()) {
|
||||
mFilter = mSearchView.getQuery().toString();
|
||||
}
|
||||
|
||||
// Start of active tab logic
|
||||
updateTabGroups(groupsTabLayout);
|
||||
|
||||
@@ -357,6 +355,12 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
mBarcodeScannerLauncher.launch(intent);
|
||||
});
|
||||
addButton.bringToFront();
|
||||
|
||||
var layoutManager = (GridLayoutManager) mCardList.getLayoutManager();
|
||||
if (layoutManager != null) {
|
||||
var settings = new Settings(this);
|
||||
layoutManager.setSpanCount(settings.getPreferredColumnCount());
|
||||
}
|
||||
}
|
||||
|
||||
private void displayCardSetupOptions(Menu menu, boolean shouldShow) {
|
||||
@@ -508,6 +512,24 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
// Saving currentQuery to finalQuery for user, this will be used to restore search history, happens when user clicks a card from list
|
||||
protected void onSaveInstanceState(@NonNull Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
finalQuery = currentQuery;
|
||||
// Putting the query also into outState for later use in onRestoreInstanceState when rotating screen
|
||||
if (mSearchView != null) {
|
||||
outState.putString(STATE_SEARCH_QUERY, finalQuery);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
// Restoring instance state when rotation of screen happens with the goal to restore search query for user
|
||||
protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
|
||||
super.onRestoreInstanceState(savedInstanceState);
|
||||
finalQuery = savedInstanceState.getString(STATE_SEARCH_QUERY, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu inputMenu) {
|
||||
getMenuInflater().inflate(R.menu.main_menu, inputMenu);
|
||||
@@ -520,7 +542,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
mSearchView = (SearchView) searchMenuItem.getActionView();
|
||||
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
|
||||
mSearchView.setSubmitButtonEnabled(false);
|
||||
|
||||
mSearchView.setOnCloseListener(() -> {
|
||||
invalidateOptionsMenu();
|
||||
return false;
|
||||
@@ -545,6 +566,9 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
mSearchView.clearFocus();
|
||||
return false;
|
||||
}
|
||||
currentQuery = "";
|
||||
mFilter = "";
|
||||
updateLoyaltyCardList(false);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
@@ -559,7 +583,21 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
@Override
|
||||
public boolean onQueryTextChange(String newText) {
|
||||
mFilter = newText;
|
||||
|
||||
// New logic to ensure search history after coming back from picked card - user will see the last search query
|
||||
if (newText.isEmpty()) {
|
||||
if(!finalQuery.isEmpty()){
|
||||
// Setting the query text for user after coming back from picked card from finalQuery
|
||||
mSearchView.setQuery(finalQuery, false);
|
||||
}
|
||||
else if(!currentQuery.isEmpty()){
|
||||
// Else if is needed in case user deletes search - expected behaviour is to show all cards
|
||||
currentQuery = "";
|
||||
mSearchView.setQuery(currentQuery, false);
|
||||
}
|
||||
} else {
|
||||
// Setting search query each time user changes the text in search to temporary variable to be used later in finalQuery String which will be used to restore search history
|
||||
currentQuery = newText;
|
||||
}
|
||||
TabLayout.Tab currentTab = groupsTabLayout.getTabAt(groupsTabLayout.getSelectedTabPosition());
|
||||
mGroup = currentTab != null ? currentTab.getTag() : null;
|
||||
|
||||
@@ -568,6 +606,14 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
return true;
|
||||
}
|
||||
});
|
||||
// Check if we came from a picked card back to search, in that case we want to show the search view with previous search query
|
||||
if(!finalQuery.isEmpty()){
|
||||
// Expand the search view to show the query
|
||||
searchMenuItem.expandActionView();
|
||||
// Setting the query text to empty String due to behaviour of onQueryTextChange after coming back from picked card - onQueryTextChange is called automatically without users interaction
|
||||
finalQuery = "";
|
||||
mSearchView.setQuery(currentQuery, false);
|
||||
}
|
||||
}
|
||||
|
||||
return super.onCreateOptionsMenu(inputMenu);
|
||||
|
||||
@@ -934,7 +934,7 @@ public class Utils {
|
||||
* @param textWhenNoImage TextView to write the loyalty card name into if icon is null
|
||||
* @return background colour
|
||||
*/
|
||||
public static int setIconOrTextWithBackground(Context context, LoyaltyCard loyaltyCard, Bitmap icon, ImageView backgroundOrIcon, TextView textWhenNoImage) {
|
||||
public static int setIconOrTextWithBackground(Context context, LoyaltyCard loyaltyCard, Bitmap icon, ImageView backgroundOrIcon, TextView textWhenNoImage, int columnCount) {
|
||||
int headerColor = getHeaderColor(context, loyaltyCard);
|
||||
backgroundOrIcon.setImageBitmap(icon);
|
||||
backgroundOrIcon.setBackgroundColor(headerColor);
|
||||
@@ -947,14 +947,16 @@ public class Utils {
|
||||
// Because we have to write the text before we can actually know the exact laid out size (trying to delay this causes bugs where the autosize fails) we have to take some... weird shortcuts
|
||||
|
||||
// At this point textWhenNoImage.getWidth() still returns 0, so we cheat by calculating the whole width of the screen and then dividing it by the amount of columns
|
||||
int textviewWidth = Resources.getSystem().getDisplayMetrics().widthPixels / context.getResources().getInteger(R.integer.main_view_card_columns);
|
||||
int columnWidth = Resources.getSystem().getDisplayMetrics().widthPixels / columnCount;
|
||||
|
||||
// Calculate how wide a character is and calculate how many characters fit in a line
|
||||
// text size is generally based on height, so setting 1:1 as width may be fishy
|
||||
int characterWidth = TextViewCompat.getAutoSizeMinTextSize(textWhenNoImage);
|
||||
int maxWidthPerLine = textviewWidth - textWhenNoImage.getPaddingStart() - textWhenNoImage.getPaddingEnd();
|
||||
int maxWidthPerLine = columnWidth - textWhenNoImage.getPaddingStart() - textWhenNoImage.getPaddingEnd();
|
||||
|
||||
// Set amount of lines based on what could fit at most
|
||||
int maxLines = ((loyaltyCard.store.length() * characterWidth) / maxWidthPerLine) + 1;
|
||||
// Set number of lines based on what could fit at most
|
||||
int fullTextWidth = loyaltyCard.store.length() * characterWidth;
|
||||
int maxLines = (fullTextWidth / maxWidthPerLine) + 1;
|
||||
textWhenNoImage.setMaxLines(maxLines);
|
||||
|
||||
// Actually set the text and colour
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package protect.card_locker.preferences;
|
||||
|
||||
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.IntegerRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import androidx.preference.PreferenceManager;
|
||||
@@ -14,8 +18,9 @@ import protect.card_locker.R;
|
||||
import protect.card_locker.Utils;
|
||||
|
||||
public class Settings {
|
||||
private static final String TAG = "Catima";
|
||||
private final Context mContext;
|
||||
private SharedPreferences mSettings;
|
||||
private final SharedPreferences mSettings;
|
||||
|
||||
public Settings(Context context) {
|
||||
mContext = context.getApplicationContext();
|
||||
@@ -42,10 +47,11 @@ public class Settings {
|
||||
return mSettings.getBoolean(getResString(keyId), defaultValue);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Locale getLocale() {
|
||||
String value = getString(R.string.settings_key_locale, "");
|
||||
|
||||
if (value.length() == 0) {
|
||||
if (value.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -92,6 +98,21 @@ public class Settings {
|
||||
return getString(R.string.setting_key_theme_color, mContext.getResources().getString(R.string.settings_key_system_theme));
|
||||
}
|
||||
|
||||
public int getPreferredColumnCount() {
|
||||
var defaultSymbol = mContext.getResources().getString(R.string.settings_key_automatic_column_count);
|
||||
var defaultColumnCount = mContext.getResources().getInteger(R.integer.main_view_card_columns);
|
||||
var orientation = mContext.getResources().getConfiguration().orientation;
|
||||
var columnCountPrefKey = orientation == ORIENTATION_PORTRAIT ? R.string.setting_key_column_count_portrait : R.string.setting_key_column_count_landscape;
|
||||
var columnCountSetting = getString(columnCountPrefKey, defaultSymbol);
|
||||
try {
|
||||
// the pref may be unset or explicitly set to default
|
||||
return columnCountSetting.equals(defaultSymbol) ? defaultColumnCount : Integer.parseInt(columnCountSetting);
|
||||
} catch (NumberFormatException nfe) {
|
||||
Log.e(TAG, "Failed to parseInt the column count pref", nfe);
|
||||
return defaultColumnCount;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean useVolumeKeysForNavigation() {
|
||||
return getBoolean(R.string.settings_key_use_volume_keys_navigation, false);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/list"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:spanCount="1"
|
||||
app:spanCount="@integer/main_view_card_columns"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent" />
|
||||
</RelativeLayout>
|
||||
@@ -41,9 +41,10 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:textStyle="bold"
|
||||
app:autoSizeMinTextSize="6sp"
|
||||
app:autoSizeTextType="uniform"
|
||||
android:gravity="center"
|
||||
android:padding="20dp" />
|
||||
android:padding="10dp" />
|
||||
|
||||
<ImageView
|
||||
android:importantForAccessibility="no"
|
||||
@@ -150,6 +151,8 @@
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="4dp"
|
||||
android:textAppearance="?attr/textAppearanceBody2"
|
||||
android:maxLines="5"
|
||||
android:ellipsize="end"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
app:layout_constraintTop_toBottomOf="@+id/store"
|
||||
|
||||
@@ -12,56 +12,60 @@ SlavekB
|
||||
mondstern
|
||||
IllusiveMan196
|
||||
Altonss
|
||||
大王叫我来巡山
|
||||
Michael Moroni
|
||||
Eric
|
||||
GM
|
||||
Petr Novák
|
||||
laralem
|
||||
大王叫我来巡山
|
||||
Joel A
|
||||
Taco
|
||||
pfaffenrodt
|
||||
Aayush Gupta
|
||||
Scrambled777
|
||||
Aayush Gupta
|
||||
HudobniVolk
|
||||
Giovanni Donisi
|
||||
Nyatsuki
|
||||
Jiri Grönroos
|
||||
Giovanni Donisi
|
||||
Priit Jõerüüt
|
||||
Samantaz Fox
|
||||
Balázs Meskó
|
||||
Milo Ivir
|
||||
Arno-github
|
||||
Ankit Tiwari
|
||||
Sergio Paredes
|
||||
Cliff Heraldo
|
||||
Sergio Paredes
|
||||
Ankit Tiwari
|
||||
Arno-github
|
||||
Milo Ivir
|
||||
Balázs Meskó
|
||||
Jose Delvani
|
||||
B o d o
|
||||
mdvhimself
|
||||
Milan Šalka
|
||||
ikanakova
|
||||
Skrripy
|
||||
Максим Горпиніч
|
||||
huuhaa
|
||||
waffshappen
|
||||
Silvério Santos
|
||||
ngocanhtve
|
||||
Quentin PAGÈS
|
||||
Skrripy
|
||||
Projjal Moitra
|
||||
Denis Shilin
|
||||
Robin Liu
|
||||
Quentin PAGÈS
|
||||
ngocanhtve
|
||||
Silvério Santos
|
||||
Marnick L'Eau
|
||||
waffshappen
|
||||
Ziad OUALHADJ
|
||||
Robin Liu
|
||||
Kachelkaiser
|
||||
Denis Shilin
|
||||
しいたけ
|
||||
Alexander Ivanov
|
||||
Viet Nguyen Hoang
|
||||
Miha Frangež
|
||||
Viet Nguyen Hoang
|
||||
stavpup
|
||||
ehrt74
|
||||
Virginie
|
||||
Tim Trek
|
||||
Renko
|
||||
Michael Gangolf
|
||||
rudy3
|
||||
Kim Seohyun
|
||||
Govind S Nair
|
||||
Freddo espresso
|
||||
arshbeerSingh
|
||||
MisterCosta96
|
||||
arshbeerSingh
|
||||
Freddo espresso
|
||||
Govind S Nair
|
||||
Kim Seohyun
|
||||
Renko
|
||||
rudy3
|
||||
Michael Gangolf
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Без заключване на екрана при преглед на карта</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Приложенията ще искат разрешение, за да получат достъп</string>
|
||||
<string name="settings_oled_dark_summary">Намалява разхода на батерия от OLED дисплеи</string>
|
||||
<string name="settings_category_title_cards">Изглед с карти</string>
|
||||
<string name="settings_category_title_cards">Преглед на карта</string>
|
||||
<string name="settings_category_title_general">Общи</string>
|
||||
<string name="settings_category_title_privacy">Поверителност</string>
|
||||
<string name="settings_keep_screen_on_summary">Спира автоматичното заключване на екрана при преглед на карти</string>
|
||||
@@ -294,4 +294,15 @@
|
||||
<string name="useBackImage">Използване на задната страна</string>
|
||||
<string name="settings_use_volume_keys_navigation">Сменяне на картите с бутоните за звука</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Бутоните за силата на звука сменят видимата карта</string>
|
||||
<string name="settings_automatic_column_count">Автоматично</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_column_count_landscape">Колони в пейзажен изглед</string>
|
||||
<string name="settings_column_count_portrait">Колони в портретен изглед</string>
|
||||
<string name="settings_category_title_cards_overview">Списък с карти</string>
|
||||
</resources>
|
||||
@@ -291,4 +291,15 @@
|
||||
<string name="useBackImage">Rückseite verwenden</string>
|
||||
<string name="settings_use_volume_keys_navigation">Karten mit Lautstärketasten wechseln</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Wähle mit den Lautstärketasten, welche Karte angezeigt werden soll</string>
|
||||
<string name="settings_column_count_portrait">Spalten im Hochformat</string>
|
||||
<string name="settings_column_count_landscape">Spalten im Querformat</string>
|
||||
<string name="settings_automatic_column_count">Automatisch</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_category_title_cards_overview">Kartenübersicht</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
</resources>
|
||||
@@ -4,7 +4,7 @@
|
||||
<string name="noGiftCards">Κάντε κλικ στο + κουμπί για να προσθέσετε μία κάρτα ή προσθέστε από το ⋮ μενού.</string>
|
||||
<string name="storeName">Όνομα</string>
|
||||
<string name="note">Σημείωση</string>
|
||||
<string name="cardId">Κωδικός Κάρτας</string>
|
||||
<string name="cardId">Κωδικός κάρτας</string>
|
||||
<string name="cancel">Άκυρο</string>
|
||||
<string name="save">Αποθήκευση</string>
|
||||
<string name="edit">Επεξεργασία</string>
|
||||
@@ -54,7 +54,7 @@
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> επιλέγχθηκαν</item>
|
||||
</plurals>
|
||||
<string name="noGiftCardsGroup">Δημιούργησε κάρτες και βάλτες σε αυτή την ομάδα.</string>
|
||||
<string name="addManually">Εισαγάγετε τον γραμμωτό κώδικα με μη αυτόματο τρόπο</string>
|
||||
<string name="addManually">Εισαγωγή γραμμωτού κώδικα με μη αυτόματο τρόπο</string>
|
||||
<string name="never">Ποτέ</string>
|
||||
<string name="share">Κοινοποίηση</string>
|
||||
<plurals name="balancePoints">
|
||||
@@ -71,12 +71,12 @@
|
||||
<string name="accept">Αποδοχή</string>
|
||||
<string name="yes">Ναι</string>
|
||||
<string name="no">Όχι</string>
|
||||
<string name="addFromImage">Επιλέξτε μια εικόνα από τη συλλογή</string>
|
||||
<string name="addFromImage">Επιλογή εικόνας από τη συλλογή</string>
|
||||
<string name="expiryStateSentence">Λήγει: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryDate">Ημερομηνία λήξης</string>
|
||||
<string name="settings_keep_screen_on">Κράτα την οθόνη ανοιχτή</string>
|
||||
<string name="settings_keep_screen_on">Διατήρηση ενεργής οθόνης</string>
|
||||
<string name="leaveWithoutSaveTitle">Έξοδος</string>
|
||||
<string name="reverse">... σε αντίθετη σειρά</string>
|
||||
<string name="reverse">...σε αντίστροφη σειρά</string>
|
||||
<string name="version_history">Ιστορικό έκδοσης</string>
|
||||
<string name="sort_by">Ταξινόμηση κατά</string>
|
||||
<string name="credits">Πιστώσεις</string>
|
||||
@@ -91,8 +91,7 @@
|
||||
<string name="importLoyaltyCardKeychainMessage">Επιλέξτε την <i>LoyaltyCardKeychain.csv</i> εξαγωγή από το Loyalty Card Keychain για εισαγωγή.
|
||||
\nΔημιουργήστε το από το μενού Εισαγωγής/Εξαγωγής στο Loyalty Card Keychain επιλέγοντας Εξαγωγή.</string>
|
||||
<string name="importFidme">Εισαγωγή από FidMe</string>
|
||||
<string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμωτού κώδικα μετέπειτα.
|
||||
\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και πατώντας Εξαγωγή δεδομένων πρώτα.</string>
|
||||
<string name="importFidmeMessage">Επιλέξτε την <i>fidme-export-request-xxxxxx.zip</i> εξαγωγή από το FidMe για εισαγωγή και επιλέξτε χειροκίνητα τους τύπους γραμμωτού κώδικα μετέπειτα.\nΔημιουργήστε το από το FidMe προφίλ επιλέγοντας Προστασία Δεδομένων και πατώντας Εξαγωγή δεδομένων πρώτα.</string>
|
||||
<string name="setBarcodeId">Επιλέξτε τιμή γραμμωτού κώδικα</string>
|
||||
<string name="wrongValueForBarcodeType">Η τιμή δεν είναι έγκυρη για τον επιλεγμένο γραμμωτό κώδικα</string>
|
||||
<string name="setBackImage">Επιλογή οπίσθιας εικόνας</string>
|
||||
@@ -101,7 +100,7 @@
|
||||
<string name="updateBarcodeQuestionText">Αλλάξατε τον κωδικό. Θέλετε να ενημερώσετε και τον γραμμωτό κώδικα στην ίδια τιμή;</string>
|
||||
<string name="options">Επιλογές</string>
|
||||
<string name="noGroupCards">Αυτή η ομάδα είναι άδεια</string>
|
||||
<string name="settings_display_barcode_max_brightness">Επιπλέον φωτισμός γραμμωτού κώδικα</string>
|
||||
<string name="settings_display_barcode_max_brightness">Επιπλέον φωτισμός οθόνης</string>
|
||||
<string name="group_name_is_empty">Το όνομα της ομάδας δεν πρέπει να είναι κενό</string>
|
||||
<string name="group_edit">Επεξεργασία ομάδας</string>
|
||||
<string name="star">Προσθήκη στα αγαπημένα</string>
|
||||
@@ -125,16 +124,16 @@
|
||||
\nΠάρτε το στέλνοντας email στο: support@stocardapp.com ζητώντας μια εξαγωγή αρχείων των δεδομένων σας.</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Θέλω να μοιραστώ μερικές κάρτες μαζί σου</string>
|
||||
<string name="editGroup">Επεξεργασία Ομάδας: <xliff:g>%s</xliff:g></string>
|
||||
<string name="setFrontImage">Επιλογή μπροστινής εικόνας</string>
|
||||
<string name="setFrontImage">Επιλογή εμπρόσθιας εικόνας</string>
|
||||
<string name="importVoucherVaultMessage">Επιλέξτε την <i>vouchervault.json</i> εξαγωγή από το Voucher Vault για εισαγωγή.
|
||||
\nΔημιουργήστε το επιλέγοντας Εξαγωγή στο Voucher Vault.</string>
|
||||
<string name="unsupportedBarcodeType">Ο τύπος γραμμωτού κώδικα δεν μπορεί να εμφανιστεί ακόμα. Μπορεί να υποστηρίζεται σε μια μελλοντική έκδοση της εφαρμογής.</string>
|
||||
<string name="frontImageDescription">Μπροστινή εικόνα</string>
|
||||
<string name="frontImageDescription">Εμπρόσθια</string>
|
||||
<string name="photos">Φωτογραφίες</string>
|
||||
<string name="backImageDescription">Οπίσθια εικόνα</string>
|
||||
<string name="backImageDescription">Οπίσθια</string>
|
||||
<string name="updateBarcodeQuestionTitle">Ενημέρωση τιμής γραμμωτού κώδικα;</string>
|
||||
<string name="passwordRequired">Παρακαλώ εισάγετε τον κωδικό</string>
|
||||
<string name="sort_by_most_recently_used">Χρησιμοποιήθηκαν πρόσφατα</string>
|
||||
<string name="sort_by_most_recently_used">Χρήση</string>
|
||||
<string name="shortcutSelectCard">Επιλέξτε μία κάρτα</string>
|
||||
<string name="barcodeImageDescriptionWithType">Εικόνα <xliff:g>%s</xliff:g> γραμμωτού κώδικα</string>
|
||||
<string name="app_libraries">Ελεύθερες βιβλιοθήκες τρίτων: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
@@ -169,11 +168,11 @@
|
||||
<string name="app_copyright_old">Βασισμένο στο Loyalty Card Keychain
|
||||
\nπνευματικά δικαιώματα © 2016-2020 Branden Archer</string>
|
||||
<string name="settings_follow_system_orientation">Ακολούθηση συστήματος</string>
|
||||
<string name="settings_card_orientation">Προσανατολισμός γραμμωτού κώδικα</string>
|
||||
<string name="settings_card_orientation">Προσανατολισμός οθόνης</string>
|
||||
<string name="settings_portrait_orientation">Πορτραίτο</string>
|
||||
<string name="settings_landscape_orientation">Οριζόντια</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Πνευματικά δικαιώματα © 2019-<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
||||
<string name="settings_lock_on_opening_orientation">Κλείδωμα τωρινού προσανατολισμού όταν ανοίγει μία κάρτα</string>
|
||||
<string name="settings_lock_on_opening_orientation">Κλείδωμα τρέχοντος προσανατολισμού όταν ανοίγει μία κάρτα</string>
|
||||
<string name="intent_import_card_from_url_share_text">Θέλω να μοιραστώ μία κάρτα μαζί σου</string>
|
||||
<string name="enter_group_name">Εισάγετε όνομα ομάδας</string>
|
||||
<string name="groups">Ομάδες</string>
|
||||
@@ -214,7 +213,7 @@
|
||||
<string name="and_data_usage">και δεδομένα χρήσης</string>
|
||||
<string name="rate_this_app">Βαθμολογήστε την εφαρμογή</string>
|
||||
<string name="duplicateCard">Αντίγραφο</string>
|
||||
<string name="archive">Αρχειοθετήστε</string>
|
||||
<string name="archive">Αρχειοθέτηση</string>
|
||||
<string name="archived">Η κάρτα αρχειοθετήθηκε</string>
|
||||
<string name="unarchived">Η κάρτα αφαιρέθηκε από το αρχείο</string>
|
||||
<string name="unarchive">Αφαίρεση από το αρχείο</string>
|
||||
@@ -238,16 +237,16 @@
|
||||
<string name="settings_allow_content_provider_read_title">Να επιτρέπεται σε άλλες εφαρμογές να έχουν πρόσβαση στα δεδομένα μου</string>
|
||||
<string name="app_copyright_short">Πνευματικά δικαιώματα © Sylvia van Os και συνεργάτες</string>
|
||||
<string name="height">Ύψος:</string>
|
||||
<string name="switchToFrontImage">Μετάβαση στην μπροστινή εικόνα</string>
|
||||
<string name="switchToFrontImage">Μετάβαση στην εμπρόσθια εικόνα</string>
|
||||
<string name="switchToBackImage">Μετάβαση στην οπίσθια εικόνα</string>
|
||||
<string name="switchToBarcode">Μετάβαση σε γραμμωτό κώδικα</string>
|
||||
<string name="validFromSentence">Ισχύει από: <xliff:g>%s</xliff:g></string>
|
||||
<string name="permissionReadCardsLabel">Διαβάστε τις κάρτες Catima</string>
|
||||
<string name="openBackImageInGalleryApp">Ανοίξτε την οπίσθια εικόνα στην εφαρμογή γκαλερί</string>
|
||||
<string name="openBackImageInGalleryApp">Ανοίξτε την οπίσθια εικόνα στη συλλογή εικόνων</string>
|
||||
<string name="permissionReadCardsDescription">Διάβασε τις Κάρτες σου Catima και όλες τους τις λεπτομέρειες, συμπεριλαμβανομένων των σημειώσεων και των εικόνων</string>
|
||||
<string name="donate">Δωρεά</string>
|
||||
<string name="icon_header_click_text">Πατήστε παρατεταμένα για επεξεργασία του εικονιδίου</string>
|
||||
<string name="openFrontImageInGalleryApp">Ανοίξτε την μπροστινή εικόνα στην εφαρμογή γκαλερί</string>
|
||||
<string name="openFrontImageInGalleryApp">Ανοίξτε την εμπρόσθια εικόνα στη συλλογή εικόνων</string>
|
||||
<string name="storageReadPermissionRequired">Δικαίωμα ανάγνωσης του χώρου αποθήκευσης απαραίτητο για αυτήν την ενέργεια…</string>
|
||||
<string name="settings_follow_sensor_orientation">Πάντα σε περιστροφή (αγνοεί τις ρυθμίσεις του συστήματος)</string>
|
||||
<string name="validFromDate">Ισχύει από</string>
|
||||
@@ -264,7 +263,7 @@
|
||||
<string name="amountParsingFailed">Μη έγκυρο ποσό</string>
|
||||
<string name="show_balance">Προβολή υπολοίπου</string>
|
||||
<string name="action_display_options">Επιλογές εμφάνισης</string>
|
||||
<string name="settings_category_title_cards">Κάρτες</string>
|
||||
<string name="settings_category_title_cards">Εμφάνιση καρτών</string>
|
||||
<string name="settings_category_title_general">Γενικά</string>
|
||||
<string name="show_archived_cards">Προβολή αρχειοθετημένων καρτών</string>
|
||||
<string name="addWithoutBarcode">Προσθήκη κάρτας χωρίς γραμμωτό κώδικα</string>
|
||||
@@ -279,17 +278,30 @@
|
||||
<string name="settings_oled_dark_summary">Μειώνει τη χρήση της μπαταρίας στις οθόνες OLED</string>
|
||||
<string name="show_note">Εμφάνιση σημείωσης</string>
|
||||
<string name="action_more_options">Περισσότερες επιλογές</string>
|
||||
<string name="enter_card_id">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας</string>
|
||||
<string name="enter_card_id">Εισάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας</string>
|
||||
<string name="show_validity">Εμφάνιση εγκυρότητας</string>
|
||||
<string name="add_a_card_in_a_different_way">Προσθέστε μια κάρτα με διαφορετικό τρόπο</string>
|
||||
<string name="card_id_must_not_be_empty">Ο κωδικός αριθμός της κάρτας δεν πρέπει να είναι κενός</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Οι εφαρμογές θα πρέπει ακόμα να ζητήσουν άδεια για να τους δοθεί πρόσβαση</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Οι εφαρμογές θα πρέπει ωστόσο να ζητήσουν άδεια για να τους δοθεί πρόσβαση</string>
|
||||
<string name="field_must_not_be_empty">Το πεδίο δεν πρέπει να είναι κενό</string>
|
||||
<string name="manually_enter_barcode_instructions">Εισαγάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας και πατήστε τον γραμμωτό κώδικα που μοιάζει με αυτόν της κάρτας σας.</string>
|
||||
<string name="manually_enter_barcode_instructions">Εισάγετε τον κωδικό αριθμό ή το κείμενο στην κάρτα σας και πατήστε τον γραμμωτό κώδικα που μοιάζει με αυτόν της κάρτας σας.</string>
|
||||
<string name="add_manually_warning_title">Συνιστάται η σάρωση</string>
|
||||
<string name="noCameraFoundGuideText">Η συσκευή σας δεν φαίνεται να διαθέτει κάμερα. Αν έχει, δοκιμάστε να κάνετε επανεκκίνηση της συσκευής. Διαφορετικά, χρησιμοποιήστε το κουμπί Περισσότερες επιλογές παρακάτω για να προσθέσετε έναν γραμμωτό κώδικα με άλλο τρόπο.</string>
|
||||
<string name="importCancelled">Η εισαγωγή ακυρώθηκε</string>
|
||||
<string name="exportCancelled">Η εξαγωγή ακυρώθηκε</string>
|
||||
<string name="useFrontImage">Χρήση μπροστινής εικόνας</string>
|
||||
<string name="useFrontImage">Χρήση εμπρόσθιας εικόνας</string>
|
||||
<string name="useBackImage">Χρήση οπίσθιας εικόνας</string>
|
||||
<string name="settings_use_volume_keys_navigation">Εναλλαγή καρτών με τα κουμπιά έντασης</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Χρησιμοποιήστε τα κουμπιά έντασης ήχου για να αλλάξετε την κάρτα που εμφανίζεται</string>
|
||||
<string name="settings_column_count_landscape">Στήλες σε οριζόντια λειτουργία</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_category_title_cards_overview">Επισκόπηση καρτών</string>
|
||||
<string name="settings_column_count_portrait">Στήλες σε κατακόρυφη λειτουργία</string>
|
||||
<string name="settings_automatic_column_count">Αυτόματα</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -300,4 +300,15 @@
|
||||
<string name="useBackImage">Utilice la imagen trasera</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Utiliza los botones de volumen para cambiar que tarjeta se muestra</string>
|
||||
<string name="settings_use_volume_keys_navigation">Cambiar de tarjetas usando los botones de volumen</string>
|
||||
<string name="settings_automatic_column_count">Automático</string>
|
||||
<string name="settings_column_count_portrait">Columnas en modo vertical</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_category_title_cards_overview">Visión general de las tarjetas</string>
|
||||
<string name="settings_column_count_landscape">Columnas en modo horizontal</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -289,4 +289,15 @@
|
||||
<string name="useBackImage">Kasuta tagakülje pilti</string>
|
||||
<string name="settings_use_volume_keys_navigation">Vaheta kaarte helivaljuse nuppudega</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Vaheta kuvatavaid vahekaarte helivaljuse nuppudega</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_category_title_cards_overview">Kaartide ülevaade</string>
|
||||
<string name="settings_column_count_landscape">Veerge rõhtvaates</string>
|
||||
<string name="settings_automatic_column_count">Automaatne</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_portrait">Veerge püstvaates</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -143,7 +143,7 @@
|
||||
</plurals>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> valittu</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> valittu</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> valitut</item>
|
||||
</plurals>
|
||||
<string name="importStocard">Tuo Stocardista</string>
|
||||
<string name="importStocardMessage">Valitse tuotava <i>***.zip</i>-vienti Stocardista.
|
||||
@@ -294,4 +294,15 @@
|
||||
<string name="useFrontImage">Käytä etukuvaa</string>
|
||||
<string name="settings_use_volume_keys_navigation">Vaihtele korttien välillä äänenvoimakkuuspainikkeilla</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Käytä äänenvoimakkuuspainikkeita vaihtaaksesi näytettävän kortin</string>
|
||||
<string name="settings_automatic_column_count">Automaattinen</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_category_title_cards_overview">Korttinäkymä</string>
|
||||
<string name="settings_column_count_portrait">Saraketta pystytilassa</string>
|
||||
<string name="settings_column_count_landscape">Saraketta vaakatilassa</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -300,4 +300,15 @@
|
||||
<string name="useBackImage">Utiliser l\'image arrière</string>
|
||||
<string name="settings_use_volume_keys_navigation">Changer de cartes avec les boutons de volume</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Utilisez les boutons de volume pour changer la carte affichée</string>
|
||||
<string name="settings_category_title_cards_overview">Aperçu des cartes</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_portrait">Colonnes en mode portrait</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_landscape">Colonnes en mode paysage</string>
|
||||
<string name="settings_automatic_column_count">Automatique</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
302
app/src/main/res/values-gl/strings.xml
Normal file
302
app/src/main/res/values-gl/strings.xml
Normal file
@@ -0,0 +1,302 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="action_add">Engadir</string>
|
||||
<string name="noGiftCards">Preme no botón + para engadir unha tarxeta ou desde o menú ⋮.</string>
|
||||
<string name="noGiftCardsGroup">Crear tarxetas e despois engádeas aquí ao grupo.</string>
|
||||
<string name="noMatchingGiftCards">Sen resultados. Intenta cambiar a busca.</string>
|
||||
<string name="storeName">Nome</string>
|
||||
<string name="barcodeType">Tipo de código de barras</string>
|
||||
<string name="noBarcode">Sen código de barras</string>
|
||||
<string name="star">Engadir a favoritas</string>
|
||||
<string name="save">Gardar</string>
|
||||
<string name="edit">Editar</string>
|
||||
<string name="cancel">Desbotar</string>
|
||||
<string name="delete">Eliminar</string>
|
||||
<string name="confirm">Confirmar</string>
|
||||
<plurals name="deleteCardsTitle">
|
||||
<item quantity="one">Eliminar <xliff:g>%d</xliff:g> tarxeta</item>
|
||||
<item quantity="other">Eliminar <xliff:g>%d</xliff:g> tarxetas</item>
|
||||
</plurals>
|
||||
<string name="deleteConfirmation">Eliminar definitivamente esta tarxeta?</string>
|
||||
<string name="ok">OK</string>
|
||||
<string name="share">Compartir</string>
|
||||
<string name="sendLabel">Enviar…</string>
|
||||
<string name="editCardTitle">Editar Tarxeta</string>
|
||||
<string name="addCardTitle">Engadir Tarxeta</string>
|
||||
<string name="scanCardBarcode">Escanear Código de Barras</string>
|
||||
<string name="cardShortcut">Atallo á Tarxeta</string>
|
||||
<string name="noCardsMessage">Primeiro engade a tarxeta</string>
|
||||
<string name="barcodeImageDescriptionWithType">Imaxe do código de barras de <xliff:g>%s</xliff:g></string>
|
||||
<string name="failedParsingImportUriError">Non se puido procesar o URI de importación</string>
|
||||
<string name="importExport">Importar/Exportar</string>
|
||||
<string name="exportName">Exportar</string>
|
||||
<string name="importExportHelp">Facendo copia de apoio dos datos podes movelos a outro dispositivo.</string>
|
||||
<string name="importSuccessfulTitle">Importados</string>
|
||||
<string name="importFailedTitle">Fallou a importación</string>
|
||||
<string name="exportSuccessfulTitle">Exportado</string>
|
||||
<string name="exportFailedTitle">Fallou a exportación</string>
|
||||
<string name="exportFailed">Non se puido exportar</string>
|
||||
<string name="importFailed">Non se puido importar</string>
|
||||
<string name="importing">Importando…</string>
|
||||
<string name="exporting">Exportando…</string>
|
||||
<string name="storageReadPermissionRequired">O preciso o permiso de lectura para realizar esta acción…</string>
|
||||
<string name="cameraPermissionRequired">O preciso o acceso á cámara para realizar esta acción…</string>
|
||||
<string name="permissionReadCardsLabel">Ler Tarxetas Catima</string>
|
||||
<string name="permissionReadCardsDescription">ler as tarxetas Catima e os seus detalles, incluíndo notas e imaxes</string>
|
||||
<string name="cameraPermissionDeniedTitle">Non puido acceder á cámara</string>
|
||||
<string name="noCameraPermissionDirectToSystemSetting">Catima precisa acceso á cámara para escanear códigos de barras. Toca aquí para cambiar os axustes do permiso.</string>
|
||||
<string name="exportOptionExplanation">Os datos vanse escribir na localización que elixas.</string>
|
||||
<string name="importOptionFilesystemTitle">Importar desde o sistema de ficheiros</string>
|
||||
<string name="importOptionApplicationExplanation">Usa outra app ou o xestor de ficheiros favorito para abrir un ficheiro.</string>
|
||||
<string name="importOptionApplicationButton">Usar outra app</string>
|
||||
<string name="about">Sobre</string>
|
||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os e colaboradoras</string>
|
||||
<string name="app_copyright_short">Copyright © Sylvia van Os e colaboradoras</string>
|
||||
<string name="app_copyright_old">Baseada en Loyalty Card Keychain\ncopyright © 2016–2020 Branden Archer</string>
|
||||
<string name="app_license">Software Libre con Copyleft, licenza GPLv3+</string>
|
||||
<string name="about_title_fmt">Sobre <xliff:g id="app_name">%s</xliff:g></string>
|
||||
<string name="debug_version_fmt">Versión: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_libraries">Bibliotecas libres alleas: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||
<string name="app_resources">Recursos alleos libres: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||
<string name="selectBarcodeTitle">Elixir Código de barras</string>
|
||||
<string name="settings">Axustes</string>
|
||||
<string name="settings_theme">Decorado</string>
|
||||
<string name="settings_follow_sensor_orientation">Rotar sempre (ignora o axuste do sistema)</string>
|
||||
<string name="settings_portrait_orientation">Retrato</string>
|
||||
<string name="settings_landscape_orientation">Paisaxe</string>
|
||||
<string name="settings_lock_on_opening_orientation">Fixar a orientación ao abrir a tarxeta</string>
|
||||
<string name="settings_display_barcode_max_brightness">Brillo da pantalla</string>
|
||||
<string name="settings_keep_screen_on_summary">Evita que se apague a pantalla cando se ve unha tarxeta</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Evitar bloqueo da pantalla</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Desactiva o bloqueo da pantalla cando se ve unha tarxeta</string>
|
||||
<string name="settings_allow_content_provider_read_title">Permitir a outras apps acceder aos meus datos</string>
|
||||
<string name="settings_allow_content_provider_read_summary">As app terán que solicitar igualmente o permiso para acceder aos datos</string>
|
||||
<string name="settings_use_volume_keys_navigation">Cambiar de tarxeta cos botóns de volume</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Usar os botóns de volume para cambiar a tarxeta que se mostra</string>
|
||||
<string name="intent_import_card_from_url_share_text">Quero compartir unha tarxeta contigo</string>
|
||||
<string name="importSuccessful">Datos importados</string>
|
||||
<string name="exportSuccessful">Datos exportados</string>
|
||||
<string name="enter_group_name">Escribe o nome do grupo</string>
|
||||
<string name="groups">Grupos</string>
|
||||
<string name="group_edit">Editar Grupo</string>
|
||||
<string name="noGroups">Preme no botón + para engadir grupos por categorías.</string>
|
||||
<string name="noGroupCards">O grupo está baleiro</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> tarxeta</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> tarxetas</item>
|
||||
</plurals>
|
||||
<string name="group_name_already_in_use">O nome xa se está a usar</string>
|
||||
<string name="group_name_is_empty">O nome do grupo non pode estar baleiro</string>
|
||||
<string name="moveUp">Mover arriba</string>
|
||||
<string name="moveDown">Mover abaixo</string>
|
||||
<string name="leaveWithoutSaveTitle">Saír</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Saír antes de gardar?</string>
|
||||
<string name="addManually">Escribir manualmente o código</string>
|
||||
<string name="addFromImage">Elixe unha imaxe desde a galería</string>
|
||||
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
||||
<string name="editGroup">Editando o Grupo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Caducidade: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentenceExpired">Caducou: <xliff:g>%s</xliff:g></string>
|
||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> punto</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> puntos</item>
|
||||
</plurals>
|
||||
<string name="card">Tarxeta</string>
|
||||
<string name="editBarcode">Editar código</string>
|
||||
<string name="expiryDate">Data de caducidade</string>
|
||||
<string name="never">Nunca</string>
|
||||
<string name="chooseExpiryDate">Elixir data de caducidade</string>
|
||||
<string name="moveBarcodeToTopOfScreen">Mover o código de barra á parte superior da pantalla</string>
|
||||
<string name="noBarcodeFound">Non se atopou un código de barras</string>
|
||||
<string name="errorReadingImage">Non se puido ler a imaxe</string>
|
||||
<string name="balance">Saldo</string>
|
||||
<string name="currency">Divisa</string>
|
||||
<string name="points">Puntos</string>
|
||||
<string name="balanceParsingFailed">Saldo non válido</string>
|
||||
<string name="chooseImportType">Importar datos desde</string>
|
||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||
<string name="privacy_policy">Política de Privacidade</string>
|
||||
<string name="accept">Aceptar</string>
|
||||
<string name="importCatima">Importar desde Catima</string>
|
||||
<string name="importCatimaMessage">Selecciona o ficheiro de exportación <i>catima.zip</i> para importalo.\nCréao no menú Importar/Exportar noutra app Catima premendo en Exportar.</string>
|
||||
<string name="importFidme">Importar desde FidMe</string>
|
||||
<string name="importFidmeMessage">Elixe o ficheiro exportado <i>fidme-export-request-xxxxxx.zip</i> desde FidMe, e despois elixe manualmente o tipo de código de barras.\nCréao no teu perfil FidMe en Protección de Datos e despois premendo en Extraer os meus datos.</string>
|
||||
<string name="importLoyaltyCardKeychain">Importar desde Loyalty Card Keychain</string>
|
||||
<string name="importLoyaltyCardKeychainMessage">Elixe o ficheiro de exportación <i>LoyaltyCardKeychain.csv</i> desde Loyalty Card Keychain \nCréao no menú Importar/Exportar en Loyalty Card Keychain premendo en Exportar.</string>
|
||||
<string name="importStocard">Importar desde Stocard</string>
|
||||
<string name="importStocardMessage">Elixe o ficheiro <i>***.zip</i> desde Stocard. \nPodes obtelo escribindo un correo a support@stocardapp.com e pedindo a exportación dos datos.</string>
|
||||
<string name="importVoucherVault">Importar desde Voucher Vault</string>
|
||||
<string name="importVoucherVaultMessage">Selecciona o ficheiro de exportación <i>vouchervault.json</i> desde Voucher Vault. \nCréao premendo en Exportar en Voucher Vault.</string>
|
||||
<string name="barcodeId">Valor do código de barras</string>
|
||||
<string name="sameAsCardId">Igual que o ID</string>
|
||||
<string name="setBarcodeId">Establecer valor do código de barras</string>
|
||||
<string name="unsupportedBarcodeType">Este tipo de código de barras aínda non se pode mostrar. Intentaremos engadir a compatibilidade no futuro.</string>
|
||||
<string name="wrongValueForBarcodeType">O valor non é válido para o tipo de código de barras seleccionado</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Quero compartir unhas tarxetas contigo</string>
|
||||
<string name="frontImageDescription">Imaxe frontal</string>
|
||||
<string name="backImageDescription">Imaxe posterior</string>
|
||||
<string name="photos">Fotos</string>
|
||||
<string name="setFrontImage">Establecer imaxe frontal</string>
|
||||
<string name="setBackImage">Establecer imaxe posterior</string>
|
||||
<string name="removeImage">Retirar a imaxe</string>
|
||||
<string name="takePhoto">Facer unha foto</string>
|
||||
<string name="updateBarcodeQuestionTitle">Actualizar o valor do código?</string>
|
||||
<string name="updateBarcodeQuestionText">Cambiaches o ID. Queres cambiar tamén o código de barras para que use o mesmo valor?</string>
|
||||
<string name="yes">Si</string>
|
||||
<string name="no">Non</string>
|
||||
<string name="failedGeneratingShareURL">Non se puido crear un URL para compartir. Informa sobre o fallo.</string>
|
||||
<string name="turn_flashlight_on">Acender o flash</string>
|
||||
<string name="turn_flashlight_off">Apagar o flash</string>
|
||||
<string name="settings_oled_dark">Fondo en negro puro para o decorado escuro</string>
|
||||
<string name="settings_oled_dark_summary">Diminúe o uso da batería nas pantallas OLED</string>
|
||||
<string name="settings_system_locale">Sistema</string>
|
||||
<string name="selectColor">Elixir cor</string>
|
||||
<string name="settings_theme_color">Cor do decorado</string>
|
||||
<string name="settings_catima_theme">Catima</string>
|
||||
<string name="settings_pink_theme">Rosa</string>
|
||||
<string name="settings_magenta_theme">Maxenta</string>
|
||||
<string name="settings_violet_theme">Violeta</string>
|
||||
<string name="settings_sky_blue_theme">Azul celeste</string>
|
||||
<string name="settings_green_theme">Verde</string>
|
||||
<string name="settings_brown_theme">Marrón</string>
|
||||
<string name="app_contributors">Creada grazas a: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="sort">Orde</string>
|
||||
<string name="showMoreInfo">Ver info</string>
|
||||
<string name="updateBalance">Actualizar saldo</string>
|
||||
<string name="failedToRetrieveImageFile">Fallou a obtención do ficheiro de imaxe</string>
|
||||
<string name="barcodeLongPressMessage">Só imaxes que se abren na app de galería</string>
|
||||
<string name="sort_by_name">Nome</string>
|
||||
<string name="sort_by_most_recently_used">Usadas recentemente</string>
|
||||
<string name="sort_by_expiry">Caducidade</string>
|
||||
<string name="reverse">…orde inversa</string>
|
||||
<string name="sort_by">Orde por</string>
|
||||
<string name="version_history">Historial das versións</string>
|
||||
<string name="credits">Recoñecementos</string>
|
||||
<string name="help_translate_this_app">Axuda a traducir a app</string>
|
||||
<string name="license">Licenza</string>
|
||||
<string name="source_repository">Repositorio do código</string>
|
||||
<string name="on_github">en GitHub</string>
|
||||
<string name="and_data_usage">e uso de datos</string>
|
||||
<string name="rate_this_app">Valora esta app</string>
|
||||
<string name="on_google_play">en Google Play</string>
|
||||
<string name="report_error">Informar de fallo</string>
|
||||
<string name="translate_platform">en Weblate</string>
|
||||
<string name="shortcutSelectCard">Elixe unha tarxeta</string>
|
||||
<string name="options">Opcións</string>
|
||||
<string name="starred">Con estrela</string>
|
||||
<string name="include_if_asking_support">Se queres pedir axuda, inclúe esta información:</string>
|
||||
<string name="duplicateCard">Duplicar</string>
|
||||
<string name="archive">Arquivar</string>
|
||||
<string name="unarchive">Sacar do arquivo</string>
|
||||
<string name="archived">Arquivouse a tarxeta</string>
|
||||
<string name="unarchived">Sacouse do arquivo</string>
|
||||
<plurals name="groupCardCountWithArchived">
|
||||
<item quantity="one"><xliff:g>%1$d</xliff:g> tarxeta (<xliff:g id="archivedCount">%2$d</xliff:g> arquivada)</item>
|
||||
<item quantity="other"><xliff:g>%1$d</xliff:g> tarxetas (<xliff:g id="archivedCount">%2$d</xliff:g> arquivadas)</item>
|
||||
</plurals>
|
||||
<string name="previousCard">Anterior</string>
|
||||
<string name="nextCard">Seguinte</string>
|
||||
<string name="failedToOpenUrl">Primeiro instala un navegador web</string>
|
||||
<string name="welcome">Ben vida a Catima</string>
|
||||
<string name="updateBalanceTitle">Canto gastaches ou recibiches?</string>
|
||||
<string name="updateBalanceHint">Escribe a cantidade</string>
|
||||
<string name="currentBalanceSentence">Saldo actual: <xliff:g>%s</xliff:g></string>
|
||||
<string name="newBalanceSentence">Novo saldo: <xliff:g>%s</xliff:g></string>
|
||||
<string name="anyDate">Calquera data</string>
|
||||
<string name="chooseValidFromDate">Elixe data de inicio válida</string>
|
||||
<string name="validFromSentence">Válida desde: <xliff:g>%s</xliff:g></string>
|
||||
<string name="height">Alto:</string>
|
||||
<string name="switchToFrontImage">Cambiar á imaxe frontal</string>
|
||||
<string name="switchToBackImage">Cambiar á imaxe posterior</string>
|
||||
<string name="openFrontImageInGalleryApp">Abrir imaxe frontal na app de galería</string>
|
||||
<string name="openBackImageInGalleryApp">Abrir imaxe posterior na app de galería</string>
|
||||
<string name="setBarcodeHeight">Establecer altura do código de barras</string>
|
||||
<string name="icon_header_click_text">Pulsación longa para editar a miniatura</string>
|
||||
<string name="show_name_below_image_thumbnail">Mostrar nome debaixo da miniatura</string>
|
||||
<string name="show_note">Ver nota</string>
|
||||
<string name="show_balance">Ver saldo</string>
|
||||
<string name="settings_category_title_cards">Vista de tarxeta</string>
|
||||
<string name="settings_category_title_cards_overview">Vista xeral de tarxetas</string>
|
||||
<string name="settings_column_count_portrait">Columnas no modo retrato</string>
|
||||
<string name="settings_automatic_column_count">Automático</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_category_title_general">Xeral</string>
|
||||
<string name="settings_category_title_privacy">Privacidade</string>
|
||||
<string name="action_display_options">Opcións ao mostrar</string>
|
||||
<string name="show_archived_cards">Mostrar tarxetas arquivadas</string>
|
||||
<string name="view_online">Ver en liña</string>
|
||||
<string name="action_more_options">Máis opcións</string>
|
||||
<string name="addWithoutBarcode">Engadir unha tarxeta sen código de barras</string>
|
||||
<string name="enter_card_id">Escribe o número ID ou texto na túa tarxeta</string>
|
||||
<string name="card_id_must_not_be_empty">O ID da tarxeta non pode estar baleiro</string>
|
||||
<string name="add_a_card_in_a_different_way">Engadir unha tarxeta doutro xeito</string>
|
||||
<string name="field_must_not_be_empty">O campo non pode quedar baleiro</string>
|
||||
<string name="manually_enter_barcode_instructions">Escribe o número ID ou texto na túa tarxeta e preme no código de barras que se pareza ao da túa tarxeta.</string>
|
||||
<string name="add_manually_warning_title">Recomendamos escanear</string>
|
||||
<string name="add_manually_warning_message">Nalgunhas tendas o código de barras é diferente ao número escrito na tarxeta. Debido a isto escribir o código de barras manualmente non sempre funciona. Recomendamos que escanees o código de barras coa cámara. Queres continuar igualmente?</string>
|
||||
<string name="continue_">Continuar</string>
|
||||
<string name="spend">Gastar</string>
|
||||
<string name="receive">Recibir</string>
|
||||
<string name="amountParsingFailed">Cantidade non válida</string>
|
||||
<string name="failedLaunchingFileManager">Non se atopa un xestor de ficheiros compatible</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Cal destes códigos de barras atopados queres usar?</string>
|
||||
<string name="pageWithNumber">Páxina <xliff:g>%d</xliff:g></string>
|
||||
<string name="noCameraFoundGuideText">Parece que o teu dispositivo non ten cámara. Se a ten, intenta reiniciar o dispositivo. Se non, usa o botón inferior de Máis Opcións para engadir o código de barras doutro xeito.</string>
|
||||
<string name="importCancelled">Cancelouse a importación</string>
|
||||
<string name="exportCancelled">Cancelouse a exportación</string>
|
||||
<string name="useFrontImage">Usar imaxe frontal</string>
|
||||
<string name="useBackImage">Usar imaxe posterior</string>
|
||||
<plurals name="selectedCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> seleccionado</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> seleccionados</item>
|
||||
</plurals>
|
||||
<string name="action_search">Buscar</string>
|
||||
<string name="note">Nota</string>
|
||||
<string name="cardId">ID da tarxeta</string>
|
||||
<string name="unstar">Retirar das favoritas</string>
|
||||
<string name="deleteTitle">Eliminar tarxeta</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Eliminar definitivamente <xliff:g>%d</xliff:g> tarxeta?</item>
|
||||
<item quantity="other">Eliminar definitivamente as <xliff:g>%d</xliff:g> tarxetas?</item>
|
||||
</plurals>
|
||||
<string name="noCardExistsError">Non atopamos esa tarxeta</string>
|
||||
<string name="settings_light_theme">Claro</string>
|
||||
<string name="importOptionFilesystemButton">Desde sistema de ficheiros</string>
|
||||
<string name="importOptionFilesystemExplanation">Elixe un ficheiro concreto no sistema de ficheiros.</string>
|
||||
<string name="importOptionApplicationTitle">Usar outra app</string>
|
||||
<string name="thumbnailDescription">Miniatura</string>
|
||||
<string name="starImage">Estrela de favorita</string>
|
||||
<string name="settings_system_theme">Sistema</string>
|
||||
<string name="settings_follow_system_orientation">Seguir ao sistema</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Preciso para que algúns escáneres funcionen</string>
|
||||
<string name="settings_keep_screen_on">Manter pantalla acendida</string>
|
||||
<string name="settings_dark_theme">Escuro</string>
|
||||
<string name="settings_card_orientation">Orientación da pantalla</string>
|
||||
<string name="group_updated">Grupo actualizado</string>
|
||||
<string name="all">Todo</string>
|
||||
<string name="deleteConfirmationGroup">Eliminar grupo?</string>
|
||||
<string name="failedOpeningFileManager">Primeiro instala un xestor de ficheiros.</string>
|
||||
<string name="settings_locale">Idioma</string>
|
||||
<string name="settings_blue_theme">Azul</string>
|
||||
<string name="passwordRequired">Escribe o contrasinal</string>
|
||||
<string name="exportPassword">Establece un contrasinal para protexer a exportación (optativo)</string>
|
||||
<string name="exportPasswordHint">Escribe o contrasinal</string>
|
||||
<string name="setIcon">Establecer miniatura</string>
|
||||
<string name="failedLaunchingPhotoPicker">Non se atopa unha app de galería compatible</string>
|
||||
<string name="importCards">Importar tarxetas</string>
|
||||
<string name="validFromDate">Válida desde</string>
|
||||
<string name="switchToBarcode">Cambiar ao código de barras</string>
|
||||
<string name="donate">Doar</string>
|
||||
<string name="show_validity">Ver validez</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_landscape">Columnas no modo paisaxe</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="addFromPdfFile">Elixe un ficheiro PDF</string>
|
||||
<string name="errorReadingFile">Non se puido ler o ficheiro</string>
|
||||
</resources>
|
||||
@@ -294,4 +294,8 @@
|
||||
<string name="settings_use_volume_keys_navigation_summary">A hangerőgombok használata a megjelenített kártya átváltásához</string>
|
||||
<string name="useFrontImage">Elülső kép használata</string>
|
||||
<string name="useBackImage">Hátsó kép használata</string>
|
||||
<string name="settings_category_title_cards_overview">Kártyák áttekintése</string>
|
||||
<string name="settings_column_count_landscape">Oszlopok fekvő módban</string>
|
||||
<string name="settings_automatic_column_count">Automatikus</string>
|
||||
<string name="settings_column_count_portrait">Oszlopok álló módban</string>
|
||||
</resources>
|
||||
@@ -300,4 +300,15 @@
|
||||
<string name="useFrontImage">Usa l\'immagine anteriore</string>
|
||||
<string name="settings_use_volume_keys_navigation">Cambia carte con i pulsanti di volume</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Utilizza i pulsanti di volume per modificare la carta visualizzata</string>
|
||||
<string name="settings_column_count_portrait">Colonne in modalità verticale</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_landscape">Colonne in modalità orizzontale</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_automatic_column_count">Automatico</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_category_title_cards_overview">Panoramica delle carte</string>
|
||||
</resources>
|
||||
@@ -260,7 +260,7 @@
|
||||
<string name="settings_display_barcode_max_brightness_summary">Benodigd voor de werking van sommige scanners</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Schakelt schermvergrendeling uit tijdens het bekijken van een kaart</string>
|
||||
<string name="settings_oled_dark_summary">Verlaagt het accuverbruik op oledschermen</string>
|
||||
<string name="settings_category_title_cards">Kaartenoverzicht</string>
|
||||
<string name="settings_category_title_cards">Kaart</string>
|
||||
<string name="settings_category_title_general">Algemeen</string>
|
||||
<string name="app_copyright_short">Auteursrecht © Sylvia van Os en bijdragers</string>
|
||||
<string name="action_display_options">Weergave-instellingen</string>
|
||||
@@ -294,4 +294,15 @@
|
||||
<string name="useBackImage">Gebruik achterzijde van kaart</string>
|
||||
<string name="settings_use_volume_keys_navigation">Verwissel kaart met de volume knoppen</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Gebruik de volume knoppen om te wisselen van getoonde kaart</string>
|
||||
<string name="settings_category_title_cards_overview">Kaartenoverzicht</string>
|
||||
<string name="settings_column_count_landscape">Kolommen in landschapmodus</string>
|
||||
<string name="settings_automatic_column_count">Automatisch</string>
|
||||
<string name="settings_column_count_portrait">Kolommen in portretmodus</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -300,4 +300,15 @@
|
||||
<string name="useFrontImage">Usar imagem frontal</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Use os botões de volume para alterar qual cartão é exibido</string>
|
||||
<string name="settings_use_volume_keys_navigation">Trocar de cartão usando botões de volume</string>
|
||||
<string name="settings_category_title_cards_overview">Resumo dos cartões</string>
|
||||
<string name="settings_column_count_portrait">Colunas em modo retrato</string>
|
||||
<string name="settings_automatic_column_count">Automático</string>
|
||||
<string name="settings_column_count_landscape">Colunas em modo paisagem</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -300,4 +300,15 @@
|
||||
<string name="useBackImage">Utilizar imagem do verso</string>
|
||||
<string name="settings_use_volume_keys_navigation">Mudar de cartão usando os botões de volume</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Utilize os botões de volume para alterar o cartão que é apresentado</string>
|
||||
<string name="settings_category_title_cards_overview">Resumo dos cartões</string>
|
||||
<string name="settings_column_count_portrait">Colunas no modo vertical</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_landscape">Colunas no modo horizontal</string>
|
||||
<string name="settings_automatic_column_count">Automático</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
</resources>
|
||||
@@ -306,4 +306,15 @@
|
||||
<string name="useBackImage">Использовать заднюю сторону</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Использовать кнопки регулировки громкости для смены отображаемой карты</string>
|
||||
<string name="settings_use_volume_keys_navigation">Переключать карты кнопками громкости</string>
|
||||
<string name="settings_column_count_portrait">Столбцы в портретном режиме</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_category_title_cards_overview">Список карт</string>
|
||||
<string name="settings_column_count_landscape">Столбцы в альбомном режиме</string>
|
||||
<string name="settings_automatic_column_count">Автовыбор</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
</resources>
|
||||
@@ -276,4 +276,31 @@
|
||||
<string name="field_must_not_be_empty">Obligatoriskt fält</string>
|
||||
<string name="app_name">Catima</string>
|
||||
<string name="settings_follow_sensor_orientation">Rotera automatiskt (ignorerar systeminställningar)</string>
|
||||
<string name="continue_">Fortsätt</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_automatic_column_count">Automatiskt</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="add_manually_warning_title">Skanning rekommenderas</string>
|
||||
<string name="noCameraFoundGuideText">Din enhet verkar inte ha en kamera. Om den har det, prova att starta om enheten. Annars, använd knappen Fler alternativ nedan för att lägga till en streckkod på ett annat sätt.</string>
|
||||
<string name="importCancelled">Importeringen avbröts</string>
|
||||
<string name="exportCancelled">Exporteringen avbröts</string>
|
||||
<string name="addFromPdfFile">Välj en PDF-fil</string>
|
||||
<string name="errorReadingFile">Kunde inte läsa filen</string>
|
||||
<string name="failedLaunchingFileManager">Kunde inte hitta en filhanterare som stöds</string>
|
||||
<string name="spend">Spendera</string>
|
||||
<string name="receive">Ta emot</string>
|
||||
<string name="amountParsingFailed">Ogiltig summa</string>
|
||||
<string name="settings_use_volume_keys_navigation">Byt kort genom att använda volymknapparna</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Använd volymknapparna för att byta vilket kort som visas</string>
|
||||
<string name="settings_column_count_portrait">Kolumner i porträttläge</string>
|
||||
<string name="settings_column_count_landscape">Kolumner i landskapsläge</string>
|
||||
<string name="pageWithNumber">Sida <xliff:g>%d</xliff:g></string>
|
||||
<string name="useFrontImage">Använd bilden på framsidan</string>
|
||||
<string name="useBackImage">Använd bilden på baksidan</string>
|
||||
<string name="multipleBarcodesFoundPleaseChooseOne">Vilka av de hittade streckkoderna vill du använda?</string>
|
||||
</resources>
|
||||
@@ -294,4 +294,15 @@
|
||||
<string name="useBackImage">Arka resmi kullan</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Hangi kartın görüntüleneceğini değiştirmek için ses düğmelerini kullanın</string>
|
||||
<string name="settings_use_volume_keys_navigation">Ses düğmelerini kullanarak kartları değiştir</string>
|
||||
<string name="settings_category_title_cards_overview">Kartları gözden geçir</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_landscape">Yatay alan modundaki sutunlar</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_automatic_column_count">Otomatik</string>
|
||||
<string name="settings_column_count_portrait">Portre modundaki sutunlar</string>
|
||||
</resources>
|
||||
@@ -305,4 +305,15 @@
|
||||
<string name="useBackImage">Використати зворотне зображення</string>
|
||||
<string name="settings_use_volume_keys_navigation">Перемикайте карти за допомогою кнопок гучності</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Використовуйте кнопки гучності, щоб змінити картку, яка відображається</string>
|
||||
<string name="settings_automatic_column_count">Автоматичний</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_category_title_cards_overview">Огляд карток</string>
|
||||
<string name="settings_column_count_portrait">Стовпці в портретному режимі</string>
|
||||
<string name="settings_column_count_landscape">Стовпці в ландшафтному режимі</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
</resources>
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<integer name="main_view_card_columns">3</integer>
|
||||
<integer name="main_view_card_columns">4</integer>
|
||||
</resources>
|
||||
@@ -288,4 +288,15 @@
|
||||
<string name="useBackImage">使用背面图</string>
|
||||
<string name="settings_use_volume_keys_navigation">用音量按钮切换卡片</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">是用音量按钮改变展示的卡片</string>
|
||||
<string name="settings_category_title_cards_overview">卡片概览</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_automatic_column_count">自动</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_portrait">竖屏模式下的列数</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_landscape">横屏模式下的列数</string>
|
||||
</resources>
|
||||
@@ -36,6 +36,40 @@
|
||||
<item>@string/settings_brown_theme</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="column_count_portrait_values">
|
||||
<item>@string/settings_key_automatic_column_count</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="column_count_portrait_value_strings">
|
||||
<item>@string/settings_automatic_column_count</item>
|
||||
<item>@string/settings_column_count_1</item>
|
||||
<item>@string/settings_column_count_2</item>
|
||||
<item>@string/settings_column_count_3</item>
|
||||
<item>@string/settings_column_count_4</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="column_count_landscape_values">
|
||||
<item>@string/settings_key_automatic_column_count</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
<item>7</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="column_count_landscape_value_strings">
|
||||
<item>@string/settings_automatic_column_count</item>
|
||||
<item>@string/settings_column_count_3</item>
|
||||
<item>@string/settings_column_count_4</item>
|
||||
<item>@string/settings_column_count_5</item>
|
||||
<item>@string/settings_column_count_6</item>
|
||||
<item>@string/settings_column_count_7</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="color_values_no_dynamic">
|
||||
<item>@string/settings_key_system_theme</item>
|
||||
<item>@string/settings_key_pink_theme</item>
|
||||
@@ -86,6 +120,7 @@
|
||||
<item>fi</item>
|
||||
<!-- <item>fil</item> -->
|
||||
<item>fr</item>
|
||||
<item>gl</item>
|
||||
<item>he-rIL</item>
|
||||
<item>hi</item>
|
||||
<item>hr</item>
|
||||
|
||||
@@ -318,6 +318,20 @@
|
||||
<string name="sharedpreference_card_details_show_validity" translatable="false">sharedpreference_card_details_show_validity</string>
|
||||
<string name="sharedpreference_card_details_show_archived_cards" translatable="false">sharedpreference_card_details_show_archived_cards</string>
|
||||
<string name="settings_category_title_cards">Card view</string>
|
||||
<string name="settings_category_title_cards_overview">Cards overview</string>
|
||||
<string name="settings_column_count_portrait">Columns in portrait mode</string>
|
||||
<string name="settings_column_count_landscape">Columns in landscape mode</string>
|
||||
<string name="settings_automatic_column_count">Automatic</string>
|
||||
<string name="settings_key_automatic_column_count" translatable="false">default</string>
|
||||
<string name="settings_column_count_1">1</string>
|
||||
<string name="settings_column_count_2">2</string>
|
||||
<string name="settings_column_count_3">3</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_6">6</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="setting_key_column_count_portrait" translatable="false">pref_column_count_portrait</string>
|
||||
<string name="setting_key_column_count_landscape" translatable="false">pref_column_count_landscape</string>
|
||||
<string name="settings_category_title_general">General</string>
|
||||
<string name="settings_category_title_privacy">Privacy</string>
|
||||
<string name="action_display_options">Display options</string>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<locale android:name="et" />
|
||||
<locale android:name="fi" />
|
||||
<locale android:name="fr" />
|
||||
<locale android:name="gl" />
|
||||
<locale android:name="he-IL" />
|
||||
<locale android:name="hi" />
|
||||
<locale android:name="hr" />
|
||||
|
||||
@@ -46,6 +46,31 @@
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_category_title_cards_overview"
|
||||
app:iconSpaceReserved="false">
|
||||
|
||||
<ListPreference
|
||||
android:key="@string/setting_key_column_count_portrait"
|
||||
android:title="@string/settings_column_count_portrait"
|
||||
android:defaultValue="@string/settings_key_automatic_column_count"
|
||||
android:entries="@array/column_count_portrait_value_strings"
|
||||
android:entryValues="@array/column_count_portrait_values"
|
||||
app:iconSpaceReserved="false"
|
||||
app:singleLineTitle="false"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<ListPreference
|
||||
android:key="@string/setting_key_column_count_landscape"
|
||||
android:title="@string/settings_column_count_landscape"
|
||||
android:defaultValue="@string/settings_key_automatic_column_count"
|
||||
android:entries="@array/column_count_landscape_value_strings"
|
||||
android:entryValues="@array/column_count_landscape_values"
|
||||
app:iconSpaceReserved="false"
|
||||
app:singleLineTitle="false"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_category_title_cards"
|
||||
app:iconSpaceReserved="false">
|
||||
@@ -112,4 +137,4 @@
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
</PreferenceScreen>
|
||||
|
||||
@@ -3,18 +3,22 @@ package protect.card_locker;
|
||||
import static android.os.Looper.getMainLooper;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.graphics.Color;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.widget.SearchView;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
@@ -210,9 +214,12 @@ public class MainActivityTest {
|
||||
|
||||
@Test
|
||||
public void testFiltering() {
|
||||
// FIXME: This test directly sets mFilter instead of using mSearchView, making it not test the search flow correctly
|
||||
// It may falsely succeed or fail, but we're leaving it here so we at least test something instead of nothing
|
||||
ActivityController activityController = Robolectric.buildActivity(MainActivity.class).create();
|
||||
|
||||
MainActivity mainActivity = (MainActivity) activityController.get();
|
||||
|
||||
activityController.start();
|
||||
activityController.resume();
|
||||
|
||||
@@ -244,6 +251,16 @@ public class MainActivityTest {
|
||||
activityController.pause();
|
||||
activityController.resume();
|
||||
|
||||
Configuration configuration = mainActivity.getResources().getConfiguration();
|
||||
configuration.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
||||
mainActivity.onConfigurationChanged(configuration);
|
||||
|
||||
configuration.orientation = Configuration.ORIENTATION_PORTRAIT;
|
||||
mainActivity.onConfigurationChanged(configuration);
|
||||
|
||||
configuration.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
||||
mainActivity.onConfigurationChanged(configuration);
|
||||
|
||||
assertEquals(View.GONE, helpSection.getVisibility());
|
||||
assertEquals(View.GONE, noMatchingCardsText.getVisibility());
|
||||
assertEquals(View.VISIBLE, list.getVisibility());
|
||||
@@ -337,6 +354,12 @@ public class MainActivityTest {
|
||||
|
||||
mainActivity.mFilter = "second";
|
||||
|
||||
configuration.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
||||
mainActivity.onConfigurationChanged(configuration);
|
||||
|
||||
configuration.orientation = Configuration.ORIENTATION_PORTRAIT;
|
||||
mainActivity.onConfigurationChanged(configuration);
|
||||
|
||||
activityController.pause();
|
||||
activityController.resume();
|
||||
|
||||
@@ -371,6 +394,10 @@ public class MainActivityTest {
|
||||
|
||||
mainActivity.mFilter = "company";
|
||||
|
||||
// Rotate to landscape (right)
|
||||
configuration.orientation = Configuration.ORIENTATION_LANDSCAPE;
|
||||
mainActivity.onConfigurationChanged(configuration);
|
||||
|
||||
activityController.pause();
|
||||
activityController.resume();
|
||||
|
||||
@@ -443,4 +470,43 @@ public class MainActivityTest {
|
||||
|
||||
database.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSearchQueryRestorationAfterNavigatingBack() {
|
||||
ActivityController activityController = Robolectric.buildActivity(MainActivity.class).create();
|
||||
|
||||
MainActivity mainActivity = (MainActivity) activityController.get();
|
||||
activityController.start();
|
||||
activityController.resume();
|
||||
|
||||
final Menu menu = shadowOf(Robolectric.setupActivity(MainActivity.class)).getOptionsMenu();
|
||||
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
|
||||
SearchView mSearchView = (SearchView) searchMenuItem.getActionView();
|
||||
|
||||
|
||||
SQLiteDatabase database = TestHelpers.getEmptyDb(mainActivity).getWritableDatabase();
|
||||
DBHelper.insertLoyaltyCard(database, "The First Store", "Initial note", null, null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0, null,0);
|
||||
DBHelper.insertLoyaltyCard(database, "The Second Store", "Secondary note", null, null, new BigDecimal("0"), null, "cardId", null, CatimaBarcode.fromBarcode(BarcodeFormat.UPC_A), Color.BLACK, 0, null,0);
|
||||
|
||||
String finalQuery = "store";
|
||||
assert mSearchView != null;
|
||||
mSearchView.setQuery(finalQuery, false);
|
||||
|
||||
activityController.pause();
|
||||
activityController.resume();
|
||||
|
||||
// Simulation of what happens when users comes back after picking up card
|
||||
// We simulate expanding and setting the Query that we want to restore (in code it is from finalQuery String)
|
||||
searchMenuItem.expandActionView();
|
||||
|
||||
mSearchView.setQuery(finalQuery, false);
|
||||
|
||||
activityController.pause();
|
||||
activityController.resume();
|
||||
|
||||
assertTrue(searchMenuItem.isActionViewExpanded());
|
||||
assertEquals("store", mSearchView.getQuery().toString());
|
||||
|
||||
database.close();
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
plugins {
|
||||
id("com.android.application") version "8.7.1" apply false
|
||||
id("com.android.application") version "8.7.2" apply false
|
||||
id("com.github.spotbugs") version "5.1.4" apply false
|
||||
}
|
||||
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
- Möglichkeit, mit den Lautstärketasten durch die Karten zu navigieren
|
||||
- Stocard Importfehler behoben
|
||||
- Korrigiert Stocard Import
|
||||
- Behebt die Meldung „Import abgebrochen“ nach erfolgreichem Import
|
||||
|
||||
1
fastlane/metadata/android/de-DE/changelogs/140.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/140.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Textumbruch im Dialog „Hinzufügen“ korrigiert
|
||||
4
fastlane/metadata/android/de-DE/changelogs/141.txt
Normal file
4
fastlane/metadata/android/de-DE/changelogs/141.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Voreingestellte Spaltenanzahl für breite Bildschirme auf 4 geändert
|
||||
- Spaltenanzahl für Hoch- und Querformat kann in den Einstellungen überschrieben werden
|
||||
- Suchfilter im Hauptbildschirm aktiv halten, wenn der Bildschirm gedreht oder eine Karte geöffnet wird
|
||||
- Begrenzung der maximalen Länge, der im Hauptbildschirm angezeigten Notiz
|
||||
@@ -1,2 +1,2 @@
|
||||
- Unterstützung für App-Verknüpfungen hinzufügen (Android 7.1+), wobei die zuletzt verwendeten Karten als Verknüpfungen erscheinen. (Pull #145 (https://github.com/brarcher/loyalty-card-locker/pull/145))
|
||||
- Unterstützung für App-Verknüpfungen hinzugefügt (Android 7.1+), wobei die zuletzt verwendeten Karten als Verknüpfungen erscheinen. (Pull #145 (https://github.com/brarcher/loyalty-card-locker/pull/145))
|
||||
- Hinzufügen eines Widgets, das wie eine angeheftete App-Verknüpfung funktioniert, um Geräte zu unterstützen, die unter Android 7.1 laufen (pull #142 (https://github.com/brarcher/loyalty-card-locker/pull/142))
|
||||
|
||||
4
fastlane/metadata/android/en-US/changelogs/141.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/141.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Change default column on wide screens to 4
|
||||
- Allow overriding column counts for portrait and landscape in settings
|
||||
- Keep main screen search filter when rotating screen or opening a card
|
||||
- Limit max length of note display on main screen
|
||||
@@ -1,3 +1,4 @@
|
||||
- Permettre aux noms de magasins longs dans l'aperçu d'être divisés sur plusieurs lignes
|
||||
- Possibilité d'utiliser l'image avant ou arrière dans le menu des vignettes
|
||||
- Corrections mineures pour l'importation et l'exportation
|
||||
- Corrections mineures dans l'interface utilisateur
|
||||
|
||||
1
fastlane/metadata/android/fr-FR/changelogs/138.txt
Normal file
1
fastlane/metadata/android/fr-FR/changelogs/138.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Correction du geste de retour sur l'écran principal qui rejette le clavier et la recherche sur Android 13+
|
||||
3
fastlane/metadata/android/fr-FR/changelogs/139.txt
Normal file
3
fastlane/metadata/android/fr-FR/changelogs/139.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Option pour naviguer sur les cartes en utilisant les boutons de volume
|
||||
- Correction de l'importation de Stocard
|
||||
- Correction du message « Import annulé » apparaissant après l'importation réussie
|
||||
2
fastlane/metadata/android/fr-FR/changelogs/141.txt
Normal file
2
fastlane/metadata/android/fr-FR/changelogs/141.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Modifier la colonne par défaut sur les écrans larges à 4
|
||||
- Permet de surcharger le nombre de colonnes pour le portrait et le paysage dans les paramètres
|
||||
2
fastlane/metadata/android/nl-NL/changelogs/141.txt
Normal file
2
fastlane/metadata/android/nl-NL/changelogs/141.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- toon standaard 4 kolommen op brede schermen
|
||||
- laat toe het aantal kolommen in portret- en landschapmodus te veranderen in de instellingen
|
||||
@@ -1,2 +1,3 @@
|
||||
- Возможность навигации по картам с помощью кнопок громкости
|
||||
- Исправлен импорт из Stocard
|
||||
- Исправлено ошибочное появление сообщения "Импорт отменён" после успешного импортирования
|
||||
|
||||
1
fastlane/metadata/android/ru-RU/changelogs/140.txt
Normal file
1
fastlane/metadata/android/ru-RU/changelogs/140.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Исправлена ошибка переноса текста в диалоговом окне добавления
|
||||
4
fastlane/metadata/android/ru-RU/changelogs/141.txt
Normal file
4
fastlane/metadata/android/ru-RU/changelogs/141.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Количество столбцов на широких экранах по умолчанию изменено на 4
|
||||
- Добавлена возможность переопределять количество столбцов для портретной и альбомной ориентации в настройках
|
||||
- Поисковый фильтр на главном экране сохраняется при повороте устройства или открытии просмотра карты
|
||||
- Ограничение максимальной длины отображения заметок на главном экране
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/107.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/107.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Importingsfixar för Stocard
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/121.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/121.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Uppdatering för använda bibliotek
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/126.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/126.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Olika RTL-lösningar
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/128.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/128.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Fix för sällsynt krasch
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/33.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/33.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Uppdatera och lägg till översättningar
|
||||
1
fastlane/metadata/android/sv-SE/changelogs/34.txt
Normal file
1
fastlane/metadata/android/sv-SE/changelogs/34.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Uppdatering för översättningar till Ryska
|
||||
@@ -1,2 +1,3 @@
|
||||
Можливість навігації картками за допомогою кнопок гучності —
|
||||
Можливість навігації картками за допомогою кнопок гучності
|
||||
Виправлено імпорт Stocard
|
||||
Виправлено повідомлення «Імпорт скасовано», яке з’являлося після успішного імпорту
|
||||
|
||||
1
fastlane/metadata/android/uk/changelogs/140.txt
Normal file
1
fastlane/metadata/android/uk/changelogs/140.txt
Normal file
@@ -0,0 +1 @@
|
||||
— Виправлено обтікання текстом у діалоговому вікні додавання
|
||||
4
fastlane/metadata/android/uk/changelogs/141.txt
Normal file
4
fastlane/metadata/android/uk/changelogs/141.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- Змінити стовпець за замовчуванням на широких екранах на 4
|
||||
— Дозволити заміну кількості стовпців для книжкової та альбомної орієнтації в налаштуваннях
|
||||
- Зберігайте фільтр пошуку на головному екрані під час обертання екрана або відкриття картки
|
||||
- Обмежити максимальну довжину відображення нотаток на головному екрані
|
||||
@@ -1,2 +1,3 @@
|
||||
- 使用音量按钮切换卡片的选项
|
||||
- 修复存储卡导入
|
||||
- 修复成功导入后出现“导入被取消”消息的问题
|
||||
|
||||
1
fastlane/metadata/android/zh-CN/changelogs/140.txt
Normal file
1
fastlane/metadata/android/zh-CN/changelogs/140.txt
Normal file
@@ -0,0 +1 @@
|
||||
- 修复“添加”对话框文本换行的问题
|
||||
4
fastlane/metadata/android/zh-CN/changelogs/141.txt
Normal file
4
fastlane/metadata/android/zh-CN/changelogs/141.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- 更改宽屏上的默认列数为4
|
||||
- 允许在设置中自行设置横屏和竖屏的列数
|
||||
- 旋转屏幕或打开卡片时保留主屏幕搜索筛选器
|
||||
- 限制主屏幕显示注释的最大长度
|
||||
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,7 +1,7 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionSha256Sum=31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
||||
distributionSha256Sum=57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
Reference in New Issue
Block a user