Add internal image viewer for zooming (#3184)

Co-authored-by: Sylvia van Os <sylvia@hackerchick.me>
This commit is contained in:
Ilya Zarubin
2026-07-12 17:52:24 +02:00
committed by GitHub
parent db149cd3aa
commit bbae3351a5
51 changed files with 305 additions and 174 deletions

View File

@@ -101,6 +101,9 @@
android:name=".cardview.LoyaltyCardViewActivity"
android:exported="true"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".cardimageview.LoyaltyCardImageViewActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".LoyaltyCardEditActivity"
android:exported="true"

View File

@@ -0,0 +1,199 @@
package protect.card_locker.cardimageview
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.os.Bundle
import android.view.WindowManager
import android.widget.Toast
import androidx.activity.OnBackPressedDispatcher
import androidx.activity.compose.setContent
import androidx.annotation.StringRes
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.gestures.rememberTransformableState
import androidx.compose.foundation.gestures.transformable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableFloatStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.layout.onSizeChanged
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.IntSize
import protect.card_locker.CatimaComponentActivity
import protect.card_locker.ImageLocationType
import protect.card_locker.R
import protect.card_locker.Utils
import protect.card_locker.compose.CatimaTopAppBar
import protect.card_locker.compose.theme.CatimaTheme
import protect.card_locker.preferences.Settings
class LoyaltyCardImageViewActivity : CatimaComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
fixedEdgeToEdge()
applyWindowPreferences()
val imageLocationType = intent.imageLocationType()
val loyaltyCardId = intent.getIntExtra(BUNDLE_ID, 0)
val bitmap = imageLocationType?.let {
Utils.retrieveCardImage(this, loyaltyCardId, it)
}
if (loyaltyCardId == 0 || imageLocationType == null || bitmap == null) {
Toast.makeText(this, R.string.failedToRetrieveImageFile, Toast.LENGTH_SHORT).show()
finish()
return
}
title = getString(imageLocationType.descriptionRes())
setContent {
CatimaTheme {
LoyaltyCardImageViewScreen(
bitmap = bitmap,
contentDescriptionRes = imageLocationType.descriptionRes(),
onBackPressedDispatcher = onBackPressedDispatcher
)
}
}
}
private fun applyWindowPreferences() {
val settings = Settings(this)
val currentWindow = window ?: return
val attributes = currentWindow.attributes
if (settings.useMaxBrightnessDisplayingBarcode()) {
attributes.screenBrightness = 1F
}
if (settings.keepScreenOn) {
currentWindow.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
currentWindow.attributes = attributes
}
private fun Intent.imageLocationType(): ImageLocationType? {
val name = getStringExtra(BUNDLE_IMAGE_LOCATION_TYPE) ?: return null
return runCatching { ImageLocationType.valueOf(name) }.getOrNull()
}
private fun ImageLocationType.descriptionRes(): Int {
return when (this) {
ImageLocationType.icon -> R.string.thumbnailDescription
ImageLocationType.front -> R.string.frontImageDescription
ImageLocationType.back -> R.string.backImageDescription
}
}
companion object {
const val BUNDLE_ID = "id"
const val BUNDLE_IMAGE_LOCATION_TYPE = "imageLocationType"
@JvmStatic
fun createIntent(
context: Context,
loyaltyCardId: Int,
imageLocationType: ImageLocationType
): Intent {
return Intent(context, LoyaltyCardImageViewActivity::class.java)
.putExtra(BUNDLE_ID, loyaltyCardId)
.putExtra(BUNDLE_IMAGE_LOCATION_TYPE, imageLocationType.name)
}
}
}
@Composable
fun LoyaltyCardImageViewScreen(
bitmap: Bitmap,
@StringRes contentDescriptionRes: Int,
onBackPressedDispatcher: OnBackPressedDispatcher,
) {
var scale by remember { mutableFloatStateOf(1F) }
var offset by remember { mutableStateOf(Offset.Zero) }
var size by remember { mutableStateOf(IntSize.Zero) }
val zoomState = rememberTransformableState { _, zoomChange, panChange, _ ->
val nextScale = (scale * zoomChange).coerceIn(1F, MAX_IMAGE_SCALE)
scale = nextScale
offset = if (nextScale == 1F) {
Offset.Zero
} else {
(offset + panChange).clampTo(size, nextScale)
}
}
Scaffold(
topBar = {
CatimaTopAppBar(
title = stringResource(contentDescriptionRes),
onBackPressedDispatcher = onBackPressedDispatcher
)
}
) { innerPadding ->
Box(
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
.background(MaterialTheme.colorScheme.background)
.testTag("card_image_zoom")
) {
Image(
bitmap = bitmap.asImageBitmap(),
contentDescription = stringResource(contentDescriptionRes),
contentScale = ContentScale.Fit,
modifier = Modifier
.fillMaxSize()
.onSizeChanged { size = it }
.pointerInput(bitmap) {
detectTapGestures(
onDoubleTap = {
scale = 1F
offset = Offset.Zero
}
)
}
.transformable(zoomState)
.graphicsLayer {
scaleX = scale
scaleY = scale
translationX = offset.x
translationY = offset.y
}
.testTag("card_image")
)
}
}
}
private fun Offset.clampTo(size: IntSize, scale: Float): Offset {
if (size.width == 0 || size.height == 0) {
return this
}
val maxX = size.width * (scale - 1F) / 2F
val maxY = size.height * (scale - 1F) / 2F
return Offset(
x = x.coerceIn(-maxX, maxX),
y = y.coerceIn(-maxY, maxY)
)
}
private const val MAX_IMAGE_SCALE = 5F

View File

@@ -1,6 +1,5 @@
package protect.card_locker.cardview;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Intent;
@@ -34,7 +33,6 @@ import androidx.activity.OnBackPressedCallback;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.FileProvider;
import androidx.core.graphics.BlendModeColorFilterCompat;
import androidx.core.graphics.BlendModeCompat;
import androidx.core.graphics.ColorUtils;
@@ -44,7 +42,6 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.nio.charset.Charset;
@@ -53,6 +50,7 @@ import java.util.Arrays;
import java.util.List;
import protect.card_locker.*;
import protect.card_locker.cardimageview.LoyaltyCardImageViewActivity;
import protect.card_locker.databinding.LoyaltyCardViewLayoutBinding;
import protect.card_locker.preferences.Settings;
import protect.card_locker.preferences.SettingsActivity;
@@ -136,46 +134,27 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
return;
}
// If this is an image, open it in the gallery.
openImageInGallery(imageType);
openImage(imageType);
}
private void openImageInGallery(LoyaltyCardImageType imageType) {
File file = null;
private void openImage(LoyaltyCardImageType imageType) {
switch (imageType) {
case NONE:
return;
case ICON:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.icon);
startImageActivity(ImageLocationType.icon);
break;
case IMAGE_FRONT:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.front);
startImageActivity(ImageLocationType.front);
break;
case IMAGE_BACK:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.back);
startImageActivity(ImageLocationType.back);
break;
case BARCODE:
Toast.makeText(this, R.string.barcodeLongPressMessage, Toast.LENGTH_SHORT).show();
return;
default:
Log.w(TAG, "openImage called with unsupported image type!");
}
}
// Do nothing if there is no file
if (file == null) {
Toast.makeText(this, R.string.failedToRetrieveImageFile, Toast.LENGTH_SHORT).show();
return;
}
try {
Intent intent = new Intent(Intent.ACTION_VIEW)
.setDataAndType(FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID, file), "image/*")
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Display a toast message if an image viewer is not installed on device
Toast.makeText(this, R.string.failedLaunchingPhotoPicker, Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
private void startImageActivity(ImageLocationType imageLocationType) {
startActivity(LoyaltyCardImageViewActivity.createIntent(this, loyaltyCardId, imageLocationType));
}
@Override
@@ -291,7 +270,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
binding.iconContainer.setOnClickListener(view -> {
if (loyaltyCard.getImageThumbnail(this) != null) {
openImageInGallery(LoyaltyCardImageType.ICON);
openImage(LoyaltyCardImageType.ICON);
} else {
Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show();
}
@@ -887,9 +866,9 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
int accessibilityClickAction;
LoyaltyCardImageType currentImageType = cardNavigator.getCurrent();
if (currentImageType == LoyaltyCardImageType.IMAGE_FRONT) {
accessibilityClickAction = R.string.openFrontImageInGalleryApp;
accessibilityClickAction = R.string.zoomFrontImage;
} else if (currentImageType == LoyaltyCardImageType.IMAGE_BACK) {
accessibilityClickAction = R.string.openBackImageInGalleryApp;
accessibilityClickAction = R.string.zoomBackImage;
} else {
accessibilityClickAction = R.string.moveBarcodeToTopOfScreen;
}

View File

@@ -220,7 +220,6 @@
<string name="previousCard">السابق</string>
<string name="nextCard">التالي</string>
<string name="failedToRetrieveImageFile">فشل في استخراج ملف الصورة</string>
<string name="barcodeLongPressMessage">يمكن فتح صور فقط في تطبيق معرض الصور</string>
<string name="failedToOpenUrl">ثبت متصفح ويب أولاً</string>
<string name="welcome">مرحبًا بك في كاتيما</string>
<string name="updateBalanceTitle">كم أنفقت أو استلمت؟</string>
@@ -243,7 +242,6 @@
<string name="permissionReadCardsLabel">اقرأ بطاقات كاتيما</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">حقوق النشر © 2019<xliff:g>%d</xliff:g> Sylvia van Os والمساهمون</string>
<string name="app_copyright_short">حقوق النشر © Sylvia van Os والمساهمون</string>
<string name="openFrontImageInGalleryApp">افتح الصورة الأمامية في تطبيق المعرض</string>
<string name="show_name_below_image_thumbnail">إظهار الاسم أسفل الصورة المصغرة</string>
<string name="show_validity">إظهار الصلاحية</string>
<string name="view_online">مشاهدة حية</string>
@@ -259,7 +257,6 @@
<string name="switchToFrontImage">التبديل إلى الصورة الأمامية</string>
<string name="settings_allow_content_provider_read_summary">سيظل يتعين على التطبيقات طلب الإذن لمنحها حق الوصول</string>
<string name="setBarcodeHeight">ضبط ارتفاع الباركود</string>
<string name="openBackImageInGalleryApp">فتح الصورة الخلفية في تطبيق المعرض</string>
<string name="settings_allow_content_provider_read_title">السماح للتطبيقات الأخرى بالوصول إلى بياناتي</string>
<string name="donate">تبرّع</string>
<string name="show_archived_cards">عرض البطاقات المؤرشفة</string>

View File

@@ -163,7 +163,6 @@
<string name="showMoreInfo">Паказаць інфармацыю</string>
<string name="updateBalance">Абнавіць баланс</string>
<string name="failedToRetrieveImageFile">Не ўдалося атрымаць файл відарысу</string>
<string name="barcodeLongPressMessage">У галерэі можна адкрываць толькі відарысы</string>
<string name="sort_by_name">Назва</string>
<string name="sort_by_most_recently_used">Частата выкарыстання</string>
<string name="sort_by_valid_from">Дзейнічае ад</string>
@@ -203,7 +202,6 @@
<string name="validFromSentence">Дзейнічае з: <xliff:g>%s</xliff:g></string>
<string name="height">Вышыня</string>
<string name="switchToFrontImage">Пераключыцца на пярэдні відарыс</string>
<string name="openBackImageInGalleryApp">Адкрыць задні відарыс у галерэі</string>
<string name="setBarcodeHeight">Задаць вышыню штрыхкода</string>
<string name="donate">Ахвяраваць</string>
<string name="icon_header_click_text">Доўгі націск для рэдагавання мініяцюры</string>
@@ -288,7 +286,6 @@
<string name="report_error">Паведаміць пра памылку</string>
<string name="failedLaunchingPhotoPicker">Не атрымалася знайсці праграму для галерэі, якая падтрымліваецца</string>
<string name="unsupportedFile">Гэты файл не падтрымліваецца</string>
<string name="openFrontImageInGalleryApp">Адкрыць пярэдні відарыс у галерэі</string>
<string name="field_must_not_be_empty">Поле не павінна быць пустым</string>
<string name="add_manually_warning_title">Рэкамендуецца сканаванне</string>
<string name="errorReadingFile">Не атрымалася прачытаць файл</string>

View File

@@ -198,7 +198,6 @@
<string name="nextCard">Следваща</string>
<string name="failedToOpenUrl">Първо инсталирайте уеб браузър</string>
<string name="welcome">Добре дошли при Катима</string>
<string name="barcodeLongPressMessage">В приложението галерия могат да бъдат отваряни само изображения</string>
<string name="failedToRetrieveImageFile">Не е възможно извличане на изображение</string>
<string name="noCameraPermissionDirectToSystemSetting">За да сканирате щрихкодове с Catima е необходим достъп до камерата. За да промените разрешението докоснете тук.</string>
<string name="updateBalanceTitle">Колко е похарчено или получено?</string>
@@ -218,8 +217,6 @@
<string name="switchToFrontImage">Показване на предната страна</string>
<string name="switchToBackImage">Показване на задната страна</string>
<string name="switchToBarcode">Показване на щрихкода</string>
<string name="openFrontImageInGalleryApp">Отваряне на изображението на предната страна в приложение за преглед за изображения</string>
<string name="openBackImageInGalleryApp">Отваряне на изображението на задната страна в приложение за преглед за изображения</string>
<string name="setBarcodeHeight">Задаване на височина на щрихкода</string>
<string name="donate">Даряване</string>
<string name="icon_header_click_text">Задръжте, за да промените миниатюрата</string>

View File

@@ -193,7 +193,6 @@
<string name="settings_oled_dark">অন্ধকার থিমের জন্য খাঁটি কালো পটভূমি</string>
<string name="setIcon">আইকন সেট করুন</string>
<string name="updateBalance">ব্যালেন্স আপডেট করুন</string>
<string name="barcodeLongPressMessage">গ্যালারি অ্যাপে শুধুমাত্র ছবি খোলা যাবে</string>
<string name="translate_platform">Weblate-এ</string>
<string name="on_google_play">Google Play-তে</string>
<string name="shortcutSelectCard">একটি কার্ড নির্বাচন করুন</string>
@@ -225,8 +224,6 @@
<string name="switchToBackImage">পিছনের ছবিটিতে সুইচ করুন</string>
<string name="switchToFrontImage">সামনের ছবিটিতে সুইচ করুন</string>
<string name="switchToBarcode">বারকোডে সুইচ করুন</string>
<string name="openFrontImageInGalleryApp">সামনের ছবিটি গ্যালারি অ্যাপে খুলুন</string>
<string name="openBackImageInGalleryApp">পিছনের ছবিটি গ্যালারি অ্যাপে খুলুন</string>
<string name="setBarcodeHeight">বারকোডের উচ্চতা সেট করুন</string>
<string name="icon_header_click_text">দীর্ঘক্ষন টাচ করে থাম্বনেইল এডিট করবেন</string>
<string name="show_balance">ব্যালান্স দেখান</string>

View File

@@ -174,7 +174,6 @@
<string name="importLoyaltyCardKeychainMessage">Odaberite svoj izvoz iz Privjeska za ključeve s karticom vjernosti za uvoz.\nKreirajte ga iz menija Uvoz/Izvoz u Privjesku za ključeve s karticom vjernosti pritiskom na Izvoz.</string>
<string name="importVoucherVaultMessage">Odaberite izvoz iz Voucher Vaulta za uvoz. \nKreirajte ga pritiskom na Izvoz u Voucher Vaultu.</string>
<string name="switchToBarcode">Prebaci na barkod</string>
<string name="openFrontImageInGalleryApp">Otvorite prednju sliku u aplikaciji za pregled slika</string>
<string name="switchToBackImage">Prebaci na sliku iz pozadine</string>
<string name="switchToFrontImage">Prebaci na prednju sliku</string>
<string name="height">Visina</string>
@@ -213,7 +212,6 @@
<string name="credits">Zasluge</string>
<string name="version_history">Historija verzija</string>
<string name="sort_by_valid_from">Vrijedi od</string>
<string name="barcodeLongPressMessage">U aplikaciji galerija mogu se otvoriti samo slike</string>
<string name="failedToRetrieveImageFile">Neuspjevam preuzimanje slikovne datoteke</string>
<string name="updateBalance">Ažuriraj stanje</string>
<string name="showMoreInfo">Prikaži informacije</string>
@@ -241,7 +239,6 @@
<string name="group_name_is_empty">Naziv grupe ne smije biti prazan</string>
<string name="group_updated">Grupa ažurirana</string>
<string name="deleteConfirmationGroup">Izbrisati grupu?</string>
<string name="openBackImageInGalleryApp">Otvori sliku pozadi u aplikaciji za pregled slika</string>
<string name="setBarcodeHeight">Postavi visinu barkoda</string>
<string name="donate">Donirajte</string>
<string name="icon_header_click_text">Dugo pritisnite za uređivanje sličice</string>

View File

@@ -72,7 +72,6 @@
<string name="no">No</string>
<string name="sort">Ordenar</string>
<string name="failedToRetrieveImageFile">Ha fallat l\'obtenció del fitxer d\'imatge</string>
<string name="barcodeLongPressMessage">Les imatges només es poden obrir desde la app galeria</string>
<string name="settings_category_title_privacy">Privacitat</string>
<plurals name="deleteCardsTitle">
<item quantity="one">Eliminar <xliff:g>%d</xliff:g> targeta</item>
@@ -167,7 +166,6 @@
<string name="noCardsMessage">Afegeix primer una targeta</string>
<string name="noCardExistsError">No s\'ha pogut trobar aquesta targeta</string>
<string name="failedParsingImportUriError">No s\'ha pogut analitzar l\'URI d\'importació</string>
<string name="openFrontImageInGalleryApp">Obrir la imatge frontal a l\'app de galeria</string>
<string name="settings_use_volume_keys_navigation_summary">Utilitza els botons de volum per canviar la targeta que es mostra</string>
<string name="updateBarcodeQuestionText">Ha canviat el valor ID. Vol actualitzar també el codi de barres per uter utilitzar el mateix valor?</string>
<string name="starred">Preferides</string>
@@ -183,7 +181,6 @@
<string name="on_github">al Github</string>
<string name="include_if_asking_support">Si vol demanar suport tècnic, inclogui la següent informació:</string>
<string name="newBalanceSentence">Nou balanç: <xliff:g>%s</xliff:g></string>
<string name="openBackImageInGalleryApp">Obrir la imatge posterior a l\'app de la galeria</string>
<string name="generic_error_please_retry">Perdoni, alguna cosa ha anat malament, siusplau torni-ho a provar...</string>
<string name="settings_column_count_6">6</string>
<string name="useBackImage">Utilitzar la imatge posterior</string>

View File

@@ -203,7 +203,6 @@
<string name="nextCard">Následující</string>
<string name="failedToOpenUrl">Nejprve nainstalujte webový prohlížeč</string>
<string name="welcome">Vítejte v Catima</string>
<string name="barcodeLongPressMessage">V aplikaci pro galerii mohou být otevírány pouze obrázky</string>
<string name="failedToRetrieveImageFile">Nepodařilo se získat soubor obrázku</string>
<string name="cameraPermissionDeniedTitle">Nepodařilo se získat přístup k fotoaparátu</string>
<string name="importCards">Importovat karty</string>
@@ -223,8 +222,6 @@
<string name="switchToFrontImage">Přepnout na přední obrázek</string>
<string name="switchToBackImage">Přepnout na zadní obrázek</string>
<string name="switchToBarcode">Přepnout na čárový kód</string>
<string name="openFrontImageInGalleryApp">Otevřít přední obrázek v aplikaci prohlížeče obrázků</string>
<string name="openBackImageInGalleryApp">Otevřít zadní obrázek v aplikaci prohlížeče obrázků</string>
<string name="setBarcodeHeight">Nastavit výšku čárového kódu</string>
<string name="donate">Přispět</string>
<string name="icon_header_click_text">Dlouhým stisknutím miniaturu upravíte</string>

View File

@@ -197,7 +197,6 @@
<string name="nextCard">Nächste</string>
<string name="failedToOpenUrl">Bitte installiere zuerst einen Webbrowser</string>
<string name="welcome">Willkommen bei Catima</string>
<string name="barcodeLongPressMessage">In der Galerie können nur Bilder geöffnet werden</string>
<string name="failedToRetrieveImageFile">Bilddatei konnte nicht abgerufen werden</string>
<string name="updateBalanceTitle">Wie viel hast du ausgegeben oder erhalten?</string>
<string name="cameraPermissionDeniedTitle">Kein Zugriff auf die Kamera</string>
@@ -215,8 +214,6 @@
<string name="anyDate">Beliebiges Datum</string>
<string name="icon_header_click_text">Zum Bearbeiten des Vorschaubildes lang drücken</string>
<string name="switchToBarcode">Zum Barcode wechseln</string>
<string name="openFrontImageInGalleryApp">Vorderseite in Bildbetrachter öffnen</string>
<string name="openBackImageInGalleryApp">Rückseite in Bildbetrachter öffnen</string>
<string name="height">Höhe</string>
<string name="switchToFrontImage">Zur Vorderseite wechseln</string>
<string name="switchToBackImage">Zur Rückseite wechseln</string>

View File

@@ -200,7 +200,6 @@
<string name="previousCard">Προηγούμενη</string>
<string name="nextCard">Επόμενη</string>
<string name="updateBalance">Ενημέρωση υπολοίπου</string>
<string name="barcodeLongPressMessage">Μόνο εικόνες μπορούν να ανοιχτούν στην εφαρμογή φωτογραφιών</string>
<string name="noCameraPermissionDirectToSystemSetting">Για να σκανάρετε γραμμωτούς κώδικες, θα χρειαστεί πρόσβαση στην κάμερα από το Catima. Πατήστε εδώ για να δώσετε πρόσβαση.</string>
<string name="importCards">Εισαγωγή καρτών</string>
<string name="updateBalanceHint">Εισάγετε ποσό</string>
@@ -219,11 +218,9 @@
<string name="switchToBarcode">Μετάβαση σε γραμμωτό κώδικα</string>
<string name="validFromSentence">Ισχύει από: <xliff:g>%s</xliff:g></string>
<string name="permissionReadCardsLabel">Διαβάστε τις κάρτες Catima</string>
<string name="openBackImageInGalleryApp">Ανοίξτε την οπίσθια εικόνα στη συλλογή εικόνων</string>
<string name="permissionReadCardsDescription">Διάβασε τις Κάρτες σου Catima και όλες τους τις λεπτομέρειες, συμπεριλαμβανομένων των σημειώσεων και των εικόνων</string>
<string name="donate">Δωρεά</string>
<string name="icon_header_click_text">Πατήστε παρατεταμένα για επεξεργασία του εικονιδίου</string>
<string name="openFrontImageInGalleryApp">Ανοίξτε την εμπρόσθια εικόνα στη συλλογή εικόνων</string>
<string name="storageReadPermissionRequired">Δικαίωμα ανάγνωσης του χώρου αποθήκευσης απαραίτητο για αυτήν την ενέργεια…</string>
<string name="validFromDate">Ισχύει από</string>
<string name="anyDate">Οποιαδήποτε ημερομηνία</string>

View File

@@ -165,7 +165,6 @@
<string name="chooseImportType">Importi datumojn de</string>
<string name="importCatima">Importi el Catima</string>
<string name="updateBalance">Ĝisdatigi saldon</string>
<string name="barcodeLongPressMessage">Nur bildoj povas esti malfermitaj en la galeria apo</string>
<string name="sort_by_name">Nomo</string>
<string name="sort_by_most_recently_used">Plej laste uzitaj</string>
<string name="sort_by_expiry">Dato de eksvalidiĝo</string>
@@ -180,8 +179,6 @@
<string name="newBalanceSentence">Nova saldo: <xliff:g>%s</xliff:g></string>
<string name="anyDate">Iam ajn</string>
<string name="switchToFrontImage">Ŝanĝi al antaŭa bildo</string>
<string name="openFrontImageInGalleryApp">Malfermi la antaŭan bildon en galeria apo</string>
<string name="openBackImageInGalleryApp">Malfermi la malantaŭan bildon en galeria apo</string>
<string name="show_name_below_image_thumbnail">Montri nomon sub la bildeto</string>
<string name="show_note">Montri noton</string>
<string name="settings_category_title_cards">Kartoj</string>

View File

@@ -182,7 +182,6 @@
<string name="selectColor">Seleccionar color</string>
<string name="sort">Ordenar</string>
<string name="app_contributors">Hecho posible por: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="barcodeLongPressMessage">Solo se puede abrir imágenes en la aplicación de galería</string>
<string name="yes">Si</string>
<string name="no">No</string>
<string name="passwordRequired">Ingresa la contraseña</string>
@@ -236,8 +235,6 @@
<string name="switchToFrontImage">Cambiar a imagen frontal</string>
<string name="switchToBackImage">Cambiar a imagen trasera</string>
<string name="switchToBarcode">Cambiar a código de barras</string>
<string name="openFrontImageInGalleryApp">Abrir imagen frontal en aplicación para ver imágenes</string>
<string name="openBackImageInGalleryApp">Abrir imagen trasera en galería de fotos</string>
<string name="setBarcodeHeight">Definir altura de código de barras</string>
<string name="show_name_below_image_thumbnail">Mostrar nombre de la imagen bajo su miniatura</string>
<string name="show_balance">Mostrar saldo</string>

View File

@@ -205,7 +205,6 @@
</plurals>
<string name="starred">Estrellado</string>
<string name="failedToRetrieveImageFile">No se pudo recuperar el archivo de imagen</string>
<string name="barcodeLongPressMessage">Solo se pueden abrir imágenes en la aplicación de galería</string>
<string name="updateBalanceTitle">¿Cuánto has gastado o recibido?</string>
<string name="currentBalanceSentence">Saldo actual: <xliff:g>%s</xliff:g></string>
<string name="noCameraPermissionDirectToSystemSetting">Para escanear códigos de barras, Catima necesitará acceso a su cámara. Toque aquí para cambiar los ajustes de su permiso.</string>
@@ -222,8 +221,6 @@
<string name="validFromSentence">Válido desde: <xliff:g>%s</xliff:g></string>
<string name="height">Alto</string>
<string name="switchToFrontImage">Cambiar a imagen frontal</string>
<string name="openFrontImageInGalleryApp">Abrir imagen frontal en la aplicación de la galería</string>
<string name="openBackImageInGalleryApp">Abrir imagen trasera en la aplicación de visor de imagen</string>
<string name="setBarcodeHeight">Ajustar la altura del código de barras</string>
<string name="donate">Donar</string>
<string name="switchToBarcode">Cambiar a código de barras</string>

View File

@@ -118,7 +118,6 @@
<string name="updateBarcodeQuestionTitle">Kas uuendame triipkoodi väärtust?</string>
<string name="yes">Jah</string>
<string name="no">Ei</string>
<string name="barcodeLongPressMessage">Galeriirakenduses saad avada vaid pilte</string>
<string name="sort_by_most_recently_used">Viimati kasutatud</string>
<string name="sort_by_expiry">Aegumine</string>
<string name="reverse">…tagurpidi järjekorras</string>
@@ -230,8 +229,6 @@
<string name="switchToFrontImage">Vaata esikülje pilti</string>
<string name="switchToBackImage">Vaata tagakülje pilti</string>
<string name="switchToBarcode">Vaata triipkoodi</string>
<string name="openFrontImageInGalleryApp">Ava esikülje pilt pildivalijas</string>
<string name="openBackImageInGalleryApp">Ava tagakülje pilt pildivalijas</string>
<string name="setBarcodeHeight">Määra triipkoodi kõrgus</string>
<string name="donate">Toeta rahaliselt</string>
<string name="icon_header_click_text">Pisipildi muutmiseks vajuta pikalt</string>

View File

@@ -213,7 +213,6 @@
<string name="previousCard">پیشین</string>
<string name="turn_flashlight_off">چراغ‌قوه را خاموش کنید</string>
<string name="updateBalance">به‌روزرسانی موجودی</string>
<string name="barcodeLongPressMessage">تنها عکس می‌تواند در گالری برنامه باز شود</string>
<string name="sort_by_name">نام</string>
<string name="sort_by_most_recently_used">به‌تازگی استفاده‌شده</string>
<string name="sort_by_expiry">انقضا</string>
@@ -221,7 +220,6 @@
<string name="include_if_asking_support">اگر می‌خواهید پشتیبانی درخواست کنید، اطلاعات زیر را پر کنید:</string>
<string name="unarchive">برچیدن بایگانی</string>
<string name="switchToBackImage">به عکس پشتِ‌سر جابه‌جا کنید</string>
<string name="openBackImageInGalleryApp">عکس پشتِ‌سر را در برنامه‌ی نمایشگر تصویر باز کنید</string>
<string name="setBarcodeHeight">ارتفاع بارگد را بگمارید</string>
<string name="donate">کمک مالی کنید</string>
<string name="icon_header_click_text">برای ویرایش قاب پیش‌نمایه فشار داده و نگه‌دارید</string>
@@ -265,7 +263,6 @@
<string name="failedToOpenUrl">نخست یک مرورگر وب نصب کنید</string>
<string name="updateBalanceTitle">چقدر خرج یا دریافت کردید؟</string>
<string name="switchToBarcode">به بارکد جابه‌جا کنید</string>
<string name="openFrontImageInGalleryApp">عکس روبه‌رو را در برنامه‌ی گالری باز کنید</string>
<string name="add_a_card_in_a_different_way">یک کارت به روشی متفاوت بیافزایید</string>
<string name="takePhoto">عکس بگیرید</string>
<string name="settings_column_count_7">۷</string>

View File

@@ -200,7 +200,6 @@
<string name="welcome">Tervetuloa Catimaan</string>
<string name="updateBalanceTitle">Kuinka paljon kulutit tai tienasit?</string>
<string name="updateBalanceHint">Syötä summa</string>
<string name="barcodeLongPressMessage">Vain kuvia on mahdollista avata galleriasovelluksessa</string>
<string name="archive">Arkistoi</string>
<string name="importCards">Tuo kortteja</string>
<string name="failedToRetrieveImageFile">Kuvatiedoston noutaminen epäonnistui</string>
@@ -223,14 +222,12 @@
<string name="height">Korkeus</string>
<string name="switchToFrontImage">Vaihda etukuvaan</string>
<string name="switchToBarcode">Vaihda viivakoodiin</string>
<string name="openFrontImageInGalleryApp">Avaa etukuva kuvankatselusovelluksessa</string>
<string name="settings_display_barcode_max_brightness_summary">Välttämätön, jotta jotkin skannerit toimivat</string>
<string name="settings_keep_screen_on_summary">Poistaa näytön aikakatkaisun korttia katsellessa</string>
<string name="settings_disable_lockscreen_while_viewing_card_summary">Poistaa näyttölukituksen käytöstä korttia katsellessa</string>
<string name="settings_allow_content_provider_read_title">Salli muiden sovellusten käyttää omaa dataa</string>
<string name="settings_oled_dark_summary">Vähentää akun käyttöä OLED-näytöillä</string>
<string name="switchToBackImage">Vaihda takakuvaan</string>
<string name="openBackImageInGalleryApp">Avaa takakuva kuvankatselusovelluksessa</string>
<string name="setBarcodeHeight">Aseta viivakoodin korkeus</string>
<string name="icon_header_click_text">Pitkä painallus pikkukuvan muokkaamiseksi</string>
<string name="show_name_below_image_thumbnail">Näytä nimi pikkukuvan alapuolella</string>

View File

@@ -203,7 +203,6 @@
<string name="previousCard">Précédent</string>
<string name="failedToOpenUrl">Installez d\'abord un navigateur web</string>
<string name="welcome">Bienvenue dans Catima</string>
<string name="barcodeLongPressMessage">Seules les images peuvent être ouvertes dans lapplication galerie</string>
<string name="failedToRetrieveImageFile">Impossible de récupérer le fichier image</string>
<string name="currentBalanceSentence">Solde actuel : <xliff:g>%s</xliff:g></string>
<string name="updateBalanceHint">Entrez le montant</string>
@@ -223,8 +222,6 @@
<string name="switchToFrontImage">Passer à l\'image avant</string>
<string name="switchToBackImage">Passer à l\'image arrière</string>
<string name="switchToBarcode">Passer au code barre</string>
<string name="openFrontImageInGalleryApp">Ouvrir l\'image du recto dans l\'application de visualisation des images</string>
<string name="openBackImageInGalleryApp">Ouvrir l\'image du verso dans l\'application de visualisation des images</string>
<string name="setBarcodeHeight">Définir la hauteur du code-barres</string>
<string name="donate">Faire un don</string>
<string name="icon_header_click_text">Appuyez longuement pour modifier la vignette</string>

View File

@@ -150,7 +150,6 @@
<string name="showMoreInfo">Ver info</string>
<string name="updateBalance">Actualizar saldo</string>
<string name="failedToRetrieveImageFile">Fallou a obtención do ficheiro de imaxe</string>
<string name="barcodeLongPressMessage">Só imaxes que se abren na app de galería</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Usadas recentemente</string>
<string name="sort_by_expiry">Caducidade</string>
@@ -194,8 +193,6 @@
<string name="height">Altura</string>
<string name="switchToFrontImage">Cambiar á imaxe frontal</string>
<string name="switchToBackImage">Cambiar á imaxe posterior</string>
<string name="openFrontImageInGalleryApp">Abrir imaxe frontal no visor de imaxes</string>
<string name="openBackImageInGalleryApp">Abrir imaxe posterior no visor de imaxes</string>
<string name="setBarcodeHeight">Establecer altura do código de barras</string>
<string name="icon_header_click_text">Pulsación longa para editar a miniatura</string>
<string name="show_name_below_image_thumbnail">Mostrar nome debaixo da miniatura</string>

View File

@@ -212,7 +212,6 @@
<string name="version_history">वर्जन तिहास</string>
<string name="archive">पुरालेख/संग्रहित (Archive)</string>
<string name="archived">कार्ड संग्रहीत (Archived)</string>
<string name="barcodeLongPressMessage">गैलरी ऐप में केवल छवियां ही खोली जा सकती हैं</string>
<string name="license">अनुज्ञप्ति (लाइसेंस)</string>
<string name="source_repository">स्रोत रिपोजिटरी</string>
<string name="include_if_asking_support">यदि आप सहायता का अनुरोध करना चाहते हैं, तो निम्नलिखित जानकारी शामिल करें:</string>
@@ -245,8 +244,6 @@
<string name="switchToFrontImage">सामने वाली छवि पर स्विच करें</string>
<string name="switchToBackImage">पिछली छवि पर स्विच करें</string>
<string name="switchToBarcode">बारकोड पर स्विच करें</string>
<string name="openFrontImageInGalleryApp">इमेज दर्शक सामने वाली इमेज खोलें</string>
<string name="openBackImageInGalleryApp">पिछली इमेज खोलें</string>
<string name="setBarcodeHeight">बारकोड ऊंचाई सेट करें</string>
<string name="icon_header_click_text">छोटी छवि (थंबनेल) संपादित करने के लिए देर तक दबाएँ</string>
<string name="enter_card_id">अपने कार्ड पर आईडी नंबर या टेक्स्ट दर्ज करें</string>

View File

@@ -128,8 +128,6 @@
<string name="switchToFrontImage">Prebaci na prednju sliku</string>
<string name="switchToBackImage">Prebaci na stražnju sliku</string>
<string name="switchToBarcode">Prebaci na crtični kod</string>
<string name="openFrontImageInGalleryApp">Otvori prednju sliku u aplikaciji prikazivača slika</string>
<string name="openBackImageInGalleryApp">Otvori stražnju sliku u aplikaciji prikazivača slika</string>
<string name="setBarcodeHeight">Postavi visinu crtičnog koda</string>
<plurals name="selectedCardCount">
<item quantity="one"><xliff:g>%d</xliff:g> odabrana</item>
@@ -159,7 +157,6 @@
<string name="importVoucherVaultMessage">Odaberi tvoj izvoz iz Voucher Vault za uvoz. \nStvori ga u aplikaciji Voucher Vault pritiskom na „Izvoz”.</string>
<string name="failedToRetrieveImageFile">Neuspjelo dohvaćanje slikovne datoteke</string>
<string name="license">Licenca</string>
<string name="barcodeLongPressMessage">U aplikaciji galerije se mogu otvoriiti samo slike</string>
<string name="source_repository">Izvorni repozitorij</string>
<string name="on_github">na GitHubu</string>
<string name="on_google_play">na stranici Google Play</string>

View File

@@ -202,7 +202,6 @@
<string name="newBalanceSentence">Új egyenleg: <xliff:g>%s</xliff:g></string>
<string name="cameraPermissionDeniedTitle">Nem sikerült hozzáférni a kamerához</string>
<string name="failedToRetrieveImageFile">Nem sikerült lekérni a képfájlt</string>
<string name="barcodeLongPressMessage">Csak képek nyithatók meg a galéria alkalmazásban</string>
<string name="unarchived">Kártya archiválása megszüntetve</string>
<string name="welcome">Üdvözöljük a Catimában</string>
<string name="updateBalance">Egyenleg frissítése</string>
@@ -218,8 +217,6 @@
<string name="switchToBackImage">Hátulnézeti képre váltás</string>
<string name="switchToBarcode">Vonalkódra váltás</string>
<string name="donate">Adományozás</string>
<string name="openBackImageInGalleryApp">Hátulnézeti kép megnyitása a galéria alkalmazásban</string>
<string name="openFrontImageInGalleryApp">Elölnézeti kép megnyitása a galéria alkalmazásban</string>
<string name="setBarcodeHeight">Vonalkód magasságának megadása</string>
<string name="icon_header_click_text">Hosszan nyomja meg a miniatűr szerkesztéséhez</string>
<string name="show_note">Megjegyzés megjelenítése</string>

View File

@@ -189,7 +189,6 @@
<string name="archive">Arsip</string>
<string name="archived">Kartu diarsipkan</string>
<string name="failedToRetrieveImageFile">Gagal mengambil file gambar</string>
<string name="barcodeLongPressMessage">Hanya gambar yang dapat dibuka di aplikasi galeri</string>
<string name="unarchive">Ekstrak</string>
<string name="unarchived">Kartu tidak diarsipkan</string>
<string name="options">Opsi</string>
@@ -212,8 +211,6 @@
<string name="switchToFrontImage">Ubah ke depan gambar</string>
<string name="switchToBackImage">Ubah ke belakang gambar</string>
<string name="switchToBarcode">Ubah ke kode batang</string>
<string name="openFrontImageInGalleryApp">Buka gambar depan di aplikasi penampil gambar</string>
<string name="openBackImageInGalleryApp">Buka gambar di aplikasi penampil gambar</string>
<string name="setBarcodeHeight">Atur tinggi kode batang</string>
<string name="donate">Donasi</string>
<string name="show_validity">Tunjukkan validitas</string>

View File

@@ -204,7 +204,6 @@
<string name="welcome">Benvenuti su Catima</string>
<string name="failedToOpenUrl">Installa prima un browser web</string>
<string name="failedToRetrieveImageFile">Impossibile ottenere il file dell\'immagine</string>
<string name="barcodeLongPressMessage">Si possono aprire solo immagini dell\'app della galleria</string>
<string name="cameraPermissionDeniedTitle">Impossibile accedere alla fotocamera</string>
<string name="noCameraPermissionDirectToSystemSetting">Per poter scansionare i codici a barre, Catima ha bisogno di accedere alla tua fotocamera. Premi qui per poter cambiare le impostazioni dei permessi.</string>
<string name="updateBalance">Aggiorna bilancio</string>
@@ -223,9 +222,7 @@
<string name="switchToFrontImage">Passa all\'immagine frontale</string>
<string name="switchToBackImage">Passa all\'immagine dietro</string>
<string name="switchToBarcode">Passa al codice a barre</string>
<string name="openFrontImageInGalleryApp">Apri immagine frontale nell\'app per la visualizzazione di immagini</string>
<string name="donate">Dona</string>
<string name="openBackImageInGalleryApp">Apri l\'immagine retro nell\'app per la visualizzazione di immagini</string>
<string name="setBarcodeHeight">Imposta l\'altezza del codice a barre</string>
<string name="icon_header_click_text">Premi a lungo per modificare l\'immagine</string>
<string name="show_note">Mostra nota</string>

View File

@@ -233,7 +233,6 @@
<string name="showMoreInfo">情報を確認</string>
<string name="updateBalance">残高を更新</string>
<string name="failedToRetrieveImageFile">画像ファイルを取得できませんでした</string>
<string name="barcodeLongPressMessage">ギャラリーアプリは画像のみ開けます</string>
<string name="sort_by_valid_from">有効期限</string>
<string name="starred">スター付き</string>
<string name="include_if_asking_support">サポートを依頼する場合、以下の情報を含めて下さい:</string>
@@ -250,8 +249,6 @@
<string name="switchToFrontImage">前面画像へ切り替え</string>
<string name="switchToBackImage">背面画像へ切り替え</string>
<string name="switchToBarcode">バーコードへ切り替え</string>
<string name="openFrontImageInGalleryApp">前面画像を画像ビューワーアプリで開く</string>
<string name="openBackImageInGalleryApp">背面画像を画像ビューワーアプリで開く</string>
<string name="setBarcodeHeight">バーコードの高さを設定</string>
<string name="icon_header_click_text">サムネイルを長押しして編集</string>
<string name="settings_category_title_cards_overview">カードの概要</string>

View File

@@ -37,7 +37,6 @@
<string name="donate">ದಾನ ಮಾಡಿ</string>
<string name="action_more_options">ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳು</string>
<string name="add_a_card_in_a_different_way">ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಕಾರ್ಡ್ ಸೇರಿಸಿ</string>
<string name="barcodeLongPressMessage">ಗ್ಯಾಲರಿ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಚಿತ್ರಗಳನ್ನು ಮಾತ್ರ ತೆರೆಯಬಹುದು</string>
<string name="all">ಎಲ್ಲವೂ</string>
<string name="chooseValidFromDate">ದಿನಾಂಕದಿಂದ ಮಾನ್ಯವಾಗಿ ಆಯ್ಕೆಮಾಡಿ</string>
<string name="delete">ಅಳಿಸಿ</string>

View File

@@ -91,7 +91,6 @@
<string name="showMoreInfo">정보 보기</string>
<string name="updateBalance">잔액 업데이트</string>
<string name="failedToRetrieveImageFile">이미지 파일을 검색하지 못했습니다</string>
<string name="barcodeLongPressMessage">갤러리 앱에서는 이미지만 열 수 있습니다</string>
<string name="sort_by_name">이름</string>
<string name="reverse">... 역순으로</string>
<string name="sort_by">정렬 기준</string>
@@ -138,8 +137,6 @@
<string name="group_updated">그룹 업데이트됨</string>
<string name="moveBarcodeToTopOfScreen">바코드를 화면 상단으로 이동</string>
<string name="height"></string>
<string name="openFrontImageInGalleryApp">갤러리 앱에서 전면 이미지 열기</string>
<string name="openBackImageInGalleryApp">갤러리 앱에서 다시 이미지 열기</string>
<string name="setBarcodeHeight">바코드 높이 설정</string>
<string name="setFrontImage">전면 이미지 설정</string>
<plurals name="selectedCardCount">

View File

@@ -191,7 +191,6 @@
</plurals>
<string name="updateBalance">Atnaujinti balansą</string>
<string name="failedToRetrieveImageFile">Nepavyko gauti vaizdo failo</string>
<string name="barcodeLongPressMessage">Galerijos programėlėje galima atidaryti tik vaizdus</string>
<string name="translate_platform">Weblate svetainėje</string>
<string name="shortcutSelectCard">Pasirinkti kortelę</string>
<string name="options">Parinktys</string>
@@ -220,7 +219,6 @@
<string name="importCards">Importuoti korteles</string>
<string name="storageReadPermissionRequired">Šio veiksmo atlikimui reikalinga prieiga prie saugyklos…</string>
<string name="cameraPermissionRequired">Šio veiksmo atlikimui reikalinga prieiga prie kameros…</string>
<string name="openBackImageInGalleryApp">Atidarykite galinį vaizdą galerijos programėlėje</string>
<string name="setBarcodeHeight">Nustatyti brūkšninio kodo aukštį</string>
<string name="validFromDate">Galioja nuo</string>
<string name="anyDate">Bet kuri data</string>
@@ -230,7 +228,6 @@
<string name="switchToBarcode">Perjungti į brūkšninį kodą</string>
<string name="height">Aukštis</string>
<string name="switchToFrontImage">Perjungti į priekinį vaizdą</string>
<string name="openFrontImageInGalleryApp">Atidarykite priekinį vaizdą galerijos programėlėje</string>
<string name="donate">Aukoti</string>
<string name="settings_keep_screen_on_summary">Išjungti ekrano užmigdymą kol peržiūrite kortelę</string>
<string name="manually_enter_barcode_instructions">Įveskite ID numerį arba tekstą ant jūsų kortelės ir paspauskite brūkšninį kodą, kuris atrodo kaip ant jūsų kortelės.</string>

View File

@@ -80,7 +80,6 @@
<string name="never">Nekad</string>
<string name="chooseExpiryDate">Izvēlēties beigu datumu</string>
<string name="failedToRetrieveImageFile">Neizdevās iegūt attēla datni</string>
<string name="barcodeLongPressMessage">Galerijas lietotnē var atvērt tikai attēlus</string>
<string name="sort_by_expiry">Derīgums</string>
<string name="reverse">...apgrieztā secībā</string>
<string name="credits">Pateicības</string>
@@ -215,7 +214,6 @@
<string name="icon_header_click_text">Ilgi piespiest, lai labotu sīktēlu</string>
<string name="anyDate">Jebkurš datums</string>
<string name="height">Augstums</string>
<string name="openBackImageInGalleryApp">Atvērt aizmugures attēlu attēlu skatītāja lietotnē</string>
<string name="donate">Ziedot</string>
<string name="field_must_not_be_empty">Lauks nedrīkst būt tukšs</string>
<string name="card_id_must_not_be_empty">Kartes identifikators nedrīkst būt tukšs</string>
@@ -224,7 +222,6 @@
<string name="noCameraFoundGuideText">Šķiet, ka ierīcei nav kameras. Ja tā tomēr ir, jāmēģina pārsāknēt ierīci. Pretējā gadījumā jāizmanto zemāk esošā poga \"Vairāk iespēju\", lai pievienot svītrkodu citā veidā.</string>
<string name="settings_allow_content_provider_read_title">Ļaut citām lietotnēm piekļūt maniem datiem</string>
<string name="settings_allow_content_provider_read_summary">Lietotnēm joprojām būs jāpieprasa atļauja, lai nodrošinātu piekļuvi</string>
<string name="openFrontImageInGalleryApp">Atvērt priekšpuses attēlu attēlu skatītāja lietotnē</string>
<string name="show_note">Rādīt piezīmi</string>
<string name="show_balance">Rādīt atlikumu</string>
<string name="settings_category_title_privacy">Privātums</string>

View File

@@ -203,7 +203,6 @@
<string name="failedToOpenUrl">Installer en nettleser først</string>
<string name="welcome">Velkommen til Catima</string>
<string name="failedToRetrieveImageFile">Kunne ikke hente bildefil</string>
<string name="barcodeLongPressMessage">Kun bilder kan åpnes i galleriprogrammet</string>
<string name="cameraPermissionDeniedTitle">Fikk ikke tilgang til kameraet</string>
<string name="noCameraPermissionDirectToSystemSetting">Catima trenger kameratilgang for å skanne strekkoder. Trykk her for å endre tilgangsinnstillingene.</string>
<string name="importCards">Importer kort</string>
@@ -227,8 +226,6 @@
<string name="show_balance">Vis saldo</string>
<string name="show_note">Vis notat</string>
<string name="show_validity">Vis gyldighet</string>
<string name="openFrontImageInGalleryApp">Åpne frontbilde i galleriprogrammet</string>
<string name="openBackImageInGalleryApp">Åpne baksidebilde i galleriprogram</string>
<string name="setBarcodeHeight">Sett strekkodehøyde</string>
<string name="donate">Doner</string>
<string name="permissionReadCardsLabel">Les Catima-kort</string>

View File

@@ -199,7 +199,6 @@
<string name="welcome">Welkom bij Catima</string>
<string name="failedToOpenUrl">Installeer een webbrowser</string>
<string name="failedToRetrieveImageFile">De afbeelding kan niet worden opgehaald</string>
<string name="barcodeLongPressMessage">Alleen afbeeldingen kunnen worden geopend in de galerij-app</string>
<string name="cameraPermissionDeniedTitle">Geen cameratoegang</string>
<string name="updateBalanceTitle">Hoeveel heb je uitgegeven of ontvangen?</string>
<string name="noCameraPermissionDirectToSystemSetting">Catima heeft toegang tot je camera nodig om barcodes te kunnen scannen. Druk hier om toegang te verlenen.</string>
@@ -219,8 +218,6 @@
<string name="switchToFrontImage">Voorzijde tonen</string>
<string name="switchToBackImage">Achterzijde tonen</string>
<string name="switchToBarcode">Barcode tonen</string>
<string name="openFrontImageInGalleryApp">Voorzijde openen in afbeeldingsweergave-app</string>
<string name="openBackImageInGalleryApp">Achterzijde openen in afbeeldingsweergave-app</string>
<string name="donate">Doneren</string>
<string name="icon_header_click_text">Houd lang ingedrukt om miniatuur te bewerken</string>
<string name="show_balance">Saldo tonen</string>

View File

@@ -179,7 +179,6 @@
<string name="showMoreInfo">دیدن اطلاعات</string>
<string name="updateBalance">به‌روزرسانی موجودی</string>
<string name="failedToRetrieveImageFile">فایل تصویر بازیابی نشد</string>
<string name="barcodeLongPressMessage">فقط عکس میتونه تو گالری برنامه باز بشه</string>
<string name="sort_by_name">اسم</string>
<string name="sort_by_most_recently_used">جدیدا استفاده شده</string>
<string name="sort_by_valid_from">معتبر از</string>
@@ -228,8 +227,6 @@
<string name="switchToFrontImage">تغییر به عکس جلو</string>
<string name="switchToBackImage">تغییر به عکس عقب</string>
<string name="switchToBarcode">به بارکد تغییر بده</string>
<string name="openFrontImageInGalleryApp">عکس جلویی رو تو image viewer app باز کن</string>
<string name="openBackImageInGalleryApp">باز کردن عکس تو image viewer app</string>
<string name="setBarcodeHeight">تنظیم ارتفاع بارکد</string>
<string name="donate">کمک مالی کن</string>
<string name="icon_header_click_text">برای ویرایش عکس کوچیک، فشار طولانی بده</string>

View File

@@ -209,7 +209,6 @@
<item quantity="other"><xliff:g>%1$d</xliff:g> kart (<xliff:g id="archivedCount">%2$d</xliff:g> zarchwizowanych)</item>
</plurals>
<string name="failedToRetrieveImageFile">Nie udało się pobrać pliku obrazu</string>
<string name="barcodeLongPressMessage">W galerii możesz otworzyć tylko obrazy</string>
<string name="failedToOpenUrl">Najpierw zainstaluj przeglądarkę</string>
<string name="welcome">Witaj w Catima</string>
<string name="currentBalanceSentence">Bieżące saldo: <xliff:g>%s</xliff:g></string>
@@ -230,10 +229,8 @@
<string name="switchToFrontImage">Przełącz na obraz z przodu</string>
<string name="switchToBackImage">Przełącz na obraz z tyłu</string>
<string name="switchToBarcode">Przełącz na kod kreskowy</string>
<string name="openFrontImageInGalleryApp">Otwórz obraz z przodu w galerii</string>
<string name="setBarcodeHeight">Ustaw wysokość kodu kreskowego</string>
<string name="donate">Darowizna</string>
<string name="openBackImageInGalleryApp">Otwórz obraz z powrotem w galerii</string>
<string name="icon_header_click_text">Przytrzymaj, aby edytować miniaturę</string>
<string name="show_name_below_image_thumbnail">Pokaż nazwę pod miniaturką zdjęcia</string>
<string name="show_balance">Pokaż balans</string>

View File

@@ -129,7 +129,6 @@
<string name="showMoreInfo">Mostrar informações</string>
<string name="updateBalance">Atualizar saldo</string>
<string name="failedToRetrieveImageFile">Falha ao recuperar o arquivo de imagem</string>
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na galeria</string>
<string name="sort_by_most_recently_used">Usado mais recentemente</string>
<string name="reverse">...em ordem inversa</string>
<string name="sort_by">Ordenar por</string>
@@ -152,8 +151,6 @@
<string name="switchToBarcode">Mudar para código de barras</string>
<string name="switchToFrontImage">Mudar para imagem frontal</string>
<string name="switchToBackImage">Mudar para imagem traseira</string>
<string name="openFrontImageInGalleryApp">Abrir imagem frontal no visualizador de imagens</string>
<string name="openBackImageInGalleryApp">Abrir imagem traseira no visualizador de imagens</string>
<string name="setBarcodeHeight">Definir altura do código de barras</string>
<string name="donate">Doar</string>
<string name="icon_header_click_text">Pressione e segure para editar a miniatura</string>

View File

@@ -205,7 +205,6 @@
<string name="failedToOpenUrl">Instale primeiro um navegador de Internet</string>
<string name="welcome">Bem-vindo ao Catima</string>
<string name="failedToRetrieveImageFile">Falha ao recuperar o ficheiro de imagem</string>
<string name="barcodeLongPressMessage">Só podem ser abertas imagens na aplicação da galeria</string>
<string name="noCameraPermissionDirectToSystemSetting">Para digitalizar códigos de barras, o Catima tem de aceder à câmara. Clique aqui para mudar as configurações de permissão.</string>
<string name="cameraPermissionDeniedTitle">Não foi possível aceder à câmara</string>
<string name="importCards">Importar cartões</string>
@@ -224,8 +223,6 @@
<string name="height">Altura</string>
<string name="switchToBackImage">Mudar para a imagem de trás</string>
<string name="switchToBarcode">Mudar para o código de barras</string>
<string name="openFrontImageInGalleryApp">Abrir imagem frontal na app visualizadora de imagens</string>
<string name="openBackImageInGalleryApp">Abrir imagem traseira na app visualizadora de imagens</string>
<string name="setBarcodeHeight">Definir altura do código de barras</string>
<string name="donate">Doar</string>
<string name="show_validity">Mostrar validade</string>

View File

@@ -194,7 +194,6 @@
<string name="showMoreInfo">Mostrar informações</string>
<string name="updateBalance">Atualizar saldo</string>
<string name="failedToRetrieveImageFile">Falha ao recuperar o arquivo de imagem</string>
<string name="barcodeLongPressMessage">Apenas imagens podem ser abertas na galeria</string>
<string name="sort_by_name">Nome</string>
<string name="sort_by_most_recently_used">Usado mais recentemente</string>
<string name="sort_by_valid_from">Válido a partir de</string>
@@ -244,8 +243,6 @@
<string name="switchToFrontImage">Mudar para imagem frontal</string>
<string name="switchToBackImage">Mudar para imagem traseira</string>
<string name="switchToBarcode">Mudar para código de barras</string>
<string name="openFrontImageInGalleryApp">Abrir imagem frontal no visualizador de imagens</string>
<string name="openBackImageInGalleryApp">Abrir imagem traseira no visualizador de imagens</string>
<string name="setBarcodeHeight">Definir altura do código de barras</string>
<string name="donate">Doar</string>
<string name="icon_header_click_text">Pressione e segure para editar a miniatura</string>

View File

@@ -99,7 +99,6 @@
<string name="exportPasswordHint">Introduceți o parolă</string>
<string name="about_title_fmt">Despre <xliff:g id="app_name">%s</xliff:g></string>
<string name="barcodeImageDescriptionWithType">Imagine <xliff:g>%s</xliff:g> cod de bare</string>
<string name="openFrontImageInGalleryApp">Deschideți imaginea frontală în aplicația galerie</string>
<string name="show_name_below_image_thumbnail">Afișați numele sub imaginea miniaturii</string>
<string name="removeImage">Ștergeți imaginea</string>
<string name="help_translate_this_app">Ajutați la traducerea aplicației</string>
@@ -122,7 +121,6 @@
<string name="height">Înălțime</string>
<string name="expiryStateSentence">Expiră: <xliff:g>%s</xliff:g></string>
<string name="setIcon">Setați miniatura</string>
<string name="barcodeLongPressMessage">Doar imagini pot fi deschise în aplicația galerie</string>
<string name="settings_category_title_general">General</string>
<string name="manually_enter_barcode_instructions">Introduceți numărul de identificare sau textul de pe cardul dumneavoastră iar apoi selectați codul de bare ce arată ca și cel de pe cardul dumneavoastră.</string>
<string name="balanceSentence">Sold: <xliff:g>%s</xliff:g></string>
@@ -193,7 +191,6 @@
<string name="selectColor">Selectați o culoare</string>
<string name="setBarcodeHeight">Setați înălțimea codului de bare</string>
<string name="privacy_policy">Politica de confidențialitate</string>
<string name="openBackImageInGalleryApp">Deschideți imaginea din spate în aplicația galerie</string>
<string name="settings_system_locale">Sistem</string>
<string name="updateBalance">Actualizați balanța</string>
<string name="sort_by_most_recently_used">Cele mai recent utilizate</string>

View File

@@ -211,7 +211,6 @@
<string name="welcome">Добро пожаловать в Catima</string>
<string name="failedToOpenUrl">Сначала необходимо установить браузер</string>
<string name="failedToRetrieveImageFile">Невозможно получить файл изображения</string>
<string name="barcodeLongPressMessage">В приложении галереи можно открывать только изображения</string>
<string name="noCameraPermissionDirectToSystemSetting">Для сканирования штрих-кодов Catima требуется доступ к камере устройства. Нажмите здесь, чтобы изменить настройки разрешений.</string>
<string name="updateBalance">Обновить баланс</string>
<string name="newBalanceSentence">Новый баланс: <xliff:g>%s</xliff:g></string>
@@ -231,8 +230,6 @@
<string name="switchToBarcode">Переключить на штрих-код</string>
<string name="switchToFrontImage">Переключить на лицевую сторону</string>
<string name="switchToBackImage">Переключить на заднюю сторону</string>
<string name="openFrontImageInGalleryApp">Открыть лицевое изображение в приложении просмотра изображений</string>
<string name="openBackImageInGalleryApp">Открыть заднее изображение в приложении просмотра изображений</string>
<string name="donate">Пожертвовать</string>
<string name="icon_header_click_text">Долгое нажатие для редактирования</string>
<string name="show_note">Показывать примечание</string>

View File

@@ -210,7 +210,6 @@
<item quantity="few"><xliff:g>%1$d</xliff:g> karty (<xliff:g id="archivedCount">%2$d</xliff:g> archivované)</item>
<item quantity="other"><xliff:g>%1$d</xliff:g> kariet (<xliff:g id="archivedCount">%2$d</xliff:g> archivovaných)</item>
</plurals>
<string name="barcodeLongPressMessage">V aplikácii galéria je možné otvoriť iba obrázky</string>
<string name="cameraPermissionDeniedTitle">Nepodarilo sa získať prístup k fotoaparátu</string>
<string name="storageReadPermissionRequired">Pre túto akciu je potrebné oprávnenie na čítanie úložiska…</string>
<string name="importFidmeMessage">Vyberte svoj export zo služby FidMe pre import a potom vyberte typy čiarových kódov ručne.\nVytvorte ho z profilu FidMe tak, že vyberiete položku Ochrana údajov a potom stlačíte tlačidlo Extrahovať moje údaje.</string>
@@ -226,8 +225,6 @@
<string name="settings_keep_screen_on_summary">Ponechať obrazovku aktívnu počas prezerania karty</string>
<string name="settings_display_barcode_max_brightness_summary">Pre zaistenie čitateľnosti pre niektoré skenery</string>
<string name="settings_allow_content_provider_read_summary">Aplikácie budú musieť stále žiadať o povolenie, aby im bol udelený prístup</string>
<string name="openBackImageInGalleryApp">Otvorenie zadného obrázka v prehliadači obrázkov</string>
<string name="openFrontImageInGalleryApp">Otvorenie predného obrázka v prehliadači obrázkov</string>
<string name="setBarcodeHeight">Nastavenie výšky čiarového kódu</string>
<string name="show_balance">Ukážte zostatok</string>
<string name="show_name_below_image_thumbnail">Zobraziť názov pod miniatúrou obrázka</string>

View File

@@ -211,7 +211,6 @@
<string name="settings_oled_dark">Čisto črno ozadje za temno temo</string>
<string name="selectColor">Izberi barvo</string>
<string name="app_contributors">Omogočeno od: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="barcodeLongPressMessage">V aplikaciji za gledanje slik lahko odpremo samo slike</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirana)</item>
<item quantity="two"><xliff:g>%1$d</xliff:g> kartici (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirani)</item>
@@ -287,8 +286,6 @@
<string name="switchToFrontImage">Preklopi na prednjo sliko</string>
<string name="switchToBackImage">Preklopi na zadnjo sliko</string>
<string name="switchToBarcode">Preklopi na črtno kodo</string>
<string name="openFrontImageInGalleryApp">Odpri sprednjo sliko v aplikaciji za slike</string>
<string name="openBackImageInGalleryApp">Odpri zadnjo sliko v aplikaciji za slike</string>
<string name="setBarcodeHeight">Nastavi višino črtne kode</string>
<string name="useFrontImage">Uporabi prednjo sliko</string>
<string name="useBackImage">Uporabi zadnjo sliko</string>

View File

@@ -169,7 +169,6 @@
<string name="height">Visina</string>
<string name="switchToFrontImage">Prebaci na prednju fotografiju</string>
<string name="switchToBarcode">Prebaci na bar-kod</string>
<string name="openFrontImageInGalleryApp">Otvori prednju fotografiju u prikazivaču fotografija</string>
<string name="setBarcodeHeight">Postavi visinu bar-koda</string>
<string name="donate">Doniraj</string>
<string name="icon_header_click_text">Dugi pritisak za izmenu naslovne fotografije</string>
@@ -239,7 +238,6 @@
<string name="updateBarcodeQuestionText">Promenio si broj kartice. Da li želiš da ažuriraš i bar-kod da bude iste vrednosti?</string>
<string name="no">Ne</string>
<string name="app_contributors">Saradnici: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="barcodeLongPressMessage">Samo fotografije mogu da se otvore u galerija aplikaciji</string>
<string name="translate_platform">na Weblate-u</string>
<plurals name="groupCardCountWithArchived">
<item quantity="one"><xliff:g>%1$d</xliff:g> kartica (<xliff:g id="archivedCount">%2$d</xliff:g> arhivirana)</item>
@@ -249,7 +247,6 @@
<string name="include_if_asking_support">Ako želiš da zatražiš podršku, ubaci sledeće informacije:</string>
<string name="newBalanceSentence">Novo stanje: <xliff:g>%s</xliff:g></string>
<string name="switchToBackImage">Prebaci na zadnju fotografiju</string>
<string name="openBackImageInGalleryApp">Otvori zadnju fotografiju u prikazivaču fotografija</string>
<string name="settings_category_title_cards">Pregled kartica</string>
<string name="addWithoutBarcode">Dodaj karticu bez bar-koda</string>
<string name="enter_card_id">Unesite broj ili tekst sa kartice</string>

View File

@@ -209,11 +209,9 @@
<string name="cameraPermissionRequired">Behörighet att komma åt kameran krävs för denna åtgärd…</string>
<string name="updateBalance">Uppdatera balans</string>
<string name="failedToRetrieveImageFile">Misslyckades att hämta bildfil</string>
<string name="barcodeLongPressMessage">Endast bilder kan öppnas i galleriappen</string>
<string name="updateBalanceTitle">Hur mycket spenderade du eller fick du?</string>
<string name="updateBalanceHint">Ange summa</string>
<string name="newBalanceSentence">Ny balans: <xliff:g>%s</xliff:g></string>
<string name="openFrontImageInGalleryApp">Öppna bilden på framsidan i bildvisningsappen</string>
<string name="show_name_below_image_thumbnail">Visa namnet nedanför bildens miniatyr</string>
<string name="show_validity">Visa giltighet</string>
<string name="view_online">Visa på internet</string>
@@ -233,7 +231,6 @@
<string name="switchToFrontImage">Byt till bilden på framsidan</string>
<string name="settings_allow_content_provider_read_summary">Appar måste fortfarande begära åtkomst för att få tillgång</string>
<string name="setBarcodeHeight">Ställ in streckkodens höjd</string>
<string name="openBackImageInGalleryApp">Öppna bilden på baksidan i bildvisningsappen</string>
<string name="app_copyright_fmt" tools:ignore="PluralsCandidate">Kopieringsskydd © 2019<xliff:g>%d</xliff:g> Sylvia van Os och medverkande</string>
<string name="settings_allow_content_provider_read_title">Tillåt andra appar att komma åt min data</string>
<string name="permissionReadCardsLabel">Läsa Catima-kort</string>

View File

@@ -166,7 +166,6 @@
<string name="updateBalance">இருப்பு புதுப்பிக்கவும்</string>
<string name="failedToRetrieveImageFile">படக் கோப்பை மீட்டெடுப்பதில் தோல்வி</string>
<string name="sort_by">வரிசைப்படுத்தவும்</string>
<string name="barcodeLongPressMessage">கேலரி பயன்பாட்டில் படங்களை மட்டுமே திறக்க முடியும்</string>
<string name="version_history">பதிப்பு வரலாறு</string>
<string name="credits">வரவு</string>
<string name="on_google_play">கூகிள் பிளேயில்</string>
@@ -201,8 +200,6 @@
<string name="switchToFrontImage">முன் படத்திற்கு மாறவும்</string>
<string name="switchToBackImage">பின் படத்திற்கு மாறவும்</string>
<string name="switchToBarcode">பார்கோடு மாறவும்</string>
<string name="openFrontImageInGalleryApp">இமேச் வியூவர் ஆப்சில் முன் படத்தைத் திறக்கவும்</string>
<string name="openBackImageInGalleryApp">இமேச் வியூவர் ஆப்சில் மீண்டும் படத்தைத் திறக்கவும்</string>
<string name="setBarcodeHeight">பார்கோடு உயரத்தை அமைக்கவும்</string>
<string name="donate">நன்கொடை</string>
<string name="icon_header_click_text">சிறுபடத்தைத் திருத்த நீண்ட அழுத்தவும்</string>

View File

@@ -199,7 +199,6 @@
<string name="failedToOpenUrl">Önce bir web tarayıcısı kurun</string>
<string name="welcome">Catima\'ya Hoş Geldiniz</string>
<string name="failedToRetrieveImageFile">Resim dosyası alınamadı</string>
<string name="barcodeLongPressMessage">Galeri uygulamasında yalnızca resimler açılabilir</string>
<string name="noCameraPermissionDirectToSystemSetting">Barkodları taramak için Catima\'nın kameranıza erişmesi gerekecektir. İzin ayarlarınızı değiştirmek için buraya dokunun.</string>
<string name="currentBalanceSentence">Geçerli bakiye: <xliff:g>%s</xliff:g></string>
<string name="updateBalanceHint">Miktarı girin</string>
@@ -220,8 +219,6 @@
<string name="donate">Bağış yap</string>
<string name="switchToFrontImage">Ön resme geç</string>
<string name="setBarcodeHeight">Barkod yüksekliğini ayarla</string>
<string name="openFrontImageInGalleryApp">Ön resmi resim görüntüleyici uygulamasında aç</string>
<string name="openBackImageInGalleryApp">Arka resmi resim görüntüleyici uygulamasında aç</string>
<string name="icon_header_click_text">Küçük resmi düzenlemek için uzun basın</string>
<string name="show_name_below_image_thumbnail">Küçük resmin altında adı göster</string>
<string name="show_note">Notu göster</string>

View File

@@ -211,7 +211,6 @@
<string name="failedToOpenUrl">Спочатку встановіть браузер</string>
<string name="welcome">Ласкаво просимо до Catima</string>
<string name="failedToRetrieveImageFile">Збій доступу до файлу зображення</string>
<string name="barcodeLongPressMessage">Галерея може відкривати лише зображення</string>
<string name="importCards">Імпорт карток</string>
<string name="updateBalanceTitle">Скільки ви витратили або отримали?</string>
<string name="updateBalanceHint">Введіть суму</string>
@@ -229,8 +228,6 @@
<string name="switchToFrontImage">Перемкнутися на лицьову сторону</string>
<string name="switchToBackImage">Перемкнутися на зворотню сторону</string>
<string name="switchToBarcode">Перемкнутися на штрих-код</string>
<string name="openFrontImageInGalleryApp">Відкрити зображення спереду в програмі для перегляду зображень</string>
<string name="openBackImageInGalleryApp">Відкрити зображення ззаду у програмі для перегляду зображень</string>
<string name="setBarcodeHeight">Встановити висоту штрих-коду</string>
<string name="height">Висота</string>
<string name="donate">Пожертвувати</string>

View File

@@ -234,14 +234,11 @@
<string name="rate_this_app">Đánh giá ứng dụng</string>
<string name="credits">Ghi nhận</string>
<string name="app_name">Catima</string>
<string name="openFrontImageInGalleryApp">Mở hình ảnh mặt trước trong ứng dụng thư viện ảnh</string>
<string name="and_data_usage">và sử dụng dữ liệu</string>
<string name="show_validity">Hiển thị tính hợp lệ</string>
<string name="barcodeLongPressMessage">Chỉ có thể mở hình ảnh trong ứng dụng thư viện</string>
<string name="source_repository">Kho lưu trữ nguồn</string>
<string name="switchToBackImage">Chuyển sang hình ảnh phía sau</string>
<string name="switchToFrontImage">Chuyển sang hình ảnh phía trước</string>
<string name="openBackImageInGalleryApp">Mở hình ảnh mặt sau trong ứng dụng thư viện ảnh</string>
<string name="failedToRetrieveImageFile">Không thể truy xuất tệp hình ảnh</string>
<string name="app_contributors">Được thực hiện bởi: <xliff:g id="app_contributors">%s</xliff:g></string>
<string name="app_license">Phần mềm miễn phí có bản quyền theo giấy phép GPLv3+</string>

View File

@@ -200,7 +200,6 @@
<string name="currentBalanceSentence">当前余额:<xliff:g>%s</xliff:g></string>
<string name="failedToRetrieveImageFile">无法检索图像文件</string>
<string name="newBalanceSentence">新余额:<xliff:g>%s</xliff:g></string>
<string name="barcodeLongPressMessage">只能在图库应用程序中打开图像</string>
<string name="storageReadPermissionRequired">此操作所需的读取存储空间的权限……</string>
<string name="validFromDate">有效期自</string>
<string name="anyDate">任何日期</string>
@@ -211,8 +210,6 @@
<string name="switchToFrontImage">选择正面图像</string>
<string name="switchToBackImage">选择背面图像</string>
<string name="switchToBarcode">选择条形码</string>
<string name="openFrontImageInGalleryApp">使用图片查看软件打开正面图像</string>
<string name="openBackImageInGalleryApp">使用图片查看软件打开背面图像</string>
<string name="setBarcodeHeight">设置条形码高度</string>
<string name="donate">捐赠</string>
<string name="icon_header_click_text">长按可编辑缩略图</string>

View File

@@ -179,7 +179,6 @@
<string name="options">選項</string>
<string name="include_if_asking_support">如果您想請求協助,請附上以下訊息:</string>
<string name="failedToRetrieveImageFile">無法擷取圖片檔案</string>
<string name="barcodeLongPressMessage">圖庫應用程式僅可開啟圖片</string>
<string name="duplicateCard">重複</string>
<string name="archive">封存</string>
<string name="unarchive">解除封存</string>
@@ -208,7 +207,6 @@
<string name="currentBalanceSentence">餘額:<xliff:g>%s</xliff:g></string>
<string name="newBalanceSentence">新的餘額:<xliff:g>%s</xliff:g></string>
<string name="switchToBarcode">選擇條碼</string>
<string name="openFrontImageInGalleryApp">在圖片檢視應用程式中開啟正面圖片</string>
<string name="show_note">顯示備註</string>
<string name="show_balance">顯示餘額</string>
<string name="show_validity">顯示有效性</string>
@@ -217,7 +215,6 @@
<string name="height"></string>
<string name="donate">捐款</string>
<string name="icon_header_click_text">長按以編輯縮圖</string>
<string name="openBackImageInGalleryApp">在圖片檢視應用程式中開啟背面圖片</string>
<string name="show_name_below_image_thumbnail">在縮圖下方顯示名稱</string>
<string name="setBarcodeHeight">設定條碼高度</string>
<string name="app_copyright_short">著作權所有© Sylvia van Os與其他貢獻者</string>

View File

@@ -219,7 +219,6 @@
<string name="showMoreInfo">Show info</string>
<string name="updateBalance">Update balance</string>
<string name="failedToRetrieveImageFile">Failed to retrieve image file</string>
<string name="barcodeLongPressMessage">Only images can be opened in the gallery app</string>
<string name="sort_by_name">Name</string>
<string name="sort_by_most_recently_added">Most recently added</string>
<string name="sort_by_most_recently_used">Most recently used</string>
@@ -272,8 +271,8 @@
<string name="switchToFrontImage">Switch to front image</string>
<string name="switchToBackImage">Switch to back image</string>
<string name="switchToBarcode">Switch to barcode</string>
<string name="openFrontImageInGalleryApp">Open front image in image viewer app</string>
<string name="openBackImageInGalleryApp">Open back image in image viewer app</string>
<string name="zoomFrontImage">Zoom front image</string>
<string name="zoomBackImage">Zoom back image</string>
<string name="setBarcodeHeight">Set barcode height</string>
<string name="donate">Donate</string>
<string name="icon_header_click_text">Long press to edit thumbnail</string>

View File

@@ -77,6 +77,7 @@ import java.util.Currency;
import java.util.Date;
import java.util.List;
import protect.card_locker.cardimageview.LoyaltyCardImageViewActivity;
import protect.card_locker.cardview.LoyaltyCardViewActivity;
@RunWith(RobolectricTestRunner.class)
@@ -1374,6 +1375,92 @@ public class LoyaltyCardViewActivityTest {
database.close();
}
@Test
public void checkImageViewerWorkflow() throws IOException {
final Context context = ApplicationProvider.getApplicationContext();
SQLiteDatabase database = getWritableEmptyDatabase(context);
int cardId = (int) DBHelper.insertLoyaltyCard(database, "store", "note", null, null, new BigDecimal("0"), null, BARCODE_DATA, null, null, StandardCharsets.ISO_8859_1, Color.BLACK, 0, null, 0);
Bitmap frontBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.circle);
Bitmap backBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_done);
Utils.saveCardImage(context, frontBitmap, cardId, ImageLocationType.front);
Utils.saveCardImage(context, backBitmap, cardId, ImageLocationType.back);
try {
ActivityController activityController = createActivityWithLoyaltyCard(false, cardId);
AppCompatActivity activity = (AppCompatActivity) activityController.get();
activityController.start();
activityController.visible();
activityController.resume();
ImageView mainImage = activity.findViewById(R.id.main_image);
ImageButton nextButton = activity.findViewById(R.id.main_right_button);
assertEquals(context.getString(R.string.frontImageDescription), mainImage.getContentDescription());
mainImage.performClick();
shadowOf(getMainLooper()).idle();
assertStartedImageActivity(activity, cardId, ImageLocationType.front);
nextButton.performClick();
shadowOf(getMainLooper()).idle();
assertEquals(context.getString(R.string.backImageDescription), mainImage.getContentDescription());
mainImage.performClick();
shadowOf(getMainLooper()).idle();
assertStartedImageActivity(activity, cardId, ImageLocationType.back);
} finally {
Utils.saveCardImage(context, null, cardId, ImageLocationType.front);
Utils.saveCardImage(context, null, cardId, ImageLocationType.back);
database.close();
}
}
@Test
public void checkThumbnailImageViewerWorkflow() throws IOException {
final Context context = ApplicationProvider.getApplicationContext();
SQLiteDatabase database = getWritableEmptyDatabase(context);
int cardId = (int) DBHelper.insertLoyaltyCard(database, "store", "note", null, null, new BigDecimal("0"), null, BARCODE_DATA, null, null, StandardCharsets.ISO_8859_1, Color.BLACK, 0, null, 0);
Bitmap thumbnailBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.circle);
Utils.saveCardImage(context, thumbnailBitmap, cardId, ImageLocationType.icon);
try {
ActivityController activityController = createActivityWithLoyaltyCard(false, cardId);
AppCompatActivity activity = (AppCompatActivity) activityController.get();
activityController.start();
activityController.visible();
activityController.resume();
LinearLayout iconContainer = activity.findViewById(R.id.icon_container);
iconContainer.performClick();
shadowOf(getMainLooper()).idle();
assertStartedImageActivity(activity, cardId, ImageLocationType.icon);
} finally {
Utils.saveCardImage(context, null, cardId, ImageLocationType.icon);
database.close();
}
}
private void assertStartedImageActivity(
AppCompatActivity activity,
int cardId,
ImageLocationType imageLocationType
) {
Intent intent = shadowOf(activity).getNextStartedActivity();
assertNotNull(intent);
assertEquals(LoyaltyCardImageViewActivity.class.getName(), intent.getComponent().getClassName());
assertEquals(cardId, intent.getIntExtra(LoyaltyCardImageViewActivity.BUNDLE_ID, 0));
assertEquals(
imageLocationType.name(),
intent.getStringExtra(LoyaltyCardImageViewActivity.BUNDLE_IMAGE_LOCATION_TYPE)
);
}
@Test
public void checkNoBarcodeFullscreenWorkflow() {
final Context context = ApplicationProvider.getApplicationContext();