Merge "Improve fat finger correction."
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index cbe6406..8d36328 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropsies"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibreer met sleuteldruk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Klank met sleuteldruk"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Opspring by druk van sleutel"</string>
@@ -81,8 +87,7 @@
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<!-- no translation found for label_to_symbol_key (8516904117128967293) -->
<skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Meer"</string>
<string name="label_pause_key" msgid="181098308428035340">"Laat wag"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Wag"</string>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 4d8ace5..16595d2 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"ግቤት አማራጮች"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"በቁልፍመጫንጊዜ አንዝር"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"በቁልፍ መጫን ላይ የሚወጣ ድምፅ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ቁልፍ ጫን ላይ ብቅ ባይ"</string>
@@ -81,8 +87,7 @@
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<!-- no translation found for label_to_symbol_key (8516904117128967293) -->
<skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"ተጨማሪ"</string>
<string name="label_pause_key" msgid="181098308428035340">"ላፍታ አቁም"</string>
<string name="label_wait_key" msgid="6402152600878093134">"ቆይ"</string>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 4330813..46f0c1d 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"لوحة مفاتيح Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"إعدادات لوحة مفاتيح Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"خيارات الإرسال"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"تصحيح Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"اهتزاز عند الضغط على مفتاح"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"صوت عند الضغط على مفتاح"</string>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index cc958af..f2514ec 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Клавиатура на Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Настройки на клавиатурата на Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Опции за въвеждане"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Корекция на Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Да вибрира при натискане на клавиш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натискане на клавиш"</string>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index 2c9fbfb..6daca17 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Teclat Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Configuració del teclat d\'Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opcions d\'entrada"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Correcció d\'Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibra en prémer tecles"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"So en prémer una tecla"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Envia"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Més"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
@@ -133,7 +137,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Micro en tecl. símb."</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. veu desactiv."</string>
<string name="selectInputMethod" msgid="315076553378705821">"Selecciona el mètode d\'entrada"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Configuració de mètodes d\'entrada"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'entrada"</string>
<string name="language_selection_title" msgid="1651299598555326750">"Idiomes d\'entrada"</string>
<string name="select_language" msgid="2573265881207142437">"Selecciona l\'idioma d\'entrada"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"← Torna a tocar per desar"</string>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index 38417a0..9cd237e 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Klávesnice Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Nastavení klávesnice Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávání textu a dat"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Opravy pravopisu Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Při stisku klávesy vibrovat"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk při stisku klávesy"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Odeslat"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Další"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Čekat"</string>
@@ -133,7 +137,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikr. na kláv. se symb."</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup vypnut"</string>
<string name="selectInputMethod" msgid="315076553378705821">"Výběr metody zadávání dat"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Nakonfigurovat metody vstupu"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"Konfigurace metod vstupu"</string>
<string name="language_selection_title" msgid="1651299598555326750">"Vstupní jazyky"</string>
<string name="select_language" msgid="2573265881207142437">"Výběr jazyků vstupu"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"← Dalším dotykem slovo uložíte"</string>
@@ -144,7 +148,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Klepnutím na zadaná slova tato slova opravíte, musí však být viditelné návrhy."</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Motiv klávesnice"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"němčina (QWERTY)"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"angličtina (VB)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"angličtina (Spojené království)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angličtina (USA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim studie použitelnosti"</string>
</resources>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 97dc8a0..85cbb85 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android-tastatur"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Indstillinger for Android-tastatur"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Indstillinger for input"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android-rettelse"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibration ved tastetryk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetryk"</string>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index fdce3bb..7a20f69 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Eingabeoptionen"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrieren b. Tastendruck"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Ton bei Tastendruck"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bei Tastendruck"</string>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index 2629c24..e0c5033 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Πληκτρολόγιο Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Ρυθμίσεις πληκτρολογίου Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Επιλογές εισόδου"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Διόρθωση Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Δόνηση κατά το πάτημα πλήκτρων"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Ήχος κατά το πάτημα πλήκτρων"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Αποστολή"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ΑΒΓ"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">";123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Περισσότερα"</string>
<string name="label_pause_key" msgid="181098308428035340">"Παύση"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Αναμ."</string>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index 7a0449c..f89c293 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android keyboard"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android keyboard settings"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Input options"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android correction"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrate on key-press"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sound on key-press"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Send"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"More"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Wait"</string>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 4eacee9..87a15a1 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Teclado de Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Configuración de teclado de Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opciones de entrada"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Corrector de Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar al pulsar teclas"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sonar al pulsar las teclas"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Más"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index aae38ca..c3b97c7 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Opciones introducción texto"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar al pulsar tecla"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sonido al pulsar tecla"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup al pulsar tecla"</string>
@@ -64,8 +70,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Más"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Espera"</string>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index bacc180..5a085d8 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"صفحه کلید Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"تنظیمات صفحه کلید Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"گزینه های ورودی"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"تصحیح Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"لرزش با فشار کلید"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"صدا با فشار کلید"</string>
@@ -144,7 +149,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"فقط هنگامی که پیشنهادات قابل مشاهده هستند، برای تصحیح کلمات وارد شده آنها را لمس کنید"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"طرح زمینه صفحه کلید"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"آلمانی QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"انگیسی (انگلستان)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"انگیسی (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"انگیسی (US)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"حالت بررسی قابلیت استفاده"</string>
</resources>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index 1b45be7..88a8ea0 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Syöttövalinnat"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Käytä värinää näppäimiä painettaessa"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Toista ääni näppäimiä painettaessa"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ponnahdusikkuna painalluksella"</string>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index e658da0..c35c9bb 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Clavier Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Paramètres du clavier Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Options de saisie"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Correcteur Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer à chaque touche"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Son à chaque touche"</string>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index 55d4b14..4d27d2c 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android tipkovnica"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Postavke tipkovnice za Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opcije ulaza"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Ispravak za Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibracija pri pritisku na tipku"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri pritisku tipke"</string>
@@ -144,7 +149,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Dodirnite unesene riječi da biste ih ispravili samo kada su prijedlozi vidljivi"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"njemački QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"engleski (Velika Britanija)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"engleski (SAD)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"Engleski (UK)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"Engleski (SAD)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način studije upotrebljivosti"</string>
</resources>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index d682b82..afae17d 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android-billentyűzet"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android billentyűzetbeállítások"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Beviteli beállítások"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android korrekció"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Rezgés billentyű megnyomása esetén"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Hangjelzés billentyű megnyomása esetén"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Küldés"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Egyebek"</string>
<string name="label_pause_key" msgid="181098308428035340">"Szün."</string>
<string name="label_wait_key" msgid="6402152600878093134">"Vár"</string>
@@ -144,7 +148,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"A beírt szavakat csak akkor javíthatja ki megérintve, ha látszanak javaslatok"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Billentyűzettéma"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"Német QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"angol (brit)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"angol (amerikai)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"angol (Egyesült Királyság)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"angol (Egyesült Államok)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Használhatósági teszt"</string>
</resources>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index d8bb604..f350686 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Keyboard Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Setelan keyboard Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opsi masukan"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Koreksi android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar jika tombol ditekan"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Berbunyi jika tombol ditekan"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Kirimkan"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Lainnya"</string>
<string name="label_pause_key" msgid="181098308428035340">"Jeda"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Tunggu"</string>
@@ -144,7 +148,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Sentuh kata yang dimasukkan untuk memperbaikinya, hanya saat saran dapat dilihat"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema keyboard"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"QWERTY Jerman"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Inggris (UK)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"Inggris (Inggris)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inggris (AS)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus studi daya guna"</string>
</resources>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index d122f50..f67c3e4 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -24,6 +24,12 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Impostazioni tastiera Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opzioni inserimento"</string>
<string name="spell_checker_service_name" msgid="2003013122022285508">"Correzione Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrazione tasti"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Suono tasti"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup sui tasti"</string>
@@ -63,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Invia"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Altro"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Attesa"</string>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index b490913..31632e9 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"מקלדת Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"הגדרות מקלדת של Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"אפשרויות קלט"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"תיקון Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"רטט עם לחיצה על מקשים"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"צלילים עם לחיצה על מקשים"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"שלח"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"אבג"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"עוד"</string>
<string name="label_pause_key" msgid="181098308428035340">"השהה"</string>
<string name="label_wait_key" msgid="6402152600878093134">"המתן"</string>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index 8ac407a..08b5722 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Androidキーボード"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Androidキーボードの設定"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"入力オプション"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android校正"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"キー操作バイブ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"キー操作音"</string>
@@ -133,7 +138,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"記号キーボードのマイク"</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"音声入力は無効です"</string>
<string name="selectInputMethod" msgid="315076553378705821">"入力方法の選択"</string>
- <string name="configure_input_method" msgid="373356270290742459">"入力方法の設定"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"入力方法を設定"</string>
<string name="language_selection_title" msgid="1651299598555326750">"入力言語"</string>
<string name="select_language" msgid="2573265881207142437">"入力言語の選択"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"←保存するにはもう一度タップ"</string>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index c9000d1..83cf906 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android 키보드"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android 키보드 설정"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"입력 옵션"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android 수정"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"키를 누를 때 진동 발생"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"키를 누를 때 소리 발생"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"전송"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"더보기"</string>
<string name="label_pause_key" msgid="181098308428035340">"일시 중지"</string>
<string name="label_wait_key" msgid="6402152600878093134">"대기"</string>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 4113ef3..24073f7 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"„Android“ klaviatūra"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"„Android“ klaviatūros nustatymai"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Įvesties parinktys"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"„Android“ korekcijos"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibruoti, kai paspaudžiami klavišai"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Klavišo paspaudimo garsas"</string>
@@ -143,8 +148,8 @@
<string name="prefs_enable_recorrection" msgid="4588408906649533582">"Jei norite ištais. žodž., paliesk."</string>
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Jei norite ištaisyti įvestus žodžius, palieskite juos tik tada, kai matomi pasiūlymai"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klaviatūros tema"</string>
- <string name="subtype_de_qwerty" msgid="3358900499589259491">"QWERTY klaviatūra vokiečių k."</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Anglų k. (JK)"</string>
+ <string name="subtype_de_qwerty" msgid="3358900499589259491">"Vokiška QWERTY klaviatūra"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"Anglų (JK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglų k. (JAV)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tinkamumo tyrimo režimas"</string>
</resources>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index e5da1dc..2ec111a 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android tastatūra"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android tastatūras iestatījumi"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Ievades opcijas"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android korekcija"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrēt, nospiežot taustiņu"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Skaņa, nospiežot taustiņu"</string>
diff --git a/java/res/values-ms/strings.xml b/java/res/values-ms/strings.xml
index 63fd655..eef6ef2 100644
--- a/java/res/values-ms/strings.xml
+++ b/java/res/values-ms/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Papan kekunci Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Tetapan papan kekunci Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Pilihan input"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Pembetulan Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar pada tekanan kekunci"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Bunyi pada tekanan kekunci"</string>
@@ -134,7 +139,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mik. pd kekunci smbl"</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"Input suara dilmphkn"</string>
<string name="selectInputMethod" msgid="315076553378705821">"Pilih kaedah input"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan kaedah masukan"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan kaedah input"</string>
<string name="language_selection_title" msgid="1651299598555326750">"Bahasa input"</string>
<string name="select_language" msgid="2573265881207142437">"Pilih bahasa input"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"← Sentuh sekali lagi untuk menyimpan"</string>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index e865822..62140d3 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Skjermtastatur"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Innstillinger for skjermtastatur"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Inndataalternativer"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android-stavekontroll"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer ved tastetrykk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetrykk"</string>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index ebb1c06..26e138d 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android-toetsenbord"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Instellingen voor Android-toetsenbord"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropties"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android-spellingcontrole"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Trillen bij toetsaanslag"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Geluid bij toetsaanslag"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Verzenden"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Meer"</string>
<string name="label_pause_key" msgid="181098308428035340">"Onderbr."</string>
<string name="label_wait_key" msgid="6402152600878093134">"Wacht"</string>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index 1cf1416..72687b5 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Klawiatura Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Ustawienia klawiatury Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opcje wprowadzania"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Korekta Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Wibracja przy naciśnięciu"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Dźwięk przy naciśnięciu"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Wyślij"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Więcej"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pauza"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Czekaj"</string>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 22c99f2..7d1b6d0 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Opções de introdução"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao primir as teclas"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao premir as teclas"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Mostrar popup ao premir tecla"</string>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index 167ae0e..793c78f 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Teclado Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Configurações de teclado Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opções de entrada"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Correção do Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao tocar a tecla"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao tocar a tecla"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Enviar"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Mais"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pausa"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Esp."</string>
@@ -143,7 +147,7 @@
<string name="prefs_enable_recorrection" msgid="4588408906649533582">"Tocar para corrigir"</string>
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Toque nas palavras digitadas para corrigi-las apenas quando as sugestões estiverem visíveis"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema do teclado"</string>
- <string name="subtype_de_qwerty" msgid="3358900499589259491">"Alemão QWERTY"</string>
+ <string name="subtype_de_qwerty" msgid="3358900499589259491">"QWERTY alemão"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"Inglês (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglês (EUA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo de utilização"</string>
diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml
index 359dc7a..9901b9f 100644
--- a/java/res/values-rm/strings.xml
+++ b/java/res/values-rm/strings.xml
@@ -26,6 +26,12 @@
<skip />
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar cun smatgar in buttun"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tun cun smatgar in buttun"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up cun smatgar ina tasta"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index c317cfd..1dd083e 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Tastatură Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Setările tastaturii Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opţiuni de introducere text"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Corecţie Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrare la apăsarea tastei"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sunet la apăsarea tastei"</string>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 68d1ee2..64c2aa6 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Клавиатура Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Настройки клавиатуры Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Параметры ввода"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Исправления Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Виброотклик клавиш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук клавиш"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Отправить"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"АБВ"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Ещё"</string>
<string name="label_pause_key" msgid="181098308428035340">"Приостановить"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Подождите"</string>
@@ -133,7 +137,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Значок на клавиатуре символов"</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голосовой ввод откл."</string>
<string name="selectInputMethod" msgid="315076553378705821">"Выбрать способ ввода"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Настройка раскладки клавиатуры"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"Настройка способов ввода"</string>
<string name="language_selection_title" msgid="1651299598555326750">"Языки ввода"</string>
<string name="select_language" msgid="2573265881207142437">"Выберите языки ввода"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"← Нажмите еще раз, чтобы сохранить"</string>
@@ -144,7 +148,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Нажмите на слово, чтобы исправить его (при наличии подсказок)"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Тема клавиатуры"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"Немецкая клавиатура QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"английский (Великобритания)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"английский (США)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"Английский (Великобритания)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"Английский (США)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим проверки удобства использования"</string>
</resources>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index a8c5700..3e7ed14 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Klávesnica Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Nastavenia klávesnice Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávania textu a údajov"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Opravy pravopisu Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Pri stlačení klávesu vibrovať"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri stlačení klávesu"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Odoslať"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Viac"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pozastaviť"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Čakajte"</string>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index 19bf04c..84498ad 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Tipkovnica Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Nastavitve tipkovnice Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti vnosa"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Popravek za Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibriranje ob pritisku tipke"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvok ob pritisku tipke"</string>
@@ -144,7 +149,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Dotaknite se vnesenih besed in jih popravite, samo ko so predlogi vidni"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"Nemška QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"angl. (bri.)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"angl. (ZDA)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"angleščina (Združeno kraljestvo)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"angleščina (ZDA)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način za preučevanje uporabnosti"</string>
</resources>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index 46daea9..d465aae 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android тастатура"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Подешавања Android тастатуре"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Опције уноса"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android исправљање"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вибрирај на притисак тастера"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук на притисак тастера"</string>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 2c8bc73..61a7f13 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Androids tangentbord"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Inställningar för Androids tangentbord"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Inmatningsalternativ"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android-korrigering"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrera vid tangenttryck"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Knappljud"</string>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index a916535..9c677d1 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Chaguo za uingizaji"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Tetema unabofya kitufe"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Toa sauti unapobofya kitufe"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ibuka kitufe kinapobonyezwa"</string>
@@ -81,8 +87,7 @@
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<!-- no translation found for label_to_symbol_key (8516904117128967293) -->
<skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Zaidi"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pumzisha"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Subiri"</string>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 780ff02..c53ed2e 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"แป้นพิมพ์ Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"การตั้งค่าแป้นพิมพ์ Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"ตัวเลือกการป้อนข้อมูล"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"การแก้ไขของ Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"สั่นเมื่อกดปุ่ม"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ส่งเสียงเมื่อกดปุ่ม"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"ส่ง"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"เพิ่มเติม"</string>
<string name="label_pause_key" msgid="181098308428035340">"หยุดชั่วคราว"</string>
<string name="label_wait_key" msgid="6402152600878093134">"รอ"</string>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index b0806be..447baef 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android keyboard"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Mga setting ng Android keyboard"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Mga pagpipilian sa input"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Pagwawasto sa Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Mag-vibrate sa keypress"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tunog sa keypress"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Ipadala"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Higit pa"</string>
<string name="label_pause_key" msgid="181098308428035340">"Pause"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Intay"</string>
@@ -143,8 +147,8 @@
<string name="prefs_enable_recorrection" msgid="4588408906649533582">"Pindutin upang itama ang mga salita"</string>
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Pindutin ang mga inilagay na salita upang iwasto ang mga ito, kapag nakikita lang ang mga suhestiyon"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema ng keyboard"</string>
- <string name="subtype_de_qwerty" msgid="3358900499589259491">"German QWERTY"</string>
+ <string name="subtype_de_qwerty" msgid="3358900499589259491">"German na QWERTY"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"Ingles (UK)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Ingles (US)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"Ingles (Estados Unidos)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Study mode ng pagiging kapaki-pakinabang"</string>
</resources>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 103f016..91db66e 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android klavyesi"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android klavye ayarları"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Giriş seçenekleri"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android düzeltme"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Tuşa basıldığında titret"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tuşa basıldığında ses çıkar"</string>
@@ -144,7 +149,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Yalnızca öneriler görünür olduğunda, düzeltmek için girilen kelimelere dokunun"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klavye teması"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"Almanca QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (İngiltere)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (BK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"İngilizce (ABD)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Kullanılabilirlik çalışması modu"</string>
</resources>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index cca56b8..3e55f46 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Клавіатура Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Налашт-ня клавіат. Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Парам. введення"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Виправлення Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібр при натиску клав."</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натиску клав."</string>
@@ -133,7 +138,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Miкр. на симв. клавіат."</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голос. ввід вимкнено"</string>
<string name="selectInputMethod" msgid="315076553378705821">"Вибрати метод введення"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Налаштувати методи введення"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"Налаштування методів введення"</string>
<string name="language_selection_title" msgid="1651299598555326750">"Мови вводу"</string>
<string name="select_language" msgid="2573265881207142437">"Вибрати мову введення"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"← Торкн. ще, щоб збер."</string>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index e7c684d..caf9d57 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Bàn phím Android"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Cài đặt bàn phím Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Tùy chọn nhập"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Dịch vụ sửa chính tả của Android"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Rung khi nhấn phím"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Âm thanh khi nhấn phím"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"Gửi"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Khác"</string>
<string name="label_pause_key" msgid="181098308428035340">"Tạm dừng"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Đợi"</string>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index 189c174..cdbd64d 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android 键盘"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android 键盘设置"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"输入选项"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android 更正"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按键时振动"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按键时播放音效"</string>
@@ -64,8 +69,7 @@
<string name="label_send_key" msgid="2815056534433717444">"发送"</string>
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<string name="label_to_symbol_key" msgid="8516904117128967293">"?123"</string>
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"更多"</string>
<string name="label_pause_key" msgid="181098308428035340">"暂停"</string>
<string name="label_wait_key" msgid="6402152600878093134">"等待"</string>
@@ -143,8 +147,8 @@
<string name="prefs_enable_recorrection" msgid="4588408906649533582">"触摸以更正字词"</string>
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"仅在系统显示建议后,才触摸输入的字词进行更正"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"键盘主题"</string>
- <string name="subtype_de_qwerty" msgid="3358900499589259491">"德语 QWERTY"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"英语(英式)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"英语(美式)"</string>
+ <string name="subtype_de_qwerty" msgid="3358900499589259491">"德语 QWERTY 键盘"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"英语(英国)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"英语(美国)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"可用性研究模式"</string>
</resources>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index aa65cdd..fcf5118 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -23,7 +23,12 @@
<string name="english_ime_name" msgid="7252517407088836577">"Android 鍵盤"</string>
<string name="english_ime_settings" msgid="6661589557206947774">"Android 鍵盤設定"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"輸入選項"</string>
- <!-- no translation found for spell_checker_service_name (2003013122022285508) -->
+ <string name="spell_checker_service_name" msgid="2003013122022285508">"Android 修正"</string>
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
<skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按鍵時震動"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按鍵時播放音效"</string>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index 4929c12..b4688fd 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -25,6 +25,12 @@
<string name="english_ime_input_options" msgid="3909945612939668554">"Okukhethwa kukho kokungenayo"</string>
<!-- no translation found for spell_checker_service_name (2003013122022285508) -->
<skip />
+ <!-- no translation found for android_spell_checker_settings (5822324635435443689) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_title (7469233942295924620) -->
+ <skip />
+ <!-- no translation found for use_proximity_option_summary (2857708859847261945) -->
+ <skip />
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Dlidlizelisa ngokucindezela inkinobho"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Umsindo wokucindezela ukhiye"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ugaxekile ngokucindezela ukhiye"</string>
@@ -81,8 +87,7 @@
<string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string>
<!-- no translation found for label_to_symbol_key (8516904117128967293) -->
<skip />
- <!-- no translation found for label_to_symbol_with_microphone_key (9035925553010061906) -->
- <skip />
+ <string name="label_to_symbol_with_microphone_key" msgid="9035925553010061906">"123"</string>
<string name="label_more_key" msgid="3760239494604948502">"Okungaphezulu"</string>
<string name="label_pause_key" msgid="181098308428035340">"Misa okwesikhashana"</string>
<string name="label_wait_key" msgid="6402152600878093134">"Linda"</string>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index fbbc7fb..0bf560d 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -20,10 +20,8 @@
<!-- The attributes in this XML file provide configuration information -->
<!-- for the Input Method Manager. -->
-<!-- Keyboard: en_US, en_GB, ar, cs, da, de, es, es_US, fi, fr, fr_CA, fr_CH, hr, hu, it, iw, nb, nl, pl, pt, ru, sr, sv, tr -->
-<!-- Voice: af, cs, da, de, en, es, fr, it, ja, ko, nl, pl, pt, ru, tr, yue, zh, zu -->
+<!-- Keyboard: en_US, en_GB, ar, cs, da, de, de_ZZ, es, es_US, fi, fr, fr_CA, fr_CH, hr, hu, it, iw, nb, nl, pl, pt, ru, sr, sv, tr -->
<!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. -->
-<!-- TODO: use <lang>_mic icon instead of a common mic icon. -->
<!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default
subtype.-->
<input-method xmlns:android="http://schemas.android.com/apk/res/android"
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 811470c..21477a9 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -280,7 +280,6 @@
mSymbolsKeyboardId = getKeyboardId(editorInfo, true, false, settingsValues);
mSymbolsShiftedKeyboardId = getKeyboardId(editorInfo, true, true, settingsValues);
setKeyboard(getKeyboard(mSavedKeyboardState.getKeyboardId()));
- updateShiftState();
} catch (RuntimeException e) {
Log.w(TAG, "loading keyboard failed: " + mMainKeyboardId, e);
LatinImeLogger.logOnException(mMainKeyboardId.toString(), e);
@@ -331,6 +330,7 @@
final boolean localeChanged = (oldKeyboard == null)
|| !keyboard.mId.mLocale.equals(oldKeyboard.mId.mLocale);
mInputMethodService.mHandler.startDisplayLanguageOnSpacebar(localeChanged);
+ updateShiftState();
}
private int getSwitchState(KeyboardId id) {
@@ -543,11 +543,12 @@
}
private void setAutomaticTemporaryUpperCase() {
- LatinKeyboard latinKeyboard = getLatinKeyboard();
- if (latinKeyboard != null) {
- latinKeyboard.setAutomaticTemporaryUpperCase();
- mKeyboardView.invalidateAllKeys();
+ if (mKeyboardView == null) return;
+ final Keyboard keyboard = mKeyboardView.getKeyboard();
+ if (keyboard != null) {
+ keyboard.setAutomaticTemporaryUpperCase();
}
+ mKeyboardView.invalidateAllKeys();
}
/**
@@ -559,7 +560,9 @@
Log.d(TAG, "updateShiftState:"
+ " autoCaps=" + mInputMethodService.getCurrentAutoCapsState()
+ " keyboard=" + getLatinKeyboard().getKeyboardShiftState()
- + " shiftKeyState=" + shiftKeyState);
+ + " shiftKeyState=" + shiftKeyState
+ + " isAlphabetMode=" + isAlphabetMode()
+ + " isShiftLocked=" + isShiftLocked());
if (isAlphabetMode()) {
if (!isShiftLocked() && !shiftKeyState.isIgnoring()) {
if (shiftKeyState.isReleasing() && mInputMethodService.getCurrentAutoCapsState()) {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 2df2994..bc021a6 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -83,6 +83,11 @@
// HORIZONTAL ELLIPSIS "...", character for popup hint.
private static final String POPUP_HINT_CHAR = "\u2026";
+ // Margin between the label and the icon on a key that has both of them.
+ // Specified by the fraction of the key width.
+ // TODO: Use resource parameter for this value.
+ private static final float LABEL_ICON_MARGIN = 0.05f;
+
// Main keyboard
private Keyboard mKeyboard;
private final KeyDrawParams mKeyDrawParams;
@@ -538,11 +543,13 @@
positionX = centerX - labelCharWidth * 7 / 4;
paint.setTextAlign(Align.LEFT);
} else if (key.hasLabelWithIconLeft() && icon != null) {
- labelWidth = getLabelWidth(label, paint) + icon.getIntrinsicWidth();
+ labelWidth = getLabelWidth(label, paint) + icon.getIntrinsicWidth()
+ + (int)(LABEL_ICON_MARGIN * keyWidth);
positionX = centerX + labelWidth / 2;
paint.setTextAlign(Align.RIGHT);
} else if (key.hasLabelWithIconRight() && icon != null) {
- labelWidth = getLabelWidth(label, paint) + icon.getIntrinsicWidth();
+ labelWidth = getLabelWidth(label, paint) + icon.getIntrinsicWidth()
+ + (int)(LABEL_ICON_MARGIN * keyWidth);
positionX = centerX - labelWidth / 2;
paint.setTextAlign(Align.LEFT);
} else {
@@ -734,7 +741,8 @@
canvas.translate(-x, -y);
}
- private static void drawHorizontalLine(Canvas canvas, float y, float w, int color, Paint paint) {
+ private static void drawHorizontalLine(Canvas canvas, float y, float w, int color,
+ Paint paint) {
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1.0f);
paint.setColor(color);
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index 5e73d63..7190b05 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -56,12 +56,12 @@
computeNearestNeighbors(keyWidth, keys);
}
- public static ProximityInfo getDummyProximityInfo() {
+ public static ProximityInfo createDummyProximityInfo() {
return new ProximityInfo(1, 1, 1, 1, 1, Collections.<Key>emptyList());
}
- public static ProximityInfo getSpellCheckerProximityInfo() {
- final ProximityInfo spellCheckerProximityInfo = getDummyProximityInfo();
+ public static ProximityInfo createSpellCheckerProximityInfo() {
+ final ProximityInfo spellCheckerProximityInfo = createDummyProximityInfo();
spellCheckerProximityInfo.mNativeProximityInfo =
spellCheckerProximityInfo.setProximityInfoNative(
SpellCheckerProximityInfo.ROW_SIZE,
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index de04ecd..f599def 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -132,6 +132,7 @@
private int mCurrentY = 0;
private Row mCurrentRow = null;
private boolean mLeftEdge;
+ private boolean mTopEdge;
private Key mRightEdgeKey = null;
private final KeyStyles mKeyStyles = new KeyStyles();
@@ -650,6 +651,7 @@
private void startKeyboard() {
mCurrentY += mParams.mTopPadding;
+ mTopEdge = true;
}
private void startRow(Row row) {
@@ -670,6 +672,7 @@
setSpacer(mCurrentX, mParams.mHorizontalEdgesPadding);
mCurrentY += mCurrentRow.mRowHeight;
mCurrentRow = null;
+ mTopEdge = false;
}
private void endKey(Key key) {
@@ -678,6 +681,9 @@
key.addEdgeFlags(Keyboard.EDGE_LEFT);
mLeftEdge = false;
}
+ if (mTopEdge) {
+ key.addEdgeFlags(Keyboard.EDGE_TOP);
+ }
mRightEdgeKey = key;
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java
index 0cde4e5..fd98456 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java
@@ -21,7 +21,7 @@
import com.android.inputmethod.keyboard.KeyboardSwitcher;
public class KeyboardShiftState {
- private static final String TAG = "KeyboardShiftState";
+ private static final String TAG = KeyboardShiftState.class.getSimpleName();
private static final boolean DEBUG = KeyboardSwitcher.DEBUG_STATE;
private static final int NORMAL = 0;
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 44e9995..649774d 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -16,9 +16,11 @@
package com.android.inputmethod.latin.spellcheck;
+import android.content.Intent;
import android.content.res.Resources;
import android.service.textservice.SpellCheckerService;
import android.service.textservice.SpellCheckerService.Session;
+import android.util.Log;
import android.view.textservice.SuggestionsInfo;
import android.view.textservice.TextInfo;
@@ -34,8 +36,6 @@
import java.util.Arrays;
import java.util.Collections;
-import java.util.List;
-import java.util.LinkedList;
import java.util.Locale;
import java.util.Map;
import java.util.TreeMap;
@@ -45,12 +45,12 @@
*/
public class AndroidSpellCheckerService extends SpellCheckerService {
private static final String TAG = AndroidSpellCheckerService.class.getSimpleName();
- private static final boolean DBG = true;
+ private static final boolean DBG = false;
+ private static final int POOL_SIZE = 2;
private final static String[] emptyArray = new String[0];
- private final ProximityInfo mProximityInfo = ProximityInfo.getSpellCheckerProximityInfo();
- private final Map<String, Dictionary> mDictionaries =
- Collections.synchronizedMap(new TreeMap<String, Dictionary>());
+ private Map<String, DictionaryPool> mDictionaryPools =
+ Collections.synchronizedMap(new TreeMap<String, DictionaryPool>());
@Override
public Session createSession() {
@@ -105,35 +105,53 @@
}
}
- private Dictionary getDictionary(final String locale) {
- Dictionary dictionary = mDictionaries.get(locale);
- if (null == dictionary) {
- final Resources resources = getResources();
- final int fallbackResourceId = Utils.getMainDictionaryResourceId(resources);
- final Locale localeObject = Utils.constructLocaleFromString(locale);
- dictionary = DictionaryFactory.createDictionaryFromManager(this, localeObject,
- fallbackResourceId);
- mDictionaries.put(locale, dictionary);
+ @Override
+ public boolean onUnbind(final Intent intent) {
+ final Map<String, DictionaryPool> oldPools = mDictionaryPools;
+ mDictionaryPools = Collections.synchronizedMap(new TreeMap<String, DictionaryPool>());
+ for (DictionaryPool pool : oldPools.values()) {
+ pool.close();
}
- return dictionary;
+ return false;
+ }
+
+ private DictionaryPool getDictionaryPool(final String locale) {
+ DictionaryPool pool = mDictionaryPools.get(locale);
+ if (null == pool) {
+ final Locale localeObject = Utils.constructLocaleFromString(locale);
+ pool = new DictionaryPool(POOL_SIZE, this, localeObject);
+ mDictionaryPools.put(locale, pool);
+ }
+ return pool;
+ }
+
+ public DictAndProximity createDictAndProximity(final Locale locale) {
+ final ProximityInfo proximityInfo = ProximityInfo.createSpellCheckerProximityInfo();
+ final Resources resources = getResources();
+ final int fallbackResourceId = Utils.getMainDictionaryResourceId(resources);
+ final Dictionary dictionary =
+ DictionaryFactory.createDictionaryFromManager(this, locale, fallbackResourceId);
+ return new DictAndProximity(dictionary, proximityInfo);
}
private class AndroidSpellCheckerSession extends Session {
+ // Immutable, but need the locale which is not available in the constructor yet
+ DictionaryPool mDictionaryPool;
+
@Override
public void onCreate() {
+ mDictionaryPool = getDictionaryPool(getLocale());
}
// Note : this must be reentrant
/**
* Gets a list of suggestions for a specific string. This returns a list of possible
- * corrections for the text passed as an arguments. It may split or group words, and
+ * corrections for the text passed as an argument. It may split or group words, and
* even perform grammatical analysis.
*/
@Override
public SuggestionsInfo onGetSuggestions(final TextInfo textInfo,
final int suggestionsLimit) {
- final String locale = getLocale();
- final Dictionary dictionary = getDictionary(locale);
final String text = textInfo.getText();
final SuggestionsGatherer suggestionsGatherer =
@@ -153,8 +171,21 @@
composer.add(character, proximities,
WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE);
}
- dictionary.getWords(composer, suggestionsGatherer, mProximityInfo);
- final boolean isInDict = dictionary.isValidWord(text);
+
+ boolean isInDict = true;
+ try {
+ final DictAndProximity dictInfo = mDictionaryPool.take();
+ dictInfo.mDictionary.getWords(composer, suggestionsGatherer,
+ dictInfo.mProximityInfo);
+ isInDict = dictInfo.mDictionary.isValidWord(text);
+ if (!mDictionaryPool.offer(dictInfo)) {
+ Log.e(TAG, "Can't re-insert a dictionary into its pool");
+ }
+ } catch (InterruptedException e) {
+ // I don't think this can happen.
+ return new SuggestionsInfo(0, new String[0]);
+ }
+
final String[] suggestions = suggestionsGatherer.getGatheredSuggestions();
final int flags =
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java b/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java
new file mode 100644
index 0000000..3dbbd40
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/spellcheck/DictAndProximity.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.android.inputmethod.latin.spellcheck;
+
+import com.android.inputmethod.latin.Dictionary;
+import com.android.inputmethod.keyboard.ProximityInfo;
+
+/**
+ * A simple container for both a Dictionary and a ProximityInfo.
+ */
+public class DictAndProximity {
+ public final Dictionary mDictionary;
+ public final ProximityInfo mProximityInfo;
+ public DictAndProximity(final Dictionary dictionary, final ProximityInfo proximityInfo) {
+ mDictionary = dictionary;
+ mProximityInfo = proximityInfo;
+ }
+}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java b/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
new file mode 100644
index 0000000..ee294f6
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/spellcheck/DictionaryPool.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.android.inputmethod.latin.spellcheck;
+
+import android.content.Context;
+
+import java.util.Locale;
+import java.util.concurrent.LinkedBlockingQueue;
+
+/**
+ * A blocking queue that creates dictionaries up to a certain limit as necessary.
+ */
+public class DictionaryPool extends LinkedBlockingQueue<DictAndProximity> {
+ private final AndroidSpellCheckerService mService;
+ private final int mMaxSize;
+ private final Locale mLocale;
+ private int mSize;
+ private volatile boolean mClosed;
+
+ public DictionaryPool(final int maxSize, final AndroidSpellCheckerService service,
+ final Locale locale) {
+ super();
+ mMaxSize = maxSize;
+ mService = service;
+ mLocale = locale;
+ mSize = 0;
+ mClosed = false;
+ }
+
+ @Override
+ public DictAndProximity take() throws InterruptedException {
+ final DictAndProximity dict = poll();
+ if (null != dict) return dict;
+ synchronized(this) {
+ if (mSize >= mMaxSize) {
+ // Our pool is already full. Wait until some dictionary is ready.
+ return super.take();
+ } else {
+ ++mSize;
+ return mService.createDictAndProximity(mLocale);
+ }
+ }
+ }
+
+ public void close() {
+ synchronized(this) {
+ mClosed = true;
+ for (DictAndProximity dict : this) {
+ dict.mDictionary.close();
+ }
+ clear();
+ }
+ }
+
+ @Override
+ public boolean offer(final DictAndProximity dict) {
+ if (mClosed) {
+ dict.mDictionary.close();
+ return false;
+ } else {
+ return super.offer(dict);
+ }
+ }
+}
diff --git a/tests/res/raw/testtext.txt b/tests/res/raw/testtext.txt
deleted file mode 100644
index eca20c0..0000000
--- a/tests/res/raw/testtext.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-This text is used as test text for measuring performance of dictionary prediction. Any text can be put into this file to test the performance (total keystroke savings).
-When you think about “information,” what probably comes to mind are streams of words and numbers. Google’s pretty good at organizing these types of information, but consider all the things you can’t express with words: what does it look like in the middle of a sandstorm? What are some great examples of Art Nouveau architecture? Should I consider wedding cupcakes instead of a traditional cake?
-This is why we built Google Images in 2001. We realized that for many searches, the best answer wasn’t text—it was an image or a set of images. The service has grown quite a bit since then. In 2001, we indexed around 250 million images. By 2005, we had indexed over 1 billion. And today, we have an index of over 10 billion images.
-It’s not just about quantity, though. Over the past decade we’ve been baking deep computer science into Google Images to make it even faster and easier for you to find precisely the right images. We not only find images for pretty much anything you type in; we can also instantly pull out images of clip art, line drawings, faces and even colors.
-There’s even more sophisticated computer vision technology powering our “Similar images” tool. For example, did you know there are nine subspecies of leopards, each with a distinct pattern of spots? Google Images can recognize the difference, returning just leopards of a particular subspecies. It can tell you the name of the subspecies in a particular image—even if that image isn’t labeled—because other similar leopard images on the web are labeled with that subspecies’s name.
-And our “Similar colors” refinement doesn’t just return images based on the overall color of an image. If it did, lots of images would simply be classified as “white.” If you’re looking for [tulips] and you refine results to “white,” you really want images in which the tulips themselves are white—not the surrounding image. It takes some heavy-duty algorithmic wizardry and processing power for a search engine to understand what the items of interest are in all the images out there.
-Those are just a few of the technologies we’ve built to make Google Images more useful. Meanwhile, the quantity and variety of images on the web has ballooned since 2001, and images have become one of the most popular types of content people search for. So over the next few days we’re rolling out an update to Google Images to match the scope and beauty of this fast-growing visual web, and to bring to the surface some of the powerful technology behind Images.
-Here’s what’s new in this refreshed design of Google Images:
-Dense tiled layout designed to make it easy to look at lots of images at once. We want to get the app out of the way so you can find what you’re really looking for.
-Instant scrolling between pages, without letting you get lost in the images. You can now get up to 1,000 images, all in one scrolling page. And we’ll show small, unobtrusive page numbers so you don’t lose track of where you are.
-Larger thumbnail previews on the results page, designed for modern browsers and high-res screens.
-A hover pane that appears when you mouse over a given thumbnail image, giving you a larger preview, more info about the image and other image-specific features such as “Similar images.”
-Once you click on an image, you’re taken to a new landing page that displays a large image in context, with the website it’s hosted on visible right behind it. Click anywhere outside the image, and you’re right in the original page where you can learn more about the source and context.
-Optimized keyboard navigation for faster scrolling through many pages, taking advantage of standard web keyboard shortcuts such as Page Up / Page Down. It’s all about getting you to the info you need quickly, so you can get on with actually building that treehouse or buying those flowers.
-Apple's not really ready to say it's sorry about the iPhone 4 antenna design, but it is willing to give all you darn squeaky wheels free cases for your trouble. Since Apple can't build its own Bumpers fast enough, it will give you a few options and let you decide, then send it your way for free as long as you purchased the phone before September 30th. Not good enough for you? Well, if you already bought a bumper from Apple you'll get a refund, and you can also return your phone for a full refund within 30 days as long as it's unharmed.
-This solution comes at the end of 22 days of Apple engineers "working their butts off," according to Steve, with "physics" ultimately being pinned as the main culprit. Apple claims you can replicate the left-handed "death grip" bar-dropping problem on the BlackBerry Bold 9700, HTC Droid Eris, and Samsung Omnia II, and that "phones aren't perfect." Steve also claims that only 0.55% of people who bought the iPhone 4 have called into AppleCare to complain about the antenna, and the phone has a 1.7% return rate at AT&T, compared to 6% with the 3GS, though he would cop to a slight increase in dropped calls over the iPhone 3GS. For this Steve has what he confesses to be a pet theory: that 3GS users were using the case they had from the 3G, and therefore weren't met with the horrible reality of a naked, call dropping handset. Hence the free case solution, which will probably satisfy some, infuriate others, and never even blip onto the radar of many of the massive horde of consumers that's devoured this product in unprecedented numbers.
-Update: Our own Richard Lai just waltzed down to the Regent Street Apple Store in London with his iPhone Bumper receipt in hand. A few minutes later he left with cold, hard cash, and kept the Bumper to boot. Seems as if the refund effort is a go, at least over in the UK.
-Update 2: We've heard from several tipsters saying Apple no longer does Bumper refunds at its stores; customers will now have to make an online claim instead. Looks like we got super lucky.
-If you have ever received an instant message, text message, or any text-based chat message that seemed to be written in a foreign language, this Webopedia Quick Reference will help you decipher the text chat lingo by providing the definitions to more than 1,300 chat, text message, and Twitter abbreviations.
-With the popularity and rise in real-time text-based communications, such as Facebook, Twitter, instant messaging, e-mail, Internet and online gaming services, chat rooms, discussion boards and mobile phone text messaging (SMS), came the emergence of a new language tailored to the immediacy and compactness of these new communication media.
-While it does seem incredible that there are so many chat abbreviations, remember that different chat abbreviations are used by different groups of people when communicating online. Some of the following chat abbreviations may be familiar to you, while others may be foreign because they are used by a group of people with different online interests and hobbies than your own. For example, people playing online games are likely to use chat abbreviations that are different than those used by someone running a financial blog updating their Twitter status.
-Twitter is a free microblog, or social messaging tool that lets people stay connected through brief text message updates up to 140 characters in length. Twitter is based on you answering the question "What are you doing?" You then post thoughts, observations and goings-on during the day in answer to that question. Your update is posted on your Twitter profile page through SMS text messaging, the Twitter Web site, instant messaging, RSS, e-mail or through other social applications and sites, such as Facebook.
-As with any new social medium, there is an entire vocabulary that users of the Twitter service adopt. Many of the new lingo Twitter-based terms and phrases are used to describe the collection of people who use the service, while other terms are used in reference to describe specific functions and features of the service itself. Also, there are a number of "chat terms," which are basically shorthand abbreviations that users often include in their tweets. Lastly, our guide also provides descriptions to a number of Twitter tools and applications that you can use to enhance your Twitter experience.
-Here are definitions to more than 100 Twitter-related abbreviations, words, phrases, and tools that are associated with the Twitter microblogging service. If you know of a Twitter slang term or application name that is not included in our Twitter Dictionary, please let us know.
diff --git a/tests/src/com/android/inputmethod/latin/SuggestPerformanceTests.java b/tests/src/com/android/inputmethod/latin/SuggestPerformanceTests.java
deleted file mode 100644
index 7af566b..0000000
--- a/tests/src/com/android/inputmethod/latin/SuggestPerformanceTests.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2010,2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.android.inputmethod.latin;
-import com.android.inputmethod.latin.tests.R;
-
-import android.content.res.AssetFileDescriptor;
-import android.content.res.Configuration;
-import android.text.TextUtils;
-import android.util.Slog;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Locale;
-import java.util.StringTokenizer;
-
-public class SuggestPerformanceTests extends SuggestTestsBase {
- private static final String TAG = SuggestPerformanceTests.class.getSimpleName();
-
- private String mTestText;
- private SuggestHelper mHelper;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- final AssetFileDescriptor dict = openTestRawResourceFd(R.raw.test);
- mHelper = new SuggestHelper(
- getContext(), mTestPackageFile, dict.getStartOffset(), dict.getLength(),
- createKeyboardId(Locale.US, Configuration.ORIENTATION_PORTRAIT));
- loadString(R.raw.testtext);
- }
-
- private void loadString(int testFileId) {
- final String testFile = getTestContext().getResources().getResourceName(testFileId);
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(
- new InputStreamReader(openTestRawResource(testFileId)));
- final StringBuilder sb = new StringBuilder();
- String line;
- Slog.i(TAG, "Reading test file " + testFile);
- while ((line = reader.readLine()) != null) {
- sb.append(line);
- sb.append(" ");
- }
- mTestText = sb.toString();
- } catch (Exception e) {
- Slog.e(TAG, "Can not read " + testFile);
- e.printStackTrace();
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (Exception e) {
- Slog.e(TAG, "Closing " + testFile + " failed");
- }
- }
- }
- }
-
- /************************** Helper functions ************************/
- private int lookForBigramSuggestion(String prevWord, String currentWord) {
- for (int i = 1; i < currentWord.length(); i++) {
- final CharSequence prefix = currentWord.substring(0, i);
- final CharSequence word = (i == 1)
- ? mHelper.getBigramFirstSuggestion(prevWord, prefix)
- : mHelper.getBigramAutoCorrection(prevWord, prefix);
- if (TextUtils.equals(word, currentWord))
- return i;
- }
- return currentWord.length();
- }
-
- private double runText(boolean withBigrams) {
- mHelper.setCorrectionMode(
- withBigrams ? Suggest.CORRECTION_FULL_BIGRAM : Suggest.CORRECTION_FULL);
- StringTokenizer st = new StringTokenizer(mTestText);
- String prevWord = null;
- int typeCount = 0;
- int characterCount = 0; // without space
- int wordCount = 0;
- while (st.hasMoreTokens()) {
- String currentWord = st.nextToken();
- boolean endCheck = false;
- if (currentWord.matches("[\\w]*[\\.|?|!|*|@|&|/|:|;]")) {
- currentWord = currentWord.substring(0, currentWord.length() - 1);
- endCheck = true;
- }
- if (withBigrams && prevWord != null) {
- typeCount += lookForBigramSuggestion(prevWord, currentWord);
- } else {
- typeCount += lookForBigramSuggestion(null, currentWord);
- }
- characterCount += currentWord.length();
- if (!endCheck) prevWord = currentWord;
- wordCount++;
- }
-
- double result = (double) (characterCount - typeCount) / characterCount * 100;
- if (withBigrams) {
- Slog.i(TAG, "with bigrams -> " + result + " % saved!");
- } else {
- Slog.i(TAG, "without bigrams -> " + result + " % saved!");
- }
- Slog.i(TAG, "\ttotal number of words: " + wordCount);
- Slog.i(TAG, "\ttotal number of characters: " + mTestText.length());
- Slog.i(TAG, "\ttotal number of characters without space: " + characterCount);
- Slog.i(TAG, "\ttotal number of characters typed: " + typeCount);
- return result;
- }
-
-
- /************************** Performance Tests ************************/
- /**
- * Compare the Suggest with and without bigram
- * Check the log for detail
- */
- public void testSuggestPerformance() {
- assertTrue(runText(false) <= runText(true));
- }
-}