aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.pngbin4047 -> 0 bytes
-rw-r--r--java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.pngbin3730 -> 0 bytes
-rw-r--r--java/res/layout/candidates_strip.xml40
-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.xml9
-rw-r--r--java/res/values-bg/strings.xml11
-rw-r--r--java/res/values-ca/strings.xml9
-rw-r--r--java/res/values-cs/strings.xml9
-rw-r--r--java/res/values-da/strings.xml9
-rw-r--r--java/res/values-de/strings.xml9
-rw-r--r--java/res/values-el/strings.xml13
-rw-r--r--java/res/values-es/strings.xml9
-rw-r--r--java/res/values-fa/strings.xml11
-rw-r--r--java/res/values-fi/strings.xml9
-rw-r--r--java/res/values-fr/strings.xml9
-rw-r--r--java/res/values-hr/strings.xml9
-rw-r--r--java/res/values-hu/strings.xml13
-rw-r--r--java/res/values-in/strings.xml9
-rw-r--r--java/res/values-iw/strings.xml19
-rw-r--r--java/res/values-ja/strings.xml9
-rw-r--r--java/res/values-ko/strings.xml11
-rw-r--r--java/res/values-lt/strings.xml11
-rw-r--r--java/res/values-lv/strings.xml9
-rw-r--r--java/res/values-nb/strings.xml9
-rw-r--r--java/res/values-nl/strings.xml13
-rw-r--r--java/res/values-pl/strings.xml4
-rw-r--r--java/res/values-pt-rPT/strings.xml9
-rw-r--r--java/res/values-pt/strings.xml9
-rw-r--r--java/res/values-ro/strings.xml9
-rw-r--r--java/res/values-ru/strings.xml9
-rw-r--r--java/res/values-sk/strings.xml9
-rw-r--r--java/res/values-sl/strings.xml9
-rw-r--r--java/res/values-sr/strings.xml9
-rw-r--r--java/res/values-sv/strings.xml9
-rw-r--r--java/res/values-sw/strings.xml9
-rw-r--r--java/res/values-th/strings.xml11
-rw-r--r--java/res/values-tl/strings.xml9
-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.xml9
-rw-r--r--java/res/values-zh-rCN/strings.xml9
-rw-r--r--java/res/values-zh-rTW/strings.xml11
-rw-r--r--java/res/values-zu/strings.xml9
-rw-r--r--java/res/values/styles.xml89
-rw-r--r--java/res/xml/spellchecker.xml20
-rw-r--r--java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java3
-rw-r--r--java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java5
-rw-r--r--java/src/com/android/inputmethod/deprecated/languageswitcher/LanguageSwitcher.java4
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java17
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java5
-rw-r--r--java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java14
-rw-r--r--java/src/com/android/inputmethod/keyboard/PointerTracker.java21
-rw-r--r--java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java73
-rw-r--r--java/src/com/android/inputmethod/keyboard/PopupPanel.java19
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java4
-rw-r--r--java/src/com/android/inputmethod/latin/CandidateView.java115
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFactory.java14
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableDictionary.java14
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java8
-rw-r--r--java/src/com/android/inputmethod/latin/LocaleUtils.java51
-rw-r--r--java/src/com/android/inputmethod/latin/Settings.java6
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java2
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestedWords.java2
-rw-r--r--java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserDictionary.java41
-rw-r--r--java/src/com/android/inputmethod/latin/Utils.java34
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java8
67 files changed, 535 insertions, 472 deletions
diff --git a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index 4002dbe65..000000000
--- a/java/res/drawable-hdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png b/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
deleted file mode 100644
index 7be7ab7e2..000000000
--- a/java/res/drawable-mdpi/keyboard_popup_panel_background_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/java/res/layout/candidates_strip.xml b/java/res/layout/candidates_strip.xml
index bcc1322b6..fdb13f73e 100644
--- a/java/res/layout/candidates_strip.xml
+++ b/java/res/layout/candidates_strip.xml
@@ -22,38 +22,16 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
- <LinearLayout
- android:id="@+id/candidates_strip"
- android:orientation="horizontal"
- android:layout_weight="1.0"
- android:layout_width="0dp"
- android:layout_height="match_parent" />
- <LinearLayout
- android:id="@+id/touch_to_save"
- android:orientation="horizontal"
+ <!-- Placer for debug information -->
+ <RelativeLayout
+ android:id="@+id/candidates_placer"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:visibility="gone"
>
- <Button
- android:id="@+id/word_to_save"
- android:layout_weight="1.0"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:layout_gravity="center_vertical"
- android:textSize="@dimen/candidate_text_size"
- android:singleLine="true"
- android:ellipsize="middle"
- style="?attr/suggestionBackgroundStyle" />
- <include
- layout="@layout/candidate_divider" />
- <TextView
- android:layout_weight="2.0"
- android:layout_width="0dp"
- android:layout_height="match_parent"
- android:gravity="left|center_vertical"
- android:text="@string/hint_add_to_dictionary"
- android:textSize="@dimen/candidate_text_size"
- android:background="@null" />
- </LinearLayout>
+ <LinearLayout
+ android:id="@+id/candidates_strip"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+ </RelativeLayout>
</merge>
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index 8d3632826..fee4f44c3 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -25,12 +25,9 @@
<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="android_spell_checker_settings" msgid="5822324635435443689">"Speltoetser se instellings"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Gebruik nabyheidsdata"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Gebruik \'n sleutelbordagtige nabyheidsalgoritme vir die speltoetser"</string>
<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>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 16595d22a..fbcc0ec25 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -25,12 +25,9 @@
<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="android_spell_checker_settings" msgid="5822324635435443689">"የፊደል አራሚ ቅንብሮች"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"የቀረቤታ ውሂብ ተጠቀም"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"ለፊደል አራሚ የሰሌዳ ቁልፍ አይነት የቀረበ ስልተ ቀመር ተጠቀም"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"በቁልፍመጫንጊዜ አንዝር"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"በቁልፍ መጫን ላይ የሚወጣ ድምፅ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ቁልፍ ጫን ላይ ብቅ ባይ"</string>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index 305f927d5..94a1b5571 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"إعدادات لوحة مفاتيح Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"خيارات الإرسال"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"إعدادات التدقيق الإملائي"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"استخدام بيانات التقريب"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"استخدام خوارزمية تقريب شبيهة بلوحة المفاتيح لإجراء التدقيق الإملائي"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"اهتزاز عند الضغط على مفتاح"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"صوت عند الضغط على مفتاح"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"انبثاق عند الضغط على المفاتيح"</string>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index 72827303a..5f7f3b122 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Настройки на клавиатурата на Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Опции за въвеждане"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Настройки за проверка на правописа"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Данни за близост: Изп."</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Проверка на правописа: Използвайте алгоритъм за близост"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Да вибрира при натискане на клавиш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натискане на клавиш"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Изскачащ прозорец при натискане на клавиш"</string>
@@ -147,7 +144,7 @@
<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_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>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index 6daca172e..026707782 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Configuració de la correcció ortogràfica"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Utilitza les dades de proximitat"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Utilitza un algorisme de proximitat similar al teclat per comprovar l\'ortografia"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Finestra emergent en prémer un botó"</string>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index 9cd237edd..60e2cdb45 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Nastavení kontroly pravopisu"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Použít údaje o blízkosti"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Při kontrole pravopisu uvažovat blízkost písmen na klávesnici"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Zobrazit znaky při stisku klávesy"</string>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index 6779fbfa0..c28716243 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Indstillinger for Android-tastatur"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Indstillinger for input"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Indstillinger for stavekontrol"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Brug nærhedsdata"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Brug en tastaturlignende nærhedsalgoritme til stavekontrol"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibration ved tastetryk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetryk"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup ved tastetryk"</string>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index 7e02c0a03..e5f955528 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Android-Tastatureinstellungen"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Eingabeoptionen"</string>
<string name="spell_checker_service_name" msgid="2003013122022285508">"Rechtschreibprüfung für 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="android_spell_checker_settings" msgid="5822324635435443689">"Einstellungen für Rechtschreibprüfung"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Näherungsdaten verwenden"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Tastaturähnl. Abstandsalgorith. für Rechtschreibprüfung verwenden"</string>
<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 e0c503341..84715c6b7 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Ρυθμίσεις πληκτρολογίου Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Επιλογές εισόδου"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Ρυθμίσεις ορθογραφικού ελέγχου"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Χρ. δεδ. εγγύτ."</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Χρησ. αλγόρ. εγγύτ. τύπου πληκτρ., για ορθ. έλεγχο"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Δόνηση κατά το πάτημα πλήκτρων"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Ήχος κατά το πάτημα πλήκτρων"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Εμφάνιση με το πάτημα πλήκτρου"</string>
@@ -148,7 +145,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-es/strings.xml b/java/res/values-es/strings.xml
index 6c71da0f7..e137ab9f9 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Ajustes del teclado de Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opciones introducción texto"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Ajustes del corrector ortográfico"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Usar datos de proximidad"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Usar algoritmo proximidad tipo teclado para corrector ortográfico"</string>
<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>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index 7a9036d98..02d43fdb1 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"تنظیمات صفحه کلید Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"گزینه های ورودی"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"تنظیمات غلط گیری املایی"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"استفاده از داده‌های مجاورت"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"استفاده از یک الگوریتم مجاورت مشابه صفحه کلید برای غلط گیری املایی"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"لرزش با فشار کلید"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"صدا با فشار کلید"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"بازشو با فشار کلید"</string>
@@ -151,7 +148,7 @@
<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_de_qwerty" msgid="3358900499589259491">"QWERTY آلمانی"</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>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index 0bffcee2d..73ac33fe6 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Android-näppäimistön asetukset"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Syöttövalinnat"</string>
<string name="spell_checker_service_name" msgid="2003013122022285508">"Android-korjaus"</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="android_spell_checker_settings" msgid="5822324635435443689">"Oikoluvun asetukset"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Käytä lähestymistietoja"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Käytä näppäimistön kaltaista lähestymisalgoritmia oikolukuun"</string>
<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 c58bea57b..f93d67269 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Paramètre du correcteur orthographique"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Utiliser données proximité"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Utiliser algorithme de proximité clavier pour correcteur ortho"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer à chaque touche"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Son à chaque touche"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Agrandir les caractères"</string>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index d083b6861..376033d5b 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Postavke tipkovnice za Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opcije ulaza"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Postavke provjere pravopisa"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Upotreba podataka blizine"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Za prov. pravopisa upotrijebi algoritam blizine kao na tipkovnici"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Povećanja na pritisak tipke"</string>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index afae17d91..a7153bbd4 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Helyesírás-ellenőrzés beállításai"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Közelségi adatok haszn."</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Bill.-szerű közelségi algoritmus használata helyesírás-ell.-hez"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Legyen nagyobb billentyű lenyomásakor"</string>
@@ -148,7 +145,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 (Egyesült Királyság)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"angol (Egyesült Államok)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"angol (brit)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"angol (amerikai)"</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 f3506863f..11a1d3ddf 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Setelan keyboard Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opsi masukan"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Setelan pemeriksaan ejaan"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Gunakan data kedekatan"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Gunakan algoritme kedekatan seperti keyboard untuk memeriksa ejaan"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar jika tombol ditekan"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Berbunyi jika tombol ditekan"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Muncul saat tombol ditekan"</string>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index 5f09c09f3..dee7f9cae 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"הגדרות מקלדת של Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"אפשרויות קלט"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"הגדרות בדיקת איות"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"שימוש בנתוני הקירבה"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"השתמש באלגוריתם קירבה דמוי-מקלדת עבור בדיקת איות"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"רטט בלחיצה על מקשים"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"צלילים בעת לחיצה על מקשים"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"חלון קופץ בלחיצה על מקש"</string>
@@ -88,7 +85,7 @@
<string name="spoken_description_space" msgid="2582521050049860859">"רווח"</string>
<string name="spoken_description_mic" msgid="615536748882611950">"קלט קולי"</string>
<string name="spoken_description_smiley" msgid="2256309826200113918">"פרצוף סמיילי"</string>
- <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string>
+ <string name="spoken_description_return" msgid="8178083177238315647">"חזור"</string>
<string name="spoken_description_comma" msgid="4970844442999724586">"פסיק"</string>
<string name="spoken_description_period" msgid="5286614628077903945">"נקודה"</string>
<string name="spoken_description_left_parenthesis" msgid="8524822120595052415">"סוגריים שמאליים"</string>
@@ -112,7 +109,7 @@
<string name="voice_warning_title" msgid="4419354150908395008">"קלט קולי"</string>
<string name="voice_warning_locale_not_supported" msgid="637923019716442333">"קלט קולי אינו נתמך בשלב זה בשפתך, אך הוא פועל באנגלית."</string>
<string name="voice_warning_may_not_understand" msgid="5596289095878251072">"קלט קולי משתמש בזיהוי דיבור של Google.‏ "<a href="http://m.google.com/privacy">"מדיניות הפרטיות של \'Google לנייד\'"</a>" חלה במקרה זה."</string>
- <string name="voice_warning_how_to_turn_off" msgid="3190378129944934856">"כדי לכבות את הקלט הקולי, עבור להגדרות שיטת קלט."</string>
+ <string name="voice_warning_how_to_turn_off" msgid="3190378129944934856">"כדי לכבות את הקלט הקולי, עבור להגדרות של שיטת קלט."</string>
<string name="voice_hint_dialog_message" msgid="1420686286820661548">"כדי להשתמש בקלט קולי, לחץ על לחצן המיקרופון."</string>
<string name="voice_listening" msgid="467518160751321844">"דבר עכשיו"</string>
<string name="voice_working" msgid="6666937792815731889">"פועל"</string>
@@ -131,10 +128,10 @@
<string name="ok" msgid="7898366843681727667">"אישור"</string>
<string name="voice_input" msgid="2466640768843347841">"קלט קולי"</string>
<string name="voice_input_modes_main_keyboard" msgid="3360660341121083174">"במקלדת הראשית"</string>
- <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"במקלדת הסמלים"</string>
+ <string name="voice_input_modes_symbols_keyboard" msgid="7203213240786084067">"במקלדת סמלים"</string>
<string name="voice_input_modes_off" msgid="3745699748218082014">"כבוי"</string>
<string name="voice_input_modes_summary_main_keyboard" msgid="6586544292900314339">"מיקרופון במקלדת הראשית"</string>
- <string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"מיקרופון במקלדת הסמלים"</string>
+ <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>
@@ -145,7 +142,7 @@
<string name="prefs_enable_log" msgid="6620424505072963557">"הפוך משוב ממשתמשים לפעיל"</string>
<string name="prefs_description_log" msgid="5827825607258246003">"עזור לשפר את עורך שיטת הקלט על ידי שליחה אוטומטית של סטטיסטיקת שימוש ודוחות קריסת מחשב ל-Google."</string>
<string name="prefs_enable_recorrection" msgid="4588408906649533582">"גע כדי לתקן מילים"</string>
- <string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"גע במילים שהוזנו כדי לתקן אותן, רק כאשר הצעות מוצגות"</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>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index 563877181..a3431fbc4 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Androidキーボードの設定"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"入力オプション"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"スペルチェックの設定"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"近接データを使用"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"スペルチェックでキーボードと同じような近接アルゴリズムを使用する"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"キー操作バイブ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"キー操作音"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"キー押下時ポップアップ"</string>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 83cf906c8..cc895d7c2 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -23,13 +23,10 @@
<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>
- <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="spell_checker_service_name" msgid="2003013122022285508">"Android 교정"</string>
+ <string name="android_spell_checker_settings" msgid="5822324635435443689">"맞춤법 검사 설정"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"근접 데이터 사용"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"맞춤법 검사에 대해 키보드와 유사한 근접 알고리즘 사용"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"키를 누를 때 진동 발생"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"키를 누를 때 소리 발생"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"키를 누를 때 팝업"</string>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 19b04b889..8f28465cd 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"„Android“ klaviatūros nustatymai"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Įvesties parinktys"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Rašybos tikrinimo nustatymai"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Naudoti artimumo duomenis"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Naudokite klaviatūros tipo artimumo algoritmą rašybai patikrinti"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Iššoka paspaudus klavišą"</string>
@@ -148,7 +145,7 @@
<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">"Vokiška QWERTY klaviatūra"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Anglų (JK)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"Anglų k. (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 48a3e892c..4a4d0f2b5 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Android tastatūras iestatījumi"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Ievades opcijas"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Pareizrakstības pārbaudes iestatījumi"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Tuvuma datu izmantošana"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Pareizrakstības pārbaudei izmantojiet tastatūrai līdzīgu tuvuma algoritmu."</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Nospiežot taustiņu, parādīt uznirstošo izvēlni"</string>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index 337ffa629..84db28199 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Innstillinger for skjermtastatur"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Inndataalternativer"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Innstillinger for stavekontroll"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Bruk nærhetsdata"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Bruk en tastaturlignende algoritme til stavekontroll"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer ved tastetrykk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetrykk"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Hurtigvindu ved tastetrykk"</string>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index 26e138d55..1adba8827 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Instellingen voor Android-toetsenbord"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropties"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Instellingen voor spellingcontrole"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Nabije toetsinfo gebr."</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Algoritme voor nabije toetsen gebruiken voor spellingcontrole"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Trillen bij toetsaanslag"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Geluid bij toetsaanslag"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bij toetsaanslag"</string>
@@ -148,7 +145,7 @@
<string name="prefs_enable_recorrection_summary" msgid="5082041365862396329">"Ingevoerde woorden aanraken om ze te verbeteren, alleen mogelijk wanneer suggesties zichtbaar zijn"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Toetsenbordthema"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"Duits QWERTY-toetsenbord"</string>
- <string name="subtype_en_GB" msgid="88170601942311355">"Engels (Verenigd Koninkrijk)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Engels (Verenigde Staten)"</string>
+ <string name="subtype_en_GB" msgid="88170601942311355">"Engels (GB)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus voor gebruiksvriendelijkheidsonderzoek"</string>
</resources>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index bedf93c82..4358a8b39 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -134,7 +134,7 @@
<string name="voice_input_modes_summary_symbols_keyboard" msgid="5233725927281932391">"Mikrofon na klawiaturze z symbolami"</string>
<string name="voice_input_modes_summary_off" msgid="63875609591897607">"Wprowadzanie głosowe jest wyłączone"</string>
<string name="selectInputMethod" msgid="315076553378705821">"Wybierz sposób wprowadzania tekstu"</string>
- <string name="configure_input_method" msgid="373356270290742459">"Konfigurowanie metod wprowadzania"</string>
+ <string name="configure_input_method" msgid="373356270290742459">"Konfiguruj metody wprowadzania"</string>
<string name="language_selection_title" msgid="1651299598555326750">"Języki wprowadzania"</string>
<string name="select_language" msgid="2573265881207142437">"Wybierz języki wprowadzania"</string>
<string name="hint_add_to_dictionary" msgid="9006292060636342317">"← Dotknij ponownie, aby zapisać"</string>
@@ -146,6 +146,6 @@
<string name="keyboard_layout" msgid="8451164783510487501">"Motyw klawiatury"</string>
<string name="subtype_de_qwerty" msgid="3358900499589259491">"Niemiecka QWERTY"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"Angielska (Wielka Brytania)"</string>
- <string name="subtype_en_US" msgid="6160452336634534239">"Angielska (USA)"</string>
+ <string name="subtype_en_US" msgid="6160452336634534239">"Angielska (Stany Zjednoczone)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tryb badania przydatności"</string>
</resources>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 44f38591e..d1e2e5df6 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Definições de teclado do Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Opções de introdução"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Definições da verificação ortográfica"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Utilizar dados de prox."</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Util. algoritmo de prox. semelhante a teclado para verif. ortog."</string>
<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 793c78fd4..a41a2ece2 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Configurações de verificação ortográfica"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Usar dados de proximidade"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Usar algoritmo de prox. tipo teclado para verificação ortográfica"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Exibir pop-up ao digitar"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index ee3e1f054..c8001a9b9 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Setări de verificare ortografică"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Utiliz. datele de proxim."</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Utilizaţi un algor. de prox. similar tastat. pt. verif. ortograf."</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Fereastră pop-up la apăsarea tastei"</string>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 61faf3e3e..fdf404126 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Настройки клавиатуры Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Параметры ввода"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Настройка проверки правописания"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Алгоритм близости клавиш"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Использовать алгоритм близости клавиш для проверки правописания"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Виброотклик клавиш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук клавиш"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Увеличение нажатых"</string>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index 3e7ed1475..e025ae694 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Nastavenia kontroly pravopisu"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Použiť údaje o blízkosti"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Na kontr. pravopis. použiť algor. vzdialenosti ako pri kláves."</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Zobraziť znaky pri stlačení klávesu"</string>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index cda15987c..92f52ea42 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Nastavitve tipkovnice Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti vnosa"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Nastavitve preverjanja črkovanja"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Uporabi podatke bližine"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Uporaba algoritma za preverjanje črkovanja na podlagi bližine znakov na tipkovnici"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibriranje ob pritisku tipke"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvok ob pritisku tipke"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pojavno okno ob pritisku tipke"</string>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index 083af7a40..b3f17931f 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Подешавања Android тастатуре"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Опције уноса"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Подешавања провере правописа"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Употреба података близине"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Употреба алгоритма близине попут тастатуре за проверу правописа"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вибрирај на притисак тастера"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук на притисак тастера"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Искачући прозор приликом притиска тастера"</string>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index 82831ecf3..25b67ecac 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Inställningar för Androids tangentbord"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Inmatningsalternativ"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Inställningar för stavningskontroll"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Använd närhetsinformation"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Använd tangentbordsliknande närhetsalgoritm för stavningskontroll"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrera vid tangenttryck"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Knappljud"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup vid knapptryck"</string>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index 9c677d177..b57b88550 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -25,12 +25,9 @@
<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="android_spell_checker_settings" msgid="5822324635435443689">"Mipangilio ya kukagua sarufi"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Tumia data ya ukaribu"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Tumia kibodi kama ukaribu wa algorithmu kwa ukaguzi wa sarufi"</string>
<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>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index c53ed2e65..4a4d0db56 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"การตั้งค่าแป้นพิมพ์ Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"ตัวเลือกการป้อนข้อมูล"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"การตั้งค่าการตรวจสอบการสะกด"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"ใช้ข้อมูลที่ใกล้เคียง"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"ใช้อัลกอริทึมใกล้เคียงที่คล้ายกับแป้นพิมพ์สำหรับตรวจสอบการสะกด"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"สั่นเมื่อกดปุ่ม"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ส่งเสียงเมื่อกดปุ่ม"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ป๊อปอัปเมื่อกดแป้น"</string>
@@ -149,6 +146,6 @@
<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_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string>
<string name="prefs_usability_study_mode" msgid="1261130555134595254">"โหมดศึกษาประโยชน์ในการใช้งาน"</string>
</resources>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index 447baef79..27f8cf832 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Mga setting ng pang-check ng pagbabaybay"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Gamitin ang proximity data"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Gumamit ng proximity algorithm na tulad ng keyboard para sa pag-check ng pagbabaybay"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Mag-vibrate sa keypress"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tunog sa keypress"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup sa keypress"</string>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 986bfa65d..5cc6b8792 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Android klavye ayarları"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Giriş seçenekleri"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Yazım denetimi ayarları"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Yakınlık verilri kullan"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Yazım denetimi içn klavye benzeri yakınlık algoritması kullan"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Tuşa basıldığında pop-up aç"</string>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 4c7ccc6c2..30c0181c7 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Налашт-ня клавіат. Android"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"Парам. введення"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Налаштування перевірки орфографії"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Використ. дані близькості"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Для перевірки орфогр. викор. алгоритм близьк., аналог. клавіат."</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібр при натиску клав."</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натиску клав."</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Сплив. при нат.клав."</string>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index caf9d579e..bfc85d021 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -24,12 +24,9 @@
<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>
<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="android_spell_checker_settings" msgid="5822324635435443689">"Cài đặt kiểm tra chính tả"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Sử dụng dữ liệu gần"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Dùng thuật toán gần, như của bàn phím để k.tra chính tả"</string>
<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>
<string name="popup_on_keypress" msgid="123894815723512944">"Cửa sổ bật lên khi nhấn phím"</string>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index cdbd64dd1..e6f3ecbc1 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -24,12 +24,9 @@
<string name="english_ime_settings" msgid="6661589557206947774">"Android 键盘设置"</string>
<string name="english_ime_input_options" msgid="3909945612939668554">"输入选项"</string>
<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="android_spell_checker_settings" msgid="5822324635435443689">"拼写检查设置"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"使用邻近度数据"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"使用类似键盘的邻近度算法进行拼写检查"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按键时振动"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按键时播放音效"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"按键时显示弹出窗口"</string>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index f14a60542..c2fd8775f 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -23,13 +23,10 @@
<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>
- <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="spell_checker_service_name" msgid="2003013122022285508">"Android 拼字修正服務"</string>
+ <string name="android_spell_checker_settings" msgid="5822324635435443689">"拼字檢查設定"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"使用鄰近資料"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"運用類似鍵盤的鄰近演算法進行拼字檢查"</string>
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按鍵時震動"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按鍵時播放音效"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"按鍵時顯示彈出式視窗"</string>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index b4688fd93..f25057fd4 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -25,12 +25,9 @@
<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="android_spell_checker_settings" msgid="5822324635435443689">"Izilungiselelo zokuhlola ukupela"</string>
+ <string name="use_proximity_option_title" msgid="7469233942295924620">"Sebenzisa imininingo ye-proximity"</string>
+ <string name="use_proximity_option_summary" msgid="2857708859847261945">"Sebenzisa i-proximity algorithm efana ne-keyboard ukuhlola ukupela"</string>
<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>
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index cb9edb0b8..7936f3c3c 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -29,7 +29,8 @@
<item name="maxPopupKeyboardColumn">@integer/config_max_popup_keyboard_column</item>
</style>
<style name="LatinKeyboard">
- <item name="autoCorrectionSpacebarLedEnabled">@bool/config_auto_correction_spacebar_led_enabled</item>
+ <item name="autoCorrectionSpacebarLedEnabled">@bool/config_auto_correction_spacebar_led_enabled
+ </item>
<item name="spacebarTextColor">#FFC0C0C0</item>
<item name="spacebarTextShadowColor">#80000000</item>
</style>
@@ -66,7 +67,10 @@
<item name="shadowRadius">2.75</item>
<item name="backgroundDimAmount">0.5</item>
</style>
- <style name="PopupMiniKeyboardView" parent="KeyboardView">
+ <style
+ name="PopupMiniKeyboardView"
+ parent="KeyboardView"
+ >
<item name="keyBackground">@drawable/btn_keyboard_key_popup</item>
<item name="verticalCorrection">@dimen/mini_keyboard_vertical_correction</item>
</style>
@@ -84,7 +88,10 @@
<style name="SuggestionPreviewBackgroundStyle">
<item name="android:background">@drawable/candidate_feedback_background</item>
</style>
- <style name="CandidateViewStyle" parent="SuggestionsStripBackgroundStyle">
+ <style
+ name="CandidateViewStyle"
+ parent="SuggestionsStripBackgroundStyle"
+ >
<item name="suggestionStripOption">autoCorrectBold</item>
<item name="colorTypedWord">#FFFFFFFF</item>
<item name="colorAutoCorrect">#FFFCAE00</item>
@@ -93,23 +100,35 @@
<item name="centerCandidatePercentile">@integer/center_candidate_percentile</item>
</style>
<!-- Theme "Basic high contrast" -->
- <style name="KeyboardView.HighContrast" parent="KeyboardView">
+ <style
+ name="KeyboardView.HighContrast"
+ parent="KeyboardView"
+ >
<item name="android:background">@android:color/black</item>
<item name="keyBackground">@drawable/btn_keyboard_key3</item>
</style>
<!-- Theme "Stone" -->
- <style name="Keyboard.Stone" parent="Keyboard">
+ <style
+ name="Keyboard.Stone"
+ parent="Keyboard"
+ >
<item name="keyboardHeight">@dimen/keyboardHeight_stone</item>
<item name="keyboardTopPadding">@fraction/keyboard_top_padding_stone</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_stone</item>
<item name="horizontalGap">@fraction/key_horizontal_gap_stone</item>
<item name="verticalGap">@fraction/key_bottom_gap_stone</item>
</style>
- <style name="LatinKeyboard.Stone" parent="LatinKeyboard">
+ <style
+ name="LatinKeyboard.Stone"
+ parent="LatinKeyboard"
+ >
<item name="spacebarTextColor">#FF000000</item>
<item name="spacebarTextShadowColor">#D0FFFFFF</item>
</style>
- <style name="KeyboardView.Stone" parent="KeyboardView">
+ <style
+ name="KeyboardView.Stone"
+ parent="KeyboardView"
+ >
<item name="keyBackground">@drawable/btn_keyboard_key_stone</item>
<item name="keyTextColor">#FF000000</item>
<item name="keyTextInactivatedColor">#FF808080</item>
@@ -119,39 +138,63 @@
<item name="keyUppercaseLetterActivatedColor">#CC000000</item>
<item name="shadowColor">#FFFFFFFF</item>
</style>
- <style name="PopupMiniKeyboardView.Stone" parent="PopupMiniKeyboardView">
+ <style
+ name="PopupMiniKeyboardView.Stone"
+ parent="PopupMiniKeyboardView"
+ >
<item name="keyBackground">@drawable/btn_keyboard_key_stone</item>
<item name="keyTextColor">#FF000000</item>
<item name="shadowColor">#FFFFFFFF</item>
</style>
<!-- Theme "Stone bold" -->
- <style name="KeyboardView.Stone.Bold" parent="KeyboardView.Stone">
+ <style
+ name="KeyboardView.Stone.Bold"
+ parent="KeyboardView.Stone"
+ >
<item name="keyTextStyle">bold</item>
</style>
<!-- Theme "Gingerbread" -->
- <style name="Keyboard.Gingerbread" parent="Keyboard">
+ <style
+ name="Keyboard.Gingerbread"
+ parent="Keyboard"
+ >
<item name="horizontalGap">@fraction/key_horizontal_gap_gb</item>
<item name="verticalGap">@fraction/key_bottom_gap_gb</item>
</style>
- <style name="KeyboardView.Gingerbread" parent="KeyboardView">
+ <style
+ name="KeyboardView.Gingerbread"
+ parent="KeyboardView"
+ >
<item name="android:background">@drawable/keyboard_dark_background</item>
<item name="keyBackground">@drawable/btn_keyboard_key_gingerbread</item>
<item name="keyTextStyle">bold</item>
</style>
- <style name="PopupMiniKeyboardView.Gingerbread" parent="PopupMiniKeyboardView">
+ <style
+ name="PopupMiniKeyboardView.Gingerbread"
+ parent="PopupMiniKeyboardView"
+ >
<item name="android:background">@null</item>
</style>
<!-- Theme "IceCreamSandwich" -->
- <style name="Keyboard.IceCreamSandwich" parent="Keyboard" >
+ <style
+ name="Keyboard.IceCreamSandwich"
+ parent="Keyboard"
+ >
<item name="keyboardTopPadding">@fraction/keyboard_top_padding_ics</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_ics</item>
<item name="horizontalGap">@fraction/key_horizontal_gap_ics</item>
<item name="verticalGap">@fraction/key_bottom_gap_ics</item>
</style>
- <style name="LatinKeyboard.IceCreamSandwich" parent="LatinKeyboard">
+ <style
+ name="LatinKeyboard.IceCreamSandwich"
+ parent="LatinKeyboard"
+ >
<item name="disabledShortcutIcon">@drawable/sym_keyboard_voice_off_holo</item>
</style>
- <style name="KeyboardView.IceCreamSandwich" parent="KeyboardView">
+ <style
+ name="KeyboardView.IceCreamSandwich"
+ parent="KeyboardView"
+ >
<item name="android:background">@drawable/keyboard_background_holo</item>
<item name="keyBackground">@drawable/btn_keyboard_key_ics</item>
<item name="keyTextStyle">bold</item>
@@ -169,7 +212,10 @@
<item name="shadowColor">#00000000</item>
<item name="shadowRadius">0.0</item>
</style>
- <style name="PopupMiniKeyboardView.IceCreamSandwich" parent="PopupMiniKeyboardView">
+ <style
+ name="PopupMiniKeyboardView.IceCreamSandwich"
+ parent="PopupMiniKeyboardView"
+ >
<item name="android:background">@null</item>
<item name="keyBackground">@drawable/btn_keyboard_key_popup_ics</item>
</style>
@@ -184,10 +230,15 @@
<style name="SuggestionBackgroundStyle.IceCreamSandwich">
<item name="android:background">@drawable/btn_candidate_ics</item>
</style>
- <style name="SuggestionPreviewBackgroundStyle.IceCreamSandwich">
- <item name="android:background">@drawable/keyboard_popup_panel_background_holo</item>
+ <style
+ name="SuggestionPreviewBackgroundStyle.IceCreamSandwich"
+ parent="PopupMiniKeyboardPanelStyle.IceCreamSandwich"
+ >
</style>
- <style name="CandidateViewStyle.IceCreamSandwich" parent="SuggestionsStripBackgroundStyle.IceCreamSandwich">
+ <style
+ name="CandidateViewStyle.IceCreamSandwich"
+ parent="SuggestionsStripBackgroundStyle.IceCreamSandwich"
+ >
<item name="suggestionStripOption">autoCorrectBold|validTypedWordBold</item>
<item name="colorTypedWord">#FFBCBEC0</item>
<item name="colorAutoCorrect">#FF0099CC</item>
diff --git a/java/res/xml/spellchecker.xml b/java/res/xml/spellchecker.xml
index ce09264ce..30fac5b20 100644
--- a/java/res/xml/spellchecker.xml
+++ b/java/res/xml/spellchecker.xml
@@ -23,11 +23,23 @@
<spell-checker xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/spell_checker_service_name">
<subtype
- android:label="@string/subtype_en_US"
- android:subtypeLocale="en_US"
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="en"
/>
<subtype
- android:label="@string/subtype_en_GB"
- android:subtypeLocale="en_GB"
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="fr"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="de"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="it"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="es"
/>
</spell-checker>
diff --git a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
index 4929dd948..5c54fa548 100644
--- a/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
+++ b/java/src/com/android/inputmethod/compat/SuggestionSpanUtils.java
@@ -53,7 +53,8 @@ public class SuggestionSpanUtils {
public static CharSequence getTextWithSuggestionSpan(Context context,
CharSequence pickedWord, SuggestedWords suggestedWords) {
if (TextUtils.isEmpty(pickedWord) || CONSTRUCTOR_SuggestionSpan == null
- || suggestedWords == null || suggestedWords.size() == 0) {
+ || suggestedWords == null || suggestedWords.size() == 0
+ || suggestedWords.getInfo(0).isObsoleteSuggestedWord()) {
return pickedWord;
}
diff --git a/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java b/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
index 7eb5acda8..b6e0ec9cf 100644
--- a/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
+++ b/java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java
@@ -18,6 +18,7 @@ package com.android.inputmethod.deprecated.languageswitcher;
import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.latin.DictionaryFactory;
+import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SharedPreferencesCompat;
@@ -155,7 +156,7 @@ public class InputLanguageSelection extends PreferenceActivity {
private Pair<Long, Boolean> hasDictionaryOrLayout(Locale locale) {
if (locale == null) return new Pair<Long, Boolean>(null, false);
final Resources res = getResources();
- final Locale saveLocale = Utils.setSystemLocale(res, locale);
+ final Locale saveLocale = LocaleUtils.setSystemLocale(res, locale);
final Long dictionaryId = DictionaryFactory.getDictionaryId(this, locale);
boolean hasLayout = false;
@@ -174,7 +175,7 @@ public class InputLanguageSelection extends PreferenceActivity {
} catch (XmlPullParserException e) {
} catch (IOException e) {
}
- Utils.setSystemLocale(res, saveLocale);
+ LocaleUtils.setSystemLocale(res, saveLocale);
return new Pair<Long, Boolean>(dictionaryId, hasLayout);
}
diff --git a/java/src/com/android/inputmethod/deprecated/languageswitcher/LanguageSwitcher.java b/java/src/com/android/inputmethod/deprecated/languageswitcher/LanguageSwitcher.java
index 1eedb5ee1..8070942d0 100644
--- a/java/src/com/android/inputmethod/deprecated/languageswitcher/LanguageSwitcher.java
+++ b/java/src/com/android/inputmethod/deprecated/languageswitcher/LanguageSwitcher.java
@@ -18,9 +18,9 @@ package com.android.inputmethod.deprecated.languageswitcher;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
+import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SharedPreferencesCompat;
-import com.android.inputmethod.latin.Utils;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
@@ -126,7 +126,7 @@ public class LanguageSwitcher {
private void constructLocales() {
mLocales.clear();
for (final String lang : mSelectedLanguageArray) {
- final Locale locale = Utils.constructLocaleFromString(lang);
+ final Locale locale = LocaleUtils.constructLocaleFromString(lang);
mLocales.add(locale);
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java b/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
index 864091289..6f5420882 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardActionListener.java
@@ -76,4 +76,21 @@ public interface KeyboardActionListener {
* @return true if the request has been consumed, false otherwise.
*/
public boolean onCustomRequest(int requestCode);
+
+ public static class Adapter implements KeyboardActionListener {
+ @Override
+ public void onPress(int primaryCode, boolean withSliding) {}
+ @Override
+ public void onRelease(int primaryCode, boolean withSliding) {}
+ @Override
+ public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) {}
+ @Override
+ public void onTextInput(CharSequence text) {}
+ @Override
+ public void onCancelInput() {}
+ @Override
+ public boolean onCustomRequest(int requestCode) {
+ return false;
+ }
+ }
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index b1212f424..e43ae55a8 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -33,6 +33,7 @@ import com.android.inputmethod.keyboard.internal.ModifierKeyState;
import com.android.inputmethod.keyboard.internal.ShiftKeyState;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
+import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SubtypeSwitcher;
@@ -258,11 +259,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
final SoftReference<LatinKeyboard> ref = mKeyboardCache.get(id);
LatinKeyboard keyboard = (ref == null) ? null : ref.get();
if (keyboard == null) {
- final Locale savedLocale = Utils.setSystemLocale(mResources, id.mLocale);
+ final Locale savedLocale = LocaleUtils.setSystemLocale(mResources, id.mLocale);
try {
keyboard = new LatinKeyboard.Builder(mThemeContext).load(id).build();
} finally {
- Utils.setSystemLocale(mResources, savedLocale);
+ LocaleUtils.setSystemLocale(mResources, savedLocale);
}
mKeyboardCache.put(id, new SoftReference<LatinKeyboard>(keyboard));
diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java
index be04b5a52..5fa9b8fc4 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java
@@ -81,6 +81,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
private int mOldPointerCount = 1;
private int mOldKeyIndex;
+ private final boolean mConfigShowMiniKeyboardAtTouchedPoint;
protected KeyDetector mKeyDetector;
// To detect double tap.
@@ -225,6 +226,8 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
a.recycle();
final Resources res = getResources();
+ mConfigShowMiniKeyboardAtTouchedPoint = res.getBoolean(
+ R.bool.config_show_mini_keyboard_at_touched_point);
final float keyHysteresisDistance = res.getDimension(R.dimen.key_hysteresis_distance);
mKeyDetector = new KeyDetector(keyHysteresisDistance);
@@ -459,7 +462,13 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
mPopupPanel = popupPanel;
mPopupPanelPointerTrackerId = tracker.mPointerId;
- popupPanel.showPopupPanel(this, parentKey, tracker, mPopupWindow);
+ final Keyboard keyboard = getKeyboard();
+ mPopupPanel.setShifted(keyboard.isShiftedOrShiftLocked());
+ final int pointX = (mConfigShowMiniKeyboardAtTouchedPoint) ? tracker.getLastX()
+ : parentKey.mX + parentKey.mWidth / 2;
+ final int pointY = parentKey.mY - keyboard.mVerticalGap;
+ popupPanel.showPopupPanel(
+ this, this, pointX, pointY, mPopupWindow, getKeyboardActionListener());
final int translatedX = popupPanel.translateX(tracker.getLastX());
final int translatedY = popupPanel.translateY(tracker.getLastY());
tracker.onShowPopupPanel(translatedX, translatedY, SystemClock.uptimeMillis(), popupPanel);
@@ -486,6 +495,9 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
@Override
public boolean onTouchEvent(MotionEvent me) {
+ if (getKeyboard() == null) {
+ return false;
+ }
return mTouchScreenRegulator.onTouchEvent(me);
}
diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
index d33cb442b..7ae62200d 100644
--- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java
+++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java
@@ -63,13 +63,12 @@ public class PointerTracker {
public TimerProxy getTimerProxy();
}
- public interface DrawingProxy {
+ public interface DrawingProxy extends PopupPanel.Controller {
public void invalidateKey(Key key);
public TextView inflateKeyPreviewText();
public void showKeyPreview(int keyIndex, PointerTracker tracker);
public void cancelShowKeyPreview(PointerTracker tracker);
public void dismissKeyPreview(PointerTracker tracker);
- public boolean dismissPopupPanel();
}
public interface TimerProxy {
@@ -140,20 +139,8 @@ public class PointerTracker {
private boolean mIgnoreModifierKey;
// Empty {@link KeyboardActionListener}
- private static final KeyboardActionListener EMPTY_LISTENER = new KeyboardActionListener() {
- @Override
- public void onPress(int primaryCode, boolean withSliding) {}
- @Override
- public void onRelease(int primaryCode, boolean withSliding) {}
- @Override
- public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) {}
- @Override
- public void onTextInput(CharSequence text) {}
- @Override
- public void onCancelInput() {}
- @Override
- public boolean onCustomRequest(int requestCode) { return false; }
- };
+ private static final KeyboardActionListener EMPTY_LISTENER =
+ new KeyboardActionListener.Adapter();
public static void init(boolean hasDistinctMultitouch, Context context) {
if (hasDistinctMultitouch) {
@@ -284,7 +271,7 @@ public class PointerTracker {
mListener.onCancelInput();
}
- public void setKeyDetectorInner(KeyDetector keyDetector) {
+ private void setKeyDetectorInner(KeyDetector keyDetector) {
mKeyDetector = keyDetector;
mKeyboard = keyDetector.getKeyboard();
mKeys = mKeyboard.mKeys;
diff --git a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
index 2396222bc..c4428dc60 100644
--- a/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/PopupMiniKeyboardView.java
@@ -36,12 +36,12 @@ import java.util.List;
*/
public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel {
private final int[] mCoordinates = new int[2];
- private final boolean mConfigShowMiniKeyboardAtTouchedPoint;
private final KeyDetector mKeyDetector;
private final int mVerticalCorrection;
- private LatinKeyboardView mParentKeyboardView;
+ private Controller mController;
+ private KeyboardActionListener mListener;
private int mOriginX;
private int mOriginY;
@@ -101,33 +101,31 @@ public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel {
public void cancelKeyTimers() {}
};
- private final KeyboardActionListener mListner = new KeyboardActionListener() {
+ private final KeyboardActionListener mMiniKeyboardListener =
+ new KeyboardActionListener.Adapter() {
@Override
public void onCodeInput(int primaryCode, int[] keyCodes, int x, int y) {
- mParentKeyboardView.getKeyboardActionListener()
- .onCodeInput(primaryCode, keyCodes, x, y);
+ mListener.onCodeInput(primaryCode, keyCodes, x, y);
}
@Override
public void onTextInput(CharSequence text) {
- mParentKeyboardView.getKeyboardActionListener().onTextInput(text);
+ mListener.onTextInput(text);
}
@Override
public void onCancelInput() {
- mParentKeyboardView.getKeyboardActionListener().onCancelInput();
+ mListener.onCancelInput();
}
@Override
public void onPress(int primaryCode, boolean withSliding) {
- mParentKeyboardView.getKeyboardActionListener().onPress(primaryCode, withSliding);
+ mListener.onPress(primaryCode, withSliding);
}
@Override
public void onRelease(int primaryCode, boolean withSliding) {
- mParentKeyboardView.getKeyboardActionListener().onRelease(primaryCode, withSliding);
+ mListener.onRelease(primaryCode, withSliding);
}
- @Override
- public boolean onCustomRequest(int requestCode) { return false; }
};
public PopupMiniKeyboardView(Context context, AttributeSet attrs) {
@@ -144,8 +142,6 @@ public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel {
a.recycle();
final Resources res = context.getResources();
- mConfigShowMiniKeyboardAtTouchedPoint = res.getBoolean(
- R.bool.config_show_mini_keyboard_at_touched_point);
// Override default ProximityKeyDetector.
mKeyDetector = new MiniKeyboardKeyDetector(res.getDimension(
R.dimen.mini_keyboard_slide_allowance));
@@ -179,7 +175,7 @@ public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel {
@Override
public KeyboardActionListener getKeyboardActionListener() {
- return mListner;
+ return mMiniKeyboardListener;
}
@Override
@@ -200,41 +196,52 @@ public class PopupMiniKeyboardView extends KeyboardView implements PopupPanel {
}
@Override
- public void showPopupPanel(LatinKeyboardView parentKeyboardView, Key parentKey,
- PointerTracker tracker, PopupWindow window) {
- mParentKeyboardView = parentKeyboardView;
+ public void setShifted(boolean shifted) {
+ final MiniKeyboard miniKeyboard = (MiniKeyboard)getKeyboard();
+ if (miniKeyboard.setShifted(shifted)) {
+ invalidateAllKeys();
+ }
+ }
+
+ @Override
+ public void showPopupPanel(View parentView, Controller controller, int pointX, int pointY,
+ PopupWindow window, KeyboardActionListener listener) {
+ mController = controller;
+ mListener = listener;
final View container = (View)getParent();
final MiniKeyboard miniKeyboard = (MiniKeyboard)getKeyboard();
- final Keyboard parentKeyboard = parentKeyboardView.getKeyboard();
- parentKeyboardView.getLocationInWindow(mCoordinates);
- final int pointX = (mConfigShowMiniKeyboardAtTouchedPoint) ? tracker.getLastX()
- : parentKey.mX + parentKey.mWidth / 2;
- final int pointY = parentKey.mY;
+ parentView.getLocationInWindow(mCoordinates);
final int miniKeyboardLeft = pointX - miniKeyboard.getDefaultCoordX()
- + parentKeyboardView.getPaddingLeft();
- final int x = Math.max(0, Math.min(miniKeyboardLeft,
- parentKeyboardView.getWidth() - miniKeyboard.mOccupiedWidth))
- - container.getPaddingLeft() + mCoordinates[0];
- final int y = pointY - parentKeyboard.mVerticalGap
+ + parentView.getPaddingLeft();
+ final int x = wrapUp(Math.max(0, Math.min(miniKeyboardLeft,
+ parentView.getWidth() - miniKeyboard.mOccupiedWidth))
+ - container.getPaddingLeft() + mCoordinates[0],
+ container.getMeasuredWidth(), 0, parentView.getWidth());
+ final int y = pointY
- (container.getMeasuredHeight() - container.getPaddingBottom())
- + parentKeyboardView.getPaddingTop() + mCoordinates[1];
+ + parentView.getPaddingTop() + mCoordinates[1];
- if (miniKeyboard.setShifted(parentKeyboard.isShiftedOrShiftLocked())) {
- invalidateAllKeys();
- }
window.setContentView(container);
window.setWidth(container.getMeasuredWidth());
window.setHeight(container.getMeasuredHeight());
- window.showAtLocation(parentKeyboardView, Gravity.NO_GRAVITY, x, y);
+ window.showAtLocation(parentView, Gravity.NO_GRAVITY, x, y);
mOriginX = x + container.getPaddingLeft() - mCoordinates[0];
mOriginY = y + container.getPaddingTop() - mCoordinates[1];
}
+ private static int wrapUp(int x, int width, int left, int right) {
+ if (x < left)
+ return left;
+ if (x + width > right)
+ return right - width;
+ return x;
+ }
+
@Override
public boolean dismissPopupPanel() {
- return mParentKeyboardView.dismissPopupPanel();
+ return mController.dismissPopupPanel();
}
@Override
diff --git a/java/src/com/android/inputmethod/keyboard/PopupPanel.java b/java/src/com/android/inputmethod/keyboard/PopupPanel.java
index db637c50b..5e51fd54a 100644
--- a/java/src/com/android/inputmethod/keyboard/PopupPanel.java
+++ b/java/src/com/android/inputmethod/keyboard/PopupPanel.java
@@ -16,18 +16,27 @@
package com.android.inputmethod.keyboard;
+import android.view.View;
import android.widget.PopupWindow;
public interface PopupPanel extends PointerTracker.KeyEventHandler {
+ public interface Controller {
+ public boolean dismissPopupPanel();
+ }
+
+ public void setShifted(boolean shifted);
+
/**
* Show popup panel.
- * @param parentKeyboardView the parent KeyboardView that has the parent key.
- * @param parentKey the parent key that is the source of this popup panel
- * @param tracker the pointer tracker that pressesd the parent key
+ * @param parentView the parent view of this popup panel
+ * @param controller the controller that can dismiss this popup panel
+ * @param pointX x coordinate of this popup panel
+ * @param pointY y coordinate of this popup panel
* @param window PopupWindow to be used to show this popup panel
+ * @param listener the listener that will receive keyboard action from this popup panel.
*/
- public void showPopupPanel(LatinKeyboardView parentKeyboardView, Key parentKey,
- PointerTracker tracker, PopupWindow window);
+ public void showPopupPanel(View parentView, Controller controller, int pointX, int pointY,
+ PopupWindow window, KeyboardActionListener listener);
/**
* Translate X-coordinate of touch event to the local X-coordinate of this PopupPanel.
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
index 360c944d2..5546d48c0 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
@@ -157,9 +157,9 @@ class BinaryDictionaryGetter {
private static AssetFileAddress loadFallbackResource(final Context context,
final int fallbackResId, final Locale locale) {
final Resources res = context.getResources();
- final Locale savedLocale = Utils.setSystemLocale(res, locale);
+ final Locale savedLocale = LocaleUtils.setSystemLocale(res, locale);
final AssetFileDescriptor afd = res.openRawResourceFd(fallbackResId);
- Utils.setSystemLocale(res, savedLocale);
+ LocaleUtils.setSystemLocale(res, savedLocale);
if (afd == null) {
Log.e(TAG, "Found the resource but cannot read it. Is it compressed? resId="
diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java
index 5f20c70b4..f445abf48 100644
--- a/java/src/com/android/inputmethod/latin/CandidateView.java
+++ b/java/src/com/android/inputmethod/latin/CandidateView.java
@@ -64,6 +64,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private static final boolean DBG = LatinImeLogger.sDBG;
+ private final ViewGroup mCandidatesPlacer;
private final ViewGroup mCandidatesStrip;
private ViewGroup mCandidatesPane;
private ViewGroup mCandidatesPaneContainer;
@@ -76,13 +77,9 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private final PopupWindow mPreviewPopup;
private final TextView mPreviewText;
- private final View mTouchToSave;
- private final TextView mWordToSave;
-
private Listener mListener;
private SuggestedWords mSuggestions = SuggestedWords.EMPTY;
private boolean mShowingAutoCorrectionInverted;
- private boolean mShowingAddToDictionary;
private final SuggestionsStripParams mStripParams;
private final SuggestionsPaneParams mPaneParams;
@@ -94,7 +91,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private static final int MSG_HIDE_PREVIEW = 0;
private static final int MSG_UPDATE_SUGGESTION = 1;
- private static final long DELAY_HIDE_PREVIEW = 1000;
+ private static final long DELAY_HIDE_PREVIEW = 1300;
private static final long DELAY_UPDATE_SUGGESTION = 300;
public UiHandler(CandidateView outerInstance) {
@@ -239,8 +236,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
lastView = info;
info.measure(WRAP_CONTENT, WRAP_CONTENT);
final int infoWidth = info.getMeasuredWidth();
- FrameLayoutCompatUtils.placeViewAt(info, x - infoWidth, y, infoWidth,
- info.getMeasuredHeight());
+ FrameLayoutCompatUtils.placeViewAt(
+ info, x - infoWidth, y, infoWidth, info.getMeasuredHeight());
}
}
if (x != 0) {
@@ -274,13 +271,16 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private static final int AUTO_CORRECT_INVERT = 0x04;
private static final int VALID_TYPED_WORD_BOLD = 0x08;
- private final TextPaint mPaint;
private final int mSuggestionStripOption;
private final ArrayList<CharSequence> mTexts = new ArrayList<CharSequence>();
public boolean mMoreSuggestionsAvailable;
+ public final TextView mWordToSaveView;
+ private final TextView mHintToSaveView;
+ private final CharSequence mHintToSaveText;
+
public SuggestionsStripParams(Context context, AttributeSet attrs, int defStyle,
List<TextView> words, List<View> dividers, List<TextView> infos) {
super(words, dividers, infos);
@@ -305,9 +305,10 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
mInvertedForegroundColorSpan = new ForegroundColorSpan(mColorTypedWord ^ 0x00ffffff);
mInvertedBackgroundColorSpan = new BackgroundColorSpan(mColorTypedWord);
- mPaint = new TextPaint();
- final float textSize = res.getDimension(R.dimen.candidate_text_size);
- mPaint.setTextSize(textSize);
+ final LayoutInflater inflater = LayoutInflater.from(context);
+ mWordToSaveView = (TextView)inflater.inflate(R.layout.candidate_word, null);
+ mHintToSaveView = (TextView)inflater.inflate(R.layout.candidate_word, null);
+ mHintToSaveText = context.getText(R.string.hint_add_to_dictionary);
}
public int getTextColor() {
@@ -366,7 +367,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
final SuggestedWordInfo info = (pos < suggestions.size())
? suggestions.getInfo(pos) : null;
- if (info != null && info.isPreviousSuggestedWord()) {
+ if (info != null && info.isObsoleteSuggestedWord()) {
return applyAlpha(color, 0.5f);
} else {
return color;
@@ -388,7 +389,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
return word;
}
- public int layout(SuggestedWords suggestions, ViewGroup stripView, ViewGroup paneView,
+ public int layout(SuggestedWords suggestions, ViewGroup stripView, ViewGroup placer,
int stripWidth) {
if (suggestions.isPunctuationSuggestions()) {
return layoutPunctuationSuggestions(suggestions, stripView);
@@ -405,6 +406,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
final View divider = mDividers.get(pos);
// Add divider if this isn't the left most suggestion in candidate strip.
stripView.addView(divider);
+ x += divider.getMeasuredWidth();
}
final CharSequence styled = mTexts.get(pos);
@@ -429,18 +431,19 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
word.setTextScaleX(scaleX);
stripView.addView(word);
setLayoutWeight(word, getCandidateWeight(index), MATCH_PARENT);
+ x += word.getMeasuredWidth();
if (DBG) {
final CharSequence debugInfo = getDebugInfo(suggestions, pos);
if (debugInfo != null) {
final TextView info = mInfos.get(pos);
info.setText(debugInfo);
- paneView.addView(info);
+ placer.addView(info);
info.measure(WRAP_CONTENT, WRAP_CONTENT);
final int infoWidth = info.getMeasuredWidth();
final int y = info.getMeasuredHeight();
- FrameLayoutCompatUtils.placeViewAt(info, x, 0, infoWidth, y);
- x += infoWidth * 2;
+ FrameLayoutCompatUtils.placeViewAt(
+ info, x - infoWidth, y, infoWidth, info.getMeasuredHeight());
}
}
}
@@ -498,6 +501,33 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
mMoreSuggestionsAvailable = false;
return countInStrip;
}
+
+ public void layoutAddToDictionaryHint(CharSequence word, ViewGroup stripView,
+ int stripWidth) {
+ final int width = stripWidth - mDividerWidth - mPadding * 2;
+
+ final TextView wordView = mWordToSaveView;
+ wordView.setTextColor(mColorTypedWord);
+ final int wordWidth = (int)(width * mCenterCandidateWeight);
+ final CharSequence text = getEllipsizedText(word, wordWidth, wordView.getPaint());
+ final float wordScaleX = wordView.getTextScaleX();
+ wordView.setTag(word);
+ wordView.setText(text);
+ wordView.setTextScaleX(wordScaleX);
+ stripView.addView(wordView);
+ setLayoutWeight(wordView, mCenterCandidateWeight, MATCH_PARENT);
+
+ stripView.addView(mDividers.get(0));
+
+ final TextView hintView = mHintToSaveView;
+ hintView.setTextColor(mColorAutoCorrect);
+ final int hintWidth = width - wordWidth;
+ final float hintScaleX = getTextScaleX(mHintToSaveText, hintWidth, hintView.getPaint());
+ hintView.setText(mHintToSaveText);
+ hintView.setTextScaleX(hintScaleX);
+ stripView.addView(hintView);
+ setLayoutWeight(hintView, 1.0f - mCenterCandidateWeight, MATCH_PARENT);
+ }
}
/**
@@ -517,7 +547,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
super(context, attrs);
if (defStyle != R.attr.candidateViewStyle) {
throw new IllegalArgumentException(
- "can't accept defStyle other than R.attr.candidayeViewStyle: defStyle="
+ "can't accept defStyle other than R.attr.candidateViewStyle: defStyle="
+ defStyle);
}
setBackgroundDrawable(LinearLayoutCompatUtils.getBackgroundDrawable(
@@ -532,6 +562,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
mPreviewPopup.setContentView(mPreviewText);
mPreviewPopup.setBackgroundDrawable(null);
+ mCandidatesPlacer = (ViewGroup)findViewById(R.id.candidates_placer);
mCandidatesStrip = (ViewGroup)findViewById(R.id.candidates_strip);
for (int pos = 0; pos < MAX_SUGGESTIONS; pos++) {
final TextView word = (TextView)inflater.inflate(R.layout.candidate_word, null);
@@ -546,13 +577,10 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
mInfos.add((TextView)inflater.inflate(R.layout.candidate_info, null));
}
- mTouchToSave = findViewById(R.id.touch_to_save);
- mWordToSave = (TextView)findViewById(R.id.word_to_save);
- mWordToSave.setOnClickListener(this);
-
mStripParams = new SuggestionsStripParams(context, attrs, defStyle, mWords, mDividers,
mInfos);
mPaneParams = new SuggestionsPaneParams(mWords, mDividers, mInfos);
+ mStripParams.mWordToSaveView.setOnClickListener(this);
}
/**
@@ -588,7 +616,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
final int width = getWidth();
final int countInStrip = mStripParams.layout(
- mSuggestions, mCandidatesStrip, mCandidatesPane, width);
+ mSuggestions, mCandidatesStrip, mCandidatesPlacer, width);
mPaneParams.layout(
mSuggestions, mCandidatesPane, countInStrip, mStripParams.getTextColor(), width);
}
@@ -636,6 +664,15 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
}
}
+ private static float getTextScaleX(CharSequence text, int maxWidth, TextPaint paint) {
+ paint.setTextScaleX(1.0f);
+ final int width = getTextWidth(text, paint);
+ if (width <= maxWidth) {
+ return 1.0f;
+ }
+ return maxWidth / (float)width;
+ }
+
private static CharSequence getEllipsizedText(CharSequence text, int maxWidth,
TextPaint paint) {
if (text == null) return null;
@@ -718,20 +755,21 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
}
public boolean isShowingAddToDictionaryHint() {
- return mShowingAddToDictionary;
+ return mCandidatesStrip.getChildCount() > 0
+ && mCandidatesStrip.getChildAt(0) == mStripParams.mWordToSaveView;
}
public void showAddToDictionaryHint(CharSequence word) {
- mWordToSave.setText(word);
- mShowingAddToDictionary = true;
- mCandidatesStrip.setVisibility(GONE);
- mTouchToSave.setVisibility(VISIBLE);
+ clear();
+ mStripParams.layoutAddToDictionaryHint(word, mCandidatesStrip, getWidth());
}
public boolean dismissAddToDictionaryHint() {
- if (!mShowingAddToDictionary) return false;
- clear();
- return true;
+ if (isShowingAddToDictionaryHint()) {
+ clear();
+ return true;
+ }
+ return false;
}
public SuggestedWords getSuggestions() {
@@ -739,10 +777,9 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
}
public void clear() {
- mShowingAddToDictionary = false;
mShowingAutoCorrectionInverted = false;
- mTouchToSave.setVisibility(GONE);
- mCandidatesStrip.setVisibility(VISIBLE);
+ mCandidatesPlacer.removeAllViews();
+ mCandidatesPlacer.addView(mCandidatesStrip);
mCandidatesStrip.removeAllViews();
mCandidatesPane.removeAllViews();
closeCandidatesPane();
@@ -752,7 +789,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
mPreviewPopup.dismiss();
}
- private void showPreview(int index, CharSequence word) {
+ private void showPreview(View view, CharSequence word) {
if (TextUtils.isEmpty(word))
return;
@@ -761,9 +798,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
previewText.setText(word);
previewText.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
- View v = mWords.get(index);
final int[] offsetInWindow = new int[2];
- v.getLocationInWindow(offsetInWindow);
+ view.getLocationInWindow(offsetInWindow);
final int posX = offsetInWindow[0];
final int posY = offsetInWindow[1] - previewText.getMeasuredHeight();
final PopupWindow previewPopup = mPreviewPopup;
@@ -778,7 +814,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
private void addToDictionary(CharSequence word) {
if (mListener.addWordToDictionary(word.toString())) {
- showPreview(0, getContext().getString(R.string.added_word, word));
+ final CharSequence message = getContext().getString(R.string.added_word, word);
+ showPreview(mStripParams.mWordToSaveView, message);
}
}
@@ -793,8 +830,8 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo
@Override
public void onClick(View view) {
- if (view == mWordToSave) {
- addToDictionary(((TextView)view).getText());
+ if (view == mStripParams.mWordToSaveView) {
+ addToDictionary((CharSequence)view.getTag());
clear();
return;
}
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFactory.java b/java/src/com/android/inputmethod/latin/DictionaryFactory.java
index 9642151d7..dfaad26bc 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFactory.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFactory.java
@@ -83,9 +83,9 @@ public class DictionaryFactory {
try {
final Resources res = context.getResources();
if (null != locale) {
- final Locale savedLocale = Utils.setSystemLocale(res, locale);
+ final Locale savedLocale = LocaleUtils.setSystemLocale(res, locale);
afd = res.openRawResourceFd(resId);
- Utils.setSystemLocale(res, savedLocale);
+ LocaleUtils.setSystemLocale(res, savedLocale);
} else {
afd = res.openRawResourceFd(resId);
}
@@ -145,7 +145,7 @@ public class DictionaryFactory {
*/
public static boolean isDictionaryAvailable(Context context, Locale locale) {
final Resources res = context.getResources();
- final Locale saveLocale = Utils.setSystemLocale(res, locale);
+ final Locale saveLocale = LocaleUtils.setSystemLocale(res, locale);
final int resourceId = Utils.getMainDictionaryResourceId(res);
final AssetFileDescriptor afd = res.openRawResourceFd(resourceId);
@@ -156,14 +156,14 @@ public class DictionaryFactory {
/* Um, what can we do here exactly? */
}
- Utils.setSystemLocale(res, saveLocale);
+ LocaleUtils.setSystemLocale(res, saveLocale);
return hasDictionary;
}
// TODO: Do not use the size of the dictionary as an unique dictionary ID.
- public static Long getDictionaryId(Context context, Locale locale) {
+ public static Long getDictionaryId(final Context context, final Locale locale) {
final Resources res = context.getResources();
- final Locale saveLocale = Utils.setSystemLocale(res, locale);
+ final Locale saveLocale = LocaleUtils.setSystemLocale(res, locale);
final int resourceId = Utils.getMainDictionaryResourceId(res);
final AssetFileDescriptor afd = res.openRawResourceFd(resourceId);
@@ -175,7 +175,7 @@ public class DictionaryFactory {
} catch (java.io.IOException e) {
}
- Utils.setSystemLocale(res, saveLocale);
+ LocaleUtils.setSystemLocale(res, saveLocale);
return size;
}
diff --git a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
index 9f4777f5a..2b78b9065 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
@@ -202,7 +202,11 @@ public class ExpandableDictionary extends Dictionary {
// Currently updating contacts, don't return any results.
if (mUpdatingDictionary) return;
}
+ getWordsInner(codes, callback, proximityInfo);
+ }
+ protected final void getWordsInner(final WordComposer codes, final WordCallback callback,
+ final ProximityInfo proximityInfo) {
mInputLength = codes.size();
if (mCodes.length < mInputLength) mCodes = new int[mInputLength][];
// Cache the codes so that we don't have to lookup an array list
@@ -223,8 +227,7 @@ public class ExpandableDictionary extends Dictionary {
if (mRequiresReload) startDictionaryLoadingTaskLocked();
if (mUpdatingDictionary) return false;
}
- final int freq = getWordFrequency(word);
- return freq > -1;
+ return getWordFrequency(word) > -1;
}
/**
@@ -464,7 +467,7 @@ public class ExpandableDictionary extends Dictionary {
}
/**
- * Used only for testing purposes
+ * Used for testing purposes and in the spell checker
* This function will wait for loading from database to be done
*/
void waitForDictionaryLoading() {
@@ -477,6 +480,11 @@ public class ExpandableDictionary extends Dictionary {
}
}
+ protected final void blockingReloadDictionaryIfRequired() {
+ reloadDictionaryIfRequired();
+ waitForDictionaryLoading();
+ }
+
// Local to reverseLookUp, but do not allocate each time.
private final char[] mLookedUpString = new char[MAX_WORD_LENGTH];
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 552517bc8..229bf0f4c 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -479,10 +479,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
private void initSuggest() {
final String localeStr = mSubtypeSwitcher.getInputLocaleStr();
- final Locale keyboardLocale = Utils.constructLocaleFromString(localeStr);
+ final Locale keyboardLocale = LocaleUtils.constructLocaleFromString(localeStr);
final Resources res = mResources;
- final Locale savedLocale = Utils.setSystemLocale(res, keyboardLocale);
+ final Locale savedLocale = LocaleUtils.setSystemLocale(res, keyboardLocale);
final ContactsDictionary oldContactsDictionary;
if (mSuggest != null) {
oldContactsDictionary = mSuggest.getContactsDictionary();
@@ -514,7 +514,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
updateCorrectionMode();
- Utils.setSystemLocale(res, savedLocale);
+ LocaleUtils.setSystemLocale(res, savedLocale);
}
/**
@@ -551,7 +551,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
/* package private */ void resetSuggestMainDict() {
final String localeStr = mSubtypeSwitcher.getInputLocaleStr();
- final Locale keyboardLocale = Utils.constructLocaleFromString(localeStr);
+ final Locale keyboardLocale = LocaleUtils.constructLocaleFromString(localeStr);
int mainDicResId = Utils.getMainDictionaryResourceId(mResources);
mSuggest.resetMainDict(this, mainDicResId, keyboardLocale);
}
diff --git a/java/src/com/android/inputmethod/latin/LocaleUtils.java b/java/src/com/android/inputmethod/latin/LocaleUtils.java
index 054f1f9b8..efa9bfee3 100644
--- a/java/src/com/android/inputmethod/latin/LocaleUtils.java
+++ b/java/src/com/android/inputmethod/latin/LocaleUtils.java
@@ -16,8 +16,13 @@
package com.android.inputmethod.latin;
+import android.content.res.Configuration;
+import android.content.res.Resources;
import android.text.TextUtils;
+import java.util.HashMap;
+import java.util.Locale;
+
/**
* A class to help with handling Locales in string form.
*
@@ -30,6 +35,10 @@ public class LocaleUtils {
private final static String TAG = LocaleUtils.class.getSimpleName();
+ private LocaleUtils() {
+ // Intentional empty constructor for utility class.
+ }
+
// Locale match level constants.
// A higher level of match is guaranteed to have a higher numerical value.
// Some room is left within constants to add match cases that may arise necessary
@@ -154,4 +163,46 @@ public class LocaleUtils {
public static boolean isMatch(int level) {
return LOCALE_MATCH <= level;
}
+
+ /**
+ * Sets the system locale for this process.
+ *
+ * @param res the resources to use. Pass current resources.
+ * @param newLocale the locale to change to.
+ * @return the old locale.
+ */
+ public static Locale setSystemLocale(final Resources res, final Locale newLocale) {
+ final Configuration conf = res.getConfiguration();
+ final Locale saveLocale = conf.locale;
+ conf.locale = newLocale;
+ res.updateConfiguration(conf, res.getDisplayMetrics());
+ return saveLocale;
+ }
+
+ private static final HashMap<String, Locale> sLocaleCache = new HashMap<String, Locale>();
+
+ /**
+ * Creates a locale from a string specification.
+ */
+ public static Locale constructLocaleFromString(final String localeStr) {
+ if (localeStr == null)
+ return null;
+ synchronized (sLocaleCache) {
+ if (sLocaleCache.containsKey(localeStr))
+ return sLocaleCache.get(localeStr);
+ Locale retval = null;
+ String[] localeParams = localeStr.split("_", 3);
+ if (localeParams.length == 1) {
+ retval = new Locale(localeParams[0]);
+ } else if (localeParams.length == 2) {
+ retval = new Locale(localeParams[0], localeParams[1]);
+ } else if (localeParams.length == 3) {
+ retval = new Locale(localeParams[0], localeParams[1], localeParams[2]);
+ }
+ if (retval != null) {
+ sLocaleCache.put(localeStr, retval);
+ }
+ return retval;
+ }
+ }
}
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index 87a713f5c..a5eed9015 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -128,8 +128,8 @@ public class Settings extends InputMethodSettingsActivity
final Resources res = context.getResources();
final Locale savedLocale;
if (null != localeStr) {
- final Locale keyboardLocale = Utils.constructLocaleFromString(localeStr);
- savedLocale = Utils.setSystemLocale(res, keyboardLocale);
+ final Locale keyboardLocale = LocaleUtils.constructLocaleFromString(localeStr);
+ savedLocale = LocaleUtils.setSystemLocale(res, keyboardLocale);
} else {
savedLocale = null;
}
@@ -191,7 +191,7 @@ public class Settings extends InputMethodSettingsActivity
mVoiceKeyEnabled = voiceMode != null && !voiceMode.equals(voiceModeOff);
mVoiceKeyOnMain = voiceMode != null && voiceMode.equals(voiceModeMain);
- Utils.setSystemLocale(res, savedLocale);
+ LocaleUtils.setSystemLocale(res, savedLocale);
}
public boolean isSuggestedPunctuation(int code) {
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index d969e39eb..87d854940 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -267,7 +267,7 @@ public class SubtypeSwitcher {
// "en" --> language: en
// "" --> the system locale
if (!TextUtils.isEmpty(inputLocaleStr)) {
- mInputLocale = Utils.constructLocaleFromString(inputLocaleStr);
+ mInputLocale = LocaleUtils.constructLocaleFromString(inputLocaleStr);
mInputLocaleStr = inputLocaleStr;
} else {
mInputLocale = mSystemLocale;
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index c1c46fa47..b177d144a 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -199,7 +199,7 @@ public class SuggestedWords {
}
}
- public boolean isPreviousSuggestedWord () {
+ public boolean isObsoleteSuggestedWord () {
return mPreviousSuggestedWord;
}
}
diff --git a/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserDictionary.java b/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserDictionary.java
new file mode 100644
index 000000000..4a812b3a9
--- /dev/null
+++ b/java/src/com/android/inputmethod/latin/SynchronouslyLoadedUserDictionary.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;
+
+import android.content.Context;
+
+import com.android.inputmethod.keyboard.ProximityInfo;
+
+public class SynchronouslyLoadedUserDictionary extends UserDictionary {
+
+ public SynchronouslyLoadedUserDictionary(final Context context, final String locale) {
+ super(context, locale);
+ }
+
+ @Override
+ public void getWords(final WordComposer codes, final WordCallback callback,
+ final ProximityInfo proximityInfo) {
+ blockingReloadDictionaryIfRequired();
+ getWordsInner(codes, callback, proximityInfo);
+ }
+
+ @Override
+ public synchronized boolean isValidWord(CharSequence word) {
+ blockingReloadDictionaryIfRequired();
+ return getWordFrequency(word) > -1;
+ }
+}
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index ff051dcbb..60a4cfb38 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -705,38 +705,6 @@ public class Utils {
return (int) (dip * scale + 0.5);
}
- public static Locale setSystemLocale(Resources res, Locale newLocale) {
- final Configuration conf = res.getConfiguration();
- final Locale saveLocale = conf.locale;
- conf.locale = newLocale;
- res.updateConfiguration(conf, res.getDisplayMetrics());
- return saveLocale;
- }
-
- private static final HashMap<String, Locale> sLocaleCache = new HashMap<String, Locale>();
-
- public static Locale constructLocaleFromString(String localeStr) {
- if (localeStr == null)
- return null;
- synchronized (sLocaleCache) {
- if (sLocaleCache.containsKey(localeStr))
- return sLocaleCache.get(localeStr);
- Locale retval = null;
- String[] localeParams = localeStr.split("_", 3);
- if (localeParams.length == 1) {
- retval = new Locale(localeParams[0]);
- } else if (localeParams.length == 2) {
- retval = new Locale(localeParams[0], localeParams[1]);
- } else if (localeParams.length == 3) {
- retval = new Locale(localeParams[0], localeParams[1], localeParams[2]);
- }
- if (retval != null) {
- sLocaleCache.put(localeStr, retval);
- }
- return retval;
- }
- }
-
/**
* Remove duplicates from an array of strings.
*
@@ -783,7 +751,7 @@ public class Utils {
}
public static String getMiddleDisplayLanguage(Locale locale) {
- return toTitleCase((constructLocaleFromString(
+ return toTitleCase((LocaleUtils.constructLocaleFromString(
locale.getLanguage()).getDisplayLanguage(locale)), locale);
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 502ebb52a..a6a5b6dd6 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -33,6 +33,8 @@ import com.android.inputmethod.latin.Dictionary.DataType;
import com.android.inputmethod.latin.Dictionary.WordCallback;
import com.android.inputmethod.latin.DictionaryCollection;
import com.android.inputmethod.latin.DictionaryFactory;
+import com.android.inputmethod.latin.LocaleUtils;
+import com.android.inputmethod.latin.SynchronouslyLoadedUserDictionary;
import com.android.inputmethod.latin.UserDictionary;
import com.android.inputmethod.latin.Utils;
import com.android.inputmethod.latin.WordComposer;
@@ -139,7 +141,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
private DictionaryPool getDictionaryPool(final String locale) {
DictionaryPool pool = mDictionaryPools.get(locale);
if (null == pool) {
- final Locale localeObject = Utils.constructLocaleFromString(locale);
+ final Locale localeObject = LocaleUtils.constructLocaleFromString(locale);
pool = new DictionaryPool(POOL_SIZE, this, localeObject);
mDictionaryPools.put(locale, pool);
}
@@ -155,7 +157,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
final String localeStr = locale.toString();
Dictionary userDict = mUserDictionaries.get(localeStr);
if (null == userDict) {
- userDict = new UserDictionary(this, localeStr);
+ userDict = new SynchronouslyLoadedUserDictionary(this, localeStr);
mUserDictionaries.put(localeStr, userDict);
}
dictionaryCollection.addDictionary(userDict);
@@ -172,7 +174,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
public void onCreate() {
final String localeString = getLocale();
mDictionaryPool = getDictionaryPool(localeString);
- mLocale = Utils.constructLocaleFromString(localeString);
+ mLocale = LocaleUtils.constructLocaleFromString(localeString);
}
// Note : this must be reentrant