diff options
Diffstat (limited to 'java')
74 files changed, 611 insertions, 95 deletions
diff --git a/java/res/drawable-hdpi/sym_keyboard_language_switch.png b/java/res/drawable-hdpi/sym_keyboard_language_switch.png Binary files differindex fa747642d..7b980a0c8 100644 --- a/java/res/drawable-hdpi/sym_keyboard_language_switch.png +++ b/java/res/drawable-hdpi/sym_keyboard_language_switch.png diff --git a/java/res/drawable-mdpi/sym_keyboard_language_switch.png b/java/res/drawable-mdpi/sym_keyboard_language_switch.png Binary files differindex f30c1b640..f840a631d 100644 --- a/java/res/drawable-mdpi/sym_keyboard_language_switch.png +++ b/java/res/drawable-mdpi/sym_keyboard_language_switch.png diff --git a/java/res/drawable-xhdpi/sym_keyboard_language_switch.png b/java/res/drawable-xhdpi/sym_keyboard_language_switch.png Binary files differnew file mode 100644 index 000000000..6c2fb53ec --- /dev/null +++ b/java/res/drawable-xhdpi/sym_keyboard_language_switch.png diff --git a/java/res/raw/main_de.dict b/java/res/raw/main_de.dict Binary files differnew file mode 100644 index 000000000..68b0dceb2 --- /dev/null +++ b/java/res/raw/main_de.dict diff --git a/java/res/raw/main_en.dict b/java/res/raw/main_en.dict Binary files differnew file mode 100644 index 000000000..2cfa35168 --- /dev/null +++ b/java/res/raw/main_en.dict diff --git a/java/res/raw/main_es.dict b/java/res/raw/main_es.dict Binary files differnew file mode 100644 index 000000000..8321c70f8 --- /dev/null +++ b/java/res/raw/main_es.dict diff --git a/java/res/raw/main_fr.dict b/java/res/raw/main_fr.dict Binary files differnew file mode 100644 index 000000000..cfa9f473d --- /dev/null +++ b/java/res/raw/main_fr.dict diff --git a/java/res/raw/main_it.dict b/java/res/raw/main_it.dict Binary files differnew file mode 100644 index 000000000..ed260f2a2 --- /dev/null +++ b/java/res/raw/main_it.dict diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml index a74822c9e..87821d48c 100644 --- a/java/res/values-af/strings.xml +++ b/java/res/values-af/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Stoor"</string> <string name="subtype_locale" msgid="8576443440738143764">"Taal"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Uitleg"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Bruikbaarheidstudie-modus"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Sleuteldruk se vibrasie-tydsduurinstellings"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Sleuteldruk se klankvolume-instellings"</string> diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml index 32dedda37..ec2a892f2 100644 --- a/java/res/values-am/strings.xml +++ b/java/res/values-am/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"አስቀምጥ"</string> <string name="subtype_locale" msgid="8576443440738143764">"ቋንቋ"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"አቀማመጥ"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"የተገልጋይነት ጥናት ሁነታ"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"ቁልፍ ተጫን በቅንጅቶች ወቅት ንዝረት"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"ቁልፍ ተጫን የድምጽ መጠን ቅንብሮች"</string> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index b525da397..3c51ba14d 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"حفظ"</string> <string name="subtype_locale" msgid="8576443440738143764">"اللغة"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"التخطيط"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"وضع سهولة الاستخدام"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"إعدادات مدة اهتزاز الضغط على المفاتيح"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"إعدادات مستوى صوت الضغط على المفاتيح"</string> diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml index d58437c20..b4a73a482 100644 --- a/java/res/values-be/strings.xml +++ b/java/res/values-be/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Захаваць"</string> <string name="subtype_locale" msgid="8576443440738143764">"Мова"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Раскладка"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Рэжым даследвання выкарыстальнасці"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Налады працягласцi вiбрацыi пры нацiску"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Налады гучнасцi пры нацiску"</string> diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index bba08ee15..d1c0f9f53 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Запазване"</string> <string name="subtype_locale" msgid="8576443440738143764">"Език"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Подредба"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим за изучаване на използваемостта"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Настройки за продължителност на вибрирането при натискане на клавиш"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Настройки за силата на звука при натискане на клавиш"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index 167a6d5b7..49dca9cb9 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Desa"</string> <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Disseny"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode d\'estudi d\'usabilitat"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Configuració de la durada de les vibracions per pulsació de tecla"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Configuració del volum de so de pulsació de tecla"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index 8535fc1ab..681667c54 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Uložit"</string> <string name="subtype_locale" msgid="8576443440738143764">"Jazyk"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Rozvržení"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim studie použitelnosti"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Nastavení trvání vibrace při stisku klávesy"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Nastavení hlasitosti zvuku při stisknutí klávesy"</string> diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index 47619dc05..801f9fe66 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Gem"</string> <string name="subtype_locale" msgid="8576443440738143764">"Sprog"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tilstand for brugsstudie"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Indstillinger for varighed af vibration ved tastetryk"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Indstillinger for lydstyrke ved tastetryk"</string> diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index de26c325d..820e356b0 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Speichern"</string> <string name="subtype_locale" msgid="8576443440738143764">"Sprache"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus der Studie zur Benutzerfreundlichkeit"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Einstellungen für Vibrationsdauer bei Tastendruck"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Einstellungen für Tonlautstärke bei Tastendruck"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 131cb4a67..2a5b2695c 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Αποθήκευση"</string> <string name="subtype_locale" msgid="8576443440738143764">"Γλώσσα"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Διάταξη"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Λειτουργία μελέτης χρηστικότητας"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Ρυθμίσεις διάρκειας δόνησης κατά το πάτημα πλήκτρων"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Ρυθμίσεις έντασης ήχου κατά το πάτημα πλήκτρων"</string> diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml index 2fd8b9b82..7e93e48bd 100644 --- a/java/res/values-en-rGB/strings.xml +++ b/java/res/values-en-rGB/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Save"</string> <string name="subtype_locale" msgid="8576443440738143764">"Language"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Usability study mode"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Key-press vibration duration settings"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Key-press sound volume settings"</string> diff --git a/java/res/values-en/whitelist.xml b/java/res/values-en/whitelist.xml index 9c1085883..bcb884e1d 100644 --- a/java/res/values-en/whitelist.xml +++ b/java/res/values-en/whitelist.xml @@ -434,6 +434,10 @@ <item>makes</item> <item>255</item> + <item>moat</item> + <item>most</item> + + <item>255</item> <item>monday</item> <item>Monday</item> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index b998e9074..a98f5c5bd 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Guardar"</string> <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Diseño"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudio de usabilidad"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Configuración de la duración de vibraciones al presionar las teclas"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Configuración del volumen de sonio al presionar las teclas"</string> diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index 488449960..01ef3bbe1 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Guardar"</string> <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Diseño"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudio de usabilidad"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Ajustes de duración de vibración al pulsar tecla"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volumen de sonido al pulsar tecla"</string> diff --git a/java/res/values-et/strings.xml b/java/res/values-et/strings.xml index 1e1bba615..4c0da220a 100644 --- a/java/res/values-et/strings.xml +++ b/java/res/values-et/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Salvesta"</string> <string name="subtype_locale" msgid="8576443440738143764">"Keel"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Paigutus"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Kasutatavuse uurimisrežiim"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Klahvivajutuse vibratsiooni kestuse seaded"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Klahvivajutuse helitugevuse seaded"</string> diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index 9f8c915a6..c791d0f7c 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -138,6 +138,12 @@ <string name="save" msgid="7646738597196767214">"ذخیره"</string> <string name="subtype_locale" msgid="8576443440738143764">"زبان"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"چیدمان"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"حالت بررسی قابلیت استفاده"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"تنظیمات مدت زمان لرزش فشار کلید"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"تنظیمات میزان صدای فشار کلید"</string> diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index 5ac436b1d..26858bb38 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Tallenna"</string> <string name="subtype_locale" msgid="8576443440738143764">"Kieli"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Asettelu"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Käytettävyystutkimustila"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Näppäimenpainalluksen värinän kestoasetukset"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Näppäimenpainalluksen äänenvoimakkuusasetukset"</string> diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index 3f559c00b..6c37aacad 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Enregistrer"</string> <string name="subtype_locale" msgid="8576443440738143764">"Langue"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Clavier"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mode d\'étude de l\'utilisabilité"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Durée de vibration à chaque pression"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volume sonore à chaque pression"</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index 6cbdf5668..f8808c868 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"सहेजें"</string> <string name="subtype_locale" msgid="8576443440738143764">"भाषा"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"लेआउट"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"उपयोगिता अध्ययन मोड"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"कुंजी-स्पर्श कंपन अवधि सेटिंग"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"कुंजी-स्पर्श ध्वनि वॉल्यूम सेटिंग"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index 8116146bc..faeb10878 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Spremi"</string> <string name="subtype_locale" msgid="8576443440738143764">"Jezik"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Izgled"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način studije upotrebljivosti"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Postavke trajanja vibracije kod pritiska tipke"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Postavke glasnoće zvuka kod pritiska tipke"</string> diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index 9d0182c8d..6732cbf37 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Mentés"</string> <string name="subtype_locale" msgid="8576443440738143764">"Nyelv"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Elrendezés"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Használhatósági teszt"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Gombnyomás rezgési időtartamának beállításai"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Gombnyomás hangerejének beállításai"</string> diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index 073eacb2f..420474b22 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Simpan"</string> <string name="subtype_locale" msgid="8576443440738143764">"Bahasa"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Tata Letak"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus studi daya guna"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Setelan durasi getaran saat tombol ditekan"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Setelan volume suara saat tombol ditekan"</string> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index c3d9ab134..2100caaf7 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Salva"</string> <string name="subtype_locale" msgid="8576443440738143764">"Lingua"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modalità Studio sull\'usabilità"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Impostazioni durata vibrazione alla pressione di un tasto"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Impostazioni volume audio alla pressione di un tasto"</string> diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index 6368f4c39..764128fdb 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"שמור"</string> <string name="subtype_locale" msgid="8576443440738143764">"שפה"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"פריסה"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"מצב מחקר שימושיות"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"הגדרות משך רטט בלחיצה על מקש"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"הגדרות עוצמת קול בלחיצה על מקש"</string> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index 684bceae7..8090eaee7 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"保存"</string> <string name="subtype_locale" msgid="8576443440738143764">"言語"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"レイアウト"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"使いやすさの研究モード"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"キー操作バイブの振動時間の設定"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"キー操作音の音量設定"</string> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index 3e870492b..e1e01af66 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -64,7 +64,7 @@ <string name="bigram_suggestion" msgid="8169311444438922902">"다음 추천 검색어"</string> <string name="bigram_suggestion_summary" msgid="6635527607242625713">"이전 단어를 사용하여 추천 검색어 개선"</string> <string name="bigram_prediction" msgid="3216364899483135294">"다음 예상 검색어"</string> - <string name="bigram_prediction_summary" msgid="1747261921174300098">"이전 단어를 사용하여 예상 검색어를 표시합니다."</string> + <string name="bigram_prediction_summary" msgid="1747261921174300098">"이전 단어를 사용하여 예상 검색어 표시"</string> <string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: 저장됨"</string> <string name="label_go_key" msgid="1635148082137219148">"이동"</string> <string name="label_next_key" msgid="362972844525672568">"다음"</string> @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"저장"</string> <string name="subtype_locale" msgid="8576443440738143764">"언어"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"레이아웃"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"가용성 연구 모드"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"키를 누를 때 진동 시간 설정"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"키를 누를 때 효과음 설정"</string> diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index be6dd3a0c..f2e302886 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Išsaugoti"</string> <string name="subtype_locale" msgid="8576443440738143764">"Kalba"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Išdėstymas"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tinkamumo tyrimo režimas"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Vibracijos paspaudus mygtuką trukmės nustatymai"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Garso paspaudus mygtuką garsumo nustatymai"</string> diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index 86cb128c0..785d208ea 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Saglabāt"</string> <string name="subtype_locale" msgid="8576443440738143764">"Valoda"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Izkārtojums"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Lietojamības izpētes režīms"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Taustiņu nospiešanas vibrācijas ilguma iestatījumi"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Taustiņu nospiešanas skaņas skaļuma iestatījumi"</string> diff --git a/java/res/values-ms/strings.xml b/java/res/values-ms/strings.xml index e862f1ebb..da718a11a 100644 --- a/java/res/values-ms/strings.xml +++ b/java/res/values-ms/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Simpan"</string> <string name="subtype_locale" msgid="8576443440738143764">"Bahasa"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Reka Letak"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Mod kajian kebolehgunaan"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Tetapan tempoh getaran tekan kekunci"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Tetapan kelantangan bunyi tekanan kekunci"</string> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index ce1ebb9fa..67c9114d2 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Lagre"</string> <string name="subtype_locale" msgid="8576443440738143764">"Språk"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Oppsett"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Nyttighetsmodus"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Innstillinger for vibrasjonsvarighet ved tastetrykk"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Innstillinger for lydstyrke ved tastetrykk"</string> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index 0c9a20a93..d0507bcbf 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Opslaan"</string> <string name="subtype_locale" msgid="8576443440738143764">"Taal"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Lay-out"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modus voor gebruiksvriendelijkheidsonderzoek"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Instellingen voor trillingsduur bij druk op een toets"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Instellingen voor geluidsvolume bij druk op een toets"</string> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index 9a1a2ad43..c427339ae 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Zapisz"</string> <string name="subtype_locale" msgid="8576443440738143764">"Język"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Układ"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Tryb badania przydatności"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Czas trwania wibracji przy naciśnięciu"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Głośność dźwięku przy naciśnięciu"</string> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index 59404b8e8..3e75440e9 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Guardar"</string> <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Esquema"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo da capacidade de utilização"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Definições de duração da vibração ao premir as teclas"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Definições de volume de som ao premir as teclas"</string> diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml index 9fd58504c..bd5a7d3de 100644 --- a/java/res/values-pt/strings.xml +++ b/java/res/values-pt/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Salvar"</string> <string name="subtype_locale" msgid="8576443440738143764">"Idioma"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modo de estudo de utilização"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Configurações de duração da vibração ao tocar a tecla"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Configurações do volume ao tocar a tecla"</string> diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml index 5fb9cddc8..25897db54 100644 --- a/java/res/values-rm/strings.xml +++ b/java/res/values-rm/strings.xml @@ -233,6 +233,12 @@ <skip /> <!-- no translation found for keyboard_layout_set (4309233698194565609) --> <skip /> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <!-- no translation found for prefs_usability_study_mode (1261130555134595254) --> <skip /> <!-- no translation found for prefs_keypress_vibration_duration_settings (1829950405285211668) --> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 95d7793a3..9a9811759 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Salvaţi"</string> <string name="subtype_locale" msgid="8576443440738143764">"Limbă"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Aspect"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modul Studiu privind utilizarea"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Setări pentru durata vibrării la apăsarea tastei"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Setări pentru volumul sunetului la apăsarea tastei"</string> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 246da3439..3f71cd1f0 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Сохранить"</string> <string name="subtype_locale" msgid="8576443440738143764">"Язык"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Раскладка"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим проверки удобства использования"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Настройки вибросигнала при нажатии клавиш"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Настройки громкости звука при нажатии клавиш"</string> diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index c0c8433ef..8115883e7 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -118,7 +118,7 @@ <string name="keyboard_layout" msgid="8451164783510487501">"Motív klávesnice"</string> <string name="subtype_en_GB" msgid="88170601942311355">"Anglická klávesnica (UK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Anglická klávesnica (US)"</string> - <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"angličtina (VB) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"angličtina (UK) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"angličtina (USA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_no_language" msgid="141420857808801746">"Žiadny jazyk"</string> <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Žiadny jazyk (QWERTY)"</string> @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Uložiť"</string> <string name="subtype_locale" msgid="8576443440738143764">"Jazyk"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Rozloženie"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Režim štúdie použiteľnosti"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Nastavenia trvania vibrovania pri stlačení klávesu"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Nastavenia hlasitosti zvuku pri stlačení klávesu"</string> diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index 9b5da7566..cf53da5f8 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -118,7 +118,7 @@ <string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string> <string name="subtype_en_GB" msgid="88170601942311355">"angleščina (Združeno kraljestvo)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"angleščina (ZDA)"</string> - <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Angleška (VB) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"Angleška (Zdr. kralj.) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"Angleška (ZDA) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_no_language" msgid="141420857808801746">"Ni jezika"</string> <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Ni jezika (QWERTY)"</string> @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Shrani"</string> <string name="subtype_locale" msgid="8576443440738143764">"Jezik"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Postavitev"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Način za preučevanje uporabnosti"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Nastavitve za trajanje vibriranja ob pritisku tipke"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Nastavitve za glasnost zvoka ob pritisku tipke"</string> diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 338154fb6..9437047ce 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -118,10 +118,8 @@ <string name="keyboard_layout" msgid="8451164783510487501">"Тема тастатуре"</string> <string name="subtype_en_GB" msgid="88170601942311355">"енглески (УК)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"енглески (САД)"</string> - <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"енглески (УК) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"енглески (САД) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_no_language" msgid="141420857808801746">"Без језика"</string> <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Нема језика (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Без језика (QWERTZ)"</string> @@ -136,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Сачувај"</string> <string name="subtype_locale" msgid="8576443440738143764">"Језик"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Распоред"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим за студију могућности коришћења"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Подешавања трајања вибрације при притиску на тастере"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Подешавања јачине звука при притиску на тастере"</string> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index 9d247446d..e8f63fdca 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Spara"</string> <string name="subtype_locale" msgid="8576443440738143764">"Språk"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Läge för studie av användbarhet"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Inställningar för vibrationslängd vid knapptryck"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Volyminställningar för knappljud"</string> diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml index e87a947bf..adce194d1 100644 --- a/java/res/values-sw/strings.xml +++ b/java/res/values-sw/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Hifadhi"</string> <string name="subtype_locale" msgid="8576443440738143764">"Lugha"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Mpangilio"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Modi ya uchunguzi wa utumizi"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Bonyeza mipangilio ya kipindi cha mtetemo"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Bonyeza mipangilio ya nguvu za sauti"</string> diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index ec1c5b81f..46bed1724 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -118,10 +118,8 @@ <string name="keyboard_layout" msgid="8451164783510487501">"ชุดรูปแบบแป้นพิมพ์"</string> <string name="subtype_en_GB" msgid="88170601942311355">"อังกฤษ (สหราชอาณาจักร)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string> - <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"อังกฤษ (สหราชอาณาจักร) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"อังกฤษ (สหรัฐอเมริกา) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_no_language" msgid="141420857808801746">"ไม่มีภาษา"</string> <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"ไม่มีภาษา (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"ไม่มีภาษา (QWERTZ)"</string> @@ -136,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"บันทึก"</string> <string name="subtype_locale" msgid="8576443440738143764">"ภาษา"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"การจัดวาง"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"โหมดศึกษาประโยชน์ในการใช้งาน"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"การตั้งค่าระยะเวลาการสั่นเมื่อกดแป้นพิมพ์"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"การตั้งค่าระดับเสียงเมื่อกดแป้นพิมพ์"</string> diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index 958eed356..b0de5cfc8 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"I-save"</string> <string name="subtype_locale" msgid="8576443440738143764">"Wika"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Study mode ng pagiging kapaki-pakinabang"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Mga setting ng tagal ng vibration ng keypress"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Mga setting ng volume ng tunog ng keypress"</string> diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index afb765b61..7a2fc87cd 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -118,10 +118,8 @@ <string name="keyboard_layout" msgid="8451164783510487501">"Klavye teması"</string> <string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (BK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"İngilizce (ABD)"</string> - <!-- no translation found for subtype_with_layout_en_GB (2179097748724725906) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (1362581347576714579) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="2179097748724725906">"İngilizce (İngiltere) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="1362581347576714579">"İngilizce (ABD) (<xliff:g id="LAYOUT">%s</xliff:g>)"</string> <string name="subtype_no_language" msgid="141420857808801746">"Dil yok"</string> <string name="subtype_no_language_qwerty" msgid="2956121451616633133">"Dil yok (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="1177848172397202890">"Dil yok (QWERTZ)"</string> @@ -136,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Kaydet"</string> <string name="subtype_locale" msgid="8576443440738143764">"Dil"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Düzen"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Kullanılabilirlik çalışması modu"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Tuşa basma titreşim süresi ayarları"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Tuşa basma ses düzeyi ayarları"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index c6fed0449..3667455d0 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Зберегти"</string> <string name="subtype_locale" msgid="8576443440738143764">"Мова"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Макет"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Режим вивчення зручності у використанні"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Налаштування тривалості вібрації під час натискання клавіші"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Налаштування гучності звуку під час натискання клавіші"</string> diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index eff426b91..596082479 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Lưu"</string> <string name="subtype_locale" msgid="8576443440738143764">"Ngôn ngữ"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Bố cục"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Chế độ nghiên cứu tính khả dụng"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Cài đặt thời gian rung khi nhấn phím"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Cài đặt âm lượng 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 d0e1df0e2..db1d701f7 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"保存"</string> <string name="subtype_locale" msgid="8576443440738143764">"语言"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"布局"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"可用性研究模式"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"按键振动持续时间设置"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"按键音量设置"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 4371b431f..1e31040c5 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"儲存"</string> <string name="subtype_locale" msgid="8576443440738143764">"語言"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"版面配置"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"使用性研究模式"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"按鍵震動持續時間設定"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"按鍵音量設定"</string> diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml index 7b1ba1405..1e87349b0 100644 --- a/java/res/values-zu/strings.xml +++ b/java/res/values-zu/strings.xml @@ -134,6 +134,12 @@ <string name="save" msgid="7646738597196767214">"Londoloza"</string> <string name="subtype_locale" msgid="8576443440738143764">"Ulimi"</string> <string name="keyboard_layout_set" msgid="4309233698194565609">"Isakhiwo"</string> + <!-- no translation found for custom_input_style_note_message (8826731320846363423) --> + <skip /> + <!-- no translation found for enable (5031294444630523247) --> + <skip /> + <!-- no translation found for not_now (6172462888202790482) --> + <skip /> <string name="prefs_usability_study_mode" msgid="1261130555134595254">"Imodi yesitadi yokusebenziseka"</string> <string name="prefs_keypress_vibration_duration_settings" msgid="1829950405285211668">"Izilungiselelo ze-keypress vibration duraton"</string> <string name="prefs_keypress_sound_volume_settings" msgid="5875933757082305040">"Izilungiselelo zevolumu yomsindo wekeypress"</string> diff --git a/java/res/values/config.xml b/java/res/values/config.xml index a6fd22ee1..d5268ea5f 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -23,8 +23,7 @@ <bool name="config_enable_show_voice_key_option">true</bool> <bool name="config_enable_show_popup_on_keypress_option">true</bool> <bool name="config_enable_next_word_suggestions_option">true</bool> - <!-- TODO: Disable the following configuration for production. --> - <bool name="config_enable_usability_study_mode_option">true</bool> + <bool name="config_enable_usability_study_mode_option">false</bool> <!-- Whether or not Popup on key press is enabled by default --> <bool name="config_default_popup_preview">true</bool> <!-- Default value for next word suggestion: while showing suggestions for a word should we weigh @@ -75,9 +74,9 @@ <item></item> <!-- Modest : Suggestion whose normalized score is greater than this value will be subject to auto-correction. --> - <item>0.22</item> + <item>0.185</item> <!-- Aggressive --> - <item>0.08</item> + <item>0.067</item> <!-- Very Aggressive : Suggestion whose normalized score is greater than this value will be subject to auto-correction. --> <item>0</item> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 8b03379ca..b9bec9896 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -293,6 +293,8 @@ <string name="enable">Enable</string> <!-- Title of the button to postpone enabling a custom input style entry in the settings dialog [CHAR LIMIT=12] --> <string name="not_now">Not now</string> + <!-- Toast text to describe the same input style already exists [CHAR LIMIT=64]--> + <string name="custom_input_style_already_exists">"The same input style already exists: <xliff:g id="input_style_name">%s</xliff:g>"</string> <!-- Title of an option for usability study mode --> <string name="prefs_usability_study_mode">Usability study mode</string> diff --git a/java/res/xml-sw600dp/keys_f1f2.xml b/java/res/xml-sw600dp/keys_f1f2.xml index 9d2968720..721bfc722 100644 --- a/java/res/xml-sw600dp/keys_f1f2.xml +++ b/java/res/xml-sw600dp/keys_f1f2.xml @@ -27,7 +27,7 @@ > <Key latin:keyStyle="comKeyStyle" - latin:keyWidth="17.0%p" /> + latin:keyWidth="18.0%p" /> </case> <default> <switch> diff --git a/java/res/xml-sw600dp/rows_number_password.xml b/java/res/xml-sw600dp/rows_number_password.xml index 36f4bba46..6c3855a01 100644 --- a/java/res/xml-sw600dp/rows_number_password.xml +++ b/java/res/xml-sw600dp/rows_number_password.xml @@ -31,9 +31,8 @@ latin:keyStyle="num2KeyStyle" /> <Key latin:keyStyle="num3KeyStyle" /> - <Key - latin:keyStyle="deleteKeyStyle" - latin:keyXPos="-16%p" + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer latin:keyWidth="fillRight" /> </Row> <Row> @@ -46,9 +45,8 @@ latin:keyStyle="num5KeyStyle" /> <Key latin:keyStyle="num6KeyStyle" /> - <Key - latin:keyStyle="enterKeyStyle" - latin:keyXPos="-16%p" + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer latin:keyWidth="fillRight" /> </Row> <Row> @@ -62,17 +60,21 @@ <Key latin:keyStyle="num9KeyStyle" /> <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> - <Spacer /> + <Spacer + latin:keyWidth="fillRight" /> </Row> <Row> <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> <Spacer - latin:keyWidth="41%p" /> + latin:keyWidth="23%p" /> + <Key + latin:keyStyle="deleteKeyStyle" /> <Key latin:keyStyle="num0KeyStyle" /> - <include - latin:keyXPos="-10%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + <Key + latin:keyStyle="enterKeyStyle" /> + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer + latin:keyWidth="fillRight" /> </Row> </merge> diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 19b32f2e7..a0262846b 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -52,7 +52,8 @@ nb: Norwaian Bokmål/nordic nl: Dutch/qwerty pl: Polish/qwerty - pt: Portuguese/qwerty + pt_BR: Portuguese Brazil/qwerty + pt_PT: Portuguese Portugal/qwerty ro: Romanian/qwerty ru: Russian/east_slavic sk: Slovak/qwerty @@ -254,7 +255,13 @@ /> <subtype android:icon="@drawable/ic_subtype_keyboard" android:label="@string/subtype_generic" - android:imeSubtypeLocale="pt" + android:imeSubtypeLocale="pt_BR" + android:imeSubtypeMode="keyboard" + android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable" + /> + <subtype android:icon="@drawable/ic_subtype_keyboard" + android:label="@string/subtype_generic" + android:imeSubtypeLocale="pt_PT" android:imeSubtypeMode="keyboard" android:imeSubtypeExtraValue="KeyboardLayoutSet=qwerty,AsciiCapable" /> diff --git a/java/res/xml/rows_number_password.xml b/java/res/xml/rows_number_password.xml index e4272ed3f..2e61a08ae 100644 --- a/java/res/xml/rows_number_password.xml +++ b/java/res/xml/rows_number_password.xml @@ -22,41 +22,59 @@ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > <Row> + <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> + <Spacer + latin:keyWidth="10%p" /> <Key latin:keyStyle="num1KeyStyle" /> <Key latin:keyStyle="num2KeyStyle" /> <Key latin:keyStyle="num3KeyStyle" /> - <Spacer /> + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer + latin:keyWidth="fillRight" /> </Row> <Row> + <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> + <Spacer + latin:keyWidth="10%p" /> <Key latin:keyStyle="num4KeyStyle" /> <Key latin:keyStyle="num5KeyStyle" /> <Key latin:keyStyle="num6KeyStyle" /> - <Spacer /> + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer + latin:keyWidth="fillRight" /> </Row> <Row> + <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> + <Spacer + latin:keyWidth="10%p" /> <Key latin:keyStyle="num7KeyStyle" /> <Key latin:keyStyle="num8KeyStyle" /> <Key latin:keyStyle="num9KeyStyle" /> - <Key - latin:keyStyle="deleteKeyStyle" + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer latin:keyWidth="fillRight" /> </Row> <Row> - <Spacer /> + <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> + <Spacer + latin:keyWidth="10%p" /> + <Key + latin:keyStyle="deleteKeyStyle" /> <Key latin:keyStyle="num0KeyStyle" /> - <Spacer /> <Key - latin:keyStyle="enterKeyStyle" + latin:keyStyle="enterKeyStyle" /> + <!-- Note: This Spacer prevents the above key from being marked as a right edge key. --> + <Spacer latin:keyWidth="fillRight" /> </Row> </merge> diff --git a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java index 955cb4c42..67e21b10c 100644 --- a/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java +++ b/java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java @@ -18,13 +18,18 @@ package com.android.inputmethod.accessibility; import android.graphics.Rect; import android.inputmethodservice.InputMethodService; +import android.os.Bundle; +import android.os.SystemClock; import android.support.v4.view.ViewCompat; +import android.support.v4.view.accessibility.AccessibilityEventCompat; import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; import android.support.v4.view.accessibility.AccessibilityNodeProviderCompat; import android.support.v4.view.accessibility.AccessibilityRecordCompat; import android.util.Log; import android.util.SparseArray; +import android.view.MotionEvent; import android.view.View; +import android.view.ViewParent; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.accessibility.AccessibilityEvent; import android.view.inputmethod.EditorInfo; @@ -45,6 +50,7 @@ import com.android.inputmethod.keyboard.KeyboardView; */ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat { private static final String TAG = AccessibilityEntityProvider.class.getSimpleName(); + private static final int UNDEFINED = Integer.MIN_VALUE; private final KeyboardView mKeyboardView; private final InputMethodService mInputMethodService; @@ -60,6 +66,9 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat /** The parent view's cached on-screen location. */ private final int[] mParentLocation = new int[2]; + /** The virtual view identifier for the focused node. */ + private int mAccessibilityFocusedView = UNDEFINED; + public AccessibilityEntityProvider(KeyboardView keyboardView, InputMethodService inputMethod) { mKeyboardView = keyboardView; mInputMethodService = inputMethod; @@ -124,7 +133,9 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat public AccessibilityNodeInfoCompat createAccessibilityNodeInfo(int virtualViewId) { AccessibilityNodeInfoCompat info = null; - if (virtualViewId == View.NO_ID) { + if (virtualViewId == UNDEFINED) { + return null; + } else if (virtualViewId == View.NO_ID) { // We are requested to create an AccessibilityNodeInfo describing // this View, i.e. the root of the virtual sub-tree. info = AccessibilityNodeInfoCompat.obtain(mKeyboardView); @@ -166,12 +177,115 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat info.setSource(mKeyboardView, virtualViewId); info.setBoundsInScreen(boundsInScreen); info.setEnabled(true); + info.setClickable(true); + info.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK); + + if (mAccessibilityFocusedView == virtualViewId) { + info.addAction(AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS); + } else { + info.addAction(AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS); + } } return info; } /** + * Simulates a key press by injecting touch events into the keyboard view. + * This avoids the complexity of trackers and listeners within the keyboard. + * + * @param key The key to press. + */ + void simulateKeyPress(Key key) { + final int x = key.mX + (key.mWidth / 2); + final int y = key.mY + (key.mHeight / 2); + final long downTime = SystemClock.uptimeMillis(); + final MotionEvent downEvent = MotionEvent.obtain( + downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0); + final MotionEvent upEvent = MotionEvent.obtain( + downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0); + + mKeyboardView.onTouchEvent(downEvent); + mKeyboardView.onTouchEvent(upEvent); + } + + @Override + public boolean performAction(int virtualViewId, int action, Bundle arguments) { + final Key key = mVirtualViewIdToKey.get(virtualViewId); + + if (key == null) { + return false; + } + + return performActionForKey(key, action, arguments); + } + + /** + * Performs the specified accessibility action for the given key. + * + * @param key The on which to perform the action. + * @param action The action to perform. + * @param arguments The action's arguments. + * @return The result of performing the action, or false if the action is + * not supported. + */ + boolean performActionForKey(Key key, int action, Bundle arguments) { + final int virtualViewId = generateVirtualViewIdForKey(key); + + switch (action) { + case AccessibilityNodeInfoCompat.ACTION_CLICK: + simulateKeyPress(key); + return true; + case AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS: + if (mAccessibilityFocusedView == virtualViewId) { + return false; + } + mAccessibilityFocusedView = virtualViewId; + sendAccessibilityEventForKey( + key, AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUSED); + return true; + case AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS: + if (mAccessibilityFocusedView != virtualViewId) { + return false; + } + mAccessibilityFocusedView = UNDEFINED; + sendAccessibilityEventForKey( + key, AccessibilityEventCompat.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED); + return true; + } + + return false; + } + + @Override + public AccessibilityNodeInfoCompat findAccessibilityFocus(int virtualViewId) { + return createAccessibilityNodeInfo(mAccessibilityFocusedView); + } + + @Override + public AccessibilityNodeInfoCompat accessibilityFocusSearch(int direction, int virtualViewId) { + // Focus search is not currently supported for IMEs. + return null; + } + + /** + * Sends an accessibility event for the given {@link Key}. + * + * @param key The key that's sending the event. + * @param eventType The type of event to send. + */ + void sendAccessibilityEventForKey(Key key, int eventType) { + final AccessibilityEvent event = createAccessibilityEvent(key, eventType); + final ViewParent parent = mKeyboardView.getParent(); + + if (parent == null) { + return; + } + + parent.requestSendAccessibilityEvent(mKeyboardView, event); + } + + /** * Returns the context-specific description for a {@link Key}. * * @param key The key to describe. diff --git a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java index 34817ba4e..1b0e488bc 100644 --- a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java +++ b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java @@ -21,10 +21,10 @@ import android.inputmethodservice.InputMethodService; import android.support.v4.view.AccessibilityDelegateCompat; import android.support.v4.view.ViewCompat; import android.support.v4.view.accessibility.AccessibilityEventCompat; +import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; -import android.view.accessibility.AccessibilityEvent; import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.Keyboard; @@ -91,13 +91,7 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { */ @Override public AccessibilityEntityProvider getAccessibilityNodeProvider(View host) { - // Instantiate the provide only when requested. Since the system - // will call this method multiple times it is a good practice to - // cache the provider instance. - if (mAccessibilityNodeProvider == null) { - mAccessibilityNodeProvider = new AccessibilityEntityProvider(mView, mInputMethod); - } - return mAccessibilityNodeProvider; + return getAccessibilityNodeProvider(); } /** @@ -120,7 +114,7 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. if (pointInView(x, y)) { - tracker.onRegisterKey(key); + getAccessibilityNodeProvider().simulateKeyPress(key); } //$FALL-THROUGH$ case MotionEvent.ACTION_HOVER_ENTER: @@ -137,6 +131,19 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { } /** + * @return A lazily-instantiated node provider for this view proxy. + */ + private AccessibilityEntityProvider getAccessibilityNodeProvider() { + // Instantiate the provide only when requested. Since the system + // will call this method multiple times it is a good practice to + // cache the provider instance. + if (mAccessibilityNodeProvider == null) { + mAccessibilityNodeProvider = new AccessibilityEntityProvider(mView, mInputMethod); + } + return mAccessibilityNodeProvider; + } + + /** * Utility method to determine whether the given point, in local * coordinates, is inside the view, where the area of the view is contracted * by the edge slop factor. @@ -191,12 +198,18 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { return false; } + final AccessibilityEntityProvider provider = getAccessibilityNodeProvider(); + switch (event.getAction()) { case MotionEvent.ACTION_HOVER_ENTER: - sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_VIEW_HOVER_ENTER); + provider.sendAccessibilityEventForKey( + key, AccessibilityEventCompat.TYPE_VIEW_HOVER_ENTER); + provider.performActionForKey( + key, AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS, null); break; case MotionEvent.ACTION_HOVER_EXIT: - sendAccessibilityEventForKey(key, AccessibilityEventCompat.TYPE_VIEW_HOVER_EXIT); + provider.sendAccessibilityEventForKey( + key, AccessibilityEventCompat.TYPE_VIEW_HOVER_EXIT); break; } @@ -204,20 +217,6 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { } /** - * Populates and sends an {@link AccessibilityEvent} for the specified key. - * - * @param key The key to send an event for. - * @param eventType The type of event to send. - */ - private void sendAccessibilityEventForKey(Key key, int eventType) { - final AccessibilityEntityProvider nodeProvider = getAccessibilityNodeProvider(null); - final AccessibilityEvent event = nodeProvider.createAccessibilityEvent(key, eventType); - - // Propagates the event up the view hierarchy. - mView.getParent().requestSendAccessibilityEvent(mView, event); - } - - /** * Notifies the user of changes in the keyboard shift state. */ public void notifyShiftState() { diff --git a/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java b/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java index 3d861c231..f4e4105e3 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java +++ b/java/src/com/android/inputmethod/accessibility/KeyCodeDescriptionMapper.java @@ -111,6 +111,9 @@ public class KeyCodeDescriptionMapper { if (mKeyLabelMap.containsKey(label)) { return context.getString(mKeyLabelMap.get(label)); } + + // Otherwise, return the label. + return key.mLabel; } // Just attempt to speak the description. diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index bd3b0e114..0be4cf3a7 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -197,6 +197,20 @@ public class Keyboard { return null; } + public boolean hasKey(Key aKey) { + if (mKeyCache.containsKey(aKey)) { + return true; + } + + for (final Key key : mKeys) { + if (key == aKey) { + mKeyCache.put(key.mCode, key); + return true; + } + } + return false; + } + public static boolean isLetterCode(int code) { return code >= MINIMUM_LETTER_CODE; } diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index c0d5b6772..cc0a1fb10 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -487,6 +487,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { } else { // Draw invalidated keys. for (final Key key : mInvalidatedKeys) { + if (!mKeyboard.hasKey(key)) { + continue; + } final int x = key.mX + getPaddingLeft(); final int y = key.mY + getPaddingTop(); mInvalidatedKeysRect.set(x, y, x + key.mWidth, y + key.mHeight); diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java index a8115fb82..779a38823 100644 --- a/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java +++ b/java/src/com/android/inputmethod/latin/AdditionalSubtypeSettings.java @@ -24,6 +24,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.res.Resources; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -41,9 +42,11 @@ import android.view.inputmethod.InputMethodSubtype; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.SpinnerAdapter; +import android.widget.Toast; import com.android.inputmethod.compat.CompatUtils; +import java.util.ArrayList; import java.util.TreeSet; public class AdditionalSubtypeSettings extends PreferenceFragment { @@ -60,7 +63,6 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { private static final String KEY_IS_SUBTYPE_ENABLER_NOTIFICATION_DIALOG_OPEN = "is_subtype_enabler_notification_dialog_open"; private static final String KEY_SUBTYPE_FOR_SUBTYPE_ENABLER = "subtype_for_subtype_enabler"; - static class SubtypeLocaleItem extends Pair<String, String> implements Comparable<SubtypeLocaleItem> { public SubtypeLocaleItem(String localeString, String displayName) { @@ -139,6 +141,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { private interface SubtypeDialogProxy { public void onRemovePressed(SubtypePreference subtypePref); + public void onSavePressed(SubtypePreference subtypePref); public void onAddPressed(SubtypePreference subtypePref); public SubtypeLocaleAdapter getSubtypeLocaleAdapter(); public KeyboardLayoutSetAdapter getKeyboardLayoutSetAdapter(); @@ -150,6 +153,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { private static final String KEY_NEW_SUBTYPE = KEY_PREFIX + "new"; private InputMethodSubtype mSubtype; + private InputMethodSubtype mPreviousSubtype; private final SubtypeDialogProxy mProxy; private Spinner mSubtypeLocaleSpinner; @@ -182,6 +186,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } public void setSubtype(InputMethodSubtype subtype) { + mPreviousSubtype = mSubtype; mSubtype = subtype; if (isIncomplete()) { setTitle(null); @@ -197,6 +202,14 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } } + public void revert() { + setSubtype(mPreviousSubtype); + } + + public boolean hasBeenModified() { + return mSubtype != null && !mSubtype.equals(mPreviousSubtype); + } + @Override protected View onCreateDialogView() { final View v = super.onCreateDialogView(); @@ -250,7 +263,7 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { super.onClick(dialog, which); switch (which) { case DialogInterface.BUTTON_POSITIVE: - final boolean addPressed = isIncomplete(); + final boolean isEditing = !isIncomplete(); final SubtypeLocaleItem locale = (SubtypeLocaleItem) mSubtypeLocaleSpinner.getSelectedItem(); final KeyboardLayoutSetItem layout = @@ -259,7 +272,9 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { locale.first, layout.first, ASCII_CAPABLE); setSubtype(subtype); notifyChanged(); - if (addPressed) { + if (isEditing) { + mProxy.onSavePressed(this); + } else { mProxy.onAddPressed(this); } break; @@ -414,18 +429,45 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { public void onRemovePressed(SubtypePreference subtypePref) { mIsAddingNewSubtype = false; final PreferenceGroup group = getPreferenceScreen(); - if (group != null) { - group.removePreference(subtypePref); + group.removePreference(subtypePref); + ImfUtils.setAdditionalInputMethodSubtypes(getActivity(), getSubtypes()); + } + + @Override + public void onSavePressed(SubtypePreference subtypePref) { + final InputMethodSubtype subtype = subtypePref.getSubtype(); + if (!subtypePref.hasBeenModified()) { + return; } + if (findDuplicatedSubtype(subtype) == null) { + ImfUtils.setAdditionalInputMethodSubtypes(getActivity(), getSubtypes()); + return; + } + + // Saved subtype is duplicated. + final PreferenceGroup group = getPreferenceScreen(); + group.removePreference(subtypePref); + subtypePref.revert(); + group.addPreference(subtypePref); + showSubtypeAlreadyExistsToast(subtype); } @Override public void onAddPressed(SubtypePreference subtypePref) { mIsAddingNewSubtype = false; - setAdditionalInputMethodSubtypes(getPrefSubtypes()); - mSubtypePreferenceKeyForSubtypeEnabler = subtypePref.getKey(); - mSubtypeEnablerNotificationDialog = createDialog(subtypePref); - mSubtypeEnablerNotificationDialog.show(); + final InputMethodSubtype subtype = subtypePref.getSubtype(); + if (findDuplicatedSubtype(subtype) == null) { + ImfUtils.setAdditionalInputMethodSubtypes(getActivity(), getSubtypes()); + mSubtypePreferenceKeyForSubtypeEnabler = subtypePref.getKey(); + mSubtypeEnablerNotificationDialog = createDialog(subtypePref); + mSubtypeEnablerNotificationDialog.show(); + return; + } + + // Newly added subtype is duplicated. + final PreferenceGroup group = getPreferenceScreen(); + group.removePreference(subtypePref); + showSubtypeAlreadyExistsToast(subtype); } @Override @@ -439,6 +481,21 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } }; + private void showSubtypeAlreadyExistsToast(InputMethodSubtype subtype) { + final Context context = getActivity(); + final Resources res = context.getResources(); + final String message = res.getString(R.string.custom_input_style_already_exists, + SubtypeLocale.getSubtypeDisplayName(subtype, res)); + Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); + } + + private InputMethodSubtype findDuplicatedSubtype(InputMethodSubtype subtype) { + final String localeString = subtype.getLocale(); + final String keyboardLayoutSetName = SubtypeLocale.getKeyboardLayoutSetName(subtype); + return ImfUtils.findSubtypeByLocaleAndKeyboardLayoutSet( + getActivity(), localeString, keyboardLayoutSetName); + } + private AlertDialog createDialog(SubtypePreference subtypePref) { final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(R.string.custom_input_styles_title) @@ -474,9 +531,9 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } } - private String getPrefSubtypes() { + private InputMethodSubtype[] getSubtypes() { final PreferenceGroup group = getPreferenceScreen(); - final StringBuilder sb = new StringBuilder(); + final ArrayList<InputMethodSubtype> subtypes = new ArrayList<InputMethodSubtype>(); final int count = group.getPreferenceCount(); for (int i = 0; i < count; i++) { final Preference pref = group.getPreference(i); @@ -484,13 +541,20 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { final SubtypePreference subtypePref = (SubtypePreference)pref; // We should not save newly adding subtype to preference because it is incomplete. if (subtypePref.isIncomplete()) continue; - final InputMethodSubtype subtype = subtypePref.getSubtype(); - if (sb.length() > 0) { - sb.append(AdditionalSubtype.PREF_SUBTYPE_SEPARATOR); - } - sb.append(AdditionalSubtype.getPrefSubtype(subtype)); + subtypes.add(subtypePref.getSubtype()); } } + return subtypes.toArray(new InputMethodSubtype[subtypes.size()]); + } + + private String getPrefSubtypes(InputMethodSubtype[] subtypes) { + final StringBuilder sb = new StringBuilder(); + for (final InputMethodSubtype subtype : subtypes) { + if (sb.length() > 0) { + sb.append(AdditionalSubtype.PREF_SUBTYPE_SEPARATOR); + } + sb.append(AdditionalSubtype.getPrefSubtype(subtype)); + } return sb.toString(); } @@ -498,7 +562,8 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { public void onPause() { super.onPause(); final String oldSubtypes = SettingsValues.getPrefAdditionalSubtypes(mPrefs, getResources()); - final String prefSubtypes = getPrefSubtypes(); + final InputMethodSubtype[] subtypes = getSubtypes(); + final String prefSubtypes = getPrefSubtypes(subtypes); if (prefSubtypes.equals(oldSubtypes)) { return; } @@ -509,12 +574,6 @@ public class AdditionalSubtypeSettings extends PreferenceFragment { } finally { editor.apply(); } - setAdditionalInputMethodSubtypes(prefSubtypes); - } - - private void setAdditionalInputMethodSubtypes(final String prefSubtypes) { - final InputMethodSubtype[] subtypes = - AdditionalSubtype.createAdditionalSubtypesArray(prefSubtypes); ImfUtils.setAdditionalInputMethodSubtypes(getActivity(), subtypes); } diff --git a/java/src/com/android/inputmethod/latin/EditingUtils.java b/java/src/com/android/inputmethod/latin/EditingUtils.java index 93106ac27..0f34d50bb 100644 --- a/java/src/com/android/inputmethod/latin/EditingUtils.java +++ b/java/src/com/android/inputmethod/latin/EditingUtils.java @@ -29,7 +29,8 @@ public class EditingUtils { /** * Number of characters we want to look back in order to identify the previous word */ - private static final int LOOKBACK_CHARACTER_NUM = 15; + // Provision for a long word pair and a separator + private static final int LOOKBACK_CHARACTER_NUM = BinaryDictionary.MAX_WORD_LENGTH * 2 + 1; private static final int INVALID_CURSOR_POSITION = -1; private EditingUtils() { diff --git a/java/src/com/android/inputmethod/latin/ImfUtils.java b/java/src/com/android/inputmethod/latin/ImfUtils.java index 36f6d8ba0..b882a4860 100644 --- a/java/src/com/android/inputmethod/latin/ImfUtils.java +++ b/java/src/com/android/inputmethod/latin/ImfUtils.java @@ -167,8 +167,7 @@ public class ImfUtils { return subtype; } } - throw new RuntimeException("Can't find subtype for locale " + localeString - + " and keyboard layout " + keyboardLayoutSetName); + return null; } public static void setAdditionalInputMethodSubtypes(Context context, diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index b59e939b7..261755f53 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1298,8 +1298,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen break; } switcher.onCodeInput(primaryCode); - // Reset after any single keystroke - if (!didAutoCorrect) + // Reset after any single keystroke, except shift and symbol-shift + if (!didAutoCorrect && primaryCode != Keyboard.CODE_SHIFT + && primaryCode != Keyboard.CODE_SWITCH_ALPHA_SYMBOL) mLastComposedWord.deactivate(); mEnteredText = null; } diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java index f2d971ca4..664de6774 100644 --- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java @@ -101,6 +101,9 @@ public class SubtypeSwitcher { mCurrentSubtype = mImm.getCurrentInputMethodSubtype(); mNoLanguageSubtype = ImfUtils.findSubtypeByLocaleAndKeyboardLayoutSet( service, SubtypeLocale.NO_LANGUAGE, SubtypeLocale.QWERTY); + if (mNoLanguageSubtype == null) { + throw new RuntimeException("Can't find no lanugage with QWERTY subtype"); + } final NetworkInfo info = mConnectivityManager.getActiveNetworkInfo(); mIsNetworkConnected = (info != null && info.isConnected()); |