From 28a81740ff3425a292b122aabc7b10ac7e8384eb Mon Sep 17 00:00:00 2001 From: sspanak Date: Fri, 12 Apr 2024 14:02:28 +0300 Subject: [PATCH] repaced the 'dictionary update available' popup with a notification --- .../sspanak/tt9/db/DictionaryLoader.java | 4 +- .../github/sspanak/tt9/ime/TraditionalT9.java | 2 + .../preferences/settings/SettingsStore.java | 2 +- ...teDialog.java => AutoUpdateMonologue.java} | 33 ++++------- .../tt9/ui/dialogs/PopupDialogActivity.java | 4 +- .../notifications/DictionaryNotification.java | 24 +++++--- .../DictionaryProgressNotification.java | 6 +- .../DictionaryUpdateNotification.java | 52 ++++++++++++++++++ .../ic_dictionary_update.xml | 25 +++++++++ .../drawable-hdpi/ic_dictionary_update.png | Bin 0 -> 508 bytes .../drawable-mdpi/ic_dictionary_update.png | Bin 0 -> 346 bytes .../drawable-xhdpi/ic_dictionary_update.png | Bin 0 -> 721 bytes .../drawable-xxhdpi/ic_dictionary_update.png | Bin 0 -> 957 bytes app/src/main/res/values-bg/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-iw/strings.xml | 2 +- app/src/main/res/values-lt/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pt-rBR/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-uk/strings.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- 25 files changed, 126 insertions(+), 50 deletions(-) rename app/src/main/java/io/github/sspanak/tt9/ui/dialogs/{ConfirmDictionaryUpdateDialog.java => AutoUpdateMonologue.java} (54%) create mode 100644 app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java create mode 100644 app/src/main/res/drawable-anydpi-v24/ic_dictionary_update.xml create mode 100644 app/src/main/res/drawable-hdpi/ic_dictionary_update.png create mode 100644 app/src/main/res/drawable-mdpi/ic_dictionary_update.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_dictionary_update.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_dictionary_update.png diff --git a/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java b/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java index 6291e501..20fcb467 100644 --- a/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java +++ b/app/src/main/java/io/github/sspanak/tt9/db/DictionaryLoader.java @@ -24,8 +24,8 @@ import io.github.sspanak.tt9.languages.Language; import io.github.sspanak.tt9.languages.exceptions.InvalidLanguageCharactersException; import io.github.sspanak.tt9.languages.exceptions.InvalidLanguageException; import io.github.sspanak.tt9.preferences.settings.SettingsStore; -import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog; import io.github.sspanak.tt9.ui.notifications.DictionaryLoadingBar; +import io.github.sspanak.tt9.ui.notifications.DictionaryUpdateNotification; import io.github.sspanak.tt9.util.ConsumerCompat; import io.github.sspanak.tt9.util.Logger; import io.github.sspanak.tt9.util.Timer; @@ -130,7 +130,7 @@ public class DictionaryLoader { } // or if the database is outdated, compared to the dictionary file, ask for confirmation and load else if (!hash.equals(new WordFile(language.getDictionaryFile(), self.assets).getHash())) { - ConfirmDictionaryUpdateDialog.show(context, language.getId()); + new DictionaryUpdateNotification(context, language).show(); } }, language diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java index 63fcfd1e..850bb87e 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/TraditionalT9.java @@ -105,6 +105,8 @@ public class TraditionalT9 extends HotkeyHandler { initUi(); } + DictionaryLoader.autoLoad(this, mLanguage); + return true; } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java index 19eebca3..3420282a 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsStore.java @@ -8,7 +8,7 @@ public class SettingsStore extends SettingsUI { /************* internal settings *************/ public final static int DELETE_WORDS_SEARCH_DELAY = 500; // ms - public final static int DICTIONARY_AUTO_LOAD_COOLDOWN_TIME = 86400000; // 24 hours in ms + public final static int DICTIONARY_AUTO_LOAD_COOLDOWN_TIME = 1200000; // 20 minutes in ms public final static int DICTIONARY_IMPORT_BATCH_SIZE = 5000; // words public final static int DICTIONARY_IMPORT_PROGRESS_UPDATE_TIME = 250; // ms public final static byte SLOW_QUERY_TIME = 50; // ms diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AutoUpdateMonologue.java similarity index 54% rename from app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java rename to app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AutoUpdateMonologue.java index 4b46e8e9..afe35b31 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/ConfirmDictionaryUpdateDialog.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/AutoUpdateMonologue.java @@ -2,29 +2,24 @@ package io.github.sspanak.tt9.ui.dialogs; import android.content.Context; import android.content.Intent; -import android.inputmethodservice.InputMethodService; import androidx.annotation.NonNull; -import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.db.DictionaryLoader; import io.github.sspanak.tt9.languages.Language; import io.github.sspanak.tt9.languages.LanguageCollection; import io.github.sspanak.tt9.util.ConsumerCompat; import io.github.sspanak.tt9.util.Logger; -public class ConfirmDictionaryUpdateDialog extends PopupDialog { +public class AutoUpdateMonologue extends PopupDialog { public static final String TYPE = "tt9.popup_dialog.confirm_words_update"; public static final String PARAMETER_LANGUAGE = "lang"; private Language language; - ConfirmDictionaryUpdateDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) { + AutoUpdateMonologue(@NonNull Context context, @NonNull Intent intent, ConsumerCompat activityFinisher) { super(context, activityFinisher); - - title = context.getString(R.string.app_name); - OKLabel = context.getString(R.string.dictionary_update_update); parseIntent(context, intent); } @@ -34,35 +29,27 @@ public class ConfirmDictionaryUpdateDialog extends PopupDialog { language = LanguageCollection.getLanguage(context, languageId); if (language == null) { - Logger.e(getClass().getSimpleName(), "Failed auto-updating the dictionary for language: '" + languageId + "'"); - } else { - message = context.getResources().getString(R.string.dictionary_update_message, language.getName()); + Logger.e(getClass().getSimpleName(), "Auto-updating is not possible. Intent parameter '" + PARAMETER_LANGUAGE + "' is invalid: " + languageId); } } - private void loadDictionary() { - DictionaryLoader.load(context, language); - close(); - } - - @Override void render() { - if (language == null) { - close(); - } else { - super.render(this::loadDictionary); + if (language != null) { + DictionaryLoader.load(context, language); } + close(); } - public static void show(InputMethodService ims, int language) { - Intent intent = new Intent(ims, PopupDialogActivity.class); + public static Intent generateShowIntent(Context context, int language) { + Intent intent = new Intent(context, PopupDialogActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); intent.putExtra(PARAMETER_DIALOG_TYPE, TYPE); intent.putExtra(PARAMETER_LANGUAGE, language); - ims.startActivity(intent); + + return intent; } } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java index a8d7ccad..8a56ddd8 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/dialogs/PopupDialogActivity.java @@ -33,8 +33,8 @@ public class PopupDialogActivity extends AppCompatActivity { switch (popupType) { case AddWordDialog.TYPE: return new AddWordDialog(this, i, this::onDialogClose); - case ConfirmDictionaryUpdateDialog.TYPE: - return new ConfirmDictionaryUpdateDialog(this, i, this::onDialogClose); + case AutoUpdateMonologue.TYPE: + return new AutoUpdateMonologue(this, i, this::onDialogClose); default: Logger.w(LOG_TAG, "Unknown popup type: '" + popupType + "'. Not displaying anything."); return null; diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryNotification.java b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryNotification.java index a6308490..b0ef1ba8 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryNotification.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryNotification.java @@ -8,8 +8,11 @@ import android.content.res.Resources; import android.os.Build; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; +import io.github.sspanak.tt9.languages.Language; + public abstract class DictionaryNotification { private static final int NOTIFICATION_ID = 1; private static final String NOTIFICATION_CHANNEL_ID = "dictionary-notifications"; @@ -24,20 +27,20 @@ public abstract class DictionaryNotification { protected String messageLong = ""; - protected DictionaryNotification(Context context) { + protected DictionaryNotification(@NonNull Context context, @Nullable Language language) { resources = context.getResources(); manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notificationBuilder = getNotificationBuilderCompat(context); notificationBuilder - .setContentIntent(createNavigationIntent(context)) + .setContentIntent(createNavigationIntent(context, language)) .setSmallIcon(android.R.drawable.stat_notify_sync) .setCategory(NotificationCompat.CATEGORY_PROGRESS) .setOnlyAlertOnce(true); } - protected abstract PendingIntent createNavigationIntent(Context context); + protected abstract PendingIntent createNavigationIntent(@NonNull Context context, @Nullable Language language); private NotificationCompat.Builder getNotificationBuilderCompat(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -54,16 +57,21 @@ public abstract class DictionaryNotification { } - public void showMessage(@NonNull String title, @NonNull String message, @NonNull String messageLong) { + public void show() { indeterminate = false; - this.title = title; - this.message = message; - this.messageLong = messageLong; renderMessage(); } - public void showError(@NonNull String title, @NonNull String message) { + public void showMessage(String title, String message, String messageLong) { + this.title = title; + this.message = message; + this.messageLong = messageLong; + this.show(); + } + + + public void showError(String title, String message) { indeterminate = false; this.title = title; this.message = message; diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryProgressNotification.java b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryProgressNotification.java index e01e6018..9e550046 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryProgressNotification.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryProgressNotification.java @@ -5,8 +5,10 @@ import android.content.Context; import android.content.Intent; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import io.github.sspanak.tt9.R; +import io.github.sspanak.tt9.languages.Language; import io.github.sspanak.tt9.preferences.PreferencesActivity; import io.github.sspanak.tt9.preferences.screens.languages.LanguagesScreen; @@ -18,7 +20,7 @@ public class DictionaryProgressNotification extends DictionaryNotification { protected DictionaryProgressNotification(Context context) { - super(context); + super(context, null); } @@ -32,7 +34,7 @@ public class DictionaryProgressNotification extends DictionaryNotification { @Override - protected final PendingIntent createNavigationIntent(Context context) { + protected final PendingIntent createNavigationIntent(@NonNull Context context, @Nullable Language language) { Intent intent = new Intent(context, PreferencesActivity.class); intent.putExtra("screen", LanguagesScreen.NAME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java new file mode 100644 index 00000000..9e6677b7 --- /dev/null +++ b/app/src/main/java/io/github/sspanak/tt9/ui/notifications/DictionaryUpdateNotification.java @@ -0,0 +1,52 @@ +package io.github.sspanak.tt9.ui.notifications; + +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.app.NotificationCompat; + +import io.github.sspanak.tt9.R; +import io.github.sspanak.tt9.languages.Language; +import io.github.sspanak.tt9.ui.dialogs.AutoUpdateMonologue; + +public class DictionaryUpdateNotification extends DictionaryNotification { + private final Language language; + + + public DictionaryUpdateNotification(@NonNull Context context, @NonNull Language language) { + super(context, language); + this.language = language; + notificationBuilder.addAction(getAction(context)); + } + + + @Override + protected PendingIntent createNavigationIntent(@NonNull Context context, @Nullable Language language) { + Intent intent = AutoUpdateMonologue.generateShowIntent(context, language != null ? language.getId() : -1); + return PendingIntent.getActivity(context, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + } + + + private NotificationCompat.Action getAction(Context context) { + return new NotificationCompat.Action( + R.drawable.ic_dictionary_update, + resources.getString(R.string.dictionary_update_update), + createNavigationIntent(context, language) + ); + } + + + @Override + public void show() { + notificationBuilder.setSmallIcon(R.drawable.ic_dictionary_update); + messageLong = message = resources.getString(R.string.dictionary_update_message, language.getName()); + super.show(); + } + + + @Override + public void showError(@NonNull String ignored, @NonNull String ignored2) {} +} diff --git a/app/src/main/res/drawable-anydpi-v24/ic_dictionary_update.xml b/app/src/main/res/drawable-anydpi-v24/ic_dictionary_update.xml new file mode 100644 index 00000000..edff19cb --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v24/ic_dictionary_update.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/app/src/main/res/drawable-hdpi/ic_dictionary_update.png b/app/src/main/res/drawable-hdpi/ic_dictionary_update.png new file mode 100644 index 0000000000000000000000000000000000000000..8a61c71008cc2297e7d6b308350ede1e774fee15 GIT binary patch literal 508 zcmV49L%)$(PJn7Ya zXpJ15LxV7<8yg_ofuce`5eQT5a1<8&Z3mmP9|*g7@?HeOpsu(I-x~-_$$^N33UmuM z;4*ptkJbJ~pu)^CEW-uz)*tdoMj+6VKd4?|ih9BTY8T;?Zt1ZPdu8ocpsov^`s+%3 yLftjftTqx@I}TT2O3sA=>*`^R9FK|l6TATciMH8;EPCGn0000eh%~W-=e8dEGk<8$X0B}2y?K952WzsNPuw@Z zyxuJ8Za`8dc!_6b-)$xh=wUV9JOi;SbPFrvoHG|m8^F@QCw#*nYfW(wDnJkTz( zSc(tukhB5IkhB3T+jt_;|L-!wYq2LRQ2-45!aV!{{T#Qjf}2*?M{frY@x|tpF}86} sobNxs%XoyZIur-23VU`{zrH3FzqMqv@eJ7+2><{907*qoM6N<$g0Ya6kN^Mx literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_dictionary_update.png b/app/src/main/res/drawable-xhdpi/ic_dictionary_update.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b7ef4c3dd4f9dbdac77df7190d7c754bd8b4c5 GIT binary patch literal 721 zcmV;?0xtcDP)6)cf$K1u@mZZy#eLX;GhC+>gcsoV{yL5L1m`1l=lxhJU*H1Q{fD@nT64^6O^4U7 z8(3_9dVldi3|{}JH}CN*S zfE7Xgi|_}J*I;FAeZ7@?IABGC`o(pCY2^lP!h>)doDA3Dv#a4&cnB_!%wLoZJcL`q zo=qsLTNX~* z8_>VRWq1_sf;-@L|8vKW>C34#8~7vc(`Pp9TNf%j`VGVocU7MBPI>hsR3DF1wvTWu z8nA+T=mIanXHxIRMKj&&1P_FDyKuk?gZiy`52Vt%4P1i_EVZ zp#F)lUsKBJmIkcgKB-jJ<$x93CzZ;&9I%4>DB=!sd*D5aGq>O@9OnV9IrI&PyJ%g9 zA1RVVxb~vKu+THkOMdcy;q?!519}EBhu2@W0lmSv3Xh2UP4f9<6Wk3?in}qXb37=x zA?|DTokF*jcsv95!ZYwrZ%U6aUrZ{{uR7*KxiBr{4$VkE^%7GuL&79#m-Z0zJ?IYkj0rF>gR%7RF-z(SN*_=rI$ zQ6hwV=G*Z<^W4kx{^!1P@7#Ib>ps)@)vxJ3_j%7bbLP&y=f1sfO^sm~hG7_nVHg!a zL~7w+I2^XZ6>tYU1~0&)a64QKC&FR6pX2nETn!pqb1cc_)ZALb3Ah)ohcm?08oY+T zAowJB7~Yri`3-Nwop2QACcp_y~^3Iv!8k0-*1M++Uxx%1$; z@#0nGFPUAX5!U;X9xG3Fr2(1}U7|!y2S; zZjZPdgl+T1eR;ksZU%ZMZW7P)4Ss~L;WPLEo`>xeCyjU-grx>?UqP-Xca{gmP9u&6 ziF;)Ph2p0XO@o3{V*Gy7pcn88JSXlfqJAIS0{6j_@T|DGO5caNC^3Gt4SED;iF;qF z_4gJ-_v>-AmPS+!x&-I=>!I-T645khp#L~DoZBOg2Bjf32PNvt&p{WHJIjM&rx8bk z#O9#xP))%pF@C>kkj+7a%|TR?VsnrW)ns!J!*vxxiqAocKK=loi<^T^!?_eEjd&U) zc0MQx)ns!JLp24b#Q6QDK{f{weVv1b(pnl(HOS^5AF8Rze;gXl?GZ}@gQr!*0kLmC#KUYDjw?W`BFZ>6pxПотвърдете изтриването Наистина ли искате да изтриете „%1$s“? „%1$s“ беше изтрита. - Налично е обновление на речника за „%1$s“. Искате ли да го заредите? + Налично е обновление на речника за „%1$s“. Зареди Дарете Ако харесвате %1$s, подкрепете разработката му на: %2$s. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a3f37576..6aee94c1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -85,7 +85,7 @@ Löschung bestätigen Sind Sie sicher, dass Sie \"%1$s\" löschen möchten? \"%1$s\" wurde gelöscht. - " Wörterbuchupdate verfügbar für „%1$s“. Möchten Sie es laden?" + " Wörterbuchupdate verfügbar für „%1$s“." Laden Spenden Wenn Ihnen %1$s gefällt, könnten Sie die Entwicklung auf %2$s unterstützen. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index c1fe20c2..56b3021e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -104,7 +104,7 @@ Confirma la eliminación ¿Estás seguro de que quieres eliminar \"%1$s\"? \"%1$s\" fue eliminada. - Actualización del diccionario disponible para «%1$s». ¿Te gustaría cargarlo? + Actualización del diccionario disponible para «%1$s». Cargar Donar Si te gusta %1$s, podrías apoyar su desarrollo en: %2$s. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index df52d69f..3a24917c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -102,7 +102,7 @@ Confirmer la suppression Êtes-vous sûr de vouloir supprimer « %1$s » ? \"%1$s\" a été supprimé. - Mise à jour du dictionnaire «%1$s» disponible. Souhaitez-vous le charger ? + Mise à jour du dictionnaire «%1$s» disponible. Charger Donner Si vous aimez %1$s vous pouvez soutenir son développement à : %2$s diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fa0d3eab..398345f7 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -87,7 +87,7 @@ Conferma l\'eliminazione Sei sicuro di voler eliminare \"%1$s\"? \"%1$s\" è stata eliminata. - Aggiornamento del dizionario disponibile per \"%1$s\". Vuoi caricarlo? + Aggiornamento del dizionario disponibile per \"%1$s\". Carica Donare Se ti piace %1$s, potresti supportarne lo sviluppo su: %2$s. diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 155a96f9..9415dc89 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -103,7 +103,7 @@ אישור מחיקה האם אתה בטוח שברצונך להסיר את \"%1$s\"? \"%1$s\" נמחקה. - עדכון מילון זמין עבור \"%1$s\". האם תרצה לטעון אותו? + עדכון למילון זמין עבור \"%1$s\" טען לִתְרוֹם אם אתה אוהב את %1$s, תוכל לתמוך בפיתוח שלו בכתובת: %2$s diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index e886f918..6f40ea08 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -123,7 +123,7 @@ Patvirtinkite ištrynimą Ar tikrai norite ištrinti „%1$s“? „%1$s“ buvo ištrintas. - Atnaujinta žodyno versija skirta \"%1$s\". Ar norėtumėte ją įkelti? + Atnaujinta žodyno versija skirta \"%1$s\". Įkelti Paaukoti Jei jums patinka %1$s, galite paremti jo plėtrą čia: %2$s. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 0940fdbf..b78ee454 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -83,7 +83,7 @@ Bevestig verwijdering Weet u zeker dat u \"%1$s\" wilt verwijderen? \"%1$s\" is verwijderd. - Woordenboekupdate beschikbaar voor \"%1$s\". Wil je het laden? + Woordenboekupdate beschikbaar voor \"%1$s\". Laden Doneer Als je %1$s leuk vindt, zou je de ontwikkeling kunnen ondersteunen op: %2$s. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ac41f994..ddbd5b30 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -105,7 +105,7 @@ Confirme a exclusão Tem certeza de que deseja excluir \"%1$s\"? \"%1$s\" foi excluída. - Atualização do dicionário disponível para \"%1$s\". Você gostaria de carregá-lo? + Atualização do dicionário disponível para \"%1$s\". Carregar Doar Se você gosta de %1$s, você poderia apoiar o seu desenvolvimento em: %2$s. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index fa76755b..fc6e3114 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -107,7 +107,7 @@ Подтвердите удаление Уверены, что хотите удалить «%1$s»? \"%1$s\" было удалено. - Доступно обновление словаря для «%1$s». Хотите загрузить его? + Доступно обновление словаря для «%1$s». Загрузить Поддержать Если вам нравится %1$s, вы можете поддержать его разработку по: %2$s. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index db831fa3..f0d7a4f1 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -90,7 +90,7 @@ Підтвердіть видалення Ви впевнені, що хочете видалити \"%1$s\"? \"%1$s\" було видалено. - Доступне оновлення словника для \"%1$s\". Бажаєте його завантажити? + Доступне оновлення словника для \"%1$s\". Завантажити Підтримати diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d4c7dde8..e27aaf49 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -103,7 +103,7 @@ Are you sure you want to delete \"%1$s\"? \"%1$s\" was deleted. - Dictionary update available for \"%1$s\". Would you like to load it? + Dictionary update available for \"%1$s\". Load Donate