improved error handling in the popup dialogs
This commit is contained in:
parent
b323794bf7
commit
32ac37b0fb
18 changed files with 90 additions and 41 deletions
|
|
@ -15,8 +15,8 @@ import io.github.sspanak.tt9.db.DictionaryLoader;
|
||||||
import io.github.sspanak.tt9.db.WordStoreAsync;
|
import io.github.sspanak.tt9.db.WordStoreAsync;
|
||||||
import io.github.sspanak.tt9.ime.modes.ModePassthrough;
|
import io.github.sspanak.tt9.ime.modes.ModePassthrough;
|
||||||
import io.github.sspanak.tt9.preferences.SettingsStore;
|
import io.github.sspanak.tt9.preferences.SettingsStore;
|
||||||
import io.github.sspanak.tt9.ui.PopupDialogActivity;
|
|
||||||
import io.github.sspanak.tt9.ui.UI;
|
import io.github.sspanak.tt9.ui.UI;
|
||||||
|
import io.github.sspanak.tt9.ui.dialogs.PopupDialog;
|
||||||
import io.github.sspanak.tt9.ui.main.MainView;
|
import io.github.sspanak.tt9.ui.main.MainView;
|
||||||
import io.github.sspanak.tt9.ui.tray.StatusBar;
|
import io.github.sspanak.tt9.ui.tray.StatusBar;
|
||||||
import io.github.sspanak.tt9.util.Logger;
|
import io.github.sspanak.tt9.util.Logger;
|
||||||
|
|
@ -32,7 +32,7 @@ public class TraditionalT9 extends HotkeyHandler {
|
||||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||||
int result = super.onStartCommand(intent, flags, startId);
|
int result = super.onStartCommand(intent, flags, startId);
|
||||||
|
|
||||||
String message = intent != null ? intent.getStringExtra(PopupDialogActivity.DIALOG_CLOSED_INTENT) : null;
|
String message = intent != null ? intent.getStringExtra(PopupDialog.INTENT_CLOSE) : null;
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
forceShowWindowIfHidden();
|
forceShowWindowIfHidden();
|
||||||
if (!message.isEmpty()) {
|
if (!message.isEmpty()) {
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,14 @@ import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
import io.github.sspanak.tt9.util.Logger;
|
|
||||||
import io.github.sspanak.tt9.ime.TraditionalT9;
|
import io.github.sspanak.tt9.ime.TraditionalT9;
|
||||||
import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
|
import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
|
||||||
import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog;
|
import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog;
|
||||||
import io.github.sspanak.tt9.ui.dialogs.PopupDialog;
|
import io.github.sspanak.tt9.ui.dialogs.PopupDialog;
|
||||||
|
import io.github.sspanak.tt9.util.Logger;
|
||||||
|
|
||||||
public class PopupDialogActivity extends AppCompatActivity {
|
public class PopupDialogActivity extends AppCompatActivity {
|
||||||
private static final String LOG_TAG = PopupDialogActivity.class.getSimpleName();
|
private static final String LOG_TAG = PopupDialogActivity.class.getSimpleName();
|
||||||
public static final String DIALOG_ADD_WORD_INTENT = "tt9.popup_dialog.add_word";
|
|
||||||
public static final String DIALOG_CONFIRM_WORDS_UPDATE_INTENT = "tt9.popup_dialog.confirm_words_update";
|
|
||||||
public static final String DIALOG_CLOSED_INTENT = "tt9.popup_dialog.closed";
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -33,13 +30,13 @@ public class PopupDialogActivity extends AppCompatActivity {
|
||||||
private PopupDialog getDialog() {
|
private PopupDialog getDialog() {
|
||||||
Intent i = getIntent();
|
Intent i = getIntent();
|
||||||
|
|
||||||
String popupType = i != null ? i.getStringExtra("popup_type") : "";
|
String popupType = i != null ? i.getStringExtra(PopupDialog.PARAMETER_DIALOG_TYPE) : "";
|
||||||
popupType = popupType != null ? popupType : "";
|
popupType = popupType != null ? popupType : "";
|
||||||
|
|
||||||
switch (popupType) {
|
switch (popupType) {
|
||||||
case DIALOG_ADD_WORD_INTENT:
|
case AddWordDialog.TYPE:
|
||||||
return new AddWordDialog(this, i, this::onDialogClose);
|
return new AddWordDialog(this, i, this::onDialogClose);
|
||||||
case DIALOG_CONFIRM_WORDS_UPDATE_INTENT:
|
case ConfirmDictionaryUpdateDialog.TYPE:
|
||||||
return new ConfirmDictionaryUpdateDialog(this, i, this::onDialogClose);
|
return new ConfirmDictionaryUpdateDialog(this, i, this::onDialogClose);
|
||||||
default:
|
default:
|
||||||
Logger.w(LOG_TAG, "Unknown popup type: '" + popupType + "'. Not displaying anything.");
|
Logger.w(LOG_TAG, "Unknown popup type: '" + popupType + "'. Not displaying anything.");
|
||||||
|
|
@ -54,7 +51,7 @@ public class PopupDialogActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private void sendMessageToMain(String message) {
|
private void sendMessageToMain(String message) {
|
||||||
Intent intent = new Intent(this, TraditionalT9.class);
|
Intent intent = new Intent(this, TraditionalT9.class);
|
||||||
intent.putExtra(DIALOG_CLOSED_INTENT, message);
|
intent.putExtra(PopupDialog.INTENT_CLOSE, message);
|
||||||
startService(intent);
|
startService(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import io.github.sspanak.tt9.languages.Language;
|
import io.github.sspanak.tt9.languages.Language;
|
||||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||||
|
import io.github.sspanak.tt9.ui.dialogs.AddWordDialog;
|
||||||
|
import io.github.sspanak.tt9.ui.dialogs.ConfirmDictionaryUpdateDialog;
|
||||||
|
|
||||||
public class UI {
|
public class UI {
|
||||||
private static Toast toastLang = null;
|
private static Toast toastLang = null;
|
||||||
|
|
@ -20,9 +22,9 @@ public class UI {
|
||||||
Intent intent = new Intent(ims, PopupDialogActivity.class);
|
Intent intent = new Intent(ims, PopupDialogActivity.class);
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||||
intent.putExtra("word", currentWord);
|
intent.putExtra(AddWordDialog.PARAMETER_DIALOG_TYPE, AddWordDialog.TYPE);
|
||||||
intent.putExtra("lang", language);
|
intent.putExtra(AddWordDialog.PARAMETER_LANGUAGE, language);
|
||||||
intent.putExtra("popup_type", PopupDialogActivity.DIALOG_ADD_WORD_INTENT);
|
intent.putExtra(AddWordDialog.PARAMETER_WORD, currentWord);
|
||||||
ims.startActivity(intent);
|
ims.startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -31,8 +33,8 @@ public class UI {
|
||||||
Intent intent = new Intent(ims, PopupDialogActivity.class);
|
Intent intent = new Intent(ims, PopupDialogActivity.class);
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||||
intent.putExtra("lang", language);
|
intent.putExtra(ConfirmDictionaryUpdateDialog.PARAMETER_DIALOG_TYPE, ConfirmDictionaryUpdateDialog.TYPE);
|
||||||
intent.putExtra("popup_type", PopupDialogActivity.DIALOG_CONFIRM_WORDS_UPDATE_INTENT);
|
intent.putExtra(ConfirmDictionaryUpdateDialog.PARAMETER_LANGUAGE, language);
|
||||||
ims.startActivity(intent);
|
ims.startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ import android.content.Intent;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import io.github.sspanak.tt9.util.ConsumerCompat;
|
|
||||||
import io.github.sspanak.tt9.R;
|
import io.github.sspanak.tt9.R;
|
||||||
import io.github.sspanak.tt9.db.WordStoreAsync;
|
import io.github.sspanak.tt9.db.WordStoreAsync;
|
||||||
import io.github.sspanak.tt9.languages.Language;
|
import io.github.sspanak.tt9.languages.Language;
|
||||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
import io.github.sspanak.tt9.languages.LanguageCollection;
|
||||||
|
import io.github.sspanak.tt9.util.ConsumerCompat;
|
||||||
|
|
||||||
public class AddWordDialog extends PopupDialog {
|
public class AddWordDialog extends PopupDialog {
|
||||||
public static final int CODE_SUCCESS = 0;
|
public static final int CODE_SUCCESS = 0;
|
||||||
|
|
@ -18,6 +18,10 @@ public class AddWordDialog extends PopupDialog {
|
||||||
public static final int CODE_WORD_EXISTS = 3;
|
public static final int CODE_WORD_EXISTS = 3;
|
||||||
public static final int CODE_GENERAL_ERROR = 666;
|
public static final int CODE_GENERAL_ERROR = 666;
|
||||||
|
|
||||||
|
public static final String TYPE = "tt9.popup_dialog.add_word";
|
||||||
|
public static final String PARAMETER_LANGUAGE = "lang";
|
||||||
|
public static final String PARAMETER_WORD = "word";
|
||||||
|
|
||||||
private Language language;
|
private Language language;
|
||||||
private String word;
|
private String word;
|
||||||
|
|
||||||
|
|
@ -27,30 +31,32 @@ public class AddWordDialog extends PopupDialog {
|
||||||
|
|
||||||
title = context.getResources().getString(R.string.add_word_title);
|
title = context.getResources().getString(R.string.add_word_title);
|
||||||
OKLabel = context.getResources().getString(R.string.add_word_add);
|
OKLabel = context.getResources().getString(R.string.add_word_add);
|
||||||
|
parseIntent(context, intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void parseIntent(@NonNull Context context, @NonNull Intent intent) {
|
||||||
|
word = intent.getStringExtra(PARAMETER_WORD);
|
||||||
|
|
||||||
|
int languageId = intent.getIntExtra(PARAMETER_LANGUAGE, -1);
|
||||||
|
language = LanguageCollection.getLanguage(context, languageId);
|
||||||
|
|
||||||
if (language == null) {
|
if (language == null) {
|
||||||
message = context.getString(R.string.add_word_invalid_language);
|
message = context.getString(R.string.add_word_invalid_language_x, languageId);
|
||||||
} else {
|
} else {
|
||||||
message = context.getString(R.string.add_word_confirm, word, language.getName());
|
message = context.getString(R.string.add_word_confirm, word, language.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void parseIntent(Context context, Intent intent) {
|
|
||||||
word = intent.getStringExtra("word");
|
|
||||||
language = LanguageCollection.getLanguage(context, intent.getIntExtra("lang", -1));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
private void onOK() {
|
||||||
public void render() {
|
if (language != null) {
|
||||||
if (message == null || word == null || word.isEmpty()) {
|
WordStoreAsync.put(this::onAddingFinished, language, word);
|
||||||
if (activityFinisher != null) activityFinisher.accept("");
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Runnable OKAction = language == null ? null : () -> WordStoreAsync.put(this::onAddedWord, language, word);
|
|
||||||
super.render(OKAction);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onAddedWord(int statusCode) {
|
|
||||||
|
private void onAddingFinished(int statusCode) {
|
||||||
String response;
|
String response;
|
||||||
switch (statusCode) {
|
switch (statusCode) {
|
||||||
case CODE_SUCCESS:
|
case CODE_SUCCESS:
|
||||||
|
|
@ -76,4 +82,14 @@ public class AddWordDialog extends PopupDialog {
|
||||||
|
|
||||||
activityFinisher.accept(response);
|
activityFinisher.accept(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void render() {
|
||||||
|
if (message == null || word == null || word.isEmpty()) {
|
||||||
|
close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
super.render(this::onOK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,34 +5,48 @@ import android.content.Intent;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import io.github.sspanak.tt9.util.ConsumerCompat;
|
|
||||||
import io.github.sspanak.tt9.R;
|
import io.github.sspanak.tt9.R;
|
||||||
import io.github.sspanak.tt9.db.DictionaryLoader;
|
import io.github.sspanak.tt9.db.DictionaryLoader;
|
||||||
import io.github.sspanak.tt9.languages.Language;
|
import io.github.sspanak.tt9.languages.Language;
|
||||||
import io.github.sspanak.tt9.languages.LanguageCollection;
|
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 ConfirmDictionaryUpdateDialog extends PopupDialog {
|
||||||
|
public static final String TYPE = "tt9.popup_dialog.confirm_words_update";
|
||||||
|
public static final String PARAMETER_LANGUAGE = "lang";
|
||||||
|
|
||||||
private Language language;
|
private Language language;
|
||||||
public ConfirmDictionaryUpdateDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat<String> activityFinisher) {
|
public ConfirmDictionaryUpdateDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat<String> activityFinisher) {
|
||||||
super(context, intent, activityFinisher);
|
super(context, intent, activityFinisher);
|
||||||
|
|
||||||
title = context.getString(R.string.app_name);
|
title = context.getString(R.string.app_name);
|
||||||
OKLabel = context.getString(R.string.dictionary_update_update);
|
OKLabel = context.getString(R.string.dictionary_update_update);
|
||||||
String langName = language != null ? language.getName() : "";
|
parseIntent(context, intent);
|
||||||
message = context.getResources().getString(R.string.dictionary_update_message, langName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void parseIntent(Context context, Intent intent) {
|
protected void parseIntent(@NonNull Context context, @NonNull Intent intent) {
|
||||||
language = LanguageCollection.getLanguage(context, intent.getIntExtra("lang", -1));
|
int languageId = intent.getIntExtra(PARAMETER_LANGUAGE, -1);
|
||||||
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render() {
|
public void render() {
|
||||||
super.render(this::loadDictionary);
|
if (language == null) {
|
||||||
|
close();
|
||||||
|
} else {
|
||||||
|
super.render(this::loadDictionary);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadDictionary() {
|
private void loadDictionary() {
|
||||||
DictionaryLoader.load(context, language);
|
DictionaryLoader.load(context, language);
|
||||||
activityFinisher.accept("");
|
close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,14 @@ import android.content.Intent;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import io.github.sspanak.tt9.util.ConsumerCompat;
|
|
||||||
import io.github.sspanak.tt9.ui.UI;
|
import io.github.sspanak.tt9.ui.UI;
|
||||||
|
import io.github.sspanak.tt9.util.ConsumerCompat;
|
||||||
|
|
||||||
abstract public class PopupDialog {
|
abstract public class PopupDialog {
|
||||||
|
public static final String INTENT_CLOSE = "tt9.popup_dialog.close";
|
||||||
|
public static final String PARAMETER_DIALOG_TYPE = "popup_type";
|
||||||
|
|
||||||
|
|
||||||
protected final Context context;
|
protected final Context context;
|
||||||
protected final ConsumerCompat<String> activityFinisher;
|
protected final ConsumerCompat<String> activityFinisher;
|
||||||
protected String title;
|
protected String title;
|
||||||
|
|
@ -18,13 +22,17 @@ abstract public class PopupDialog {
|
||||||
public PopupDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat<String> activityFinisher) {
|
public PopupDialog(@NonNull Context context, @NonNull Intent intent, ConsumerCompat<String> activityFinisher) {
|
||||||
this.activityFinisher = activityFinisher;
|
this.activityFinisher = activityFinisher;
|
||||||
this.context = context;
|
this.context = context;
|
||||||
parseIntent(context, intent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract protected void parseIntent(Context context, Intent intent);
|
protected void close() {
|
||||||
abstract public void render();
|
if (activityFinisher != null) {
|
||||||
|
activityFinisher.accept("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void render(Runnable OKAction) {
|
protected void render(Runnable OKAction) {
|
||||||
UI.confirm(context, title, message, OKLabel, OKAction, () -> activityFinisher.accept(""));
|
UI.confirm(context, title, message, OKLabel, OKAction, () -> activityFinisher.accept(""));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
abstract public void render();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
<string name="add_word_no_selection">Преместете показалеца върху дума, за да я добавите към речника.</string>
|
<string name="add_word_no_selection">Преместете показалеца върху дума, за да я добавите към речника.</string>
|
||||||
<string name="add_word_blank">Не може да се въведе празна дума.</string>
|
<string name="add_word_blank">Не може да се въведе празна дума.</string>
|
||||||
<string name="add_word_exist">Думата „%1$s“ вече съществува в речника.</string>
|
<string name="add_word_exist">Думата „%1$s“ вече съществува в речника.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Не може да се добави дума. Неразпознат език: \"%1$d\".</string>
|
||||||
<string name="add_word_success">„%1$s“ е добавена.</string>
|
<string name="add_word_success">„%1$s“ е добавена.</string>
|
||||||
<string name="add_word_title">Добавяне на дума</string>
|
<string name="add_word_title">Добавяне на дума</string>
|
||||||
<string name="pref_category_about">За приложението</string>
|
<string name="pref_category_about">За приложението</string>
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
<string name="add_word_no_selection">Bewegen Sie den Cursor innerhalb eines Wortes, um es hinzuzufügen.</string>
|
<string name="add_word_no_selection">Bewegen Sie den Cursor innerhalb eines Wortes, um es hinzuzufügen.</string>
|
||||||
<string name="add_word_blank">Leeres Wort nicht hinzugefügt.</string>
|
<string name="add_word_blank">Leeres Wort nicht hinzugefügt.</string>
|
||||||
<string name="add_word_exist">Das Wort \"%1$s\" ist bereits in Wörterbuch.</string>
|
<string name="add_word_exist">Das Wort \"%1$s\" ist bereits in Wörterbuch.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Wort kann nicht hinzugefügt werden. Unbekannte Sprache: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" hinzugefügt.</string>
|
<string name="add_word_success">\"%1$s\" hinzugefügt.</string>
|
||||||
<string name="add_word_title">Wort hinzufügen</string>
|
<string name="add_word_title">Wort hinzufügen</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<string name="no_language">Sin idioma</string>
|
<string name="no_language">Sin idioma</string>
|
||||||
<string name="error_unexpected">Ocurrió un error inesperado.</string>
|
<string name="error_unexpected">Ocurrió un error inesperado.</string>
|
||||||
<string name="add_word_exist">La palabra \"%1$s\" ya esta en el diccionario.</string>
|
<string name="add_word_exist">La palabra \"%1$s\" ya esta en el diccionario.</string>
|
||||||
|
<string name="add_word_invalid_language_x">No se puede agregar una palabra. Idioma desconocido: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" añadida.</string>
|
<string name="add_word_success">\"%1$s\" añadida.</string>
|
||||||
<string name="add_word_title">Agregar palabra</string>
|
<string name="add_word_title">Agregar palabra</string>
|
||||||
<string name="pref_category_abc_mode">Modo ABC</string>
|
<string name="pref_category_abc_mode">Modo ABC</string>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
<string name="add_word_no_selection">Déplacez le curseur dans un mot pour l\'ajouter.</string>
|
<string name="add_word_no_selection">Déplacez le curseur dans un mot pour l\'ajouter.</string>
|
||||||
<string name="add_word_blank">Mot vide non ajouté.</string>
|
<string name="add_word_blank">Mot vide non ajouté.</string>
|
||||||
<string name="add_word_exist">Le mot «%1$s» est déjà dans le dictionnaire.</string>
|
<string name="add_word_exist">Le mot «%1$s» est déjà dans le dictionnaire.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Impossible d\'ajouter un mot. Langue inconnue : « %1$d ».</string>
|
||||||
<string name="add_word_success">« %1$s » est ajouté</string>
|
<string name="add_word_success">« %1$s » est ajouté</string>
|
||||||
<string name="add_word_title">Ajouter un mot</string>
|
<string name="add_word_title">Ajouter un mot</string>
|
||||||
<string name="pref_category_about">À propos de l\'application</string>
|
<string name="pref_category_about">À propos de l\'application</string>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<string name="add_word_no_selection">Sposta il cursore dentro un parola per aggiungerla.</string>
|
<string name="add_word_no_selection">Sposta il cursore dentro un parola per aggiungerla.</string>
|
||||||
<string name="add_word_blank">Nessuna parola da aggiungere.</string>
|
<string name="add_word_blank">Nessuna parola da aggiungere.</string>
|
||||||
<string name="add_word_exist">Parola “%1$s” già nel dizionario.</string>
|
<string name="add_word_exist">Parola “%1$s” già nel dizionario.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Impossibile aggiungere una parola. Lingua sconosciuta: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" aggiunta.</string>
|
<string name="add_word_success">\"%1$s\" aggiunta.</string>
|
||||||
<string name="add_word_title">Aggiungi parola</string>
|
<string name="add_word_title">Aggiungi parola</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<string name="add_word_no_selection">הזיזו את הסמן בתוך מילה כדי להוסיף אותה.</string>
|
<string name="add_word_no_selection">הזיזו את הסמן בתוך מילה כדי להוסיף אותה.</string>
|
||||||
<string name="add_word_blank">מילה ריקה לא נוספה</string>
|
<string name="add_word_blank">מילה ריקה לא נוספה</string>
|
||||||
<string name="add_word_exist">המילה \"%1$s\" כבר קיימת במילון.</string>
|
<string name="add_word_exist">המילה \"%1$s\" כבר קיימת במילון.</string>
|
||||||
|
<string name="add_word_invalid_language_x">לא ניתן להוסיף מילה. שפה לא ידועה: \"%1$d\".</string>
|
||||||
<string name="add_word_success">%1$s נוסף.</string>
|
<string name="add_word_success">%1$s נוסף.</string>
|
||||||
<string name="add_word_title">הוסף מילה</string>
|
<string name="add_word_title">הוסף מילה</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
<string name="add_word_no_selection">Perkelkite žymeklį prie žodžio kurį norite pridėti.</string>
|
<string name="add_word_no_selection">Perkelkite žymeklį prie žodžio kurį norite pridėti.</string>
|
||||||
<string name="add_word_blank">Negalima pridėti tuščio žodžio.</string>
|
<string name="add_word_blank">Negalima pridėti tuščio žodžio.</string>
|
||||||
<string name="add_word_exist">Žodis \"%1$s\" jau yra žodyne.</string>
|
<string name="add_word_exist">Žodis \"%1$s\" jau yra žodyne.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Negalima pridėti žodžio. Nežinoma kalba: \"%1$d\".</string>
|
||||||
<string name="add_word_success">Žodis \"%1$s\" pridėtas.</string>
|
<string name="add_word_success">Žodis \"%1$s\" pridėtas.</string>
|
||||||
<string name="add_word_title">Pridėti žodį</string>
|
<string name="add_word_title">Pridėti žodį</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
<string name="add_word_no_selection">Verplaats de cursor binnen een woord om het toe te voegen.</string>
|
<string name="add_word_no_selection">Verplaats de cursor binnen een woord om het toe te voegen.</string>
|
||||||
<string name="add_word_blank">Leeg woord niet toegevoegd.</string>
|
<string name="add_word_blank">Leeg woord niet toegevoegd.</string>
|
||||||
<string name="add_word_exist">Woord \"%1$s\" staat al in het woordenboek.</string>
|
<string name="add_word_exist">Woord \"%1$s\" staat al in het woordenboek.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Kan geen woord toevoegen. Onbekende taal: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" toegevoegd.</string>
|
<string name="add_word_success">\"%1$s\" toegevoegd.</string>
|
||||||
<string name="add_word_title">Woord toevoegen</string>
|
<string name="add_word_title">Woord toevoegen</string>
|
||||||
<string name="pref_category_about">Over de applicatie</string>
|
<string name="pref_category_about">Over de applicatie</string>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<string name="add_word_no_selection">Mova o cursor dentro de uma palavra para adicioná-la.</string>
|
<string name="add_word_no_selection">Mova o cursor dentro de uma palavra para adicioná-la.</string>
|
||||||
<string name="add_word_blank">Palavra em branco, impossível adicionar.</string>
|
<string name="add_word_blank">Palavra em branco, impossível adicionar.</string>
|
||||||
<string name="add_word_exist">Palavra \"%1$s\" já está registrada.</string>
|
<string name="add_word_exist">Palavra \"%1$s\" já está registrada.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Não é possível adicionar uma palavra. Idioma desconhecido: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" adicionada.</string>
|
<string name="add_word_success">\"%1$s\" adicionada.</string>
|
||||||
<string name="add_word_title">Adicionar Palavra</string>
|
<string name="add_word_title">Adicionar Palavra</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
<string name="add_word_no_selection">Переместите курсор внутрь слова, чтобы добавить его.</string>
|
<string name="add_word_no_selection">Переместите курсор внутрь слова, чтобы добавить его.</string>
|
||||||
<string name="add_word_blank">Невозможно добавить слово.</string>
|
<string name="add_word_blank">Невозможно добавить слово.</string>
|
||||||
<string name="add_word_exist">Слово «%1$s» уже есть в словаре.</string>
|
<string name="add_word_exist">Слово «%1$s» уже есть в словаре.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Невозможно добавить слово. Неизвестный язык: \"%1$d\".</string>
|
||||||
<string name="add_word_success">« %1$s » добавлено</string>
|
<string name="add_word_success">« %1$s » добавлено</string>
|
||||||
<string name="add_word_title">Добавить слово</string>
|
<string name="add_word_title">Добавить слово</string>
|
||||||
<string name="pref_category_about">О приложении</string>
|
<string name="pref_category_about">О приложении</string>
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
<string name="add_word_no_selection">Перемістіть курсор у слово, щоб додати його.</string>
|
<string name="add_word_no_selection">Перемістіть курсор у слово, щоб додати його.</string>
|
||||||
<string name="add_word_blank">Пусте слово не додано.</string>
|
<string name="add_word_blank">Пусте слово не додано.</string>
|
||||||
<string name="add_word_exist">Слово \"%1$s\" вже існує у словнику.</string>
|
<string name="add_word_exist">Слово \"%1$s\" вже існує у словнику.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Не вдається додати слово. Невідома мова: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" додано.</string>
|
<string name="add_word_success">\"%1$s\" додано.</string>
|
||||||
<string name="add_word_title">Додати слово</string>
|
<string name="add_word_title">Додати слово</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
<string name="add_word_blank">Blank word not added.</string>
|
<string name="add_word_blank">Blank word not added.</string>
|
||||||
<string name="add_word_exist">Word \"%1$s\" is already in the dictionary.</string>
|
<string name="add_word_exist">Word \"%1$s\" is already in the dictionary.</string>
|
||||||
<string name="add_word_invalid_language" translatable="false">Cannot add a word when no language is selected.</string>
|
<string name="add_word_invalid_language" translatable="false">Cannot add a word when no language is selected.</string>
|
||||||
|
<string name="add_word_invalid_language_x">Cannot add a word. Unknown language: \"%1$d\".</string>
|
||||||
<string name="add_word_success">\"%1$s\" added.</string>
|
<string name="add_word_success">\"%1$s\" added.</string>
|
||||||
<string name="add_word_title">Add Word</string>
|
<string name="add_word_title">Add Word</string>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue