aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/AndroidManifest.xml8
-rw-r--r--java/proguard.flags4
-rw-r--r--java/res/values-af/strings.xml9
-rw-r--r--java/res/values-am/strings.xml9
-rw-r--r--java/res/values-ar/strings.xml7
-rw-r--r--java/res/values-bg/strings.xml7
-rw-r--r--java/res/values-ca/strings.xml12
-rw-r--r--java/res/values-cs/strings.xml14
-rw-r--r--java/res/values-da/strings.xml7
-rw-r--r--java/res/values-de/strings.xml6
-rw-r--r--java/res/values-el/strings.xml10
-rw-r--r--java/res/values-en-rGB/strings.xml10
-rw-r--r--java/res/values-es-rUS/strings.xml10
-rw-r--r--java/res/values-es/strings.xml9
-rw-r--r--java/res/values-fa/strings.xml9
-rw-r--r--java/res/values-fi/strings.xml6
-rw-r--r--java/res/values-fr/strings.xml7
-rw-r--r--java/res/values-hr/strings.xml11
-rw-r--r--java/res/values-hu/strings.xml14
-rw-r--r--java/res/values-in/strings.xml12
-rw-r--r--java/res/values-it/strings.xml9
-rw-r--r--java/res/values-iw/strings.xml10
-rw-r--r--java/res/values-ja/strings.xml9
-rw-r--r--java/res/values-ko/strings.xml10
-rw-r--r--java/res/values-lt/strings.xml11
-rw-r--r--java/res/values-lv/strings.xml7
-rw-r--r--java/res/values-ms/strings.xml9
-rw-r--r--java/res/values-nb/strings.xml7
-rw-r--r--java/res/values-nl/strings.xml10
-rw-r--r--java/res/values-pl/strings.xml10
-rw-r--r--java/res/values-pt-rPT/strings.xml6
-rw-r--r--java/res/values-pt/strings.xml12
-rw-r--r--java/res/values-rm/strings.xml6
-rw-r--r--java/res/values-ro/strings.xml7
-rw-r--r--java/res/values-ru/strings.xml16
-rw-r--r--java/res/values-sk/strings.xml10
-rw-r--r--java/res/values-sl/strings.xml11
-rw-r--r--java/res/values-sr/strings.xml7
-rw-r--r--java/res/values-sv/strings.xml7
-rw-r--r--java/res/values-sw/strings.xml9
-rw-r--r--java/res/values-sw600dp/config.xml3
-rw-r--r--java/res/values-sw768dp/config.xml1
-rw-r--r--java/res/values-th/strings.xml10
-rw-r--r--java/res/values-tl/strings.xml14
-rw-r--r--java/res/values-tr/strings.xml9
-rw-r--r--java/res/values-uk/strings.xml9
-rw-r--r--java/res/values-vi/strings.xml10
-rw-r--r--java/res/values-zh-rCN/strings.xml16
-rw-r--r--java/res/values-zh-rTW/strings.xml7
-rw-r--r--java/res/values-zu/strings.xml9
-rw-r--r--java/res/values/attrs.xml1
-rw-r--r--java/res/values/config.xml5
-rw-r--r--java/res/values/donottranslate.xml4
-rw-r--r--java/res/values/strings.xml9
-rw-r--r--java/res/values/styles.xml2
-rw-r--r--java/res/xml-sw600dp/kbd_rows_russian.xml3
-rw-r--r--java/res/xml/kbd_rows_russian.xml1
-rw-r--r--java/res/xml/method.xml4
-rw-r--r--java/res/xml/prefs.xml8
-rw-r--r--java/res/xml/spell_checker_settings.xml26
-rw-r--r--java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java5
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java15
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java14
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java2
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java89
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java156
-rw-r--r--java/src/com/android/inputmethod/latin/CandidateView.java6
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java24
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java2
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java13
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java43
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java41
72 files changed, 696 insertions, 229 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index d680f1894..548da1bbb 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -29,12 +29,20 @@
</intent-filter>
<meta-data android:name="android.view.textservice.scs" android:resource="@xml/spellchecker" />
</service>
+
<activity android:name="Settings" android:label="@string/english_ime_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
+ <activity android:name="com.android.inputmethod.latin.spellcheck.SpellCheckerSettingsActivity"
+ android:label="@string/android_spell_checker_settings">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN"/>
+ </intent-filter>
+ </activity>
+
<activity android:name="DebugSettings" android:label="@string/english_ime_debug_settings">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
diff --git a/java/proguard.flags b/java/proguard.flags
index 395950033..33af890ec 100644
--- a/java/proguard.flags
+++ b/java/proguard.flags
@@ -27,6 +27,10 @@
*;
}
+-keep class com.android.inputmethod.latin.spellcheck.SpellCheckerSettingsFragment {
+ *;
+}
+
-keep class com.android.inputmethod.latin.SettingsActivity {
*;
}
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index cbe64062f..8d3632826 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 4d8ace549..16595d22a 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 433081306..46f0c1d77 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 cc958af77..f2514ecce 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 2c9fbfbb6..6daca172e 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 38417a0d5..9cd237edd 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 97dc8a0ad..85cbb85d1 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 fdce3bb01..7a20f69c6 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 2629c2418..e0c503341 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 7a0449c27..f89c29304 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 4eacee950..87a15a145 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 aae38ca8d..c3b97c78c 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 bacc180a1..5a085d878 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 1b45be745..88a8ea093 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 e658da024..c35c9bb17 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 55d4b145c..4d27d2c9a 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 d682b82ec..afae17d91 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 d8bb604d4..f3506863f 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 d122f5087..f67c3e474 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 b49091335..31632e9b0 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 8ac407a06..08b572203 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 c9000d18a..83cf906c8 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 4113ef32c..24073f766 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 e5da1dc4e..2ec111a35 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 63fd65596..eef6ef2e2 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 e86582289..62140d3e8 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 ebb1c062e..26e138d55 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 1cf14166f..72687b58d 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 22c99f22b..7d1b6d0fa 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 167ae0e0c..793c78fd4 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 359dc7a12..9901b9f66 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 c317cfd1d..1dd083e55 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 68d1ee28e..64c2aa60b 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 a8c57008f..3e7ed1475 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 19bf04c8a..84498ad19 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 46daea90e..d465aaedc 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 2c8bc7318..61a7f1362 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 a916535b0..9c677d177 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-sw600dp/config.xml b/java/res/values-sw600dp/config.xml
index ade376a33..d539e0d82 100644
--- a/java/res/values-sw600dp/config.xml
+++ b/java/res/values-sw600dp/config.xml
@@ -20,10 +20,9 @@
<resources>
<bool name="config_enable_show_settings_key_option">true</bool>
- <bool name="config_default_show_settings_key">true</bool>
+ <bool name="config_default_show_settings_key">false</bool>
<bool name="config_enable_show_voice_key_option">false</bool>
<bool name="config_enable_show_popup_on_keypress_option">false</bool>
- <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">false</bool>
<bool name="config_sliding_key_input_enabled">false</bool>
<bool name="config_digit_popup_characters_enabled">false</bool>
diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml
index 091d62e59..0f8f106b7 100644
--- a/java/res/values-sw768dp/config.xml
+++ b/java/res/values-sw768dp/config.xml
@@ -23,7 +23,6 @@
<bool name="config_default_show_settings_key">true</bool>
<bool name="config_enable_show_voice_key_option">false</bool>
<bool name="config_enable_show_popup_on_keypress_option">false</bool>
- <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">false</bool>
<bool name="config_sliding_key_input_enabled">false</bool>
<bool name="config_digit_popup_characters_enabled">false</bool>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index 780ff024a..c53ed2e65 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 b0806bed3..447baef79 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 103f01618..91db66e3c 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 cca56b842..3e55f469e 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 e7c684d2d..caf9d579e 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 189c17420..cdbd64dd1 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 aa65cdd82..fcf5118b7 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 4929c12ec..b4688fd93 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/values/attrs.xml b/java/res/values/attrs.xml
index 172ca2f25..c2200b5ad 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -107,6 +107,7 @@
</declare-styleable>
<declare-styleable name="CandidateView">
+ <attr name="autoCorrectionVisualFlashEnabled" format="boolean" />
<attr name="autoCorrectHighlight" format="integer">
<flag name="autoCorrectBold" value="0x01" />
<flag name="autoCorrectUnderline" value="0x02" />
diff --git a/java/res/values/config.xml b/java/res/values/config.xml
index 731f63f34..6327ede38 100644
--- a/java/res/values/config.xml
+++ b/java/res/values/config.xml
@@ -23,7 +23,7 @@
<bool name="config_default_show_settings_key">false</bool>
<bool name="config_enable_show_voice_key_option">true</bool>
<bool name="config_enable_show_popup_on_keypress_option">true</bool>
- <bool name="config_enable_show_recorrection_option">true</bool>
+ <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">true</bool>
<bool name="config_enable_usability_study_mode_option">false</bool>
<bool name="config_sliding_key_input_enabled">true</bool>
@@ -36,9 +36,10 @@
<!-- Default value for bigram prediction: after entering a word and a space only, should we look
at input history to suggest a hopefully helpful candidate for the next word? -->
<bool name="config_default_bigram_prediction">false</bool>
- <bool name="config_default_recorrection_enabled">true</bool>
+ <bool name="config_default_compat_recorrection_enabled">true</bool>
<bool name="config_default_sound_enabled">false</bool>
<bool name="config_auto_correction_spacebar_led_enabled">true</bool>
+ <bool name="config_auto_correction_suggestion_strip_visual_flash_enabled">false</bool>
<!-- Showing mini keyboard, just above the touched point if true, aligned to the key if false -->
<bool name="config_show_mini_keyboard_at_touched_point">false</bool>
<!-- The language is never displayed if == 0, always displayed if < 0 -->
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index fb28766e7..f55e9bf53 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -153,4 +153,8 @@
<!-- Generic subtype label -->
<string name="subtype_generic">%s</string>
+
+ <!-- dictionary pack package name /settings activity (for shared prefs and settings) -->
+ <string name="dictionary_pack_package_name">com.google.android.inputmethod.latin.dictionarypack</string>
+ <string name="dictionary_pack_settings_activity">com.google.android.inputmethod.latin.dictionarypack.DictionarySettingsActivity</string>
</resources>
diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index ed69fc9f0..247bdba41 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -28,6 +28,15 @@
<!-- Title for Latin Keyboard spell checker service -->
<string name="spell_checker_service_name">Android correction</string>
+ <!-- Title for the spell checking service settings screen -->
+ <string name="android_spell_checker_settings">Spell checking settings</string>
+
+ <!-- Title for the "use proximity" option for spell checking [CHAR LIMIT=25] -->
+ <string name="use_proximity_option_title">Use proximity data</string>
+
+ <!-- Description for the "use proximity" option for spell checking [CHAR LIMIT=65] -->
+ <string name="use_proximity_option_summary">Use a keyboard-like proximity algorithm for spell checking</string>
+
<!-- Option to provide vibrate/haptic feedback on keypress -->
<string name="vibrate_on_keypress">Vibrate on keypress</string>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index 1ebd2cee1..a47eeed12 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -85,6 +85,7 @@
<item name="android:background">@drawable/candidate_feedback_background</item>
</style>
<style name="CandidateViewStyle" parent="SuggestionsStripBackgroundStyle">
+ <item name="autoCorrectionVisualFlashEnabled">@bool/config_auto_correction_suggestion_strip_visual_flash_enabled</item>
<item name="autoCorrectHighlight">autoCorrectBold</item>
<item name="colorTypedWord">#FFFFFFFF</item>
<item name="colorAutoCorrect">#FFFCAE00</item>
@@ -188,6 +189,7 @@
<item name="android:background">@drawable/keyboard_popup_panel_background_holo</item>
</style>
<style name="CandidateViewStyle.IceCreamSandwich" parent="SuggestionsStripBackgroundStyle.IceCreamSandwich">
+ <item name="autoCorrectionVisualFlashEnabled">@bool/config_auto_correction_suggestion_strip_visual_flash_enabled</item>
<item name="autoCorrectHighlight">autoCorrectBold|autoCorrectInvert</item>
<item name="colorTypedWord">#FFFFFFFF</item>
<item name="colorAutoCorrect">#FF3DC8FF</item>
diff --git a/java/res/xml-sw600dp/kbd_rows_russian.xml b/java/res/xml-sw600dp/kbd_rows_russian.xml
index 7588f6ccb..2f4b95e60 100644
--- a/java/res/xml-sw600dp/kbd_rows_russian.xml
+++ b/java/res/xml-sw600dp/kbd_rows_russian.xml
@@ -105,8 +105,7 @@
<Key
latin:keyLabel="т" />
<Key
- latin:keyLabel="ь"
- latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
+ latin:keyLabel="ь" />
<Key
latin:keyLabel="б" />
<Key
diff --git a/java/res/xml/kbd_rows_russian.xml b/java/res/xml/kbd_rows_russian.xml
index 216d74946..3aeb52bcc 100644
--- a/java/res/xml/kbd_rows_russian.xml
+++ b/java/res/xml/kbd_rows_russian.xml
@@ -69,6 +69,7 @@
latin:popupCharacters="0" />
<Key
latin:keyLabel="х"
+ latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign"
latin:keyWidth="fillRight" />
</Row>
<Row
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index fbbc7fbce..0bf560d5a 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/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 552e3cf4f..6d2218d2f 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -48,12 +48,12 @@
android:title="@string/prefs_enable_recorrection"
android:summary="@string/prefs_enable_recorrection_summary"
android:persistent="true"
- android:defaultValue="@bool/config_default_recorrection_enabled" />
+ android:defaultValue="@bool/config_default_compat_recorrection_enabled" />
<CheckBoxPreference
android:key="show_settings_key"
android:title="@string/prefs_settings_key"
android:persistent="true"
- android:defaultValue="false" />
+ android:defaultValue="@bool/config_default_show_settings_key" />
<ListPreference
android:key="voice_mode"
android:title="@string/voice_input"
@@ -70,8 +70,8 @@
android:title="@string/configure_dictionaries_title">
<intent
android:action="android.intent.action.MAIN"
- android:targetPackage="com.google.android.inputmethod.latin.dictionarypack"
- android:targetClass="com.google.android.inputmethod.latin.dictionarypack.DictionarySettingsActivity" />
+ android:targetPackage="@string/dictionary_pack_package_name"
+ android:targetClass="@string/dictionary_pack_settings_activity" />
</PreferenceScreen>
<ListPreference
android:key="auto_correction_threshold"
diff --git a/java/res/xml/spell_checker_settings.xml b/java/res/xml/spell_checker_settings.xml
new file mode 100644
index 000000000..f402555c9
--- /dev/null
+++ b/java/res/xml/spell_checker_settings.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:title="@string/android_spell_checker_settings">
+ <CheckBoxPreference
+ android:key="use_proximity"
+ android:title="@string/use_proximity_option_title"
+ android:summary="@string/use_proximity_option_summary"
+ android:persistent="true"
+ android:defaultValue="true" />
+</PreferenceScreen>
diff --git a/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java b/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java
index d40728d25..bf2512d7b 100644
--- a/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java
+++ b/java/src/com/android/inputmethod/deprecated/recorrection/Recorrection.java
@@ -271,9 +271,10 @@ public class Recorrection implements SharedPreferences.OnSharedPreferenceChangeL
// but always use the default setting defined in the resources.
if (res.getBoolean(R.bool.config_enable_show_recorrection_option)) {
mRecorrectionEnabled = prefs.getBoolean(Settings.PREF_RECORRECTION_ENABLED,
- res.getBoolean(R.bool.config_default_recorrection_enabled));
+ res.getBoolean(R.bool.config_default_compat_recorrection_enabled));
} else {
- mRecorrectionEnabled = res.getBoolean(R.bool.config_default_recorrection_enabled);
+ mRecorrectionEnabled =
+ res.getBoolean(R.bool.config_default_compat_recorrection_enabled);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 811470c26..21477a992 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -280,7 +280,6 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
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 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
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 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
}
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 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
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 2df2994f6..bc021a690 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -83,6 +83,11 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// 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 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
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 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
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/internal/KeyboardShiftState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardShiftState.java
index 0cde4e5b5..fd98456a8 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 android.util.Log;
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/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
index 2d50a6f46..3da670e2e 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java
@@ -25,7 +25,6 @@ import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
-import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@@ -55,66 +54,6 @@ public class BinaryDictionaryFileDumper {
}
/**
- * Escapes a string for any characters that may be suspicious for a file or directory name.
- *
- * Concretely this does a sort of URL-encoding except it will encode everything that's not
- * alphanumeric or underscore. (true URL-encoding leaves alone characters like '*', which
- * we cannot allow here)
- */
- // TODO: create a unit test for this method
- private static String replaceFileNameDangerousCharacters(String name) {
- // This assumes '%' is fully available as a non-separator, normal
- // character in a file name. This is probably true for all file systems.
- final StringBuilder sb = new StringBuilder();
- for (int i = 0; i < name.length(); ++i) {
- final int codePoint = name.codePointAt(i);
- if (Character.isLetterOrDigit(codePoint) || '_' == codePoint) {
- sb.appendCodePoint(codePoint);
- } else {
- sb.append('%');
- sb.append(Integer.toHexString(codePoint));
- }
- }
- return sb.toString();
- }
-
- /**
- * Find out the cache directory associated with a specific locale.
- */
- private static String getCacheDirectoryForLocale(Locale locale, Context context) {
- final String relativeDirectoryName = replaceFileNameDangerousCharacters(locale.toString());
- final String absoluteDirectoryName = context.getFilesDir() + File.separator
- + relativeDirectoryName;
- final File directory = new File(absoluteDirectoryName);
- if (!directory.exists()) {
- if (!directory.mkdirs()) {
- Log.e(TAG, "Could not create the directory for locale" + locale);
- }
- }
- return absoluteDirectoryName;
- }
-
- /**
- * Generates a file name for the id and locale passed as an argument.
- *
- * In the current implementation the file name returned will always be unique for
- * any id/locale pair, but please do not expect that the id can be the same for
- * different dictionaries with different locales. An id should be unique for any
- * dictionary.
- * The file name is pretty much an URL-encoded version of the id inside a directory
- * named like the locale, except it will also escape characters that look dangerous
- * to some file systems.
- * @param id the id of the dictionary for which to get a file name
- * @param locale the locale for which to get the file name
- * @param context the context to use for getting the directory
- * @return the name of the file to be created
- */
- private static String getCacheFileName(String id, Locale locale, Context context) {
- final String fileName = replaceFileNameDangerousCharacters(id);
- return getCacheDirectoryForLocale(locale, context) + File.separator + fileName;
- }
-
- /**
* Return for a given locale or dictionary id the provider URI to get the dictionary.
*/
private static Uri getProviderUri(String path) {
@@ -149,32 +88,32 @@ public class BinaryDictionaryFileDumper {
}
/**
- * Queries a content provider for dictionary data for some locale and returns the file addresses
+ * Queries a content provider for dictionary data for some locale and cache the returned files
*
- * This will query a content provider for dictionary data for a given locale, and return
- * the addresses of a file set the members of which are suitable to be mmap'ed. It will copy
- * them to local storage if needed.
- * It should also check the dictionary versions to avoid unnecessary copies but this is
- * still in TODO state.
- * This will make the data from the content provider the cached dictionary for this locale,
- * overwriting any previous cached data.
+ * This will query a content provider for dictionary data for a given locale, and copy the
+ * files locally so that they can be mmap'ed. This may overwrite previously cached dictionaries
+ * with newer versions if a newer version is made available by the content provider.
* @returns the addresses of the files, or null if no data could be obtained.
* @throw FileNotFoundException if the provider returns non-existent data.
* @throw IOException if the provider-returned data could not be read.
*/
- public static List<AssetFileAddress> getDictSetFromContentProvider(final Locale locale,
+ public static List<AssetFileAddress> cacheDictionariesFromContentProvider(final Locale locale,
final Context context) throws FileNotFoundException, IOException {
final ContentResolver resolver = context.getContentResolver();
final List<String> idList = getDictIdList(locale, context);
final List<AssetFileAddress> fileAddressList = new ArrayList<AssetFileAddress>();
for (String id : idList) {
- final Uri dictionaryPackUri = getProviderUri(id);
+ final Uri wordListUri = getProviderUri(id);
final AssetFileDescriptor afd =
- resolver.openAssetFileDescriptor(dictionaryPackUri, "r");
+ resolver.openAssetFileDescriptor(wordListUri, "r");
if (null == afd) continue;
final String fileName = copyFileTo(afd.createInputStream(),
- getCacheFileName(id, locale, context));
+ BinaryDictionaryGetter.getCacheFileName(id, locale, context));
afd.close();
+ if (0 >= resolver.delete(wordListUri, null, null)) {
+ // I'd rather not print the word list ID to the log here out of security concerns
+ Log.e(TAG, "Could not have the dictionary pack delete a word list");
+ }
fileAddressList.add(AssetFileAddress.makeFromFileName(fileName));
}
return fileAddressList;
@@ -192,7 +131,9 @@ public class BinaryDictionaryFileDumper {
final Locale savedLocale = Utils.setSystemLocale(res, locale);
final InputStream stream = res.openRawResource(resource);
Utils.setSystemLocale(res, savedLocale);
- return copyFileTo(stream, getCacheFileName(Integer.toString(resource), locale, context));
+ return copyFileTo(stream,
+ BinaryDictionaryGetter.getCacheFileName(Integer.toString(resource),
+ locale, context));
}
/**
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
index 4b1c05adf..360cf21ca 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
@@ -17,13 +17,17 @@
package com.android.inputmethod.latin;
import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.AssetFileDescriptor;
import android.content.res.Resources;
import android.util.Log;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
+import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@@ -37,10 +41,105 @@ class BinaryDictionaryGetter {
*/
private static final String TAG = BinaryDictionaryGetter.class.getSimpleName();
+ /**
+ * Name of the common preferences name to know which word list are on and which are off.
+ */
+ private static final String COMMON_PREFERENCES_NAME = "LatinImeDictPrefs";
+
// Prevents this from being instantiated
private BinaryDictionaryGetter() {}
/**
+ * Returns whether we may want to use this character as part of a file name.
+ *
+ * This basically only accepts ascii letters and numbers, and rejects everything else.
+ */
+ private static boolean isFileNameCharacter(int codePoint) {
+ if (codePoint >= 0x30 && codePoint <= 0x39) return true; // Digit
+ if (codePoint >= 0x41 && codePoint <= 0x5A) return true; // Uppercase
+ if (codePoint >= 0x61 && codePoint <= 0x7A) return true; // Lowercase
+ return codePoint == '_'; // Underscore
+ }
+
+ /**
+ * Escapes a string for any characters that may be suspicious for a file or directory name.
+ *
+ * Concretely this does a sort of URL-encoding except it will encode everything that's not
+ * alphanumeric or underscore. (true URL-encoding leaves alone characters like '*', which
+ * we cannot allow here)
+ */
+ // TODO: create a unit test for this method
+ private static String replaceFileNameDangerousCharacters(final String name) {
+ // This assumes '%' is fully available as a non-separator, normal
+ // character in a file name. This is probably true for all file systems.
+ final StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < name.length(); ++i) {
+ final int codePoint = name.codePointAt(i);
+ if (isFileNameCharacter(codePoint)) {
+ sb.appendCodePoint(codePoint);
+ } else {
+ // 6 digits - unicode is limited to 21 bits
+ sb.append(String.format((Locale)null, "%%%1$06x", codePoint));
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Reverse escaping done by replaceFileNameDangerousCharacters.
+ */
+ private static String getWordListIdFromFileName(final String fname) {
+ final StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < fname.length(); ++i) {
+ final int codePoint = fname.codePointAt(i);
+ if ('%' != codePoint) {
+ sb.appendCodePoint(codePoint);
+ } else {
+ final int encodedCodePoint = Integer.parseInt(fname.substring(i + 1, i + 7), 16);
+ i += 6;
+ sb.appendCodePoint(encodedCodePoint);
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Find out the cache directory associated with a specific locale.
+ */
+ private static String getCacheDirectoryForLocale(Locale locale, Context context) {
+ final String relativeDirectoryName = replaceFileNameDangerousCharacters(locale.toString());
+ final String absoluteDirectoryName = context.getFilesDir() + File.separator
+ + relativeDirectoryName;
+ final File directory = new File(absoluteDirectoryName);
+ if (!directory.exists()) {
+ if (!directory.mkdirs()) {
+ Log.e(TAG, "Could not create the directory for locale" + locale);
+ }
+ }
+ return absoluteDirectoryName;
+ }
+
+ /**
+ * Generates a file name for the id and locale passed as an argument.
+ *
+ * In the current implementation the file name returned will always be unique for
+ * any id/locale pair, but please do not expect that the id can be the same for
+ * different dictionaries with different locales. An id should be unique for any
+ * dictionary.
+ * The file name is pretty much an URL-encoded version of the id inside a directory
+ * named like the locale, except it will also escape characters that look dangerous
+ * to some file systems.
+ * @param id the id of the dictionary for which to get a file name
+ * @param locale the locale for which to get the file name
+ * @param context the context to use for getting the directory
+ * @return the name of the file to be created
+ */
+ public static String getCacheFileName(String id, Locale locale, Context context) {
+ final String fileName = replaceFileNameDangerousCharacters(id);
+ return getCacheDirectoryForLocale(locale, context) + File.separator + fileName;
+ }
+
+ /**
* Returns a file address from a resource, or null if it cannot be opened.
*/
private static AssetFileAddress loadFallbackResource(final Context context,
@@ -60,6 +159,48 @@ class BinaryDictionaryGetter {
}
/**
+ * Returns the list of cached files for a specific locale.
+ *
+ * @param locale the locale to find the dictionary files for.
+ * @param context the context on which to open the files upon.
+ * @return a list of binary dictionary files, which may be null but may not be empty.
+ */
+ private static List<AssetFileAddress> getCachedDictionaryList(final Locale locale,
+ final Context context) {
+ final String directoryName = getCacheDirectoryForLocale(locale, context);
+ final File[] cacheFiles = new File(directoryName).listFiles();
+ // TODO: Never return null. Fallback on the built-in dictionary, and if that's
+ // not present or disabled, then return an empty list.
+ if (null == cacheFiles) return null;
+
+ final SharedPreferences dictPackSettings;
+ try {
+ final String dictPackName = context.getString(R.string.dictionary_pack_package_name);
+ final Context dictPackContext = context.createPackageContext(dictPackName, 0);
+ dictPackSettings = dictPackContext.getSharedPreferences(COMMON_PREFERENCES_NAME,
+ Context.MODE_WORLD_READABLE | Context.MODE_MULTI_PROCESS);
+ } catch (NameNotFoundException e) {
+ // The dictionary pack is not installed...
+ // TODO: fallback on the built-in dict, see the TODO above
+ Log.e(TAG, "Could not find a dictionary pack");
+ return null;
+ }
+
+ final ArrayList<AssetFileAddress> fileList = new ArrayList<AssetFileAddress>();
+ for (File f : cacheFiles) {
+ final String wordListId = getWordListIdFromFileName(f.getName());
+ final boolean isActive = dictPackSettings.getBoolean(wordListId, true);
+ if (!isActive) continue;
+ if (f.canRead()) {
+ fileList.add(AssetFileAddress.makeFromFileName(f.getPath()));
+ } else {
+ Log.e(TAG, "Found a cached dictionary file but cannot read it");
+ }
+ }
+ return fileList.size() > 0 ? fileList : null;
+ }
+
+ /**
* Returns a list of file addresses for a given locale, trying relevant methods in order.
*
* Tries to get binary dictionaries from various sources, in order:
@@ -71,13 +212,16 @@ class BinaryDictionaryGetter {
* - Returns null.
* @return The address of a valid file, or null.
*/
- public static List<AssetFileAddress> getDictionaryFiles(Locale locale, Context context,
- int fallbackResId) {
+ public static List<AssetFileAddress> getDictionaryFiles(final Locale locale,
+ final Context context, final int fallbackResId) {
try {
- List<AssetFileAddress> listFromContentProvider =
- BinaryDictionaryFileDumper.getDictSetFromContentProvider(locale, context);
- if (null != listFromContentProvider) {
- return listFromContentProvider;
+ // cacheDictionariesFromContentProvider returns the list of files it copied to local
+ // storage, but we don't really care about what was copied NOW: what we want is the
+ // list of everything we ever cached, so we ignore the return value.
+ BinaryDictionaryFileDumper.cacheDictionariesFromContentProvider(locale, context);
+ List<AssetFileAddress> cachedDictionaryList = getCachedDictionaryList(locale, context);
+ if (null != cachedDictionaryList) {
+ return cachedDictionaryList;
}
// If the list is null, fall through and return the fallback
} catch (FileNotFoundException e) {
diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java
index d779c8565..0640fd0b1 100644
--- a/java/src/com/android/inputmethod/latin/CandidateView.java
+++ b/java/src/com/android/inputmethod/latin/CandidateView.java
@@ -278,6 +278,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private final ArrayList<CharSequence> mTexts = new ArrayList<CharSequence>();
+ public final boolean mAutoCorrectionVisualFlashEnabled;
public boolean mMoreSuggestionsAvailable;
public SuggestionsStripParams(Context context, AttributeSet attrs, int defStyle,
@@ -285,6 +286,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
super(words, dividers, infos);
final TypedArray a = context.obtainStyledAttributes(
attrs, R.styleable.CandidateView, defStyle, R.style.CandidateViewStyle);
+ mAutoCorrectionVisualFlashEnabled = a.getBoolean(
+ R.styleable.CandidateView_autoCorrectionVisualFlashEnabled, false);
mAutoCorrectHighlight = a.getInt(R.styleable.CandidateView_autoCorrectHighlight, 0);
mColorTypedWord = a.getColor(R.styleable.CandidateView_colorTypedWord, 0);
mColorAutoCorrect = a.getColor(R.styleable.CandidateView_colorAutoCorrect, 0);
@@ -700,6 +703,9 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
}
public void onAutoCorrectionInverted(CharSequence autoCorrectedWord) {
+ if (!mStripParams.mAutoCorrectionVisualFlashEnabled) {
+ return;
+ }
final CharSequence inverted = mStripParams.getInvertedText(autoCorrectedWord);
if (inverted == null)
return;
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index c28e40d95..a932f03ac 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -190,8 +190,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
private long mLastKeyTime;
private AudioManager mAudioManager;
- // Align sound effect volume on music volume
- private static final float FX_VOLUME = -1.0f;
+ private static float mFxVolume = -1.0f; // just a default value to be updated runtime
private boolean mSilentModeOn; // System-wide current configuration
// TODO: Move this flag to VoiceProxy
@@ -510,6 +509,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if (null == mSubtypeSwitcher) mSubtypeSwitcher = SubtypeSwitcher.getInstance();
mSettingsValues = new Settings.Values(mPrefs, this, mSubtypeSwitcher.getInputLocaleStr());
resetContactsDictionary(null == mSuggest ? null : mSuggest.getContactsDictionary());
+ updateSoundEffectVolume();
}
private void initSuggest() {
@@ -2068,14 +2068,24 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
};
+ // update sound effect volume
+ private void updateSoundEffectVolume() {
+ if (mAudioManager == null) {
+ mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ if (mAudioManager == null) return;
+ }
+ // This aligns with the current media volume minus 6dB
+ mFxVolume = (float) mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
+ / (float) mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC) / 4.0f;
+ }
+
// update flags for silent mode
private void updateRingerMode() {
if (mAudioManager == null) {
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+ if (mAudioManager == null) return;
}
- if (mAudioManager != null) {
- mSilentModeOn = (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL);
- }
+ mSilentModeOn = (mAudioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL);
}
private void playKeyClick(int primaryCode) {
@@ -2087,8 +2097,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
}
}
if (isSoundOn()) {
- // FIXME: Volume and enable should come from UI settings
- // FIXME: These should be triggered after auto-repeat logic
int sound = AudioManager.FX_KEYPRESS_STANDARD;
switch (primaryCode) {
case Keyboard.CODE_DELETE:
@@ -2101,7 +2109,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
sound = AudioManager.FX_KEYPRESS_SPACEBAR;
break;
}
- mAudioManager.playSoundEffect(sound, FX_VOLUME);
+ mAudioManager.playSoundEffect(sound, mFxVolume);
}
}
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index f10b1b845..0a391a77e 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -318,7 +318,7 @@ public class SubtypeSwitcher {
// when the API level is 10 or previous.
mService.notifyOnCurrentInputMethodSubtypeChanged(subtype);
}
- }.execute();
+ }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
public Drawable getShortcutIcon() {
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 44e999572..d2b6bcdf2 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -126,7 +126,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
// 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
@@ -153,9 +153,14 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
composer.add(character, proximities,
WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE);
}
- dictionary.getWords(composer, suggestionsGatherer, mProximityInfo);
- final boolean isInDict = dictionary.isValidWord(text);
- final String[] suggestions = suggestionsGatherer.getGatheredSuggestions();
+ final boolean isInDict;
+ final String[] suggestions;
+ synchronized(dictionary) {
+ // TODO: make the dictionary reentrant so that we don't have to synchronize here
+ dictionary.getWords(composer, suggestionsGatherer, mProximityInfo);
+ isInDict = dictionary.isValidWord(text);
+ suggestions = suggestionsGatherer.getGatheredSuggestions();
+ }
final int flags =
(isInDict ? SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY : 0)
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java
new file mode 100644
index 000000000..483679a55
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsActivity.java
@@ -0,0 +1,43 @@
+/**
+ * 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.R;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+
+import java.util.List;
+
+/**
+ * Spell checker preference screen.
+ */
+public class SpellCheckerSettingsActivity extends PreferenceActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ public Intent getIntent() {
+ final Intent modIntent = new Intent(super.getIntent());
+ modIntent.putExtra(EXTRA_SHOW_FRAGMENT, SpellCheckerSettingsFragment.class.getName());
+ modIntent.putExtra(EXTRA_NO_HEADERS, true);
+ return modIntent;
+ }
+}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
new file mode 100644
index 000000000..9b821be35
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/spellcheck/SpellCheckerSettingsFragment.java
@@ -0,0 +1,41 @@
+/**
+ * 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.R;
+
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+/**
+ * Preference screen.
+ */
+public class SpellCheckerSettingsFragment extends PreferenceFragment {
+ private static final String TAG = SpellCheckerSettingsFragment.class.getSimpleName();
+
+ /**
+ * Empty constructor for fragment generation.
+ */
+ public SpellCheckerSettingsFragment() {
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ addPreferencesFromResource(R.xml.spell_checker_settings);
+ }
+}