mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2026-02-28 05:06:23 -05:00
Compare commits
2 Commits
v2.15.2
...
fix/deprec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a434397551 | ||
|
|
ae1ccab059 |
7
.github/workflows/autoclose-needs-info.yml
vendored
7
.github/workflows/autoclose-needs-info.yml
vendored
@@ -17,8 +17,7 @@ jobs:
|
|||||||
days-before-close: 90
|
days-before-close: 90
|
||||||
close-issue-message: 'This issue is missing necessary information and cannot be worked on in its current state. It has therefore been closed to keep the issue tracker clean. If you have more information, feel free to reopen it.'
|
close-issue-message: 'This issue is missing necessary information and cannot be worked on in its current state. It has therefore been closed to keep the issue tracker clean. If you have more information, feel free to reopen it.'
|
||||||
close-pr-message: 'This PR is missing necessary information and cannot be merged in its current state. It has therefore been closed to keep the issue tracker clean. If you have more information, feel free to reopen it.'
|
close-pr-message: 'This PR is missing necessary information and cannot be merged in its current state. It has therefore been closed to keep the issue tracker clean. If you have more information, feel free to reopen it.'
|
||||||
only-labels: 'state: needs info'
|
only-labels: 'needs info'
|
||||||
stale-issue-label: 'state: needs info'
|
stale-issue-label: 'needs info'
|
||||||
stale-pr-label: 'state: needs info'
|
stale-pr-label: 'needs info'
|
||||||
remove-stale-when-updated: false
|
remove-stale-when-updated: false
|
||||||
enable-statistics: true
|
|
||||||
|
|||||||
39
CHANGELOG.md
39
CHANGELOG.md
@@ -1,45 +1,8 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## v2.15.2 - 103 (2022-02-11)
|
## Unreleased - 96
|
||||||
|
|
||||||
- Fix manual language selection not applying everywhere
|
|
||||||
- Fix crash in edit view on regionless locale
|
|
||||||
|
|
||||||
## v2.15.1 - 102 (2022-02-10)
|
|
||||||
|
|
||||||
- Various minor fixes
|
|
||||||
- Fix crash when using Norwegian translation
|
|
||||||
|
|
||||||
## v2.15.0 - 101 (2022-02-06)
|
|
||||||
|
|
||||||
- Fix cropper not using theme colour
|
|
||||||
- Fix minor theming issues
|
|
||||||
- Add pure black dark theme for OLED screens
|
|
||||||
|
|
||||||
## v2.14.1 - 100 (2022-01-15)
|
|
||||||
|
|
||||||
- Hide search, expand and sort icons until there is at least 1 card
|
|
||||||
- Various theming fixes
|
|
||||||
|
|
||||||
## v2.14.0 - 99 (2022-01-14)
|
|
||||||
|
|
||||||
- Material You redesign
|
|
||||||
|
|
||||||
## v2.13.1 - 98 (2022-01-09)
|
|
||||||
|
|
||||||
- Fix various TalkBack-related bugs
|
|
||||||
|
|
||||||
## v2.13.0 - 97 (2022-01-03)
|
|
||||||
|
|
||||||
- Fixed pressing the save button multiple times creating multiple entries
|
|
||||||
- Lower card header size when hiding details to fit even more cards
|
|
||||||
- Restructure edit screen
|
|
||||||
- Improve star icon contrast in main view
|
|
||||||
|
|
||||||
## v2.12.0 - 96 (2021-12-23)
|
|
||||||
|
|
||||||
- Add CODE 93 support
|
- Add CODE 93 support
|
||||||
- Various minor bugfixes and improvements
|
|
||||||
|
|
||||||
## v2.11.2 - 95 (2021-12-04)
|
## v2.11.2 - 95 (2021-12-04)
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
github: TheLastProject
|
|
||||||
custom:
|
|
||||||
- "https://paypal.me/sylviavanos"
|
|
||||||
@@ -18,8 +18,8 @@ android {
|
|||||||
applicationId "me.hackerchick.catima"
|
applicationId "me.hackerchick.catima"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 31
|
targetSdkVersion 31
|
||||||
versionCode 103
|
versionCode 95
|
||||||
versionName "2.15.2"
|
versionName "2.11.2"
|
||||||
|
|
||||||
vectorDrawables.useSupportLibrary true
|
vectorDrawables.useSupportLibrary true
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
@@ -80,17 +80,17 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// AndroidX
|
// AndroidX
|
||||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
implementation 'androidx.appcompat:appcompat:1.4.0'
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
|
||||||
implementation 'androidx.exifinterface:exifinterface:1.3.3'
|
implementation 'androidx.exifinterface:exifinterface:1.3.3'
|
||||||
implementation 'androidx.palette:palette:1.0.0'
|
implementation 'androidx.palette:palette:1.0.0'
|
||||||
implementation 'androidx.preference:preference:1.2.0'
|
implementation 'androidx.preference:preference:1.1.1'
|
||||||
implementation 'com.google.android.material:material:1.5.0'
|
implementation 'com.google.android.material:material:1.4.0'
|
||||||
implementation 'com.github.yalantis:ucrop:2.2.8'
|
implementation 'com.github.yalantis:ucrop:2.2.7'
|
||||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
||||||
|
|
||||||
// Splash Screen
|
// Splash Screen
|
||||||
implementation 'androidx.core:core-splashscreen:1.0.0-beta01'
|
implementation 'androidx.core:core-splashscreen:1.0.0-alpha02'
|
||||||
|
|
||||||
// Third-party
|
// Third-party
|
||||||
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'
|
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'
|
||||||
|
|||||||
@@ -116,7 +116,7 @@
|
|||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".UCropWrapper"
|
android:name="com.yalantis.ucrop.UCropActivity"
|
||||||
android:theme="@style/AppTheme.NoActionBar" />
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
|
|||||||
@@ -151,13 +151,13 @@ public class AboutActivity extends CatimaAppCompatActivity implements View.OnCli
|
|||||||
} else if (id == R.id.translate) {
|
} else if (id == R.id.translate) {
|
||||||
url = "https://hosted.weblate.org/engage/catima/";
|
url = "https://hosted.weblate.org/engage/catima/";
|
||||||
} else if (id == R.id.license) {
|
} else if (id == R.id.license) {
|
||||||
url = "https://github.com/CatimaLoyalty/Android/blob/master/LICENSE";
|
url = "https://github.com/TheLastProject/Catima/blob/master/LICENSE";
|
||||||
} else if (id == R.id.repo) {
|
} else if (id == R.id.repo) {
|
||||||
url = "https://github.com/CatimaLoyalty/Android/";
|
url = "https://github.com/TheLastProject/Catima/";
|
||||||
} else if (id == R.id.privacy) {
|
} else if (id == R.id.privacy) {
|
||||||
url = "https://catima.app/privacy-policy/";
|
url = "https://catima.app/privacy-policy/";
|
||||||
} else if (id == R.id.report_error) {
|
} else if (id == R.id.report_error) {
|
||||||
url = "https://github.com/CatimaLoyalty/Android/issues";
|
url = "https://github.com/TheLastProject/Catima/issues";
|
||||||
} else if (id == R.id.rate) {
|
} else if (id == R.id.rate) {
|
||||||
url = "https://play.google.com/store/apps/details?id=me.hackerchick.catima";
|
url = "https://play.google.com/store/apps/details?id=me.hackerchick.catima";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,15 +1,20 @@
|
|||||||
package protect.card_locker;
|
package protect.card_locker;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Color;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Build;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.util.TypedValue;
|
||||||
import android.view.View;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class CatimaAppCompatActivity extends AppCompatActivity {
|
public class CatimaAppCompatActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
SharedPreferences pref;
|
||||||
|
HashMap<String, Integer> supportedThemes;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void attachBaseContext(Context base) {
|
protected void attachBaseContext(Context base) {
|
||||||
// Apply chosen language
|
// Apply chosen language
|
||||||
@@ -17,28 +22,32 @@ public class CatimaAppCompatActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
public Resources.Theme getTheme() {
|
||||||
super.onCreate(savedInstanceState);
|
if (supportedThemes == null) {
|
||||||
// XXX splash screen activity has to do this after installing splash screen before view inflate
|
supportedThemes = new HashMap<>();
|
||||||
if (!this.getClass().getSimpleName().equals(MainActivity.class.getSimpleName())) {
|
supportedThemes.put(getString(R.string.settings_key_blue_theme), R.style.AppTheme_blue);
|
||||||
Utils.patchColors(this);
|
supportedThemes.put(getString(R.string.settings_key_brown_theme), R.style.AppTheme_brown);
|
||||||
|
supportedThemes.put(getString(R.string.settings_key_green_theme), R.style.AppTheme_green);
|
||||||
|
supportedThemes.put(getString(R.string.settings_key_grey_theme), R.style.AppTheme_grey);
|
||||||
|
supportedThemes.put(getString(R.string.settings_key_magenta_theme), R.style.AppTheme_magenta);
|
||||||
|
supportedThemes.put(getString(R.string.settings_key_pink_theme), R.style.AppTheme_pink);
|
||||||
|
supportedThemes.put(getString(R.string.settings_key_sky_blue_theme), R.style.AppTheme_sky_blue);
|
||||||
|
supportedThemes.put(getString(R.string.settings_key_violet_theme), R.style.AppTheme_violet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Resources.Theme theme = super.getTheme();
|
||||||
|
pref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
|
||||||
|
String themeName = pref.getString(getString(R.string.setting_key_theme_color), getString(R.string.settings_key_catima_theme));
|
||||||
|
|
||||||
|
theme.applyStyle(Utils.mapGetOrDefault(supportedThemes, themeName, R.style.AppTheme_NoActionBar), true);
|
||||||
|
|
||||||
|
return theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public int getThemeColor() {
|
||||||
protected void onPostCreate(@Nullable Bundle savedInstanceState) {
|
TypedValue typedValue = new TypedValue();
|
||||||
super.onPostCreate(savedInstanceState);
|
Resources.Theme theme = getTheme();
|
||||||
// material 3 designer does not consider status bar colors
|
theme.resolveAttribute(R.attr.colorPrimary, typedValue, true);
|
||||||
// XXX changing this in onCreate causes issues with the splash screen activity, so doing this here
|
return typedValue.data;
|
||||||
boolean darkMode = Utils.isDarkModeEnabled(this);
|
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
|
||||||
getWindow().setStatusBarColor(Color.TRANSPARENT);
|
|
||||||
getWindow().getDecorView().setSystemUiVisibility(darkMode ? 0 : View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
||||||
} else {
|
|
||||||
// icons are always white back then
|
|
||||||
getWindow().setStatusBarColor(darkMode ? Color.TRANSPARENT : Color.argb(127, 0, 0, 0));
|
|
||||||
}
|
|
||||||
// XXX android 9 and below has a nasty rendering bug if the theme was patched earlier
|
|
||||||
Utils.postPatchColors(this);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import protect.card_locker.preferences.Settings;
|
|||||||
|
|
||||||
public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.GroupListItemViewHolder> {
|
public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.GroupListItemViewHolder> {
|
||||||
Settings mSettings;
|
Settings mSettings;
|
||||||
public final Context mContext;
|
private final Context mContext;
|
||||||
private final GroupAdapterListener mListener;
|
private final GroupAdapterListener mListener;
|
||||||
SQLiteDatabase mDatabase;
|
SQLiteDatabase mDatabase;
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.Gro
|
|||||||
super(inputCursor, DBHelper.LoyaltyCardDbGroups.ORDER);
|
super(inputCursor, DBHelper.LoyaltyCardDbGroups.ORDER);
|
||||||
setHasStableIds(true);
|
setHasStableIds(true);
|
||||||
mSettings = new Settings(inputContext);
|
mSettings = new Settings(inputContext);
|
||||||
mContext = inputContext;
|
mContext = inputContext.getApplicationContext();
|
||||||
mListener = inputListener;
|
mListener = inputListener;
|
||||||
mDatabase = new DBHelper(inputContext).getReadableDatabase();
|
mDatabase = new DBHelper(inputContext).getReadableDatabase();
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package protect.card_locker;
|
package protect.card_locker;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
|
import android.app.NotificationManager;
|
||||||
|
import android.app.PendingIntent;
|
||||||
import android.content.ActivityNotFoundException;
|
import android.content.ActivityNotFoundException;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -22,6 +25,7 @@ import androidx.appcompat.app.ActionBar;
|
|||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
@@ -35,7 +39,6 @@ import java.util.List;
|
|||||||
import protect.card_locker.async.TaskHandler;
|
import protect.card_locker.async.TaskHandler;
|
||||||
import protect.card_locker.importexport.DataFormat;
|
import protect.card_locker.importexport.DataFormat;
|
||||||
import protect.card_locker.importexport.ImportExportResult;
|
import protect.card_locker.importexport.ImportExportResult;
|
||||||
import protect.card_locker.importexport.ImportExportResultType;
|
|
||||||
|
|
||||||
public class ImportExportActivity extends CatimaAppCompatActivity {
|
public class ImportExportActivity extends CatimaAppCompatActivity {
|
||||||
private static final String TAG = "Catima";
|
private static final String TAG = "Catima";
|
||||||
@@ -55,6 +58,12 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
|||||||
|
|
||||||
final private TaskHandler mTasks = new TaskHandler();
|
final private TaskHandler mTasks = new TaskHandler();
|
||||||
|
|
||||||
|
private NotificationManager mNotifyManager;
|
||||||
|
private NotificationCompat.Builder mBuilder;
|
||||||
|
|
||||||
|
private static final int NOTIFICATION_IMPORT = 1;
|
||||||
|
private static final int NOTIFICATION_EXPORT = 2;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -95,10 +104,10 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
|||||||
try {
|
try {
|
||||||
OutputStream writer = getContentResolver().openOutputStream(uri);
|
OutputStream writer = getContentResolver().openOutputStream(uri);
|
||||||
Log.e(TAG, "Starting file export with: " + result.toString());
|
Log.e(TAG, "Starting file export with: " + result.toString());
|
||||||
startExport(writer, uri, exportPassword.toCharArray(), true);
|
startExport(writer, uri, exportPassword != null ? exportPassword.toCharArray() : null, true);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.e(TAG, "Failed to export file: " + result.toString(), e);
|
Log.e(TAG, "Failed to export file: " + result.toString(), e);
|
||||||
onExportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, result.toString()), uri);
|
onExportComplete(ImportExportResult.GenericFailure, uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -176,7 +185,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
|||||||
startImport(reader, uri, importDataFormat, password, true);
|
startImport(reader, uri, importDataFormat, password, true);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.e(TAG, "Failed to import file: " + uri.toString(), e);
|
Log.e(TAG, "Failed to import file: " + uri.toString(), e);
|
||||||
onImportComplete(new ImportExportResult(ImportExportResultType.GenericFailure, e.toString()), uri, importDataFormat);
|
onImportComplete(ImportExportResult.GenericFailure, uri, importDataFormat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,22 +266,59 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
|||||||
builder.show();
|
builder.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void startProgressNotification(boolean importing) {
|
||||||
|
mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||||
|
mBuilder = new NotificationCompat.Builder(this, NotificationType.getImportExportChannel(this));
|
||||||
|
mBuilder.setContentTitle(getString(importing ? R.string.importing : R.string.exporting))
|
||||||
|
.setContentText(null)
|
||||||
|
.setSmallIcon(R.drawable.ic_import_export_white_24dp)
|
||||||
|
.setColor(getThemeColor())
|
||||||
|
.setProgress(0, 0, true);
|
||||||
|
mNotifyManager.notify(importing ? NOTIFICATION_IMPORT : NOTIFICATION_EXPORT, mBuilder.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void endProgressNotification(boolean importing, ImportExportResult result, PendingIntent sendIntent) {
|
||||||
|
String notificationTitle;
|
||||||
|
String notificationMessage;
|
||||||
|
|
||||||
|
if (result.equals(ImportExportResult.Success)) {
|
||||||
|
notificationTitle = getString(importing ? R.string.importSuccessfulTitle : R.string.exportSuccessfulTitle);
|
||||||
|
notificationMessage = getString(importing ? R.string.importSuccessful : R.string.exportSuccessful);
|
||||||
|
} else {
|
||||||
|
int reason = R.string.unknown_failure;
|
||||||
|
if (result.equals(ImportExportResult.BadPassword)) {
|
||||||
|
reason = R.string.incorrect_password;
|
||||||
|
}
|
||||||
|
|
||||||
|
notificationTitle = getString(importing ? R.string.importFailedTitle : R.string.exportFailedTitle);
|
||||||
|
notificationMessage = String.format(getString(importing ? R.string.importFailed : R.string.exportFailed), getString(reason));
|
||||||
|
}
|
||||||
|
|
||||||
|
mBuilder.setContentTitle(notificationTitle)
|
||||||
|
.setContentText(notificationMessage)
|
||||||
|
.setProgress(0,0, false);
|
||||||
|
|
||||||
|
if (sendIntent != null) {
|
||||||
|
mBuilder.addAction(R.drawable.ic_share, getString(R.string.sendLabel), sendIntent);
|
||||||
|
}
|
||||||
|
|
||||||
|
mNotifyManager.notify(importing ? NOTIFICATION_IMPORT : NOTIFICATION_EXPORT, mBuilder.build());
|
||||||
|
}
|
||||||
|
|
||||||
private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password, final boolean closeWhenDone) {
|
private void startImport(final InputStream target, final Uri targetUri, final DataFormat dataFormat, final char[] password, final boolean closeWhenDone) {
|
||||||
mTasks.flushTaskList(TaskHandler.TYPE.IMPORT, true, false, false);
|
mTasks.flushTaskList(TaskHandler.TYPE.IMPORT, true, false, false);
|
||||||
ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() {
|
ImportExportTask.TaskCompleteListener listener = (result, dataFormat1) -> {
|
||||||
@Override
|
onImportComplete(result, targetUri, dataFormat1);
|
||||||
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
|
if (closeWhenDone) {
|
||||||
onImportComplete(result, targetUri, dataFormat);
|
try {
|
||||||
if (closeWhenDone) {
|
target.close();
|
||||||
try {
|
} catch (IOException ioException) {
|
||||||
target.close();
|
ioException.printStackTrace();
|
||||||
} catch (IOException ioException) {
|
|
||||||
ioException.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
startProgressNotification(true);
|
||||||
importExporter = new ImportExportTask(ImportExportActivity.this,
|
importExporter = new ImportExportTask(ImportExportActivity.this,
|
||||||
dataFormat, target, password, listener);
|
dataFormat, target, password, listener);
|
||||||
mTasks.executeTask(TaskHandler.TYPE.IMPORT, importExporter);
|
mTasks.executeTask(TaskHandler.TYPE.IMPORT, importExporter);
|
||||||
@@ -280,20 +326,18 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
|||||||
|
|
||||||
private void startExport(final OutputStream target, final Uri targetUri, char[] password, final boolean closeWhenDone) {
|
private void startExport(final OutputStream target, final Uri targetUri, char[] password, final boolean closeWhenDone) {
|
||||||
mTasks.flushTaskList(TaskHandler.TYPE.EXPORT, true, false, false);
|
mTasks.flushTaskList(TaskHandler.TYPE.EXPORT, true, false, false);
|
||||||
ImportExportTask.TaskCompleteListener listener = new ImportExportTask.TaskCompleteListener() {
|
ImportExportTask.TaskCompleteListener listener = (result, dataFormat) -> {
|
||||||
@Override
|
onExportComplete(result, targetUri);
|
||||||
public void onTaskComplete(ImportExportResult result, DataFormat dataFormat) {
|
if (closeWhenDone) {
|
||||||
onExportComplete(result, targetUri);
|
try {
|
||||||
if (closeWhenDone) {
|
target.close();
|
||||||
try {
|
} catch (IOException ioException) {
|
||||||
target.close();
|
ioException.printStackTrace();
|
||||||
} catch (IOException ioException) {
|
|
||||||
ioException.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
startProgressNotification(false);
|
||||||
importExporter = new ImportExportTask(ImportExportActivity.this,
|
importExporter = new ImportExportTask(ImportExportActivity.this,
|
||||||
DataFormat.Catima, target, password, listener);
|
DataFormat.Catima, target, password, listener);
|
||||||
mTasks.executeTask(TaskHandler.TYPE.EXPORT, importExporter);
|
mTasks.executeTask(TaskHandler.TYPE.EXPORT, importExporter);
|
||||||
@@ -358,68 +402,28 @@ public class ImportExportActivity extends CatimaAppCompatActivity {
|
|||||||
builder.show();
|
builder.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String buildResultDialogMessage(ImportExportResult result, boolean isImport) {
|
|
||||||
int messageId;
|
|
||||||
|
|
||||||
if (result.resultType() == ImportExportResultType.Success) {
|
|
||||||
messageId = isImport ? R.string.importSuccessful : R.string.exportSuccessful;
|
|
||||||
} else {
|
|
||||||
messageId = isImport ? R.string.importFailed : R.string.exportFailed;
|
|
||||||
}
|
|
||||||
|
|
||||||
StringBuilder messageBuilder = new StringBuilder(getResources().getString(messageId));
|
|
||||||
if (result.developerDetails() != null) {
|
|
||||||
messageBuilder.append("\n\n");
|
|
||||||
messageBuilder.append(getResources().getString(R.string.include_if_asking_support));
|
|
||||||
messageBuilder.append("\n\n");
|
|
||||||
messageBuilder.append(result.developerDetails());
|
|
||||||
}
|
|
||||||
|
|
||||||
return messageBuilder.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void onImportComplete(ImportExportResult result, Uri path, DataFormat dataFormat) {
|
private void onImportComplete(ImportExportResult result, Uri path, DataFormat dataFormat) {
|
||||||
ImportExportResultType resultType = result.resultType();
|
endProgressNotification(true, result, null);
|
||||||
|
|
||||||
if (resultType == ImportExportResultType.BadPassword) {
|
if (result == ImportExportResult.BadPassword) {
|
||||||
retryWithPassword(dataFormat, path);
|
retryWithPassword(dataFormat, path);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
|
||||||
builder.setTitle(resultType == ImportExportResultType.Success ? R.string.importSuccessfulTitle : R.string.importFailedTitle);
|
|
||||||
builder.setMessage(buildResultDialogMessage(result, true));
|
|
||||||
builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss());
|
|
||||||
|
|
||||||
builder.create().show();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onExportComplete(ImportExportResult result, final Uri path) {
|
private void onExportComplete(ImportExportResult result, final Uri path) {
|
||||||
ImportExportResultType resultType = result.resultType();
|
PendingIntent pendingIntent = null;
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
if (result == ImportExportResult.Success) {
|
||||||
builder.setTitle(resultType == ImportExportResultType.Success ? R.string.exportSuccessfulTitle : R.string.exportFailedTitle);
|
Intent sendIntent = new Intent(Intent.ACTION_SEND);
|
||||||
builder.setMessage(buildResultDialogMessage(result, false));
|
sendIntent.putExtra(Intent.EXTRA_STREAM, path);
|
||||||
builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss());
|
sendIntent.setType("text/csv");
|
||||||
|
|
||||||
if (resultType == ImportExportResultType.Success) {
|
// set flag to give temporary permission to external app to use the FileProvider
|
||||||
final CharSequence sendLabel = ImportExportActivity.this.getResources().getText(R.string.sendLabel);
|
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||||
|
|
||||||
builder.setPositiveButton(sendLabel, (dialog, which) -> {
|
pendingIntent = PendingIntent.getActivity(this, NOTIFICATION_EXPORT, sendIntent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
|
||||||
Intent sendIntent = new Intent(Intent.ACTION_SEND);
|
|
||||||
sendIntent.putExtra(Intent.EXTRA_STREAM, path);
|
|
||||||
sendIntent.setType("text/csv");
|
|
||||||
|
|
||||||
// set flag to give temporary permission to external app to use the FileProvider
|
|
||||||
sendIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
|
||||||
|
|
||||||
ImportExportActivity.this.startActivity(Intent.createChooser(sendIntent,
|
|
||||||
sendLabel));
|
|
||||||
|
|
||||||
dialog.dismiss();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.create().show();
|
endProgressNotification(false, result, pendingIntent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package protect.card_locker;
|
package protect.card_locker;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ProgressDialog;
|
import android.app.NotificationManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
@@ -13,25 +13,23 @@ import java.io.OutputStream;
|
|||||||
import java.io.OutputStreamWriter;
|
import java.io.OutputStreamWriter;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
|
import androidx.core.app.NotificationCompat;
|
||||||
import protect.card_locker.async.CompatCallable;
|
import protect.card_locker.async.CompatCallable;
|
||||||
import protect.card_locker.importexport.DataFormat;
|
import protect.card_locker.importexport.DataFormat;
|
||||||
import protect.card_locker.importexport.ImportExportResult;
|
import protect.card_locker.importexport.ImportExportResult;
|
||||||
import protect.card_locker.importexport.ImportExportResultType;
|
|
||||||
import protect.card_locker.importexport.MultiFormatExporter;
|
import protect.card_locker.importexport.MultiFormatExporter;
|
||||||
import protect.card_locker.importexport.MultiFormatImporter;
|
import protect.card_locker.importexport.MultiFormatImporter;
|
||||||
|
|
||||||
public class ImportExportTask implements CompatCallable<ImportExportResult> {
|
public class ImportExportTask implements CompatCallable<ImportExportResult> {
|
||||||
private static final String TAG = "Catima";
|
private static final String TAG = "Catima";
|
||||||
|
|
||||||
private Activity activity;
|
private final Activity activity;
|
||||||
private boolean doImport;
|
private final boolean doImport;
|
||||||
private DataFormat format;
|
private final DataFormat format;
|
||||||
private OutputStream outputStream;
|
private OutputStream outputStream;
|
||||||
private InputStream inputStream;
|
private InputStream inputStream;
|
||||||
private char[] password;
|
private final char[] password;
|
||||||
private TaskCompleteListener listener;
|
private final TaskCompleteListener listener;
|
||||||
|
|
||||||
private ProgressDialog progress;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor which will setup a task for exporting to the given file
|
* Constructor which will setup a task for exporting to the given file
|
||||||
@@ -62,22 +60,21 @@ public class ImportExportTask implements CompatCallable<ImportExportResult> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private ImportExportResult performImport(Context context, InputStream stream, SQLiteDatabase database, char[] password) {
|
private ImportExportResult performImport(Context context, InputStream stream, SQLiteDatabase database, char[] password) {
|
||||||
ImportExportResult importResult = MultiFormatImporter.importData(context, database, stream, format, password);
|
ImportExportResult result = MultiFormatImporter.importData(context, database, stream, format, password);
|
||||||
|
|
||||||
Log.i(TAG, "Import result: " + importResult);
|
Log.i(TAG, "Import result: " + result.name());
|
||||||
|
|
||||||
return importResult;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ImportExportResult performExport(Context context, OutputStream stream, SQLiteDatabase database, char[] password) {
|
private ImportExportResult performExport(Context context, OutputStream stream, SQLiteDatabase database, char[] password) {
|
||||||
ImportExportResult result;
|
ImportExportResult result = ImportExportResult.GenericFailure;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
OutputStreamWriter writer = new OutputStreamWriter(stream, StandardCharsets.UTF_8);
|
OutputStreamWriter writer = new OutputStreamWriter(stream, StandardCharsets.UTF_8);
|
||||||
result = MultiFormatExporter.exportData(context, database, stream, format, password);
|
result = MultiFormatExporter.exportData(context, database, stream, format, password);
|
||||||
writer.close();
|
writer.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
result = new ImportExportResult(ImportExportResultType.GenericFailure, e.toString());
|
|
||||||
Log.e(TAG, "Unable to export file", e);
|
Log.e(TAG, "Unable to export file", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,20 +83,6 @@ public class ImportExportTask implements CompatCallable<ImportExportResult> {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPreExecute() {
|
|
||||||
progress = new ProgressDialog(activity);
|
|
||||||
progress.setTitle(doImport ? R.string.importing : R.string.exporting);
|
|
||||||
|
|
||||||
progress.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
|
||||||
@Override
|
|
||||||
public void onDismiss(DialogInterface dialog) {
|
|
||||||
ImportExportTask.this.stop();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
progress.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ImportExportResult doInBackground(Void... nothing) {
|
protected ImportExportResult doInBackground(Void... nothing) {
|
||||||
final SQLiteDatabase database = new DBHelper(activity).getWritableDatabase();
|
final SQLiteDatabase database = new DBHelper(activity).getWritableDatabase();
|
||||||
ImportExportResult result;
|
ImportExportResult result;
|
||||||
@@ -116,15 +99,15 @@ public class ImportExportTask implements CompatCallable<ImportExportResult> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onPostExecute(Object castResult) {
|
public void onPostExecute(Object castResult) {
|
||||||
listener.onTaskComplete((ImportExportResult) castResult, format);
|
ImportExportResult result = (ImportExportResult) castResult;
|
||||||
|
|
||||||
|
listener.onTaskComplete(result, format);
|
||||||
|
|
||||||
progress.dismiss();
|
|
||||||
Log.i(TAG, (doImport ? "Import" : "Export") + " Complete");
|
Log.i(TAG, (doImport ? "Import" : "Export") + " Complete");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void onCancelled() {
|
@Override
|
||||||
progress.dismiss();
|
public void onPreExecute() {
|
||||||
Log.i(TAG, (doImport ? "Import" : "Export") + " Cancelled");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void stop() {
|
protected void stop() {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
private int mCurrentSelectedIndex = -1;
|
private int mCurrentSelectedIndex = -1;
|
||||||
Settings mSettings;
|
Settings mSettings;
|
||||||
boolean mDarkModeEnabled;
|
boolean mDarkModeEnabled;
|
||||||
public final Context mContext;
|
private final Context mContext;
|
||||||
private final CardAdapterListener mListener;
|
private final CardAdapterListener mListener;
|
||||||
protected SparseBooleanArray mSelectedItems;
|
protected SparseBooleanArray mSelectedItems;
|
||||||
protected SparseBooleanArray mAnimationItemsIndex;
|
protected SparseBooleanArray mAnimationItemsIndex;
|
||||||
@@ -46,7 +46,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
super(inputCursor, DBHelper.LoyaltyCardDbIds.ID);
|
super(inputCursor, DBHelper.LoyaltyCardDbIds.ID);
|
||||||
setHasStableIds(true);
|
setHasStableIds(true);
|
||||||
mSettings = new Settings(inputContext);
|
mSettings = new Settings(inputContext);
|
||||||
mContext = inputContext;
|
mContext = inputContext.getApplicationContext();
|
||||||
mListener = inputListener;
|
mListener = inputListener;
|
||||||
mSelectedItems = new SparseBooleanArray();
|
mSelectedItems = new SparseBooleanArray();
|
||||||
mAnimationItemsIndex = new SparseBooleanArray();
|
mAnimationItemsIndex = new SparseBooleanArray();
|
||||||
@@ -101,7 +101,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
inputHolder.setExpiryField(null);
|
inputHolder.setExpiryField(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
setHeaderHeight(inputHolder, mShowDetails);
|
|
||||||
Bitmap cardIcon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
|
Bitmap cardIcon = Utils.retrieveCardImage(mContext, loyaltyCard.id, ImageLocationType.icon);
|
||||||
if (cardIcon != null) {
|
if (cardIcon != null) {
|
||||||
inputHolder.mCardIcon.setImageBitmap(cardIcon);
|
inputHolder.mCardIcon.setImageBitmap(cardIcon);
|
||||||
@@ -110,7 +109,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
inputHolder.mCardIcon.setImageBitmap(Utils.generateIcon(mContext, loyaltyCard.store, loyaltyCard.headerColor).getLetterTile());
|
inputHolder.mCardIcon.setImageBitmap(Utils.generateIcon(mContext, loyaltyCard.store, loyaltyCard.headerColor).getLetterTile());
|
||||||
inputHolder.mCardIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
|
inputHolder.mCardIcon.setScaleType(ImageView.ScaleType.FIT_CENTER);
|
||||||
}
|
}
|
||||||
inputHolder.setIconBackgroundColor(loyaltyCard.headerColor != null ? loyaltyCard.headerColor : R.attr.colorPrimary);
|
inputHolder.setIconBackgroundColor(loyaltyCard.headerColor != null ? loyaltyCard.headerColor : ContextCompat.getColor(mContext, R.color.colorPrimary));
|
||||||
|
|
||||||
inputHolder.toggleStar(loyaltyCard.starStatus != 0, itemSelected(inputCursor.getPosition()));
|
inputHolder.toggleStar(loyaltyCard.starStatus != 0, itemSelected(inputCursor.getPosition()));
|
||||||
|
|
||||||
@@ -122,19 +121,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
inputHolder.mRow.requestLayout();
|
inputHolder.mRow.requestLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setHeaderHeight(LoyaltyCardListItemViewHolder inputHolder, boolean expanded) {
|
|
||||||
int iconHeight;
|
|
||||||
if (expanded) {
|
|
||||||
iconHeight = ViewGroup.LayoutParams.MATCH_PARENT;
|
|
||||||
} else {
|
|
||||||
iconHeight = (int) mContext.getResources().getDimension(R.dimen.cardThumbnailSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
inputHolder.mIconLayout.getLayoutParams().height = expanded ? 0 : iconHeight;
|
|
||||||
inputHolder.mCardIcon.getLayoutParams().height = iconHeight;
|
|
||||||
inputHolder.mTickIcon.getLayoutParams().height = iconHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void applyClickEvents(LoyaltyCardListItemViewHolder inputHolder, final int inputPosition) {
|
private void applyClickEvents(LoyaltyCardListItemViewHolder inputHolder, final int inputPosition) {
|
||||||
inputHolder.mRow.setOnClickListener(inputView -> mListener.onRowClicked(inputPosition));
|
inputHolder.mRow.setOnClickListener(inputView -> mListener.onRowClicked(inputPosition));
|
||||||
|
|
||||||
@@ -214,7 +200,7 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
|
|
||||||
public TextView mStoreField, mNoteField, mBalanceField, mExpiryField;
|
public TextView mStoreField, mNoteField, mBalanceField, mExpiryField;
|
||||||
public ImageView mCardIcon, mStarBackground, mStarBorder, mTickIcon;
|
public ImageView mCardIcon, mStarBackground, mStarBorder, mTickIcon;
|
||||||
public MaterialCardView mRow, mIconLayout;
|
public MaterialCardView mRow;
|
||||||
public ConstraintLayout mStar;
|
public ConstraintLayout mStar;
|
||||||
public View mDivider;
|
public View mDivider;
|
||||||
|
|
||||||
@@ -229,7 +215,6 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
mBalanceField = inputView.findViewById(R.id.balance);
|
mBalanceField = inputView.findViewById(R.id.balance);
|
||||||
mExpiryField = inputView.findViewById(R.id.expiry);
|
mExpiryField = inputView.findViewById(R.id.expiry);
|
||||||
|
|
||||||
mIconLayout = inputView.findViewById(R.id.icon_layout);
|
|
||||||
mCardIcon = inputView.findViewById(R.id.thumbnail);
|
mCardIcon = inputView.findViewById(R.id.thumbnail);
|
||||||
mStar = inputView.findViewById(R.id.star);
|
mStar = inputView.findViewById(R.id.star);
|
||||||
mStarBackground = inputView.findViewById(R.id.star_background);
|
mStarBackground = inputView.findViewById(R.id.star_background);
|
||||||
@@ -317,10 +302,10 @@ public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCurso
|
|||||||
dark = !mDarkModeEnabled;
|
dark = !mDarkModeEnabled;
|
||||||
}
|
}
|
||||||
if (dark) {
|
if (dark) {
|
||||||
mStarBorder.setImageResource(R.drawable.ic_unstarred_white);
|
mStarBorder.setImageResource(R.drawable.ic_unstarred_black);
|
||||||
mStarBackground.setImageResource(R.drawable.ic_starred_black);
|
mStarBackground.setImageResource(R.drawable.ic_starred_black);
|
||||||
} else {
|
} else {
|
||||||
mStarBorder.setImageResource(R.drawable.ic_unstarred_black);
|
mStarBorder.setImageResource(R.drawable.ic_unstarred_white);
|
||||||
mStarBackground.setImageResource(R.drawable.ic_starred_white);
|
mStarBackground.setImageResource(R.drawable.ic_starred_white);
|
||||||
}
|
}
|
||||||
if (enable) {
|
if (enable) {
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import com.google.android.material.chip.Chip;
|
import com.google.android.material.chip.Chip;
|
||||||
import com.google.android.material.chip.ChipGroup;
|
import com.google.android.material.chip.ChipGroup;
|
||||||
import com.google.android.material.color.MaterialColors;
|
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
import com.google.android.material.tabs.TabLayout;
|
import com.google.android.material.tabs.TabLayout;
|
||||||
@@ -69,7 +68,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.core.content.FileProvider;
|
import androidx.core.content.FileProvider;
|
||||||
@@ -136,8 +134,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
|
|
||||||
Button enterButton;
|
Button enterButton;
|
||||||
|
|
||||||
Toolbar toolbar;
|
|
||||||
|
|
||||||
int loyaltyCardId;
|
int loyaltyCardId;
|
||||||
boolean updateLoyaltyCard;
|
boolean updateLoyaltyCard;
|
||||||
String cardId;
|
String cardId;
|
||||||
@@ -157,7 +153,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
AlertDialog confirmExitDialog = null;
|
AlertDialog confirmExitDialog = null;
|
||||||
|
|
||||||
boolean validBalance = true;
|
boolean validBalance = true;
|
||||||
Runnable barcodeImageGenerationFinishedCallback;
|
Runnable warnOnInvalidBarcodeType;
|
||||||
|
|
||||||
HashMap<String, Currency> currencies = new HashMap<>();
|
HashMap<String, Currency> currencies = new HashMap<>();
|
||||||
|
|
||||||
@@ -212,10 +208,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
private void updateTempState(LoyaltyCardField fieldName, Object value) {
|
private void updateTempState(LoyaltyCardField fieldName, Object value) {
|
||||||
tempLoyaltyCard = updateTempState(tempLoyaltyCard, fieldName, value);
|
tempLoyaltyCard = updateTempState(tempLoyaltyCard, fieldName, value);
|
||||||
|
|
||||||
if (initDone && (fieldName == LoyaltyCardField.cardId || fieldName == LoyaltyCardField.barcodeId || fieldName == LoyaltyCardField.barcodeType)) {
|
|
||||||
generateBarcode();
|
|
||||||
}
|
|
||||||
|
|
||||||
hasChanged = true;
|
hasChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -231,7 +223,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
|
|
||||||
importLoyaltyCardUri = intent.getData();
|
importLoyaltyCardUri = intent.getData();
|
||||||
|
|
||||||
Log.d(TAG, "Edit activity: id=" + loyaltyCardId
|
Log.d(TAG, "View activity: id=" + loyaltyCardId
|
||||||
+ ", updateLoyaltyCard=" + updateLoyaltyCard);
|
+ ", updateLoyaltyCard=" + updateLoyaltyCard);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -294,7 +286,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
setContentView(R.layout.loyalty_card_edit_activity);
|
setContentView(R.layout.loyalty_card_edit_activity);
|
||||||
toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
ActionBar actionBar = getSupportActionBar();
|
ActionBar actionBar = getSupportActionBar();
|
||||||
if (actionBar != null) {
|
if (actionBar != null) {
|
||||||
@@ -331,10 +323,11 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
cardImageBack = findViewById(R.id.backImage);
|
cardImageBack = findViewById(R.id.backImage);
|
||||||
|
|
||||||
enterButton = findViewById(R.id.enterButton);
|
enterButton = findViewById(R.id.enterButton);
|
||||||
|
cardImageFront.setBackgroundColor(getThemeColor());
|
||||||
|
cardImageBack.setBackgroundColor(getThemeColor());
|
||||||
|
|
||||||
barcodeImageGenerationFinishedCallback = () -> {
|
warnOnInvalidBarcodeType = () -> {
|
||||||
if (!(boolean) barcodeImage.getTag()) {
|
if (!(boolean) barcodeImage.getTag()) {
|
||||||
barcodeImageLayout.setVisibility(View.GONE);
|
|
||||||
Toast.makeText(LoyaltyCardEditActivity.this, getString(R.string.wrongValueForBarcodeType), Toast.LENGTH_LONG).show();
|
Toast.makeText(LoyaltyCardEditActivity.this, getString(R.string.wrongValueForBarcodeType), Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -448,10 +441,14 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
|
|
||||||
for (int i = locales.size() - 1; i >= 0; i--) {
|
for (int i = locales.size() - 1; i >= 0; i--) {
|
||||||
Locale locale = locales.get(i);
|
Locale locale = locales.get(i);
|
||||||
currencyPrioritizeLocaleSymbols(currencyList, locale);
|
String currencySymbol = Currency.getInstance(locale).getSymbol();
|
||||||
|
currencyList.remove(currencySymbol);
|
||||||
|
currencyList.add(0, currencySymbol);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
currencyPrioritizeLocaleSymbols(currencyList, mSystemLocale);
|
String currencySymbol = Currency.getInstance(mSystemLocale).getSymbol();
|
||||||
|
currencyList.remove(currencySymbol);
|
||||||
|
currencyList.add(0, currencySymbol);
|
||||||
}
|
}
|
||||||
|
|
||||||
currencyList.add(0, getString(R.string.points));
|
currencyList.add(0, getString(R.string.points));
|
||||||
@@ -527,6 +524,8 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
} else {
|
} else {
|
||||||
updateTempState(LoyaltyCardField.barcodeId, s.toString());
|
updateTempState(LoyaltyCardField.barcodeId, s.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
generateOrHideBarcode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -557,6 +556,8 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
generateOrHideBarcode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -668,6 +669,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
});
|
});
|
||||||
|
|
||||||
mCropperOptions = new UCrop.Options();
|
mCropperOptions = new UCrop.Options();
|
||||||
|
setCropperTheme();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ucrop 2.2.6 initial aspect ratio is glitched when 0x0 is used as the initial ratio option
|
// ucrop 2.2.6 initial aspect ratio is glitched when 0x0 is used as the initial ratio option
|
||||||
@@ -687,24 +689,13 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
new AspectRatio(getResources().getString(R.string.ucrop_label_original).toUpperCase(), sourceWidth, sourceHeight),
|
new AspectRatio(getResources().getString(R.string.ucrop_label_original).toUpperCase(), sourceWidth, sourceHeight),
|
||||||
new AspectRatio(getResources().getString(R.string.card).toUpperCase(), 85.6f, 53.98f)
|
new AspectRatio(getResources().getString(R.string.card).toUpperCase(), 85.6f, 53.98f)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Fix theming
|
private void setCropperTheme() {
|
||||||
|
mCropperOptions.setToolbarColor(getThemeColor());
|
||||||
int colorPrimary = MaterialColors.getColor(this, R.attr.colorPrimary, ContextCompat.getColor(this, R.color.md_theme_light_primary));
|
mCropperOptions.setStatusBarColor(getThemeColor());
|
||||||
int colorOnPrimary = MaterialColors.getColor(this, R.attr.colorOnPrimary, ContextCompat.getColor(this, R.color.md_theme_light_onPrimary));
|
mCropperOptions.setToolbarWidgetColor(Color.WHITE);
|
||||||
int colorSurface = MaterialColors.getColor(this, R.attr.colorSurface, ContextCompat.getColor(this, R.color.md_theme_light_surface));
|
mCropperOptions.setActiveControlsWidgetColor(getThemeColor());
|
||||||
int colorOnSurface = MaterialColors.getColor(this, R.attr.colorOnSurface, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
|
|
||||||
int colorBackground = MaterialColors.getColor(this, android.R.attr.colorBackground, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
|
|
||||||
mCropperOptions.setToolbarColor(colorSurface);
|
|
||||||
mCropperOptions.setStatusBarColor(colorSurface);
|
|
||||||
mCropperOptions.setToolbarWidgetColor(colorOnSurface);
|
|
||||||
mCropperOptions.setRootViewBackgroundColor(colorBackground);
|
|
||||||
// set tool tip to be the darker of primary color
|
|
||||||
if (Utils.isDarkModeEnabled(this)) {
|
|
||||||
mCropperOptions.setActiveControlsWidgetColor(colorOnPrimary);
|
|
||||||
} else {
|
|
||||||
mCropperOptions.setActiveControlsWidgetColor(colorPrimary);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -898,7 +889,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
hasChanged = hadChanges;
|
hasChanged = hadChanges;
|
||||||
}
|
}
|
||||||
|
|
||||||
generateBarcode();
|
generateOrHideBarcode();
|
||||||
|
|
||||||
enterButton.setOnClickListener(new EditCardIdAndBarcode());
|
enterButton.setOnClickListener(new EditCardIdAndBarcode());
|
||||||
barcodeImage.setOnClickListener(new EditCardIdAndBarcode());
|
barcodeImage.setOnClickListener(new EditCardIdAndBarcode());
|
||||||
@@ -918,7 +909,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
protected void setColorFromIcon() {
|
protected void setColorFromIcon() {
|
||||||
Object icon = thumbnail.getTag();
|
Object icon = thumbnail.getTag();
|
||||||
if (icon != null && (icon instanceof Bitmap)) {
|
if (icon != null && (icon instanceof Bitmap)) {
|
||||||
updateTempState(LoyaltyCardField.headerColor, new Palette.Builder((Bitmap) icon).generate().getDominantColor(tempLoyaltyCard.headerColor != null ? tempLoyaltyCard.headerColor : R.attr.colorPrimary));
|
updateTempState(LoyaltyCardField.headerColor, new Palette.Builder((Bitmap) icon).generate().getDominantColor(tempLoyaltyCard.headerColor != null ? tempLoyaltyCard.headerColor : ContextCompat.getColor(this, R.color.colorPrimary)));
|
||||||
} else {
|
} else {
|
||||||
Log.d("setColorFromIcon", "attempting header color change from icon but icon does not exist");
|
Log.d("setColorFromIcon", "attempting header color change from icon but icon does not exist");
|
||||||
}
|
}
|
||||||
@@ -1252,11 +1243,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void doSave() {
|
private void doSave() {
|
||||||
if (isFinishing()) {
|
|
||||||
// If we are done saving, ignore any queued up save button presses
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempStoredOldBarcodeValue != null) {
|
if (tempStoredOldBarcodeValue != null) {
|
||||||
askBarcodeChange(this::doSave);
|
askBarcodeChange(this::doSave);
|
||||||
return;
|
return;
|
||||||
@@ -1403,40 +1389,36 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Intent ucropIntent = UCrop.of(
|
mCropperLauncher.launch(
|
||||||
sourceUri,
|
UCrop.of(
|
||||||
destUri
|
sourceUri,
|
||||||
).withOptions(mCropperOptions)
|
destUri
|
||||||
.getIntent(this);
|
).withOptions(mCropperOptions)
|
||||||
ucropIntent.setClass(this, UCropWrapper.class);
|
.getIntent(this)
|
||||||
for (int i = 0; i < toolbar.getChildCount(); i++) {
|
);
|
||||||
// send toolbar font details to ucrop wrapper
|
|
||||||
View child = toolbar.getChildAt(i);
|
|
||||||
if (child instanceof AppCompatTextView) {
|
|
||||||
AppCompatTextView childTextView = (AppCompatTextView) child;
|
|
||||||
ucropIntent.putExtra(UCropWrapper.UCROP_TOOLBAR_TYPEFACE_STYLE, childTextView.getTypeface().getStyle());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mCropperLauncher.launch(ucropIntent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void generateBarcode() {
|
private void showBarcode() {
|
||||||
if (tempLoyaltyCard == null) {
|
barcodeImageLayout.setVisibility(View.VISIBLE);
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
mTasks.flushTaskList(TaskHandler.TYPE.BARCODE, true, false, false);
|
private void hideBarcode() {
|
||||||
|
barcodeImageLayout.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void generateOrHideBarcode() {
|
||||||
String cardIdString = tempLoyaltyCard.barcodeId != null ? tempLoyaltyCard.barcodeId : tempLoyaltyCard.cardId;
|
String cardIdString = tempLoyaltyCard.barcodeId != null ? tempLoyaltyCard.barcodeId : tempLoyaltyCard.cardId;
|
||||||
CatimaBarcode barcodeFormat = tempLoyaltyCard.barcodeType;
|
CatimaBarcode barcodeFormat = tempLoyaltyCard.barcodeType;
|
||||||
|
|
||||||
if (cardIdString == null || barcodeFormat == null) {
|
if (barcodeFormat == null || cardIdString.isEmpty() || !barcodeFormat.isSupported()) {
|
||||||
barcodeImageLayout.setVisibility(View.GONE);
|
hideBarcode();
|
||||||
return;
|
} else {
|
||||||
|
generateBarcode(cardIdString, barcodeFormat);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
barcodeImageLayout.setVisibility(View.VISIBLE);
|
private void generateBarcode(String cardIdString, CatimaBarcode barcodeFormat) {
|
||||||
|
mTasks.flushTaskList(TaskHandler.TYPE.BARCODE, true, false, false);
|
||||||
|
|
||||||
if (barcodeImage.getHeight() == 0) {
|
if (barcodeImage.getHeight() == 0) {
|
||||||
Log.d(TAG, "ImageView size is not known known at start, waiting for load");
|
Log.d(TAG, "ImageView size is not known known at start, waiting for load");
|
||||||
@@ -1449,15 +1431,17 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
barcodeImage.getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
barcodeImage.getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||||
|
|
||||||
Log.d(TAG, "ImageView size now known");
|
Log.d(TAG, "ImageView size now known");
|
||||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, barcodeImageGenerationFinishedCallback);
|
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, warnOnInvalidBarcodeType);
|
||||||
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Log.d(TAG, "ImageView size known known, creating barcode");
|
Log.d(TAG, "ImageView size known known, creating barcode");
|
||||||
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, barcodeImageGenerationFinishedCallback);
|
BarcodeImageWriterTask barcodeWriter = new BarcodeImageWriterTask(getApplicationContext(), barcodeImage, cardIdString, barcodeFormat, null, false, warnOnInvalidBarcodeType);
|
||||||
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
mTasks.executeTask(TaskHandler.TYPE.BARCODE, barcodeWriter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
showBarcode();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void generateIcon(String store) {
|
private void generateIcon(String store) {
|
||||||
@@ -1487,36 +1471,32 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
View cardPart = findViewById(R.id.cardPart);
|
View cardPart = findViewById(R.id.cardPart);
|
||||||
View optionsPart = findViewById(R.id.optionsPart);
|
View barcodePart = findViewById(R.id.barcodePart);
|
||||||
View picturesPart = findViewById(R.id.picturesPart);
|
View picturesPart = findViewById(R.id.picturesPart);
|
||||||
|
|
||||||
if (getString(R.string.card).equals(part)) {
|
if (getString(R.string.card).equals(part)) {
|
||||||
cardPart.setVisibility(View.VISIBLE);
|
cardPart.setVisibility(View.VISIBLE);
|
||||||
optionsPart.setVisibility(View.GONE);
|
barcodePart.setVisibility(View.GONE);
|
||||||
|
picturesPart.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
// Explicitly hide barcode (fixes blurriness on redraw)
|
||||||
|
hideBarcode();
|
||||||
|
} else if (getString(R.string.barcode).equals(part)) {
|
||||||
|
cardPart.setVisibility(View.GONE);
|
||||||
|
barcodePart.setVisibility(View.VISIBLE);
|
||||||
picturesPart.setVisibility(View.GONE);
|
picturesPart.setVisibility(View.GONE);
|
||||||
|
|
||||||
// Redraw barcode due to size change (Visibility.GONE sets it to 0)
|
// Redraw barcode due to size change (Visibility.GONE sets it to 0)
|
||||||
generateBarcode();
|
generateOrHideBarcode();
|
||||||
} else if (getString(R.string.options).equals(part)) {
|
|
||||||
cardPart.setVisibility(View.GONE);
|
|
||||||
optionsPart.setVisibility(View.VISIBLE);
|
|
||||||
picturesPart.setVisibility(View.GONE);
|
|
||||||
} else if (getString(R.string.photos).equals(part)) {
|
} else if (getString(R.string.photos).equals(part)) {
|
||||||
cardPart.setVisibility(View.GONE);
|
cardPart.setVisibility(View.GONE);
|
||||||
optionsPart.setVisibility(View.GONE);
|
barcodePart.setVisibility(View.GONE);
|
||||||
picturesPart.setVisibility(View.VISIBLE);
|
picturesPart.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
|
// Explicitly hide barcode (fixes blurriness on redraw)
|
||||||
|
hideBarcode();
|
||||||
} else {
|
} else {
|
||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void currencyPrioritizeLocaleSymbols(ArrayList<String> currencyList, Locale locale) {
|
|
||||||
try {
|
|
||||||
String currencySymbol = Currency.getInstance(locale).getSymbol();
|
|
||||||
currencyList.remove(currencySymbol);
|
|
||||||
currencyList.add(0, currencySymbol);
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
Log.d(TAG, "Could not get currency data for locale info: " + e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,6 @@ package protect.card_locker;
|
|||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
|
|
||||||
import com.google.android.material.color.DynamicColors;
|
|
||||||
|
|
||||||
import protect.card_locker.preferences.Settings;
|
import protect.card_locker.preferences.Settings;
|
||||||
|
|
||||||
public class LoyaltyCardLockerApplication extends Application {
|
public class LoyaltyCardLockerApplication extends Application {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package protect.card_locker;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.res.ColorStateList;
|
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
@@ -33,7 +32,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import com.google.android.material.appbar.AppBarLayout;
|
import com.google.android.material.appbar.AppBarLayout;
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
import com.google.android.material.bottomsheet.BottomSheetBehavior;
|
||||||
import com.google.android.material.color.MaterialColors;
|
|
||||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
@@ -48,7 +46,6 @@ import androidx.appcompat.app.ActionBar;
|
|||||||
import androidx.appcompat.content.res.AppCompatResources;
|
import androidx.appcompat.content.res.AppCompatResources;
|
||||||
import androidx.appcompat.widget.AppCompatTextView;
|
import androidx.appcompat.widget.AppCompatTextView;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
||||||
import androidx.constraintlayout.widget.Guideline;
|
import androidx.constraintlayout.widget.Guideline;
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
import androidx.coordinatorlayout.widget.CoordinatorLayout;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
@@ -66,7 +63,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
private GestureDetector mGestureDetector;
|
private GestureDetector mGestureDetector;
|
||||||
|
|
||||||
CoordinatorLayout coordinatorLayout;
|
CoordinatorLayout coordinatorLayout;
|
||||||
ConstraintLayout mainLayout;
|
|
||||||
TextView cardIdFieldView;
|
TextView cardIdFieldView;
|
||||||
BottomSheetBehavior behavior;
|
BottomSheetBehavior behavior;
|
||||||
LinearLayout bottomSheet;
|
LinearLayout bottomSheet;
|
||||||
@@ -266,7 +262,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
importURIHelper = new ImportURIHelper(this);
|
importURIHelper = new ImportURIHelper(this);
|
||||||
|
|
||||||
coordinatorLayout = findViewById(R.id.coordinator_layout);
|
coordinatorLayout = findViewById(R.id.coordinator_layout);
|
||||||
mainLayout = findViewById(R.id.mainLayout);
|
|
||||||
cardIdFieldView = findViewById(R.id.cardIdView);
|
cardIdFieldView = findViewById(R.id.cardIdView);
|
||||||
bottomSheet = findViewById(R.id.bottom_sheet);
|
bottomSheet = findViewById(R.id.bottom_sheet);
|
||||||
bottomSheetContentWrapper = findViewById(R.id.bottomSheetContentWrapper);
|
bottomSheetContentWrapper = findViewById(R.id.bottomSheetContentWrapper);
|
||||||
@@ -287,6 +282,9 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
|
|
||||||
centerGuideline = findViewById(R.id.centerGuideline);
|
centerGuideline = findViewById(R.id.centerGuideline);
|
||||||
barcodeScaler = findViewById(R.id.barcodeScaler);
|
barcodeScaler = findViewById(R.id.barcodeScaler);
|
||||||
|
maximizeButton.setBackgroundColor(getThemeColor());
|
||||||
|
minimizeButton.setBackgroundColor(getThemeColor());
|
||||||
|
bottomSheetButton.setBackgroundColor(getThemeColor());
|
||||||
barcodeScaler.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
barcodeScaler.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||||
@@ -381,13 +379,9 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
editButton.hide();
|
editButton.hide();
|
||||||
} else if (newState == BottomSheetBehavior.STATE_EXPANDED) {
|
} else if (newState == BottomSheetBehavior.STATE_EXPANDED) {
|
||||||
bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24);
|
bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24);
|
||||||
bottomSheetButton.setContentDescription(getString(R.string.hideMoreInfo));
|
|
||||||
mainLayout.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
|
|
||||||
editButton.hide();
|
editButton.hide();
|
||||||
} else if (newState == BottomSheetBehavior.STATE_COLLAPSED) {
|
} else if (newState == BottomSheetBehavior.STATE_COLLAPSED) {
|
||||||
bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24);
|
bottomSheetButton.setImageResource(R.drawable.ic_baseline_arrow_drop_up_24);
|
||||||
bottomSheetButton.setContentDescription(getString(R.string.showMoreInfo));
|
|
||||||
mainLayout.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
|
|
||||||
if (!isFullscreen) {
|
if (!isFullscreen) {
|
||||||
editButton.show();
|
editButton.show();
|
||||||
}
|
}
|
||||||
@@ -529,7 +523,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
int expiryString = R.string.expiryStateSentence;
|
int expiryString = R.string.expiryStateSentence;
|
||||||
if (Utils.hasExpired(loyaltyCard.expiry)) {
|
if (Utils.hasExpired(loyaltyCard.expiry)) {
|
||||||
expiryString = R.string.expiryStateSentenceExpired;
|
expiryString = R.string.expiryStateSentenceExpired;
|
||||||
expiryView.setTextColor(Color.RED);
|
expiryView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.alert));
|
||||||
}
|
}
|
||||||
expiryView.setText(getString(expiryString, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.expiry)));
|
expiryView.setText(getString(expiryString, DateFormat.getDateInstance(DateFormat.LONG).format(loyaltyCard.expiry)));
|
||||||
expiryView.setTextSize(settings.getFontSizeMax(settings.getMediumFont()));
|
expiryView.setTextSize(settings.getFontSizeMax(settings.getMediumFont()));
|
||||||
@@ -567,30 +561,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
storeName.setTextColor(textColor);
|
storeName.setTextColor(textColor);
|
||||||
landscapeToolbar.setTitleTextColor(textColor);
|
landscapeToolbar.setTitleTextColor(textColor);
|
||||||
|
|
||||||
// Also apply colours to UI elements
|
|
||||||
int darkenedColor = ColorUtils.blendARGB(backgroundHeaderColor, Color.BLACK, 0.1f);
|
|
||||||
barcodeScaler.setProgressTintList(ColorStateList.valueOf(darkenedColor));
|
|
||||||
barcodeScaler.setThumbTintList(ColorStateList.valueOf(darkenedColor));
|
|
||||||
maximizeButton.setBackgroundColor(darkenedColor);
|
|
||||||
minimizeButton.setBackgroundColor(darkenedColor);
|
|
||||||
bottomSheetButton.setBackgroundColor(darkenedColor);
|
|
||||||
maximizeButton.setColorFilter(textColor);
|
|
||||||
minimizeButton.setColorFilter(textColor);
|
|
||||||
bottomSheetButton.setColorFilter(textColor);
|
|
||||||
int complementaryColor = Utils.getComplementaryColor(darkenedColor);
|
|
||||||
editButton.setBackgroundTintList(ColorStateList.valueOf(complementaryColor));
|
|
||||||
Drawable editButtonIcon = editButton.getDrawable();
|
|
||||||
editButtonIcon.mutate();
|
|
||||||
int colorPrimary = MaterialColors.getColor(this, R.attr.colorPrimary, ContextCompat.getColor(this, R.color.md_theme_light_primary));
|
|
||||||
int colorOnPrimary = MaterialColors.getColor(this, R.attr.colorOnPrimary, ContextCompat.getColor(this, R.color.md_theme_light_onPrimary));
|
|
||||||
boolean darkMode = Utils.isDarkModeEnabled(this);
|
|
||||||
if (Utils.needsDarkForeground(complementaryColor)) {
|
|
||||||
editButtonIcon.setTint(darkMode ? colorOnPrimary : colorPrimary);
|
|
||||||
} else {
|
|
||||||
editButtonIcon.setTint(darkMode ? colorPrimary : colorOnPrimary);
|
|
||||||
}
|
|
||||||
editButton.setImageDrawable(editButtonIcon);
|
|
||||||
|
|
||||||
Bitmap icon = Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon);
|
Bitmap icon = Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon);
|
||||||
if (icon != null) {
|
if (icon != null) {
|
||||||
int backgroundAlphaColor = Utils.needsDarkForeground(backgroundHeaderColor) ? Color.WHITE : Color.BLACK;
|
int backgroundAlphaColor = Utils.needsDarkForeground(backgroundHeaderColor) ? Color.WHITE : Color.BLACK;
|
||||||
@@ -651,6 +621,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
dotIndicator.removeAllViews();
|
dotIndicator.removeAllViews();
|
||||||
if (imageTypes.size() >= 2) {
|
if (imageTypes.size() >= 2) {
|
||||||
dots = new ImageView[imageTypes.size()];
|
dots = new ImageView[imageTypes.size()];
|
||||||
|
boolean darkMode = Utils.isDarkModeEnabled(getApplicationContext());
|
||||||
|
|
||||||
for (int i = 0; i < imageTypes.size(); i++) {
|
for (int i = 0; i < imageTypes.size(); i++) {
|
||||||
dots[i] = new ImageView(this);
|
dots[i] = new ImageView(this);
|
||||||
@@ -859,15 +830,12 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
|||||||
drawBarcode();
|
drawBarcode();
|
||||||
}
|
}
|
||||||
mainImage.setBackgroundColor(Color.WHITE);
|
mainImage.setBackgroundColor(Color.WHITE);
|
||||||
mainImage.setContentDescription(getString(R.string.barcodeImageDescriptionWithType, format.prettyName()));
|
|
||||||
} else if (wantedImageType == ImageType.IMAGE_FRONT) {
|
} else if (wantedImageType == ImageType.IMAGE_FRONT) {
|
||||||
mainImage.setImageBitmap(frontImageBitmap);
|
mainImage.setImageBitmap(frontImageBitmap);
|
||||||
mainImage.setBackgroundColor(Color.TRANSPARENT);
|
mainImage.setBackgroundColor(Color.TRANSPARENT);
|
||||||
mainImage.setContentDescription(getString(R.string.frontImageDescription));
|
|
||||||
} else if (wantedImageType == ImageType.IMAGE_BACK) {
|
} else if (wantedImageType == ImageType.IMAGE_BACK) {
|
||||||
mainImage.setImageBitmap(backImageBitmap);
|
mainImage.setImageBitmap(backImageBitmap);
|
||||||
mainImage.setBackgroundColor(Color.TRANSPARENT);
|
mainImage.setBackgroundColor(Color.TRANSPARENT);
|
||||||
mainImage.setContentDescription(getString(R.string.backImageDescription));
|
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("Unknown image type: " + wantedImageType);
|
throw new IllegalArgumentException("Unknown image type: " + wantedImageType);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
private ActionMode mCurrentActionMode;
|
private ActionMode mCurrentActionMode;
|
||||||
private SearchView mSearchView;
|
private SearchView mSearchView;
|
||||||
private GestureDetector mGestureDetector;
|
private GestureDetector mGestureDetector;
|
||||||
private int mLoyaltyCardCount = 0;
|
|
||||||
protected String mFilter = "";
|
protected String mFilter = "";
|
||||||
protected Object mGroup = null;
|
protected Object mGroup = null;
|
||||||
protected DBHelper.LoyaltyCardOrder mOrder = DBHelper.LoyaltyCardOrder.Alpha;
|
protected DBHelper.LoyaltyCardOrder mOrder = DBHelper.LoyaltyCardOrder.Alpha;
|
||||||
@@ -141,6 +140,8 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
builder.setPositiveButton(R.string.confirm, (dialog, which) -> {
|
||||||
|
DBHelper db = new DBHelper(MainActivity.this);
|
||||||
|
|
||||||
for (LoyaltyCard loyaltyCard : mAdapter.getSelectedItems()) {
|
for (LoyaltyCard loyaltyCard : mAdapter.getSelectedItems()) {
|
||||||
Log.e(TAG, "Deleting card: " + loyaltyCard.id);
|
Log.e(TAG, "Deleting card: " + loyaltyCard.id);
|
||||||
|
|
||||||
@@ -152,7 +153,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
TabLayout.Tab tab = ((TabLayout) findViewById(R.id.groups)).getTabAt(selectedTab);
|
TabLayout.Tab tab = ((TabLayout) findViewById(R.id.groups)).getTabAt(selectedTab);
|
||||||
mGroup = tab != null ? tab.getTag() : null;
|
mGroup = tab != null ? tab.getTag() : null;
|
||||||
|
|
||||||
updateLoyaltyCardList(true);
|
updateLoyaltyCardList();
|
||||||
|
|
||||||
dialog.dismiss();
|
dialog.dismiss();
|
||||||
});
|
});
|
||||||
@@ -178,8 +179,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
super.onCreate(inputSavedInstanceState);
|
super.onCreate(inputSavedInstanceState);
|
||||||
SplashScreen.installSplashScreen(this);
|
SplashScreen.installSplashScreen(this);
|
||||||
setTitle(R.string.app_name);
|
setTitle(R.string.app_name);
|
||||||
// XXX color patching has to be done again after setting splash screen
|
|
||||||
Utils.patchColors(this);
|
|
||||||
setContentView(R.layout.main_activity);
|
setContentView(R.layout.main_activity);
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
@@ -193,7 +192,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
selectedTab = tab.getPosition();
|
selectedTab = tab.getPosition();
|
||||||
Log.d("onTabSelected", "Tab Position " + tab.getPosition());
|
Log.d("onTabSelected", "Tab Position " + tab.getPosition());
|
||||||
mGroup = tab.getTag();
|
mGroup = tab.getTag();
|
||||||
updateLoyaltyCardList(false);
|
updateLoyaltyCardList();
|
||||||
// Store active tab in Shared Preference to restore next app launch
|
// Store active tab in Shared Preference to restore next app launch
|
||||||
SharedPreferences activeTabPref = getApplicationContext().getSharedPreferences(
|
SharedPreferences activeTabPref = getApplicationContext().getSharedPreferences(
|
||||||
getString(R.string.sharedpreference_active_tab),
|
getString(R.string.sharedpreference_active_tab),
|
||||||
@@ -233,7 +232,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
registerForContextMenu(mCardList);
|
registerForContextMenu(mCardList);
|
||||||
|
|
||||||
mGroup = null;
|
mGroup = null;
|
||||||
updateLoyaltyCardList(true);
|
updateLoyaltyCardList();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This was added for Huawei, but Huawei is just too much of a fucking pain.
|
* This was added for Huawei, but Huawei is just too much of a fucking pain.
|
||||||
@@ -337,7 +336,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
assert tab != null;
|
assert tab != null;
|
||||||
mGroup = tab.getTag();
|
mGroup = tab.getTag();
|
||||||
}
|
}
|
||||||
updateLoyaltyCardList(true);
|
updateLoyaltyCardList();
|
||||||
// End of active tab logic
|
// End of active tab logic
|
||||||
|
|
||||||
FloatingActionButton addButton = findViewById(R.id.fabAdd);
|
FloatingActionButton addButton = findViewById(R.id.fabAdd);
|
||||||
@@ -363,17 +362,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
super.onBackPressed();
|
super.onBackPressed();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayCardSetupOptions(Menu menu, boolean shouldShow) {
|
private void updateLoyaltyCardList() {
|
||||||
for (int id : new int[]{R.id.action_search, R.id.action_unfold, R.id.action_sort}) {
|
|
||||||
menu.findItem(id).setVisible(shouldShow);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateLoyaltyCardCount() {
|
|
||||||
mLoyaltyCardCount = DBHelper.getLoyaltyCardCount(mDatabase);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateLoyaltyCardList(boolean updateCount) {
|
|
||||||
Group group = null;
|
Group group = null;
|
||||||
if (mGroup != null) {
|
if (mGroup != null) {
|
||||||
group = (Group) mGroup;
|
group = (Group) mGroup;
|
||||||
@@ -381,19 +370,12 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
|
|
||||||
mAdapter.swapCursor(DBHelper.getLoyaltyCardCursor(mDatabase, mFilter, group, mOrder, mOrderDirection));
|
mAdapter.swapCursor(DBHelper.getLoyaltyCardCursor(mDatabase, mFilter, group, mOrder, mOrderDirection));
|
||||||
|
|
||||||
if (updateCount) {
|
if (DBHelper.getLoyaltyCardCount(mDatabase) > 0) {
|
||||||
updateLoyaltyCardCount();
|
|
||||||
// Update menu icons if necessary
|
|
||||||
invalidateOptionsMenu();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mLoyaltyCardCount > 0) {
|
|
||||||
// We want the cardList to be visible regardless of the filtered match count
|
// We want the cardList to be visible regardless of the filtered match count
|
||||||
// to ensure that the noMatchingCardsText doesn't end up being shown below
|
// to ensure that the noMatchingCardsText doesn't end up being shown below
|
||||||
// the keyboard
|
// the keyboard
|
||||||
mHelpText.setVisibility(View.GONE);
|
mHelpText.setVisibility(View.GONE);
|
||||||
mNoGroupCardsText.setVisibility(View.GONE);
|
mNoGroupCardsText.setVisibility(View.GONE);
|
||||||
|
|
||||||
if (mAdapter.getItemCount() > 0) {
|
if (mAdapter.getItemCount() > 0) {
|
||||||
mCardList.setVisibility(View.VISIBLE);
|
mCardList.setVisibility(View.VISIBLE);
|
||||||
mNoMatchingCardsText.setVisibility(View.GONE);
|
mNoMatchingCardsText.setVisibility(View.GONE);
|
||||||
@@ -412,7 +394,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
} else {
|
} else {
|
||||||
mCardList.setVisibility(View.GONE);
|
mCardList.setVisibility(View.GONE);
|
||||||
mHelpText.setVisibility(View.VISIBLE);
|
mHelpText.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
mNoMatchingCardsText.setVisibility(View.GONE);
|
mNoMatchingCardsText.setVisibility(View.GONE);
|
||||||
mNoGroupCardsText.setVisibility(View.GONE);
|
mNoGroupCardsText.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
@@ -452,8 +433,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
public boolean onCreateOptionsMenu(Menu inputMenu) {
|
public boolean onCreateOptionsMenu(Menu inputMenu) {
|
||||||
getMenuInflater().inflate(R.menu.main_menu, inputMenu);
|
getMenuInflater().inflate(R.menu.main_menu, inputMenu);
|
||||||
|
|
||||||
displayCardSetupOptions(inputMenu, mLoyaltyCardCount > 0);
|
|
||||||
|
|
||||||
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
|
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
|
||||||
if (searchManager != null) {
|
if (searchManager != null) {
|
||||||
mSearchView = (SearchView) inputMenu.findItem(R.id.action_search).getActionView();
|
mSearchView = (SearchView) inputMenu.findItem(R.id.action_search).getActionView();
|
||||||
@@ -479,7 +458,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
TabLayout.Tab currentTab = groupsTabLayout.getTabAt(groupsTabLayout.getSelectedTabPosition());
|
TabLayout.Tab currentTab = groupsTabLayout.getTabAt(groupsTabLayout.getSelectedTabPosition());
|
||||||
mGroup = currentTab != null ? currentTab.getTag() : null;
|
mGroup = currentTab != null ? currentTab.getTag() : null;
|
||||||
|
|
||||||
updateLoyaltyCardList(false);
|
updateLoyaltyCardList();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -509,6 +488,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (id == R.id.action_sort) {
|
if (id == R.id.action_sort) {
|
||||||
|
TabLayout.Tab tab = ((TabLayout) findViewById(R.id.groups)).getTabAt(selectedTab);
|
||||||
AtomicInteger currentIndex = new AtomicInteger();
|
AtomicInteger currentIndex = new AtomicInteger();
|
||||||
List<DBHelper.LoyaltyCardOrder> loyaltyCardOrders = Arrays.asList(DBHelper.LoyaltyCardOrder.values());
|
List<DBHelper.LoyaltyCardOrder> loyaltyCardOrders = Arrays.asList(DBHelper.LoyaltyCardOrder.values());
|
||||||
for (int i = 0; i < loyaltyCardOrders.size(); i++) {
|
for (int i = 0; i < loyaltyCardOrders.size(); i++) {
|
||||||
@@ -588,7 +568,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
|||||||
sortPrefEditor.apply();
|
sortPrefEditor.apply();
|
||||||
|
|
||||||
// Update card list
|
// Update card list
|
||||||
updateLoyaltyCardList(false);
|
updateLoyaltyCardList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
|
|
||||||
public class ManageGroupCursorAdapter extends LoyaltyCardCursorAdapter {
|
public class ManageGroupCursorAdapter extends LoyaltyCardCursorAdapter {
|
||||||
private HashMap<Integer, Integer> mIndexCardMap;
|
private HashMap<Integer, Integer> mIndexCardMap;
|
||||||
private HashMap<Integer, Boolean> mInGroupOverlay;
|
private HashMap<Integer, Boolean> mInGroupOverlay;
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createGroup() {
|
private void createGroup() {
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AlertDialogTheme);
|
||||||
builder.setTitle(R.string.enter_group_name);
|
builder.setTitle(R.string.enter_group_name);
|
||||||
final EditText input = new EditText(this);
|
final EditText input = new EditText(this);
|
||||||
input.setInputType(InputType.TYPE_CLASS_TEXT);
|
input.setInputType(InputType.TYPE_CLASS_TEXT);
|
||||||
|
|||||||
29
app/src/main/java/protect/card_locker/NotificationType.java
Normal file
29
app/src/main/java/protect/card_locker/NotificationType.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package protect.card_locker;
|
||||||
|
|
||||||
|
import android.app.NotificationChannel;
|
||||||
|
import android.app.NotificationManager;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Build;
|
||||||
|
|
||||||
|
public class NotificationType {
|
||||||
|
private final static String NOTIFICATION_IMPORT_EXPORT = "NOTIFICATION_IMPORT_EXPORT";
|
||||||
|
|
||||||
|
public static String getImportExportChannel(Context context) {
|
||||||
|
createNotificationChannel(context, NOTIFICATION_IMPORT_EXPORT, context.getString(R.string.importExport), context.getString(R.string.importExportDescription), NotificationManager.IMPORTANCE_HIGH);
|
||||||
|
|
||||||
|
return NOTIFICATION_IMPORT_EXPORT;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void createNotificationChannel(Context context, String channelId, CharSequence name, String description, int importance) {
|
||||||
|
// Create the NotificationType, but only on API 26+ because
|
||||||
|
// the NotificationType class is new and not in the support library
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
NotificationChannel channel = new NotificationChannel(channelId, name, importance);
|
||||||
|
channel.setDescription(description);
|
||||||
|
// Register the channel with the system; you can't change the importance
|
||||||
|
// or other notification behaviors after this
|
||||||
|
NotificationManager notificationManager = context.getSystemService(NotificationManager.class);
|
||||||
|
notificationManager.createNotificationChannel(channel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
package protect.card_locker;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.graphics.Typeface;
|
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.FrameLayout;
|
|
||||||
import android.widget.LinearLayout;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.appcompat.widget.AppCompatImageView;
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
import androidx.core.graphics.ColorUtils;
|
|
||||||
|
|
||||||
import com.google.android.material.color.MaterialColors;
|
|
||||||
import com.google.android.material.textview.MaterialTextView;
|
|
||||||
import com.yalantis.ucrop.UCropActivity;
|
|
||||||
|
|
||||||
public class UCropWrapper extends UCropActivity {
|
|
||||||
public static final String UCROP_TOOLBAR_TYPEFACE_STYLE = "ucop_toolbar_typeface_style";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostCreate(@Nullable Bundle savedInstanceState) {
|
|
||||||
super.onPostCreate(savedInstanceState);
|
|
||||||
boolean darkMode = Utils.isDarkModeEnabled(this);
|
|
||||||
// setup status bar to look like the rest of the app
|
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
|
||||||
getWindow().getDecorView().setSystemUiVisibility(darkMode ? 0 : View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
|
||||||
} else {
|
|
||||||
// icons are always white back then
|
|
||||||
if (!darkMode) {
|
|
||||||
getWindow().setStatusBarColor(ColorUtils.compositeColors(Color.argb(127, 0, 0, 0), getWindow().getStatusBarColor()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// find and check views that we wish to color modify
|
|
||||||
// for when we update ucrop or switch to another cropper
|
|
||||||
View check = findViewById(com.yalantis.ucrop.R.id.wrapper_controls);
|
|
||||||
if (check instanceof FrameLayout) {
|
|
||||||
FrameLayout controls = (FrameLayout) check;
|
|
||||||
check = findViewById(com.yalantis.ucrop.R.id.wrapper_states);
|
|
||||||
if (check instanceof LinearLayout) {
|
|
||||||
LinearLayout states = (LinearLayout) check;
|
|
||||||
for (int i = 0; i < controls.getChildCount(); i++) {
|
|
||||||
check = controls.getChildAt(i);
|
|
||||||
if (check instanceof AppCompatImageView) {
|
|
||||||
AppCompatImageView controlsBackgroundImage = (AppCompatImageView) check;
|
|
||||||
// everything gathered and are as expected, now perform color patching
|
|
||||||
Utils.patchColors(this);
|
|
||||||
int colorSurface = MaterialColors.getColor(this, R.attr.colorSurface, ContextCompat.getColor(this, R.color.md_theme_light_surface));
|
|
||||||
int colorOnSurface = MaterialColors.getColor(this, R.attr.colorOnSurface, ContextCompat.getColor(this, R.color.md_theme_light_onSurface));
|
|
||||||
|
|
||||||
Drawable controlsBackgroundImageDrawable = controlsBackgroundImage.getBackground();
|
|
||||||
controlsBackgroundImageDrawable.mutate();
|
|
||||||
controlsBackgroundImageDrawable.setTint(darkMode ? colorOnSurface : colorSurface);
|
|
||||||
controlsBackgroundImage.setBackgroundDrawable(controlsBackgroundImageDrawable);
|
|
||||||
|
|
||||||
states.setBackgroundColor(darkMode ? colorSurface : colorOnSurface);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// change toolbar font
|
|
||||||
check = findViewById(com.yalantis.ucrop.R.id.toolbar_title);
|
|
||||||
if (check instanceof MaterialTextView) {
|
|
||||||
MaterialTextView toolbarTextview = (MaterialTextView) check;
|
|
||||||
Intent intent = getIntent();
|
|
||||||
int style = intent.getIntExtra(UCROP_TOOLBAR_TYPEFACE_STYLE, -1);
|
|
||||||
if (style != -1) {
|
|
||||||
toolbarTextview.setTypeface(Typeface.defaultFromStyle(style));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -14,10 +14,8 @@ import android.os.Build;
|
|||||||
import android.os.LocaleList;
|
import android.os.LocaleList;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.TypedValue;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.android.material.color.DynamicColors;
|
|
||||||
import com.google.zxing.BinaryBitmap;
|
import com.google.zxing.BinaryBitmap;
|
||||||
import com.google.zxing.LuminanceSource;
|
import com.google.zxing.LuminanceSource;
|
||||||
import com.google.zxing.MultiFormatReader;
|
import com.google.zxing.MultiFormatReader;
|
||||||
@@ -41,11 +39,9 @@ import java.util.GregorianCalendar;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
import androidx.core.graphics.ColorUtils;
|
import androidx.core.graphics.ColorUtils;
|
||||||
import androidx.exifinterface.media.ExifInterface;
|
import androidx.exifinterface.media.ExifInterface;
|
||||||
|
|
||||||
import protect.card_locker.preferences.Settings;
|
import protect.card_locker.preferences.Settings;
|
||||||
|
|
||||||
public class Utils {
|
public class Utils {
|
||||||
@@ -210,7 +206,7 @@ public class Utils {
|
|||||||
|
|
||||||
if (currency == null) {
|
if (currency == null) {
|
||||||
numberFormat.setMaximumFractionDigits(0);
|
numberFormat.setMaximumFractionDigits(0);
|
||||||
return context.getResources().getQuantityString(R.plurals.balancePoints, value.intValue(), numberFormat.format(value));
|
return context.getString(R.string.balancePoints, numberFormat.format(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
|
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
|
||||||
@@ -452,58 +448,4 @@ public class Utils {
|
|||||||
return loadImage(context.getCacheDir() + "/" + name);
|
return loadImage(context.getCacheDir() + "/" + name);
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://stackoverflow.com/a/59324801/8378787
|
|
||||||
public static int getComplementaryColor(int color) {
|
|
||||||
int R = color & 255;
|
|
||||||
int G = (color >> 8) & 255;
|
|
||||||
int B = (color >> 16) & 255;
|
|
||||||
int A = (color >> 24) & 255;
|
|
||||||
R = 255 - R;
|
|
||||||
G = 255 - G;
|
|
||||||
B = 255 - B;
|
|
||||||
return R + (G << 8) + (B << 16) + (A << 24);
|
|
||||||
}
|
|
||||||
|
|
||||||
// replace colors in the current theme
|
|
||||||
public static void patchColors(AppCompatActivity activity) {
|
|
||||||
Settings settings = new Settings(activity);
|
|
||||||
String color = settings.getColor();
|
|
||||||
|
|
||||||
Resources.Theme theme = activity.getTheme();
|
|
||||||
Resources resources = activity.getResources();
|
|
||||||
if (color.equals(resources.getString(R.string.settings_key_pink_theme))) {
|
|
||||||
theme.applyStyle(R.style.pink, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_magenta_theme))) {
|
|
||||||
theme.applyStyle(R.style.magenta, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_violet_theme))) {
|
|
||||||
theme.applyStyle(R.style.violet, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_blue_theme))) {
|
|
||||||
theme.applyStyle(R.style.blue, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_sky_blue_theme))) {
|
|
||||||
theme.applyStyle(R.style.skyblue, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_green_theme))) {
|
|
||||||
theme.applyStyle(R.style.green, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_brown_theme))) {
|
|
||||||
theme.applyStyle(R.style.brown, true);
|
|
||||||
} else if (color.equals(resources.getString(R.string.settings_key_catima_theme))) {
|
|
||||||
// catima theme is AppTheme itself, no dynamic colors nor applyStyle
|
|
||||||
} else {
|
|
||||||
// final catch all in case of invalid theme value from older versions
|
|
||||||
// also handles R.string.settings_key_system_theme
|
|
||||||
DynamicColors.applyIfAvailable(activity);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isDarkModeEnabled(activity) && settings.getOledDark()) {
|
|
||||||
theme.applyStyle(R.style.DarkBackground, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// XXX android 9 and below has issues with patched theme where the background becomes a
|
|
||||||
// rendering mess
|
|
||||||
// use after views are inflated
|
|
||||||
public static void postPatchColors(AppCompatActivity activity) {
|
|
||||||
TypedValue typedValue = new TypedValue();
|
|
||||||
activity.getTheme().resolveAttribute(android.R.attr.colorBackground, typedValue, true);
|
|
||||||
activity.findViewById(android.R.id.content).setBackgroundColor(typedValue.data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import android.database.sqlite.SQLiteDatabase;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
|
import protect.card_locker.DBHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for a class which can export the contents of the database
|
* Interface for a class which can export the contents of the database
|
||||||
* in a given format.
|
* in a given format.
|
||||||
|
|||||||
@@ -1,23 +1,7 @@
|
|||||||
package protect.card_locker.importexport;
|
package protect.card_locker.importexport;
|
||||||
|
|
||||||
public class ImportExportResult {
|
public enum ImportExportResult {
|
||||||
private ImportExportResultType resultType;
|
Success,
|
||||||
private String developerDetails;
|
GenericFailure,
|
||||||
|
BadPassword;
|
||||||
public ImportExportResult(ImportExportResultType resultType) {
|
|
||||||
this(resultType, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ImportExportResult(ImportExportResultType resultType, String developerDetails) {
|
|
||||||
this.resultType = resultType;
|
|
||||||
this.developerDetails = developerDetails;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ImportExportResultType resultType() {
|
|
||||||
return resultType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String developerDetails() {
|
|
||||||
return developerDetails;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
package protect.card_locker.importexport;
|
|
||||||
|
|
||||||
public enum ImportExportResultType {
|
|
||||||
Success,
|
|
||||||
GenericFailure,
|
|
||||||
BadPassword;
|
|
||||||
}
|
|
||||||
@@ -7,6 +7,8 @@ import android.util.Log;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
|
||||||
|
import protect.card_locker.DBHelper;
|
||||||
|
|
||||||
public class MultiFormatExporter {
|
public class MultiFormatExporter {
|
||||||
private static final String TAG = "Catima";
|
private static final String TAG = "Catima";
|
||||||
|
|
||||||
@@ -32,20 +34,20 @@ public class MultiFormatExporter {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
String error;
|
|
||||||
if (exporter != null) {
|
if (exporter != null) {
|
||||||
try {
|
try {
|
||||||
exporter.exportData(context, database, output, password);
|
exporter.exportData(context, database, output, password);
|
||||||
return new ImportExportResult(ImportExportResultType.Success);
|
return ImportExportResult.Success;
|
||||||
} catch (Exception e) {
|
} catch (IOException e) {
|
||||||
|
Log.e(TAG, "Failed to export data", e);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
Log.e(TAG, "Failed to export data", e);
|
Log.e(TAG, "Failed to export data", e);
|
||||||
error = e.toString();
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
error = "Unsupported data format exported: " + format.name();
|
|
||||||
Log.e(TAG, error);
|
|
||||||
}
|
|
||||||
|
|
||||||
return new ImportExportResult(ImportExportResultType.GenericFailure, error);
|
return ImportExportResult.GenericFailure;
|
||||||
|
} else {
|
||||||
|
Log.e(TAG, "Unsupported data format exported: " + format.name());
|
||||||
|
return ImportExportResult.GenericFailure;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
||||||
|
import protect.card_locker.DBHelper;
|
||||||
import protect.card_locker.FormatException;
|
import protect.card_locker.FormatException;
|
||||||
|
|
||||||
public class MultiFormatImporter {
|
public class MultiFormatImporter {
|
||||||
@@ -46,26 +47,23 @@ public class MultiFormatImporter {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
String error = null;
|
|
||||||
if (importer != null) {
|
if (importer != null) {
|
||||||
database.beginTransaction();
|
database.beginTransaction();
|
||||||
try {
|
try {
|
||||||
importer.importData(context, database, input, password);
|
importer.importData(context, database, input, password);
|
||||||
database.setTransactionSuccessful();
|
database.setTransactionSuccessful();
|
||||||
return new ImportExportResult(ImportExportResultType.Success);
|
return ImportExportResult.Success;
|
||||||
} catch (ZipException e) {
|
} catch (ZipException e) {
|
||||||
return new ImportExportResult(ImportExportResultType.BadPassword);
|
return ImportExportResult.BadPassword;
|
||||||
} catch (IOException | FormatException | InterruptedException | JSONException | ParseException | NullPointerException e) {
|
} catch (IOException | FormatException | InterruptedException | JSONException | ParseException | NullPointerException e) {
|
||||||
Log.e(TAG, "Failed to import data", e);
|
Log.e(TAG, "Failed to import data", e);
|
||||||
error = e.toString();
|
|
||||||
} finally {
|
} finally {
|
||||||
database.endTransaction();
|
database.endTransaction();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
error = "Unsupported data format imported: " + format.name();
|
Log.e(TAG, "Unsupported data format imported: " + format.name());
|
||||||
Log.e(TAG, error);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ImportExportResult(ImportExportResultType.GenericFailure, error);
|
return ImportExportResult.GenericFailure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import androidx.annotation.IntegerRes;
|
|||||||
import androidx.annotation.StringRes;
|
import androidx.annotation.StringRes;
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
|
|
||||||
import protect.card_locker.R;
|
import protect.card_locker.R;
|
||||||
import protect.card_locker.Utils;
|
import protect.card_locker.Utils;
|
||||||
|
|
||||||
@@ -103,12 +102,4 @@ public class Settings {
|
|||||||
public boolean getDisableLockscreenWhileViewingCard() {
|
public boolean getDisableLockscreenWhileViewingCard() {
|
||||||
return getBoolean(R.string.settings_key_disable_lockscreen_while_viewing_card, true);
|
return getBoolean(R.string.settings_key_disable_lockscreen_while_viewing_card, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getOledDark() {
|
|
||||||
return getBoolean(R.string.settings_key_oled_dark, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getColor() {
|
|
||||||
return getString(R.string.setting_key_theme_color, mContext.getResources().getString(R.string.settings_key_system_theme));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,6 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
import androidx.appcompat.app.AppCompatDelegate;
|
import androidx.appcompat.app.AppCompatDelegate;
|
||||||
@@ -19,7 +15,9 @@ import androidx.preference.ListPreference;
|
|||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
|
|
||||||
import com.google.android.material.color.DynamicColors;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import nl.invissvenska.numberpickerpreference.NumberDialogPreference;
|
import nl.invissvenska.numberpickerpreference.NumberDialogPreference;
|
||||||
import nl.invissvenska.numberpickerpreference.NumberPickerPreferenceDialogFragment;
|
import nl.invissvenska.numberpickerpreference.NumberPickerPreferenceDialogFragment;
|
||||||
@@ -131,28 +129,16 @@ public class SettingsActivity extends CatimaAppCompatActivity {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
localePreference.setOnPreferenceChangeListener((preference, newValue) -> {
|
Preference colorPreference = findPreference(getResources().getString(R.string.setting_key_theme_color));
|
||||||
refreshActivity(true);
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
Preference oledDarkPreference = findPreference(getResources().getString(R.string.settings_key_oled_dark));
|
|
||||||
assert oledDarkPreference != null;
|
|
||||||
oledDarkPreference.setOnPreferenceChangeListener((preference, newValue) -> {
|
|
||||||
refreshActivity(true);
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
ListPreference colorPreference = findPreference(getResources().getString(R.string.setting_key_theme_color));
|
|
||||||
assert colorPreference != null;
|
assert colorPreference != null;
|
||||||
colorPreference.setOnPreferenceChangeListener((preference, o) -> {
|
colorPreference.setOnPreferenceChangeListener((preference, o) -> {
|
||||||
refreshActivity(true);
|
refreshActivity(true);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
if (!DynamicColors.isDynamicColorAvailable()) {
|
localePreference.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||||
colorPreference.setEntryValues(R.array.color_values_no_dynamic);
|
refreshActivity(true);
|
||||||
colorPreference.setEntries(R.array.color_value_strings_no_dynamic);
|
return true;
|
||||||
}
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshActivity(boolean reloadMain) {
|
private void refreshActivity(boolean reloadMain) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M7,10l5,5 5,-5z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M7,10l5,5 5,-5z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M7,14l5,-5 5,5z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M7,14l5,-5 5,5z"/>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<vector android:autoMirrored="true" android:height="24dp"
|
<vector android:autoMirrored="true" android:height="24dp"
|
||||||
android:tint="?attr/colorControlNormal" android:viewportHeight="24"
|
android:tint="#FFFFFF" android:viewportHeight="24"
|
||||||
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M7.41,18.59L8.83,20 12,16.83 15.17,20l1.41,-1.41L12,14l-4.59,4.59zM16.59,5.41L15.17,4 12,7.17 8.83,4 7.41,5.41 12,10l4.59,-4.59z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M7.41,18.59L8.83,20 12,16.83 15.17,20l1.41,-1.41L12,14l-4.59,4.59zM16.59,5.41L15.17,4 12,7.17 8.83,4 7.41,5.41 12,10l4.59,-4.59z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M12,5.83L15.17,9l1.41,-1.41L12,3 7.41,7.59 8.83,9 12,5.83zM12,18.17L8.83,15l-1.41,1.41L12,21l4.59,-4.59L15.17,15 12,18.17z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M12,5.83L15.17,9l1.41,-1.41L12,3 7.41,7.59 8.83,9 12,5.83zM12,18.17L8.83,15l-1.41,1.41L12,21l4.59,-4.59L15.17,15 12,18.17z"/>
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24"
|
android:viewportHeight="24">
|
||||||
android:tint="?attr/colorControlNormal">
|
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFFFF"
|
android:fillColor="#FFFFFFFF"
|
||||||
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
|
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
|
android:tint="@color/colorPrimary"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24"
|
android:viewportHeight="24">
|
||||||
android:tint="?attr/colorControlNormal">
|
|
||||||
<path
|
<path
|
||||||
android:fillColor="#FFFFFF"
|
android:fillColor="#FFFFFF"
|
||||||
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>
|
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24"
|
android:viewportHeight="24">
|
||||||
android:tint="?attr/colorControlNormal">
|
|
||||||
<path
|
<path
|
||||||
android:pathData="M18,5l0,-3l-12,0l0,1.17l1.83,1.83z"
|
android:pathData="M18,5l0,-3l-12,0l0,1.17l1.83,1.83z"
|
||||||
android:fillColor="#FFFFFF"/>
|
android:fillColor="#FFFFFF"/>
|
||||||
|
|||||||
@@ -2,8 +2,7 @@
|
|||||||
android:width="24dp"
|
android:width="24dp"
|
||||||
android:height="24dp"
|
android:height="24dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24"
|
android:viewportHeight="24">
|
||||||
android:tint="?attr/colorControlNormal">
|
|
||||||
<path
|
<path
|
||||||
android:pathData="M6,2h12v3h-12z"
|
android:pathData="M6,2h12v3h-12z"
|
||||||
android:fillColor="#FFFFFF"/>
|
android:fillColor="#FFFFFF"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M12,17c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6h1.9c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM18,20L6,20L6,10h12v10z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M12,17c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6h1.9c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM18,20L6,20L6,10h12v10z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
|
||||||
|
|||||||
4
app/src/main/res/drawable/list_row.xml
Normal file
4
app/src/main/res/drawable/list_row.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:drawable="@color/listItemHighlight" android:state_activated="true" />
|
||||||
|
</selector>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<vector android:height="24dp" android:tint="?attr/colorControlNormal"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24" android:viewportWidth="24"
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>
|
<path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z"/>
|
||||||
|
|||||||
@@ -10,13 +10,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay"/>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
@@ -44,6 +46,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/version_history"
|
android:text="@string/version_history"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -58,12 +61,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/version_history_main" />
|
app:layout_constraintTop_toBottomOf="@id/version_history_main" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -83,6 +86,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/credits"
|
android:text="@string/credits"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -97,12 +101,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/credits_main" />
|
app:layout_constraintTop_toBottomOf="@id/credits_main" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -122,6 +126,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/help_translate_this_app"
|
android:text="@string/help_translate_this_app"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -138,12 +143,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/translate_main"/>
|
app:layout_constraintTop_toBottomOf="@id/translate_main"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -163,6 +168,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/license"
|
android:text="@string/license"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -179,12 +185,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/license_main"/>
|
app:layout_constraintTop_toBottomOf="@id/license_main"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -204,6 +210,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/source_repository"
|
android:text="@string/source_repository"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -219,12 +226,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/repo_main" />
|
app:layout_constraintTop_toBottomOf="@id/repo_main" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -244,6 +251,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/privacy_policy"
|
android:text="@string/privacy_policy"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -259,12 +267,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/privacy_main" />
|
app:layout_constraintTop_toBottomOf="@id/privacy_main" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -284,6 +292,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/rate_this_app"
|
android:text="@string/rate_this_app"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -299,12 +308,12 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/rate_main" />
|
app:layout_constraintTop_toBottomOf="@id/rate_main" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -324,6 +333,7 @@
|
|||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
android:text="@string/report_error"
|
android:text="@string/report_error"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="18sp"
|
android:textSize="18sp"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -339,12 +349,12 @@
|
|||||||
android:padding="2dp"/>
|
android:padding="2dp"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fontFamily="sans-serif-medium"
|
android:fontFamily="sans-serif-medium"
|
||||||
android:text="@string/arrow"
|
android:text="@string/arrow"
|
||||||
|
android:textColor="@color/colorSecondaryText"
|
||||||
android:textSize="20sp"
|
android:textSize="20sp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -22,13 +22,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay" />
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
android:id="@+id/groups"
|
android:id="@+id/groups"
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<ImageView
|
<ImageView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/barcode_disp_height"
|
android:layout_height="@dimen/barcode_disp_height"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
|
|||||||
@@ -2,19 +2,19 @@
|
|||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="fill_parent">
|
android:layout_height="fill_parent">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay" />
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
@@ -62,8 +62,7 @@
|
|||||||
android:hint="AB1234"
|
android:hint="AB1234"
|
||||||
android:importantForAutofill="no"
|
android:importantForAutofill="no"
|
||||||
android:inputType="text"
|
android:inputType="text"
|
||||||
android:minHeight="48dp"
|
android:minHeight="48dp" />
|
||||||
tools:ignore="ContentDescription" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/noBarcode"
|
android:id="@+id/noBarcode"
|
||||||
|
|||||||
@@ -42,9 +42,8 @@
|
|||||||
app:spanCount="@integer/main_view_card_columns"
|
app:spanCount="@integer/main_view_card_columns"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:paddingBottom="80dp"
|
|
||||||
android:clipToPadding="false"
|
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
|
android:background="@color/mainLoyaltyCardBackground"
|
||||||
android:visibility="gone"/>
|
android:visibility="gone"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|||||||
@@ -43,7 +43,8 @@
|
|||||||
android:layout_height="@dimen/cardThumbnailSize"
|
android:layout_height="@dimen/cardThumbnailSize"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
|
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
|
||||||
android:contentDescription="@string/moveUp"/>
|
android:contentDescription="@string/moveUp"
|
||||||
|
app:tint="@color/iconColor"/>
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/moveDown"
|
android:id="@+id/moveDown"
|
||||||
@@ -51,7 +52,8 @@
|
|||||||
android:layout_height="@dimen/cardThumbnailSize"
|
android:layout_height="@dimen/cardThumbnailSize"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
|
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
|
||||||
android:contentDescription="@string/moveDown"/>
|
android:contentDescription="@string/moveDown"
|
||||||
|
app:tint="@color/iconColor"/>
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/edit"
|
android:id="@+id/edit"
|
||||||
@@ -59,7 +61,8 @@
|
|||||||
android:layout_height="@dimen/cardThumbnailSize"
|
android:layout_height="@dimen/cardThumbnailSize"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
app:srcCompat="@drawable/ic_mode_edit_white_24dp"
|
app:srcCompat="@drawable/ic_mode_edit_white_24dp"
|
||||||
android:contentDescription="@string/edit"/>
|
android:contentDescription="@string/edit"
|
||||||
|
app:tint="@color/iconColor"/>
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/delete"
|
android:id="@+id/delete"
|
||||||
@@ -67,7 +70,8 @@
|
|||||||
android:layout_height="@dimen/cardThumbnailSize"
|
android:layout_height="@dimen/cardThumbnailSize"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
app:srcCompat="@drawable/ic_delete_white_24dp"
|
app:srcCompat="@drawable/ic_delete_white_24dp"
|
||||||
android:contentDescription="@string/delete"/>
|
android:contentDescription="@string/delete"
|
||||||
|
app:tint="@color/iconColor"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,6 @@
|
|||||||
android:id="@+id/list"
|
android:id="@+id/list"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:paddingBottom="80dp"
|
|
||||||
android:clipToPadding="false"
|
|
||||||
android:scrollbars="vertical"
|
android:scrollbars="vertical"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|||||||
@@ -7,13 +7,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay" />
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingLeft="8dp"
|
android:paddingLeft="8dp"
|
||||||
android:paddingRight="8dp"
|
android:paddingRight="8dp"
|
||||||
style="@style/Widget.MaterialComponents.Chip.Filter"
|
style="@style/Widget.MaterialComponents.Chip.Choice"
|
||||||
app:checkedIconVisible="true"
|
app:checkedIconVisible="true"
|
||||||
android:textAppearance="?android:attr/textAppearance" />
|
android:textAppearance="?android:attr/textAppearance" />
|
||||||
@@ -18,13 +18,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay" />
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
android:id="@+id/tabs"
|
android:id="@+id/tabs"
|
||||||
@@ -37,7 +39,7 @@
|
|||||||
<com.google.android.material.tabs.TabItem
|
<com.google.android.material.tabs.TabItem
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/options"/>
|
android:text="@string/barcode"/>
|
||||||
<com.google.android.material.tabs.TabItem
|
<com.google.android.material.tabs.TabItem
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -48,6 +50,7 @@
|
|||||||
|
|
||||||
<ScrollView android:layout_width="fill_parent"
|
<ScrollView android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/inputContrastBackground"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||||
<TableLayout
|
<TableLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -125,94 +128,6 @@
|
|||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<!-- Barcode ID -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingHorizontal="@dimen/inputPadding"
|
|
||||||
android:paddingTop="@dimen/inputPadding"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<!-- Barcode ID -->
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
|
||||||
android:id="@+id/barcodeIdView"
|
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1.0"
|
|
||||||
android:hint="@string/barcodeId"
|
|
||||||
android:labelFor="@+id/barcodeIdView">
|
|
||||||
|
|
||||||
<AutoCompleteTextView
|
|
||||||
android:id="@+id/barcodeIdField"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:inputType="none"/>
|
|
||||||
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Barcode type -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingHorizontal="@dimen/inputPadding"
|
|
||||||
android:paddingTop="@dimen/inputPadding"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
|
|
||||||
<!-- Barcode type -->
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
|
||||||
android:id="@+id/barcodeTypeView"
|
|
||||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1.0"
|
|
||||||
android:hint="@string/barcodeType"
|
|
||||||
android:labelFor="@+id/barcodeTypeField">
|
|
||||||
|
|
||||||
<AutoCompleteTextView
|
|
||||||
android:id="@+id/barcodeTypeField"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:inputType="none"/>
|
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Barcode -->
|
|
||||||
<LinearLayout android:orientation="horizontal"
|
|
||||||
android:padding="10.0dip"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@+id/barcodeLayout">
|
|
||||||
<ImageView
|
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="@dimen/barcode_disp_height"
|
|
||||||
android:layout_gravity="center_horizontal"
|
|
||||||
android:padding="10.0dp"
|
|
||||||
android:background="#ffffff"
|
|
||||||
android:id="@+id/barcode"
|
|
||||||
android:layout_weight="1.0"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- Buttons -->
|
|
||||||
<LinearLayout android:orientation="horizontal"
|
|
||||||
android:padding="10.0dip"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:id="@+id/barcodeCaptureLayout">
|
|
||||||
<Button android:id="@+id/enterButton"
|
|
||||||
android:layout_margin="@dimen/inputMargin"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/editBarcode"
|
|
||||||
android:layout_weight="1.0"/>
|
|
||||||
</LinearLayout>
|
|
||||||
</TableLayout>
|
|
||||||
<TableLayout
|
|
||||||
android:id="@+id/optionsPart"
|
|
||||||
android:visibility="gone">
|
|
||||||
|
|
||||||
<!-- Note -->
|
<!-- Note -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -246,7 +161,6 @@
|
|||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<com.google.android.material.chip.ChipGroup
|
<com.google.android.material.chip.ChipGroup
|
||||||
android:contentDescription="@string/groups"
|
|
||||||
android:id="@+id/groupChips"
|
android:id="@+id/groupChips"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -326,6 +240,99 @@
|
|||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
|
<TableLayout
|
||||||
|
android:id="@+id/barcodePart"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
|
<!-- Barcode ID -->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingHorizontal="@dimen/inputPadding"
|
||||||
|
android:paddingTop="@dimen/inputPadding"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<!-- Barcode ID -->
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/barcodeIdView"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1.0"
|
||||||
|
android:hint="@string/barcodeId"
|
||||||
|
android:labelFor="@+id/barcodeIdView">
|
||||||
|
|
||||||
|
<AutoCompleteTextView
|
||||||
|
android:id="@+id/barcodeIdField"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="none"/>
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- Barcode type -->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingHorizontal="@dimen/inputPadding"
|
||||||
|
android:paddingTop="@dimen/inputPadding"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<!-- Barcode type -->
|
||||||
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
android:id="@+id/barcodeTypeView"
|
||||||
|
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1.0"
|
||||||
|
android:hint="@string/barcodeType"
|
||||||
|
android:labelFor="@+id/barcodeTypeField">
|
||||||
|
|
||||||
|
<AutoCompleteTextView
|
||||||
|
android:id="@+id/barcodeTypeField"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="none"/>
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- Barcode -->
|
||||||
|
<View
|
||||||
|
android:layout_height="@dimen/inputBorderThickness"
|
||||||
|
android:layout_width="match_parent" />
|
||||||
|
|
||||||
|
<LinearLayout android:orientation="horizontal"
|
||||||
|
android:padding="10.0dip"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:id="@+id/barcodeLayout">
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="@dimen/barcode_disp_height"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:padding="10.0dp"
|
||||||
|
android:background="#ffffff"
|
||||||
|
android:id="@+id/barcode"
|
||||||
|
android:layout_weight="1.0"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<LinearLayout android:orientation="horizontal"
|
||||||
|
android:padding="10.0dip"
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/barcodeCaptureLayout">
|
||||||
|
<Button android:id="@+id/enterButton"
|
||||||
|
android:layout_margin="@dimen/inputMargin"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/editBarcode"
|
||||||
|
android:textColor="#FFFFFF"
|
||||||
|
android:layout_weight="1.0"/>
|
||||||
|
</LinearLayout>
|
||||||
|
</TableLayout>
|
||||||
|
|
||||||
<TableLayout
|
<TableLayout
|
||||||
android:id="@+id/picturesPart"
|
android:id="@+id/picturesPart"
|
||||||
@@ -362,8 +369,7 @@
|
|||||||
android:minHeight="50dp"
|
android:minHeight="50dp"
|
||||||
android:contentDescription="@string/frontImageDescription"
|
android:contentDescription="@string/frontImageDescription"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:srcCompat="@drawable/ic_camera_white"
|
app:srcCompat="@drawable/ic_camera_white" />
|
||||||
android:background="?attr/colorPrimary" />
|
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -398,8 +404,7 @@
|
|||||||
android:minHeight="50dp"
|
android:minHeight="50dp"
|
||||||
android:contentDescription="@string/backImageDescription"
|
android:contentDescription="@string/backImageDescription"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:srcCompat="@drawable/ic_camera_white"
|
app:srcCompat="@drawable/ic_camera_white" />
|
||||||
android:background="?attr/colorPrimary" />
|
|
||||||
|
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -18,13 +18,11 @@
|
|||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:outlineProvider="none"
|
android:outlineProvider="none"
|
||||||
app:cardCornerRadius="8dp"
|
app:cardCornerRadius="8dp"
|
||||||
app:strokeWidth="0dp"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/store"
|
app:layout_constraintBottom_toTopOf="@+id/store"
|
||||||
app:layout_constraintDimensionRatio="85.6f:53.98f"
|
app:layout_constraintDimensionRatio="85.6f:53.98f"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:id="@+id/thumbnail"
|
android:id="@+id/thumbnail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@@ -37,7 +35,6 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:id="@+id/selected_thumbnail"
|
android:id="@+id/selected_thumbnail"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@@ -61,7 +58,7 @@
|
|||||||
android:layout_height="@dimen/cardThumbnailSize"
|
android:layout_height="@dimen/cardThumbnailSize"
|
||||||
android:layout_gravity="end"
|
android:layout_gravity="end"
|
||||||
android:alpha="0.5"
|
android:alpha="0.5"
|
||||||
android:contentDescription="@string/starred"
|
android:contentDescription="@string/starImage"
|
||||||
android:elevation="4dp"
|
android:elevation="4dp"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -70,7 +67,6 @@
|
|||||||
tools:ignore="ImageContrastCheck" />
|
tools:ignore="ImageContrastCheck" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:importantForAccessibility="no"
|
|
||||||
android:id="@+id/star_border"
|
android:id="@+id/star_border"
|
||||||
android:layout_width="@dimen/cardThumbnailSize"
|
android:layout_width="@dimen/cardThumbnailSize"
|
||||||
android:layout_height="@dimen/cardThumbnailSize"
|
android:layout_height="@dimen/cardThumbnailSize"
|
||||||
@@ -81,7 +77,7 @@
|
|||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:srcCompat="@drawable/ic_unstarred_black"
|
app:srcCompat="@drawable/ic_unstarred_white"
|
||||||
tools:ignore="ImageContrastCheck" />
|
tools:ignore="ImageContrastCheck" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/mainLayout"
|
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
@@ -55,12 +54,11 @@
|
|||||||
android:padding="0dp"
|
android:padding="0dp"
|
||||||
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
|
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
|
||||||
android:contentDescription="@string/moveBarcodeToTopOfScreen"
|
android:contentDescription="@string/moveBarcodeToTopOfScreen"
|
||||||
app:tint="?attr/colorOnPrimary"
|
app:tint="#ffffff"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/mainImage"
|
app:layout_constraintBottom_toTopOf="@+id/mainImage"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
android:background="?attr/colorPrimary" />
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/mainImage"
|
android:id="@+id/mainImage"
|
||||||
@@ -87,11 +85,10 @@
|
|||||||
android:padding="0dp"
|
android:padding="0dp"
|
||||||
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
|
app:srcCompat="@drawable/ic_baseline_arrow_drop_down_24"
|
||||||
android:contentDescription="@string/moveBarcodeToCenterOfScreen"
|
android:contentDescription="@string/moveBarcodeToCenterOfScreen"
|
||||||
app:tint="?attr/colorOnPrimary"
|
app:tint="#ffffff"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/mainImage"
|
app:layout_constraintTop_toBottomOf="@+id/mainImage"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
android:background="?attr/colorPrimary" />
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/dotIndicator"
|
android:id="@+id/dotIndicator"
|
||||||
@@ -110,7 +107,6 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@+id/minimizeButton"/>
|
app:layout_constraintTop_toBottomOf="@+id/minimizeButton"/>
|
||||||
|
|
||||||
<SeekBar
|
<SeekBar
|
||||||
android:contentDescription="@string/set_scale"
|
|
||||||
android:id="@+id/barcodeScaler"
|
android:id="@+id/barcodeScaler"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:max="100"
|
android:max="100"
|
||||||
@@ -158,7 +154,7 @@
|
|||||||
android:id="@+id/bottom_sheet"
|
android:id="@+id/bottom_sheet"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?android:colorBackground"
|
android:background="@color/inputBackground"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:paddingTop="0px"
|
android:paddingTop="0px"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
@@ -172,11 +168,10 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="80dp"
|
android:layout_height="80dp"
|
||||||
android:layout_gravity="top|start"
|
android:layout_gravity="top|start"
|
||||||
android:contentDescription="@string/showMoreInfo"
|
android:contentDescription="@string/toggleMoreInfo"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
|
app:srcCompat="@drawable/ic_baseline_arrow_drop_up_24"
|
||||||
app:tint="?attr/colorOnPrimary"
|
app:tint="#ffffff" />
|
||||||
android:background="?attr/colorPrimary" />
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
android:id="@+id/bottomSheetContentWrapper"
|
android:id="@+id/bottomSheetContentWrapper"
|
||||||
@@ -252,13 +247,14 @@
|
|||||||
android:weightSum="1.0"
|
android:weightSum="1.0"
|
||||||
>
|
>
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar_landscape"
|
android:id="@+id/toolbar_landscape"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="?actionBarSize"
|
android:layout_height="?actionBarSize"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
android:fitsSystemWindows="false"
|
android:fitsSystemWindows="false"
|
||||||
android:paddingTop="0dp"
|
android:paddingTop="0dp"
|
||||||
|
android:theme="@style/CardView.ActionBarTheme"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:contentInsetStart="72.0dip"
|
app:contentInsetStart="72.0dip"
|
||||||
app:layout_collapseMode="pin" />
|
app:layout_collapseMode="pin" />
|
||||||
@@ -294,6 +290,7 @@
|
|||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="?actionBarSize"
|
android:layout_height="?actionBarSize"
|
||||||
android:background="@android:color/transparent"
|
android:background="@android:color/transparent"
|
||||||
|
android:theme="@style/CardView.ActionBarTheme"
|
||||||
app:contentInsetStart="72.0dip"
|
app:contentInsetStart="72.0dip"
|
||||||
app:layout_collapseMode="pin" />
|
app:layout_collapseMode="pin" />
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay"/>
|
||||||
|
|
||||||
<com.google.android.material.tabs.TabLayout
|
<com.google.android.material.tabs.TabLayout
|
||||||
android:id="@+id/groups"
|
android:id="@+id/groups"
|
||||||
|
|||||||
@@ -19,13 +19,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay"/>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -9,13 +9,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay" />
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
@@ -23,7 +25,6 @@
|
|||||||
android:id="@+id/zxing_barcode_scanner"
|
android:id="@+id/zxing_barcode_scanner"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_marginTop="?attr/actionBarSize"
|
|
||||||
app:zxing_scanner_layout="@layout/custom_barcode_scanner">
|
app:zxing_scanner_layout="@layout/custom_barcode_scanner">
|
||||||
</com.journeyapps.barcodescanner.DecoratedBarcodeView>
|
</com.journeyapps.barcodescanner.DecoratedBarcodeView>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
@@ -1,28 +1,27 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
tools:context="protect.card_locker.preferences.SettingsActivity">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
style="?attr/toolbarStyle"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize" />
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay"/>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<androidx.fragment.app.FragmentContainerView
|
<androidx.fragment.app.FragmentContainerView
|
||||||
android:id="@+id/settings_container"
|
android:id="@+id/settings_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" />
|
||||||
android:layout_marginTop="?attr/actionBarSize" />
|
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -7,13 +7,15 @@
|
|||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content"
|
||||||
|
android:theme="@style/AppTheme.AppBarOverlay">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<androidx.appcompat.widget.Toolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
style="?attr/toolbarStyle" />
|
android:background="?attr/colorPrimary"
|
||||||
|
app:popupTheme="@style/AppTheme.PopupOverlay"/>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
|||||||
@@ -7,25 +7,22 @@
|
|||||||
android:title="@string/action_search"
|
android:title="@string/action_search"
|
||||||
android:icon="@drawable/ic_search_white"
|
android:icon="@drawable/ic_search_white"
|
||||||
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||||
app:showAsAction="always|collapseActionView"
|
app:showAsAction="always|collapseActionView"/>
|
||||||
android:visible="false"/>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_unfold"
|
android:id="@+id/action_unfold"
|
||||||
android:title="@string/action_hide_details"
|
android:title="@string/action_hide_details"
|
||||||
android:icon="@drawable/ic_baseline_unfold_less_24"
|
android:icon="@drawable/ic_baseline_unfold_less_24"
|
||||||
app:showAsAction="always"
|
app:showAsAction="always"/>
|
||||||
android:visible="false"/>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_sort"
|
android:id="@+id/action_sort"
|
||||||
android:title="@string/sort"
|
android:title="@string/sort"
|
||||||
android:icon="@drawable/ic_baseline_sort_24"
|
android:icon="@drawable/ic_baseline_sort_24"
|
||||||
app:showAsAction="always"
|
app:showAsAction="always"/>
|
||||||
android:visible="false"/>
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_manage_groups"
|
android:id="@+id/action_manage_groups"
|
||||||
android:icon="@drawable/ic_folder_white"
|
android:icon="@drawable/ic_folder_white"
|
||||||
android:title="@string/groups"
|
android:title="@string/groups"
|
||||||
app:showAsAction="never"/>
|
app:showAsAction="ifRoom"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_import_export"
|
android:id="@+id/action_import_export"
|
||||||
android:icon="@drawable/ic_import_export_white_24dp"
|
android:icon="@drawable/ic_import_export_white_24dp"
|
||||||
|
|||||||
@@ -8,14 +8,13 @@ mondstern
|
|||||||
Katharine Chui
|
Katharine Chui
|
||||||
Oğuz Ersen
|
Oğuz Ersen
|
||||||
IllusiveMan196
|
IllusiveMan196
|
||||||
Altonss
|
|
||||||
Petr Novák
|
Petr Novák
|
||||||
Joel A
|
|
||||||
Taco
|
Taco
|
||||||
Gediminas Murauskas
|
Gediminas Murauskas
|
||||||
|
Joel A
|
||||||
StoyanDimitrov
|
StoyanDimitrov
|
||||||
Nyatsuki
|
Nyatsuki
|
||||||
Michael Moroni
|
Altonss
|
||||||
Samantaz Fox
|
Samantaz Fox
|
||||||
arno-github
|
arno-github
|
||||||
Ankit Tiwari
|
Ankit Tiwari
|
||||||
@@ -24,19 +23,15 @@ laralem
|
|||||||
arshbeerSingh
|
arshbeerSingh
|
||||||
huuhaa
|
huuhaa
|
||||||
Miha Frangež
|
Miha Frangež
|
||||||
sr093906
|
Michael Moroni
|
||||||
mdvhimself
|
|
||||||
Maciej Błędkowski
|
|
||||||
Olivia (Zoe)
|
Olivia (Zoe)
|
||||||
Quentin PAGÈS
|
|
||||||
betsythefc
|
betsythefc
|
||||||
waffshappen
|
waffshappen
|
||||||
ati3
|
sr093906
|
||||||
K. Herbert
|
K. Herbert
|
||||||
|
Quentin PAGÈS
|
||||||
String E. Fighter
|
String E. Fighter
|
||||||
Yurical
|
Yurical
|
||||||
Silvério Santos
|
|
||||||
rr-vesp
|
|
||||||
/usr/local/ΕΨΗΕΛΩΝ
|
/usr/local/ΕΨΗΕΛΩΝ
|
||||||
Adolfo Jayme-Barrientos
|
Adolfo Jayme-Barrientos
|
||||||
Alessandro Mandelli
|
Alessandro Mandelli
|
||||||
@@ -60,21 +55,19 @@ Airat
|
|||||||
Andreas Blaser
|
Andreas Blaser
|
||||||
BMN
|
BMN
|
||||||
Biren
|
Biren
|
||||||
Mylou53
|
|
||||||
Kasina Dheeraj
|
Kasina Dheeraj
|
||||||
Eric
|
|
||||||
Flav
|
Flav
|
||||||
Franciszek Stefan
|
Franciszek Stefan
|
||||||
Izzy
|
Izzy
|
||||||
krkk
|
Karol Kosek
|
||||||
bittin
|
bittin
|
||||||
|
Maciej Błędkowski
|
||||||
Marco
|
Marco
|
||||||
Mattia
|
Mattia
|
||||||
Michael Gangolf
|
Michael Gangolf
|
||||||
pbeckmann
|
pbeckmann
|
||||||
Peer Beckmann
|
Peer Beckmann
|
||||||
Quang Nguyen
|
Quang Nguyen
|
||||||
Ratnesh
|
|
||||||
Reza
|
Reza
|
||||||
Rohan Babbar
|
Rohan Babbar
|
||||||
Ronak Upadhyay
|
Ronak Upadhyay
|
||||||
@@ -84,7 +77,6 @@ Still Hsu
|
|||||||
Subhashish Anand
|
Subhashish Anand
|
||||||
Tymofii Lytvynenko
|
Tymofii Lytvynenko
|
||||||
Tjipke van der Heide
|
Tjipke van der Heide
|
||||||
Yevgeny M
|
|
||||||
avikkundu
|
avikkundu
|
||||||
opsik
|
opsik
|
||||||
psa-jforestier
|
psa-jforestier
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<string name="unstar">Премахва от любими</string>
|
<string name="unstar">Премахва от любими</string>
|
||||||
<string name="star">Добавя към любими</string>
|
<string name="star">Добавя към любими</string>
|
||||||
<string name="noBarcode">Без щрихкод</string>
|
<string name="noBarcode">Без щрихкод</string>
|
||||||
<string name="barcodeNoBarcode">Липсва щрихкод</string>
|
<string name="barcodeNoBarcode">Картата няма щрихкод</string>
|
||||||
<string name="barcodeType">Вид на щрихкод</string>
|
<string name="barcodeType">Вид на щрихкод</string>
|
||||||
<string name="cardId">Идентификатор на карта</string>
|
<string name="cardId">Идентификатор на карта</string>
|
||||||
<string name="note">Бележка</string>
|
<string name="note">Бележка</string>
|
||||||
@@ -25,18 +25,18 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
<string name="failedOpeningFileManager">Инсталирайте приложение за управление на файлове.</string>
|
<string name="failedOpeningFileManager">Инсталирайте приложение за управление на файлове.</string>
|
||||||
<string name="app_license">Свободен софтуер с авторски права, лицензиран под GPLv3+</string>
|
<string name="app_license">Свободен софтуер с авторски права, лицензиран под GPLv3+</string>
|
||||||
<string name="frontImageDescription">Снимка на предната страна</string>
|
<string name="frontImageDescription">Снимка на предната страна на карта</string>
|
||||||
<string name="backImageDescription">Снимка на задната страна</string>
|
<string name="backImageDescription">Снимка на задната страна на карта</string>
|
||||||
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> не изглежда истинска наличност.</string>
|
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> не изглежда истинска наличност.</string>
|
||||||
<string name="no">Не</string>
|
<string name="no">Не</string>
|
||||||
<string name="yes">Да</string>
|
<string name="yes">Да</string>
|
||||||
<string name="setBackImage">Снимка на задната страна</string>
|
<string name="setBackImage">Снимка на задната страна</string>
|
||||||
<string name="setFrontImage">Снимка на предната страна</string>
|
<string name="setFrontImage">Снимка на предната страна</string>
|
||||||
<string name="photos">Снимки</string>
|
<string name="photos">Снимки</string>
|
||||||
<string name="importOptionApplicationExplanation">Изберете файл на друго приложение.</string>
|
<string name="importOptionApplicationExplanation">Изберете файл чрез друго приложение.</string>
|
||||||
<string name="noExternalStoragePermissionError">Разрешете достъп до хранилището, за да работи внасянето и изнасянето</string>
|
<string name="noExternalStoragePermissionError">Дайте разрешение за достъп до хранилището, за да работи внасянето и изнасянето</string>
|
||||||
<string name="noCardExistsError">Картата не е намерена</string>
|
<string name="noCardExistsError">Картата не е намерена</string>
|
||||||
<string name="updateBarcodeQuestionText">Идентификаторът е променен. Желаете ли с неговата стойност да бъде променен и щрихкодът\?</string>
|
<string name="updateBarcodeQuestionText">Идентификаторът е променен. Желаете ли с неговата стойност да бъде променен и щрихкода\?</string>
|
||||||
<string name="updateBarcodeQuestionTitle">Обновяване на щрихкода\?</string>
|
<string name="updateBarcodeQuestionTitle">Обновяване на щрихкода\?</string>
|
||||||
<string name="noCardIdError">Не е въведен идентификатор</string>
|
<string name="noCardIdError">Не е въведен идентификатор</string>
|
||||||
<string name="noCardsMessage">Добавете карта</string>
|
<string name="noCardsMessage">Добавете карта</string>
|
||||||
@@ -80,6 +80,7 @@
|
|||||||
<string name="groupsList">Списъци: <xliff:g>%s</xliff:g></string>
|
<string name="groupsList">Списъци: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Валидност: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Валидност: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Изтекла: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Изтекла: <xliff:g>%s</xliff:g></string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> точки</string>
|
||||||
<string name="balanceSentence">Наличност: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Наличност: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="noGroups">Докоснете бутона +, за да добавите списък.</string>
|
<string name="noGroups">Докоснете бутона +, за да добавите списък.</string>
|
||||||
<string name="noStoreError">Не е въведено наименование</string>
|
<string name="noStoreError">Не е въведено наименование</string>
|
||||||
@@ -98,33 +99,33 @@
|
|||||||
<string name="settings_category_title_ui">Потребителски интерфейс</string>
|
<string name="settings_category_title_ui">Потребителски интерфейс</string>
|
||||||
<string name="settings">Настройки</string>
|
<string name="settings">Настройки</string>
|
||||||
<string name="starImage">Звезда за любимо</string>
|
<string name="starImage">Звезда за любимо</string>
|
||||||
<string name="thumbnailDescription">Миниатюра</string>
|
<string name="thumbnailDescription">Миниатюра на картата</string>
|
||||||
<string name="copy_to_clipboard_toast">Идентификаторът е копиран в междинната памет</string>
|
<string name="copy_to_clipboard_toast">Идентификаторът на картата е копиран в междинната памет</string>
|
||||||
<string name="enterBarcodeInstructions">Въведете идентификатор и или изберете вида на щрихкода, или докоснете бутона „Липсва щрихкод“.</string>
|
<string name="enterBarcodeInstructions">Въведете идентификатор на картата или като изберете вида на щрихкода или докоснете бутона „Картата няма щрихкод“.</string>
|
||||||
<string name="selectBarcodeTitle">Избиране на щрихкод</string>
|
<string name="selectBarcodeTitle">Избиране на щрихкод</string>
|
||||||
<string name="importOptionApplicationButton">Избиране чрез приложение</string>
|
<string name="importOptionApplicationButton">Избиране чрез приложение</string>
|
||||||
<string name="importing">Внасяне…</string>
|
<string name="importing">Внасяне…</string>
|
||||||
<string name="exporting">Изнасяне…</string>
|
<string name="exporting">Изнасяне…</string>
|
||||||
<string name="exportFailed">Данните не могат да бъдат изнесени</string>
|
<string name="exportFailed">Картите не могат да бъдат изнесени: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportFailedTitle">Грешка при изнасяне</string>
|
<string name="exportFailedTitle">Грешка при изнасяне</string>
|
||||||
<string name="importFailed">Данните не могат да бъдат внесени</string>
|
<string name="importFailed">Картите не могат да бъдат внесени: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailedTitle">Грешка при внасяне</string>
|
<string name="importFailedTitle">Грешка при внасяне</string>
|
||||||
<string name="exportSuccessfulTitle">Резултат от изнасяне</string>
|
<string name="exportSuccessfulTitle">Резултат от изнасяне</string>
|
||||||
<string name="importSuccessfulTitle">Резултат от внасяне</string>
|
<string name="importSuccessfulTitle">Резултат от внасяне</string>
|
||||||
<string name="importExportHelp">Резервните копия на данните ви дават възможност да ги премествате на друго устройство.</string>
|
<string name="importExportHelp">Резервните копия на картите ви дават възможност да ги преместите на друго устройство.</string>
|
||||||
<string name="exportName">Изнасяне</string>
|
<string name="exportName">Изнасяне</string>
|
||||||
<string name="importExport">Внасяне/изнасяне</string>
|
<string name="importExport">Внасяне/изнасяне</string>
|
||||||
<string name="sendLabel">Изпращане…</string>
|
<string name="sendLabel">Изпращане…</string>
|
||||||
<string name="scanCardBarcode">Снемане на щрихкод</string>
|
<string name="scanCardBarcode">Снемане на щрихкод от карта</string>
|
||||||
<string name="editCardTitle">Редактиране на карта</string>
|
<string name="editCardTitle">Редактиране на карта</string>
|
||||||
<string name="share">Споделя</string>
|
<string name="share">Споделя</string>
|
||||||
<string name="copy_to_clipboard">Копира идентификатора в междинната памет</string>
|
<string name="copy_to_clipboard">Копира идентификатора в междинната памет</string>
|
||||||
<string name="ok">Добре</string>
|
<string name="ok">Добре</string>
|
||||||
<string name="importSuccessful">Данните са внесени</string>
|
<string name="importSuccessful">Картите са внесени успешно</string>
|
||||||
<string name="chooseImportType">Внасяне на данни на</string>
|
<string name="chooseImportType">От къде ще внесете\?</string>
|
||||||
<string name="importCatimaMessage">Изберете файла <i>catima.zip</i>, предварително изнесен от Catima.
|
<string name="importCatimaMessage">Изберете файла <i>catima.zip</i>, предварително изнесен от Catima.
|
||||||
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Catima като изберете Изнасяне.</string>
|
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Catima като изберете Изнасяне.</string>
|
||||||
<string name="importOptionApplicationTitle">Чрез друго приложение</string>
|
<string name="importOptionApplicationTitle">От друго приложение</string>
|
||||||
<string name="importOptionFilesystemButton">Избиране от файлова система</string>
|
<string name="importOptionFilesystemButton">Избиране от файлова система</string>
|
||||||
<string name="importOptionFilesystemExplanation">Изберете определен файл от файловата система.</string>
|
<string name="importOptionFilesystemExplanation">Изберете определен файл от файловата система.</string>
|
||||||
<string name="app_resources">Свободни ресурси: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
<string name="app_resources">Свободни ресурси: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||||
@@ -138,12 +139,12 @@
|
|||||||
<string name="about">Относно</string>
|
<string name="about">Относно</string>
|
||||||
<string name="importOptionFilesystemTitle">Внасяне от файловата система</string>
|
<string name="importOptionFilesystemTitle">Внасяне от файловата система</string>
|
||||||
<string name="importCatima">Внасяне от Catima</string>
|
<string name="importCatima">Внасяне от Catima</string>
|
||||||
<string name="exportSuccessful">Данните са изнесени</string>
|
<string name="exportSuccessful">Картите са изнесени успешно</string>
|
||||||
<string name="unlockScreen">Разрешава автоматичното завъртане</string>
|
<string name="unlockScreen">Разрешава автоматичното завъртане</string>
|
||||||
<string name="lockScreen">Спира автоматичното завъртане</string>
|
<string name="lockScreen">Спира автоматичното завъртане</string>
|
||||||
<plurals name="selectedCardCount">
|
<plurals name="selectedCardCount">
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> избрана</item>
|
<item quantity="one"><xliff:g>%d</xliff:g> избрана карта</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> избрани</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> избрани карти</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="deleteConfirmationGroup">Изтриване на група\?</string>
|
<string name="deleteConfirmationGroup">Изтриване на група\?</string>
|
||||||
<string name="moveDown">Преместване надолу</string>
|
<string name="moveDown">Преместване надолу</string>
|
||||||
@@ -161,13 +162,14 @@
|
|||||||
<string name="importLoyaltyCardKeychainMessage">Изберете файла <i>LoyaltyCardKeychain.csv</i>, предварително изнесен от Loyalty Card Keychain.
|
<string name="importLoyaltyCardKeychainMessage">Изберете файла <i>LoyaltyCardKeychain.csv</i>, предварително изнесен от Loyalty Card Keychain.
|
||||||
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Loyalty Card Keychain като изберете Изнасяне.</string>
|
\nСъздайте такъв файл от меню Внасяне/изнасяне от друго устройство с Loyalty Card Keychain като изберете Изнасяне.</string>
|
||||||
<string name="failedParsingImportUriError">Препратката не може да бъде анализирана за внасяне</string>
|
<string name="failedParsingImportUriError">Препратката не може да бъде анализирана за внасяне</string>
|
||||||
|
<string name="card_ids_copied">[не превеждай този низ, https://github.com/TheLastProject/Catima/issues/278]</string>
|
||||||
<string name="failedGeneratingShareURL">Грешка при създаване на адрес за споделяне. Изпратете доклад за дефект.</string>
|
<string name="failedGeneratingShareURL">Грешка при създаване на адрес за споделяне. Изпратете доклад за дефект.</string>
|
||||||
<string name="deleteTitle">Премахване на карта</string>
|
<string name="deleteTitle">Премахване на карта</string>
|
||||||
<plurals name="deleteCardsTitle">
|
<plurals name="deleteCardsTitle">
|
||||||
<item quantity="one">Изтриване на <xliff:g>%d</xliff:g> карта</item>
|
<item quantity="one">Изтриване на <xliff:g>%d</xliff:g> карта</item>
|
||||||
<item quantity="other">Изтриване на <xliff:g>%d</xliff:g> карти</item>
|
<item quantity="other">Изтриване на <xliff:g>%d</xliff:g> карти</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="deleteConfirmation">Потвърждавате ли премахване на картата\?</string>
|
<string name="deleteConfirmation">Потвърдете премахване на картата.</string>
|
||||||
<plurals name="deleteCardsConfirmation">
|
<plurals name="deleteCardsConfirmation">
|
||||||
<item quantity="one">Желаете ли <xliff:g>%d</xliff:g> карта да бъде премахната\?</item>
|
<item quantity="one">Желаете ли <xliff:g>%d</xliff:g> карта да бъде премахната\?</item>
|
||||||
<item quantity="other">Желаете ли тези <xliff:g>%d</xliff:g> карти да бъдат премахнати\?</item>
|
<item quantity="other">Желаете ли тези <xliff:g>%d</xliff:g> карти да бъдат премахнати\?</item>
|
||||||
@@ -185,11 +187,12 @@
|
|||||||
<string name="settings_theme_color">Цвят на темата</string>
|
<string name="settings_theme_color">Цвят на темата</string>
|
||||||
<string name="settings_system_locale">Система</string>
|
<string name="settings_system_locale">Система</string>
|
||||||
<string name="settings_locale">Език</string>
|
<string name="settings_locale">Език</string>
|
||||||
<string name="noGroupCards">Групата е празна</string>
|
<string name="noGroupCards">Групата не съдържа карти</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Изображение на щрихкод от вид <xliff:g>%s</xliff:g></string>
|
<string name="toggleMoreInfo">Превключване на повече информация</string>
|
||||||
|
<string name="barcodeImageDescriptionWithType">Изображение на щрихкод на карта от вида <xliff:g>%s</xliff:g></string>
|
||||||
<string name="swipeToSwitchImages">Плъзване или задържане за смяна на изображения</string>
|
<string name="swipeToSwitchImages">Плъзване или задържане за смяна на изображения</string>
|
||||||
<string name="sort_by">Сортиране по</string>
|
<string name="sort_by">Сортиране по</string>
|
||||||
<string name="reverse">…в обратен ред</string>
|
<string name="reverse">Наобратно</string>
|
||||||
<string name="sort_by_balance">Наличност</string>
|
<string name="sort_by_balance">Наличност</string>
|
||||||
<string name="sort_by_expiry">Валидност</string>
|
<string name="sort_by_expiry">Валидност</string>
|
||||||
<string name="sort_by_most_recently_used">Последно използване</string>
|
<string name="sort_by_most_recently_used">Последно използване</string>
|
||||||
@@ -216,18 +219,5 @@
|
|||||||
<string name="group_edit">Редактиране на списък</string>
|
<string name="group_edit">Редактиране на списък</string>
|
||||||
<string name="action_show_details">Повече детайли</string>
|
<string name="action_show_details">Повече детайли</string>
|
||||||
<string name="action_hide_details">По-малко детайли</string>
|
<string name="action_hide_details">По-малко детайли</string>
|
||||||
<string name="noGiftCardsGroup">Създайте карти и ги зачислите към списък от тук.</string>
|
<string name="noGiftCardsGroup">Няма карти. След като добавите ще можете да ги зачислите към списък от тук.</string>
|
||||||
<string name="translate_platform">в Weblate</string>
|
|
||||||
<string name="shortcutSelectCard">Избор на карта</string>
|
|
||||||
<string name="starred">Със звезда</string>
|
|
||||||
<string name="set_scale">Мащаб</string>
|
|
||||||
<string name="showMoreInfo">Показване на информация</string>
|
|
||||||
<string name="hideMoreInfo">Скриване на информация</string>
|
|
||||||
<string name="options">Настройки</string>
|
|
||||||
<string name="card_ids_copied">Идентификаторите са копирани</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> точка</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> точки</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Чисто черен фон за тъмната тема</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -66,6 +66,7 @@
|
|||||||
<string name="settings_green_theme">সবুজ থিম</string>
|
<string name="settings_green_theme">সবুজ থিম</string>
|
||||||
<string name="settings_brown_theme">বাদামী থিম</string>
|
<string name="settings_brown_theme">বাদামী থিম</string>
|
||||||
<string name="sort">সাজান</string>
|
<string name="sort">সাজান</string>
|
||||||
|
<string name="toggleMoreInfo">আরও তথ্য টগল করুন</string>
|
||||||
<string name="swipeToSwitchImages">ছবি পরিবর্তন করতে সোয়াইপ করুন</string>
|
<string name="swipeToSwitchImages">ছবি পরিবর্তন করতে সোয়াইপ করুন</string>
|
||||||
<string name="sort_by_name">নামের দ্বারা সাজান</string>
|
<string name="sort_by_name">নামের দ্বারা সাজান</string>
|
||||||
<string name="sort_by_most_recently_used">সর্বাধিক সম্প্রতি ব্যবহৃত দ্বারা সাজান</string>
|
<string name="sort_by_most_recently_used">সর্বাধিক সম্প্রতি ব্যবহৃত দ্বারা সাজান</string>
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
<string name="settings_green_theme">Zeleno</string>
|
<string name="settings_green_theme">Zeleno</string>
|
||||||
<string name="settings_brown_theme">Braun</string>
|
<string name="settings_brown_theme">Braun</string>
|
||||||
<string name="sort">Poništi sortiranje</string>
|
<string name="sort">Poništi sortiranje</string>
|
||||||
|
<string name="toggleMoreInfo">Uključi savjete</string>
|
||||||
<string name="swipeToSwitchImages">Swipe ili long press za prebacivanje slika</string>
|
<string name="swipeToSwitchImages">Swipe ili long press za prebacivanje slika</string>
|
||||||
<string name="sort_by_name">Ime</string>
|
<string name="sort_by_name">Ime</string>
|
||||||
<string name="sort_by_most_recently_used">Nedavno Korišten</string>
|
<string name="sort_by_most_recently_used">Nedavno Korišten</string>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="action_add">Přidat</string>
|
<string name="action_add">Přidat</string>
|
||||||
<string name="noGiftCards">Klepnutím na tlačítko + plus přidáte kartu nebo ji nejprve importujete z nabídky ⋮.</string>
|
<string name="noGiftCards">Klepnutím na tlačítko + plus přidáte kartu nebo ji nejprve importujete z nabídky⋮.</string>
|
||||||
<string name="storeName">Název</string>
|
<string name="storeName">Název</string>
|
||||||
<string name="note">Poznámka</string>
|
<string name="note">Poznámka</string>
|
||||||
<string name="cardId">ID karty</string>
|
<string name="cardId">ID karty</string>
|
||||||
@@ -15,21 +15,21 @@
|
|||||||
<string name="sendLabel">Odeslat…</string>
|
<string name="sendLabel">Odeslat…</string>
|
||||||
<string name="editCardTitle">Editovat věrnostní kartu</string>
|
<string name="editCardTitle">Editovat věrnostní kartu</string>
|
||||||
<string name="addCardTitle">Přidat věrnostní kartu</string>
|
<string name="addCardTitle">Přidat věrnostní kartu</string>
|
||||||
<string name="scanCardBarcode">Skenování čárového kódu</string>
|
<string name="scanCardBarcode">Skenování Čárový Kód Karty</string>
|
||||||
<string name="noStoreError">Zadáno žádné jméno</string>
|
<string name="noStoreError">Zadáno žádné jméno</string>
|
||||||
<string name="noCardIdError">ID nezadáno</string>
|
<string name="noCardIdError">Žádné ID karty zadáno</string>
|
||||||
<string name="importExport">Import/Export</string>
|
<string name="importExport">Import/Export</string>
|
||||||
<string name="exportName">Export</string>
|
<string name="exportName">Export</string>
|
||||||
<string name="importExportHelp">Zálohování dat vám umožní přesunout je do jiného zařízení.</string>
|
<string name="importExportHelp">Zálohování karet vám umožní přesunout je do jiného zařízení.</string>
|
||||||
<string name="importSuccessfulTitle">Importováno</string>
|
<string name="importSuccessfulTitle">Importováno</string>
|
||||||
<string name="importFailedTitle">Import selhal</string>
|
<string name="importFailedTitle">Import selhal</string>
|
||||||
<string name="importFailed">Nelze provést import</string>
|
<string name="importFailed">Nelze importovat karty: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exportováno</string>
|
<string name="exportSuccessfulTitle">Exportovat</string>
|
||||||
<string name="exportFailedTitle">Export selhal</string>
|
<string name="exportFailedTitle">Export selhal</string>
|
||||||
<string name="exportFailed">Nelze provést export</string>
|
<string name="exportFailed">Nelze exportovat karty: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importuji…</string>
|
<string name="importing">Importuji…</string>
|
||||||
<string name="exporting">Exportuji…</string>
|
<string name="exporting">Exportuji…</string>
|
||||||
<string name="noExternalStoragePermissionError">Udělit oprávnění přístupu k externímu úložišti pro import nebo export dat</string>
|
<string name="noExternalStoragePermissionError">Udělit povolení externího úložiště pro import nebo export karet jako první</string>
|
||||||
<string name="importOptionFilesystemTitle">Import ze souborového systému</string>
|
<string name="importOptionFilesystemTitle">Import ze souborového systému</string>
|
||||||
<string name="importOptionFilesystemExplanation">Vyberte konkrétní soubor v uložišti.</string>
|
<string name="importOptionFilesystemExplanation">Vyberte konkrétní soubor v uložišti.</string>
|
||||||
<string name="importOptionFilesystemButton">Ze souborového systému</string>
|
<string name="importOptionFilesystemButton">Ze souborového systému</string>
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<string name="debug_version_fmt">Verze: <xliff:g id="version">%s</xliff:g></string>
|
<string name="debug_version_fmt">Verze: <xliff:g id="version">%s</xliff:g></string>
|
||||||
<string name="app_revision_fmt">Informace o revizi: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
<string name="app_revision_fmt">Informace o revizi: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
||||||
<string name="selectBarcodeTitle">Vyberte čárový kód</string>
|
<string name="selectBarcodeTitle">Vyberte čárový kód</string>
|
||||||
<string name="copy_to_clipboard_toast">ID zkopírované do schránky</string>
|
<string name="copy_to_clipboard_toast">ID karty zkopírované do schránky</string>
|
||||||
<string name="deleteTitle">Smazat kartu</string>
|
<string name="deleteTitle">Smazat kartu</string>
|
||||||
<string name="deleteConfirmation">Opravdu chcete smazat tuto věrnostní kartu?</string>
|
<string name="deleteConfirmation">Opravdu chcete smazat tuto věrnostní kartu?</string>
|
||||||
<string name="moveBarcodeToCenterOfScreen">Střed čárového kódu na obrazovce</string>
|
<string name="moveBarcodeToCenterOfScreen">Střed čárového kódu na obrazovce</string>
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
\ncopyright © 2016–2020 Branden Archer</string>
|
\ncopyright © 2016–2020 Branden Archer</string>
|
||||||
<string name="exportOptionExplanation">Data budou zapsána na místo podle vašeho výběru.</string>
|
<string name="exportOptionExplanation">Data budou zapsána na místo podle vašeho výběru.</string>
|
||||||
<string name="failedParsingImportUriError">Nelze analyzovat import URI</string>
|
<string name="failedParsingImportUriError">Nelze analyzovat import URI</string>
|
||||||
<string name="noCardExistsError">Kartu nelze najít</string>
|
<string name="noCardExistsError">Nelze najít kartu</string>
|
||||||
<string name="noCardsMessage">Nejprve přidejte kartu</string>
|
<string name="noCardsMessage">Nejprve přidejte kartu</string>
|
||||||
<string name="cardShortcut">Zástupce Karty</string>
|
<string name="cardShortcut">Zástupce Karty</string>
|
||||||
<string name="share">Podíl</string>
|
<string name="share">Podíl</string>
|
||||||
@@ -69,10 +69,10 @@
|
|||||||
<string name="noBarcode">Žádný čárový kód</string>
|
<string name="noBarcode">Žádný čárový kód</string>
|
||||||
<string name="barcodeNoBarcode">Tato karta nemá čárový kód</string>
|
<string name="barcodeNoBarcode">Tato karta nemá čárový kód</string>
|
||||||
<string name="barcodeType">Typ čárového kódu</string>
|
<string name="barcodeType">Typ čárového kódu</string>
|
||||||
<string name="noMatchingGiftCards">Nic nenalezeno. Zkuste změnit vyhledávání.</string>
|
<string name="noMatchingGiftCards">Nic jsem nenašel. Zkuste změnit vyhledávání.</string>
|
||||||
<string name="action_search">Vyhledávání</string>
|
<string name="action_search">Vyhledávání</string>
|
||||||
<string name="thumbnailDescription">Miniatura</string>
|
<string name="thumbnailDescription">Miniatura karty</string>
|
||||||
<string name="card_ids_copied">Zkopírované ID</string>
|
<string name="card_ids_copied">Zkopírované ID karty(karet)</string>
|
||||||
<plurals name="deleteCardsConfirmation">
|
<plurals name="deleteCardsConfirmation">
|
||||||
<item quantity="one">Opravdu chcete kartu <xliff:g>%d</xliff:g> trvale odstranit\?</item>
|
<item quantity="one">Opravdu chcete kartu <xliff:g>%d</xliff:g> trvale odstranit\?</item>
|
||||||
<item quantity="few">Opravdu chcete karty <xliff:g>%d</xliff:g> trvale odstranit\?</item>
|
<item quantity="few">Opravdu chcete karty <xliff:g>%d</xliff:g> trvale odstranit\?</item>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<item quantity="few">Odstranit karty <xliff:g>%d</xliff:g></item>
|
<item quantity="few">Odstranit karty <xliff:g>%d</xliff:g></item>
|
||||||
<item quantity="other">Odstranit karty <xliff:g>%d</xliff:g></item>
|
<item quantity="other">Odstranit karty <xliff:g>%d</xliff:g></item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="importSuccessful">Data importována</string>
|
<string name="importSuccessful">Data karty importována</string>
|
||||||
<string name="intent_import_card_from_url_share_text">Chci s Vámi sdílet kartu</string>
|
<string name="intent_import_card_from_url_share_text">Chci s Vámi sdílet kartu</string>
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Bránit uzamykání obrazovky</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Bránit uzamykání obrazovky</string>
|
||||||
<string name="settings_keep_screen_on">Udržovat obrazovku zapnutou</string>
|
<string name="settings_keep_screen_on">Udržovat obrazovku zapnutou</string>
|
||||||
@@ -96,12 +96,13 @@
|
|||||||
<string name="settings_category_title_ui">Uživatelské rozhraní</string>
|
<string name="settings_category_title_ui">Uživatelské rozhraní</string>
|
||||||
<string name="settings">Nastavení</string>
|
<string name="settings">Nastavení</string>
|
||||||
<string name="card">Karta</string>
|
<string name="card">Karta</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> bodů</string>
|
||||||
<string name="balanceSentence">Zůstatek: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Zůstatek: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Platnost vypršela: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Platnost vypršela: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Platí do: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Platí do: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="moveDown">Přesunout dolů</string>
|
<string name="moveDown">Přesunout dolů</string>
|
||||||
<string name="moveUp">Přesunout nahoru</string>
|
<string name="moveUp">Přesunout nahoru</string>
|
||||||
<string name="enterBarcodeInstructions">Zadejte ID a níže vyberte typ čárového kódu nebo \"Tato karta nemá čárový kód\".</string>
|
<string name="enterBarcodeInstructions">Zadejte ID karty a níže vyberte typ čárového kódu nebo \"Tato karta nemá čárový kód\".</string>
|
||||||
<string name="settings_brown_theme">Hnědá</string>
|
<string name="settings_brown_theme">Hnědá</string>
|
||||||
<string name="settings_grey_theme">Šedá</string>
|
<string name="settings_grey_theme">Šedá</string>
|
||||||
<string name="settings_green_theme">Zelená</string>
|
<string name="settings_green_theme">Zelená</string>
|
||||||
@@ -120,22 +121,22 @@
|
|||||||
<string name="passwordRequired">Zadejte prosím heslo</string>
|
<string name="passwordRequired">Zadejte prosím heslo</string>
|
||||||
<string name="no">Ne</string>
|
<string name="no">Ne</string>
|
||||||
<string name="yes">Ano</string>
|
<string name="yes">Ano</string>
|
||||||
<string name="updateBarcodeQuestionText">Změnili jste ID. Chcete také aktualizovat čárový kód, aby používal stejnou hodnotu\?</string>
|
<string name="updateBarcodeQuestionText">Změnili jste ID karty. Chcete také aktualizovat čárový kód, aby používal stejnou hodnotu\?</string>
|
||||||
<string name="updateBarcodeQuestionTitle">Aktualizovat hodnotu čárového kódu\?</string>
|
<string name="updateBarcodeQuestionTitle">Aktualizovat hodnotu čárového kódu\?</string>
|
||||||
<string name="takePhoto">Pořídit fotku</string>
|
<string name="takePhoto">Pořídit fotku</string>
|
||||||
<string name="removeImage">Odstranit obrázek</string>
|
<string name="removeImage">Odstranit obrázek</string>
|
||||||
<string name="setBackImage">Nastavit obrázek zadní strany</string>
|
<string name="setBackImage">Nastavit obrázek zadní strany</string>
|
||||||
<string name="setFrontImage">Nastavit obrázek přední strany</string>
|
<string name="setFrontImage">Nastavit obrázek přední strany</string>
|
||||||
<string name="photos">Fotky</string>
|
<string name="photos">Fotky</string>
|
||||||
<string name="backImageDescription">Obrázek zadní strany</string>
|
<string name="backImageDescription">Obrázek zadní strany karty</string>
|
||||||
<string name="frontImageDescription">Obrázek přední strany</string>
|
<string name="frontImageDescription">Obrázek přední strany karty</string>
|
||||||
<string name="intent_import_card_from_url_share_multiple_text">Chci s Vámi sdílet kartu</string>
|
<string name="intent_import_card_from_url_share_multiple_text">Chci s Vámi sdílet kartu</string>
|
||||||
<string name="copy_to_clipboard_multiple_toast">ID zkopírováno do schránky</string>
|
<string name="copy_to_clipboard_multiple_toast">ID karty zkopírováno do schránky</string>
|
||||||
<string name="wrongValueForBarcodeType">Hodnota není platná pro vybraný typ čárového kódu</string>
|
<string name="wrongValueForBarcodeType">Hodnota není platná pro vybraný typ čárového kódu</string>
|
||||||
<string name="unsupportedBarcodeType">Tento typ čárového kódu zatím nelze zobrazit. Možná bude podporován v pozdější verzi aplikace.</string>
|
<string name="unsupportedBarcodeType">Tento typ čárového kódu zatím nelze zobrazit. Možná bude podporován v pozdější verzi aplikace.</string>
|
||||||
<string name="barcodeId">Hodnota čárového kódu</string>
|
<string name="barcodeId">Hodnota čárového kódu</string>
|
||||||
<string name="setBarcodeId">Nastavení hodnoty čárového kódu</string>
|
<string name="setBarcodeId">Nastavení hodnoty čárového kódu</string>
|
||||||
<string name="sameAsCardId">Stejné jako ID</string>
|
<string name="sameAsCardId">Stejné jako ID karty</string>
|
||||||
<string name="importVoucherVaultMessage">Vyberte svůj <i>vouchervault.json</i> export z Voucher Vault, který chcete importovat.
|
<string name="importVoucherVaultMessage">Vyberte svůj <i>vouchervault.json</i> export z Voucher Vault, který chcete importovat.
|
||||||
\nVytvořte jej tak, že nejprve stisknete tlačítko Exportovat v aplikaci Voucher Vault.</string>
|
\nVytvořte jej tak, že nejprve stisknete tlačítko Exportovat v aplikaci Voucher Vault.</string>
|
||||||
<string name="importVoucherVault">Import z Voucher Vault</string>
|
<string name="importVoucherVault">Import z Voucher Vault</string>
|
||||||
@@ -157,7 +158,7 @@
|
|||||||
\nNejsou shromažďovány žádné údaje, což může potvrdit každý, protože naše aplikace je svobodný software.</string>
|
\nNejsou shromažďovány žádné údaje, což může potvrdit každý, protože naše aplikace je svobodný software.</string>
|
||||||
<string name="privacy_policy">Zásady soukromí</string>
|
<string name="privacy_policy">Zásady soukromí</string>
|
||||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||||
<string name="chooseImportType">Importovat data z</string>
|
<string name="chooseImportType">Importovat data z\?</string>
|
||||||
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> se nezdá být platným zůstatkem.</string>
|
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> se nezdá být platným zůstatkem.</string>
|
||||||
<string name="points">Body</string>
|
<string name="points">Body</string>
|
||||||
<string name="currency">Měna</string>
|
<string name="currency">Měna</string>
|
||||||
@@ -166,7 +167,7 @@
|
|||||||
<string name="noBarcodeFound">Čarový kód nenalezen</string>
|
<string name="noBarcodeFound">Čarový kód nenalezen</string>
|
||||||
<string name="groupsList">Skupiny: <xliff:g>%s</xliff:g></string>
|
<string name="groupsList">Skupiny: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="addFromImage">Výběr obrázku z galerie</string>
|
<string name="addFromImage">Výběr obrázku z galerie</string>
|
||||||
<string name="addManually">Ruční zadání ID</string>
|
<string name="addManually">Ruční zadání ID karty</string>
|
||||||
<string name="leaveWithoutSaveConfirmation">Ukončit bez uložení\?</string>
|
<string name="leaveWithoutSaveConfirmation">Ukončit bez uložení\?</string>
|
||||||
<string name="leaveWithoutSaveTitle">Ukončit</string>
|
<string name="leaveWithoutSaveTitle">Ukončit</string>
|
||||||
<string name="failedOpeningFileManager">Nejprve si nainstalujte správce souborů.</string>
|
<string name="failedOpeningFileManager">Nejprve si nainstalujte správce souborů.</string>
|
||||||
@@ -177,10 +178,10 @@
|
|||||||
<item quantity="few"><xliff:g>%d</xliff:g> karty</item>
|
<item quantity="few"><xliff:g>%d</xliff:g> karty</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> karet</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> karet</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="noGroups">Kliknutím na tlačítko + plus přidejte skupiny pro kategorizaci.</string>
|
<string name="noGroups">Kliknutím na tlačítko + plus nejprve přidejte skupiny pro kategorizaci.</string>
|
||||||
<string name="groups">Skupiny</string>
|
<string name="groups">Skupiny</string>
|
||||||
<string name="enter_group_name">Zadejte název skupiny</string>
|
<string name="enter_group_name">Zadejte název skupiny</string>
|
||||||
<string name="exportSuccessful">Data exportována</string>
|
<string name="exportSuccessful">Data karty exportována</string>
|
||||||
<string name="settings_display_barcode_max_brightness">Rozjasněné zobrazení čárového kódu</string>
|
<string name="settings_display_barcode_max_brightness">Rozjasněné zobrazení čárového kódu</string>
|
||||||
<string name="starImage">Oblíbená hvězda</string>
|
<string name="starImage">Oblíbená hvězda</string>
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
||||||
@@ -190,16 +191,17 @@
|
|||||||
<item quantity="other">Vybráno <xliff:g>%d</xliff:g> karet</item>
|
<item quantity="other">Vybráno <xliff:g>%d</xliff:g> karet</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="app_contributors">Přispěli: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Přispěli: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="noGroupCards">Tato skupina je prázdná</string>
|
<string name="noGroupCards">Tato skupina neobsahuje žádné karty</string>
|
||||||
<string name="sort_by">Seřadit podle</string>
|
<string name="sort_by">Seřadit podle</string>
|
||||||
<string name="reverse">…v obráceném pořadí</string>
|
<string name="reverse">Obrátit</string>
|
||||||
<string name="sort_by_balance">Zůstatek</string>
|
<string name="sort_by_balance">Zůstatek</string>
|
||||||
<string name="sort_by_expiry">Vypršení</string>
|
<string name="sort_by_expiry">Vypršení</string>
|
||||||
<string name="sort_by_most_recently_used">Naposledy použité</string>
|
<string name="sort_by_most_recently_used">Naposledy použité</string>
|
||||||
<string name="sort_by_name">Název</string>
|
<string name="sort_by_name">Název</string>
|
||||||
<string name="swipeToSwitchImages">Přejetím nebo dlouhým stisknutím přepínáte obrázky</string>
|
<string name="swipeToSwitchImages">Přejetím nebo dlouhým stisknutím přepínáte obrázky</string>
|
||||||
|
<string name="toggleMoreInfo">Přepnout zobrazení dalších informací</string>
|
||||||
<string name="sort">Seřadit</string>
|
<string name="sort">Seřadit</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Obrázek čárového kódu <xliff:g>%s</xliff:g></string>
|
<string name="barcodeImageDescriptionWithType">Obrázek čárového kódu karty typu <xliff:g>%s</xliff:g></string>
|
||||||
<string name="version_history">Historie verzí</string>
|
<string name="version_history">Historie verzí</string>
|
||||||
<string name="rate_this_app">Ohodnoťte tuto aplikaci</string>
|
<string name="rate_this_app">Ohodnoťte tuto aplikaci</string>
|
||||||
<string name="and_data_usage">a využití dat</string>
|
<string name="and_data_usage">a využití dat</string>
|
||||||
@@ -220,18 +222,4 @@
|
|||||||
<string name="group_updated">Skupina aktualizována</string>
|
<string name="group_updated">Skupina aktualizována</string>
|
||||||
<string name="editGroup">Úprava skupiny: <xliff:g>%s</xliff:g></string>
|
<string name="editGroup">Úprava skupiny: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="noGiftCardsGroup">Zatím nemáte žádné věrnostní karty. Jakmile nějaké přidáte, můžete je přiřadit do skupiny zde.</string>
|
<string name="noGiftCardsGroup">Zatím nemáte žádné věrnostní karty. Jakmile nějaké přidáte, můžete je přiřadit do skupiny zde.</string>
|
||||||
<string name="shortcutSelectCard">Vybrat kartu</string>
|
|
||||||
<string name="action_show_details">Zobrazit detaily</string>
|
|
||||||
<string name="action_hide_details">Skrýt detaily</string>
|
|
||||||
<string name="translate_platform">na Weblate</string>
|
|
||||||
<string name="showMoreInfo">Zobrazit podrobnosti</string>
|
|
||||||
<string name="hideMoreInfo">Skrýt podrobnosti</string>
|
|
||||||
<string name="starred">S hvězdičkou</string>
|
|
||||||
<string name="set_scale">Nastavení měřítka</string>
|
|
||||||
<string name="options">Volby</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> bod</item>
|
|
||||||
<item quantity="few"><xliff:g>%s</xliff:g> body</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> bodů</item>
|
|
||||||
</plurals>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -41,10 +41,10 @@
|
|||||||
<string name="importExportHelp">Hvis du sikkerhedskopierer dine kort, kan du flytte dem til en anden enhed.</string>
|
<string name="importExportHelp">Hvis du sikkerhedskopierer dine kort, kan du flytte dem til en anden enhed.</string>
|
||||||
<string name="importSuccessfulTitle">Importeret</string>
|
<string name="importSuccessfulTitle">Importeret</string>
|
||||||
<string name="importFailedTitle">Import mislykkedes</string>
|
<string name="importFailedTitle">Import mislykkedes</string>
|
||||||
<string name="importFailed">Kunne ikke importere kort</string>
|
<string name="importFailed">Kunne ikke importere kort: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Eksporteret</string>
|
<string name="exportSuccessfulTitle">Eksporteret</string>
|
||||||
<string name="exportFailedTitle">Eksport mislykkedes</string>
|
<string name="exportFailedTitle">Eksport mislykkedes</string>
|
||||||
<string name="exportFailed">Kunne ikke eksportere kort</string>
|
<string name="exportFailed">Kunne ikke eksportere kort: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importere…</string>
|
<string name="importing">Importere…</string>
|
||||||
<string name="exporting">Eksportere…</string>
|
<string name="exporting">Eksportere…</string>
|
||||||
<string name="settings_dark_theme">Mørk</string>
|
<string name="settings_dark_theme">Mørk</string>
|
||||||
|
|||||||
@@ -32,10 +32,10 @@
|
|||||||
<string name="importExportHelp">Wenn du deine Daten sicherst, kannst du sie auf ein anderes Gerät übertragen.</string>
|
<string name="importExportHelp">Wenn du deine Daten sicherst, kannst du sie auf ein anderes Gerät übertragen.</string>
|
||||||
<string name="importSuccessfulTitle">Importiert</string>
|
<string name="importSuccessfulTitle">Importiert</string>
|
||||||
<string name="importFailedTitle">Import fehlgeschlagen</string>
|
<string name="importFailedTitle">Import fehlgeschlagen</string>
|
||||||
<string name="importFailed">Import konnte nicht durchgeführt werden</string>
|
<string name="importFailed">Karten konnten nicht importiert werden: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exportiert</string>
|
<string name="exportSuccessfulTitle">Exportiert</string>
|
||||||
<string name="exportFailedTitle">Export fehlgeschlagen</string>
|
<string name="exportFailedTitle">Export fehlgeschlagen</string>
|
||||||
<string name="exportFailed">Export konnte nicht durchgeführt werden</string>
|
<string name="exportFailed">Karten konnten nicht exportiert werden: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importiere…</string>
|
<string name="importing">Importiere…</string>
|
||||||
<string name="exporting">Exportiere…</string>
|
<string name="exporting">Exportiere…</string>
|
||||||
<string name="noExternalStoragePermissionError">Berechtigung für den externen Speicher zum Importieren oder Exportieren von Daten erteilen</string>
|
<string name="noExternalStoragePermissionError">Berechtigung für den externen Speicher zum Importieren oder Exportieren von Daten erteilen</string>
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
<string name="groupsList">Gruppen: <xliff:g>%s</xliff:g></string>
|
<string name="groupsList">Gruppen: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||||
<string name="chooseImportType">Daten importieren aus</string>
|
<string name="chooseImportType">Daten importieren aus?</string>
|
||||||
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> scheint kein gültiges Guthaben zu sein.</string>
|
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> scheint kein gültiges Guthaben zu sein.</string>
|
||||||
<string name="points">Punkte</string>
|
<string name="points">Punkte</string>
|
||||||
<string name="currency">Währung</string>
|
<string name="currency">Währung</string>
|
||||||
@@ -105,6 +105,7 @@
|
|||||||
<string name="editBarcode">Barcode ändern</string>
|
<string name="editBarcode">Barcode ändern</string>
|
||||||
<string name="barcode">Strichcode</string>
|
<string name="barcode">Strichcode</string>
|
||||||
<string name="card">Karte</string>
|
<string name="card">Karte</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> Punkte</string>
|
||||||
<string name="balanceSentence">Guthaben: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Guthaben: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Abgelaufen: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Abgelaufen: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Läuft ab: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Läuft ab: <xliff:g>%s</xliff:g></string>
|
||||||
@@ -187,6 +188,7 @@
|
|||||||
<string name="settings_catima_theme">Catima</string>
|
<string name="settings_catima_theme">Catima</string>
|
||||||
<string name="settings_theme_color">Designfarbe</string>
|
<string name="settings_theme_color">Designfarbe</string>
|
||||||
<string name="app_contributors">Ermöglicht durch: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Ermöglicht durch: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
|
<string name="toggleMoreInfo">Umschalten, um weitere Informationen anzuzeigen</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> Barcode</string>
|
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> Barcode</string>
|
||||||
<string name="swipeToSwitchImages">Wischen oder langes Drücken zum Wechseln der Bilder</string>
|
<string name="swipeToSwitchImages">Wischen oder langes Drücken zum Wechseln der Bilder</string>
|
||||||
<string name="sort_by">Sortieren nach</string>
|
<string name="sort_by">Sortieren nach</string>
|
||||||
@@ -220,15 +222,4 @@
|
|||||||
<string name="action_hide_details">Details ausblenden</string>
|
<string name="action_hide_details">Details ausblenden</string>
|
||||||
<string name="translate_platform">auf Weblate</string>
|
<string name="translate_platform">auf Weblate</string>
|
||||||
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
|
<string name="shortcutSelectCard">Wählen Sie eine Karte</string>
|
||||||
<string name="options">Optionen</string>
|
|
||||||
<string name="hideMoreInfo">Infos ausblenden</string>
|
|
||||||
<string name="set_scale">Größe festlegen</string>
|
|
||||||
<string name="showMoreInfo">Infos anzeigen</string>
|
|
||||||
<string name="starred">als Favorit</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> Punkt</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> Punkte</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Rein schwarzer Hintergrund für dunkles Thema</string>
|
|
||||||
<string name="include_if_asking_support">Wenn Sie Unterstützung anfordern möchten, geben Sie bitte die folgenden Informationen an:</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -28,10 +28,10 @@
|
|||||||
<string name="importExportHelp">Τα εφεδρικά δεδομένα σας δίνουν την δυνατότητα να μεταφέρετε τις κάρτες σας σε μία άλλη συσκευή.</string>
|
<string name="importExportHelp">Τα εφεδρικά δεδομένα σας δίνουν την δυνατότητα να μεταφέρετε τις κάρτες σας σε μία άλλη συσκευή.</string>
|
||||||
<string name="importSuccessfulTitle">Εισαγωγή επιτυχής</string>
|
<string name="importSuccessfulTitle">Εισαγωγή επιτυχής</string>
|
||||||
<string name="importFailedTitle">Εισαγωγή ανεπιτυχής</string>
|
<string name="importFailedTitle">Εισαγωγή ανεπιτυχής</string>
|
||||||
<string name="importFailed">Δεν εισήχθει</string>
|
<string name="importFailed">Δεν εισήχθει: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Εξαγωγή επιτυχής</string>
|
<string name="exportSuccessfulTitle">Εξαγωγή επιτυχής</string>
|
||||||
<string name="exportFailedTitle">Εξαγωγή ανεπιτυχής</string>
|
<string name="exportFailedTitle">Εξαγωγή ανεπιτυχής</string>
|
||||||
<string name="exportFailed">Δεν εξήχθη</string>
|
<string name="exportFailed">Δεν εξήχθη: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Γίνεται εισαγωγή του…</string>
|
<string name="importing">Γίνεται εισαγωγή του…</string>
|
||||||
<string name="exporting">Γίνεται εξαγωγή του…</string>
|
<string name="exporting">Γίνεται εξαγωγή του…</string>
|
||||||
<string name="noExternalStoragePermissionError">Δεν είναι δυνατή η εισαγωγή ή εξαγωγή καρτών χωρίς την άδεια πρόσβασης στον εξωτερικό χώρο αποθήκευσης</string>
|
<string name="noExternalStoragePermissionError">Δεν είναι δυνατή η εισαγωγή ή εξαγωγή καρτών χωρίς την άδεια πρόσβασης στον εξωτερικό χώρο αποθήκευσης</string>
|
||||||
|
|||||||
@@ -65,8 +65,8 @@
|
|||||||
<string name="importOptionFilesystemExplanation">Elektu specifa dosiero de la dosiersistemo.</string>
|
<string name="importOptionFilesystemExplanation">Elektu specifa dosiero de la dosiersistemo.</string>
|
||||||
<string name="exportOptionExplanation">La datumoj estos skribita al loko de via elekto.</string>
|
<string name="exportOptionExplanation">La datumoj estos skribita al loko de via elekto.</string>
|
||||||
<string name="noExternalStoragePermissionError">Grant ekstera stokado permeso de importado aŭ eksportado kartoj unua</string>
|
<string name="noExternalStoragePermissionError">Grant ekstera stokado permeso de importado aŭ eksportado kartoj unua</string>
|
||||||
<string name="exportFailed">Ne povis eksporti kartoj</string>
|
<string name="exportFailed">Ne povis eksporti kartoj: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailed">Ne povis importi kartoj</string>
|
<string name="importFailed">Ne povis importi kartoj: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importExportHelp">Subtenanta supre vian kartoj permesas vin movi ilin al alia aparato.</string>
|
<string name="importExportHelp">Subtenanta supre vian kartoj permesas vin movi ilin al alia aparato.</string>
|
||||||
<string name="failedParsingImportUriError">Ne eblis analizi la importado URI</string>
|
<string name="failedParsingImportUriError">Ne eblis analizi la importado URI</string>
|
||||||
<string name="noCardExistsError">Ne eblis trovi karto</string>
|
<string name="noCardExistsError">Ne eblis trovi karto</string>
|
||||||
|
|||||||
@@ -28,10 +28,10 @@
|
|||||||
<string name="importExportHelp">El respaldo le permite transferir sus tarjetas a otro dispositivo.</string>
|
<string name="importExportHelp">El respaldo le permite transferir sus tarjetas a otro dispositivo.</string>
|
||||||
<string name="importSuccessfulTitle">Importado</string>
|
<string name="importSuccessfulTitle">Importado</string>
|
||||||
<string name="importFailedTitle">Falló la importación</string>
|
<string name="importFailedTitle">Falló la importación</string>
|
||||||
<string name="importFailed">No se han podido importar tarjetas</string>
|
<string name="importFailed">No se han podido importar tarjetas: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exportado</string>
|
<string name="exportSuccessfulTitle">Exportado</string>
|
||||||
<string name="exportFailedTitle">Falló la exportación</string>
|
<string name="exportFailedTitle">Falló la exportación</string>
|
||||||
<string name="exportFailed">No se han podido exportar las tarjetas</string>
|
<string name="exportFailed">No se han podido exportar las tarjetas: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importando…</string>
|
<string name="importing">Importando…</string>
|
||||||
<string name="exporting">Exportando…</string>
|
<string name="exporting">Exportando…</string>
|
||||||
<string name="noExternalStoragePermissionError">Otorgar permiso de almacenamiento para importar o exportar tarjetas</string>
|
<string name="noExternalStoragePermissionError">Otorgar permiso de almacenamiento para importar o exportar tarjetas</string>
|
||||||
@@ -99,6 +99,7 @@
|
|||||||
<string name="editBarcode">Editar el código de barras</string>
|
<string name="editBarcode">Editar el código de barras</string>
|
||||||
<string name="barcode">Código de barras</string>
|
<string name="barcode">Código de barras</string>
|
||||||
<string name="card">Tarjeta</string>
|
<string name="card">Tarjeta</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> puntos</string>
|
||||||
<string name="expiryStateSentenceExpired">Expirado: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Expirado: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Expira: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Derechos de autor © 2019-<xliff:g>%d</xliff:g> de Sylvia van Os.</string>
|
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Derechos de autor © 2019-<xliff:g>%d</xliff:g> de Sylvia van Os.</string>
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
<string name="editBarcode">Muokkaa viivakoodia</string>
|
<string name="editBarcode">Muokkaa viivakoodia</string>
|
||||||
<string name="barcode">Viivakoodi</string>
|
<string name="barcode">Viivakoodi</string>
|
||||||
<string name="card">Kortti</string>
|
<string name="card">Kortti</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> pistettä</string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Vanhentunut: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Vanhentunut: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Vanhenee: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Vanhenee: <xliff:g>%s</xliff:g></string>
|
||||||
@@ -103,10 +104,10 @@
|
|||||||
<string name="exportOptionExplanation">Tiedot kirjoitetaan valitsemaasi sijaintiin.</string>
|
<string name="exportOptionExplanation">Tiedot kirjoitetaan valitsemaasi sijaintiin.</string>
|
||||||
<string name="exporting">Viedään…</string>
|
<string name="exporting">Viedään…</string>
|
||||||
<string name="importing">Tuodaan…</string>
|
<string name="importing">Tuodaan…</string>
|
||||||
<string name="exportFailed">Kortteja ei voitu viedä</string>
|
<string name="exportFailed">Kortteja ei voitu viedä: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportFailedTitle">Vienti epäonnistui</string>
|
<string name="exportFailedTitle">Vienti epäonnistui</string>
|
||||||
<string name="exportSuccessfulTitle">Vienti valmis</string>
|
<string name="exportSuccessfulTitle">Vienti valmis</string>
|
||||||
<string name="importFailed">Kortteja ei voitu tuoda</string>
|
<string name="importFailed">Kortteja ei voitu tuoda: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailedTitle">Tuonti epäonnistui</string>
|
<string name="importFailedTitle">Tuonti epäonnistui</string>
|
||||||
<string name="importSuccessfulTitle">Tuonti valmis</string>
|
<string name="importSuccessfulTitle">Tuonti valmis</string>
|
||||||
<string name="importExportHelp">Varmuuskopioimalla korttisi, voit siirtää ne toiseen laitteeseen.</string>
|
<string name="importExportHelp">Varmuuskopioimalla korttisi, voit siirtää ne toiseen laitteeseen.</string>
|
||||||
|
|||||||
@@ -27,11 +27,11 @@
|
|||||||
<string name="exportName">Exporter</string>
|
<string name="exportName">Exporter</string>
|
||||||
<string name="importExportHelp">La sauvegarde de vos données permet de les déplacer sur un autre appareil.</string>
|
<string name="importExportHelp">La sauvegarde de vos données permet de les déplacer sur un autre appareil.</string>
|
||||||
<string name="importSuccessfulTitle">Importé</string>
|
<string name="importSuccessfulTitle">Importé</string>
|
||||||
<string name="importFailedTitle">Échec de l’import</string>
|
<string name="importFailedTitle">Échec de l\'import</string>
|
||||||
<string name="importFailed">Impossible d’effectuer l’importation</string>
|
<string name="importFailed">Impossible d\'importer les cartes: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exporté</string>
|
<string name="exportSuccessfulTitle">Exporté</string>
|
||||||
<string name="exportFailedTitle">Échec de l’export</string>
|
<string name="exportFailedTitle">Échec de l\'export</string>
|
||||||
<string name="exportFailed">Impossible d’effectuer l’exportation</string>
|
<string name="exportFailed">Impossible d\'exporter les cartes: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Import …</string>
|
<string name="importing">Import …</string>
|
||||||
<string name="exporting">Export …</string>
|
<string name="exporting">Export …</string>
|
||||||
<string name="noExternalStoragePermissionError">Accorder au stockage externe l’autorisation d’importer ou d’exporter des données</string>
|
<string name="noExternalStoragePermissionError">Accorder au stockage externe l’autorisation d’importer ou d’exporter des données</string>
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
\nAUCUNE DONNÉE N’EST COLLECTÉE, ce que tout le monde peut confirmer puisque notre application est un logiciel libre.</string>
|
\nAUCUNE DONNÉE N’EST COLLECTÉE, ce que tout le monde peut confirmer puisque notre application est un logiciel libre.</string>
|
||||||
<string name="privacy_policy">Politique de confidentialité</string>
|
<string name="privacy_policy">Politique de confidentialité</string>
|
||||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||||
<string name="chooseImportType">Importer les données depuis</string>
|
<string name="chooseImportType">Importer les données depuis \?</string>
|
||||||
<string name="parsingBalanceFailed"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g> ne semble pas être un solde valide.</string>
|
<string name="parsingBalanceFailed"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g> ne semble pas être un solde valide.</string>
|
||||||
<string name="points">Points</string>
|
<string name="points">Points</string>
|
||||||
<string name="currency">Monnaie</string>
|
<string name="currency">Monnaie</string>
|
||||||
@@ -109,6 +109,7 @@
|
|||||||
<string name="editBarcode">Modifier le code-barres</string>
|
<string name="editBarcode">Modifier le code-barres</string>
|
||||||
<string name="barcode">Code-barres</string>
|
<string name="barcode">Code-barres</string>
|
||||||
<string name="card">Carte</string>
|
<string name="card">Carte</string>
|
||||||
|
<string name="balancePoints"><xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g> points</string>
|
||||||
<string name="balanceSentence">Solde : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
<string name="balanceSentence">Solde : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Expiré : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Expiré : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Expire : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
<string name="expiryStateSentence">Expire : <xliff:g xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">%s</xliff:g></string>
|
||||||
@@ -187,6 +188,7 @@
|
|||||||
<string name="settings_theme_color">Couleur du thème</string>
|
<string name="settings_theme_color">Couleur du thème</string>
|
||||||
<string name="app_contributors">Rendu possible par : <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Rendu possible par : <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="noGroupCards">Ce groupe est vide</string>
|
<string name="noGroupCards">Ce groupe est vide</string>
|
||||||
|
<string name="toggleMoreInfo">Activer/désactiver l’affichage de plus d’infos</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Image <xliff:g>%s</xliff:g> code-barres</string>
|
<string name="barcodeImageDescriptionWithType">Image <xliff:g>%s</xliff:g> code-barres</string>
|
||||||
<string name="swipeToSwitchImages">Balayez ou appuyez longuement pour changer d’image</string>
|
<string name="swipeToSwitchImages">Balayez ou appuyez longuement pour changer d’image</string>
|
||||||
<string name="sort">Trier</string>
|
<string name="sort">Trier</string>
|
||||||
@@ -220,15 +222,4 @@
|
|||||||
<string name="action_hide_details">Masquer les détails</string>
|
<string name="action_hide_details">Masquer les détails</string>
|
||||||
<string name="translate_platform">sur Weblate</string>
|
<string name="translate_platform">sur Weblate</string>
|
||||||
<string name="shortcutSelectCard">Sélectionnez une carte</string>
|
<string name="shortcutSelectCard">Sélectionnez une carte</string>
|
||||||
<string name="options">Options</string>
|
|
||||||
<string name="starred">En favori</string>
|
|
||||||
<string name="set_scale">Définir une échelle</string>
|
|
||||||
<string name="showMoreInfo">Afficher les infos</string>
|
|
||||||
<string name="hideMoreInfo">Masquer les infos</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> point</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> points</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Fond noir pur pour le thème sombre</string>
|
|
||||||
<string name="include_if_asking_support">Si vous voulez demander de l\'aide, incluez les informations suivantes :</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,56 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<resources
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
|
||||||
<string name="action_add">הוספה</string>
|
<string name="action_add">הוספה</string>
|
||||||
|
|
||||||
<string name="cardId">מזהה כרטיס</string>
|
<string name="cardId">מזהה כרטיס</string>
|
||||||
<string name="cancel">ביטול</string>
|
<string name="cancel">ביטול</string>
|
||||||
<string name="save">שמור</string>
|
<string name="save">שמור</string>
|
||||||
<string name="ok">אישור</string>
|
|
||||||
<string name="action_search">חיפוש</string>
|
|
||||||
<string name="noGiftCards">לחץ על לחצן ה + להוספת כרטיס, או ייבא מספר כרטיסים באמצעות התפריט ⋮.</string>
|
|
||||||
<string name="lockScreen">סיבוב</string>
|
|
||||||
<string name="share">שיתוף</string>
|
|
||||||
<string name="copy_to_clipboard">העתקת מזהה ללוח</string>
|
|
||||||
<string name="addCardTitle">הוספת כרטיס</string>
|
|
||||||
<string name="noCardIdError">אין מזהה כרטיס</string>
|
|
||||||
<string name="star">הוספה למועדפים</string>
|
|
||||||
<string name="unstar">הסרה ממועדפים</string>
|
|
||||||
<string name="note">הערות</string>
|
|
||||||
<string name="barcodeType">סוג ברקוד</string>
|
|
||||||
<string name="noBarcode">אין ברקוד</string>
|
|
||||||
<string name="edit">עריכה</string>
|
|
||||||
<plurals name="selectedCardCount">
|
|
||||||
<item quantity="one">אחד</item>
|
|
||||||
<item quantity="two">שניים</item>
|
|
||||||
<item quantity="many">מעט</item>
|
|
||||||
<item quantity="other">אחר</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="exportFailed">לא ניתן לייצא</string>
|
|
||||||
<string name="noGiftCardsGroup">צור מספר כרטיסים, ואז שייך אותם לקבוצה פה.</string>
|
|
||||||
<string name="failedParsingImportUriError">נתיב לא נמצא</string>
|
|
||||||
<string name="noMatchingGiftCards">אין תוצאות. נסה חיפוש אחר.</string>
|
|
||||||
<string name="storeName">שם חנות</string>
|
|
||||||
<string name="barcodeNoBarcode">אין ברקוד</string>
|
|
||||||
<string name="delete">מחיקה</string>
|
|
||||||
<string name="confirm">אישור</string>
|
|
||||||
<string name="deleteTitle">מחק כרטיס</string>
|
|
||||||
<string name="deleteConfirmation">האם למחוק כרטיס זה\?</string>
|
|
||||||
<string name="sendLabel">שליחה…</string>
|
|
||||||
<string name="editCardTitle">עריכת כרטיס</string>
|
|
||||||
<string name="scanCardBarcode">סריקת ברקוד</string>
|
|
||||||
<string name="cardShortcut">קיצור דרך</string>
|
|
||||||
<string name="noCardsMessage">תחילה הוסף כרטיס</string>
|
|
||||||
<string name="card_ids_copied">מזהי כרטיס הועתקו</string>
|
|
||||||
<string name="barcodeImageDescriptionWithType"></string>
|
|
||||||
<string name="noStoreError">לא הוכנס שם חנות</string>
|
|
||||||
<string name="noCardExistsError">כרטיס לא נמצא</string>
|
|
||||||
<string name="importExport">ייבוא/ייצוא</string>
|
|
||||||
<string name="exportName">ייצוא</string>
|
|
||||||
<string name="importExportHelp">גיבוי המידע שלך מאפשר העברתו למכשיר אחר.</string>
|
|
||||||
<string name="importSuccessfulTitle">הייבוא הצליח</string>
|
|
||||||
<string name="importFailedTitle">הייבוא נכשל</string>
|
|
||||||
<string name="importFailed">לא ניתן לייבא</string>
|
|
||||||
<string name="exportSuccessfulTitle">הייצוא הצליח</string>
|
|
||||||
<string name="exportFailedTitle">הייצוא נכשל</string>
|
|
||||||
<string name="importing">מייבא…</string>
|
|
||||||
<string name="exporting">ייצוא…</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="unstar">Ukloni iz favorita</string>
|
<string name="unstar">Ukloni iz favorita</string>
|
||||||
<string name="action_search">Pretraživanje</string>
|
<string name="action_search">Pretraživanje</string>
|
||||||
<string name="save">Spremi</string>
|
<string name="save">Spremi</string>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<string name="importExportHelp">Sigurnosno kopiranje kartica omogućuje vam da ih premjestite na drugi uređaj.</string>
|
<string name="importExportHelp">Sigurnosno kopiranje kartica omogućuje vam da ih premjestite na drugi uređaj.</string>
|
||||||
<string name="importSuccessfulTitle">Uvezeno</string>
|
<string name="importSuccessfulTitle">Uvezeno</string>
|
||||||
<string name="importFailedTitle">Nije moguće uvesti</string>
|
<string name="importFailedTitle">Nije moguće uvesti</string>
|
||||||
<string name="importFailed">Nije moguće uvesti karte</string>
|
<string name="importFailed">Nije moguće uvesti karte: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Izvezeno</string>
|
<string name="exportSuccessfulTitle">Izvezeno</string>
|
||||||
<string name="about">Oh</string>
|
<string name="about">Oh</string>
|
||||||
<string name="importOptionApplicationButton">Koristite drugu aplikaciju</string>
|
<string name="importOptionApplicationButton">Koristite drugu aplikaciju</string>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
<string name="importOptionApplicationTitle">Koristite drugu aplikaciju</string>
|
<string name="importOptionApplicationTitle">Koristite drugu aplikaciju</string>
|
||||||
<string name="settings">Postavke</string>
|
<string name="settings">Postavke</string>
|
||||||
<string name="settings_dark_theme">Tamno</string>
|
<string name="settings_dark_theme">Tamno</string>
|
||||||
<string name="exportFailed">Nije moguće izvesti karte</string>
|
<string name="exportFailed">Nije moguće izvesti karte: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Uvoz…</string>
|
<string name="importing">Uvoz…</string>
|
||||||
<string name="importOptionFilesystemTitle">Uvoz iz datotečnog sustava</string>
|
<string name="importOptionFilesystemTitle">Uvoz iz datotečnog sustava</string>
|
||||||
<string name="importOptionFilesystemButton">Iz datotečnog sustava</string>
|
<string name="importOptionFilesystemButton">Iz datotečnog sustava</string>
|
||||||
|
|||||||
@@ -1,232 +0,0 @@
|
|||||||
<?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="noGiftCards">Nyomja meg a + jelet a kártya hozzáadásához, vagy importáljon a ⋮ menüvel.</string>
|
|
||||||
<string name="action_add">Hozzáadás</string>
|
|
||||||
<string name="action_search">Keresés</string>
|
|
||||||
<plurals name="selectedCardCount">
|
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> kiválasztva</item>
|
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> kiválasztva</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="noCardsMessage">Először adjon hozzá egy kártyát</string>
|
|
||||||
<string name="noGiftCardsGroup">Hozzon létre kártyákat, és rendelje hozzá a megfelelő csoporthoz.</string>
|
|
||||||
<string name="noMatchingGiftCards">Nincs eredmény. Próbálja módosítani a keresést.</string>
|
|
||||||
<string name="storeName">Név</string>
|
|
||||||
<string name="note">Feljegyzés</string>
|
|
||||||
<string name="cardId">Kártya azonosító</string>
|
|
||||||
<string name="barcodeType">Vonalkód típus</string>
|
|
||||||
<string name="barcodeNoBarcode">Nincs vonalkód</string>
|
|
||||||
<string name="noBarcode">Nincs vonalkód</string>
|
|
||||||
<string name="star">Kedvencekhez adás</string>
|
|
||||||
<string name="unstar">Kivétel a kedvencek közül</string>
|
|
||||||
<string name="cancel">Mégse</string>
|
|
||||||
<string name="save">Mentés</string>
|
|
||||||
<string name="edit">Szerkesztés</string>
|
|
||||||
<string name="delete">Törlés</string>
|
|
||||||
<string name="confirm">Alkalmaz</string>
|
|
||||||
<string name="lockScreen">Forgatás blokkolása</string>
|
|
||||||
<string name="unlockScreen">Blokkolás engedélyezése</string>
|
|
||||||
<plurals name="deleteCardsTitle">
|
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> törlése</item>
|
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> törlése</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="deleteConfirmation">Véglegesen törli a kártyát\?</string>
|
|
||||||
<string name="ok">Rendben</string>
|
|
||||||
<string name="copy_to_clipboard">Azonosító másolása a vágólapra</string>
|
|
||||||
<string name="share">Megosztás</string>
|
|
||||||
<string name="sendLabel">Küldés…</string>
|
|
||||||
<string name="editCardTitle">Kártya szerkesztése</string>
|
|
||||||
<string name="addCardTitle">Kártya hozzáadása</string>
|
|
||||||
<string name="scanCardBarcode">Vonalkód szkennelése</string>
|
|
||||||
<string name="cardShortcut">Kártya parancsikon</string>
|
|
||||||
<string name="noStoreError">Nincs név megadva</string>
|
|
||||||
<string name="failedParsingImportUriError">Nem elemezhető az importált URI</string>
|
|
||||||
<string name="importExport">Import/Export</string>
|
|
||||||
<string name="exportName">Export</string>
|
|
||||||
<string name="importExportHelp">Az adataid mentése lehetővé teszi, hogy egy másik eszközre feltöltsd.</string>
|
|
||||||
<string name="importSuccessfulTitle">Importálva</string>
|
|
||||||
<string name="importFailedTitle">Importálás meghiúsult</string>
|
|
||||||
<string name="importFailed">Importálás nem hajtható végre</string>
|
|
||||||
<string name="exportSuccessfulTitle">Exportálva</string>
|
|
||||||
<string name="exportFailedTitle">Exportálás meghiúsult</string>
|
|
||||||
<plurals name="deleteCardsConfirmation">
|
|
||||||
<item quantity="one">Véglegesen törli a <xliff:g>%d</xliff:g> kártyát\?</item>
|
|
||||||
<item quantity="other">Véglegesen törli a <xliff:g>%d</xliff:g> kártyákat\?</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="deleteTitle">Kártya törlése</string>
|
|
||||||
<string name="card_ids_copied">Azonosító(k) másolása</string>
|
|
||||||
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> vonalkód képe</string>
|
|
||||||
<string name="noCardIdError">Nincs azonosító megadva</string>
|
|
||||||
<string name="noCardExistsError">Kártya nem található</string>
|
|
||||||
<string name="importStocardMessage">Válassza ki a <i>***-sync.zip</i> Stocard exportot.
|
|
||||||
\nAdatinak exportját kérheti e-mailben a support@stocardapp.com címre írva.</string>
|
|
||||||
<string name="importVoucherVault">Importálás Voucher Vault-ból</string>
|
|
||||||
<string name="wrongValueForBarcodeType">Ez az érték meg megfelelő a vonalkód típushoz</string>
|
|
||||||
<string name="settings_green_theme">Zöld</string>
|
|
||||||
<string name="setBackImage">Hátlapi kép beállítása</string>
|
|
||||||
<string name="no">Nem</string>
|
|
||||||
<string name="passwordRequired">Kérem írja be a kódot</string>
|
|
||||||
<string name="settings_catima_theme">Catima</string>
|
|
||||||
<string name="exportPasswordHint">Kód beírása</string>
|
|
||||||
<string name="failedGeneratingShareURL">Nem lehetett megosztható címet generálni. Kérem jelentse ezt.</string>
|
|
||||||
<string name="settings_theme_color">Téma színe</string>
|
|
||||||
<string name="settings_grey_theme">Szürke</string>
|
|
||||||
<string name="sort">Rendez</string>
|
|
||||||
<string name="on_google_play">Google Play-en</string>
|
|
||||||
<string name="action_show_details">Részletek mutatása</string>
|
|
||||||
<string name="action_hide_details">Részletek elrejtése</string>
|
|
||||||
<string name="and_data_usage">és adat használat</string>
|
|
||||||
<string name="translate_platform">Weblate-en</string>
|
|
||||||
<string name="sort_by_name">Név</string>
|
|
||||||
<string name="sort_by_most_recently_used">Legutóbb használt</string>
|
|
||||||
<string name="sort_by_expiry">Lejárat</string>
|
|
||||||
<string name="rate_this_app">Értékelje az appot</string>
|
|
||||||
<string name="exportFailed">Exportálás sikertelen</string>
|
|
||||||
<string name="importing">Importálás…</string>
|
|
||||||
<string name="exporting">Exportálás…</string>
|
|
||||||
<string name="noExternalStoragePermissionError">Külső háttértárhoz való hozzáférés engedélyezése adat import vagy export miatt</string>
|
|
||||||
<string name="exportOptionExplanation">Az adatokat a kiválasztott helyre fogjuk menteni.</string>
|
|
||||||
<string name="importOptionFilesystemTitle">Importálás fájlrendszerből</string>
|
|
||||||
<string name="importOptionFilesystemButton">A fájlrendszerből</string>
|
|
||||||
<string name="importOptionApplicationTitle">Másik app használata</string>
|
|
||||||
<string name="importOptionApplicationExplanation">Használjon egy tetszőleges appot, vagy kedvenc fájl menedzserét a fájl megnyitásához.</string>
|
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Szerzői Jog © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
|
||||||
<string name="app_license">Copyleft-elt gáttalan szoftver, GPLv3+ licenszelve</string>
|
|
||||||
<string name="about_title_fmt"><xliff:g id="app_name">%s</xliff:g> névjegye</string>
|
|
||||||
<string name="debug_version_fmt">Verzió: <xliff:g id="version">%s</xliff:g></string>
|
|
||||||
<string name="app_revision_fmt">Revíziós információ: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
|
||||||
<string name="app_resources">Gáttalan külsős források: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
|
||||||
<string name="selectBarcodeTitle">Vonalkód kiválasztása</string>
|
|
||||||
<string name="enterBarcodeInstructions">Írja be az azonosítót, majd válasszon egy vonalkódot, vagy a \"Nincs vonalkód\" opciót.</string>
|
|
||||||
<string name="copy_to_clipboard_toast">Azonosító vágólapra másolva</string>
|
|
||||||
<string name="starImage">Kedvencek csillag</string>
|
|
||||||
<string name="settings">Beállítások</string>
|
|
||||||
<string name="settings_category_title_ui">Felhasználói felület</string>
|
|
||||||
<string name="settings_theme">Téma</string>
|
|
||||||
<string name="settings_system_theme">Rendszer</string>
|
|
||||||
<string name="settings_light_theme">Világos</string>
|
|
||||||
<string name="settings_max_font_size_scale">Max. betű méret</string>
|
|
||||||
<string name="settings_display_barcode_max_brightness">Fényes vonalkód nézet</string>
|
|
||||||
<string name="settings_lock_barcode_orientation">Vonalkód tájolás zárolása</string>
|
|
||||||
<string name="settings_keep_screen_on">Képernyő bekapcsolva marad</string>
|
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Képernyő zárólás megakadályozása</string>
|
|
||||||
<string name="intent_import_card_from_url_share_text">Meg akarok veled osztani egy kártyát</string>
|
|
||||||
<string name="importSuccessful">Adat importálva</string>
|
|
||||||
<string name="exportSuccessful">Adat exportálva</string>
|
|
||||||
<string name="enter_group_name">Adja meg a csoport nevét</string>
|
|
||||||
<string name="groups">Csoportok</string>
|
|
||||||
<string name="group_edit">Csoport szerkesztése</string>
|
|
||||||
<string name="group_name_is_empty">Csoport név nem lehet üres</string>
|
|
||||||
<string name="failedOpeningFileManager">Telepítsen egy fájl menedzsert.</string>
|
|
||||||
<string name="moveUp">Felfelé mozgatás</string>
|
|
||||||
<string name="moveDown">Lefelé mozgatás</string>
|
|
||||||
<string name="leaveWithoutSaveTitle">Kilépés</string>
|
|
||||||
<string name="leaveWithoutSaveConfirmation">Kilépés mentés nélkül\?</string>
|
|
||||||
<string name="addManually">Azonosító manuális beírása</string>
|
|
||||||
<string name="addFromImage">Kép kiválasztása a galériából</string>
|
|
||||||
<string name="editGroup">Csoportok szerkesztése: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="expiryStateSentence">Érvényes: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="balanceSentence">Egyenleg: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="card">Kártya</string>
|
|
||||||
<string name="barcode">Vonalkód</string>
|
|
||||||
<string name="editBarcode">Vonalkód szerkesztése</string>
|
|
||||||
<string name="expiryDate">Lejárati dátum</string>
|
|
||||||
<string name="never">Soha</string>
|
|
||||||
<string name="chooseExpiryDate">Lejárati dátum kiválasztása</string>
|
|
||||||
<string name="moveBarcodeToTopOfScreen">Vonalkód feltolása a képernyő tetejére</string>
|
|
||||||
<string name="moveBarcodeToCenterOfScreen">Vonalkód középre igazítása</string>
|
|
||||||
<string name="noBarcodeFound">Nem található vonalkód</string>
|
|
||||||
<string name="errorReadingImage">Nem lehet olvasni a képet</string>
|
|
||||||
<string name="balance">Egyenleg</string>
|
|
||||||
<string name="currency">Valuta</string>
|
|
||||||
<string name="points">Pontok</string>
|
|
||||||
<string name="parsingBalanceFailed">A <xliff:g>%s</xliff:g> nem tűnik valós egyenlegnek.</string>
|
|
||||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
|
||||||
<string name="privacy_policy">Adatvédelmi Szabályzat</string>
|
|
||||||
<string name="accept">Elfogad</string>
|
|
||||||
<string name="importCatima">Importálás Catimából</string>
|
|
||||||
<string name="importFidme">Importálás FidMe-ből</string>
|
|
||||||
<string name="importLoyaltyCardKeychain">Importálás a Loyalty Card Keychain-ből</string>
|
|
||||||
<string name="importLoyaltyCardKeychainMessage">Válassza ki a Loyalty Card Keychain-ból importálni kívánt <i>LoyaltyCardKeychain.csv</i> export fájlt.
|
|
||||||
\nLétrehozhatja az Import/Export menüből ha a Loyalty Card Keychain-ben rányom az Exportra.</string>
|
|
||||||
<string name="importStocard">Importálás Stocard-ból</string>
|
|
||||||
<string name="importVoucherVaultMessage">Válassza ki a <i>vouchervault.json</i> Voucher Vault exportját.
|
|
||||||
\nLétrehozhatja az Export-ra nyomva a Voucher Vault-ban.</string>
|
|
||||||
<string name="barcodeId">Vonalkód érték</string>
|
|
||||||
<string name="sameAsCardId">Ugyanaz, mint az azonosító</string>
|
|
||||||
<string name="setBarcodeId">Vonalkód érték beállítása</string>
|
|
||||||
<string name="unsupportedBarcodeType">Ez a vonalkód típus még nem megjeleníthető. Feltehetően támogatva lesz egy későbbi verzióban.</string>
|
|
||||||
<string name="copy_to_clipboard_multiple_toast">Azonosítók a vágólapra másolva</string>
|
|
||||||
<string name="intent_import_card_from_url_share_multiple_text">Meg akarok veled osztani pár kártyát</string>
|
|
||||||
<string name="frontImageDescription">Előlapi kép</string>
|
|
||||||
<string name="backImageDescription">Hátlapi kép</string>
|
|
||||||
<string name="photos">Fotók</string>
|
|
||||||
<string name="setFrontImage">Előlapi kép beállítása</string>
|
|
||||||
<string name="removeImage">Kép eltávolítása</string>
|
|
||||||
<string name="takePhoto">Fénykép készítése</string>
|
|
||||||
<string name="updateBarcodeQuestionTitle">Vonalkód érték frissítése\?</string>
|
|
||||||
<string name="updateBarcodeQuestionText">Megváltoztatta az azonosító. Meg akarja ennek megfelelően változtatni a vonalkód értéket is\?</string>
|
|
||||||
<string name="yes">Igen</string>
|
|
||||||
<string name="exportPassword">Írjon be egy jelszót az export védelme érdekében (opcionális)</string>
|
|
||||||
<string name="turn_flashlight_on">Zseblámpa bekapcsolása</string>
|
|
||||||
<string name="turn_flashlight_off">Zseblámpa kikapcsolása</string>
|
|
||||||
<string name="settings_locale">Nyelv</string>
|
|
||||||
<string name="settings_system_locale">Rendszer</string>
|
|
||||||
<string name="selectColor">Szín kiválasztása</string>
|
|
||||||
<string name="setIcon">Ikon beállítása</string>
|
|
||||||
<string name="settings_pink_theme">Rózsaszín</string>
|
|
||||||
<string name="settings_magenta_theme">Magenta</string>
|
|
||||||
<string name="settings_violet_theme">Ibolyaszínű</string>
|
|
||||||
<string name="settings_blue_theme">Kék</string>
|
|
||||||
<string name="settings_sky_blue_theme">Égszínkék</string>
|
|
||||||
<string name="settings_brown_theme">Barna</string>
|
|
||||||
<string name="app_contributors">Lehetővé tette: <xliff:g id="app_contributors">%s</xliff:g></string>
|
|
||||||
<string name="showMoreInfo">Infó mutatása</string>
|
|
||||||
<string name="hideMoreInfo">Infó elrejtése</string>
|
|
||||||
<string name="swipeToSwitchImages">Húzza oldalra vagy tartsa nyomva a kép megváltoztatásáért</string>
|
|
||||||
<string name="sort_by_balance">Egyenleg</string>
|
|
||||||
<string name="reverse">...fordított sorrendben</string>
|
|
||||||
<string name="sort_by">Rendezés mint</string>
|
|
||||||
<string name="version_history">Verzió történet</string>
|
|
||||||
<string name="credits">Köszönet</string>
|
|
||||||
<string name="help_translate_this_app">Segítsen lefordítani az appot</string>
|
|
||||||
<string name="license">Licensz</string>
|
|
||||||
<string name="source_repository">Forrás repó</string>
|
|
||||||
<string name="on_github">GitBub-on</string>
|
|
||||||
<string name="report_error">Hiba Jelentése</string>
|
|
||||||
<string name="shortcutSelectCard">Válasszon egy kártyát</string>
|
|
||||||
<string name="options">Beállítások</string>
|
|
||||||
<string name="starred">Csillagozva</string>
|
|
||||||
<string name="set_scale">Méret választása</string>
|
|
||||||
<plurals name="groupCardCount">
|
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> kártya</item>
|
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> kártyák</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> pont</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> pont</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="chooseImportType">Adat importálása innen</string>
|
|
||||||
<string name="thumbnailDescription">Előkép</string>
|
|
||||||
<string name="importOptionFilesystemExplanation">Válassza ki a kívánt fájlt a fájlrendszerből.</string>
|
|
||||||
<string name="importOptionApplicationButton">Másik app használata</string>
|
|
||||||
<string name="about">Névjegy</string>
|
|
||||||
<string name="app_copyright_old">Készült a Loyalty Card Keychain alapján
|
|
||||||
\nszerzői jog © 2016–2020 Branden Archer</string>
|
|
||||||
<string name="app_libraries">Gáttalan külsős mappák: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
|
||||||
<string name="settings_dark_theme">Sötét</string>
|
|
||||||
<string name="deleteConfirmationGroup">Csoport törlése\?</string>
|
|
||||||
<string name="noGroups">Nyomja meg a + gombot a csoportok kategorizálásához.</string>
|
|
||||||
<string name="group_name_already_in_use">Csoport név már létezik</string>
|
|
||||||
<string name="all">Mind</string>
|
|
||||||
<string name="noGroupCards">Ez a csoport üres</string>
|
|
||||||
<string name="group_updated">Csoport frissítve</string>
|
|
||||||
<string name="expiryStateSentenceExpired">Lejárt: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="groupsList">Csoportok: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="importCatimaMessage">Válassza ki a <i>catima.zip</i>-jét az importáláshoz.
|
|
||||||
\nLétrehozhatja az Import/Export menüből az Exportálást megnyomva egy másik Catima appban.</string>
|
|
||||||
<string name="privacy_policy_popup_text">Adatvédelmi szabály értesítő (némely app bolt kéri):
|
|
||||||
\n
|
|
||||||
\nSEMMILYEN ADATGYŰJTÉS NINCS, amit bárki ellenőrizhet, lévén hogy az app gáttalan szoftver.</string>
|
|
||||||
<string name="importFidmeMessage">Válassza ki a <i>fidme-export-request-xxxxxx.zip</i> nevű FidMe exportot, majd importálja be és válassza a manuális vonalkód opciót utána.
|
|
||||||
\nEzt a FidMe-ben megtalálja a profiljában az Adat Védelem résznél ha rányom az Adataim Kivonata linkre.</string>
|
|
||||||
</resources>
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="app_revision_url">https://github.com/CatimaLoyalty/Android/releases</string>
|
<string name="app_revision_url">https://github.com/TheLastProject/Catima/releases</string>
|
||||||
<string name="storeName">Nama</string>
|
<string name="storeName">Nama</string>
|
||||||
<string name="note">Keterangan</string>
|
<string name="note">Keterangan</string>
|
||||||
<string name="delete">Hapus</string>
|
<string name="delete">Hapus</string>
|
||||||
@@ -90,10 +90,10 @@
|
|||||||
<string name="exportName">Ekspor</string>
|
<string name="exportName">Ekspor</string>
|
||||||
<string name="importSuccessfulTitle">Sudah diimpor</string>
|
<string name="importSuccessfulTitle">Sudah diimpor</string>
|
||||||
<string name="importFailedTitle">Impor gagal</string>
|
<string name="importFailedTitle">Impor gagal</string>
|
||||||
<string name="importFailed">Tidak dapat mengimpor kartu</string>
|
<string name="importFailed">Tidak dapat mengimpor kartu: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Sudah diekspor</string>
|
<string name="exportSuccessfulTitle">Sudah diekspor</string>
|
||||||
<string name="exportFailedTitle">Ekspor gagal</string>
|
<string name="exportFailedTitle">Ekspor gagal</string>
|
||||||
<string name="exportFailed">Tidak dapat mengekspor kartu</string>
|
<string name="exportFailed">Tidak dapat mengekspor kartu: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Mengimpor…</string>
|
<string name="importing">Mengimpor…</string>
|
||||||
<string name="exporting">Mengekspor…</string>
|
<string name="exporting">Mengekspor…</string>
|
||||||
<string name="noExternalStoragePermissionError">Berikan izin penyimpanan eksternal untuk mengimpor atau mengekspor kartu terlebih dahulu</string>
|
<string name="noExternalStoragePermissionError">Berikan izin penyimpanan eksternal untuk mengimpor atau mengekspor kartu terlebih dahulu</string>
|
||||||
@@ -143,6 +143,7 @@
|
|||||||
<string name="expiryStateSentence">Masa ber: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Masa ber: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Kadaluwarsa: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Kadaluwarsa: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> poin</string>
|
||||||
<string name="editBarcode">Ubah barcode</string>
|
<string name="editBarcode">Ubah barcode</string>
|
||||||
<string name="expiryDate">Tanggal masa berlaku</string>
|
<string name="expiryDate">Tanggal masa berlaku</string>
|
||||||
<string name="never">Tidak pernah</string>
|
<string name="never">Tidak pernah</string>
|
||||||
@@ -179,6 +180,7 @@
|
|||||||
<string name="exportPassword">Tetapkan kata sandi untuk melindungi ekspor anda (opsional)</string>
|
<string name="exportPassword">Tetapkan kata sandi untuk melindungi ekspor anda (opsional)</string>
|
||||||
<string name="failedGeneratingShareURL">Tidak dapat membuat alamat berbagi. Mohon laporkan ini.</string>
|
<string name="failedGeneratingShareURL">Tidak dapat membuat alamat berbagi. Mohon laporkan ini.</string>
|
||||||
<string name="app_contributors">Pengembangan dibantu oleh: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Pengembangan dibantu oleh: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
|
<string name="toggleMoreInfo">Tampilkan info selengkapnya</string>
|
||||||
<string name="swipeToSwitchImages">Geser atau tekan yang lama untuk mengganti gambar</string>
|
<string name="swipeToSwitchImages">Geser atau tekan yang lama untuk mengganti gambar</string>
|
||||||
<string name="reverse">Ubah urutan</string>
|
<string name="reverse">Ubah urutan</string>
|
||||||
<string name="version_history">Riwayat Versi</string>
|
<string name="version_history">Riwayat Versi</string>
|
||||||
|
|||||||
@@ -33,10 +33,10 @@
|
|||||||
<string name="importExportHelp">Il backup dei dati permette di spostarli su un altro dispositivo.</string>
|
<string name="importExportHelp">Il backup dei dati permette di spostarli su un altro dispositivo.</string>
|
||||||
<string name="importSuccessfulTitle">Importato</string>
|
<string name="importSuccessfulTitle">Importato</string>
|
||||||
<string name="importFailedTitle">Importazione fallita</string>
|
<string name="importFailedTitle">Importazione fallita</string>
|
||||||
<string name="importFailed">Impossibile eseguire l\'importazione</string>
|
<string name="importFailed">Impossibile importare le carte: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Esportato</string>
|
<string name="exportSuccessfulTitle">Esportato</string>
|
||||||
<string name="exportFailedTitle">Esportazione fallita</string>
|
<string name="exportFailedTitle">Esportazione fallita</string>
|
||||||
<string name="exportFailed">Impossibile eseguire l\'esportazione</string>
|
<string name="exportFailed">Impossibile esportare le carte: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importazione in corso…</string>
|
<string name="importing">Importazione in corso…</string>
|
||||||
<string name="exporting">Esportazione in corso…</string>
|
<string name="exporting">Esportazione in corso…</string>
|
||||||
<string name="noExternalStoragePermissionError">Concedi il permesso di archiviazione esterna per importare o esportare dati</string>
|
<string name="noExternalStoragePermissionError">Concedi il permesso di archiviazione esterna per importare o esportare dati</string>
|
||||||
@@ -102,11 +102,12 @@
|
|||||||
<string name="editBarcode">Modifica il codice a barre</string>
|
<string name="editBarcode">Modifica il codice a barre</string>
|
||||||
<string name="barcode">Codice a barre</string>
|
<string name="barcode">Codice a barre</string>
|
||||||
<string name="card">Carta</string>
|
<string name="card">Carta</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> punti</string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Scaduta: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Scaduta: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Scadenza: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Scadenza: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="settings_keep_screen_on">Mantieni lo schermo attivo</string>
|
<string name="settings_keep_screen_on">Mantieni lo schermo attivo</string>
|
||||||
<string name="app_loyalty_card_keychain">Carte fedeltà</string>
|
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||||
<string name="chooseImportType">Importa i dati da</string>
|
<string name="chooseImportType">Importa i dati da</string>
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Impedisci il blocco dello schermo</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Impedisci il blocco dello schermo</string>
|
||||||
<string name="accept">Accetta</string>
|
<string name="accept">Accetta</string>
|
||||||
@@ -187,6 +188,7 @@
|
|||||||
<string name="settings_theme_color">Colore del tema</string>
|
<string name="settings_theme_color">Colore del tema</string>
|
||||||
<string name="app_contributors">Reso possibile da: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Reso possibile da: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="noGroupCards">Questo gruppo è vuoto</string>
|
<string name="noGroupCards">Questo gruppo è vuoto</string>
|
||||||
|
<string name="toggleMoreInfo">Attiva/disattiva la visualizzazione di altre informazioni</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Immagine del codice a barre in formato <xliff:g>%s</xliff:g></string>
|
<string name="barcodeImageDescriptionWithType">Immagine del codice a barre in formato <xliff:g>%s</xliff:g></string>
|
||||||
<string name="swipeToSwitchImages">Scorri o premi a lungo per cambiare immagine</string>
|
<string name="swipeToSwitchImages">Scorri o premi a lungo per cambiare immagine</string>
|
||||||
<string name="sort_by">Ordina per</string>
|
<string name="sort_by">Ordina per</string>
|
||||||
@@ -219,15 +221,4 @@
|
|||||||
<string name="action_show_details">Mostra i dettagli</string>
|
<string name="action_show_details">Mostra i dettagli</string>
|
||||||
<string name="action_hide_details">Nascondi i dettagli</string>
|
<string name="action_hide_details">Nascondi i dettagli</string>
|
||||||
<string name="translate_platform">su Weblate</string>
|
<string name="translate_platform">su Weblate</string>
|
||||||
<string name="shortcutSelectCard">Seleziona una tessera</string>
|
|
||||||
<string name="options">Opzioni</string>
|
|
||||||
<string name="starred">Nei preferiti</string>
|
|
||||||
<string name="set_scale">Imposta la scala</string>
|
|
||||||
<string name="showMoreInfo">Mostra info</string>
|
|
||||||
<string name="hideMoreInfo">Nascondi info</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> punto</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> punti</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Sfondo nero puro per il tema scuro</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -33,6 +33,7 @@
|
|||||||
<string name="editBarcode">バーコードの編集</string>
|
<string name="editBarcode">バーコードの編集</string>
|
||||||
<string name="barcode">バーコード</string>
|
<string name="barcode">バーコード</string>
|
||||||
<string name="card">カード</string>
|
<string name="card">カード</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> ポイント</string>
|
||||||
<string name="balanceSentence">残高: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">残高: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">期限切れ: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">期限切れ: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">期限: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">期限: <xliff:g>%s</xliff:g></string>
|
||||||
@@ -91,7 +92,7 @@
|
|||||||
<string name="noExternalStoragePermissionError">データをインポート/エクスポートするために外部ストレージへのアクセスを許可してください</string>
|
<string name="noExternalStoragePermissionError">データをインポート/エクスポートするために外部ストレージへのアクセスを許可してください</string>
|
||||||
<string name="exporting">エクスポート中…</string>
|
<string name="exporting">エクスポート中…</string>
|
||||||
<string name="importing">インポート中…</string>
|
<string name="importing">インポート中…</string>
|
||||||
<string name="exportFailed">カードをエクスポートできませんでした</string>
|
<string name="exportFailed">カードをエクスポートできませんでした: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportFailedTitle">エクスポートに失敗しました</string>
|
<string name="exportFailedTitle">エクスポートに失敗しました</string>
|
||||||
<string name="exportSuccessfulTitle">エクスポートしました</string>
|
<string name="exportSuccessfulTitle">エクスポートしました</string>
|
||||||
<string name="sameAsCardId">カード番号に合わせる</string>
|
<string name="sameAsCardId">カード番号に合わせる</string>
|
||||||
@@ -99,7 +100,7 @@
|
|||||||
<string name="importVoucherVaultMessage">Voucher Vaultでエクスポートした <i>vouchervault.json</i>ファイルを選択してください。
|
<string name="importVoucherVaultMessage">Voucher Vaultでエクスポートした <i>vouchervault.json</i>ファイルを選択してください。
|
||||||
\nファイルがない場合、Voucher Vaultでファイルをエクスポートしてください。</string>
|
\nファイルがない場合、Voucher Vaultでファイルをエクスポートしてください。</string>
|
||||||
<string name="importVoucherVault">Voucher Vaultからインポート</string>
|
<string name="importVoucherVault">Voucher Vaultからインポート</string>
|
||||||
<string name="importFailed">カードをインポートできません</string>
|
<string name="importFailed">カードをインポートできません: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailedTitle">インポートに失敗しました</string>
|
<string name="importFailedTitle">インポートに失敗しました</string>
|
||||||
<string name="importSuccessfulTitle">インポートしました</string>
|
<string name="importSuccessfulTitle">インポートしました</string>
|
||||||
<string name="importExportHelp">データをバックアップすると、他のデバイスにカードを移すことができます。</string>
|
<string name="importExportHelp">データをバックアップすると、他のデバイスにカードを移すことができます。</string>
|
||||||
@@ -170,6 +171,7 @@
|
|||||||
<item quantity="other"><xliff:g>%d</xliff:g> 枚のカードの削除</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> 枚のカードの削除</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="barcodeImageDescriptionWithType">バーコード形式の画像 <xliff:g>%s</xliff:g></string>
|
<string name="barcodeImageDescriptionWithType">バーコード形式の画像 <xliff:g>%s</xliff:g></string>
|
||||||
|
<string name="toggleMoreInfo">詳細を表示する</string>
|
||||||
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Made possible by: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="settings_brown_theme">Brown</string>
|
<string name="settings_brown_theme">Brown</string>
|
||||||
<string name="settings_grey_theme">Gray</string>
|
<string name="settings_grey_theme">Gray</string>
|
||||||
|
|||||||
@@ -55,11 +55,11 @@
|
|||||||
<string name="importOptionApplicationTitle">외부 앱 사용</string>
|
<string name="importOptionApplicationTitle">외부 앱 사용</string>
|
||||||
<string name="importOptionFilesystemExplanation">파일 시스템에서 파일을 선택합니다.</string>
|
<string name="importOptionFilesystemExplanation">파일 시스템에서 파일을 선택합니다.</string>
|
||||||
<string name="importOptionFilesystemTitle">파일 시스템에서 가져오기</string>
|
<string name="importOptionFilesystemTitle">파일 시스템에서 가져오기</string>
|
||||||
<string name="exportFailed">카드를 내보낼 수 없음</string>
|
<string name="exportFailed">카드를 내보낼 수 없음: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importOptionApplicationExplanation">다른 파일 관리자 또는 앱을 사용하여 파일을 엽니다.</string>
|
<string name="importOptionApplicationExplanation">다른 파일 관리자 또는 앱을 사용하여 파일을 엽니다.</string>
|
||||||
<string name="exportFailedTitle">내보내기 실패</string>
|
<string name="exportFailedTitle">내보내기 실패</string>
|
||||||
<string name="exportSuccessfulTitle">내보내기 완료</string>
|
<string name="exportSuccessfulTitle">내보내기 완료</string>
|
||||||
<string name="importFailed">카드를 가져올 수 없음</string>
|
<string name="importFailed">카드를 가져올 수 없음: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailedTitle">가져오기 실패</string>
|
<string name="importFailedTitle">가져오기 실패</string>
|
||||||
<string name="importSuccessfulTitle">가져오기 완료</string>
|
<string name="importSuccessfulTitle">가져오기 완료</string>
|
||||||
<string name="noCardIdError">카드 ID를 입력하지 않음</string>
|
<string name="noCardIdError">카드 ID를 입력하지 않음</string>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<string name="cardShortcut">Kaart Bréck</string>
|
<string name="cardShortcut">Kaart Bréck</string>
|
||||||
<string name="exportSuccessfulTitle">Exportéieren</string>
|
<string name="exportSuccessfulTitle">Exportéieren</string>
|
||||||
<string name="exportFailedTitle">Export fehlgeschlagen</string>
|
<string name="exportFailedTitle">Export fehlgeschlagen</string>
|
||||||
<string name="exportFailed">Kaarten konnten net exportéiert ginn</string>
|
<string name="exportFailed">Kaarten konnten net exportéiert ginn: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importéieren…</string>
|
<string name="importing">Importéieren…</string>
|
||||||
<string name="importOptionFilesystemTitle">Import aus dem Dateisystem</string>
|
<string name="importOptionFilesystemTitle">Import aus dem Dateisystem</string>
|
||||||
<string name="importOptionFilesystemExplanation">Wielt eng bestëmmte Datei aus dem Dateisystem.</string>
|
<string name="importOptionFilesystemExplanation">Wielt eng bestëmmte Datei aus dem Dateisystem.</string>
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
<string name="unsupportedBarcodeType">Dee barcode-Typ kann net ugewise ginn. Et kann zu enger spéiderer Versioun vun der App ënnerstëtzt ginn.</string>
|
<string name="unsupportedBarcodeType">Dee barcode-Typ kann net ugewise ginn. Et kann zu enger spéiderer Versioun vun der App ënnerstëtzt ginn.</string>
|
||||||
<string name="yes">Jo</string>
|
<string name="yes">Jo</string>
|
||||||
<string name="importFailedTitle">Import fehlgeschlagen</string>
|
<string name="importFailedTitle">Import fehlgeschlagen</string>
|
||||||
<string name="importFailed">Kaarten konnten net anere sproochen ginn</string>
|
<string name="importFailed">Kaarten konnten net anere sproochen ginn: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exporting">Ausführende…</string>
|
<string name="exporting">Ausführende…</string>
|
||||||
<string name="exportOptionExplanation">D \' Donnéeë ginn op eng Plaz vun Hirer Wal geschriwwen.</string>
|
<string name="exportOptionExplanation">D \' Donnéeë ginn op eng Plaz vun Hirer Wal geschriwwen.</string>
|
||||||
<string name="importOptionApplicationExplanation">Benotzen Se eng beliebige App oder Hire bevorzugten Dateimanager, fir eng Datei ze opmaachen.</string>
|
<string name="importOptionApplicationExplanation">Benotzen Se eng beliebige App oder Hire bevorzugten Dateimanager, fir eng Datei ze opmaachen.</string>
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
<string name="noCardIdError">Neįvestas kortelės ID</string>
|
<string name="noCardIdError">Neįvestas kortelės ID</string>
|
||||||
<string name="importExport">Importuoti/Exportuoti</string>
|
<string name="importExport">Importuoti/Exportuoti</string>
|
||||||
<string name="exportName">Exportuoti</string>
|
<string name="exportName">Exportuoti</string>
|
||||||
<string name="importFailed">Nepavyko importuoti kortelių</string>
|
<string name="importFailed">Nepavyko importuoti kortelių: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportFailed">Nepavyko eksportuoti kortelių</string>
|
<string name="exportFailed">Nepavyko eksportuoti kortelių: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importuoja…</string>
|
<string name="importing">Importuoja…</string>
|
||||||
<string name="exporting">Eksportuoja…</string>
|
<string name="exporting">Eksportuoja…</string>
|
||||||
<string name="noExternalStoragePermissionError">Pirmiausia suteikite išorinės saugyklos leidimą, kad galėtumėte importuoti arba eksportuoti korteles</string>
|
<string name="noExternalStoragePermissionError">Pirmiausia suteikite išorinės saugyklos leidimą, kad galėtumėte importuoti arba eksportuoti korteles</string>
|
||||||
@@ -104,6 +104,7 @@
|
|||||||
<string name="editBarcode">Redaguoti brūkšninį kodą</string>
|
<string name="editBarcode">Redaguoti brūkšninį kodą</string>
|
||||||
<string name="barcode">Brūkšninis kodas</string>
|
<string name="barcode">Brūkšninis kodas</string>
|
||||||
<string name="card">Kortelė</string>
|
<string name="card">Kortelė</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> taškai</string>
|
||||||
<string name="balanceSentence">Balansas: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Balansas: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Galiojimas baigėsi: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Galiojimas baigėsi: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Nustoja galioti: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Nustoja galioti: <xliff:g>%s</xliff:g></string>
|
||||||
@@ -191,6 +192,7 @@
|
|||||||
<string name="settings_theme_color">Temos spalva</string>
|
<string name="settings_theme_color">Temos spalva</string>
|
||||||
<string name="app_contributors">Tapo įmanoma su pagalba: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Tapo įmanoma su pagalba: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="noGroupCards">Šioje grupėje nėra jokių kortelių</string>
|
<string name="noGroupCards">Šioje grupėje nėra jokių kortelių</string>
|
||||||
|
<string name="toggleMoreInfo">Perjungti išsamios informacijos rodymą</string>
|
||||||
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> tipo kortelės brūkšninio kodo vaizdas</string>
|
<string name="barcodeImageDescriptionWithType"><xliff:g>%s</xliff:g> tipo kortelės brūkšninio kodo vaizdas</string>
|
||||||
<string name="swipeToSwitchImages">Perbraukite arba ilgai palaikykite paspaudę, kad perjungtumėte vaizdus</string>
|
<string name="swipeToSwitchImages">Perbraukite arba ilgai palaikykite paspaudę, kad perjungtumėte vaizdus</string>
|
||||||
<string name="sort_by">Rikiuoti pagal</string>
|
<string name="sort_by">Rikiuoti pagal</string>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="action_search">Meklēšana</string>
|
<string name="action_search">Meklēšana</string>
|
||||||
<string name="action_add">Pievienot</string>
|
<string name="action_add">Pievienot</string>
|
||||||
<string name="noGiftCards">Noklikšķiniet uz pogas + plus, lai pievienotu karti, vai vispirms importējiet dažus no ⋮ izvēlnes.</string>
|
<string name="noGiftCards">Noklikšķiniet uz pogas + plus, lai pievienotu karti, vai vispirms importējiet dažus no ⋮ izvēlnes.</string>
|
||||||
@@ -44,10 +44,10 @@
|
|||||||
<string name="importExportHelp">Jūsu Karšu dublēšana ļauj pārvietot tās uz citu ierīci.</string>
|
<string name="importExportHelp">Jūsu Karšu dublēšana ļauj pārvietot tās uz citu ierīci.</string>
|
||||||
<string name="importSuccessfulTitle">Importēts</string>
|
<string name="importSuccessfulTitle">Importēts</string>
|
||||||
<string name="importFailedTitle">Neizdevās importēt</string>
|
<string name="importFailedTitle">Neizdevās importēt</string>
|
||||||
<string name="importFailed">Nevarēja importēt kartes</string>
|
<string name="importFailed">Nevarēja importēt kartes: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Eksports</string>
|
<string name="exportSuccessfulTitle">Eksports</string>
|
||||||
<string name="exportFailedTitle">Eksports neizdevās</string>
|
<string name="exportFailedTitle">Eksports neizdevās</string>
|
||||||
<string name="exportFailed">Nevarēja eksportēt kartes</string>
|
<string name="exportFailed">Nevarēja eksportēt kartes: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Imports…</string>
|
<string name="importing">Imports…</string>
|
||||||
<string name="exporting">Eksports…</string>
|
<string name="exporting">Eksports…</string>
|
||||||
<string name="noExternalStoragePermissionError">Piešķiriet ārējai atmiņai atļauju vispirms importēt vai eksportēt kartes</string>
|
<string name="noExternalStoragePermissionError">Piešķiriet ārējai atmiņai atļauju vispirms importēt vai eksportēt kartes</string>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="action_add">Legg til</string>
|
<string name="action_add">Legg til</string>
|
||||||
<string name="noGiftCards">Klikk på «+» (pluss)-knappen for å legge til eller importer kort fra «⋮»-menyen</string>
|
<string name="noGiftCards">Klikk på «+» (pluss)-knappen for å legge til eller importer kort fra «⋮»-menyen først.</string>
|
||||||
<string name="storeName">Navn</string>
|
<string name="storeName">Navn</string>
|
||||||
<string name="note">Merknad</string>
|
<string name="note">Merknad</string>
|
||||||
<string name="cardId">Kort-ID</string>
|
<string name="cardId">Kort-ID</string>
|
||||||
@@ -18,24 +18,24 @@
|
|||||||
<string name="sendLabel">Send…</string>
|
<string name="sendLabel">Send…</string>
|
||||||
<string name="editCardTitle">Rediger kundekort</string>
|
<string name="editCardTitle">Rediger kundekort</string>
|
||||||
<string name="addCardTitle">Legg til kundekort</string>
|
<string name="addCardTitle">Legg til kundekort</string>
|
||||||
<string name="scanCardBarcode">Skann strekkoden</string>
|
<string name="scanCardBarcode">Skann kortets strekkode</string>
|
||||||
<string name="cardShortcut">Kort-snarvei</string>
|
<string name="cardShortcut">Kort-snarvei</string>
|
||||||
<string name="noCardsMessage">Legg til et kort først</string>
|
<string name="noCardsMessage">Legg til et kort først</string>
|
||||||
<string name="noStoreError">Navn ikke angitt</string>
|
<string name="noStoreError">Navn ikke angitt</string>
|
||||||
<string name="noCardIdError">Ingen ID innskrevet</string>
|
<string name="noCardIdError">Ingen kort-ID innskrevet</string>
|
||||||
<string name="noCardExistsError">Fant ikke det kortet</string>
|
<string name="noCardExistsError">Kunne ikke finne kort</string>
|
||||||
<string name="importExport">Importer/eksporter</string>
|
<string name="importExport">Importer/eksporter</string>
|
||||||
<string name="exportName">Eksporter</string>
|
<string name="exportName">Eksporter</string>
|
||||||
<string name="importExportHelp">Sikkerhetskopiering av data lar deg flytte dem til en annen enhet.</string>
|
<string name="importExportHelp">Sikkerhetskopiering av kort lar deg flytte dem til en annen enhet.</string>
|
||||||
<string name="importSuccessfulTitle">Importert</string>
|
<string name="importSuccessfulTitle">Importert</string>
|
||||||
<string name="importFailedTitle">Kunne ikke importere</string>
|
<string name="importFailedTitle">Kunne ikke importere</string>
|
||||||
<string name="importFailed">Kunne ikke utføre import</string>
|
<string name="importFailed">Klarte ikke å importere kort: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Eksportert</string>
|
<string name="exportSuccessfulTitle">Eksportert</string>
|
||||||
<string name="exportFailedTitle">Kunne ikke eksportere</string>
|
<string name="exportFailedTitle">Kunne ikke eksportere</string>
|
||||||
<string name="exportFailed">Kunne ikke utføre eksport</string>
|
<string name="exportFailed">Kunne ikke eksportere kort: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importerer…</string>
|
<string name="importing">Importerer…</string>
|
||||||
<string name="exporting">Exporterer…</string>
|
<string name="exporting">Exporterer…</string>
|
||||||
<string name="noExternalStoragePermissionError">Innvilg lagringstilgang til eksternlager for å importere eller eksportere data</string>
|
<string name="noExternalStoragePermissionError">Innvilg lagringstilgang til eksternlager for å importere eller eksportere kort først</string>
|
||||||
<string name="exportOptionExplanation">Data skrives dit du ønsker det.</string>
|
<string name="exportOptionExplanation">Data skrives dit du ønsker det.</string>
|
||||||
<string name="importOptionFilesystemTitle">Importer fra filsystem</string>
|
<string name="importOptionFilesystemTitle">Importer fra filsystem</string>
|
||||||
<string name="importOptionFilesystemExplanation">Velg spesifikk fil fra filsystemet.</string>
|
<string name="importOptionFilesystemExplanation">Velg spesifikk fil fra filsystemet.</string>
|
||||||
@@ -49,15 +49,15 @@
|
|||||||
<string name="debug_version_fmt">Versjon: <xliff:g id="version">%s</xliff:g></string>
|
<string name="debug_version_fmt">Versjon: <xliff:g id="version">%s</xliff:g></string>
|
||||||
<string name="app_revision_fmt">Utgivelsesinfo: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
<string name="app_revision_fmt">Utgivelsesinfo: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
||||||
<string name="selectBarcodeTitle">Velg strekkode</string>
|
<string name="selectBarcodeTitle">Velg strekkode</string>
|
||||||
<string name="enterBarcodeInstructions">Skriv inn kortets ID, og enten velg strekkodetypen nedenfor, eller «Det er ingen strekkode».</string>
|
<string name="enterBarcodeInstructions">Skriv inn kortets ID, og enten velg dens strekkode nedenfor, eller «Dette kortet har ingen strekkode».</string>
|
||||||
<string name="copy_to_clipboard_toast">ID kopiert til utklippstavle</string>
|
<string name="copy_to_clipboard_toast">Kort-ID kopiert til utklippstavle</string>
|
||||||
<string name="thumbnailDescription">Miniatyrbilde</string>
|
<string name="thumbnailDescription">Miniatyrbilde for kort</string>
|
||||||
<string name="settings">Innstillinger</string>
|
<string name="settings">Innstillinger</string>
|
||||||
<string name="settings_category_title_ui">Brukergrensesnitt</string>
|
<string name="settings_category_title_ui">Brukergrensesnitt</string>
|
||||||
<string name="settings_display_barcode_max_brightness">Lysere strekkodevisning</string>
|
<string name="settings_display_barcode_max_brightness">Lysere strekkodevisning</string>
|
||||||
<string name="settings_lock_barcode_orientation">Lås strekkodesideretning</string>
|
<string name="settings_lock_barcode_orientation">Lås strekkodesideretning</string>
|
||||||
<string name="exportSuccessful">Data eksportert</string>
|
<string name="exportSuccessful">Kortdata eksportert</string>
|
||||||
<string name="importSuccessful">Data importert</string>
|
<string name="importSuccessful">Kortdata importert</string>
|
||||||
<string name="intent_import_card_from_url_share_text">Jeg ønsker å dele et kort med deg</string>
|
<string name="intent_import_card_from_url_share_text">Jeg ønsker å dele et kort med deg</string>
|
||||||
<string name="settings_dark_theme">Mørk</string>
|
<string name="settings_dark_theme">Mørk</string>
|
||||||
<string name="settings_light_theme">Lys</string>
|
<string name="settings_light_theme">Lys</string>
|
||||||
@@ -67,13 +67,13 @@
|
|||||||
\nopphavsrett 2016–2020 Branden Archer</string>
|
\nopphavsrett 2016–2020 Branden Archer</string>
|
||||||
<string name="failedParsingImportUriError">Kunne ikke tolke importerings-URI</string>
|
<string name="failedParsingImportUriError">Kunne ikke tolke importerings-URI</string>
|
||||||
<string name="share">Del</string>
|
<string name="share">Del</string>
|
||||||
<string name="barcodeNoBarcode">Det er ingen strekkode</string>
|
<string name="barcodeNoBarcode">Dette kortet har ingen strekkode</string>
|
||||||
<string name="noMatchingGiftCards">Resultatløst. Prøv å endre søket.</string>
|
<string name="noMatchingGiftCards">Fant ikke noe. Prøv å endre søket.</string>
|
||||||
<string name="action_search">Søk</string>
|
<string name="action_search">Søk</string>
|
||||||
<string name="starImage">Favorittstjerne</string>
|
<string name="starImage">Favorittstjerne</string>
|
||||||
<string name="unstar">Fjern fra favoritter</string>
|
<string name="unstar">Fjern fra favoritter</string>
|
||||||
<string name="star">Legg til i favoritter</string>
|
<string name="star">Legg til i favoritter</string>
|
||||||
<string name="noGroups">Klikk på «+»- (pluss)-tegnet for å legge til grupper for kategorisering.</string>
|
<string name="noGroups">Klikk på «+»- (pluss)-tegnet for å legge til grupper for kategorisering først.</string>
|
||||||
<string name="deleteConfirmationGroup">Slett gruppe?</string>
|
<string name="deleteConfirmationGroup">Slett gruppe?</string>
|
||||||
<string name="all">Alle</string>
|
<string name="all">Alle</string>
|
||||||
<string name="groups">Grupper</string>
|
<string name="groups">Grupper</string>
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
<string name="failedOpeningFileManager">Installer en filbehandler først.</string>
|
<string name="failedOpeningFileManager">Installer en filbehandler først.</string>
|
||||||
<string name="leaveWithoutSaveConfirmation">Forlat uten å lagre?</string>
|
<string name="leaveWithoutSaveConfirmation">Forlat uten å lagre?</string>
|
||||||
<string name="leaveWithoutSaveTitle">Avslutt</string>
|
<string name="leaveWithoutSaveTitle">Avslutt</string>
|
||||||
<string name="addManually">Skriv inn ID manuelt</string>
|
<string name="addManually">Skriv inn kort-ID manuelt</string>
|
||||||
<string name="moveDown">Flytt nedover</string>
|
<string name="moveDown">Flytt nedover</string>
|
||||||
<string name="moveUp">Flytt oppover</string>
|
<string name="moveUp">Flytt oppover</string>
|
||||||
<plurals name="groupCardCount">
|
<plurals name="groupCardCount">
|
||||||
@@ -104,8 +104,9 @@
|
|||||||
<string name="points">Poeng</string>
|
<string name="points">Poeng</string>
|
||||||
<string name="currency">Valuta</string>
|
<string name="currency">Valuta</string>
|
||||||
<string name="balance">Saldo</string>
|
<string name="balance">Saldo</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> poeng</string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="chooseImportType">Importer data fra</string>
|
<string name="chooseImportType">Importer data fra?</string>
|
||||||
<string name="app_loyalty_card_keychain">Kundekortknippe</string>
|
<string name="app_loyalty_card_keychain">Kundekortknippe</string>
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Forhindre skjermlås</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Forhindre skjermlås</string>
|
||||||
<string name="settings_keep_screen_on">Behold skjerm påslått</string>
|
<string name="settings_keep_screen_on">Behold skjerm påslått</string>
|
||||||
@@ -121,7 +122,7 @@
|
|||||||
<string name="addFromImage">Velg bilde fra galleri</string>
|
<string name="addFromImage">Velg bilde fra galleri</string>
|
||||||
<string name="unsupportedBarcodeType">Denne strekkodetypen kan ikke vises for øyeblikket. Støtte kan bli lagt til i en senere versjon av programmet.</string>
|
<string name="unsupportedBarcodeType">Denne strekkodetypen kan ikke vises for øyeblikket. Støtte kan bli lagt til i en senere versjon av programmet.</string>
|
||||||
<string name="setBarcodeId">Sett strekkodeverdi</string>
|
<string name="setBarcodeId">Sett strekkodeverdi</string>
|
||||||
<string name="sameAsCardId">Samme som ID</string>
|
<string name="sameAsCardId">Samme som kort-ID</string>
|
||||||
<string name="barcodeId">Strekkodeverdi</string>
|
<string name="barcodeId">Strekkodeverdi</string>
|
||||||
<string name="importVoucherVaultMessage">Velg din <i>vouchervault.json</i>-eksport fra Voucher Vault å importere.
|
<string name="importVoucherVaultMessage">Velg din <i>vouchervault.json</i>-eksport fra Voucher Vault å importere.
|
||||||
\nOpprett den ved å trykke «Eksport» i Voucher Vault først.</string>
|
\nOpprett den ved å trykke «Eksport» i Voucher Vault først.</string>
|
||||||
@@ -134,12 +135,12 @@
|
|||||||
<string name="settings_max_font_size_scale">Maks. skriftstørrelse</string>
|
<string name="settings_max_font_size_scale">Maks. skriftstørrelse</string>
|
||||||
<string name="wrongValueForBarcodeType">Verdien er ikke gyldig for valgt strekkodetype</string>
|
<string name="wrongValueForBarcodeType">Verdien er ikke gyldig for valgt strekkodetype</string>
|
||||||
<string name="intent_import_card_from_url_share_multiple_text">Jeg vil dele noen kort med deg</string>
|
<string name="intent_import_card_from_url_share_multiple_text">Jeg vil dele noen kort med deg</string>
|
||||||
<string name="copy_to_clipboard_multiple_toast">ID-er ble kopiert til utklippstavle</string>
|
<string name="copy_to_clipboard_multiple_toast">Kort-ID-er kopiert til utklippstavle</string>
|
||||||
<string name="app_resources">Frie tredjepartsressurser: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
<string name="app_resources">Frie tredjepartsressurser: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||||
<string name="app_libraries">Frie tredjepartsbibliotek: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
<string name="app_libraries">Frie tredjepartsbibliotek: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||||
<string name="card_ids_copied">Kopierte ID(er)</string>
|
<string name="card_ids_copied">Kopierte kort-ID(er)</string>
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Opphavsrett © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Opphavsrett © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
||||||
<string name="updateBarcodeQuestionText">Du har endret ID-en. Ønsker du å også oppdatere strekkoden til samme verdi\?</string>
|
<string name="updateBarcodeQuestionText">Du har endret kortets ID. Ønsker du å også oppdatere strekkoden til samme verdi?</string>
|
||||||
<string name="no">Nei</string>
|
<string name="no">Nei</string>
|
||||||
<string name="yes">Ja</string>
|
<string name="yes">Ja</string>
|
||||||
<string name="updateBarcodeQuestionTitle">Oppdater strekkodeverdi?</string>
|
<string name="updateBarcodeQuestionTitle">Oppdater strekkodeverdi?</string>
|
||||||
@@ -148,16 +149,16 @@
|
|||||||
<string name="setBackImage">Sett bakside</string>
|
<string name="setBackImage">Sett bakside</string>
|
||||||
<string name="setFrontImage">Sett forside</string>
|
<string name="setFrontImage">Sett forside</string>
|
||||||
<string name="photos">Bilder</string>
|
<string name="photos">Bilder</string>
|
||||||
<string name="backImageDescription">Baksidebilde</string>
|
<string name="backImageDescription">Kortets bakside</string>
|
||||||
<string name="frontImageDescription">Forsidebilde</string>
|
<string name="frontImageDescription">Kortets forside</string>
|
||||||
<string name="importStocardMessage">Velg din <i>***-sync.zip</i>-eksport fra Stocard å importere.
|
<string name="importStocardMessage">Velg din <i>***-sync.zip</i>-eksport fra Stocard å importere.
|
||||||
\nSkaff den ved å sende e-post til support@stocardapp.com der du etterspør eksport av dataen din.</string>
|
\nSkaff den ved å sende e-post til support@stocardapp.com der du etterspør eksport av dataen din.</string>
|
||||||
<string name="passwordRequired">Skriv inn passordet</string>
|
<string name="passwordRequired">Skriv inn passordet</string>
|
||||||
<string name="importStocard">Importer fra Stocard</string>
|
<string name="importStocard">Importer fra Stocard</string>
|
||||||
<string name="failedGeneratingShareURL">Klarte ikke å lage delbar nettadresse. Rapporter denne feilen.</string>
|
<string name="failedGeneratingShareURL">Klarte ikke å lage delbar nettadresse. Rapporter denne feilen.</string>
|
||||||
<plurals name="selectedCardCount">
|
<plurals name="selectedCardCount">
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> valgt</item>
|
<item quantity="one"><xliff:g>%d</xliff:g> kort valgt</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> valgt</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> kort valgt</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="deleteConfirmation">Slett dette kortet for godt?</string>
|
<string name="deleteConfirmation">Slett dette kortet for godt?</string>
|
||||||
<plurals name="deleteCardsConfirmation">
|
<plurals name="deleteCardsConfirmation">
|
||||||
@@ -184,11 +185,12 @@
|
|||||||
<string name="settings_pink_theme">Rosa</string>
|
<string name="settings_pink_theme">Rosa</string>
|
||||||
<string name="settings_catima_theme">Catima</string>
|
<string name="settings_catima_theme">Catima</string>
|
||||||
<string name="settings_theme_color">Draktfarge</string>
|
<string name="settings_theme_color">Draktfarge</string>
|
||||||
<string name="noGroupCards">Denne gruppen er tom</string>
|
<string name="noGroupCards">Denne gruppen inneholder ikke noen kort</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Bilde av <xliff:g>%s</xliff:g>-strekkode</string>
|
<string name="toggleMoreInfo">Veksle visning av mer info</string>
|
||||||
|
<string name="barcodeImageDescriptionWithType">Bilde av kortstrekkode av typen <xliff:g>%s</xliff:g></string>
|
||||||
<string name="swipeToSwitchImages">Dra eller hold lenge for å bygge bilder</string>
|
<string name="swipeToSwitchImages">Dra eller hold lenge for å bygge bilder</string>
|
||||||
<string name="sort_by">Sortering</string>
|
<string name="sort_by">Sorter etter</string>
|
||||||
<string name="reverse">…i omvendt rekkefølge</string>
|
<string name="reverse">Vend</string>
|
||||||
<string name="sort_by_balance">Saldo</string>
|
<string name="sort_by_balance">Saldo</string>
|
||||||
<string name="sort_by_expiry">Utløp</string>
|
<string name="sort_by_expiry">Utløp</string>
|
||||||
<string name="sort_by_most_recently_used">Nyligst brukt</string>
|
<string name="sort_by_most_recently_used">Nyligst brukt</string>
|
||||||
@@ -213,22 +215,9 @@
|
|||||||
<string name="group_updated">Gruppe oppdatert</string>
|
<string name="group_updated">Gruppe oppdatert</string>
|
||||||
<string name="group_name_is_empty">Gruppenavn kan ikke være tomt</string>
|
<string name="group_name_is_empty">Gruppenavn kan ikke være tomt</string>
|
||||||
<string name="editGroup">Redigerer gruppe: <xliff:g>%s</xliff:g></string>
|
<string name="editGroup">Redigerer gruppe: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="noGiftCardsGroup">Lag noen kort, og legg dem til i en gruppe her.</string>
|
<string name="noGiftCardsGroup">Du har ingen lojalitetskort enda. Når du først har det kan du legge dem til i en gruppe her.</string>
|
||||||
<string name="action_show_details">Vis detaljer</string>
|
<string name="action_show_details">Vis detaljer</string>
|
||||||
<string name="action_hide_details">Skjul detaljer</string>
|
<string name="action_hide_details">Skjul detaljer</string>
|
||||||
<string name="selectColor">Velg farge</string>
|
<string name="selectColor">Velg farge</string>
|
||||||
<string name="setIcon">Sett ikon</string>
|
<string name="setIcon">Sett ikon</string>
|
||||||
<string name="shortcutSelectCard">velg et kort</string>
|
|
||||||
<string name="translate_platform">på Weblate</string>
|
|
||||||
<string name="options">Alternativer</string>
|
|
||||||
<string name="starred">Stjernemerket</string>
|
|
||||||
<string name="set_scale">Sett skalering</string>
|
|
||||||
<string name="showMoreInfo">Vis info</string>
|
|
||||||
<string name="hideMoreInfo">Skjul info</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> poeng</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> poeng</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Svart bakgrunn for mørk drakt</string>
|
|
||||||
<string name="include_if_asking_support">Inkluder følgende info hvis du vil ha hjelp:</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
24
app/src/main/res/values-night/colors.xml
Normal file
24
app/src/main/res/values-night/colors.xml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Palette generated by Material IO https://material.io/color/#!/?view.left=0&view.right=0&primary.color=3F51B5&secondary.color=FFC107 -->
|
||||||
|
<!-- Colors manually flipped to dark variants -->
|
||||||
|
<resources>
|
||||||
|
<color name="colorPrimary">#B53F3F</color>
|
||||||
|
<color name="colorPrimaryLight">#E87575</color>
|
||||||
|
<color name="colorPrimaryDark">#840000</color>
|
||||||
|
<color name="colorSecondary">#ffc107</color>
|
||||||
|
<color name="colorSecondaryLight">#fff350</color>
|
||||||
|
<color name="colorSecondaryDark">#c79100</color>
|
||||||
|
<color name="colorPrimaryText">#000000</color>
|
||||||
|
<color name="colorSecondaryText">#ffffff</color>
|
||||||
|
|
||||||
|
<color name="listItemHighlight">#88000000</color>
|
||||||
|
|
||||||
|
<color name="inputContrastBackground">#070707</color>
|
||||||
|
<color name="inputBackground">#000000</color>
|
||||||
|
<color name="inputBorder">#222222</color>
|
||||||
|
<color name="inputDividerBorder">#666666</color>
|
||||||
|
|
||||||
|
<color name="iconColor">#ffffff</color>
|
||||||
|
|
||||||
|
<color name="mainLoyaltyCardBackground">#000000</color>
|
||||||
|
</resources>
|
||||||
@@ -1,245 +0,0 @@
|
|||||||
<resources>
|
|
||||||
|
|
||||||
<style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar">
|
|
||||||
<item name="colorPrimary">@color/md_theme_dark_primary</item>
|
|
||||||
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
|
|
||||||
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
|
|
||||||
<item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer</item>
|
|
||||||
<item name="colorSecondary">@color/md_theme_dark_secondary</item>
|
|
||||||
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
|
|
||||||
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
|
|
||||||
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
|
|
||||||
<item name="colorTertiary">@color/md_theme_dark_tertiary</item>
|
|
||||||
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
|
|
||||||
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
|
|
||||||
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
|
|
||||||
<item name="colorError">@color/md_theme_dark_error</item>
|
|
||||||
<item name="colorErrorContainer">@color/md_theme_dark_errorContainer</item>
|
|
||||||
<item name="colorOnError">@color/md_theme_dark_onError</item>
|
|
||||||
<item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer</item>
|
|
||||||
<item name="android:colorBackground">@color/md_theme_dark_background</item>
|
|
||||||
<item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
|
|
||||||
<item name="colorSurface">@color/md_theme_dark_surface</item>
|
|
||||||
<item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
|
|
||||||
<item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
|
|
||||||
<item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
|
|
||||||
<item name="colorOutline">@color/md_theme_dark_outline</item>
|
|
||||||
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
|
|
||||||
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
|
|
||||||
<item name="colorPrimaryInverse">@color/md_theme_dark_primaryInverse</item>
|
|
||||||
|
|
||||||
<item name="windowActionModeOverlay">true</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<!-- note that this is not used directly, these are used to patch the active theme runtime with
|
|
||||||
theme.applyStyle
|
|
||||||
-->
|
|
||||||
<style name="DarkBackground">
|
|
||||||
<item name="android:colorBackground">#000000</item>
|
|
||||||
<item name="colorSurface">#000000</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<!-- color themes -->
|
|
||||||
<style name="pink">
|
|
||||||
<item name="colorPrimary">#FFB2C0</item>
|
|
||||||
<item name="colorOnPrimary">#670024</item>
|
|
||||||
<item name="colorPrimaryContainer">#900036</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#FFD9DF</item>
|
|
||||||
<item name="colorSecondary">#E5BDC2</item>
|
|
||||||
<item name="colorOnSecondary">#43292D</item>
|
|
||||||
<item name="colorSecondaryContainer">#5C3F43</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#FFD9DE</item>
|
|
||||||
<item name="colorTertiary">#EBBF90</item>
|
|
||||||
<item name="colorOnTertiary">#452B08</item>
|
|
||||||
<item name="colorTertiaryContainer">#5F411C</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#FFDDB8</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#201A1B</item>
|
|
||||||
<item name="colorOnBackground">#ECE0E0</item>
|
|
||||||
<item name="colorSurface">#201A1B</item>
|
|
||||||
<item name="colorOnSurface">#ECE0E0</item>
|
|
||||||
<item name="colorSurfaceVariant">#524345</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#D6C1C3</item>
|
|
||||||
<item name="colorOutline">#9F8C8E</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#201A1B</item>
|
|
||||||
<item name="colorSurfaceInverse">#ECE0E0</item>
|
|
||||||
<item name="colorPrimaryInverse">#BC0049</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="magenta">
|
|
||||||
<item name="colorPrimary">#FBAAFF</item>
|
|
||||||
<item name="colorOnPrimary">#570068</item>
|
|
||||||
<item name="colorPrimaryContainer">#7B0091</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#FFD5FF</item>
|
|
||||||
<item name="colorSecondary">#D7BFD5</item>
|
|
||||||
<item name="colorOnSecondary">#3B2B3B</item>
|
|
||||||
<item name="colorSecondaryContainer">#534153</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#F5DBF2</item>
|
|
||||||
<item name="colorTertiary">#F6B8AE</item>
|
|
||||||
<item name="colorOnTertiary">#4C251F</item>
|
|
||||||
<item name="colorTertiaryContainer">#663B34</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#FFDAD2</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#1E1A1D</item>
|
|
||||||
<item name="colorOnBackground">#E9E0E5</item>
|
|
||||||
<item name="colorSurface">#1E1A1D</item>
|
|
||||||
<item name="colorOnSurface">#E9E0E5</item>
|
|
||||||
<item name="colorSurfaceVariant">#4D444C</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#D0C3CC</item>
|
|
||||||
<item name="colorOutline">#998E96</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#1E1A1D</item>
|
|
||||||
<item name="colorSurfaceInverse">#E9E0E5</item>
|
|
||||||
<item name="colorPrimaryInverse">#9A25AE</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="violet">
|
|
||||||
<item name="colorPrimary">#D4BAFF</item>
|
|
||||||
<item name="colorOnPrimary">#3E008E</item>
|
|
||||||
<item name="colorPrimaryContainer">#5727A7</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#ECDCFF</item>
|
|
||||||
<item name="colorSecondary">#CDC2DB</item>
|
|
||||||
<item name="colorOnSecondary">#342D41</item>
|
|
||||||
<item name="colorSecondaryContainer">#4B4358</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#E9DEF7</item>
|
|
||||||
<item name="colorTertiary">#F0B8C5</item>
|
|
||||||
<item name="colorOnTertiary">#4A2530</item>
|
|
||||||
<item name="colorTertiaryContainer">#643A46</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#FFD9E2</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#1D1B1F</item>
|
|
||||||
<item name="colorOnBackground">#E6E1E5</item>
|
|
||||||
<item name="colorSurface">#1D1B1F</item>
|
|
||||||
<item name="colorOnSurface">#E6E1E5</item>
|
|
||||||
<item name="colorSurfaceVariant">#49454E</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#CBC4CF</item>
|
|
||||||
<item name="colorOutline">#948E99</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#1D1B1F</item>
|
|
||||||
<item name="colorSurfaceInverse">#E6E1E5</item>
|
|
||||||
<item name="colorPrimaryInverse">#6F43BF</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="blue">
|
|
||||||
<item name="colorPrimary">#B9C3FF</item>
|
|
||||||
<item name="colorOnPrimary">#08218A</item>
|
|
||||||
<item name="colorPrimaryContainer">#293CA0</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#DDE0FF</item>
|
|
||||||
<item name="colorSecondary">#C4C5DD</item>
|
|
||||||
<item name="colorOnSecondary">#2D2F42</item>
|
|
||||||
<item name="colorSecondaryContainer">#43465A</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#E0E1FA</item>
|
|
||||||
<item name="colorTertiary">#E5BAD7</item>
|
|
||||||
<item name="colorOnTertiary">#45263E</item>
|
|
||||||
<item name="colorTertiaryContainer">#5D3C55</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#FFD7F3</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#1B1B1F</item>
|
|
||||||
<item name="colorOnBackground">#E4E1E6</item>
|
|
||||||
<item name="colorSurface">#1B1B1F</item>
|
|
||||||
<item name="colorOnSurface">#E4E1E6</item>
|
|
||||||
<item name="colorSurfaceVariant">#46464F</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#C6C5D0</item>
|
|
||||||
<item name="colorOutline">#90909A</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#1B1B1F</item>
|
|
||||||
<item name="colorSurfaceInverse">#E4E1E6</item>
|
|
||||||
<item name="colorPrimaryInverse">#4355B9</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="skyblue">
|
|
||||||
<item name="colorPrimary">#8BCEFF</item>
|
|
||||||
<item name="colorOnPrimary">#003450</item>
|
|
||||||
<item name="colorPrimaryContainer">#004B71</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#C8E6FF</item>
|
|
||||||
<item name="colorSecondary">#B7C8D8</item>
|
|
||||||
<item name="colorOnSecondary">#22323F</item>
|
|
||||||
<item name="colorSecondaryContainer">#384956</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#D3E4F5</item>
|
|
||||||
<item name="colorTertiary">#CFBFE8</item>
|
|
||||||
<item name="colorOnTertiary">#362B4B</item>
|
|
||||||
<item name="colorTertiaryContainer">#4D4162</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#ECDCFF</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#1A1C1E</item>
|
|
||||||
<item name="colorOnBackground">#E2E2E5</item>
|
|
||||||
<item name="colorSurface">#1A1C1E</item>
|
|
||||||
<item name="colorOnSurface">#E2E2E5</item>
|
|
||||||
<item name="colorSurfaceVariant">#41474D</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#C1C7CE</item>
|
|
||||||
<item name="colorOutline">#8B9198</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#1A1C1E</item>
|
|
||||||
<item name="colorSurfaceInverse">#E2E2E5</item>
|
|
||||||
<item name="colorPrimaryInverse">#006494</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="green">
|
|
||||||
<item name="colorPrimary">#78DC77</item>
|
|
||||||
<item name="colorOnPrimary">#003907</item>
|
|
||||||
<item name="colorPrimaryContainer">#00530F</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#93F990</item>
|
|
||||||
<item name="colorSecondary">#B9CCB3</item>
|
|
||||||
<item name="colorOnSecondary">#253423</item>
|
|
||||||
<item name="colorSecondaryContainer">#3B4B38</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#D5E8CE</item>
|
|
||||||
<item name="colorTertiary">#A1CFD5</item>
|
|
||||||
<item name="colorOnTertiary">#00363B</item>
|
|
||||||
<item name="colorTertiaryContainer">#1E4D52</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#BCEBF0</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#1A1C19</item>
|
|
||||||
<item name="colorOnBackground">#E2E3DD</item>
|
|
||||||
<item name="colorSurface">#1A1C19</item>
|
|
||||||
<item name="colorOnSurface">#E2E3DD</item>
|
|
||||||
<item name="colorSurfaceVariant">#424840</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#C2C8BD</item>
|
|
||||||
<item name="colorOutline">#8C9288</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#1A1C19</item>
|
|
||||||
<item name="colorSurfaceInverse">#E2E3DD</item>
|
|
||||||
<item name="colorPrimaryInverse">#006E17</item>
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style name="brown">
|
|
||||||
<item name="colorPrimary">#FFB598</item>
|
|
||||||
<item name="colorOnPrimary">#5C1A00</item>
|
|
||||||
<item name="colorPrimaryContainer">#7B2E0D</item>
|
|
||||||
<item name="colorOnPrimaryContainer">#FFDBCD</item>
|
|
||||||
<item name="colorSecondary">#E7BEB0</item>
|
|
||||||
<item name="colorOnSecondary">#442A20</item>
|
|
||||||
<item name="colorSecondaryContainer">#5D4035</item>
|
|
||||||
<item name="colorOnSecondaryContainer">#FFDBCD</item>
|
|
||||||
<item name="colorTertiary">#D5C78E</item>
|
|
||||||
<item name="colorOnTertiary">#383005</item>
|
|
||||||
<item name="colorTertiaryContainer">#50461A</item>
|
|
||||||
<item name="colorOnTertiaryContainer">#F1E2A7</item>
|
|
||||||
<item name="colorError">#FFB4A9</item>
|
|
||||||
<item name="colorErrorContainer">#930006</item>
|
|
||||||
<item name="colorOnError">#680003</item>
|
|
||||||
<item name="colorOnErrorContainer">#FFDAD4</item>
|
|
||||||
<item name="android:colorBackground">#201A18</item>
|
|
||||||
<item name="colorOnBackground">#EDE0DC</item>
|
|
||||||
<item name="colorSurface">#201A18</item>
|
|
||||||
<item name="colorOnSurface">#EDE0DC</item>
|
|
||||||
<item name="colorSurfaceVariant">#52433E</item>
|
|
||||||
<item name="colorOnSurfaceVariant">#D8C2BB</item>
|
|
||||||
<item name="colorOutline">#A08C86</item>
|
|
||||||
<item name="colorOnSurfaceInverse">#201A18</item>
|
|
||||||
<item name="colorSurfaceInverse">#EDE0DC</item>
|
|
||||||
<item name="colorPrimaryInverse">#9A4523</item>
|
|
||||||
</style>
|
|
||||||
</resources>
|
|
||||||
@@ -34,10 +34,10 @@
|
|||||||
<string name="importExportHelp">Door je gegevens te back-uppen, kun je ze overzetten naar een ander apparaat.</string>
|
<string name="importExportHelp">Door je gegevens te back-uppen, kun je ze overzetten naar een ander apparaat.</string>
|
||||||
<string name="importSuccessfulTitle">Importeren voltooid</string>
|
<string name="importSuccessfulTitle">Importeren voltooid</string>
|
||||||
<string name="importFailedTitle">Importeren mislukt</string>
|
<string name="importFailedTitle">Importeren mislukt</string>
|
||||||
<string name="importFailed">Het importeren is mislukt</string>
|
<string name="importFailed">Het importeren is mislukt: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exporteren voltooid</string>
|
<string name="exportSuccessfulTitle">Exporteren voltooid</string>
|
||||||
<string name="exportFailedTitle">Exporteren mislukt</string>
|
<string name="exportFailedTitle">Exporteren mislukt</string>
|
||||||
<string name="exportFailed">Het exporteren is mislukt</string>
|
<string name="exportFailed">Het exporteren is mislukt: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Bezig met importeren…</string>
|
<string name="importing">Bezig met importeren…</string>
|
||||||
<string name="exporting">Bezig met exporteren…</string>
|
<string name="exporting">Bezig met exporteren…</string>
|
||||||
<string name="noExternalStoragePermissionError">Verleen het recht ‘externe opslag’ om gegevens te kunnen im- of exporteren</string>
|
<string name="noExternalStoragePermissionError">Verleen het recht ‘externe opslag’ om gegevens te kunnen im- of exporteren</string>
|
||||||
@@ -104,8 +104,9 @@
|
|||||||
<string name="points">Aantal punten</string>
|
<string name="points">Aantal punten</string>
|
||||||
<string name="currency">Valuta</string>
|
<string name="currency">Valuta</string>
|
||||||
<string name="balance">Saldo</string>
|
<string name="balance">Saldo</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> punten</string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="chooseImportType">Gegevens importeren uit</string>
|
<string name="chooseImportType">Gegevens importeren uit…\?</string>
|
||||||
<string name="app_loyalty_card_keychain">Klantenkaartkluis</string>
|
<string name="app_loyalty_card_keychain">Klantenkaartkluis</string>
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Schermvergrendeling uitschakelen</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Schermvergrendeling uitschakelen</string>
|
||||||
<string name="settings_keep_screen_on">Scherm niet uitschakelen</string>
|
<string name="settings_keep_screen_on">Scherm niet uitschakelen</string>
|
||||||
@@ -187,6 +188,7 @@
|
|||||||
<string name="settings_theme_color">Themakleur</string>
|
<string name="settings_theme_color">Themakleur</string>
|
||||||
<string name="app_contributors">Mede mogelijk gemaakt door: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Mede mogelijk gemaakt door: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="noGroupCards">Deze groep bevat geen kaarten</string>
|
<string name="noGroupCards">Deze groep bevat geen kaarten</string>
|
||||||
|
<string name="toggleMoreInfo">Meer informatie tonen/verbergen</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Afbeelding van barcode <xliff:g>%s</xliff:g></string>
|
<string name="barcodeImageDescriptionWithType">Afbeelding van barcode <xliff:g>%s</xliff:g></string>
|
||||||
<string name="swipeToSwitchImages">Veeg of houd lang ingedrukt om te bladeren</string>
|
<string name="swipeToSwitchImages">Veeg of houd lang ingedrukt om te bladeren</string>
|
||||||
<string name="sort_by">Sorteren op</string>
|
<string name="sort_by">Sorteren op</string>
|
||||||
@@ -220,15 +222,4 @@
|
|||||||
<string name="action_hide_details">Details verbergen</string>
|
<string name="action_hide_details">Details verbergen</string>
|
||||||
<string name="translate_platform">op Weblate</string>
|
<string name="translate_platform">op Weblate</string>
|
||||||
<string name="shortcutSelectCard">Kies een kaart</string>
|
<string name="shortcutSelectCard">Kies een kaart</string>
|
||||||
<string name="options">Opties</string>
|
|
||||||
<string name="showMoreInfo">Informatie tonen</string>
|
|
||||||
<string name="starred">Favoriet</string>
|
|
||||||
<string name="hideMoreInfo">Informatie verbergen</string>
|
|
||||||
<string name="set_scale">Schaal instellen</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> punt</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> punten</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Zwarte achtergrond gebruiken bij donker thema</string>
|
|
||||||
<string name="include_if_asking_support">Als je ondersteuning wilt, voorzie je verzoek dan van de volgende informatie:</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -2,19 +2,19 @@
|
|||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="exporting">Exportacion…</string>
|
<string name="exporting">Exportacion…</string>
|
||||||
<string name="importing">Importacion…</string>
|
<string name="importing">Importacion…</string>
|
||||||
<string name="exportFailed">Exportacion pas possibla</string>
|
<string name="exportFailed">Exportacion pas possibla: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exportat</string>
|
<string name="exportSuccessfulTitle">Exportat</string>
|
||||||
<string name="importFailed">Importacion impossibla</string>
|
<string name="importFailed">Importacion de vòstras cartas impossibla: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailedTitle">Fracàs de l’importacion</string>
|
<string name="importFailedTitle">Fracàs de l’importacion</string>
|
||||||
<string name="importSuccessfulTitle">Importat</string>
|
<string name="importSuccessfulTitle">Importat</string>
|
||||||
<string name="importExportHelp">La salvagarda de vòstras cartas vos permet de las recuperar sus un autre aparelh.</string>
|
<string name="importExportHelp">Exportar vòstras cartas vos permet de las recuperar sus un autre aparelh.</string>
|
||||||
<string name="exportName">Exportar</string>
|
<string name="exportName">Exportar</string>
|
||||||
<string name="importExport">Importar/Exportar</string>
|
<string name="importExport">Importar/Exportar</string>
|
||||||
<string name="failedParsingImportUriError">Analisi impossibla l’URI d’importacion</string>
|
<string name="failedParsingImportUriError">Analisi impossibla l’URI d’importacion</string>
|
||||||
<string name="noCardExistsError">Impossible de trobar aquesta carta</string>
|
<string name="noCardExistsError">Cap de carta pas trobada</string>
|
||||||
<string name="noCardIdError">Cap d’identificant pas picat</string>
|
<string name="noCardIdError">Cap de numèro de carta pas picat</string>
|
||||||
<string name="noStoreError">Cap de nom pas picat</string>
|
<string name="noStoreError">Cap de nom pas picat</string>
|
||||||
<string name="card_ids_copied">ID copiat(s)</string>
|
<string name="card_ids_copied">Num. de la carta copiada</string>
|
||||||
<string name="noCardsMessage">Apondètz d’en primièr una carta</string>
|
<string name="noCardsMessage">Apondètz d’en primièr una carta</string>
|
||||||
<string name="cardShortcut">Acorchi de carta</string>
|
<string name="cardShortcut">Acorchi de carta</string>
|
||||||
<string name="scanCardBarcode">Numerizar lo còdi de barras</string>
|
<string name="scanCardBarcode">Numerizar lo còdi de barras</string>
|
||||||
@@ -45,25 +45,9 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
<string name="deleteTitle">Suprimir la carta</string>
|
<string name="deleteTitle">Suprimir la carta</string>
|
||||||
<string name="noBarcode">Cap de còdi de barras</string>
|
<string name="noBarcode">Cap de còdi de barras</string>
|
||||||
<string name="barcodeNoBarcode">Cap de còdi de barras</string>
|
<string name="barcodeNoBarcode">Aquesta carta a pas cap de còdi de barras</string>
|
||||||
<plurals name="selectedCardCount">
|
<plurals name="selectedCardCount">
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> seleccionada</item>
|
<item quantity="one"><xliff:g>%d</xliff:g> carta seleccionada</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> seleccionadas</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> cartas seleccionadas</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="settings">Paramètres</string>
|
|
||||||
<string name="settings_category_title_ui">Interfàcia utilizaire</string>
|
|
||||||
<string name="settings_theme">Tèma</string>
|
|
||||||
<string name="noGiftCards">Clicatz lo boton + per apondre una carta o utilizatz lo menú ⋮ per n’importar una.</string>
|
|
||||||
<string name="noMatchingGiftCards">Cap de resultat. Ensajatz de modificar vòstra recèrca.</string>
|
|
||||||
<string name="settings_light_theme">Clar</string>
|
|
||||||
<string name="settings_dark_theme">Escur</string>
|
|
||||||
<string name="noGroups">Clicatz lo boton + per apondre de grops de categorizar.</string>
|
|
||||||
<string name="addManually">Picar l’ID a la man</string>
|
|
||||||
<string name="settings_system_theme">Sistèma</string>
|
|
||||||
<string name="about">A prepaus</string>
|
|
||||||
<string name="about_title_fmt">A prepaus de <xliff:g id="app_name">%s</xliff:g></string>
|
|
||||||
<string name="addFromImage">Causir a la galariá</string>
|
|
||||||
<string name="groups">Grops</string>
|
|
||||||
<string name="groupsList">Grops : <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="settings_max_font_size_scale">Talha max. de la poliça</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="action_search">Szukaj</string>
|
<string name="action_search">Szukaj</string>
|
||||||
<string name="action_add">Dodaj</string>
|
<string name="action_add">Dodaj</string>
|
||||||
<string name="noGiftCards">Kliknij przycisk + plus, aby dodać kartę lub zaimportuj z ⋮ menu.</string>
|
<string name="noGiftCards">Kliknij przycisk + plus, aby dodać kartę lub zaimportuj jakieś z ⋮ menu w pierwszej kolejności.</string>
|
||||||
<string name="noMatchingGiftCards">Brak wyników. Spróbuj zmienić treść zapytania.</string>
|
<string name="noMatchingGiftCards">Nic nie znaleziono. Spróbuj zmienić wyszukiwanie.</string>
|
||||||
<string name="storeName">Nazwa</string>
|
<string name="storeName">Nazwa</string>
|
||||||
<string name="note">Notatka</string>
|
<string name="note">Notatka</string>
|
||||||
<string name="cardId">Identyfikator karty</string>
|
<string name="cardId">Identyfikator karty</string>
|
||||||
<string name="barcodeNoBarcode">Bez kodu kreskowego</string>
|
<string name="barcodeNoBarcode">Ta karta nie ma kodu kreskowego</string>
|
||||||
<string name="cancel">Anuluj</string>
|
<string name="cancel">Anuluj</string>
|
||||||
<string name="save">Zapisz</string>
|
<string name="save">Zapisz</string>
|
||||||
<string name="edit">Edytuj</string>
|
<string name="edit">Edytuj</string>
|
||||||
@@ -21,25 +21,25 @@
|
|||||||
<string name="sendLabel">Wyślij…</string>
|
<string name="sendLabel">Wyślij…</string>
|
||||||
<string name="editCardTitle">Edytuj kartę lojalnościową</string>
|
<string name="editCardTitle">Edytuj kartę lojalnościową</string>
|
||||||
<string name="addCardTitle">Dodaj kartę lojalnościową</string>
|
<string name="addCardTitle">Dodaj kartę lojalnościową</string>
|
||||||
<string name="scanCardBarcode">Zeskanuj kod kreskowy</string>
|
<string name="scanCardBarcode">Zeskanuj kod kreskowy karty lojalnościowej</string>
|
||||||
<string name="cardShortcut">Skrót karty</string>
|
<string name="cardShortcut">Skrót karty</string>
|
||||||
<string name="noCardsMessage">Najpierw dodaj kartę</string>
|
<string name="noCardsMessage">Najpierw dodaj kartę</string>
|
||||||
<string name="noStoreError">Nie wprowadzono nazwy</string>
|
<string name="noStoreError">Nie wprowadzono nazwy</string>
|
||||||
<string name="noCardIdError">Nie wprowadzono identyfikatora</string>
|
<string name="noCardIdError">Nie wprowadzono identyfikatora karty</string>
|
||||||
<string name="noCardExistsError">Nie można wyszukać karty lojalnościowej</string>
|
<string name="noCardExistsError">Nie można wyszukać karty lojalnościowej</string>
|
||||||
<string name="failedParsingImportUriError">Nie można przeanalizować identyfikatora importu URI</string>
|
<string name="failedParsingImportUriError">Nie można przeanalizować identyfikatora importu URI</string>
|
||||||
<string name="importExport">Importuj/Eksportuj</string>
|
<string name="importExport">Importuj/Eksportuj</string>
|
||||||
<string name="exportName">Eksportuj</string>
|
<string name="exportName">Eksportuj</string>
|
||||||
<string name="importExportHelp">Kopie zapasowe umożliwiają przeniesienie kart na inne urządzenie.</string>
|
<string name="importExportHelp">Zarchiwizowane dane umożliwiają przeniesienie kart na inne urządzenie.</string>
|
||||||
<string name="importSuccessfulTitle">Zaimportowano</string>
|
<string name="importSuccessfulTitle">Zaimportowano</string>
|
||||||
<string name="importFailedTitle">Import nie powiódł się</string>
|
<string name="importFailedTitle">Import nie powiódł się</string>
|
||||||
<string name="importFailed">Nie udało się zaimportować</string>
|
<string name="importFailed">Nie udało się zaimportować: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Wyeksportowano</string>
|
<string name="exportSuccessfulTitle">Wyeksportowano</string>
|
||||||
<string name="exportFailedTitle">Eksport nie powiódł się</string>
|
<string name="exportFailedTitle">Eksport nie powiódł się</string>
|
||||||
<string name="exportFailed">Nie udało się wyeksportować</string>
|
<string name="exportFailed">Nie udało się wyeksportować: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importowanie…</string>
|
<string name="importing">Importowanie…</string>
|
||||||
<string name="exporting">Eksportowanie…</string>
|
<string name="exporting">Eksportowanie…</string>
|
||||||
<string name="noExternalStoragePermissionError">Przyznaj uprawnienia pamięci zewnętrznej, aby importować lub eksportować dane</string>
|
<string name="noExternalStoragePermissionError">Najpierw przyznaj uprawnienia pamięci zewnętrznej do importowania lub eksportowania kart</string>
|
||||||
<string name="importOptionFilesystemTitle">Importuj z systemu plików</string>
|
<string name="importOptionFilesystemTitle">Importuj z systemu plików</string>
|
||||||
<string name="importOptionFilesystemExplanation">Wybierz określony plik z systemu plików.</string>
|
<string name="importOptionFilesystemExplanation">Wybierz określony plik z systemu plików.</string>
|
||||||
<string name="importOptionFilesystemButton">Z systemu plików</string>
|
<string name="importOptionFilesystemButton">Z systemu plików</string>
|
||||||
@@ -47,14 +47,14 @@
|
|||||||
<string name="importOptionApplicationExplanation">Użyj dowolnej aplikacji lub ulubionego menedżera plików, aby otworzyć plik.</string>
|
<string name="importOptionApplicationExplanation">Użyj dowolnej aplikacji lub ulubionego menedżera plików, aby otworzyć plik.</string>
|
||||||
<string name="importOptionApplicationButton">Użyj innej aplikacji</string>
|
<string name="importOptionApplicationButton">Użyj innej aplikacji</string>
|
||||||
<string name="about">O aplikacji</string>
|
<string name="about">O aplikacji</string>
|
||||||
<string name="app_license">Wolne oprogramowanie typu copyleft, na licencji GPLv3+</string>
|
<string name="app_license">Wolne oprogramowanie copylefted, licencjonowane GPLv3 +.</string>
|
||||||
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
|
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
|
||||||
<string name="debug_version_fmt">Wersja: <xliff:g id="version">%s</xliff:g></string>
|
<string name="debug_version_fmt">Wersja: <xliff:g id="version">%s</xliff:g></string>
|
||||||
<string name="app_revision_fmt">Info o wydaniu: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
<string name="app_revision_fmt">Info o wydaniu: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
||||||
<string name="selectBarcodeTitle">Wybierz kod kreskowy</string>
|
<string name="selectBarcodeTitle">Wybierz kod kreskowy</string>
|
||||||
<string name="enterBarcodeInstructions">Wprowadź ID, a następnie wybierz typ kodu kreskowego, którego chcesz użyć lub wybierz „Bez kodu kreskowego”.</string>
|
<string name="enterBarcodeInstructions">Wprowadź ID karty, a następnie wybierz typ kodu kreskowego, którego chcesz użyć lub wybierz „Ta karta nie ma kodu kreskowego”.</string>
|
||||||
<string name="copy_to_clipboard_toast">Skopiowano ID do schowka</string>
|
<string name="copy_to_clipboard_toast">Skopiowano ID karty do schowka</string>
|
||||||
<string name="thumbnailDescription">Miniaturka</string>
|
<string name="thumbnailDescription">Miniaturka karty</string>
|
||||||
<string name="settings">Ustawienia</string>
|
<string name="settings">Ustawienia</string>
|
||||||
<string name="settings_category_title_ui">Interfejs użytkownika</string>
|
<string name="settings_category_title_ui">Interfejs użytkownika</string>
|
||||||
<string name="settings_theme">Motyw</string>
|
<string name="settings_theme">Motyw</string>
|
||||||
@@ -66,14 +66,14 @@
|
|||||||
<string name="intent_import_card_from_url_share_text">Chcę udostępnić Ci kartę lojalnościową</string>
|
<string name="intent_import_card_from_url_share_text">Chcę udostępnić Ci kartę lojalnościową</string>
|
||||||
<string name="deleteConfirmationGroup">Usunąć grupę\?</string>
|
<string name="deleteConfirmationGroup">Usunąć grupę\?</string>
|
||||||
<string name="all">Wszystko</string>
|
<string name="all">Wszystko</string>
|
||||||
<string name="noGroups">Kliknij przycisk + plus, aby dodać grupy w celu kategoryzacji.</string>
|
<string name="noGroups">Najpierw kliknij przycisk + plus, aby dodać grupy dla kategoryzacji.</string>
|
||||||
<string name="groups">Grupy</string>
|
<string name="groups">Grupy</string>
|
||||||
<string name="enter_group_name">Wpisz nazwę grupy</string>
|
<string name="enter_group_name">Wpisz nazwę grupy</string>
|
||||||
<string name="exportSuccessful">Dane zostały wyeksportowane</string>
|
<string name="exportSuccessful">Dane karty zostały wyeksportowane</string>
|
||||||
<string name="importSuccessful">Zaimportowano dane</string>
|
<string name="importSuccessful">Zaimportowano dane karty</string>
|
||||||
<string name="starImage">Ulubiona gwiazda</string>
|
<string name="starImage">Ulubiona gwiazda</string>
|
||||||
<string name="app_copyright_old">Na podstawie Loyalty Card Keychain
|
<string name="app_copyright_old">Na podstawie Loyalty Card Keychain
|
||||||
\nWszelkie prawa zastrzeżone © 2016–2020 Branden Archer</string>
|
\nWszelkie prawa zastrzeżone © 2016–2020 Branden Archer.</string>
|
||||||
<string name="exportOptionExplanation">Dane zostaną zapisane w wybranym przez Ciebie miejscu.</string>
|
<string name="exportOptionExplanation">Dane zostaną zapisane w wybranym przez Ciebie miejscu.</string>
|
||||||
<string name="unstar">Usuń z ulubionych</string>
|
<string name="unstar">Usuń z ulubionych</string>
|
||||||
<string name="star">Dodaj do ulubionych</string>
|
<string name="star">Dodaj do ulubionych</string>
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
<string name="settings_magenta_theme">Magenta</string>
|
<string name="settings_magenta_theme">Magenta</string>
|
||||||
<string name="settings_pink_theme">Różowy</string>
|
<string name="settings_pink_theme">Różowy</string>
|
||||||
<string name="settings_catima_theme">Catima</string>
|
<string name="settings_catima_theme">Catima</string>
|
||||||
<string name="settings_theme_color">Kolor akcentowy motywu</string>
|
<string name="settings_theme_color">Kolor motywu</string>
|
||||||
<string name="settings_system_locale">System</string>
|
<string name="settings_system_locale">System</string>
|
||||||
<string name="settings_locale">Język</string>
|
<string name="settings_locale">Język</string>
|
||||||
<string name="turn_flashlight_off">Wyłącz latarkę</string>
|
<string name="turn_flashlight_off">Wyłącz latarkę</string>
|
||||||
@@ -100,36 +100,36 @@
|
|||||||
<string name="passwordRequired">Proszę wpisać hasło</string>
|
<string name="passwordRequired">Proszę wpisać hasło</string>
|
||||||
<string name="no">Nie</string>
|
<string name="no">Nie</string>
|
||||||
<string name="yes">Tak</string>
|
<string name="yes">Tak</string>
|
||||||
<string name="updateBarcodeQuestionText">Zmieniłeś ID. Czy chcesz zaktualizować kod kreskowy, aby używał tej samej wartości\?</string>
|
<string name="updateBarcodeQuestionText">Zmieniłeś ID karty. Czy chcesz zaktualizować kod kreskowy, aby używał tej samej wartości\?</string>
|
||||||
<string name="updateBarcodeQuestionTitle">Zaktualizować wartość kodu kreskowego\?</string>
|
<string name="updateBarcodeQuestionTitle">Zaktualizować wartość kodu kreskowego\?</string>
|
||||||
<string name="takePhoto">Zrób zdjęcie</string>
|
<string name="takePhoto">Zrób zdjęcie</string>
|
||||||
<string name="removeImage">Usuń zdjęcie</string>
|
<string name="removeImage">Usuń zdjęcie</string>
|
||||||
<string name="setBackImage">Ustaw tylne zdjęcie</string>
|
<string name="setBackImage">Ustaw tylne zdjęcie</string>
|
||||||
<string name="setFrontImage">Ustaw zdjęcie przednie</string>
|
<string name="setFrontImage">Ustaw zdjęcie przednie</string>
|
||||||
<string name="photos">Zdjęcia</string>
|
<string name="photos">Zdjęcia</string>
|
||||||
<string name="backImageDescription">Zdjęcie tylne</string>
|
<string name="backImageDescription">Zdjęcie tylne karty</string>
|
||||||
<string name="frontImageDescription">Zdjęcie przednie</string>
|
<string name="frontImageDescription">Zdjęcie przednie karty</string>
|
||||||
<string name="intent_import_card_from_url_share_multiple_text">Chcę Ci udostępnić karty</string>
|
<string name="intent_import_card_from_url_share_multiple_text">Chcę Ci udostępnić karty</string>
|
||||||
<string name="copy_to_clipboard_multiple_toast">Skopiowano ID do schowka</string>
|
<string name="copy_to_clipboard_multiple_toast">Skopiowano ID karty do schowka</string>
|
||||||
<string name="wrongValueForBarcodeType">Wartość nie jest prawidłowa dla wybranego typu kodu kreskowego</string>
|
<string name="wrongValueForBarcodeType">Wartość nie jest prawidłowa dla wybranego typu kodu kreskowego</string>
|
||||||
<string name="unsupportedBarcodeType">Nie można jeszcze wyświetlić tego typu kodu kreskowego. Być może będzie on obsługiwany w nowszej wersji aplikacji.</string>
|
<string name="unsupportedBarcodeType">Nie można jeszcze wyświetlić tego typu kodu kreskowego. Być może będzie on obsługiwany w nowszej wersji aplikacji.</string>
|
||||||
<string name="setBarcodeId">Ustaw wartość kodu kreskowego</string>
|
<string name="setBarcodeId">Ustaw wartość kodu kreskowego</string>
|
||||||
<string name="sameAsCardId">Taki sam jak ID</string>
|
<string name="sameAsCardId">Taki sam jak ID karty</string>
|
||||||
<string name="barcodeId">Wartość kodu kreskowego</string>
|
<string name="barcodeId">Wartość kodu kreskowego</string>
|
||||||
<string name="importVoucherVaultMessage">Wybierz swój <i>vouchervault.json</i> z Voucher Vault, aby zaimportować.
|
<string name="importVoucherVaultMessage">Wybierz swój <i>vouchervault.json</i> z Voucher Vault, aby zaimportować.
|
||||||
\nUtwórz go wpierw klikając Eksportuj w Voucher Vault.</string>
|
\nLub utwórz go wpierw klikając Eksportuj w Voucher Vault.</string>
|
||||||
<string name="importVoucherVault">Importuj z Voucher Vault</string>
|
<string name="importVoucherVault">Importuj z Voucher Vault</string>
|
||||||
<string name="importStocardMessage">Wybierz swój <i>***-sync.zip</i> z Stocard, aby zaimportować.
|
<string name="importStocardMessage">Wybierz swój <i>***-sync.zip</i> z Stocard, aby zaimportować.
|
||||||
\nUzyskaj go, wysyłając email na adres support@stocardapp.com, z prośbą o eksport Twoich danych.</string>
|
\nLub uzyskaj go, wysyłając email na adres support@stocardapp.com, z prośbą o eksport Twoich danych.</string>
|
||||||
<string name="importStocard">Importuj z Stocard</string>
|
<string name="importStocard">Importuj z Stocard</string>
|
||||||
<string name="importLoyaltyCardKeychainMessage">Wybierz swój <i>LoyaltyCardKeychain.csv</i> z Loyalty Card Keychain, aby zaimportować.
|
<string name="importLoyaltyCardKeychainMessage">Wybierz swój <i>LoyaltyCardKeychain.csv</i> z Loyalty Card Keychain, aby zaimportować.
|
||||||
\nUtwórz go z menu Importuj/Eksportuj w Loyalty Card Keychain, wpierw klikając tam Eksportuj.</string>
|
\nLub utwórz go z menu Importuj/Eksportuj w Loyalty Card Keychain, wpierw klikając tam Eksportuj.</string>
|
||||||
<string name="importLoyaltyCardKeychain">Importuj z Loyalty Card Keychain</string>
|
<string name="importLoyaltyCardKeychain">Importuj z Loyalty Card Keychain</string>
|
||||||
<string name="importFidmeMessage">Wybierz swój <i>fidme-export-request-xxxxxx.zip</i> z FidMe, aby zaimportować, po czym wybierz typy kodów kreskowych.
|
<string name="importFidmeMessage">Wybierz swój <i>fidme-export-request-xxxxxx.zip</i> z FidMe, aby zaimportować, po czym wybierz typy kodów kreskowych.
|
||||||
\nStwórz go ze swojego profilu FidMe, wybierając wpierw Ochrona Danych, a następnie naciskając Wyodrębnij moje dane.</string>
|
\nLub stwórz go ze swojego profilu FidMe, wybierając wpierw Ochrona Danych, a następnie naciskając Wyodrębnij moje dane.</string>
|
||||||
<string name="importFidme">Importuj z FidMe</string>
|
<string name="importFidme">Importuj z FidMe</string>
|
||||||
<string name="importCatimaMessage">Wybierz swój <i>catima.zip</i> z Catima, aby zaimportować.
|
<string name="importCatimaMessage">Wybierz swój <i>catima.zip</i> z Catima, aby zaimportować.
|
||||||
\nUtwórz go z menu Importuj/Eksportuj innej aplikacji Catima, wpierw klikając tam Eksportuj.</string>
|
\nLub utwórz go z menu Importuj/Eksportuj innej aplikacji Catima, wpierw klikając tam Eksportuj.</string>
|
||||||
<string name="importCatima">Importuj z Catima</string>
|
<string name="importCatima">Importuj z Catima</string>
|
||||||
<string name="accept">Zaakceptuj</string>
|
<string name="accept">Zaakceptuj</string>
|
||||||
<string name="privacy_policy_popup_text">Informacja o polityce prywatności (wymagana przez niektóre sklepy z aplikacjami):
|
<string name="privacy_policy_popup_text">Informacja o polityce prywatności (wymagana przez niektóre sklepy z aplikacjami):
|
||||||
@@ -146,18 +146,19 @@
|
|||||||
<string name="noBarcodeFound">Nie znaleziono kodu kreskowego</string>
|
<string name="noBarcodeFound">Nie znaleziono kodu kreskowego</string>
|
||||||
<string name="moveBarcodeToCenterOfScreen">Wyśrodkuj kod kreskowy na ekranie</string>
|
<string name="moveBarcodeToCenterOfScreen">Wyśrodkuj kod kreskowy na ekranie</string>
|
||||||
<string name="moveBarcodeToTopOfScreen">Przenieś kod kreskowy na górę ekranu</string>
|
<string name="moveBarcodeToTopOfScreen">Przenieś kod kreskowy na górę ekranu</string>
|
||||||
<string name="chooseExpiryDate">Wybierz datę wygaśnięcia</string>
|
<string name="chooseExpiryDate">Wybierz datę ważności</string>
|
||||||
<string name="never">Nigdy</string>
|
<string name="never">Nigdy</string>
|
||||||
<string name="expiryDate">Data wygaśnięcia</string>
|
<string name="expiryDate">Data wygaśnięcia</string>
|
||||||
<string name="editBarcode">Edytuj kod kreskowy</string>
|
<string name="editBarcode">Edytuj kod kreskowy</string>
|
||||||
<string name="barcode">Kod kreskowy</string>
|
<string name="barcode">Kod kreskowy</string>
|
||||||
<string name="card">Karta</string>
|
<string name="card">Karta</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> punkty</string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Wygasło: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Wygasło: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Wygasa: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Wygasa: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="groupsList">Grupy: <xliff:g>%s</xliff:g></string>
|
<string name="groupsList">Grupy: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="addFromImage">Wybierz zdjęcie z galerii</string>
|
<string name="addFromImage">Wybierz zdjęcie z galerii</string>
|
||||||
<string name="addManually">Wpisz ręcznie ID</string>
|
<string name="addManually">Wpisz ręcznie ID karty</string>
|
||||||
<string name="leaveWithoutSaveConfirmation">Wyjść bez zapisywania\?</string>
|
<string name="leaveWithoutSaveConfirmation">Wyjść bez zapisywania\?</string>
|
||||||
<string name="leaveWithoutSaveTitle">Wyjdź</string>
|
<string name="leaveWithoutSaveTitle">Wyjdź</string>
|
||||||
<string name="moveDown">Przesuń w dół</string>
|
<string name="moveDown">Przesuń w dół</string>
|
||||||
@@ -169,14 +170,14 @@
|
|||||||
<item quantity="many"><xliff:g>%d</xliff:g> kart</item>
|
<item quantity="many"><xliff:g>%d</xliff:g> kart</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> kart</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> kart</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="noGroupCards">Ta grupa jest pusta</string>
|
<string name="noGroupCards">Ta grupa nie zawiera żadnych kart</string>
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Zapobiegaj wyłączeniu ekranu</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Zapobiegaj blokowaniu ekranu</string>
|
||||||
<string name="settings_keep_screen_on">Nie wygaszaj ekranu</string>
|
<string name="settings_keep_screen_on">Pozostaw ekran włączony</string>
|
||||||
<string name="settings_max_font_size_scale">Maks. rozmiar czcionki</string>
|
<string name="settings_max_font_size_scale">Maks. rozmiar czcionki</string>
|
||||||
<string name="app_resources">Otwarte zewnętrzne zasoby: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
<string name="app_resources">Otwarte zewnętrzne zasoby: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||||
<string name="app_libraries">Otwarte zewnętrzne biblioteki: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
<string name="app_libraries">Otwarte zewnętrzne biblioteki: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Wszelkie prawa zastrzeżone © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Wszelkie prawa zastrzeżone © 2019–<xliff:g>%d</xliff:g> Sylvia van Os.</string>
|
||||||
<string name="card_ids_copied">Skopiowano identyfikator(y)</string>
|
<string name="card_ids_copied">Skopiowano ID karty</string>
|
||||||
<plurals name="deleteCardsConfirmation">
|
<plurals name="deleteCardsConfirmation">
|
||||||
<item quantity="one">Usunąć tą <xliff:g>%d</xliff:g> kartę permamentnie\?</item>
|
<item quantity="one">Usunąć tą <xliff:g>%d</xliff:g> kartę permamentnie\?</item>
|
||||||
<item quantity="few">Usunąć te <xliff:g>%d</xliff:g> karty permamentnie\?</item>
|
<item quantity="few">Usunąć te <xliff:g>%d</xliff:g> karty permamentnie\?</item>
|
||||||
@@ -190,43 +191,9 @@
|
|||||||
<item quantity="other">Usuń <xliff:g>%d</xliff:g> kart</item>
|
<item quantity="other">Usuń <xliff:g>%d</xliff:g> kart</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<plurals name="selectedCardCount">
|
<plurals name="selectedCardCount">
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> zaznaczona</item>
|
<item quantity="one"><xliff:g>%d</xliff:g> wybrana karta</item>
|
||||||
<item quantity="few"><xliff:g>%d</xliff:g> zaznaczone</item>
|
<item quantity="few"><xliff:g>%d</xliff:g> wybrane karty</item>
|
||||||
<item quantity="many"><xliff:g>%d</xliff:g> zaznaczonych</item>
|
<item quantity="many"><xliff:g>%d</xliff:g> wybranych kart</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> zaznaczonych</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> wybranych kart</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="shortcutSelectCard">Wybierz kartę</string>
|
|
||||||
<string name="action_show_details">Pokaż szczegóły</string>
|
|
||||||
<string name="action_hide_details">Ukryj szczegóły</string>
|
|
||||||
<string name="sort_by_name">Nazwa</string>
|
|
||||||
<string name="sort_by_most_recently_used">Ostatnio użyte</string>
|
|
||||||
<string name="sort_by_expiry">Data wygaśnięcia</string>
|
|
||||||
<string name="sort_by_balance">Balans</string>
|
|
||||||
<string name="sort_by">Sortuj według</string>
|
|
||||||
<string name="credits">Podziękowania</string>
|
|
||||||
<string name="help_translate_this_app">Pomóż przetłumaczyć tą aplikację</string>
|
|
||||||
<string name="source_repository">Repozytorium Źródłowe</string>
|
|
||||||
<string name="report_error">Zgłoś Błąd</string>
|
|
||||||
<string name="setIcon">Ustaw ikonę</string>
|
|
||||||
<string name="on_github">na GitHub\'ie</string>
|
|
||||||
<string name="swipeToSwitchImages">Przeciągnij lub przytrzymaj aby zmienić obraz</string>
|
|
||||||
<string name="selectColor">Wybierz kolor</string>
|
|
||||||
<string name="version_history">Historia Wersji</string>
|
|
||||||
<string name="and_data_usage">i wykorzystanie danych</string>
|
|
||||||
<string name="rate_this_app">Oceń tą aplikację</string>
|
|
||||||
<string name="license">Licencja</string>
|
|
||||||
<string name="on_google_play">w Google Play</string>
|
|
||||||
<string name="noGiftCardsGroup">Stwórz karty i przypisz je do grupy w tym miejscu.</string>
|
|
||||||
<string name="reverse">...w odwrotnej kolejności</string>
|
|
||||||
<string name="translate_platform">na Weblate</string>
|
|
||||||
<string name="sort">Sortuj</string>
|
|
||||||
<string name="barcodeImageDescriptionWithType">Obraz kodu kreskowego typu <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="group_edit">Edytuj Grupę</string>
|
|
||||||
<string name="group_name_already_in_use">Ta nazwa jest już użyta</string>
|
|
||||||
<string name="group_name_is_empty">Nazwa grupy nie może być pusta</string>
|
|
||||||
<string name="group_updated">Zaktualizowano grupę</string>
|
|
||||||
<string name="editGroup">Edytowanie grupy: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="exportPassword">Ustaw hasło, aby zabezpieczyć twoje wyeksportowane dane (opcjonalne)</string>
|
|
||||||
<string name="exportPasswordHint">Wpisz hasło</string>
|
|
||||||
<string name="options">Opcje</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,191 +1,2 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
<resources></resources>
|
||||||
<string name="shortcutSelectCard">Selecione um cartão</string>
|
|
||||||
<string name="action_show_details">Mostrar detalhes</string>
|
|
||||||
<string name="action_hide_details">Ocultar detalhes</string>
|
|
||||||
<string name="lockScreen">Bloquear rotação</string>
|
|
||||||
<string name="unlockScreen">Desbloquear rotação</string>
|
|
||||||
<string name="deleteTitle">Eliminar cartão</string>
|
|
||||||
<string name="deleteConfirmation">Eliminar este cartão permanentemente\?</string>
|
|
||||||
<string name="ok">OK</string>
|
|
||||||
<string name="copy_to_clipboard">Copiar identificador para a área de transferência</string>
|
|
||||||
<string name="share">Partilhar</string>
|
|
||||||
<string name="sendLabel">Enviar…</string>
|
|
||||||
<string name="editCardTitle">Editar cartão</string>
|
|
||||||
<string name="addCardTitle">Adicionar cartão</string>
|
|
||||||
<string name="cardShortcut">Atalho do cartão</string>
|
|
||||||
<string name="noCardsMessage">Adicione primeiro um cartão</string>
|
|
||||||
<string name="noStoreError">Nenhum nome inserido</string>
|
|
||||||
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
|
|
||||||
<string name="importExport">Importar / exportar</string>
|
|
||||||
<string name="exportName">Exportar</string>
|
|
||||||
<string name="importSuccessfulTitle">Importado</string>
|
|
||||||
<string name="importFailedTitle">A importação falhou</string>
|
|
||||||
<string name="exportSuccessfulTitle">Exportado</string>
|
|
||||||
<string name="exportFailedTitle">A exportação falhou</string>
|
|
||||||
<string name="importOptionFilesystemExplanation">Escolha um ficheiro específico a partir do sistema de ficheiros.</string>
|
|
||||||
<string name="importOptionApplicationTitle">Usar outra aplicação</string>
|
|
||||||
<string name="importOptionApplicationExplanation">Utilize qualquer aplicação ou o seu gestor de ficheiros favorito para abrir um ficheiro.</string>
|
|
||||||
<string name="importOptionApplicationButton">Utilizar outra aplicação</string>
|
|
||||||
<string name="about">Sobre</string>
|
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Direitos de autor © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
|
||||||
<string name="app_copyright_old">Baseado no Loyalty Card Keychain
|
|
||||||
\ndireitos de autor © 2016–2020 Branden Archer</string>
|
|
||||||
<string name="app_license">Software livre de partilha sob a mesma licença e segundo a licença GPLv3+</string>
|
|
||||||
<string name="about_title_fmt">Sobre o <xliff:g id="app_name">%s</xliff:g></string>
|
|
||||||
<string name="debug_version_fmt">Versão: <xliff:g id="version">%s</xliff:g></string>
|
|
||||||
<string name="app_revision_fmt">Informação da revisão: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
|
||||||
<string name="app_libraries">Bibliotecas livres de terceiros: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
|
||||||
<string name="app_resources">Recursos livres de terceiros: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
|
||||||
<string name="selectBarcodeTitle">Selecionar código de barras</string>
|
|
||||||
<string name="starImage">Favorito</string>
|
|
||||||
<string name="settings">Configurações</string>
|
|
||||||
<string name="settings_category_title_ui">Interface do utilizador</string>
|
|
||||||
<string name="settings_theme">Tema</string>
|
|
||||||
<string name="settings_system_theme">Sistema</string>
|
|
||||||
<string name="settings_light_theme">Claro</string>
|
|
||||||
<string name="settings_dark_theme">Escuro</string>
|
|
||||||
<string name="settings_max_font_size_scale">Tamanho máximo da fonte</string>
|
|
||||||
<string name="settings_display_barcode_max_brightness">Iluminar o código de barras</string>
|
|
||||||
<string name="settings_lock_barcode_orientation">Bloquear orientação do código de barras</string>
|
|
||||||
<string name="settings_keep_screen_on">Manter ecrã ligado</string>
|
|
||||||
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
|
|
||||||
<string name="group_updated">Grupo atualizado</string>
|
|
||||||
<string name="all">Todos</string>
|
|
||||||
<string name="deleteConfirmationGroup">Eliminar o grupo\?</string>
|
|
||||||
<string name="failedOpeningFileManager">Instalar primeiro um gestor de ficheiros.</string>
|
|
||||||
<string name="moveUp">Subir</string>
|
|
||||||
<string name="moveDown">Descer</string>
|
|
||||||
<string name="leaveWithoutSaveTitle">Sair</string>
|
|
||||||
<string name="leaveWithoutSaveConfirmation">Sair sem guardar\?</string>
|
|
||||||
<string name="addFromImage">Selecionar imagem da galeria</string>
|
|
||||||
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="editGroup">A editar grupo: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="expiryStateSentence">Expiram: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="expiryStateSentenceExpired">Expirados: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="card">Cartão</string>
|
|
||||||
<string name="barcode">Código de barras</string>
|
|
||||||
<string name="editBarcode">Editar código de barras</string>
|
|
||||||
<string name="expiryDate">Validade</string>
|
|
||||||
<string name="never">Nunca</string>
|
|
||||||
<string name="chooseExpiryDate">Escolher validade</string>
|
|
||||||
<string name="moveBarcodeToTopOfScreen">Mover o código de barras para o topo do ecrã</string>
|
|
||||||
<string name="moveBarcodeToCenterOfScreen">Centrar o código de barras no ecrã</string>
|
|
||||||
<string name="noBarcodeFound">Não foi encontrado nenhum código de barras</string>
|
|
||||||
<string name="errorReadingImage">Não foi possível ler a imagem</string>
|
|
||||||
<string name="balance">Saldo</string>
|
|
||||||
<string name="currency">Moeda</string>
|
|
||||||
<string name="privacy_policy_popup_text">Aviso de política de privacidade (exigido por algumas lojas de aplicações):
|
|
||||||
\n
|
|
||||||
\nNENHUM DADO É RECOLHIDO DE FORMA ALGUMA, o que qualquer pessoa pode confirmar, já que a nossa aplicação é um software livre de código-fonte aberto.</string>
|
|
||||||
<string name="accept">Aceitar</string>
|
|
||||||
<string name="importCatima">Importar do Catima</string>
|
|
||||||
<string name="importFidme">Importar do FidMe</string>
|
|
||||||
<string name="importFidmeMessage">Selecione a exportação <i>fidme-export-request-xxxxxx.zip</i> do FidMe para importar e depois selecione os tipos de código de barras manualmente.
|
|
||||||
\nPrimeiro crie a exportação no seu perfil do FidMe escolhendo a opção \"Proteção de dados\" e em seguida pressionando \"Extrair os meus dados\".</string>
|
|
||||||
<string name="importLoyaltyCardKeychain">Importar do Loyalty Card Keychain</string>
|
|
||||||
<string name="importLoyaltyCardKeychainMessage">Selecione a exportação <i>LoyaltyCardKeychain.csv</i> do Loyalty Card Keychain para importar.
|
|
||||||
\nPrimeiro crie a exportação no menu \"Importar / exportar\" no Loyalty Card Keychain pressionando \"Exportar\".</string>
|
|
||||||
<string name="importStocard">Importar do Stocard</string>
|
|
||||||
<string name="importCatimaMessage">Selecione a exportação <i>catima.zip</i> do Catima a importar.
|
|
||||||
\nPrimeiro crie a exportação no menu \"Importar / exportar\" de outra aplicação Catima pressionando \"Exportar\" nesse menu.</string>
|
|
||||||
<string name="importStocardMessage">Selecione a exportação <i>***-sync.zip</i> do Stocard para importar.
|
|
||||||
\nObtenha-o através do e-mail support@stocardapp.com solicitando uma exportação dos seus dados.</string>
|
|
||||||
<string name="importVoucherVault">Importar do Voucher Vault</string>
|
|
||||||
<string name="importVoucherVaultMessage">Selecione a exportação <i>vouchervault.json</i> do Voucher Vault para importar.
|
|
||||||
\nCrie-a primeiro pressionando a opção \"Exportar\" no Voucher Vault.</string>
|
|
||||||
<string name="barcodeId">Valor do código de barras</string>
|
|
||||||
<string name="setBarcodeId">Definir o valor do código de barras</string>
|
|
||||||
<string name="unsupportedBarcodeType">Este tipo de código de barras ainda não pode ser mostrado. Pode vir a ser suportado numa versão posterior da aplicação.</string>
|
|
||||||
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
|
|
||||||
<string name="intent_import_card_from_url_share_multiple_text">Quero partilhar alguns cartões</string>
|
|
||||||
<string name="photos">Fotografias</string>
|
|
||||||
<string name="setFrontImage">Definir imagem frontal</string>
|
|
||||||
<string name="setBackImage">Definir imagem de trás</string>
|
|
||||||
<string name="removeImage">Remover imagem</string>
|
|
||||||
<string name="takePhoto">Tirar uma fotografia</string>
|
|
||||||
<string name="updateBarcodeQuestionTitle">Atualizar o valor do código de barras\?</string>
|
|
||||||
<string name="yes">Sim</string>
|
|
||||||
<string name="no">Não</string>
|
|
||||||
<string name="passwordRequired">Introduza a palavra-passe</string>
|
|
||||||
<string name="exportPassword">Defina uma palavra-passe para proteger a exportação (opcional)</string>
|
|
||||||
<string name="exportPasswordHint">Digite a palavra-passe</string>
|
|
||||||
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL partilhável. Por favor reporte isto aos programadores.</string>
|
|
||||||
<string name="turn_flashlight_on">Ligar lanterna</string>
|
|
||||||
<string name="turn_flashlight_off">Desligar lanterna</string>
|
|
||||||
<string name="settings_locale">Idioma</string>
|
|
||||||
<string name="settings_system_locale">Sistema</string>
|
|
||||||
<string name="selectColor">Selecionar cor</string>
|
|
||||||
<string name="setIcon">Definir ícone</string>
|
|
||||||
<string name="settings_violet_theme">Violeta</string>
|
|
||||||
<string name="settings_blue_theme">Azul</string>
|
|
||||||
<string name="settings_sky_blue_theme">Azul céu</string>
|
|
||||||
<string name="settings_green_theme">Verde</string>
|
|
||||||
<string name="settings_grey_theme">Cinzento</string>
|
|
||||||
<string name="settings_brown_theme">Castanho</string>
|
|
||||||
<string name="app_contributors">Tornado possível por: <xliff:g id="app_contributors">%s</xliff:g></string>
|
|
||||||
<string name="sort">Ordenar</string>
|
|
||||||
<string name="swipeToSwitchImages">Deslize ou pressione prolongadamente para mudar as imagens</string>
|
|
||||||
<string name="sort_by_name">Nome</string>
|
|
||||||
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
|
|
||||||
<string name="sort_by_expiry">Validade</string>
|
|
||||||
<string name="sort_by_balance">Saldo</string>
|
|
||||||
<string name="sort_by">Ordenar por</string>
|
|
||||||
<string name="version_history">Histórico de versões</string>
|
|
||||||
<string name="credits">Créditos</string>
|
|
||||||
<string name="help_translate_this_app">Ajude a traduzir esta aplicação</string>
|
|
||||||
<string name="license">Licença</string>
|
|
||||||
<string name="source_repository">Repositório do código-fonte</string>
|
|
||||||
<string name="on_github">no GitHub</string>
|
|
||||||
<string name="and_data_usage">e utilização de dados</string>
|
|
||||||
<string name="rate_this_app">Avalie esta aplicação</string>
|
|
||||||
<string name="on_google_play">no Google Play</string>
|
|
||||||
<string name="report_error">Reportar erro</string>
|
|
||||||
<string name="translate_platform">no Weblate</string>
|
|
||||||
<plurals name="deleteCardsTitle">
|
|
||||||
<item quantity="one">Eliminar <xliff:g>%d</xliff:g> cartão</item>
|
|
||||||
<item quantity="other">Eliminar <xliff:g>%d</xliff:g> cartões</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="deleteCardsConfirmation">
|
|
||||||
<item quantity="one">Eliminar o cartão <xliff:g>%d</xliff:g> permanentemente\?</item>
|
|
||||||
<item quantity="other">Eliminar os cartões <xliff:g>%d</xliff:g> permanentemente\?</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="groupCardCount">
|
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> cartão</item>
|
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> cartões</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="action_search">Pesquisa</string>
|
|
||||||
<string name="action_add">Acrescentar</string>
|
|
||||||
<string name="storeName">Nome</string>
|
|
||||||
<string name="note">Nota</string>
|
|
||||||
<string name="cardId">Identificador do cartão</string>
|
|
||||||
<string name="barcodeType">Tipo de código de barras</string>
|
|
||||||
<string name="noBarcode">Sem código de barras</string>
|
|
||||||
<string name="star">Adicionar aos favoritos</string>
|
|
||||||
<string name="unstar">Retirar dos favoritos</string>
|
|
||||||
<string name="cancel">Cancelar</string>
|
|
||||||
<string name="save">Guardar</string>
|
|
||||||
<string name="edit">Editar</string>
|
|
||||||
<string name="delete">Eliminar</string>
|
|
||||||
<string name="confirm">Confirmar</string>
|
|
||||||
<string name="importing">A importar…</string>
|
|
||||||
<string name="exporting">A exportar…</string>
|
|
||||||
<string name="exportOptionExplanation">Os dados serão guardados num local à sua escolha.</string>
|
|
||||||
<string name="importOptionFilesystemTitle">Importar do sistema de ficheiros</string>
|
|
||||||
<string name="importOptionFilesystemButton">Do sistema de ficheiros</string>
|
|
||||||
<string name="intent_import_card_from_url_share_text">Quero partilhar um cartão</string>
|
|
||||||
<string name="enter_group_name">Introduza o nome do grupo</string>
|
|
||||||
<string name="groups">Grupos</string>
|
|
||||||
<string name="group_edit">Editar grupo</string>
|
|
||||||
<string name="group_name_already_in_use">O nome do grupo já está a ser usado</string>
|
|
||||||
<string name="points">Pontos</string>
|
|
||||||
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> não parece ser um saldo válido.</string>
|
|
||||||
<string name="chooseImportType">De onde importar os dados\?</string>
|
|
||||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
|
||||||
<string name="privacy_policy">Política de privacidade</string>
|
|
||||||
<string name="settings_theme_color">Cor do tema</string>
|
|
||||||
<string name="settings_catima_theme">Catima</string>
|
|
||||||
<string name="settings_pink_theme">Rosa</string>
|
|
||||||
<string name="settings_magenta_theme">Magenta</string>
|
|
||||||
</resources>
|
|
||||||
@@ -4,11 +4,11 @@
|
|||||||
<string name="importOptionFilesystemExplanation">Escolha um ficheiro específico a partir do sistema de ficheiros.</string>
|
<string name="importOptionFilesystemExplanation">Escolha um ficheiro específico a partir do sistema de ficheiros.</string>
|
||||||
<string name="action_search">Pesquisa</string>
|
<string name="action_search">Pesquisa</string>
|
||||||
<string name="star">Adicionar aos favoritos</string>
|
<string name="star">Adicionar aos favoritos</string>
|
||||||
<string name="noMatchingGiftCards">Sem resultados. Tente alterar a sua pesquisa.</string>
|
<string name="noMatchingGiftCards">Não foi encontrado nada. Tente alterar a sua pesquisa.</string>
|
||||||
<string name="storeName">Nome</string>
|
<string name="storeName">Nome</string>
|
||||||
<string name="note">Nota</string>
|
<string name="note">Nota</string>
|
||||||
<string name="barcodeType">Tipo de código de barras</string>
|
<string name="barcodeType">Tipo de código de barras</string>
|
||||||
<string name="barcodeNoBarcode">Sem código de barras</string>
|
<string name="barcodeNoBarcode">Este cartão não tem código de barras</string>
|
||||||
<string name="cancel">Cancelar</string>
|
<string name="cancel">Cancelar</string>
|
||||||
<string name="save">Guardar</string>
|
<string name="save">Guardar</string>
|
||||||
<string name="edit">Editar</string>
|
<string name="edit">Editar</string>
|
||||||
@@ -29,8 +29,8 @@
|
|||||||
<string name="copy_to_clipboard">Copiar identificador para a área de transferência</string>
|
<string name="copy_to_clipboard">Copiar identificador para a área de transferência</string>
|
||||||
<string name="sendLabel">Enviar…</string>
|
<string name="sendLabel">Enviar…</string>
|
||||||
<plurals name="selectedCardCount">
|
<plurals name="selectedCardCount">
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> selecionado</item>
|
<item quantity="one"><xliff:g>%d</xliff:g> cartão selecionado</item>
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> selecionados</item>
|
<item quantity="other"><xliff:g>%d</xliff:g> cartões selecionados</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="deleteConfirmation">Eliminar este cartão permanentemente\?</string>
|
<string name="deleteConfirmation">Eliminar este cartão permanentemente\?</string>
|
||||||
<string name="share">Partilhar</string>
|
<string name="share">Partilhar</string>
|
||||||
@@ -41,13 +41,13 @@
|
|||||||
<string name="cardShortcut">Atalho do cartão</string>
|
<string name="cardShortcut">Atalho do cartão</string>
|
||||||
<string name="noCardsMessage">Adicione primeiro um cartão</string>
|
<string name="noCardsMessage">Adicione primeiro um cartão</string>
|
||||||
<string name="noStoreError">Nenhum nome inserido</string>
|
<string name="noStoreError">Nenhum nome inserido</string>
|
||||||
<string name="noCardExistsError">Não foi possível encontrar esse cartão</string>
|
<string name="noCardExistsError">Não foi possível encontrar o cartão</string>
|
||||||
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
|
<string name="failedParsingImportUriError">Não foi possível analisar o URI de importação</string>
|
||||||
<string name="importExport">Importar / exportar</string>
|
<string name="importExport">Importar / exportar</string>
|
||||||
<string name="exportName">Exportar</string>
|
<string name="exportName">Exportar</string>
|
||||||
<string name="importSuccessful">Dados importados</string>
|
<string name="importSuccessful">Dados do cartão importados</string>
|
||||||
<string name="noGroups">Clique no botão + para adicionar grupos para categorização.</string>
|
<string name="noGroups">Primeiro clique no botão + para adicionar grupos para categorização.</string>
|
||||||
<string name="noGroupCards">Este grupo está vazio</string>
|
<string name="noGroupCards">Este grupo não contém cartões</string>
|
||||||
<string name="intent_import_card_from_url_share_text">Quero partilhar um cartão</string>
|
<string name="intent_import_card_from_url_share_text">Quero partilhar um cartão</string>
|
||||||
<string name="settings_display_barcode_max_brightness">Iluminar o código de barras</string>
|
<string name="settings_display_barcode_max_brightness">Iluminar o código de barras</string>
|
||||||
<string name="settings_keep_screen_on">Manter ecrã ligado</string>
|
<string name="settings_keep_screen_on">Manter ecrã ligado</string>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<string name="groups">Grupos</string>
|
<string name="groups">Grupos</string>
|
||||||
<string name="settings_lock_barcode_orientation">Bloquear orientação do código de barras</string>
|
<string name="settings_lock_barcode_orientation">Bloquear orientação do código de barras</string>
|
||||||
<string name="settings_disable_lockscreen_while_viewing_card">Desativar bloqueio do ecrã</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Desativar bloqueio do ecrã</string>
|
||||||
<string name="exportSuccessful">Dados exportados</string>
|
<string name="exportSuccessful">Dados do cartão exportados</string>
|
||||||
<string name="all">Todos</string>
|
<string name="all">Todos</string>
|
||||||
<string name="deleteConfirmationGroup">Eliminar o grupo\?</string>
|
<string name="deleteConfirmationGroup">Eliminar o grupo\?</string>
|
||||||
<string name="settings">Configurações</string>
|
<string name="settings">Configurações</string>
|
||||||
@@ -66,28 +66,29 @@
|
|||||||
<string name="settings_dark_theme">Escuro</string>
|
<string name="settings_dark_theme">Escuro</string>
|
||||||
<string name="settings_max_font_size_scale">Tamanho máximo da fonte</string>
|
<string name="settings_max_font_size_scale">Tamanho máximo da fonte</string>
|
||||||
<string name="selectBarcodeTitle">Selecionar código de barras</string>
|
<string name="selectBarcodeTitle">Selecionar código de barras</string>
|
||||||
<string name="enterBarcodeInstructions">Introduza o identificador e depois escolha o tipo de código de barras abaixo ou \"Sem código de barras\".</string>
|
<string name="enterBarcodeInstructions">Introduza o identificador do cartão e depois escolha o tipo de código de barras abaixo ou \"Este cartão não tem código de barras\".</string>
|
||||||
<string name="copy_to_clipboard_toast">Identificador copiado para a área de transferência</string>
|
<string name="copy_to_clipboard_toast">Identificador do cartão copiado para a área de transferência</string>
|
||||||
<string name="thumbnailDescription">Miniatura</string>
|
<string name="thumbnailDescription">Miniatura do cartão</string>
|
||||||
<string name="starImage">Favorito</string>
|
<string name="starImage">Favorito</string>
|
||||||
<string name="failedOpeningFileManager">Instalar primeiro um gestor de ficheiros.</string>
|
<string name="failedOpeningFileManager">Instalar primeiro um gestor de ficheiros.</string>
|
||||||
<string name="moveUp">Subir</string>
|
<string name="moveUp">Subir</string>
|
||||||
<string name="moveDown">Descer</string>
|
<string name="moveDown">Descer</string>
|
||||||
<string name="leaveWithoutSaveTitle">Sair</string>
|
<string name="leaveWithoutSaveTitle">Sair</string>
|
||||||
<string name="noExternalStoragePermissionError">Conceda primeiro a autorização de acesso ao armazenamento externo para importar ou exportar dados</string>
|
<string name="noExternalStoragePermissionError">Conceda primeiro a autorização de acesso ao armazenamento externo para importar ou exportar cartões</string>
|
||||||
<string name="importExportHelp">A cópia de segurança dos seus dados permite-lhe movê-los para outro dispositivo.</string>
|
<string name="importExportHelp">A cópia de segurança dos seus cartões permite-lhe movê-los para outro dispositivo.</string>
|
||||||
<string name="importSuccessfulTitle">Importado</string>
|
<string name="importSuccessfulTitle">Importado</string>
|
||||||
<string name="importFailedTitle">A importação falhou</string>
|
<string name="importFailedTitle">A importação falhou</string>
|
||||||
<string name="importFailed">Não foi possível importar</string>
|
<string name="importFailed">Não foi possível importar os cartões: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exportado</string>
|
<string name="exportSuccessfulTitle">Exportado</string>
|
||||||
<string name="exportFailedTitle">A exportação falhou</string>
|
<string name="exportFailedTitle">A exportação falhou</string>
|
||||||
<string name="exportFailed">Não foi possível exportar</string>
|
<string name="exportFailed">Não foi possível exportar os cartões: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">A importar…</string>
|
<string name="importing">A importar…</string>
|
||||||
<string name="exporting">A exportar…</string>
|
<string name="exporting">A exportar…</string>
|
||||||
<string name="settings_sky_blue_theme">Azul céu</string>
|
<string name="settings_sky_blue_theme">Azul céu</string>
|
||||||
<string name="report_error">Reportar erro</string>
|
<string name="report_error">Reportar erro</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> pontos</string>
|
||||||
<string name="barcode">Código de barras</string>
|
<string name="barcode">Código de barras</string>
|
||||||
<string name="chooseImportType">Importar dados de</string>
|
<string name="chooseImportType">De onde importar os dados\?</string>
|
||||||
<string name="card">Cartão</string>
|
<string name="card">Cartão</string>
|
||||||
<string name="expiryStateSentence">Expiram: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Expiram: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="app_resources">Recursos livres de terceiros: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
<string name="app_resources">Recursos livres de terceiros: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
||||||
@@ -97,7 +98,7 @@
|
|||||||
<string name="exportPassword">Defina uma palavra-passe para proteger a exportação (opcional)</string>
|
<string name="exportPassword">Defina uma palavra-passe para proteger a exportação (opcional)</string>
|
||||||
<string name="exportPasswordHint">Digite a palavra-passe</string>
|
<string name="exportPasswordHint">Digite a palavra-passe</string>
|
||||||
<string name="setBarcodeId">Definir o valor do código de barras</string>
|
<string name="setBarcodeId">Definir o valor do código de barras</string>
|
||||||
<string name="sameAsCardId">Igual ao identificador</string>
|
<string name="sameAsCardId">Igual ao identificador do cartão</string>
|
||||||
<string name="importFidmeMessage">Selecione a exportação <i>fidme-export-request-xxxxxx.zip</i> do FidMe para importar e depois selecione os tipos de código de barras manualmente.
|
<string name="importFidmeMessage">Selecione a exportação <i>fidme-export-request-xxxxxx.zip</i> do FidMe para importar e depois selecione os tipos de código de barras manualmente.
|
||||||
\nPrimeiro crie a exportação no seu perfil do FidMe escolhendo a opção \"Proteção de dados\" e em seguida pressionando \"Extrair os meus dados\".</string>
|
\nPrimeiro crie a exportação no seu perfil do FidMe escolhendo a opção \"Proteção de dados\" e em seguida pressionando \"Extrair os meus dados\".</string>
|
||||||
<string name="importStocardMessage">Selecione a exportação <i>***-sync.zip</i> do Stocard para importar.
|
<string name="importStocardMessage">Selecione a exportação <i>***-sync.zip</i> do Stocard para importar.
|
||||||
@@ -106,15 +107,15 @@
|
|||||||
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
|
<string name="wrongValueForBarcodeType">O valor não é válido para o tipo de código de barras selecionado</string>
|
||||||
<string name="intent_import_card_from_url_share_multiple_text">Quero partilhar alguns cartões</string>
|
<string name="intent_import_card_from_url_share_multiple_text">Quero partilhar alguns cartões</string>
|
||||||
<string name="removeImage">Remover imagem</string>
|
<string name="removeImage">Remover imagem</string>
|
||||||
<string name="backImageDescription">Imagem de trás</string>
|
<string name="backImageDescription">Imagem de trás do cartão</string>
|
||||||
<string name="frontImageDescription">Imagem frontal</string>
|
<string name="frontImageDescription">Imagem frontal do cartão</string>
|
||||||
<string name="photos">Fotografias</string>
|
<string name="photos">Fotografias</string>
|
||||||
<string name="passwordRequired">Introduza a palavra-passe</string>
|
<string name="passwordRequired">Introduza a palavra-passe</string>
|
||||||
<string name="settings_green_theme">Verde</string>
|
<string name="settings_green_theme">Verde</string>
|
||||||
<string name="settings_grey_theme">Cinzento</string>
|
<string name="settings_grey_theme">Cinza</string>
|
||||||
<string name="settings_brown_theme">Castanho</string>
|
<string name="settings_brown_theme">Castanho</string>
|
||||||
<string name="updateBarcodeQuestionTitle">Atualizar o valor do código de barras\?</string>
|
<string name="updateBarcodeQuestionTitle">Atualizar o valor do código de barras\?</string>
|
||||||
<string name="updateBarcodeQuestionText">Alterou o identificador. Também quer atualizar o código de barras para usar o mesmo valor\?</string>
|
<string name="updateBarcodeQuestionText">Alterou a identificação do cartão. Também quer atualizar o código de barras para usar o mesmo valor\?</string>
|
||||||
<string name="no">Não</string>
|
<string name="no">Não</string>
|
||||||
<plurals name="groupCardCount">
|
<plurals name="groupCardCount">
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> cartão</item>
|
<item quantity="one"><xliff:g>%d</xliff:g> cartão</item>
|
||||||
@@ -129,7 +130,7 @@
|
|||||||
<string name="app_revision_fmt">Informação da revisão: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
<string name="app_revision_fmt">Informação da revisão: <xliff:g id="app_revision_url">%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Expirados: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Expirados: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="leaveWithoutSaveConfirmation">Sair sem guardar\?</string>
|
<string name="leaveWithoutSaveConfirmation">Sair sem guardar\?</string>
|
||||||
<string name="addManually">Introduzir manualmente o identificador</string>
|
<string name="addManually">Introduzir manualmente o identificador do cartão</string>
|
||||||
<string name="addFromImage">Selecionar imagem da galeria</string>
|
<string name="addFromImage">Selecionar imagem da galeria</string>
|
||||||
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
<string name="groupsList">Grupos: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Saldo: <xliff:g>%s</xliff:g></string>
|
||||||
@@ -163,7 +164,7 @@
|
|||||||
<string name="importVoucherVaultMessage">Selecione a exportação <i>vouchervault.json</i> do Voucher Vault para importar.
|
<string name="importVoucherVaultMessage">Selecione a exportação <i>vouchervault.json</i> do Voucher Vault para importar.
|
||||||
\nCrie-a primeiro pressionando a opção \"Exportar\" no Voucher Vault.</string>
|
\nCrie-a primeiro pressionando a opção \"Exportar\" no Voucher Vault.</string>
|
||||||
<string name="unsupportedBarcodeType">Este tipo de código de barras ainda não pode ser mostrado. Pode vir a ser suportado numa versão posterior da aplicação.</string>
|
<string name="unsupportedBarcodeType">Este tipo de código de barras ainda não pode ser mostrado. Pode vir a ser suportado numa versão posterior da aplicação.</string>
|
||||||
<string name="copy_to_clipboard_multiple_toast">Identificação copiado para a área de transferência</string>
|
<string name="copy_to_clipboard_multiple_toast">Identificação do cartão copiado para a área de transferência</string>
|
||||||
<string name="setFrontImage">Definir imagem frontal</string>
|
<string name="setFrontImage">Definir imagem frontal</string>
|
||||||
<string name="setBackImage">Definir imagem de trás</string>
|
<string name="setBackImage">Definir imagem de trás</string>
|
||||||
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL partilhável. Por favor reporte isto aos programadores.</string>
|
<string name="failedGeneratingShareURL">Não foi possível gerar uma URL partilhável. Por favor reporte isto aos programadores.</string>
|
||||||
@@ -179,12 +180,13 @@
|
|||||||
<string name="settings_blue_theme">Azul</string>
|
<string name="settings_blue_theme">Azul</string>
|
||||||
<string name="app_contributors">Tornado possível por: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Tornado possível por: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="sort">Ordenar</string>
|
<string name="sort">Ordenar</string>
|
||||||
|
<string name="toggleMoreInfo">Alternar mostrar mais informação</string>
|
||||||
<string name="swipeToSwitchImages">Deslize ou pressione prolongadamente para mudar as imagens</string>
|
<string name="swipeToSwitchImages">Deslize ou pressione prolongadamente para mudar as imagens</string>
|
||||||
<string name="sort_by_name">Nome</string>
|
<string name="sort_by_name">Nome</string>
|
||||||
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
|
<string name="sort_by_most_recently_used">Mais usados recentemente</string>
|
||||||
<string name="sort_by_expiry">Validade</string>
|
<string name="sort_by_expiry">Validade</string>
|
||||||
<string name="sort_by_balance">Saldo</string>
|
<string name="sort_by_balance">Saldo</string>
|
||||||
<string name="reverse">…na ordem inversa</string>
|
<string name="reverse">Inverter</string>
|
||||||
<string name="sort_by">Ordenar por</string>
|
<string name="sort_by">Ordenar por</string>
|
||||||
<string name="version_history">Histórico de versões</string>
|
<string name="version_history">Histórico de versões</string>
|
||||||
<string name="credits">Créditos</string>
|
<string name="credits">Créditos</string>
|
||||||
@@ -206,29 +208,16 @@
|
|||||||
<item quantity="other">Eliminar os cartões <xliff:g>%d</xliff:g> permanentemente\?</item>
|
<item quantity="other">Eliminar os cartões <xliff:g>%d</xliff:g> permanentemente\?</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="ok">OK</string>
|
<string name="ok">OK</string>
|
||||||
<string name="card_ids_copied">Identificadores copiados</string>
|
<string name="card_ids_copied">Identificadores dos cartões copiados</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Imagem do código de barras <xliff:g>%s</xliff:g></string>
|
<string name="barcodeImageDescriptionWithType">Imagem do código de barras do cartão do tipo <xliff:g>%s</xliff:g></string>
|
||||||
<string name="group_edit">Editar grupo</string>
|
<string name="group_edit">Editar grupo</string>
|
||||||
<string name="group_name_already_in_use">O nome do grupo já está a ser usado</string>
|
<string name="group_name_already_in_use">O nome do grupo já está a ser usado</string>
|
||||||
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
|
<string name="group_name_is_empty">O nome do grupo não pode estar vazio</string>
|
||||||
<string name="group_updated">Grupo atualizado</string>
|
<string name="group_updated">Grupo atualizado</string>
|
||||||
<string name="editGroup">A editar grupo: <xliff:g>%s</xliff:g></string>
|
<string name="editGroup">A editar grupo: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="noGiftCardsGroup">Crie alguns cartões e atribua-os depois ao grupo aqui.</string>
|
<string name="noGiftCardsGroup">Ainda não tem nenhum cartão de fidelidade. Assim que tenha adicionado alguns, pode atribuí-los ao grupo aqui.</string>
|
||||||
<string name="selectColor">Selecionar cor</string>
|
<string name="selectColor">Selecionar cor</string>
|
||||||
<string name="setIcon">Definir ícone</string>
|
<string name="setIcon">Definir ícone</string>
|
||||||
<string name="action_show_details">Mostrar detalhes</string>
|
<string name="action_show_details">Mostrar detalhes</string>
|
||||||
<string name="action_hide_details">Ocultar detalhes</string>
|
<string name="action_hide_details">Ocultar detalhes</string>
|
||||||
<string name="shortcutSelectCard">Selecione um cartão</string>
|
|
||||||
<string name="translate_platform">no Weblate</string>
|
|
||||||
<string name="starred">Estrela</string>
|
|
||||||
<string name="set_scale">Escala de set</string>
|
|
||||||
<string name="showMoreInfo">Mostrar info</string>
|
|
||||||
<string name="hideMoreInfo">Ocultar informação</string>
|
|
||||||
<string name="options">Opções</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> ponto</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> pontos</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Fundo preto puro para tema negro</string>
|
|
||||||
<string name="include_if_asking_support">Se quiser pedir ajuda, inclua as seguintes informações:</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -35,9 +35,9 @@
|
|||||||
<string name="exportName">Exportați</string>
|
<string name="exportName">Exportați</string>
|
||||||
<string name="importSuccessfulTitle">Importat</string>
|
<string name="importSuccessfulTitle">Importat</string>
|
||||||
<string name="importFailedTitle">Importul a eșuat</string>
|
<string name="importFailedTitle">Importul a eșuat</string>
|
||||||
<string name="importFailed">Nu s-a putut importa carduri</string>
|
<string name="importFailed">Nu s-a putut importa carduri: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="noCardIdError">Nu s-a introdus niciun ID de card</string>
|
<string name="noCardIdError">Nu s-a introdus niciun ID de card</string>
|
||||||
<string name="exportFailed">Nu s-a putut exporta carduri</string>
|
<string name="exportFailed">Nu s-a putut exporta carduri: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importul…</string>
|
<string name="importing">Importul…</string>
|
||||||
<string name="exporting">Exportul…</string>
|
<string name="exporting">Exportul…</string>
|
||||||
<string name="noExternalStoragePermissionError">Acordați mai întâi permisiunea de stocare externă pentru a importa sau exporta carduri</string>
|
<string name="noExternalStoragePermissionError">Acordați mai întâi permisiunea de stocare externă pentru a importa sau exporta carduri</string>
|
||||||
|
|||||||
@@ -34,10 +34,10 @@
|
|||||||
<string name="importExportHelp">Резервное копирование данных позволяет перенести их на другое устройство.</string>
|
<string name="importExportHelp">Резервное копирование данных позволяет перенести их на другое устройство.</string>
|
||||||
<string name="importSuccessfulTitle">Импортировано</string>
|
<string name="importSuccessfulTitle">Импортировано</string>
|
||||||
<string name="importFailedTitle">Импорт не выполнен</string>
|
<string name="importFailedTitle">Импорт не выполнен</string>
|
||||||
<string name="importFailed">Невозможно выполнить импорт</string>
|
<string name="importFailed">Невозможно импортировать карты: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Экспортировано</string>
|
<string name="exportSuccessfulTitle">Экспортировано</string>
|
||||||
<string name="exportFailedTitle">Экспорт не выполнен</string>
|
<string name="exportFailedTitle">Экспорт не выполнен</string>
|
||||||
<string name="exportFailed">Невозможно выполнить экспорт</string>
|
<string name="exportFailed">Невозможно экспортировать карты: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Импорт…</string>
|
<string name="importing">Импорт…</string>
|
||||||
<string name="exporting">Экспорт…</string>
|
<string name="exporting">Экспорт…</string>
|
||||||
<string name="noExternalStoragePermissionError">Импорт или экспорт данных невозможен без разрешения на доступ к хранилищу</string>
|
<string name="noExternalStoragePermissionError">Импорт или экспорт данных невозможен без разрешения на доступ к хранилищу</string>
|
||||||
@@ -63,8 +63,8 @@
|
|||||||
<string name="settings_system_theme">Системная</string>
|
<string name="settings_system_theme">Системная</string>
|
||||||
<string name="settings_light_theme">Светлая</string>
|
<string name="settings_light_theme">Светлая</string>
|
||||||
<string name="settings_dark_theme">Тёмная</string>
|
<string name="settings_dark_theme">Тёмная</string>
|
||||||
<string name="settings_display_barcode_max_brightness">Максимальная яркость при отображении карты</string>
|
<string name="settings_display_barcode_max_brightness">Максимальная яркость при показе карты</string>
|
||||||
<string name="settings_lock_barcode_orientation">Портретная ориентация экрана при отображении карты</string>
|
<string name="settings_lock_barcode_orientation">Портретная ориентация экрана при показе карты</string>
|
||||||
<string name="intent_import_card_from_url_share_text">Я хочу поделиться с вами картой</string>
|
<string name="intent_import_card_from_url_share_text">Я хочу поделиться с вами картой</string>
|
||||||
<string name="exportSuccessful">Данные успешно экспортированы</string>
|
<string name="exportSuccessful">Данные успешно экспортированы</string>
|
||||||
<string name="all">Все</string>
|
<string name="all">Все</string>
|
||||||
@@ -82,6 +82,7 @@
|
|||||||
<string name="leaveWithoutSaveConfirmation">Выйти без сохранения\?</string>
|
<string name="leaveWithoutSaveConfirmation">Выйти без сохранения\?</string>
|
||||||
<string name="leaveWithoutSaveTitle">Выход</string>
|
<string name="leaveWithoutSaveTitle">Выход</string>
|
||||||
<string name="failedOpeningFileManager">Требуется файловый менеджер.</string>
|
<string name="failedOpeningFileManager">Требуется файловый менеджер.</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> баллов</string>
|
||||||
<string name="balanceSentence">Баланс: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Баланс: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentenceExpired">Срок действия истёк: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentenceExpired">Срок действия истёк: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="expiryStateSentence">Срок действия истекает: <xliff:g>%s</xliff:g></string>
|
<string name="expiryStateSentence">Срок действия истекает: <xliff:g>%s</xliff:g></string>
|
||||||
@@ -93,7 +94,7 @@
|
|||||||
\nНИКАКИЕ ДАННЫЕ НЕ СОБИРАЮТСЯ ВООБЩЕ, что может подтвердить любой, так как наше приложение является свободным программным обеспечением.</string>
|
\nНИКАКИЕ ДАННЫЕ НЕ СОБИРАЮТСЯ ВООБЩЕ, что может подтвердить любой, так как наше приложение является свободным программным обеспечением.</string>
|
||||||
<string name="privacy_policy">Политика конфиденциальности</string>
|
<string name="privacy_policy">Политика конфиденциальности</string>
|
||||||
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
<string name="app_loyalty_card_keychain">Loyalty Card Keychain</string>
|
||||||
<string name="chooseImportType">Откуда импортировать данные</string>
|
<string name="chooseImportType">Откуда импортировать данные\?</string>
|
||||||
<string name="balance">Баланс</string>
|
<string name="balance">Баланс</string>
|
||||||
<string name="moveBarcodeToTopOfScreen">Переместить штрих-код в верхнюю часть экрана</string>
|
<string name="moveBarcodeToTopOfScreen">Переместить штрих-код в верхнюю часть экрана</string>
|
||||||
<string name="moveBarcodeToCenterOfScreen">Центрировать штрих-код на экране</string>
|
<string name="moveBarcodeToCenterOfScreen">Центрировать штрих-код на экране</string>
|
||||||
@@ -196,6 +197,7 @@
|
|||||||
<string name="app_contributors">Создано при поддержке: <xliff:g id="app_contributors">%s</xliff:g></string>
|
<string name="app_contributors">Создано при поддержке: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||||
<string name="noGroupCards">Группа пуста</string>
|
<string name="noGroupCards">Группа пуста</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Изображение штрих-кода <xliff:g>%s</xliff:g></string>
|
<string name="barcodeImageDescriptionWithType">Изображение штрих-кода <xliff:g>%s</xliff:g></string>
|
||||||
|
<string name="toggleMoreInfo">Переключение отображения дополнительной информации</string>
|
||||||
<string name="swipeToSwitchImages">Смахивание или долгое нажатие для переключения изображений</string>
|
<string name="swipeToSwitchImages">Смахивание или долгое нажатие для переключения изображений</string>
|
||||||
<string name="sort_by_expiry">Срок действия</string>
|
<string name="sort_by_expiry">Срок действия</string>
|
||||||
<string name="sort_by">Сортировать по</string>
|
<string name="sort_by">Сортировать по</string>
|
||||||
@@ -228,17 +230,4 @@
|
|||||||
<string name="action_show_details">Показать детали</string>
|
<string name="action_show_details">Показать детали</string>
|
||||||
<string name="translate_platform">на Weblate</string>
|
<string name="translate_platform">на Weblate</string>
|
||||||
<string name="shortcutSelectCard">Выбор карты</string>
|
<string name="shortcutSelectCard">Выбор карты</string>
|
||||||
<string name="options">Параметры</string>
|
|
||||||
<string name="set_scale">Выбор масштаба</string>
|
|
||||||
<string name="hideMoreInfo">Скрыть данные</string>
|
|
||||||
<string name="showMoreInfo">Показать данные</string>
|
|
||||||
<string name="starred">Избранное</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> балл</item>
|
|
||||||
<item quantity="few"><xliff:g>%s</xliff:g> балла</item>
|
|
||||||
<item quantity="many"><xliff:g>%s</xliff:g> баллов</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> баллов</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="settings_oled_dark">Чёрный фон для тёмной темы</string>
|
|
||||||
<string name="include_if_asking_support">Если вы хотите запросить поддержку, укажите следующую информацию:</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="action_add">Pridať</string>
|
<string name="action_add">Pridať</string>
|
||||||
<string name="noGiftCards">Zatiaľ nemáte žiadne vernostné karty. Kliknite na tlačidlo \"+\" (plus) vyššie a začnite.\n\nAplikácia Vernostné karty umožňuje nosiť svoje vernostné karty v telefóne, kde sú vždy na dosah.</string>
|
<string name="noGiftCards">Zatiaľ nemáte žiadne vernostné karty. Kliknite na tlačidlo \"+\" (plus) vyššie a začnite.\n\nAplikácia Vernostné karty umožňuje nosiť svoje vernostné karty v telefóne, kde sú vždy na dosah.</string>
|
||||||
<string name="storeName">Názov</string>
|
<string name="storeName">Obchod</string>
|
||||||
<string name="note">Poznámka</string>
|
<string name="note">Poznámka</string>
|
||||||
<string name="cardId">ID karty</string>
|
<string name="cardId">ID karty</string>
|
||||||
<string name="cancel">Zrušiť</string>
|
<string name="cancel">Zrušiť</string>
|
||||||
@@ -19,19 +19,19 @@
|
|||||||
<string name="addCardTitle">Pridať kartu</string>
|
<string name="addCardTitle">Pridať kartu</string>
|
||||||
<string name="scanCardBarcode">Zosnímajte čiarový kód na karte</string>
|
<string name="scanCardBarcode">Zosnímajte čiarový kód na karte</string>
|
||||||
<string name="cardShortcut">Skratka</string>
|
<string name="cardShortcut">Skratka</string>
|
||||||
<string name="noCardsMessage">Najprv pridajte kartu</string>
|
<string name="noCardsMessage">Nie sú uložené žiadne karty, vložte prvú</string>
|
||||||
<string name="noStoreError">Nebol zadaný obchod</string>
|
<string name="noStoreError">Nebol zadaný obchod</string>
|
||||||
<string name="noCardIdError">Nebolo zadané ID</string>
|
<string name="noCardIdError">Nebolo zadané ID karty</string>
|
||||||
<string name="noCardExistsError">Nepodarilo sa nájsť túto kartu</string>
|
<string name="noCardExistsError">Nie je možné vyhľadať vernostnú kartu</string>
|
||||||
<string name="importExport">Import/Export</string>
|
<string name="importExport">Import/Export</string>
|
||||||
<string name="exportName">Export</string>
|
<string name="exportName">Export</string>
|
||||||
<string name="importExportHelp">Zálohovanie dát Vám umožní presunúť Vaše uložené karty na iné zariadenie.</string>
|
<string name="importExportHelp">Zálohovanie dát Vám umožní presunúť Vaše uložené karty na iné zariadenie.</string>
|
||||||
<string name="importSuccessfulTitle">Importované</string>
|
<string name="importSuccessfulTitle">Import bol úspešný</string>
|
||||||
<string name="importFailedTitle">Import zlyhal</string>
|
<string name="importFailedTitle">Import zlyhal</string>
|
||||||
<string name="importFailed">Zlyhal import</string>
|
<string name="importFailed">Zlyhal import: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Exportované</string>
|
<string name="exportSuccessfulTitle">Export bol úspešný</string>
|
||||||
<string name="exportFailedTitle">Export zlyhal</string>
|
<string name="exportFailedTitle">Export zlyhal</string>
|
||||||
<string name="exportFailed">Zlyhal export</string>
|
<string name="exportFailed">Zlyhal export: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Importujem…</string>
|
<string name="importing">Importujem…</string>
|
||||||
<string name="exporting">Exportujem…</string>
|
<string name="exporting">Exportujem…</string>
|
||||||
<string name="noExternalStoragePermissionError">Nie je možné importovať a exportovať karty bez prístupu k externému úložisku</string>
|
<string name="noExternalStoragePermissionError">Nie je možné importovať a exportovať karty bez prístupu k externému úložisku</string>
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
<string name="settings_disable_lockscreen_while_viewing_card">Zabráňte uzamknutiu obrazovky</string>
|
<string name="settings_disable_lockscreen_while_viewing_card">Zabráňte uzamknutiu obrazovky</string>
|
||||||
<string name="settings_keep_screen_on">Nechajte obrazovku zapnutú</string>
|
<string name="settings_keep_screen_on">Nechajte obrazovku zapnutú</string>
|
||||||
<string name="settings_max_font_size_scale">Maximálna veľkosť písma</string>
|
<string name="settings_max_font_size_scale">Maximálna veľkosť písma</string>
|
||||||
<string name="card_ids_copied">Skopírované ID</string>
|
<string name="card_ids_copied">Skopírované ID karty</string>
|
||||||
<string name="unstar">Odstrániť z obľúbených</string>
|
<string name="unstar">Odstrániť z obľúbených</string>
|
||||||
<string name="settings_dark_theme">Tmavé</string>
|
<string name="settings_dark_theme">Tmavé</string>
|
||||||
<string name="settings_light_theme">Svetlo</string>
|
<string name="settings_light_theme">Svetlo</string>
|
||||||
@@ -101,111 +101,4 @@
|
|||||||
<string name="exportOptionExplanation">Údaje sa zapíšu na vami zvolené miesto.</string>
|
<string name="exportOptionExplanation">Údaje sa zapíšu na vami zvolené miesto.</string>
|
||||||
<string name="failedParsingImportUriError">Nepodarilo sa analyzovať import URI</string>
|
<string name="failedParsingImportUriError">Nepodarilo sa analyzovať import URI</string>
|
||||||
<string name="share">Zdieľať</string>
|
<string name="share">Zdieľať</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Obrázok čiarového kódu <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="groupsList">Skupiny: <xliff:g>%s</xliff:g></string>
|
|
||||||
<plurals name="deleteCardsTitle">
|
|
||||||
<item quantity="one">Odstrániť <xliff:g>%d</xliff:g> kartu</item>
|
|
||||||
<item quantity="few">Odstrániť <xliff:g>%d</xliff:g> karty</item>
|
|
||||||
<item quantity="other">Odstrániť <xliff:g>%d</xliff:g> kariet</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="selectedCardCount">
|
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> vybraná karta</item>
|
|
||||||
<item quantity="few"><xliff:g>%d</xliff:g> vybrané karty</item>
|
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> vybraných kariet</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="groupCardCount">
|
|
||||||
<item quantity="one"><xliff:g>%d</xliff:g> karta</item>
|
|
||||||
<item quantity="few"><xliff:g>%d</xliff:g> karty</item>
|
|
||||||
<item quantity="other"><xliff:g>%d</xliff:g> kariet</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="deleteCardsConfirmation">
|
|
||||||
<item quantity="one">Naozaj chcete natrvalo odstrániť <xliff:g>%d</xliff:g> vybranú kartu\?</item>
|
|
||||||
<item quantity="few">Naozaj chcete natrvalo odstrániť <xliff:g>%d</xliff:g> vybrané karty\?</item>
|
|
||||||
<item quantity="other">Naozaj chcete natrvalo odstrániť <xliff:g>%d</xliff:g> vybraných kariet\?</item>
|
|
||||||
</plurals>
|
|
||||||
<string name="group_edit">Upraviť skupinu</string>
|
|
||||||
<string name="group_name_already_in_use">Tento názov skupiny sa už používa</string>
|
|
||||||
<string name="group_name_is_empty">Názov skupiny nemôže byť prázdny</string>
|
|
||||||
<string name="group_updated">Skupina bola aktualizovaná</string>
|
|
||||||
<string name="editGroup">Úprava skupiny: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="expiryStateSentence">Platí do: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="expiryStateSentenceExpired">Platnosť vypršala: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="balanceSentence">Zostatok: <xliff:g>%s</xliff:g></string>
|
|
||||||
<string name="importCatima">Import z aplikácie Catima</string>
|
|
||||||
<string name="settings_theme_color">Farba témy</string>
|
|
||||||
<string name="app_libraries">Slobodné knižnice tretích strán: <xliff:g id="app_libraries_list">%s</xliff:g></string>
|
|
||||||
<string name="app_resources">Slobodné zdroje tretích strán: <xliff:g id="app_resources_list">%s</xliff:g></string>
|
|
||||||
<string name="action_show_details">Zobraziť detaily</string>
|
|
||||||
<string name="importCatimaMessage">Vyberte svoj <i>catima.zip</i> export z aplikácie Catima, ktorý chcete importovať.
|
|
||||||
\nVytvorte ho z ponuky Import/Export inej aplikácie Catima tak, že stlačíte tlačidlo Exportovať.</string>
|
|
||||||
<string name="accept">Prijať</string>
|
|
||||||
<string name="importLoyaltyCardKeychain">Import z aplikácie Loyalty Card Keychain</string>
|
|
||||||
<string name="importFidme">Import z aplikácie FidMe</string>
|
|
||||||
<string name="turn_flashlight_on">Zapnúť svetlo</string>
|
|
||||||
<string name="sort_by_name">Názov</string>
|
|
||||||
<string name="sort_by_most_recently_used">Naposledy použité</string>
|
|
||||||
<string name="sort_by_balance">Zostatok</string>
|
|
||||||
<string name="reverse">…v obrátenom poradí</string>
|
|
||||||
<string name="on_github">na GitHube</string>
|
|
||||||
<string name="sort_by_expiry">Koniec platnosti</string>
|
|
||||||
<string name="sort_by">Zoradiť podľa</string>
|
|
||||||
<string name="version_history">História verzií</string>
|
|
||||||
<string name="source_repository">Repozitár zdrojového kódu</string>
|
|
||||||
<string name="on_google_play">na Google Play</string>
|
|
||||||
<string name="report_error">Nahlásiť chybu</string>
|
|
||||||
<string name="translate_platform">na Weblate</string>
|
|
||||||
<string name="showMoreInfo">Zobraziť podrobnosti</string>
|
|
||||||
<string name="hideMoreInfo">Skryť podrobnosti</string>
|
|
||||||
<string name="action_hide_details">Skryť detaily</string>
|
|
||||||
<string name="yes">Áno</string>
|
|
||||||
<string name="importStocard">Import z aplikácie Stocard</string>
|
|
||||||
<string name="selectColor">Vybrať farbu</string>
|
|
||||||
<string name="setIcon">Nastaviť ikonu</string>
|
|
||||||
<string name="settings_catima_theme">Catima</string>
|
|
||||||
<string name="settings_pink_theme">Ružová</string>
|
|
||||||
<string name="settings_magenta_theme">Purpurová</string>
|
|
||||||
<string name="settings_violet_theme">Fialová</string>
|
|
||||||
<string name="settings_blue_theme">Modrá</string>
|
|
||||||
<string name="settings_sky_blue_theme">Azurová</string>
|
|
||||||
<string name="settings_green_theme">Zelená</string>
|
|
||||||
<string name="settings_grey_theme">Šedá</string>
|
|
||||||
<string name="settings_brown_theme">Hnedá</string>
|
|
||||||
<string name="sort">Zoradiť</string>
|
|
||||||
<string name="help_translate_this_app">Pomôžte preložiť túto aplikáciu</string>
|
|
||||||
<string name="license">Licencia</string>
|
|
||||||
<string name="credits">Poďakovanie</string>
|
|
||||||
<string name="card">Karta</string>
|
|
||||||
<string name="rate_this_app">Ohodnoťte túto aplikáciu</string>
|
|
||||||
<string name="exportPassword">Nastavenie hesla na ochranu exportu (voliteľné)</string>
|
|
||||||
<string name="exportPasswordHint">Zadajte heslo</string>
|
|
||||||
<string name="failedGeneratingShareURL">Nepodarilo sa vygenerovať zdieľateľnú adresu URL. Nahláste to, prosím.</string>
|
|
||||||
<string name="turn_flashlight_off">Vypnúť svetlo</string>
|
|
||||||
<string name="settings_locale">Jazyk</string>
|
|
||||||
<string name="settings_system_locale">Systém</string>
|
|
||||||
<string name="app_copyright_old">Na základe Loyalty Card Keychain
|
|
||||||
\ncopyright © 2016–2020 Branden Archer</string>
|
|
||||||
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Copyright © 2019–<xliff:g>%d</xliff:g> Sylvia van Os</string>
|
|
||||||
<string name="expiryDate">Platnosť</string>
|
|
||||||
<string name="barcode">Čiarový kód</string>
|
|
||||||
<string name="editBarcode">Upraviť čiarový kód</string>
|
|
||||||
<string name="privacy_policy">Zásady ochrany osobných údajov</string>
|
|
||||||
<string name="importVoucherVault">Import z Voucher Vault</string>
|
|
||||||
<string name="barcodeId">Hodnota čiarového kódu</string>
|
|
||||||
<string name="sameAsCardId">Rovnaké ako ID</string>
|
|
||||||
<string name="setBarcodeId">Nastavenie hodnoty čiarového kódu</string>
|
|
||||||
<string name="unsupportedBarcodeType">Tento typ čiarového kódu zatiaľ nie je možné zobraziť. Možno bude podporovaný v neskoršej verzii aplikácie.</string>
|
|
||||||
<string name="wrongValueForBarcodeType">Hodnota nie je platná pre vybraný typ čiarového kódu</string>
|
|
||||||
<string name="frontImageDescription">Obrázok prednej strany</string>
|
|
||||||
<string name="backImageDescription">Obrázok zadnej strany</string>
|
|
||||||
<string name="photos">Fotky</string>
|
|
||||||
<string name="setFrontImage">Nastaviť obrázok prednej strany</string>
|
|
||||||
<string name="setBackImage">Nastaviť obrázok zadnej strany</string>
|
|
||||||
<string name="removeImage">Odstrániť obrázok</string>
|
|
||||||
<string name="takePhoto">Urobiť fotku</string>
|
|
||||||
<string name="updateBarcodeQuestionTitle">Aktualizovať hodnotu čiarového kódu\?</string>
|
|
||||||
<string name="updateBarcodeQuestionText">Zmenili ste ID. Chcete aktualizovať aj čiarový kód, aby používal rovnakú hodnotu\?</string>
|
|
||||||
<string name="no">Nie</string>
|
|
||||||
<string name="passwordRequired">Zadajte prosím heslo</string>
|
|
||||||
<string name="parsingBalanceFailed"><xliff:g>%s</xliff:g> sa nezdá byť platným zostatkom.</string>
|
|
||||||
<string name="noGiftCardsGroup">Vytvorte niekoľko kariet a potom ich priraďte k tejto skupine.</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -28,10 +28,10 @@
|
|||||||
<string name="importExportHelp">Varnostna kopija omogoča varen prenos kartic na druge naprave.</string>
|
<string name="importExportHelp">Varnostna kopija omogoča varen prenos kartic na druge naprave.</string>
|
||||||
<string name="importSuccessfulTitle">Uvoz je bil uspešen</string>
|
<string name="importSuccessfulTitle">Uvoz je bil uspešen</string>
|
||||||
<string name="importFailedTitle">Uvoz ni uspel</string>
|
<string name="importFailedTitle">Uvoz ni uspel</string>
|
||||||
<string name="importFailed">Napaka pri uvozu</string>
|
<string name="importFailed">Napaka pri uvozu: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="exportSuccessfulTitle">Izvoz je uspel</string>
|
<string name="exportSuccessfulTitle">Izvoz je uspel</string>
|
||||||
<string name="exportFailedTitle">Izvoz ni uspel</string>
|
<string name="exportFailedTitle">Izvoz ni uspel</string>
|
||||||
<string name="exportFailed">Napaka pri izvozu</string>
|
<string name="exportFailed">Napaka pri izvozu: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importing">Uvažanje…</string>
|
<string name="importing">Uvažanje…</string>
|
||||||
<string name="exporting">Izvažanje…</string>
|
<string name="exporting">Izvažanje…</string>
|
||||||
<string name="noExternalStoragePermissionError">Izvažanje in uvažanje je nemogoče brez omogočenega dostopa do zunanje shrambe</string>
|
<string name="noExternalStoragePermissionError">Izvažanje in uvažanje je nemogoče brez omogočenega dostopa do zunanje shrambe</string>
|
||||||
@@ -129,6 +129,7 @@
|
|||||||
<string name="balance">Stanje na računu</string>
|
<string name="balance">Stanje na računu</string>
|
||||||
<string name="errorReadingImage">Slike ni bilo mogoče prebrati</string>
|
<string name="errorReadingImage">Slike ni bilo mogoče prebrati</string>
|
||||||
<string name="noBarcodeFound">Črtna koda ni bila najdena</string>
|
<string name="noBarcodeFound">Črtna koda ni bila najdena</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> točk</string>
|
||||||
<string name="balanceSentence">Stanje: <xliff:g>%s</xliff:g></string>
|
<string name="balanceSentence">Stanje: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="chooseImportType">Uvoz iz?</string>
|
<string name="chooseImportType">Uvoz iz?</string>
|
||||||
<string name="importCatima">Izvoz iz aplikacije Catima</string>
|
<string name="importCatima">Izvoz iz aplikacije Catima</string>
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
<string name="leaveWithoutSaveConfirmation">Avsluta utan att spara\?</string>
|
<string name="leaveWithoutSaveConfirmation">Avsluta utan att spara\?</string>
|
||||||
<string name="addManually">Ange ID manuellt</string>
|
<string name="addManually">Ange ID manuellt</string>
|
||||||
<string name="addFromImage">Välj bild från galleriet</string>
|
<string name="addFromImage">Välj bild från galleriet</string>
|
||||||
|
<string name="balancePoints"><xliff:g>%s</xliff:g> poäng</string>
|
||||||
<string name="card">Kort</string>
|
<string name="card">Kort</string>
|
||||||
<string name="barcode">Streckkod</string>
|
<string name="barcode">Streckkod</string>
|
||||||
<string name="editBarcode">Redigera streckkod</string>
|
<string name="editBarcode">Redigera streckkod</string>
|
||||||
@@ -50,7 +51,7 @@
|
|||||||
<string name="moveBarcodeToCenterOfScreen">Centrera streckkoden på skärmen</string>
|
<string name="moveBarcodeToCenterOfScreen">Centrera streckkoden på skärmen</string>
|
||||||
<string name="noBarcodeFound">Hittade ingen streckkod</string>
|
<string name="noBarcodeFound">Hittade ingen streckkod</string>
|
||||||
<string name="points">Poäng</string>
|
<string name="points">Poäng</string>
|
||||||
<string name="chooseImportType">Importera data från</string>
|
<string name="chooseImportType">Importera data från...\?</string>
|
||||||
<string name="accept">Acceptera</string>
|
<string name="accept">Acceptera</string>
|
||||||
<string name="importCatima">Importera från Catima</string>
|
<string name="importCatima">Importera från Catima</string>
|
||||||
<string name="importFidme">Importera från FidMe</string>
|
<string name="importFidme">Importera från FidMe</string>
|
||||||
@@ -98,8 +99,8 @@
|
|||||||
<string name="importOptionFilesystemTitle">Importera från filsystem</string>
|
<string name="importOptionFilesystemTitle">Importera från filsystem</string>
|
||||||
<string name="exporting">Exporterar…</string>
|
<string name="exporting">Exporterar…</string>
|
||||||
<string name="importing">Importerar…</string>
|
<string name="importing">Importerar…</string>
|
||||||
<string name="exportFailed">Kunde inte genomföra export</string>
|
<string name="exportFailed">Kunde inte exportera kort: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importFailed">Kunde inte genomföra import</string>
|
<string name="importFailed">Kunde inte importera kort: <xliff:g>%s</xliff:g></string>
|
||||||
<string name="importSuccessfulTitle">Importen lyckades</string>
|
<string name="importSuccessfulTitle">Importen lyckades</string>
|
||||||
<string name="importFailedTitle">Importen misslyckades</string>
|
<string name="importFailedTitle">Importen misslyckades</string>
|
||||||
<string name="importExportHelp">Säkerhetskopiering av din data möjliggör förflyttning av den till en annan enhet.</string>
|
<string name="importExportHelp">Säkerhetskopiering av din data möjliggör förflyttning av den till en annan enhet.</string>
|
||||||
@@ -187,6 +188,7 @@
|
|||||||
<string name="settings_catima_theme">Catima</string>
|
<string name="settings_catima_theme">Catima</string>
|
||||||
<string name="settings_theme_color">Temafärg</string>
|
<string name="settings_theme_color">Temafärg</string>
|
||||||
<string name="noGroupCards">Denna grupp är tom</string>
|
<string name="noGroupCards">Denna grupp är tom</string>
|
||||||
|
<string name="toggleMoreInfo">Växla mellan att visa mer info</string>
|
||||||
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> streckkod</string>
|
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> streckkod</string>
|
||||||
<string name="swipeToSwitchImages">Svep eller tryck länge för att växla bild</string>
|
<string name="swipeToSwitchImages">Svep eller tryck länge för att växla bild</string>
|
||||||
<string name="reverse">...i omvänd ordning</string>
|
<string name="reverse">...i omvänd ordning</string>
|
||||||
@@ -220,12 +222,4 @@
|
|||||||
<string name="noGiftCardsGroup">Skapa några kort och placera dem sedan i den här gruppen.</string>
|
<string name="noGiftCardsGroup">Skapa några kort och placera dem sedan i den här gruppen.</string>
|
||||||
<string name="translate_platform">på Weblate</string>
|
<string name="translate_platform">på Weblate</string>
|
||||||
<string name="shortcutSelectCard">Välj ett kort</string>
|
<string name="shortcutSelectCard">Välj ett kort</string>
|
||||||
<string name="showMoreInfo">Visa info</string>
|
|
||||||
<string name="starred">Stjärnmärkt</string>
|
|
||||||
<string name="hideMoreInfo">Dölj info</string>
|
|
||||||
<string name="options">Alternativ</string>
|
|
||||||
<plurals name="balancePoints">
|
|
||||||
<item quantity="one"><xliff:g>%s</xliff:g> poäng</item>
|
|
||||||
<item quantity="other"><xliff:g>%s</xliff:g> poäng</item>
|
|
||||||
</plurals>
|
|
||||||
</resources>
|
</resources>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user