1
0
Fork 0

added 'stealth' mode

This commit is contained in:
sspanak 2024-03-30 14:43:42 +02:00 committed by Dimo Karaivanov
parent 35d0f0bf32
commit 680b22eda1
27 changed files with 266 additions and 80 deletions

View file

@ -36,7 +36,7 @@ public abstract class HotkeyHandler extends TypingHandler {
@Override public boolean onBack() { @Override public boolean onBack() {
return settings.getShowSoftNumpad(); return settings.isMainLayoutNumpad();
} }
@ -222,7 +222,7 @@ public abstract class HotkeyHandler extends TypingHandler {
setStatusText(mInputMode.toString()); setStatusText(mInputMode.toString());
renderMainView(); renderMainView();
forceShowWindowIfHidden(); forceShowWindowIfHidden();
if (!suggestionOps.isEmpty()) { if (!suggestionOps.isEmpty() || settings.isMainLayoutStealth()) {
UI.toastShortSingle(this, mLanguage.getClass().getSimpleName(), mLanguage.getName()); UI.toastShortSingle(this, mLanguage.getClass().getSimpleName(), mLanguage.getName());
} }

View file

@ -56,7 +56,7 @@ public class Hotkeys {
if ( if (
KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_CLEAR) KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_CLEAR)
|| KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_DEL) || KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_DEL)
|| settings.getShowSoftNumpad() || settings.isMainLayoutNumpad()
) { ) {
backspace = 0; backspace = 0;
} }

View file

@ -19,5 +19,10 @@ public class AppearanceScreen extends BaseScreenFragment {
.populate() .populate()
.enableClickHandler() .enableClickHandler()
.preview(); .preview();
(new ItemSelectLayoutType(activity, findPreference(ItemSelectLayoutType.NAME)))
.populate()
.enableClickHandler()
.preview();
} }
} }

View file

@ -0,0 +1,35 @@
package io.github.sspanak.tt9.preferences.screens.appearance;
import android.content.Context;
import androidx.preference.DropDownPreference;
import java.util.LinkedHashMap;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.preferences.items.ItemDropDown;
import io.github.sspanak.tt9.preferences.settings.SettingsUI;
public class ItemSelectLayoutType extends ItemDropDown {
public static final String NAME = "pref_layout_type";
private final Context context;
public ItemSelectLayoutType(Context context, DropDownPreference item) {
super(item);
this.context = context;
}
public ItemDropDown populate() {
LinkedHashMap<Integer, String> items = new LinkedHashMap<>();
items.put(SettingsUI.LAYOUT_STEALTH, context.getString(R.string.pref_layout_stealth));
items.put(SettingsUI.LAYOUT_TRAY, context.getString(R.string.pref_layout_tray));
items.put(SettingsUI.LAYOUT_SMALL, context.getString(R.string.pref_layout_small));
items.put(SettingsUI.LAYOUT_NUMPAD, context.getString(R.string.pref_layout_numpad));
super.populate(items);
return this;
}
}

View file

@ -5,7 +5,12 @@ import android.content.res.Configuration;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
class SettingsUI extends SettingsTyping { public class SettingsUI extends SettingsTyping {
public final static int LAYOUT_STEALTH = 0;
public final static int LAYOUT_TRAY = 1;
public final static int LAYOUT_SMALL = 2;
public final static int LAYOUT_NUMPAD = 3;
SettingsUI(Context context) { super(context); } SettingsUI(Context context) { super(context); }
public boolean getDarkTheme() { public boolean getDarkTheme() {
@ -25,7 +30,16 @@ class SettingsUI extends SettingsTyping {
} }
} }
public boolean getShowSoftKeys() { return prefs.getBoolean("pref_show_soft_keys", true); } public int getMainViewLayout() {
try {
return Integer.parseInt(prefs.getString("pref_layout_type", String.valueOf(LAYOUT_SMALL)));
} catch(NumberFormatException e) {
return LAYOUT_SMALL;
}
}
public boolean getShowSoftNumpad() { return getShowSoftKeys() && prefs.getBoolean("pref_show_soft_numpad", false); } public boolean isMainLayoutNumpad() { return getMainViewLayout() == LAYOUT_NUMPAD; }
public boolean isMainLayoutTray() { return getMainViewLayout() == LAYOUT_TRAY; }
public boolean isMainLayoutSmall() { return getMainViewLayout() == LAYOUT_SMALL; }
public boolean isMainLayoutStealth() { return getMainViewLayout() == LAYOUT_STEALTH; }
} }

View file

@ -3,6 +3,8 @@ package io.github.sspanak.tt9.ui.main;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.NonNull;
import java.util.ArrayList; import java.util.ArrayList;
import io.github.sspanak.tt9.ime.TraditionalT9; import io.github.sspanak.tt9.ime.TraditionalT9;
@ -13,7 +15,7 @@ abstract class BaseMainLayout {
private final int xml; private final int xml;
protected View view = null; protected View view = null;
protected ArrayList<SoftKey> keys = new ArrayList<>(); @NonNull protected ArrayList<SoftKey> keys = new ArrayList<>();
BaseMainLayout(TraditionalT9 tt9, int xml) { BaseMainLayout(TraditionalT9 tt9, int xml) {
this.tt9 = tt9; this.tt9 = tt9;
@ -56,6 +58,7 @@ abstract class BaseMainLayout {
return view; return view;
} }
public void enableClickHandlers() { public void enableClickHandlers() {
for (SoftKey key : getKeys()) { for (SoftKey key : getKeys()) {
key.setTT9(tt9); key.setTT9(tt9);
@ -63,7 +66,7 @@ abstract class BaseMainLayout {
} }
@NonNull
protected ArrayList<SoftKey> getKeysFromContainer(ViewGroup container) { protected ArrayList<SoftKey> getKeysFromContainer(ViewGroup container) {
ArrayList<SoftKey> keyList = new ArrayList<>(); ArrayList<SoftKey> keyList = new ArrayList<>();
final int childrenCount = container != null ? container.getChildCount() : 0; final int childrenCount = container != null ? container.getChildCount() : 0;

View file

@ -58,7 +58,7 @@ class MainLayoutNumpad extends BaseMainLayout {
@Override @Override
protected ArrayList<SoftKey> getKeys() { protected ArrayList<SoftKey> getKeys() {
if (keys != null && !keys.isEmpty()) { if (!keys.isEmpty()) {
return keys; return keys;
} }

View file

@ -11,35 +11,25 @@ import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.ime.TraditionalT9; import io.github.sspanak.tt9.ime.TraditionalT9;
import io.github.sspanak.tt9.ui.main.keys.SoftKey; import io.github.sspanak.tt9.ui.main.keys.SoftKey;
class MainLayoutSmall extends BaseMainLayout { class MainLayoutSmall extends MainLayoutTray {
MainLayoutSmall(TraditionalT9 tt9) { MainLayoutSmall(TraditionalT9 tt9) {
super(tt9, R.layout.main_small); super(tt9);
} }
private void setSoftKeysVisibility() { @Override
protected void setSoftKeysVisibility() {
if (view != null) { if (view != null) {
view.findViewById(R.id.main_soft_keys).setVisibility(tt9.getSettings().getShowSoftKeys() ? LinearLayout.VISIBLE : LinearLayout.GONE); view.findViewById(R.id.main_soft_keys).setVisibility(LinearLayout.VISIBLE);
} }
} }
@Override @Override
public void render() { public void setDarkTheme(boolean darkEnabled) {
getView();
enableClickHandlers();
setSoftKeysVisibility();
}
@Override
final public void setDarkTheme(boolean darkEnabled) {
if (view == null) { if (view == null) {
return; return;
} }
// background super.setDarkTheme(darkEnabled);
view.findViewById(R.id.main_soft_keys).setBackground(ContextCompat.getDrawable(
view.getContext(),
darkEnabled ? R.drawable.button_background_dark : R.drawable.button_background
));
// text // text
for (SoftKey key : getKeys()) { for (SoftKey key : getKeys()) {
@ -56,10 +46,9 @@ class MainLayoutSmall extends BaseMainLayout {
view.findViewById(R.id.main_separator_right).setBackground(separatorColor); view.findViewById(R.id.main_separator_right).setBackground(separatorColor);
} }
@Override @Override
protected ArrayList<SoftKey> getKeys() { protected ArrayList<SoftKey> getKeys() {
if (view != null && (keys == null || keys.isEmpty())) { if (view != null && keys.isEmpty()) {
keys = getKeysFromContainer(view.findViewById(R.id.main_soft_keys)); keys = getKeysFromContainer(view.findViewById(R.id.main_soft_keys));
} }
return keys; return keys;

View file

@ -0,0 +1,15 @@
package io.github.sspanak.tt9.ui.main;
import java.util.ArrayList;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.ime.TraditionalT9;
import io.github.sspanak.tt9.ui.main.keys.SoftKey;
class MainLayoutStealth extends BaseMainLayout {
MainLayoutStealth(TraditionalT9 tt9) { super(tt9, R.layout.main_stealth); }
@Override public void render() {}
@Override public void setDarkTheme(boolean y) {}
@Override protected ArrayList<SoftKey> getKeys() { return keys; }
}

View file

@ -0,0 +1,48 @@
package io.github.sspanak.tt9.ui.main;
import android.widget.LinearLayout;
import androidx.core.content.ContextCompat;
import java.util.ArrayList;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.ime.TraditionalT9;
import io.github.sspanak.tt9.ui.main.keys.SoftKey;
class MainLayoutTray extends BaseMainLayout {
MainLayoutTray(TraditionalT9 tt9) {
super(tt9, R.layout.main_small);
}
protected void setSoftKeysVisibility() {
if (view != null) {
view.findViewById(R.id.main_soft_keys).setVisibility(LinearLayout.GONE);
}
}
@Override
public void render() {
getView();
enableClickHandlers();
setSoftKeysVisibility();
}
@Override
public void setDarkTheme(boolean darkEnabled) {
if (view == null) {
return;
}
// background
view.findViewById(R.id.main_soft_keys).setBackground(ContextCompat.getDrawable(
view.getContext(),
darkEnabled ? R.drawable.button_background_dark : R.drawable.button_background
));
}
@Override
protected ArrayList<SoftKey> getKeys() {
return keys;
}
}

View file

@ -3,6 +3,7 @@ package io.github.sspanak.tt9.ui.main;
import android.view.View; import android.view.View;
import io.github.sspanak.tt9.ime.TraditionalT9; import io.github.sspanak.tt9.ime.TraditionalT9;
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
public class MainView { public class MainView {
private final TraditionalT9 tt9; private final TraditionalT9 tt9;
@ -14,20 +15,26 @@ public class MainView {
forceCreateView(); forceCreateView();
} }
public boolean createView() { public boolean createView() {
if (tt9.getSettings().getShowSoftNumpad() && !(main instanceof MainLayoutNumpad)) { SettingsStore settings = tt9.getSettings();
main = new MainLayoutNumpad(tt9);
main.render();
return true;
} else if (!tt9.getSettings().getShowSoftNumpad() && !(main instanceof MainLayoutSmall)) {
main = new MainLayoutSmall(tt9);
main.render();
return true;
}
if (settings.isMainLayoutNumpad() && !(main instanceof MainLayoutNumpad)) {
main = new MainLayoutNumpad(tt9);
} else if (settings.isMainLayoutSmall() && (main == null || !main.getClass().equals(MainLayoutSmall.class))) {
main = new MainLayoutSmall(tt9);
} else if (settings.isMainLayoutTray() && (main == null || !main.getClass().equals(MainLayoutTray.class))) {
main = new MainLayoutTray(tt9);
} else if (settings.isMainLayoutStealth() && !(main instanceof MainLayoutStealth)) {
main = new MainLayoutStealth(tt9);
} else {
return false; return false;
} }
main.render();
return true;
}
public void forceCreateView() { public void forceCreateView() {
main = null; main = null;
createView(); createView();

View file

@ -6,8 +6,8 @@ import android.widget.TextView;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import io.github.sspanak.tt9.util.Logger;
import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.util.Logger;
public class StatusBar { public class StatusBar {
private final TextView statusView; private final TextView statusView;
@ -27,7 +27,6 @@ public class StatusBar {
public void setDarkTheme(boolean darkTheme) { public void setDarkTheme(boolean darkTheme) {
if (statusView == null) { if (statusView == null) {
Logger.w("StatusBar.setDarkTheme", "Not changing the theme of a NULL View.");
return; return;
} }
@ -49,6 +48,10 @@ public class StatusBar {
private void render() { private void render() {
if (statusView == null) {
return;
}
if (statusText == null) { if (statusText == null) {
Logger.w("StatusBar.render", "Not displaying NULL status"); Logger.w("StatusBar.render", "Not displaying NULL status");
return; return;

View file

@ -35,18 +35,18 @@ public class SuggestionsBar {
public SuggestionsBar(AbstractHandler tt9, View mainView) { public SuggestionsBar(AbstractHandler tt9, View mainView) {
super();
this.tt9 = tt9; this.tt9 = tt9;
suggestionScrollingDelay = tt9.getSettings().getSuggestionScrollingDelay(); suggestionScrollingDelay = tt9.getSettings().getSuggestionScrollingDelay();
mView = mainView.findViewById(R.id.suggestions_bar); mView = mainView.findViewById(R.id.suggestions_bar);
mView.setLayoutManager(new LinearLayoutManager(mainView.getContext(), RecyclerView.HORIZONTAL,false)); if (mView != null) {
mView.setLayoutManager(new LinearLayoutManager(mainView.getContext(), RecyclerView.HORIZONTAL, false));
initDataAdapter(mainView.getContext()); initDataAdapter(mainView.getContext());
initSeparator(mainView.getContext()); initSeparator(mainView.getContext());
configureAnimation(); configureAnimation();
}
} }
@ -66,7 +66,7 @@ public class SuggestionsBar {
mSuggestionsAdapter = new SuggestionsAdapter( mSuggestionsAdapter = new SuggestionsAdapter(
context, context,
this, this,
tt9.getSettings().getShowSoftNumpad() ? R.layout.suggestion_list_numpad : R.layout.suggestion_list, tt9.getSettings().isMainLayoutNumpad() ? R.layout.suggestion_list_numpad : R.layout.suggestion_list,
R.id.suggestion_list_item, R.id.suggestion_list_item,
suggestions suggestions
); );
@ -125,9 +125,16 @@ public class SuggestionsBar {
selectedIndex = Math.max(initialSel, 0); selectedIndex = Math.max(initialSel, 0);
} }
mSuggestionsAdapter.setSelection(selectedIndex); setSuggestionsOnScreen();
mSuggestionsAdapter.notifyDataSetChanged(); }
mView.scrollToPosition(selectedIndex);
private void setSuggestionsOnScreen() {
if (mView != null) {
mSuggestionsAdapter.setSelection(selectedIndex);
mSuggestionsAdapter.notifyDataSetChanged();
mView.scrollToPosition(selectedIndex);
}
} }
@ -145,6 +152,15 @@ public class SuggestionsBar {
selectedIndex = suggestions.size() - 1; selectedIndex = suggestions.size() - 1;
} }
scrollToSuggestionOnScreen(oldIndex);
}
private void scrollToSuggestionOnScreen(int oldIndex) {
if (mView == null) {
return;
}
mSuggestionsAdapter.setSelection(selectedIndex); mSuggestionsAdapter.setSelection(selectedIndex);
mSuggestionsAdapter.notifyItemChanged(oldIndex); mSuggestionsAdapter.notifyItemChanged(oldIndex);
mSuggestionsAdapter.notifyItemChanged(selectedIndex); mSuggestionsAdapter.notifyItemChanged(selectedIndex);
@ -169,6 +185,10 @@ public class SuggestionsBar {
* <a href="https://stackoverflow.com/questions/72382886/system-applies-night-mode-to-views-added-in-service-type-application-overlay">...</a> * <a href="https://stackoverflow.com/questions/72382886/system-applies-night-mode-to-views-added-in-service-type-application-overlay">...</a>
*/ */
public void setDarkTheme(boolean darkEnabled) { public void setDarkTheme(boolean darkEnabled) {
if (mView == null) {
return;
}
isDarkThemeEnabled = darkEnabled; isDarkThemeEnabled = darkEnabled;
Context context = mView.getContext(); Context context = mView.getContext();
@ -188,6 +208,10 @@ public class SuggestionsBar {
* when there are suggestions. * when there are suggestions.
*/ */
private void setBackground(List<String> newSuggestions) { private void setBackground(List<String> newSuggestions) {
if (mView == null) {
return;
}
int newSuggestionsSize = newSuggestions != null ? newSuggestions.size() : 0; int newSuggestionsSize = newSuggestions != null ? newSuggestions.size() : 0;
if (newSuggestionsSize == 0) { if (newSuggestionsSize == 0) {
mView.setBackgroundColor(Color.TRANSPARENT); mView.setBackgroundColor(Color.TRANSPARENT);

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="1dp"
android:id="@+id/main_soft_keys"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout>

View file

@ -13,6 +13,10 @@
<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>
<string name="pref_layout_numpad">Цифрова клавиатура (БЕТА)</string>
<string name="pref_layout_small">Функционални клавиши</string>
<string name="pref_layout_stealth">Стелт</string>
<string name="pref_layout_tray">Само списък с думи</string>
<string name="pref_help">Помощ</string> <string name="pref_help">Помощ</string>
<string name="pref_dark_theme">Тъмен облик</string> <string name="pref_dark_theme">Тъмен облик</string>
<string name="pref_choose_languages">Езици</string> <string name="pref_choose_languages">Езици</string>
@ -34,7 +38,6 @@
<string name="pref_category_function_keys">Бутони за бърз достъп</string> <string name="pref_category_function_keys">Бутони за бърз достъп</string>
<string name="pref_hack_fb_messenger">Изпращай с „ОК“ във Facebook Messenger</string> <string name="pref_hack_fb_messenger">Изпращай с „ОК“ във Facebook Messenger</string>
<string name="pref_hack_google_chat">Изпращай съобщения с „ОК“ в Google Chat</string> <string name="pref_hack_google_chat">Изпращай съобщения с „ОК“ в Google Chat</string>
<string name="pref_show_soft_function_keys">Бутони на екрана</string>
<string name="key_back">Назад</string> <string name="key_back">Назад</string>
<string name="key_call">Зелена слушалка</string> <string name="key_call">Зелена слушалка</string>
<string name="dictionary_export">Експортирай избраните</string> <string name="dictionary_export">Експортирай избраните</string>
@ -91,7 +94,6 @@
<string name="pref_upside_down_keys_summary">Включете настройката, ако на първият ред са 789, вместо 123.</string> <string name="pref_upside_down_keys_summary">Включете настройката, ако на първият ред са 789, вместо 123.</string>
<string name="dictionary_truncate_unselected">Изтрий неизбраните</string> <string name="dictionary_truncate_unselected">Изтрий неизбраните</string>
<string name="pref_category_setup">Начална настройка</string> <string name="pref_category_setup">Начална настройка</string>
<string name="pref_show_soft_numpad">Цифрова клавиатура на екрана</string>
<string name="key_volume_down">Намаляне на звук</string> <string name="key_volume_down">Намаляне на звук</string>
<string name="key_volume_up">Усилване на звук</string> <string name="key_volume_up">Усилване на звук</string>
<string name="dictionary_truncating">Изтриване…</string> <string name="dictionary_truncating">Изтриване…</string>
@ -106,4 +108,5 @@
<string name="dictionary_export_finished_more_info">Думите са експортирани в: „%1$s“.</string> <string name="dictionary_export_finished_more_info">Думите са експортирани в: „%1$s“.</string>
<string name="dictionary_export_generating_csv">Експортиране на CSV…</string> <string name="dictionary_export_generating_csv">Експортиране на CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Експортиране на CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Експортиране на CSV (%1$s)…</string>
<string name="pref_layout">Екранно оформление</string>
</resources> </resources>

View file

@ -15,6 +15,9 @@
<string name="add_word_title">Wort hinzufügen</string> <string name="add_word_title">Wort hinzufügen</string>
<string name="pref_category_about">Über die Anwendung</string> <string name="pref_category_about">Über die Anwendung</string>
<string name="pref_layout_numpad">Ziffernblock (BETA)</string>
<string name="pref_layout_small">Funktionstasten</string>
<string name="pref_layout_tray">Nur Wortliste</string>
<string name="pref_help">Hilfe</string> <string name="pref_help">Hilfe</string>
<string name="pref_dark_theme">Dunkles Thema</string> <string name="pref_dark_theme">Dunkles Thema</string>
<string name="pref_choose_languages">Sprachen</string> <string name="pref_choose_languages">Sprachen</string>
@ -75,4 +78,5 @@
<string name="dictionary_export_finished_more_info">Wörter exportiert nach: „%1$s“.</string> <string name="dictionary_export_finished_more_info">Wörter exportiert nach: „%1$s“.</string>
<string name="dictionary_export_generating_csv">CSV wird exportiert…</string> <string name="dictionary_export_generating_csv">CSV wird exportiert…</string>
<string name="dictionary_export_generating_csv_for_language">CSV wird exportiert (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">CSV wird exportiert (%1$s)…</string>
<string name="pref_layout">Bildschirmlayouttyp</string>
</resources> </resources>

View file

@ -6,6 +6,9 @@
<string name="add_word_confirm">¿Agregar la palabra \"%1$s\" a %2$s?</string> <string name="add_word_confirm">¿Agregar la palabra \"%1$s\" a %2$s?</string>
<string name="add_word_no_selection">Mueve el cursor dentro de una palabra para añadirla.</string> <string name="add_word_no_selection">Mueve el cursor dentro de una palabra para añadirla.</string>
<string name="add_word_blank">Palabra en blanco no agregada.</string> <string name="add_word_blank">Palabra en blanco no agregada.</string>
<string name="pref_layout_numpad">Teclado numérico (BETA)</string>
<string name="pref_layout_small">Teclas de función</string>
<string name="pref_layout_tray">Solo lista de palabras</string>
<string name="pref_help">Ayuda</string> <string name="pref_help">Ayuda</string>
<string name="completed">Terminado</string> <string name="completed">Terminado</string>
<string name="no_language">Sin idioma</string> <string name="no_language">Sin idioma</string>
@ -48,7 +51,6 @@
<string name="pref_auto_space">Espacio automático</string> <string name="pref_auto_space">Espacio automático</string>
<string name="pref_auto_space_summary">Insertar un espacio automático después de palabras y signos de puntuación.</string> <string name="pref_auto_space_summary">Insertar un espacio automático después de palabras y signos de puntuación.</string>
<string name="pref_double_zero_char">Carácter cuando se presiona \"0\" dos veces</string> <string name="pref_double_zero_char">Carácter cuando se presiona \"0\" dos veces</string>
<string name="pref_show_soft_function_keys">Teclado en pantalla</string>
<string name="dictionary_load_bad_char">Error al cargar. Palabra inválida \"%1$s\" en la línea %2$d del idioma \"%3$s\".</string> <string name="dictionary_load_bad_char">Error al cargar. Palabra inválida \"%1$s\" en la línea %2$d del idioma \"%3$s\".</string>
<string name="dictionary_load_error">Error al cargar el diccionario para el idioma \"%1$s\" (%2$s).</string> <string name="dictionary_load_error">Error al cargar el diccionario para el idioma \"%1$s\" (%2$s).</string>
<string name="dictionary_load_cancelled">Carga del diccionario cancelada.</string> <string name="dictionary_load_cancelled">Carga del diccionario cancelada.</string>
@ -56,7 +58,6 @@
<string name="pref_upside_down_keys">Orden de teclas inverso</string> <string name="pref_upside_down_keys">Orden de teclas inverso</string>
<string name="pref_upside_down_keys_summary">Habilite la configuración si hay 789 en la primera fila, en lugar de 123.</string> <string name="pref_upside_down_keys_summary">Habilite la configuración si hay 789 en la primera fila, en lugar de 123.</string>
<string name="pref_category_setup">Configuración inicial</string> <string name="pref_category_setup">Configuración inicial</string>
<string name="pref_show_soft_numpad">Teclado numérico en pantalla</string>
<string name="error">Error</string> <string name="error">Error</string>
<string name="function_change_keyboard_key">Cambiar el teclado</string> <string name="function_change_keyboard_key">Cambiar el teclado</string>
<string name="function_filter_clear_key">Limpiar el filtro</string> <string name="function_filter_clear_key">Limpiar el filtro</string>
@ -104,4 +105,5 @@
<string name="dictionary_export_finished_more_info">Palabras exportadas a: \"%1$s\".</string> <string name="dictionary_export_finished_more_info">Palabras exportadas a: \"%1$s\".</string>
<string name="dictionary_export_generating_csv">Exportando CSV…</string> <string name="dictionary_export_generating_csv">Exportando CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Exportando CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Exportando CSV (%1$s)…</string>
<string name="pref_layout">Tipo de diseño en pantalla</string>
</resources> </resources>

View file

@ -13,6 +13,10 @@
<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>
<string name="pref_layout_numpad">Pavé numérique (BETA)</string>
<string name="pref_layout_small">Touches de fonction</string>
<string name="pref_layout_stealth">Furtivité</string>
<string name="pref_layout_tray">Seulement liste de mots</string>
<string name="pref_help">Aide</string> <string name="pref_help">Aide</string>
<string name="pref_dark_theme">Thème sombre</string> <string name="pref_dark_theme">Thème sombre</string>
<string name="pref_choose_languages">Langues</string> <string name="pref_choose_languages">Langues</string>
@ -34,7 +38,6 @@
<string name="dictionary_truncated">Le dictionaire est supprimé avec succès.</string> <string name="dictionary_truncated">Le dictionaire est supprimé avec succès.</string>
<string name="pref_hack_fb_messenger">Envoyer avec «OK» dans Facebook Messenger</string> <string name="pref_hack_fb_messenger">Envoyer avec «OK» dans Facebook Messenger</string>
<string name="pref_hack_google_chat">Envoyer des messages avec «OK» dans Google Chat</string> <string name="pref_hack_google_chat">Envoyer des messages avec «OK» dans Google Chat</string>
<string name="pref_show_soft_function_keys">Boutons à l\'écran</string>
<string name="dictionary_loading_indeterminate">Chargement du dictionnaire</string> <string name="dictionary_loading_indeterminate">Chargement du dictionnaire</string>
<string name="dictionary_load_cancelled">Chargement est annulé.</string> <string name="dictionary_load_cancelled">Chargement est annulé.</string>
<string name="pref_category_predictive_mode">Saisie intuitive</string> <string name="pref_category_predictive_mode">Saisie intuitive</string>
@ -70,7 +73,6 @@
<string name="pref_upside_down_keys_summary">Activez le paramètre s\'il y a 789 sur le premier rang, au lieu de 123.</string> <string name="pref_upside_down_keys_summary">Activez le paramètre s\'il y a 789 sur le premier rang, au lieu de 123.</string>
<string name="dictionary_truncate_unselected">Supprimer les non sélectionnés</string> <string name="dictionary_truncate_unselected">Supprimer les non sélectionnés</string>
<string name="pref_category_setup">Configuration initiale</string> <string name="pref_category_setup">Configuration initiale</string>
<string name="pref_show_soft_numpad">Pavé numérique à l\'écran</string>
<string name="dictionary_truncating">Suppression…</string> <string name="dictionary_truncating">Suppression…</string>
<string name="error">Erreur</string> <string name="error">Erreur</string>
<string name="pref_dark_theme_yes">Oui</string> <string name="pref_dark_theme_yes">Oui</string>
@ -100,4 +102,5 @@
<string name="dictionary_export_finished_more_info">Mots exportés vers : «%1$s».</string> <string name="dictionary_export_finished_more_info">Mots exportés vers : «%1$s».</string>
<string name="dictionary_export_generating_csv">Exportation CSV en cours…</string> <string name="dictionary_export_generating_csv">Exportation CSV en cours…</string>
<string name="dictionary_export_generating_csv_for_language">Exportation CSV en cours (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Exportation CSV en cours (%1$s)…</string>
<string name="pref_layout">Mise en page</string>
</resources> </resources>

View file

@ -16,6 +16,9 @@
<string name="add_word_title">Aggiungi parola</string> <string name="add_word_title">Aggiungi parola</string>
<string name="pref_category_about">Sull\'applicazione</string> <string name="pref_category_about">Sull\'applicazione</string>
<string name="pref_layout_numpad">Tastierino numerico (BETA)</string>
<string name="pref_layout_small">Tasti di funzione</string>
<string name="pref_layout_tray">Solo elenco delle parole</string>
<string name="pref_help">Aiuto</string> <string name="pref_help">Aiuto</string>
<string name="pref_dark_theme">Tema scuro</string> <string name="pref_dark_theme">Tema scuro</string>
<string name="pref_choose_languages">Lingue</string> <string name="pref_choose_languages">Lingue</string>
@ -78,5 +81,6 @@
<string name="dictionary_export_finished_more_info">Parole esportate su: \"%1$s\".</string> <string name="dictionary_export_finished_more_info">Parole esportate su: \"%1$s\".</string>
<string name="dictionary_export_generating_csv">CSV in corso…</string> <string name="dictionary_export_generating_csv">CSV in corso…</string>
<string name="dictionary_export_generating_csv_for_language">CSV in corso (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">CSV in corso (%1$s)…</string>
<string name="pref_layout">Tipo di layout sullo schermo</string>
</resources> </resources>

View file

@ -31,7 +31,9 @@
<string name="pref_choose_languages">שפות</string> <string name="pref_choose_languages">שפות</string>
<string name="pref_dark_theme">ערכת נושא שחורה</string> <string name="pref_dark_theme">ערכת נושא שחורה</string>
<string name="pref_double_zero_char">תו ללחיצה מרובה על מקש 0</string> <string name="pref_double_zero_char">תו ללחיצה מרובה על מקש 0</string>
<string name="pref_show_soft_function_keys">הצג לחצנים על המסך</string> <string name="pref_layout_numpad">לוח מספרים (BETA)</string>
<string name="pref_layout_small">מקשי פונקציה</string>
<string name="pref_layout_tray">רשימת מילים בלבד</string>
<string name="pref_help">עזרה</string> <string name="pref_help">עזרה</string>
<string name="dictionary_cancel_load">ביטול טעינה</string> <string name="dictionary_cancel_load">ביטול טעינה</string>
@ -99,4 +101,5 @@
<string name="dictionary_export_finished_more_info">המילים יוצאות ל: \"%1$s\".</string> <string name="dictionary_export_finished_more_info">המילים יוצאות ל: \"%1$s\".</string>
<string name="dictionary_export_generating_csv">מייצא CSV…</string> <string name="dictionary_export_generating_csv">מייצא CSV…</string>
<string name="dictionary_export_generating_csv_for_language">מייצא CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">מייצא CSV (%1$s)…</string>
<string name="pref_layout">סוג הפריסה במסך</string>
</resources> </resources>

View file

@ -41,8 +41,9 @@
<string name="pref_dark_theme_auto">Automatiškai</string> <string name="pref_dark_theme_auto">Automatiškai</string>
<string name="pref_double_zero_char">Įterpiamas simbolis, kai du kartus paspaudžiamas \"0\" mygtukas</string> <string name="pref_double_zero_char">Įterpiamas simbolis, kai du kartus paspaudžiamas \"0\" mygtukas</string>
<string name="pref_hack_fb_messenger">Siųskite pranešimus „Messenger“ programėlėje naudodami „OK“</string> <string name="pref_hack_fb_messenger">Siųskite pranešimus „Messenger“ programėlėje naudodami „OK“</string>
<string name="pref_show_soft_function_keys">Rodyti ekrane pagr. mygtukus</string> <string name="pref_layout_numpad">Skaičių klaviatūra (BETA)</string>
<string name="pref_show_soft_numpad">Rodyti ekrane klaviatūrą</string> <string name="pref_layout_small">Funkcijos klavišai</string>
<string name="pref_layout_tray">Tik žodžių sąrašas</string>
<string name="pref_help">Pagalba</string> <string name="pref_help">Pagalba</string>
<string name="pref_upside_down_keys">Atvirkštinė klavišų tvarka</string> <string name="pref_upside_down_keys">Atvirkštinė klavišų tvarka</string>
<string name="pref_upside_down_keys_summary">Įjunkite šį nustatymą jei pirmoje eilutėje turite 789, o ne 123.</string> <string name="pref_upside_down_keys_summary">Įjunkite šį nustatymą jei pirmoje eilutėje turite 789, o ne 123.</string>
@ -115,4 +116,5 @@
<string name="dictionary_update_update">Įkelti</string> <string name="dictionary_update_update">Įkelti</string>
<string name="donate_title">Paaukoti</string> <string name="donate_title">Paaukoti</string>
<string name="donate_summary">Jei jums patinka %1$s, galite paremti jo plėtrą čia: %2$s.</string> <string name="donate_summary">Jei jums patinka %1$s, galite paremti jo plėtrą čia: %2$s.</string>
<string name="pref_layout">Ekrano maketo tipas</string>
</resources> </resources>

View file

@ -14,6 +14,9 @@
<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>
<string name="pref_layout_numpad">Numeriek toetsenbord (BETA)</string>
<string name="pref_layout_small">Functieknoppen</string>
<string name="pref_layout_tray">Alleen suggestielijst</string>
<string name="pref_help">Helpen</string> <string name="pref_help">Helpen</string>
<string name="pref_dark_theme">Donker thema</string> <string name="pref_dark_theme">Donker thema</string>
<string name="pref_choose_languages">Talen</string> <string name="pref_choose_languages">Talen</string>
@ -73,4 +76,5 @@
<string name="dictionary_export_finished_more_info">Woorden geëxporteerd naar: \"%1$s\".</string> <string name="dictionary_export_finished_more_info">Woorden geëxporteerd naar: \"%1$s\".</string>
<string name="dictionary_export_generating_csv">CSV exporteren…</string> <string name="dictionary_export_generating_csv">CSV exporteren…</string>
<string name="dictionary_export_generating_csv_for_language">CSV exporteren (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">CSV exporteren (%1$s)…</string>
<string name="pref_layout">Schermindelingstype</string>
</resources> </resources>

View file

@ -32,7 +32,9 @@
<string name="pref_choose_languages">Idiomas</string> <string name="pref_choose_languages">Idiomas</string>
<string name="pref_dark_theme">Modo Escuro</string> <string name="pref_dark_theme">Modo Escuro</string>
<string name="pref_double_zero_char">Caractere para toque duplo na tecla 0</string> <string name="pref_double_zero_char">Caractere para toque duplo na tecla 0</string>
<string name="pref_show_soft_function_keys">Mostrar teclas de funções na tela</string> <string name="pref_layout_numpad">Teclado numérico (BETA)</string>
<string name="pref_layout_small">Teclas de função</string>
<string name="pref_layout_tray">Apenas lista de palavras</string>
<string name="pref_help">Ajuda</string> <string name="pref_help">Ajuda</string>
<string name="dictionary_cancel_load">Cancelar Carregamento</string> <string name="dictionary_cancel_load">Cancelar Carregamento</string>
@ -100,4 +102,5 @@
<string name="dictionary_export_finished_more_info">Palavras exportadas para: \"%1$s\".</string> <string name="dictionary_export_finished_more_info">Palavras exportadas para: \"%1$s\".</string>
<string name="dictionary_export_generating_csv">Exportando CSV…</string> <string name="dictionary_export_generating_csv">Exportando CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Exportando CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Exportando CSV (%1$s)…</string>
<string name="pref_layout">Tipo de layout na tela</string>
</resources> </resources>

View file

@ -13,6 +13,10 @@
<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>
<string name="pref_layout_numpad">Цифровая клавиатура (БЕТА)</string>
<string name="pref_layout_small">Функциональные клавиши</string>
<string name="pref_layout_stealth">Стелс</string>
<string name="pref_layout_tray">Только список слов</string>
<string name="pref_help">Помощь</string> <string name="pref_help">Помощь</string>
<string name="pref_dark_theme">Темная тема</string> <string name="pref_dark_theme">Темная тема</string>
<string name="pref_choose_languages">Языки</string> <string name="pref_choose_languages">Языки</string>
@ -47,7 +51,6 @@
<string name="pref_auto_text_case_summary">Автоматически начинать предложение с заглавной буквы.</string> <string name="pref_auto_text_case_summary">Автоматически начинать предложение с заглавной буквы.</string>
<string name="pref_double_zero_char">Символ при двойном нажатии клавиши 0</string> <string name="pref_double_zero_char">Символ при двойном нажатии клавиши 0</string>
<string name="pref_hack_fb_messenger">Отправка с «ОК» в Messenger</string> <string name="pref_hack_fb_messenger">Отправка с «ОК» в Messenger</string>
<string name="pref_show_soft_function_keys">Кнопки на экране</string>
<string name="dictionary_load_bad_char">Не удалось загрузить словарь. Проблема в слове «%1$s» в строке %2$d для языка «%3$s».</string> <string name="dictionary_load_bad_char">Не удалось загрузить словарь. Проблема в слове «%1$s» в строке %2$d для языка «%3$s».</string>
<string name="function_add_word_key">Добавить новое слово</string> <string name="function_add_word_key">Добавить новое слово</string>
<string name="function_backspace_key">Стереть</string> <string name="function_backspace_key">Стереть</string>
@ -73,7 +76,6 @@
<string name="pref_upside_down_keys_summary">Используйте настройку, если в первом ряду 789 вместо 123.</string> <string name="pref_upside_down_keys_summary">Используйте настройку, если в первом ряду 789 вместо 123.</string>
<string name="dictionary_truncate_unselected">Удалить невыбранные</string> <string name="dictionary_truncate_unselected">Удалить невыбранные</string>
<string name="pref_category_setup">Начальная настройка</string> <string name="pref_category_setup">Начальная настройка</string>
<string name="pref_show_soft_numpad">Экранная цифровая клавиатура</string>
<string name="key_volume_down">Уменьшить громкости</string> <string name="key_volume_down">Уменьшить громкости</string>
<string name="key_volume_up">Увеличить громкости</string> <string name="key_volume_up">Увеличить громкости</string>
<string name="dictionary_truncating">Удаление…</string> <string name="dictionary_truncating">Удаление…</string>
@ -106,4 +108,5 @@
<string name="dictionary_export_finished_more_info">Слова экспортированы в: «%1$s».</string> <string name="dictionary_export_finished_more_info">Слова экспортированы в: «%1$s».</string>
<string name="dictionary_export_generating_csv">Экспорт CSV…</string> <string name="dictionary_export_generating_csv">Экспорт CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Экспорт CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Экспорт CSV (%1$s)…</string>
<string name="pref_layout">Тип макета на экране</string>
</resources> </resources>

View file

@ -46,8 +46,10 @@
<string name="pref_hack_fb_messenger">Відправляти повідомлення по натиску \"OK\" в Messenger</string> <string name="pref_hack_fb_messenger">Відправляти повідомлення по натиску \"OK\" в Messenger</string>
<string name="pref_hack_key_pad_debounce_time">Захист від випадкового повторення натискань</string> <string name="pref_hack_key_pad_debounce_time">Захист від випадкового повторення натискань</string>
<string name="pref_hack_key_pad_debounce_off">Вимкнено</string> <string name="pref_hack_key_pad_debounce_off">Вимкнено</string>
<string name="pref_show_soft_function_keys">Показувати кнопки на екрані</string> <string name="pref_layout_numpad">Цифрова клавіатура (БЕТА)</string>
<string name="pref_show_soft_numpad">Показувати цифрову клавіатуру на екрані</string> <string name="pref_layout_small">Функціональні клавіші</string>
<string name="pref_layout_stealth">Стелс</string>
<string name="pref_layout_tray">Лише список слів</string>
<string name="pref_help">Допомога</string> <string name="pref_help">Допомога</string>
<string name="pref_upside_down_keys">Зворотній порядок клавіш</string> <string name="pref_upside_down_keys">Зворотній порядок клавіш</string>
<string name="pref_upside_down_keys_summary">Використовуйте це налаштування, якщо у вас в першому ряді 789 замість 123.</string> <string name="pref_upside_down_keys_summary">Використовуйте це налаштування, якщо у вас в першому ряді 789 замість 123.</string>
@ -117,4 +119,5 @@
<string name="dictionary_export_finished_more_info">Слова експортовані в: \" %1$s \".</string> <string name="dictionary_export_finished_more_info">Слова експортовані в: \" %1$s \".</string>
<string name="dictionary_export_generating_csv">Експорт CSV…</string> <string name="dictionary_export_generating_csv">Експорт CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Експорт CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Експорт CSV (%1$s)…</string>
<string name="pref_layout">Тип розкладки на екрані</string>
</resources> </resources>

View file

@ -52,9 +52,12 @@
<string name="pref_hack_fb_messenger">Send with \"OK\" in Facebook Messenger</string> <string name="pref_hack_fb_messenger">Send with \"OK\" in Facebook Messenger</string>
<string name="pref_hack_key_pad_debounce_time">Accidental Key Repeat Protection</string> <string name="pref_hack_key_pad_debounce_time">Accidental Key Repeat Protection</string>
<string name="pref_hack_key_pad_debounce_off">Off</string> <string name="pref_hack_key_pad_debounce_off">Off</string>
<string name="pref_show_soft_function_keys">Show On-Screen Keys</string> <string name="pref_layout">On-screen Layout Type</string>
<string name="pref_show_soft_numpad">Show On-Screen Numpad</string> <string name="pref_layout_numpad">Virtual numpad (BETA)</string>
<string name="pref_show_soft_numpad_summary" translatable="false">(BETA)</string> <string name="pref_layout_small">Function keys</string>
<string name="pref_layout_stealth">Stealth</string>
<string name="pref_layout_tray">Suggestion list only</string>
<string name="pref_help">Help</string> <string name="pref_help">Help</string>
<string name="pref_upside_down_keys">Reverse Key Order</string> <string name="pref_upside_down_keys">Reverse Key Order</string>
<string name="pref_upside_down_keys_summary">Use this if you have 789 on the first row, instead of 123.</string> <string name="pref_upside_down_keys_summary">Use this if you have 789 on the first row, instead of 123.</string>

View file

@ -8,18 +8,11 @@
app:layout="@layout/pref_dropdown" app:layout="@layout/pref_dropdown"
app:title="@string/pref_dark_theme" /> app:title="@string/pref_dark_theme" />
<SwitchPreferenceCompat <DropDownPreference
app:defaultValue="true" app:defaultValue="2"
app:key="pref_show_soft_keys" app:iconSpaceReserved="false"
app:layout="@layout/pref_switch" app:key="pref_layout_type"
app:title="@string/pref_show_soft_function_keys" /> app:layout="@layout/pref_dropdown"
app:title="@string/pref_layout" />
<SwitchPreferenceCompat
app:defaultValue="false"
app:key="pref_show_soft_numpad"
app:layout="@layout/pref_switch"
app:title="@string/pref_show_soft_numpad"
app:summary="@string/pref_show_soft_numpad_summary"
app:dependency="pref_show_soft_keys" />
</PreferenceScreen> </PreferenceScreen>