diff options
Diffstat (limited to 'java')
87 files changed, 1536 insertions, 621 deletions
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml index b9c26f89a..809ae2be6 100644 --- a/java/res/values-af/strings.xml +++ b/java/res/values-af/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-sleutelbord (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android-sleutelbordinstellings"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropsies"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android-speltoetser"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-speltoetser (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Speltoetser se instellings"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Steminvoering"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Glimlag-gesiggie"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Soek"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punt"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift geaktiveer"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Kasslot geaktiveer"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Steminvoer is gedeaktiveer"</string> <string name="configure_input_method" msgid="373356270290742459">"Stel invoermetodes op"</string> <string name="language_selection_title" msgid="1651299598555326750">"Invoertale"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Invoertale"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Raak weer om te stoor"</string> <string name="has_dictionary" msgid="6071847973466625007">"Woordeboek beskikbaar"</string> diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml index d70c05da9..351510935 100644 --- a/java/res/values-am/strings.xml +++ b/java/res/values-am/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"የAndroid ቁልፍ ሰሌዳ (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"የAndroid ቁልፍሰሌዳ ቅንብሮች"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"ግቤት አማራጮች"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android የፊደል ማረሚያ"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android የፊደል ማረሚያ (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"የፊደል አራሚ ቅንብሮች"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"የድምፅ ግቤት ቦዝኗል"</string> <string name="configure_input_method" msgid="373356270290742459">"ግቤት ሜተዶችን አዋቀር"</string> <string name="language_selection_title" msgid="1651299598555326750">"ቋንቋዎች አግቤት"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"ቋንቋዎች አግቤት"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"ለማስቀመጥ እንደገና ንካ"</string> <string name="has_dictionary" msgid="6071847973466625007">"መዝገበ ቃላት አለ"</string> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index 5678c40c8..805848178 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"لوحة مفاتيح Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"إعدادات لوحة مفاتيح Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"خيارات الإرسال"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"التدقيق الإملائي في Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"التدقيق الإملائي في Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"إعدادات التدقيق الإملائي"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"الإدخال الصوتي مُعطل"</string> <string name="configure_input_method" msgid="373356270290742459">"تهيئة طرق الإدخال"</string> <string name="language_selection_title" msgid="1651299598555326750">"لغات الإدخال"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"لغات الإدخال"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"المس مرة أخرى للحفظ"</string> <string name="has_dictionary" msgid="6071847973466625007">"القاموس متاح"</string> diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml index 803dcbdc8..4d5a60f3e 100644 --- a/java/res/values-be/strings.xml +++ b/java/res/values-be/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавіятура Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Налады клавіятуры Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Параметры ўводу"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Iнструмент праверкi правапiсу для Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Iнструмент праверкi правапiсу для Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Налады праверкі арфаграфіі"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Галасавы ўвод"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Смайлік"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Увод"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Пошук"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Кропка"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift уключаны"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock уключаны"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Галасавы набор адкл."</string> <string name="configure_input_method" msgid="373356270290742459">"Налада метадаў уводу"</string> <string name="language_selection_title" msgid="1651299598555326750">"Мовы ўводу"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Мовы ўводу"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Дакраніцеся зноў, каб захаваць"</string> <string name="has_dictionary" msgid="6071847973466625007">"Слоўнік даступны"</string> diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index b235e2ece..d364370cd 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавиатура на Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Настройки на клавиатурата на Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Опции за въвеждане"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Програма за правописна проверка за Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Програма за правописна проверка за Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Настройки за проверка на правописа"</string> @@ -93,8 +95,7 @@ <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> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Търсене"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Точка"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"„Shift“ е активиран"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"„Caps Lock“ е активиран"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Глас. въвежд. е деакт."</string> <string name="configure_input_method" msgid="373356270290742459">"Конфигуриране на въвеждането"</string> <string name="language_selection_title" msgid="1651299598555326750">"Входни езици"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Езици за въвеждане"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Докоснете отново, за да запазите"</string> <string name="has_dictionary" msgid="6071847973466625007">"Има достъп до речник"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index 23874499d..f1c19dd57 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclat d\'Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Configuració del teclat d\'Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opcions d\'entrada"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Corrector ortogràfic d\'Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector ortogràfic d\'Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Configuració de la correcció ortogràfica"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de veu"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Cara somrient"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Retorn"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Cerca"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punt"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Maj activat"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Bloq Maj activat"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. veu desactiv."</string> <string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'entrada"</string> <string name="language_selection_title" msgid="1651299598555326750">"Idiomes d\'entrada"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Idiomes d\'entrada"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Torna a tocar per desar"</string> <string name="has_dictionary" msgid="6071847973466625007">"Diccionari disponible"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index 530f475fe..19d0af1a7 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klávesnice Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Nastavení klávesnice Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávání textu a dat"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Kontrola pravopisu Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kontrola pravopisu Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Nastavení kontroly pravopisu"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Hlasový vstup"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Smajlík"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"vyhledávací tlačítko"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Tečka"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Klávesa Shift je aktivní"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Klávesa Caps Lock je aktivní"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup vypnut"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurace metod zadávání"</string> <string name="language_selection_title" msgid="1651299598555326750">"Vstupní jazyky"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Vstupní jazyky"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Opětovným dotykem provedete uložení"</string> <string name="has_dictionary" msgid="6071847973466625007">"Slovník k dispozici"</string> diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index 50b0b0a9f..99ceca2ee 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-tastatur (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android-tastatur-indstillinger"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Indstillinger for input"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android-stavekontrol"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-stavekontrol (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Indstillinger for stavekontrol"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Stemmeinput deaktiveret"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurer inputmetoder"</string> <string name="language_selection_title" msgid="1651299598555326750">"Inputsprog"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Inputsprog"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Tryk igen for at gemme"</string> <string name="has_dictionary" msgid="6071847973466625007">"Ordbog er tilgængelig"</string> diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index 216aac5d9..2b4663527 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-Tastatur (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android-Tastatureinstellungen"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Eingabeoptionen"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android-Rechtschreibprüfung"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-Rechtschreibprüfung (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Einstellungen für Rechtschreibprüfung"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Spracheingabe deaktiviert"</string> <string name="configure_input_method" msgid="373356270290742459">"Eingabemethoden konfigurieren"</string> <string name="language_selection_title" msgid="1651299598555326750">"Eingabesprachen"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Eingabesprachen"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Zum Speichern erneut berühren"</string> <string name="has_dictionary" msgid="6071847973466625007">"Wörterbuch verfügbar"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 486346a09..0a48afe6f 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Πληκτρολόγιο Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Ρυθμίσεις πληκτρολογίου Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Επιλογές εισόδου"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Ορθογραφικός έλεγχος Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Ορθογραφικός έλεγχος Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Ρυθμίσεις ορθογραφικού ελέγχου"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Απεν. φωνητ. είσοδος"</string> <string name="configure_input_method" msgid="373356270290742459">"Διαμόρφωση μεθόδων εισαγωγής"</string> <string name="language_selection_title" msgid="1651299598555326750">"Γλώσσες εισόδου"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Γλώσσες εισόδου"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Αγγίξτε ξανά για αποθήκευση"</string> <string name="has_dictionary" msgid="6071847973466625007">"Λεξικό διαθέσιμο"</string> diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml index 763910789..4e274dda3 100644 --- a/java/res/values-en-rGB/strings.xml +++ b/java/res/values-en-rGB/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android keyboard (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android keyboard settings"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Input options"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android spell checker"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android spell checker (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Spellchecking settings"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Voice input is disabled"</string> <string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string> <string name="language_selection_title" msgid="1651299598555326750">"Input languages"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Input languages"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Touch again to save"</string> <string name="has_dictionary" msgid="6071847973466625007">"Dictionary available"</string> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index b015e2166..bddea2c6d 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado de Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Configuración de teclado de Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opciones de entrada"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Corrector ortográfico de Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector ortográfico de Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Configuración del corrector ortográfico"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Carita sonriente"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Volver"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Buscar"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punto"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Se activó el modo Mayúscula."</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Se activó el bloqueo de mayúsculas."</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"La entrada por voz está inhabilitada"</string> <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string> <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Vuelve a tocar para guardar."</string> <string name="has_dictionary" msgid="6071847973466625007">"Diccionario disponible"</string> diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index bcc327f68..7ae7627fe 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Ajustes del teclado de Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opciones entrada texto"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Corrector de Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corrector de Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Ajustes del corrector ortográfico"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Emoticono"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Tecla Intro"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Buscar"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punto"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Mayúsculas habilitadas"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Bloqueo de mayúsculas habilitado"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entrada de voz inhabilitada"</string> <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string> <string name="language_selection_title" msgid="1651299598555326750">"Idiomas"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Toca otra vez para guardar."</string> <string name="has_dictionary" msgid="6071847973466625007">"Hay un diccionario disponible"</string> diff --git a/java/res/values-et/strings.xml b/java/res/values-et/strings.xml index 25fee556d..d23846bf9 100644 --- a/java/res/values-et/strings.xml +++ b/java/res/values-et/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-klaviatuur (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Androidi klaviatuuriseaded"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Sisestusvalikud"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Androidi õigekirjakontroll"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidi õigekirjakontroll (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Õigekirjakontrolli seaded"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Kõnesisend"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Naerunägu"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Tagasi"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Otsing"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punkt"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Tõstuklahv on lubatud"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Suurtähelukk on lubatud"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Kõnesisend on keelatud"</string> <string name="configure_input_method" msgid="373356270290742459">"Sisestusmeetodite seadistamine"</string> <string name="language_selection_title" msgid="1651299598555326750">"Sisestuskeeled"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Sisestuskeeled"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Salvestamiseks puudutage uuesti"</string> <string name="has_dictionary" msgid="6071847973466625007">"Sõnastik saadaval"</string> diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index ed5d357b1..95d6fe6c4 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"صفحه کلید (Android (AOSP"</string> <string name="english_ime_settings" msgid="6661589557206947774">"تنظیمات صفحه کلید Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"گزینه های ورودی"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"غلطگیر املای Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"غلطگیر املای Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"تنظیمات غلط گیری املایی"</string> @@ -97,8 +99,7 @@ <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> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"جستجو"</string> <string name="spoken_description_dot" msgid="40711082435231673">"نقطه"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift فعال است"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock فعال شد"</string> @@ -116,6 +117,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ورودی صدا غیرفعال است"</string> <string name="configure_input_method" msgid="373356270290742459">"پیکربندی روش های ورودی"</string> <string name="language_selection_title" msgid="1651299598555326750">"زبان های ورودی"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"زبانهای ورودی"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"برای ذخیره دوباره لمس کنید"</string> <string name="has_dictionary" msgid="6071847973466625007">"دیکشنری موجود است"</string> diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index b8b401be1..e25bd82a7 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-näppäimistö (AOSP)"</string> <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> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android-oikoluku"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-oikoluku (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Oikoluvun asetukset"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Puheohjaus"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Hymiö"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Haku"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Piste"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Vaihto päällä"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock päällä"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Ääniohjaus on pois käytöstä"</string> <string name="configure_input_method" msgid="373356270290742459">"Määritä syöttötavat"</string> <string name="language_selection_title" msgid="1651299598555326750">"Syöttökielet"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Syöttökielet"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Tallenna koskettamalla uudelleen"</string> <string name="has_dictionary" msgid="6071847973466625007">"Sanakirja saatavilla"</string> diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index 285d2226c..b35b5fb8b 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Clavier Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Paramètres du clavier Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Options de saisie"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Correcteur orthographique Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Correcteur orthographique Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Paramètre du correcteur orthographique"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Saisie vocale désactivée"</string> <string name="configure_input_method" msgid="373356270290742459">"Configurer les modes de saisie"</string> <string name="language_selection_title" msgid="1651299598555326750">"Langues de saisie"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Langues de saisie"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Appuyer de nouveau pour enregistrer"</string> <string name="has_dictionary" msgid="6071847973466625007">"Dictionnaire disponible"</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index 2b1808460..b51eaeef9 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android कीबोर्ड (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android कीबोर्ड सेटिंग"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"इनपुट विकल्प"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android वर्तनी परीक्षक"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android वर्तनी परीक्षक (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"वर्तनी जांच सेटिंग"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ध्वनि इनपुट अक्षम है"</string> <string name="configure_input_method" msgid="373356270290742459">"इनपुट पद्धति कॉन्फ़िगर करें"</string> <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषा"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"इनपुट भाषाएं"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"सहेजने के लिए पुन: स्पर्श करें"</string> <string name="has_dictionary" msgid="6071847973466625007">"शब्दकोश उपलब्ध है"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index a639073f1..712a24368 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android tipkovnica (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Postavke tipkovnice za Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opcije ulaza"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Androidova provjera pravopisa"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidova provjera pravopisa (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Postavke provjere pravopisa"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Glasovni unos"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Smješko"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Pretraživanje"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Točka"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Omogućena tipka Shift"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Omogućeno pisanje velikih slova"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. unos onemog."</string> <string name="configure_input_method" msgid="373356270290742459">"Konfiguriraj načine ulaza"</string> <string name="language_selection_title" msgid="1651299598555326750">"Jezici unosa"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Jezici unosa"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Dodirnite ponovo za spremanje"</string> <string name="has_dictionary" msgid="6071847973466625007">"Rječnik je dostupan"</string> diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index 0eac1a95b..3e4cc13dd 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-billentyűzet (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android billentyűzetbeállítások"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Beviteli beállítások"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Androidos helyesírás-ellenőrző"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidos helyesírás-ellenőrző (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Helyesírás-ellenőrzés beállításai"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hangbevivel KI"</string> <string name="configure_input_method" msgid="373356270290742459">"Beviteli módok beállítása"</string> <string name="language_selection_title" msgid="1651299598555326750">"Beviteli nyelvek"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Beviteli nyelvek"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Érintse meg újból a mentéshez"</string> <string name="has_dictionary" msgid="6071847973466625007">"Van elérhető szótár"</string> diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index e0e92b5bd..072df0501 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Keyboard Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Setelan keyboard Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opsi masukan"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Pemeriksa ejaan Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Pemeriksa ejaan Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Setelan pemeriksaan ejaan"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Masukan suara dinonaktifkan"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan metode masukan"</string> <string name="language_selection_title" msgid="1651299598555326750">"Bahasa masukan"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Bahasa masukan"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Sentuh lagi untuk menyimpan"</string> <string name="has_dictionary" msgid="6071847973466625007">"Kamus yang tersedia"</string> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index 1929035bc..0be9bde5f 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Tastiera Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Impostazioni tastiera Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opzioni inserimento"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Controllo ortografico Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Controllo ortografico Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Impostazioni di controllo ortografico"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Comandi vocali disatt."</string> <string name="configure_input_method" msgid="373356270290742459">"Configura metodi di immissione"</string> <string name="language_selection_title" msgid="1651299598555326750">"Lingue comandi"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Lingue comandi"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Tocca di nuovo per salvare"</string> <string name="has_dictionary" msgid="6071847973466625007">"Dizionario disponibile"</string> diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index 323cac198..f38201e66 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"מקלדת Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"הגדרות מקלדת של Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"אפשרויות קלט"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"בודק האיות של Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"בודק האיות של Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"הגדרות בדיקת איות"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"הקלט הקולי מושבת"</string> <string name="configure_input_method" msgid="373356270290742459">"הגדרת שיטות קלט"</string> <string name="language_selection_title" msgid="1651299598555326750">"שפות קלט"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"שפות קלט"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"גע שוב כדי לשמור"</string> <string name="has_dictionary" msgid="6071847973466625007">"מילון זמין"</string> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index 891beef7b..ecd69b833 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Androidキーボード(AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Androidキーボードの設定"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"入力オプション"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Androidスペルチェッカー"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Androidスペルチェッカー(AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"スペルチェックの設定"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"音声入力"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"顔文字"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"検索"</string> <string name="spoken_description_dot" msgid="40711082435231673">"中点"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift有効"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock有効"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"音声入力は無効です"</string> <string name="configure_input_method" msgid="373356270290742459">"入力方法を設定"</string> <string name="language_selection_title" msgid="1651299598555326750">"入力言語"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"入力言語"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"保存するにはもう一度タップ"</string> <string name="has_dictionary" msgid="6071847973466625007">"辞書を利用できます"</string> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index 536f06dbd..0c6d3d6c1 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android 키보드(AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android 키보드 설정"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"입력 옵션"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android 맞춤법 검사기"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android 맞춤법 검사기(AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"맞춤법 검사 설정"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"음성 입력이 사용 중지됨"</string> <string name="configure_input_method" msgid="373356270290742459">"입력 방법 설정"</string> <string name="language_selection_title" msgid="1651299598555326750">"입력 언어"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"입력 언어"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"저장하려면 다시 터치"</string> <string name="has_dictionary" msgid="6071847973466625007">"사전 사용 가능"</string> diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index b093e8629..90094f910 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"„Android“ klaviatūra (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"„Android“ klaviatūros nustatymai"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Įvesties parinktys"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"„Android“ rašybos tikrinimo programa"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"„Android“ rašybos tikrinimo programa (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Rašybos tikrinimo nustatymai"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Įvestis balsu"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Šypsenėlė"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Grįžti"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Ieškoti"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Taškas"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Įgalintas antrasis lygis"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Įgalintos didžiosios raidės"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Balso įv. neleidž."</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigūruoti įvesties metodus"</string> <string name="language_selection_title" msgid="1651299598555326750">"Įvesties kalbos"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Įvesties kalbos"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Jei norite išsaugoti, palieskite dar kartą"</string> <string name="has_dictionary" msgid="6071847973466625007">"Žodynas galimas"</string> diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index 93727a8ba..035ba0264 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android tastatūra (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android tastatūras iestatījumi"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Ievades opcijas"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android pareizrakstības pārbaudītājs"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android pareizrakstības pārbaudītājs (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Pareizrakstības pārbaudes iestatījumi"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Balss iev. atspējota"</string> <string name="configure_input_method" msgid="373356270290742459">"Ievades metožu konfigurēšana"</string> <string name="language_selection_title" msgid="1651299598555326750">"Ievades valodas"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Ievades valodas"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Pieskarieties vēlreiz, lai saglabātu."</string> <string name="has_dictionary" msgid="6071847973466625007">"Ir pieejama vārdnīca."</string> diff --git a/java/res/values-ms/strings.xml b/java/res/values-ms/strings.xml index f584f6668..838c51dde 100644 --- a/java/res/values-ms/strings.xml +++ b/java/res/values-ms/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Papan kekunci Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Tetapan papan kekunci Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Pilihan input"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Penyemak ejaan Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Penyemak ejaan Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Tetapan penyemakan ejaan"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Input suara"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Muka senyum"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Carian"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Titik"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Kunci anjak didayakan"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Kunci huruf besar didayakan"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Input suara dilmphkn"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan kaedah input"</string> <string name="language_selection_title" msgid="1651299598555326750">"Bahasa input"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Bahasa input"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Sentuh lagi untuk menyimpan"</string> <string name="has_dictionary" msgid="6071847973466625007">"Kamus tersedia"</string> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index 158b067bb..559f63ca1 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-tastatur (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Innstillinger for skjermtastatur"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Inndataalternativer"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android-stavekontroll"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android-stavekontroll (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Innstillinger for stavekontroll"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Taleinndata"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Smilefjes"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Return"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Søk"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Prikk"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift er aktivert"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock er aktivert"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Taleinndata er deaktiv."</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurer inndatametoder"</string> <string name="language_selection_title" msgid="1651299598555326750">"Inndataspråk"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Inndataspråk"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Trykk på nytt for å lagre"</string> <string name="has_dictionary" msgid="6071847973466625007">"Ordbok tilgjengelig"</string> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index a7d499bd0..f57225c5d 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android-toetsenbord (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Instellingen voor Android-toetsenbord"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Invoeropties"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Spellingcontrole van Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Spellingcontrole van Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Instellingen voor spellingcontrole"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Spraakinvoer is uit"</string> <string name="configure_input_method" msgid="373356270290742459">"Invoermethoden configureren"</string> <string name="language_selection_title" msgid="1651299598555326750">"Invoertalen"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Invoertalen"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Raak nogmaals aan om op te slaan"</string> <string name="has_dictionary" msgid="6071847973466625007">"Woordenboek beschikbaar"</string> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index c2c7820f6..36be77bd1 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klawiatura Androida (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Ustawienia klawiatury Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opcje wprowadzania"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Słownik Androida"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Sprawdzanie pisowni na Androidzie (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Ustawienia sprawdzania pisowni"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Wprowadzanie głosowe"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Uśmiechnięta buźka"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Szukaj"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punkt"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift włączony"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock włączony"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Wprowadzanie głosowe jest wyłączone"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfiguruj metody wprowadzania"</string> <string name="language_selection_title" msgid="1651299598555326750">"Języki wprowadzania"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Języki wprowadzania"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Dotknij ponownie, aby zapisać"</string> <string name="has_dictionary" msgid="6071847973466625007">"Słownik dostępny"</string> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index ccb042e47..936e8d964 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado Android (AOSP)"</string> <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> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Verificador ortográfico do Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Verificador ortográfico do Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Definições da verificação ortográfica"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Entr. voz desact."</string> <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de introdução"</string> <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Idiomas de introdução"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Toque novamente para guardar"</string> <string name="has_dictionary" msgid="6071847973466625007">"Dicionário disponível"</string> diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml index d468712e4..f22d0ff5d 100644 --- a/java/res/values-pt/strings.xml +++ b/java/res/values-pt/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Teclado Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Configurações de teclado Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opções de entrada"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Corretor ortográfico do Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Corretor ortográfico do Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Configurações de verificação ortográfica"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Entrada de voz"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Carinha sorridente"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Voltar"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Pesquisar"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Ponto"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift ativado"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock ativado"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Texto por voz desat."</string> <string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string> <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Toque novamente para salvar"</string> <string name="has_dictionary" msgid="6071847973466625007">"Dicionário disponível"</string> diff --git a/java/res/values-rm/strings.xml b/java/res/values-rm/strings.xml index 18741f816..c6c936e49 100644 --- a/java/res/values-rm/strings.xml +++ b/java/res/values-rm/strings.xml @@ -26,6 +26,8 @@ <string name="english_ime_settings" msgid="6661589557206947774">"Parameters da la tastatura Android"</string> <!-- no translation found for english_ime_input_options (3909945612939668554) --> <skip /> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <!-- no translation found for spell_checker_service_name (7338064335159755926) --> <skip /> <!-- no translation found for aosp_spell_checker_service_name (6985142605330377819) --> @@ -190,6 +192,18 @@ <!-- no translation found for configure_input_method (373356270290742459) --> <skip /> <string name="language_selection_title" msgid="1651299598555326750">"Linguas da cumonds vocals"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <!-- no translation found for select_language (3693815588777926848) --> <skip /> <!-- no translation found for hint_add_to_dictionary (573678656946085380) --> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 05ad4bd5a..ab296d9d3 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Tastatură Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Setările tastaturii Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Opţiuni de introducere text"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Verificator ortografic Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Verificator ortografic Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Setări de verificare ortografică"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Intrare vocală"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Faţă zâmbitoare"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Căutaţi"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punct"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Tasta Shift a fost activată"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Tasta Caps Lock a fost activată"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Intr. vocală dezact."</string> <string name="configure_input_method" msgid="373356270290742459">"Configuraţi metodele de intrare"</string> <string name="language_selection_title" msgid="1651299598555326750">"Selectaţi limba"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Limbi de intrare"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Atingeţi din nou pentru a salva"</string> <string name="has_dictionary" msgid="6071847973466625007">"Dicţionar disponibil"</string> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 3bde1464d..f91779727 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавиатура Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Клавиатура Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Настройки"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Проверка правописания Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Проверка правописания Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Настройка проверки правописания"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Голосовой ввод"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Смайлик"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Клавиша \"Ввод\""</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Поиск"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Точка"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Верхний регистр включен"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock включен"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голосовой ввод откл."</string> <string name="configure_input_method" msgid="373356270290742459">"Настройка способов ввода"</string> <string name="language_selection_title" msgid="1651299598555326750">"Языки ввода"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Языки ввода"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Нажмите, чтобы сохранить"</string> <string name="has_dictionary" msgid="6071847973466625007">"Доступен словарь"</string> diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index b11142cf8..9e01d7274 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Klávesnica Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Nastavenia klávesnice Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti zadávania textu a údajov"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Kontrola pravopisu Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kontrola pravopisu Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Nastavenia kontroly pravopisu"</string> @@ -60,7 +62,7 @@ <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Vypnuté"</string> <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mierne"</string> <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresívne"</string> - <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Veľmi agresívna"</string> + <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Veľmi agresívne"</string> <string name="bigram_suggestion" msgid="8169311444438922902">"Návrhy ďalšieho slova"</string> <string name="bigram_suggestion_summary" msgid="6635527607242625713">"Na zlepšenie návrhov použiť predchádzajúce slovo"</string> <string name="bigram_prediction" msgid="3216364899483135294">"Odhad ďalšieho slova"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Hlasový vstup"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Usmiata tvár"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"vyhľadávacie tlačidlo"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Bodka"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Kláves Shift je povolený"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Kláves Caps Lock je povolený"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hlasový vstup je zakázaný"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurovať metódy vstupu"</string> <string name="language_selection_title" msgid="1651299598555326750">"Jazyky vstupu"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Jazyky vstupu"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Opätovným dotykom uložíte"</string> <string name="has_dictionary" msgid="6071847973466625007">"K dispozícii je slovník"</string> diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index ed8c77f61..8ab2e70c8 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Tipkovnica Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Nastavitve tipkovnice Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Možnosti vnosa"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Črkovalnik za Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Črkovalnik za Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Nastavitve preverjanja črkovanja"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Glasovni vnos"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Smeško"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Vračalka"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Iskanje"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Pika"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Način »Shift« je omogočen"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Način »Caps Lock« je omogočen"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Glas. vnos je onem."</string> <string name="configure_input_method" msgid="373356270290742459">"Nastavitev načinov vnosa"</string> <string name="language_selection_title" msgid="1651299598555326750">"Jeziki vnosa"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Jeziki vnosa"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Dotaknite se še enkrat, da shranite"</string> <string name="has_dictionary" msgid="6071847973466625007">"Slovar je na voljo"</string> diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 950baad47..a9f5a7b25 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android тастатура (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Подешавања Android тастатуре"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Опције уноса"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android провера правописа"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android провера правописа (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Подешавања провере правописа"</string> @@ -93,8 +95,7 @@ <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> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Претражи"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Тачка"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift је омогућен"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock је омогућен"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Гласовни унос је онемогућен"</string> <string name="configure_input_method" msgid="373356270290742459">"Конфигурисање метода уноса"</string> <string name="language_selection_title" msgid="1651299598555326750">"Језици за унос"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Језици уноса"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Поново додирните да бисте сачували"</string> <string name="has_dictionary" msgid="6071847973466625007">"Речник је доступан"</string> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index 75e80d42d..822ca7c59 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Androids tangentbord (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Inställningar för Androids tangentbord"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Inmatningsalternativ"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Stavningskontroll i Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Stavningskontroll i Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Inställningar för stavningskontroll"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Röstinmatning inaktiv"</string> <string name="configure_input_method" msgid="373356270290742459">"Konfigurera inmatningsmetoder"</string> <string name="language_selection_title" msgid="1651299598555326750">"Inmatningsspråk"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Inmatningsspråk"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Spara genom att trycka igen"</string> <string name="has_dictionary" msgid="6071847973466625007">"En ordlista är tillgänglig"</string> diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml index 82c867e3f..b9738f6da 100644 --- a/java/res/values-sw/strings.xml +++ b/java/res/values-sw/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Kicharazio cha Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Mipangilio ya kibodi ya Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Chaguo za uingizaji"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Kikagua tahajia cha Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Kikagua tahajia cha Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Mipangilio ya kukagua sarufi"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Uingizaji sauti umelemazwa"</string> <string name="configure_input_method" msgid="373356270290742459">"Sanidi mbinu za uingizaji"</string> <string name="language_selection_title" msgid="1651299598555326750">"Lugha za uingizaji"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Lugha zinazoruhusiwa"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Gusa tena ili kuhifadhi"</string> <string name="has_dictionary" msgid="6071847973466625007">"Kamusi inapatikana"</string> diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index da20d6607..7731be146 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android keyboard (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"การตั้งค่าแป้นพิมพ์ Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"ตัวเลือกการป้อนข้อมูล"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"แอนดรอยด์ตรวจสอบการสะกด"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"แอนดรอยด์ตรวจสอบการสะกด (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"การตั้งค่าการตรวจสอบการสะกด"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"ปิดใช้งานป้อนข้อมูลด้วยเสียง"</string> <string name="configure_input_method" msgid="373356270290742459">"กำหนดค่าวิธีการป้อนข้อมูล"</string> <string name="language_selection_title" msgid="1651299598555326750">"ภาษาในการป้อนข้อมูล"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"ภาษาสำหรับการป้อนข้อมูล"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"แตะอีกครั้งเพื่อบันทึก"</string> <string name="has_dictionary" msgid="6071847973466625007">"มีพจนานุกรมให้ใช้งาน"</string> diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index 75e56ec4f..aad8fe670 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android keyboard (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Mga setting ng Android keyboard"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Mga pagpipilian sa input"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Pang-check ng pagbabaybay ng Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Pang-check ng pagbabaybay ng Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Mga setting ng pang-check ng pagbabaybay"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Input ng boses"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley na mukha"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Bumalik"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Paghahanap"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Tuldok"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Pinagana ang shift"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Pinagana ang caps lock"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Hindi pinagana ang voice input"</string> <string name="configure_input_method" msgid="373356270290742459">"I-configure ang mga pamamaraan ng pag-input"</string> <string name="language_selection_title" msgid="1651299598555326750">"Mag-input ng mga wika"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Mga wika ng input"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Pinduting muli upang i-save"</string> <string name="has_dictionary" msgid="6071847973466625007">"Available ang diksyunaryo"</string> diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index 49c861fb3..fbe1c6fe7 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android klavye (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android klavye ayarları"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Giriş seçenekleri"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android yazım denetleyici"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android yazım denetleyici (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Yazım denetimi ayarları"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Ses girişi"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Gülen yüz"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Enter"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Ara"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Nokta"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Üst karakter etkin"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Büyük harf kilidi etkin"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Sesle grş devre dışı"</string> <string name="configure_input_method" msgid="373356270290742459">"Giriş yöntemlerini yapılandır"</string> <string name="language_selection_title" msgid="1651299598555326750">"Giriş dilleri"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Giriş dilleri"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Kaydetmek için tekrar dokunun"</string> <string name="has_dictionary" msgid="6071847973466625007">"Sözlük kullanılabilir"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index 9d5063458..0cfa342b2 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -24,12 +24,14 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Клавіатура Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Налашт-ня клавіат. Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Парам. введення"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Засіб перевірки орфографії Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Засіб перевірки орфографії Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Налаштування перевірки орфографії"</string> <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Шукати імена контактів"</string> <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Програма перевірки правопису використ. записи зі списку контактів"</string> - <string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібр при натиску клав."</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> <string name="general_category" msgid="1859088467017573195">"Загальні"</string> @@ -58,9 +60,9 @@ <string name="auto_correction" msgid="4979925752001319458">"Автомат. виправлення"</string> <string name="auto_correction_summary" msgid="5625751551134658006">"Пробіл і пунктуація автоматично виправляють слова з помилками"</string> <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Вимк."</string> - <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Середнє"</string> - <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Повне"</string> - <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Повне виправлення"</string> + <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Помірне"</string> + <string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Активне"</string> + <string name="auto_correction_threshold_mode_very_aggeressive" msgid="3386782235540547678">"Дуже активне"</string> <string name="bigram_suggestion" msgid="8169311444438922902">"Пропозиції наступного слова"</string> <string name="bigram_suggestion_summary" msgid="6635527607242625713">"Використати попереднє слово для покращення пропозицій"</string> <string name="bigram_prediction" msgid="3216364899483135294">"Передбачення наступного слова"</string> @@ -93,8 +95,7 @@ <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> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Пошук"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Крапка"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift увімкнено"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock увімкнено"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Голос. ввід вимкнено"</string> <string name="configure_input_method" msgid="373356270290742459">"Налаштування методів введення"</string> <string name="language_selection_title" msgid="1651299598555326750">"Мови вводу"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Мови введення"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Торкніться знову, щоб зберегти"</string> <string name="has_dictionary" msgid="6071847973466625007">"Словник доступний"</string> @@ -135,7 +148,7 @@ <string name="remove" msgid="4486081658752944606">"Видалити"</string> <string name="save" msgid="7646738597196767214">"Зберегти"</string> <string name="subtype_locale" msgid="8576443440738143764">"Мова"</string> - <string name="keyboard_layout_set" msgid="4309233698194565609">"Макет"</string> + <string name="keyboard_layout_set" msgid="4309233698194565609">"Розкладка"</string> <string name="custom_input_style_note_message" msgid="8826731320846363423">"Щоб використовувати користувацький стиль введення, його потрібно ввімкнути. Увімкнути його?"</string> <string name="enable" msgid="5031294444630523247">"Увімкнути"</string> <string name="not_now" msgid="6172462888202790482">"Не зараз"</string> diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index 80844c177..c3e07c3ef 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Bàn phím Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Cài đặt bàn phím Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Tùy chọn nhập"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Trình kiểm tra chính tả Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Trình kiểm tra chính tả Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Cài đặt kiểm tra chính tả"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"Nhập dữ liệu bằng giọng nói"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"Mặt cười"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Quay lại"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"Tìm kiếm"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Dấu chấm"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Đã bật Shift"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Đã bật Caps lock"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Nhập liệu bằng giọng nói đã bị tắt"</string> <string name="configure_input_method" msgid="373356270290742459">"Định cấu hình phương thức nhập"</string> <string name="language_selection_title" msgid="1651299598555326750">"Ngôn ngữ nhập"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Ngôn ngữ nhập"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Chạm lại để lưu"</string> <string name="has_dictionary" msgid="6071847973466625007">"Có sẵn từ điển"</string> diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml index 7ff03643f..54cbf5c05 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android 键盘 (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android 键盘设置"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"输入选项"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android 拼写检查工具"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android 拼写检查工具 (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"拼写检查设置"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"语音输入"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"笑脸"</string> <string name="spoken_description_return" msgid="8178083177238315647">"返回"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"搜索"</string> <string name="spoken_description_dot" msgid="40711082435231673">"点"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift 模式已启用"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"大写锁定已启用"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"语音输入功能已停用"</string> <string name="configure_input_method" msgid="373356270290742459">"配置输入法"</string> <string name="language_selection_title" msgid="1651299598555326750">"输入语言"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"输入语言"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"再次触摸即可保存"</string> <string name="has_dictionary" msgid="6071847973466625007">"有可用词典"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 9c5d88bef..8f80e2778 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Android 鍵盤 (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Android 鍵盤設定"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"輸入選項"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Android 拼字檢查"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Android 拼字檢查 (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"拼字檢查設定"</string> @@ -93,8 +95,7 @@ <string name="spoken_description_mic" msgid="615536748882611950">"語音輸入"</string> <string name="spoken_description_smiley" msgid="2256309826200113918">"笑臉"</string> <string name="spoken_description_return" msgid="8178083177238315647">"返回"</string> - <!-- no translation found for spoken_description_search (1247236163755920808) --> - <skip /> + <string name="spoken_description_search" msgid="1247236163755920808">"搜尋"</string> <string name="spoken_description_dot" msgid="40711082435231673">"點"</string> <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift 鍵已啟用"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"大寫鎖定已啟用"</string> @@ -112,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"語音輸入已停用"</string> <string name="configure_input_method" msgid="373356270290742459">"設定輸入法"</string> <string name="language_selection_title" msgid="1651299598555326750">"輸入語言"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"輸入語言"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"再次輕觸即可儲存"</string> <string name="has_dictionary" msgid="6071847973466625007">"可使用字典"</string> diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml index d3f80e42a..b5b0dfb45 100644 --- a/java/res/values-zu/strings.xml +++ b/java/res/values-zu/strings.xml @@ -24,6 +24,8 @@ <string name="aosp_android_keyboard_ime_name" msgid="7877134937939182296">"Ikhibhodi ye-Android (AOSP)"</string> <string name="english_ime_settings" msgid="6661589557206947774">"Izilungiselelo zekhibhodi ye-Android"</string> <string name="english_ime_input_options" msgid="3909945612939668554">"Okukhethwa kukho kokungenayo"</string> + <!-- no translation found for english_ime_research_log (8492602295696577851) --> + <skip /> <string name="spell_checker_service_name" msgid="7338064335159755926">"Isihloli sokupela se-Android"</string> <string name="aosp_spell_checker_service_name" msgid="6985142605330377819">"Isihloli sokupela se-Android (AOSP)"</string> <string name="android_spell_checker_settings" msgid="5822324635435443689">"Izilungiselelo zokuhlola ukupela"</string> @@ -111,6 +113,18 @@ <string name="voice_input_modes_summary_off" msgid="63875609591897607">"Okufakwayo ngezwi kuvinjelwe"</string> <string name="configure_input_method" msgid="373356270290742459">"Misa izindlela zokufakwayo"</string> <string name="language_selection_title" msgid="1651299598555326750">"Izilimi zokufakwayo"</string> + <!-- no translation found for note_timestamp_for_researchlog (1889446857977976026) --> + <skip /> + <!-- no translation found for notify_recorded_timestamp (8036429032449612051) --> + <skip /> + <!-- no translation found for do_not_log_this_session (413762473641146336) --> + <skip /> + <!-- no translation found for notify_session_log_deleting (3299507647764414623) --> + <skip /> + <!-- no translation found for notify_session_log_deleted (8687927130100934686) --> + <skip /> + <!-- no translation found for notify_session_log_not_deleted (2592908998810755970) --> + <skip /> <string name="select_language" msgid="3693815588777926848">"Izilimi zokufakwayo"</string> <string name="hint_add_to_dictionary" msgid="573678656946085380">"Thinta futhi ukuze ulondoloze"</string> <string name="has_dictionary" msgid="6071847973466625007">"Isichazamazwi siyatholakala"</string> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index d51d3789a..d663b008d 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -26,6 +26,8 @@ <string name="english_ime_settings">Android keyboard settings</string> <!-- Title for Latin keyboard input options dialog [CHAR LIMIT=25] --> <string name="english_ime_input_options">Input options</string> + <!-- Title for Latin keyboard research log dialog, which contains special commands for users that contribute data for research. [CHAR LIMIT=25] --> + <string name="english_ime_research_log">Research Log Commands</string> <!-- Name of Android spell checker service --> <string name="spell_checker_service_name">Android spell checker</string> @@ -233,6 +235,20 @@ <!-- Title for input language selection screen --> <string name="language_selection_title">Input languages</string> + <!-- Title for dialog option that lets user mark a particular time in the log for later review by experts [CHAR LIMIT=25] --> + <string name="note_timestamp_for_researchlog">Note timestamp in log</string> + <!-- Toast notification message that the time has been marked for later review. [CHAR LIMIT=25] --> + <string name="notify_recorded_timestamp">Recorded timestamp</string> + + <!-- Title for dialog option to let users cancel logging and delete log for this session [CHAR LIMIT=25] --> + <string name="do_not_log_this_session">Do not log this session</string> + <!-- Toast notification that the system is processing the request to delete the log for this session [CHAR LIMIT=25] --> + <string name="notify_session_log_deleting">Deleting session log</string> + <!-- Toast notification that the system has successfully deleted the log for this session [CHAR LIMIT=25] --> + <string name="notify_session_log_deleted">Session log deleted</string> + <!-- Toast notification that the system has failed to delete the log for this session [CHAR LIMIT=25] --> + <string name="notify_session_log_not_deleted">Session log NOT deleted</string> + <!-- Preference for input language selection --> <string name="select_language">Input languages</string> diff --git a/java/res/xml-sw600dp/key_apostrophe.xml b/java/res/xml-sw600dp/key_apostrophe.xml index 7da4b6223..0c838db56 100644 --- a/java/res/xml-sw600dp/key_apostrophe.xml +++ b/java/res/xml-sw600dp/key_apostrophe.xml @@ -23,20 +23,11 @@ > <switch> <case - latin:mode="email" + latin:mode="email|url" > <Key latin:keyLabel="-" /> </case> - <case - latin:mode="url" - > - <Key - latin:keyLabel="/" - latin:keyHintLabel=":" - latin:moreKeys=":" - latin:keyStyle="hasShiftedLetterHintStyle" /> - </case> <default> <Key latin:keyLabel="!text/keylabel_for_apostrophe" diff --git a/java/res/xml-sw600dp/key_dash.xml b/java/res/xml-sw600dp/key_dash.xml index f7e0b3436..8f91effd0 100644 --- a/java/res/xml-sw600dp/key_dash.xml +++ b/java/res/xml-sw600dp/key_dash.xml @@ -23,7 +23,7 @@ > <switch> <case - latin:mode="email" + latin:mode="email|url" > <Key latin:keyLabel="_" /> diff --git a/java/res/xml-sw600dp/key_f1.xml b/java/res/xml-sw600dp/key_f1.xml new file mode 100644 index 000000000..77afe4e64 --- /dev/null +++ b/java/res/xml-sw600dp/key_f1.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2012, 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. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <switch> + <case + latin:keyboardLayoutSetElement="symbols" + latin:mode="url" + > + <Key + latin:keyLabel=":" /> + </case> + <case + latin:keyboardLayoutSetElement="symbols" + > + <Key + latin:keyLabel="\@" /> + </case> + <!-- keyboardLayoutSetElement != "symbols" --> + <case + latin:mode="email" + > + <Key + latin:keyLabel="\@" /> + </case> + <case + latin:mode="url" + > + <Key + latin:keyLabel="/" + latin:keyHintLabel=":" + latin:moreKeys=":" + latin:keyStyle="hasShiftedLetterHintStyle" /> + </case> + <default> + <Key + latin:keyLabel="/" + latin:keyHintLabel="\@" + latin:moreKeys="\@" + latin:keyStyle="hasShiftedLetterHintStyle" /> + </default> + </switch> +</merge> diff --git a/java/res/xml-sw600dp/key_f2.xml b/java/res/xml-sw600dp/key_f2.xml new file mode 100644 index 000000000..ca3b30b54 --- /dev/null +++ b/java/res/xml-sw600dp/key_f2.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2012, 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. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <switch> + <case + latin:mode="email|url" + > + <Key + latin:keyStyle="comKeyStyle" /> + </case> + <case + latin:imeAction="actionSearch" + > + <Key + latin:keyLabel=":" + latin:keyHintLabel="+" + latin:moreKeys="+" + latin:keyStyle="hasShiftedLetterHintStyle" /> + </case> + <default> + <Key + latin:keyStyle="smileyKeyStyle" /> + </default> + </switch> +</merge> diff --git a/java/res/xml-sw600dp/key_question_exclamation.xml b/java/res/xml-sw600dp/key_question_exclamation.xml index f1495de49..860a0be77 100644 --- a/java/res/xml-sw600dp/key_question_exclamation.xml +++ b/java/res/xml-sw600dp/key_question_exclamation.xml @@ -23,20 +23,11 @@ > <switch> <case - latin:mode="email" + latin:mode="email|url" > <Key latin:keyLabel="-" /> </case> - <case - latin:mode="url" - > - <Key - latin:keyLabel="/" - latin:keyHintLabel=":" - latin:moreKeys=":" - latin:keyStyle="hasShiftedLetterHintStyle" /> - </case> <default> <Key latin:keyLabel="\?" diff --git a/java/res/xml-sw600dp/keys_f1f2.xml b/java/res/xml-sw600dp/keys_f1f2.xml deleted file mode 100644 index 721bfc722..000000000 --- a/java/res/xml-sw600dp/keys_f1f2.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2012, 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. -*/ ---> - -<merge - xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" -> - <switch> - <case - latin:mode="url" - > - <Key - latin:keyStyle="comKeyStyle" - latin:keyWidth="18.0%p" /> - </case> - <default> - <switch> - <case - latin:mode="email" - > - <Key - latin:keyStyle="comKeyStyle" /> - </case> - <case - latin:imeAction="actionSearch" - > - <Key - latin:keyLabel=":" - latin:keyHintLabel="+" - latin:moreKeys="+" - latin:keyStyle="hasShiftedLetterHintStyle" /> - </case> - <default> - <Key - latin:keyStyle="smileyKeyStyle" /> - </default> - </switch> - <switch> - <case - latin:mode="email" - > - <Key - latin:keyLabel="\@" /> - </case> - <default> - <Key - latin:keyLabel="/" - latin:keyHintLabel="\@" - latin:moreKeys="\@" - latin:keyStyle="hasShiftedLetterHintStyle" /> - </default> - </switch> - </default> - </switch> -</merge> diff --git a/java/res/xml-sw600dp/row_dvorak4.xml b/java/res/xml-sw600dp/row_dvorak4.xml index ffc3427c5..969cc145e 100644 --- a/java/res/xml-sw600dp/row_dvorak4.xml +++ b/java/res/xml-sw600dp/row_dvorak4.xml @@ -23,22 +23,24 @@ > <Row latin:keyWidth="9.0%p" + latin:backgroundType="functional" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyWidth="10.0%p" /> <include - latin:keyboardLayout="@xml/keys_f1f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="28.0%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <include latin:keyboardLayout="@xml/key_question_exclamation" /> <include latin:keyboardLayout="@xml/key_dash" /> <include - latin:keyXPos="-9.0%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_f2" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/row_hebrew4.xml b/java/res/xml-sw600dp/row_hebrew4.xml index 114a5cc16..f429f97fb 100644 --- a/java/res/xml-sw600dp/row_hebrew4.xml +++ b/java/res/xml-sw600dp/row_hebrew4.xml @@ -23,20 +23,22 @@ > <Row latin:keyWidth="9.0%p" + latin:backgroundType="functional" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyWidth="10.0%p" /> <include - latin:keyboardLayout="@xml/keys_f1f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="28.0%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <include latin:keyboardLayout="@xml/keys_comma_period" /> <include - latin:keyXPos="-9.0%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_f2" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/row_qwerty4.xml b/java/res/xml-sw600dp/row_qwerty4.xml index a4ba8a4c3..fa433635e 100644 --- a/java/res/xml-sw600dp/row_qwerty4.xml +++ b/java/res/xml-sw600dp/row_qwerty4.xml @@ -23,22 +23,24 @@ > <Row latin:keyWidth="9.0%p" + latin:backgroundType="functional" > <Key latin:keyStyle="toSymbolKeyStyle" latin:keyWidth="10.0%p" /> <include - latin:keyboardLayout="@xml/keys_f1f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="28.0%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <include latin:keyboardLayout="@xml/key_apostrophe" /> <include latin:keyboardLayout="@xml/key_dash" /> <include - latin:keyXPos="-9.0%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_f2" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/row_symbols4.xml b/java/res/xml-sw600dp/row_symbols4.xml index 20d1a7dff..73a5b1703 100644 --- a/java/res/xml-sw600dp/row_symbols4.xml +++ b/java/res/xml-sw600dp/row_symbols4.xml @@ -23,25 +23,24 @@ > <Row latin:keyWidth="9.0%p" + latin:backgroundType="functional" > <Key latin:keyStyle="toAlphaKeyStyle" latin:keyWidth="10.0%p" /> <Key latin:keyLabel="/" /> - <Key - latin:keyLabel="\@" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="28.0%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <Key latin:keyLabel=""" latin:moreKeys="!text/more_keys_for_tablet_double_quote" /> <Key latin:keyLabel="_" /> - <include - latin:keyXPos="-9.0%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + <!-- Here is empty space. --> </Row> </merge> diff --git a/java/res/xml-sw600dp/row_symbols_shift4.xml b/java/res/xml-sw600dp/row_symbols_shift4.xml index fd7b37032..6f3aac7c6 100644 --- a/java/res/xml-sw600dp/row_symbols_shift4.xml +++ b/java/res/xml-sw600dp/row_symbols_shift4.xml @@ -23,16 +23,16 @@ > <Row latin:keyWidth="9.0%p" + latin:backgroundType="functional" > <Key latin:keyStyle="toAlphaKeyStyle" latin:keyWidth="10.0%p" /> + <!-- Here is empty space. --> <include latin:keyXPos="28.0%p" - latin:keyboardLayout="@xml/key_space" /> - <include - latin:keyXPos="-9.0%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> + <!-- Here is empty space. --> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_number_normal.xml b/java/res/xml-sw600dp/rows_number_normal.xml index 3954b000e..48b304089 100644 --- a/java/res/xml-sw600dp/rows_number_normal.xml +++ b/java/res/xml-sw600dp/rows_number_normal.xml @@ -25,15 +25,18 @@ <Key latin:keyLabel="-" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="+" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="." latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="1" latin:keyStyle="numKeyStyle" @@ -52,11 +55,13 @@ <Row> <Key latin:keyStyle="numStarKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="/" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <switch> <case latin:mode="time|datetime" @@ -66,13 +71,15 @@ latin:keyLabelFlags="hasPopupHint" latin:moreKeys="!text/more_keys_for_am_pm" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> </case> <default> <Key latin:keyLabel="," latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> </default> </switch> <Key @@ -94,11 +101,13 @@ <Key latin:keyLabel="(" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel=")" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <switch> <case latin:mode="time|datetime" @@ -106,13 +115,15 @@ <Key latin:keyLabel=":" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> </case> <default> <Key latin:keyLabel="=" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> </default> </switch> <Key @@ -131,7 +142,8 @@ <Row> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="30%p" /> + latin:keyWidth="30%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numStarKeyStyle" latin:keyXPos="31%p" /> @@ -141,9 +153,5 @@ <Key latin:keyLabel="#" latin:keyStyle="numKeyStyle" /> - <include - latin:keyXPos="-10%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_phone.xml b/java/res/xml-sw600dp/rows_phone.xml index 113ce1fa6..dcc4fde7d 100644 --- a/java/res/xml-sw600dp/rows_phone.xml +++ b/java/res/xml-sw600dp/rows_phone.xml @@ -29,14 +29,17 @@ <Key latin:keyLabel="-" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="+" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numPauseKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="num1KeyStyle" latin:keyXPos="31%p" /> @@ -53,14 +56,17 @@ <Key latin:keyLabel="," latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="." latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numWaitKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="num4KeyStyle" latin:keyXPos="31%p" /> @@ -77,15 +83,18 @@ <Key latin:keyLabel="(" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel=")" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="N" latin:keyStyle="numKeyStyle" - latin:keyWidth="10%p" /> + latin:keyWidth="10%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="num7KeyStyle" latin:keyXPos="31%p" /> @@ -99,7 +108,8 @@ <Row> <Key latin:keyStyle="spaceKeyStyle" - latin:keyWidth="30%p" /> + latin:keyWidth="30%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numStarKeyStyle" latin:keyXPos="31%p" /> @@ -108,9 +118,5 @@ <Key latin:keyLabel="#" latin:keyStyle="numKeyStyle" /> - <include - latin:keyXPos="-10%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/key_settings.xml b/java/res/xml-sw768dp/key_settings.xml index 0359a99c5..0d3bb59a4 100644 --- a/java/res/xml-sw768dp/key_settings.xml +++ b/java/res/xml-sw768dp/key_settings.xml @@ -32,4 +32,4 @@ <Spacer /> </default> </switch> - </merge> +</merge> diff --git a/java/res/xml-sw768dp/key_shortcut.xml b/java/res/xml-sw768dp/key_shortcut.xml index 905270599..2d09ebbfc 100644 --- a/java/res/xml-sw768dp/key_shortcut.xml +++ b/java/res/xml-sw768dp/key_shortcut.xml @@ -28,5 +28,9 @@ <Key latin:keyStyle="shortcutKeyStyle" /> </case> + <default> + <!-- The empty space instead of shortcut key. --> + <Spacer /> + </default> </switch> </merge> diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml index f2fb90bbc..40082ac35 100644 --- a/java/res/xml-sw768dp/key_styles_common.xml +++ b/java/res/xml-sw768dp/key_styles_common.xml @@ -74,12 +74,6 @@ <include latin:keyboardLayout="@xml/key_styles_enter" /> <key-style - latin:styleName="defaultActionKeyStyle" - latin:code="!code/key_action_enter" - latin:keyIcon="!icon/undefined" - latin:backgroundType="functional" - latin:parentStyle="defaultEnterKeyStyle" /> - <key-style latin:styleName="spaceKeyStyle" latin:code="!code/key_space" latin:keyActionFlags="noKeyPreview" /> diff --git a/java/res/xml-sw768dp/keys_f1f2.xml b/java/res/xml-sw768dp/keys_f1f2.xml deleted file mode 100644 index 569703572..000000000 --- a/java/res/xml-sw768dp/keys_f1f2.xml +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 2012, 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. -*/ ---> - -<merge - xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" -> - <switch> - <case - latin:mode="url" - > - <Key - latin:keyStyle="comKeyStyle" - latin:keyWidth="16.084%p" /> - </case> - <default> - <switch> - <case - latin:mode="email" - > - <Key - latin:keyStyle="comKeyStyle" /> - </case> - <case - latin:imeAction="actionSearch" - > - <Key - latin:keyLabel=":" - latin:keyHintLabel="+" - latin:moreKeys="+" - latin:keyStyle="hasShiftedLetterHintStyle" /> - </case> - <default> - <Key - latin:keyStyle="smileyKeyStyle" /> - </default> - </switch> - <switch> - <case - latin:mode="email" - > - <Key - latin:keyLabel="\@" /> - </case> - <default> - <Key - latin:keyLabel="/" - latin:keyHintLabel="\@" - latin:moreKeys="\@" - latin:keyStyle="hasShiftedLetterHintStyle" /> - </default> - </switch> - </default> - </switch> -</merge> diff --git a/java/res/xml-sw768dp/row_dvorak4.xml b/java/res/xml-sw768dp/row_dvorak4.xml index ebe517dce..0827815c9 100644 --- a/java/res/xml-sw768dp/row_dvorak4.xml +++ b/java/res/xml-sw768dp/row_dvorak4.xml @@ -23,22 +23,24 @@ > <Row latin:keyWidth="8.047%p" + latin:backgroundType="functional" > <include + latin:keyXPos="5.782%p" latin:keyboardLayout="@xml/key_settings" /> <include - latin:keyXPos="13.829%p" - latin:keyboardLayout="@xml/keys_f1f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="29.923%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <include latin:keyboardLayout="@xml/key_question_exclamation" /> <include latin:keyboardLayout="@xml/key_dash" /> <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_f2" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/row_hebrew4.xml b/java/res/xml-sw768dp/row_hebrew4.xml index 477fd0d9a..180c5641d 100644 --- a/java/res/xml-sw768dp/row_hebrew4.xml +++ b/java/res/xml-sw768dp/row_hebrew4.xml @@ -23,20 +23,22 @@ > <Row latin:keyWidth="8.047%p" + latin:backgroundType="functional" > <include + latin:keyXPos="5.782%p" latin:keyboardLayout="@xml/key_settings" /> <include - latin:keyXPos="13.829%p" - latin:keyboardLayout="@xml/keys_f1f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="29.923%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <include latin:keyboardLayout="@xml/keys_comma_period" /> <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_f2" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/row_qwerty4.xml b/java/res/xml-sw768dp/row_qwerty4.xml index 32a6476c5..92411f54e 100644 --- a/java/res/xml-sw768dp/row_qwerty4.xml +++ b/java/res/xml-sw768dp/row_qwerty4.xml @@ -23,22 +23,24 @@ > <Row latin:keyWidth="8.047%p" + latin:backgroundType="functional" > <include + latin:keyXPos="5.782%p" latin:keyboardLayout="@xml/key_settings" /> <include - latin:keyXPos="13.829%p" - latin:keyboardLayout="@xml/keys_f1f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="29.923%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <include latin:keyboardLayout="@xml/key_apostrophe" /> <include latin:keyboardLayout="@xml/key_dash" /> <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_f2" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/row_symbols4.xml b/java/res/xml-sw768dp/row_symbols4.xml index bd85b4041..4e1c11994 100644 --- a/java/res/xml-sw768dp/row_symbols4.xml +++ b/java/res/xml-sw768dp/row_symbols4.xml @@ -23,25 +23,22 @@ > <Row latin:keyWidth="8.047%p" + latin:backgroundType="functional" > - <include - latin:keyboardLayout="@xml/key_settings" /> - <Key - latin:keyLabel="/" - latin:keyXPos="13.829%p" /> <Key - latin:keyLabel="\@" /> + latin:keyXPos="13.829%p" + latin:keyLabel="/" /> + <include + latin:keyboardLayout="@xml/key_f1" /> <include latin:keyXPos="29.923%p" - latin:keyboardLayout="@xml/key_space" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> <Key latin:keyLabel=""" latin:moreKeys="!text/more_keys_for_tablet_double_quote" /> <Key latin:keyLabel="_" /> - <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + <!-- Here is empty space. --> </Row> </merge> diff --git a/java/res/xml-sw768dp/row_symbols_shift4.xml b/java/res/xml-sw768dp/row_symbols_shift4.xml index 82c1d17ca..561351cab 100644 --- a/java/res/xml-sw768dp/row_symbols_shift4.xml +++ b/java/res/xml-sw768dp/row_symbols_shift4.xml @@ -23,15 +23,13 @@ > <Row latin:keyWidth="8.047%p" + latin:backgroundType="functional" > - <include - latin:keyboardLayout="@xml/key_settings" /> + <!-- Here is empty space. --> <include latin:keyXPos="29.923%p" - latin:keyboardLayout="@xml/key_space" /> - <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> + latin:keyboardLayout="@xml/key_space" + latin:backgroundType="normal" /> + <!-- Here is empty space. --> </Row> </merge> diff --git a/java/res/xml-sw768dp/rows_number_normal.xml b/java/res/xml-sw768dp/rows_number_normal.xml index 42697cec1..84910a88f 100644 --- a/java/res/xml-sw768dp/rows_number_normal.xml +++ b/java/res/xml-sw768dp/rows_number_normal.xml @@ -30,15 +30,18 @@ latin:keyLabel="-" latin:keyStyle="numKeyStyle" latin:keyXPos="13.829%p" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="+" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="." latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="1" latin:keyStyle="numKeyStyle" @@ -60,11 +63,13 @@ latin:keyWidth="13.829%p" /> <Key latin:keyStyle="numStarKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="/" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <switch> <case latin:mode="time|datetime" @@ -74,13 +79,15 @@ latin:keyLabelFlags="hasPopupHint" latin:moreKeys="!text/more_keys_for_am_pm" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> </case> <default> <Key latin:keyLabel="," latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> </default> </switch> <Key @@ -105,11 +112,13 @@ <Key latin:keyLabel="(" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel=")" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <switch> <case latin:mode="time|datetime" @@ -117,13 +126,15 @@ <Key latin:keyLabel=":" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> </case> <default> <Key latin:keyLabel="=" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> </default> </switch> <Key @@ -146,7 +157,8 @@ <Key latin:keyStyle="spaceKeyStyle" latin:keyXPos="13.829%p" - latin:keyWidth="24.140%p" /> + latin:keyWidth="24.140%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numStarKeyStyle" latin:keyXPos="43.125%p" /> @@ -156,9 +168,5 @@ <Key latin:keyLabel="#" latin:keyStyle="numKeyStyle" /> - <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/rows_phone.xml b/java/res/xml-sw768dp/rows_phone.xml index b3b3521a9..2f718db62 100644 --- a/java/res/xml-sw768dp/rows_phone.xml +++ b/java/res/xml-sw768dp/rows_phone.xml @@ -34,14 +34,17 @@ latin:keyLabel="-" latin:keyStyle="numKeyStyle" latin:keyXPos="13.829%p" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="+" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numPauseKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="num1KeyStyle" latin:keyXPos="43.125%p" /> @@ -62,14 +65,17 @@ latin:keyLabel="," latin:keyStyle="numKeyStyle" latin:keyXPos="13.829%p" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="." latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numWaitKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="num4KeyStyle" latin:keyXPos="43.125%p" /> @@ -89,15 +95,18 @@ <Key latin:keyLabel="(" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel=")" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyLabel="N" latin:keyStyle="numKeyStyle" - latin:keyWidth="8.047%p" /> + latin:keyWidth="8.047%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="num7KeyStyle" latin:keyXPos="43.125%p" /> @@ -115,7 +124,8 @@ <Key latin:keyStyle="spaceKeyStyle" latin:keyXPos="13.829%p" - latin:keyWidth="24.140%p" /> + latin:keyWidth="24.140%p" + latin:backgroundType="functional" /> <Key latin:keyStyle="numStarKeyStyle" latin:keyXPos="43.125%p" /> @@ -124,9 +134,5 @@ <Key latin:keyLabel="#" latin:keyStyle="numKeyStyle" /> - <include - latin:keyXPos="-8.047%p" - latin:keyWidth="fillRight" - latin:keyboardLayout="@xml/key_shortcut" /> - </Row> + </Row> </merge> diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml index 819cdc6a9..162119dab 100644 --- a/java/res/xml/key_styles_common.xml +++ b/java/res/xml/key_styles_common.xml @@ -22,23 +22,8 @@ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > <!-- Base key style for the key which may have settings or tab key as popup key. --> - <switch> - <case - latin:clobberSettingsKey="true" - > - <key-style - latin:styleName="f1MoreKeysStyle" - latin:backgroundType="functional" /> - </case> - <!-- clobberSettingsKey="false" --> - <default> - <key-style - latin:styleName="f1MoreKeysStyle" - latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="!text/settings_as_more_key" - latin:backgroundType="functional" /> - </default> - </switch> + <include + latin:keyboardLayout="@xml/key_styles_f1" /> <!-- Functional key styles --> <switch> <case @@ -105,8 +90,7 @@ <key-style latin:styleName="spaceKeyStyle" latin:code="!code/key_space" - latin:keyActionFlags="noKeyPreview|enableLongPress" - latin:backgroundType="functional" /> + latin:keyActionFlags="noKeyPreview|enableLongPress" /> <!-- U+200C: ZERO WIDTH NON-JOINER U+200D: ZERO WIDTH JOINER --> <key-style @@ -115,8 +99,7 @@ latin:keyIcon="!icon/zwnj_key" latin:moreKeys="!icon/zwj_key|‍" latin:keyLabelFlags="hasPopupHint" - latin:keyActionFlags="noKeyPreview" - latin:backgroundType="functional" /> + latin:keyActionFlags="noKeyPreview" /> <key-style latin:styleName="shortcutKeyStyle" latin:code="!code/key_shortcut" @@ -137,8 +120,7 @@ latin:code="!code/key_language_switch" latin:keyIcon="!icon/language_switch_key" latin:keyActionFlags="noKeyPreview|altCodeWhileTyping|enableLongPress" - latin:altCode="!code/key_space" - latin:backgroundType="functional" /> + latin:altCode="!code/key_space" /> <key-style latin:styleName="tabKeyStyle" latin:code="!code/key_tab" diff --git a/java/res/xml/key_styles_f1.xml b/java/res/xml/key_styles_f1.xml new file mode 100644 index 000000000..8dfc3cb84 --- /dev/null +++ b/java/res/xml/key_styles_f1.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2012, 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. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <!-- Base key style for the key which may have settings or tab key as popup key. --> + <!-- Kept as a separate file for cleaner overriding by an overlay. --> + <switch> + <case + latin:clobberSettingsKey="true" + > + <key-style + latin:styleName="f1MoreKeysStyle" + latin:backgroundType="functional" /> + </case> + <!-- clobberSettingsKey="false" --> + <default> + <key-style + latin:styleName="f1MoreKeysStyle" + latin:keyLabelFlags="hasPopupHint" + latin:moreKeys="!text/settings_as_more_key" + latin:backgroundType="functional" /> + </default> + </switch> +</merge> diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml index ecb95e7a5..43385d291 100644 --- a/java/res/xml/row_qwerty4.xml +++ b/java/res/xml/row_qwerty4.xml @@ -38,15 +38,14 @@ > <!-- U+064B: "ً" ARABIC FATHATAN --> <Key - latin:keyLabel="." latin:keyHintLabel="ً" latin:keyLabelFlags="hasPopupHint|hasShiftedLetterHint" latin:moreKeys="!text/more_keys_for_arabic_diacritics" - latin:backgroundType="functional" /> + latin:keyStyle="punctuationKeyStyle" /> </case> <default> <Key - latin:keyStyle="punctuationKeyStyle" /> + latin:keyStyle="punctuationKeyStyle" /> </default> </switch> <Key diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index ed873a70d..e1e1ca9cf 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -227,7 +227,7 @@ public class Key { row.setXPos(keyXPos + keyWidth); mBackgroundType = style.getInt(keyAttr, - R.styleable.Keyboard_Key_backgroundType, BACKGROUND_TYPE_NORMAL); + R.styleable.Keyboard_Key_backgroundType, row.getDefaultBackgroundType()); mVisualInsetsLeft = Math.round(Keyboard.Builder.getDimensionOrFraction(keyAttr, R.styleable.Keyboard_Key_visualInsetsLeft, params.mBaseWidth, 0)); diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 0be4cf3a7..6fc630d05 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -89,7 +89,8 @@ public class Keyboard { private static final int MINIMUM_LETTER_CODE = CODE_TAB; /** Special keys code. Must be negative. - * These should be aligned with values/keycodes.xml + * These should be aligned with KeyboardCodesSet.ID_TO_NAME[], + * KeyboardCodesSet.DEFAULT[] and KeyboardCodesSet.RTL[] */ public static final int CODE_SHIFT = -1; public static final int CODE_SWITCH_ALPHA_SYMBOL = -2; @@ -101,8 +102,9 @@ public class Keyboard { public static final int CODE_ACTION_NEXT = -8; public static final int CODE_ACTION_PREVIOUS = -9; public static final int CODE_LANGUAGE_SWITCH = -10; + public static final int CODE_RESEARCH = -11; // Code value representing the code is not specified. - public static final int CODE_UNSPECIFIED = -11; + public static final int CODE_UNSPECIFIED = -12; public final KeyboardId mId; public final int mThemeId; @@ -422,67 +424,67 @@ public class Keyboard { * This class parses Keyboard XML file and eventually build a Keyboard. * The Keyboard XML file looks like: * <pre> - * >!-- xml/keyboard.xml --< - * >Keyboard keyboard_attributes*< - * >!-- Keyboard Content --< - * >Row row_attributes*< - * >!-- Row Content --< - * >Key key_attributes* /< - * >Spacer horizontalGap="32.0dp" /< - * >include keyboardLayout="@xml/other_keys"< + * <!-- xml/keyboard.xml --> + * <Keyboard keyboard_attributes*> + * <!-- Keyboard Content --> + * <Row row_attributes*> + * <!-- Row Content --> + * <Key key_attributes* /> + * <Spacer horizontalGap="32.0dp" /> + * <include keyboardLayout="@xml/other_keys"> * ... - * >/Row< - * >include keyboardLayout="@xml/other_rows"< + * </Row> + * <include keyboardLayout="@xml/other_rows"> * ... - * >/Keyboard< + * </Keyboard> * </pre> - * The XML file which is included in other file must have >merge< as root element, + * The XML file which is included in other file must have <merge> as root element, * such as: * <pre> - * >!-- xml/other_keys.xml --< - * >merge< - * >Key key_attributes* /< + * <!-- xml/other_keys.xml --> + * <merge> + * <Key key_attributes* /> * ... - * >/merge< + * </merge> * </pre> * and * <pre> - * >!-- xml/other_rows.xml --< - * >merge< - * >Row row_attributes*< - * >Key key_attributes* /< - * >/Row< + * <!-- xml/other_rows.xml --> + * <merge> + * <Row row_attributes*> + * <Key key_attributes* /> + * </Row> * ... - * >/merge< + * </merge> * </pre> * You can also use switch-case-default tags to select Rows and Keys. * <pre> - * >switch< - * >case case_attribute*< - * >!-- Any valid tags at switch position --< - * >/case< + * <switch> + * <case case_attribute*> + * <!-- Any valid tags at switch position --> + * </case> * ... - * >default< - * >!-- Any valid tags at switch position --< - * >/default< - * >/switch< + * <default> + * <!-- Any valid tags at switch position --> + * </default> + * </switch> * </pre> * You can declare Key style and specify styles within Key tags. * <pre> - * >switch< - * >case mode="email"< - * >key-style styleName="f1-key" parentStyle="modifier-key" + * <switch> + * <case mode="email"> + * <key-style styleName="f1-key" parentStyle="modifier-key" * keyLabel=".com" - * /< - * >/case< - * >case mode="url"< - * >key-style styleName="f1-key" parentStyle="modifier-key" + * /> + * </case> + * <case mode="url"> + * <key-style styleName="f1-key" parentStyle="modifier-key" * keyLabel="http://" - * /< - * >/case< - * >/switch< + * /> + * </case> + * </switch> * ... - * >Key keyStyle="shift-key" ... /< + * <Key keyStyle="shift-key" ... /> * </pre> */ @@ -533,6 +535,8 @@ public class Keyboard { public final int mRowHeight; /** Default keyLabelFlags in this row. */ private int mDefaultKeyLabelFlags; + /** Default backgroundType for this row */ + private int mDefaultBackgroundType; private final int mCurrentY; // Will be updated by {@link Key}'s constructor. @@ -551,8 +555,11 @@ public class Keyboard { mDefaultKeyWidth = Builder.getDimensionOrFraction(keyAttr, R.styleable.Keyboard_Key_keyWidth, params.mBaseWidth, params.mDefaultKeyWidth); + mDefaultBackgroundType = keyAttr.getInt(R.styleable.Keyboard_Key_backgroundType, + Key.BACKGROUND_TYPE_NORMAL); keyAttr.recycle(); + // TODO: Initialize this with <Row> attribute as backgroundType is done. mDefaultKeyLabelFlags = 0; mCurrentY = y; mCurrentX = 0.0f; @@ -574,6 +581,14 @@ public class Keyboard { mDefaultKeyLabelFlags = keyLabelFlags; } + public int getDefaultBackgroundType() { + return mDefaultBackgroundType; + } + + public void setDefaultBackgroundType(int backgroundType) { + mDefaultBackgroundType = backgroundType; + } + public void setXPos(float keyXPos) { mCurrentX = keyXPos; } @@ -952,6 +967,7 @@ public class Keyboard { int keyboardLayout = 0; float savedDefaultKeyWidth = 0; int savedDefaultKeyLabelFlags = 0; + int savedDefaultBackgroundType = Key.BACKGROUND_TYPE_NORMAL; try { XmlParseUtils.checkAttributeExists(keyboardAttr, R.styleable.Keyboard_Include_keyboardLayout, "keyboardLayout", @@ -959,22 +975,26 @@ public class Keyboard { keyboardLayout = keyboardAttr.getResourceId( R.styleable.Keyboard_Include_keyboardLayout, 0); if (row != null) { - savedDefaultKeyWidth = row.getDefaultKeyWidth(); - savedDefaultKeyLabelFlags = row.getDefaultKeyLabelFlags(); if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyXPos)) { // Override current x coordinate. row.setXPos(row.getKeyX(keyAttr)); } + // TODO: Remove this if-clause and do the same as backgroundType below. + savedDefaultKeyWidth = row.getDefaultKeyWidth(); if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyWidth)) { // Override default key width. row.setDefaultKeyWidth(row.getKeyWidth(keyAttr)); } - if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyLabelFlags)) { - // Override default key label flags. - row.setDefaultKeyLabelFlags( - keyAttr.getInt(R.styleable.Keyboard_Key_keyLabelFlags, 0) - | savedDefaultKeyLabelFlags); - } + savedDefaultKeyLabelFlags = row.getDefaultKeyLabelFlags(); + // Bitwise-or default keyLabelFlag if exists. + row.setDefaultKeyLabelFlags(keyAttr.getInt( + R.styleable.Keyboard_Key_keyLabelFlags, 0) + | savedDefaultKeyLabelFlags); + savedDefaultBackgroundType = row.getDefaultBackgroundType(); + // Override default backgroundType if exists. + row.setDefaultBackgroundType(keyAttr.getInt( + R.styleable.Keyboard_Key_backgroundType, + savedDefaultBackgroundType)); } } finally { keyboardAttr.recycle(); @@ -991,9 +1011,10 @@ public class Keyboard { parseMerge(parserForInclude, row, skip); } finally { if (row != null) { - // Restore default key width and key label flags. + // Restore default keyWidth, keyLabelFlags, and backgroundType. row.setDefaultKeyWidth(savedDefaultKeyWidth); row.setDefaultKeyLabelFlags(savedDefaultKeyLabelFlags); + row.setDefaultBackgroundType(savedDefaultBackgroundType); } parserForInclude.close(); } diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java index 67cb74f4d..f7981a320 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java @@ -52,6 +52,7 @@ public class KeyboardCodesSet { "key_action_next", "key_action_previous", "key_language_switch", + "key_research", "key_unspecified", "key_left_parenthesis", "key_right_parenthesis", @@ -86,6 +87,7 @@ public class KeyboardCodesSet { Keyboard.CODE_ACTION_NEXT, Keyboard.CODE_ACTION_PREVIOUS, Keyboard.CODE_LANGUAGE_SWITCH, + Keyboard.CODE_RESEARCH, Keyboard.CODE_UNSPECIFIED, CODE_LEFT_PARENTHESIS, CODE_RIGHT_PARENTHESIS, @@ -112,6 +114,7 @@ public class KeyboardCodesSet { DEFAULT[11], DEFAULT[12], DEFAULT[13], + DEFAULT[14], CODE_RIGHT_PARENTHESIS, CODE_LEFT_PARENTHESIS, CODE_GREATER_THAN_SIGN, diff --git a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java index 34308dfb3..10e511eaf 100644 --- a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java @@ -52,6 +52,9 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary { /** The number of contacts in the most recent dictionary rebuild. */ static private int sContactCountAtLastRebuild = 0; + /** The locale for this contacts dictionary. Controls name bigram predictions. */ + public final Locale mLocale; + private ContentObserver mObserver; /** @@ -61,6 +64,7 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary { public ContactsBinaryDictionary(final Context context, final int dicTypeId, Locale locale) { super(context, getFilenameWithLocale(NAME, locale.toString()), dicTypeId); + mLocale = locale; mUseFirstLastBigrams = useFirstLastBigramsForLocale(locale); registerObserver(context); diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 7092b4e7e..ae9e197a1 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -111,17 +111,17 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // TODO: migrate this to SettingsValues private int mSuggestionVisibility; - private static final int SUGGESTION_VISIBILILTY_SHOW_VALUE + private static final int SUGGESTION_VISIBILITY_SHOW_VALUE = R.string.prefs_suggestion_visibility_show_value; - private static final int SUGGESTION_VISIBILILTY_SHOW_ONLY_PORTRAIT_VALUE + private static final int SUGGESTION_VISIBILITY_SHOW_ONLY_PORTRAIT_VALUE = R.string.prefs_suggestion_visibility_show_only_portrait_value; - private static final int SUGGESTION_VISIBILILTY_HIDE_VALUE + private static final int SUGGESTION_VISIBILITY_HIDE_VALUE = R.string.prefs_suggestion_visibility_hide_value; private static final int[] SUGGESTION_VISIBILITY_VALUE_ARRAY = new int[] { - SUGGESTION_VISIBILILTY_SHOW_VALUE, - SUGGESTION_VISIBILILTY_SHOW_ONLY_PORTRAIT_VALUE, - SUGGESTION_VISIBILILTY_HIDE_VALUE + SUGGESTION_VISIBILITY_SHOW_VALUE, + SUGGESTION_VISIBILITY_SHOW_ONLY_PORTRAIT_VALUE, + SUGGESTION_VISIBILITY_HIDE_VALUE }; private static final int SPACE_STATE_NONE = 0; @@ -497,7 +497,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Note that the calling sequence of onCreate() and onCurrentInputMethodSubtypeChanged() // is not guaranteed. It may even be called at the same time on a different thread. if (null == mPrefs) mPrefs = PreferenceManager.getDefaultSharedPreferences(this); - mUserHistoryDictionary = new UserHistoryDictionary( + mUserHistoryDictionary = UserHistoryDictionary.getInstance( this, localeStr, Suggest.DIC_USER_HISTORY, mPrefs); mSuggest.setUserHistoryDictionary(mUserHistoryDictionary); } @@ -505,9 +505,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen /** * Resets the contacts dictionary in mSuggest according to the user settings. * - * This method takes an optional contacts dictionary to use. Since the contacts dictionary - * does not depend on the locale, it can be reused across different instances of Suggest. - * The dictionary will also be opened or closed as necessary depending on the settings. + * This method takes an optional contacts dictionary to use when the locale hasn't changed + * since the contacts dictionary can be opened or closed as necessary depending on the settings. * * @param oldContactsDictionary an optional dictionary to use, or null */ @@ -520,21 +519,35 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // so it's safe to call it anyways. if (null != oldContactsDictionary) oldContactsDictionary.close(); dictionaryToUse = null; - } else if (null != oldContactsDictionary) { - // Make sure the old contacts dictionary is opened. If it is already open, this is a - // no-op, so it's safe to call it anyways. - if (USE_BINARY_CONTACTS_DICTIONARY) { - ((ContactsBinaryDictionary)oldContactsDictionary).reopen(this); - } else { - ((ContactsDictionary)oldContactsDictionary).reopen(this); - } - dictionaryToUse = oldContactsDictionary; } else { - if (USE_BINARY_CONTACTS_DICTIONARY) { - dictionaryToUse = new ContactsBinaryDictionary(this, Suggest.DIC_CONTACTS, - mSubtypeSwitcher.getCurrentSubtypeLocale()); + final Locale locale = mSubtypeSwitcher.getCurrentSubtypeLocale(); + if (null != oldContactsDictionary) { + if (USE_BINARY_CONTACTS_DICTIONARY) { + ContactsBinaryDictionary oldContactsBinaryDictionary = + (ContactsBinaryDictionary)oldContactsDictionary; + if (!oldContactsBinaryDictionary.mLocale.equals(locale)) { + // If the locale has changed then recreate the contacts dictionary. This + // allows locale dependent rules for handling bigram name predictions. + oldContactsDictionary.close(); + dictionaryToUse = new ContactsBinaryDictionary( + this, Suggest.DIC_CONTACTS, locale); + } else { + // Make sure the old contacts dictionary is opened. If it is already open, + // this is a no-op, so it's safe to call it anyways. + oldContactsBinaryDictionary.reopen(this); + dictionaryToUse = oldContactsDictionary; + } + } else { + ((ContactsDictionary)oldContactsDictionary).reopen(this); + dictionaryToUse = oldContactsDictionary; + } } else { - dictionaryToUse = new ContactsDictionary(this, Suggest.DIC_CONTACTS); + if (USE_BINARY_CONTACTS_DICTIONARY) { + dictionaryToUse = new ContactsBinaryDictionary(this, Suggest.DIC_CONTACTS, + locale); + } else { + dictionaryToUse = new ContactsDictionary(this, Suggest.DIC_CONTACTS); + } } } @@ -1332,6 +1345,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen case Keyboard.CODE_LANGUAGE_SWITCH: handleLanguageSwitchKey(); break; + case Keyboard.CODE_RESEARCH: + if (ProductionFlag.IS_EXPERIMENTAL) { + ResearchLogger.getInstance().presentResearchDialog(this); + } + break; default: if (primaryCode == Keyboard.CODE_TAB && mInputAttributes.mEditorAction == EditorInfo.IME_ACTION_NEXT) { @@ -1724,8 +1742,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } public boolean isShowingSuggestionsStrip() { - return (mSuggestionVisibility == SUGGESTION_VISIBILILTY_SHOW_VALUE) - || (mSuggestionVisibility == SUGGESTION_VISIBILILTY_SHOW_ONLY_PORTRAIT_VALUE + return (mSuggestionVisibility == SUGGESTION_VISIBILITY_SHOW_VALUE) + || (mSuggestionVisibility == SUGGESTION_VISIBILITY_SHOW_ONLY_PORTRAIT_VALUE && mDisplayOrientation == Configuration.ORIENTATION_PORTRAIT); } @@ -2446,10 +2464,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen final AlertDialog.Builder builder = new AlertDialog.Builder(this) .setItems(items, listener) .setTitle(title); - showOptionDialogInternal(builder.create()); + showOptionDialog(builder.create()); } - private void showOptionDialogInternal(AlertDialog dialog) { + /* package */ void showOptionDialog(AlertDialog dialog) { final IBinder windowToken = mKeyboardSwitcher.getKeyboardView().getWindowToken(); if (windowToken == null) return; diff --git a/java/src/com/android/inputmethod/latin/ResearchLogger.java b/java/src/com/android/inputmethod/latin/ResearchLogger.java index 16285091b..bb003f766 100644 --- a/java/src/com/android/inputmethod/latin/ResearchLogger.java +++ b/java/src/com/android/inputmethod/latin/ResearchLogger.java @@ -18,6 +18,8 @@ package com.android.inputmethod.latin; import static com.android.inputmethod.latin.Constants.Subtype.ExtraValue.KEYBOARD_LAYOUT_SET; +import android.app.AlertDialog; +import android.content.DialogInterface; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.inputmethodservice.InputMethodService; @@ -33,9 +35,9 @@ import android.view.MotionEvent; import android.view.inputmethod.CompletionInfo; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputConnection; +import android.widget.Toast; import com.android.inputmethod.keyboard.Key; -import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardId; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; @@ -134,12 +136,16 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang } if (prefs != null) { sIsLogging = prefs.getBoolean(PREF_USABILITY_STUDY_MODE, false); - prefs.registerOnSharedPreferenceChangeListener(sInstance); + prefs.registerOnSharedPreferenceChangeListener(this); } } public synchronized void start() { Log.d(TAG, "start called"); + if (!sIsLogging) { + // Log.w(TAG, "not in usability mode; not logging"); + return; + } if (mFilesDir == null || !mFilesDir.exists()) { Log.w(TAG, "IME storage directory does not exist. Cannot start logging."); } else { @@ -192,16 +198,17 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); - } - mJsonWriter = NULL_JSON_WRITER; - mFile = null; - mLoggingState = LOGGING_STATE_OFF; - if (DEBUG) { - Log.d(TAG, "logfile closed"); - } - Log.d(TAG, "finished stop(), notifying"); - synchronized (ResearchLogger.this) { - ResearchLogger.this.notify(); + } finally { + mJsonWriter = NULL_JSON_WRITER; + mFile = null; + mLoggingState = LOGGING_STATE_OFF; + if (DEBUG) { + Log.d(TAG, "logfile closed"); + } + Log.d(TAG, "finished stop(), notifying"); + synchronized (ResearchLogger.this) { + ResearchLogger.this.notify(); + } } } }); @@ -213,6 +220,38 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang } } + public synchronized boolean abort() { + Log.d(TAG, "abort called"); + boolean isLogFileDeleted = false; + if (mLoggingHandler != null && mLoggingState == LOGGING_STATE_ON) { + mLoggingState = LOGGING_STATE_STOPPING; + try { + Log.d(TAG, "closing jsonwriter"); + mJsonWriter.endArray(); + mJsonWriter.close(); + } catch (IllegalStateException e1) { + // assume that this is just the json not being terminated properly. + // ignore + e1.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + mJsonWriter = NULL_JSON_WRITER; + // delete file + final boolean isDeleted = mFile.delete(); + if (isDeleted) { + isLogFileDeleted = true; + } + mFile = null; + mLoggingState = LOGGING_STATE_OFF; + if (DEBUG) { + Log.d(TAG, "logfile closed"); + } + } + } + return isLogFileDeleted; + } + /* package */ synchronized void flush() { try { mJsonWriter.flush(); @@ -227,6 +266,50 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang return; } sIsLogging = prefs.getBoolean(PREF_USABILITY_STUDY_MODE, false); + if (sIsLogging == false) { + abort(); + } + } + + /* package */ void presentResearchDialog(final LatinIME latinIME) { + final CharSequence title = latinIME.getString(R.string.english_ime_research_log); + final CharSequence[] items = new CharSequence[] { + latinIME.getString(R.string.note_timestamp_for_researchlog), + latinIME.getString(R.string.do_not_log_this_session), + }; + final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface di, int position) { + di.dismiss(); + switch (position) { + case 0: + ResearchLogger.getInstance().userTimestamp(); + Toast.makeText(latinIME, R.string.notify_recorded_timestamp, + Toast.LENGTH_LONG).show(); + break; + case 1: + Toast toast = Toast.makeText(latinIME, + R.string.notify_session_log_deleting, Toast.LENGTH_LONG); + toast.show(); + final ResearchLogger logger = ResearchLogger.getInstance(); + boolean isLogDeleted = logger.abort(); + toast.cancel(); + if (isLogDeleted) { + Toast.makeText(latinIME, R.string.notify_session_log_deleted, + Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(latinIME, + R.string.notify_session_log_not_deleted, Toast.LENGTH_LONG) + .show(); + } + break; + } + } + }; + final AlertDialog.Builder builder = new AlertDialog.Builder(latinIME) + .setItems(items, listener) + .setTitle(title); + latinIME.showOptionDialog(builder.create()); } private static final String CURRENT_TIME_KEY = "_ct"; @@ -756,4 +839,11 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang getInstance().writeEvent(EVENTKEYS_SUGGESTIONSVIEW_SETSUGGESTIONS, values); } } + + private static final String[] EVENTKEYS_USER_TIMESTAMP = { + "UserTimestamp" + }; + public void userTimestamp() { + getInstance().writeEvent(EVENTKEYS_USER_TIMESTAMP, EVENTKEYS_NULLVALUES); + } } diff --git a/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java b/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java index a6ff8953d..9c54e0b81 100644 --- a/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java +++ b/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java @@ -29,7 +29,9 @@ import android.util.Log; import com.android.inputmethod.latin.UserHistoryForgettingCurveUtils.ForgettingCurveParams; +import java.lang.ref.SoftReference; import java.util.HashMap; +import java.util.concurrent.ConcurrentHashMap; /** * Locally gathers stats about the words user types and various other signals like auto-correction @@ -38,6 +40,7 @@ import java.util.HashMap; public class UserHistoryDictionary extends ExpandableDictionary { private static final String TAG = "UserHistoryDictionary"; public static final boolean DBG_SAVE_RESTORE = false; + public static final boolean PROFILE_SAVE_RESTORE = LatinImeLogger.sDBG; /** Any pair being typed or picked */ private static final int FREQUENCY_FOR_TYPED = 2; @@ -77,13 +80,14 @@ public class UserHistoryDictionary extends ExpandableDictionary { /** Locale for which this user history dictionary is storing words */ private final String mLocale; - private UserHistoryDictionaryBigramList mBigramList = + private final UserHistoryDictionaryBigramList mBigramList = new UserHistoryDictionaryBigramList(); - private final Object mPendingWritesLock = new Object(); private static volatile boolean sUpdatingDB = false; private final SharedPreferences mPrefs; private final static HashMap<String, String> sDictProjectionMap; + private final static ConcurrentHashMap<String, SoftReference<UserHistoryDictionary>> + sLangDictCache = new ConcurrentHashMap<String, SoftReference<UserHistoryDictionary>>(); static { sDictProjectionMap = new HashMap<String, String>(); @@ -107,28 +111,48 @@ public class UserHistoryDictionary extends ExpandableDictionary { sDeleteHistoryBigrams = deleteHistoryBigram; } - public UserHistoryDictionary(final Context context, final String locale, final int dicTypeId, + public synchronized static UserHistoryDictionary getInstance( + final Context context, final String locale, + final int dictTypeId, final SharedPreferences sp) { + if (sLangDictCache.containsKey(locale)) { + final SoftReference<UserHistoryDictionary> ref = sLangDictCache.get(locale); + final UserHistoryDictionary dict = ref == null ? null : ref.get(); + if (dict != null) { + if (PROFILE_SAVE_RESTORE) { + Log.w(TAG, "Use cached UserHistoryDictionary for " + locale); + } + return dict; + } + } + final UserHistoryDictionary dict = + new UserHistoryDictionary(context, locale, dictTypeId, sp); + sLangDictCache.put(locale, new SoftReference<UserHistoryDictionary>(dict)); + return dict; + } + + private UserHistoryDictionary(final Context context, final String locale, final int dicTypeId, SharedPreferences sp) { super(context, dicTypeId); mLocale = locale; + mPrefs = sp; if (sOpenHelper == null) { sOpenHelper = new DatabaseHelper(getContext()); } if (mLocale != null && mLocale.length() > 1) { loadDictionary(); } - mPrefs = sp; } @Override public void close() { flushPendingWrites(); - SettingsValues.setLastUserHistoryWriteTime(mPrefs, mLocale); // Don't close the database as locale changes will require it to be reopened anyway // Also, the database is written to somewhat frequently, so it needs to be kept alive // throughout the life of the process. // mOpenHelper.close(); - super.close(); + // Ignore close because we cache UserHistoryDictionary for each language. See getInstance() + // above. + // super.close(); } /** @@ -160,7 +184,7 @@ public class UserHistoryDictionary extends ExpandableDictionary { } else { freq = super.setBigramAndGetFrequency(word1, word2, new ForgettingCurveParams(isValid)); } - synchronized (mPendingWritesLock) { + synchronized (mBigramList) { mBigramList.addBigram(word1, word2); } @@ -168,7 +192,7 @@ public class UserHistoryDictionary extends ExpandableDictionary { } public boolean cancelAddingUserHistory(String word1, String word2) { - synchronized (mPendingWritesLock) { + synchronized (mBigramList) { if (mBigramList.removeBigram(word1, word2)) { return super.removeBigram(word1, word2); } @@ -180,19 +204,17 @@ public class UserHistoryDictionary extends ExpandableDictionary { * Schedules a background thread to write any pending words to the database. */ private void flushPendingWrites() { - synchronized (mPendingWritesLock) { + synchronized (mBigramList) { // Nothing pending? Return if (mBigramList.isEmpty()) return; // Create a background thread to write the pending entries - new UpdateDbTask(sOpenHelper, mBigramList, mLocale, this).execute(); - // Create a new map for writing new entries into while the old one is written to db - mBigramList = new UserHistoryDictionaryBigramList(); + new UpdateDbTask(sOpenHelper, mBigramList, mLocale, this, mPrefs).execute(); } } /** Used for testing purpose **/ void waitUntilUpdateDBDone() { - synchronized (mPendingWritesLock) { + synchronized (mBigramList) { while (sUpdatingDB) { try { Thread.sleep(100); @@ -205,41 +227,48 @@ public class UserHistoryDictionary extends ExpandableDictionary { @Override public void loadDictionaryAsync() { - final long last = SettingsValues.getLastUserHistoryWriteTime(mPrefs, mLocale); - final long now = System.currentTimeMillis(); - // Load the words that correspond to the current input locale - final Cursor cursor = query(MAIN_COLUMN_LOCALE + "=?", new String[] { mLocale }); - if (null == cursor) return; - try { - if (cursor.moveToFirst()) { - final int word1Index = cursor.getColumnIndex(MAIN_COLUMN_WORD1); - final int word2Index = cursor.getColumnIndex(MAIN_COLUMN_WORD2); - final int fcIndex = cursor.getColumnIndex(COLUMN_FORGETTING_CURVE_VALUE); - while (!cursor.isAfterLast()) { - final String word1 = cursor.getString(word1Index); - final String word2 = cursor.getString(word2Index); - final int fc = cursor.getInt(fcIndex); - if (DBG_SAVE_RESTORE) { - Log.d(TAG, "--- Load user history: " + word1 + ", " + word2 + "," - + mLocale + "," + this); - } - // Safeguard against adding really long words. Stack may overflow due - // to recursive lookup - if (null == word1) { - super.addWord(word2, null /* shortcut */, fc); - } else if (word1.length() < BinaryDictionary.MAX_WORD_LENGTH - && word2.length() < BinaryDictionary.MAX_WORD_LENGTH) { - super.setBigramAndGetFrequency( - word1, word2, new ForgettingCurveParams(fc, now, last)); - } - synchronized(mPendingWritesLock) { + synchronized(mBigramList) { + final long last = SettingsValues.getLastUserHistoryWriteTime(mPrefs, mLocale); + final boolean initializing = last == 0; + final long now = System.currentTimeMillis(); + // Load the words that correspond to the current input locale + final Cursor cursor = query(MAIN_COLUMN_LOCALE + "=?", new String[] { mLocale }); + if (null == cursor) return; + try { + if (cursor.moveToFirst()) { + final int word1Index = cursor.getColumnIndex(MAIN_COLUMN_WORD1); + final int word2Index = cursor.getColumnIndex(MAIN_COLUMN_WORD2); + final int fcIndex = cursor.getColumnIndex(COLUMN_FORGETTING_CURVE_VALUE); + while (!cursor.isAfterLast()) { + final String word1 = cursor.getString(word1Index); + final String word2 = cursor.getString(word2Index); + final int fc = cursor.getInt(fcIndex); + if (DBG_SAVE_RESTORE) { + Log.d(TAG, "--- Load user history: " + word1 + ", " + word2 + "," + + mLocale + "," + this); + } + // Safeguard against adding really long words. Stack may overflow due + // to recursive lookup + if (null == word1) { + super.addWord(word2, null /* shortcut */, fc); + } else if (word1.length() < BinaryDictionary.MAX_WORD_LENGTH + && word2.length() < BinaryDictionary.MAX_WORD_LENGTH) { + super.setBigramAndGetFrequency( + word1, word2, initializing ? new ForgettingCurveParams(true) + : new ForgettingCurveParams(fc, now, last)); + } mBigramList.addBigram(word1, word2, (byte)fc); + cursor.moveToNext(); } - cursor.moveToNext(); + } + } finally { + cursor.close(); + if (PROFILE_SAVE_RESTORE) { + final long diff = System.currentTimeMillis() - now; + Log.w(TAG, "PROF: Load User HistoryDictionary: " + + mLocale + ", " + diff + "ms."); } } - } finally { - cursor.close(); } } @@ -317,14 +346,16 @@ public class UserHistoryDictionary extends ExpandableDictionary { private final DatabaseHelper mDbHelper; private final String mLocale; private final UserHistoryDictionary mUserHistoryDictionary; + private final SharedPreferences mPrefs; public UpdateDbTask( DatabaseHelper openHelper, UserHistoryDictionaryBigramList pendingWrites, - String locale, UserHistoryDictionary dict) { + String locale, UserHistoryDictionary dict, SharedPreferences prefs) { mBigramList = pendingWrites; mLocale = locale; mDbHelper = openHelper; mUserHistoryDictionary = dict; + mPrefs = prefs; } /** Prune any old data if the database is getting too big. */ @@ -363,37 +394,39 @@ public class UserHistoryDictionary extends ExpandableDictionary { @Override protected Void doInBackground(Void... v) { - SQLiteDatabase db = null; - try { - db = mDbHelper.getWritableDatabase(); - } catch (android.database.sqlite.SQLiteCantOpenDatabaseException e) { - // If we can't open the db, don't do anything. Exit through the next test - // for non-nullity of the db variable. - } - if (null == db) { - // Not much we can do. Just exit. - sUpdatingDB = false; - return null; - } - db.execSQL("PRAGMA foreign_keys = ON;"); - final boolean addLevel0Bigram = mBigramList.size() <= sMaxHistoryBigrams; - - // Write all the entries to the db - for (String word1 : mBigramList.keySet()) { - final HashMap<String, Byte> word1Bigrams = mBigramList.getBigrams(word1); - for (String word2 : word1Bigrams.keySet()) { - // Get new frequency. Do not insert shortcuts/bigrams which freq is "-1". - final int freq; // -1, or 0~255 - if (word1 == null) { - freq = FREQUENCY_FOR_TYPED; - } else { - final NextWord nw = mUserHistoryDictionary.getBigramWord(word1, word2); - if (nw != null) { - final ForgettingCurveParams fcp = nw.getFcParams(); + synchronized(mBigramList) { + final long now = PROFILE_SAVE_RESTORE ? System.currentTimeMillis() : 0; + int profTotal = 0; + int profInsert = 0; + int profDelete = 0; + SQLiteDatabase db = null; + try { + db = mDbHelper.getWritableDatabase(); + } catch (android.database.sqlite.SQLiteCantOpenDatabaseException e) { + // If we can't open the db, don't do anything. Exit through the next test + // for non-nullity of the db variable. + } + if (null == db) { + // Not much we can do. Just exit. + sUpdatingDB = false; + return null; + } + db.execSQL("PRAGMA foreign_keys = ON;"); + final boolean addLevel0Bigram = mBigramList.size() <= sMaxHistoryBigrams; + + // Write all the entries to the db + for (String word1 : mBigramList.keySet()) { + final HashMap<String, Byte> word1Bigrams = mBigramList.getBigrams(word1); + for (String word2 : word1Bigrams.keySet()) { + if (PROFILE_SAVE_RESTORE) { + ++profTotal; + } + // Get new frequency. Do not insert unigrams/bigrams which freq is "-1". + final int freq; // -1, or 0~255 + if (word1 == null) { // unigram + freq = FREQUENCY_FOR_TYPED; final byte prevFc = word1Bigrams.get(word2); - final byte fc = (byte)fcp.getFc(); - final boolean isValid = fcp.isValid(); - if (prevFc > 0 && prevFc == fc) { + if (prevFc == FREQUENCY_FOR_TYPED) { // No need to update since we found no changes for this entry. // Just skip to the next entry. if (DBG_SAVE_RESTORE) { @@ -401,67 +434,100 @@ public class UserHistoryDictionary extends ExpandableDictionary { + "," + prevFc); } continue; - } else if (UserHistoryForgettingCurveUtils. - needsToSave(fc, isValid, addLevel0Bigram)) { - freq = fc; + } + } else { // bigram + final NextWord nw = mUserHistoryDictionary.getBigramWord(word1, word2); + if (nw != null) { + final ForgettingCurveParams fcp = nw.getFcParams(); + final byte prevFc = word1Bigrams.get(word2); + final byte fc = (byte)fcp.getFc(); + final boolean isValid = fcp.isValid(); + if (prevFc > 0 && prevFc == fc) { + // No need to update since we found no changes for this entry. + // Just skip to the next entry. + if (DBG_SAVE_RESTORE) { + Log.d(TAG, "Skip update user history: " + word1 + "," + + word2 + "," + prevFc); + } + continue; + } else if (UserHistoryForgettingCurveUtils. + needsToSave(fc, isValid, addLevel0Bigram)) { + freq = fc; + } else { + freq = -1; + } } else { freq = -1; } - } else { - freq = -1; - } - } - // TODO: this process of making a text search for each pair each time - // is terribly inefficient. Optimize this. - // Find pair id - Cursor c = null; - try { - if (null != word1) { - c = db.query(MAIN_TABLE_NAME, new String[] { MAIN_COLUMN_ID }, - MAIN_COLUMN_WORD1 + "=? AND " + MAIN_COLUMN_WORD2 + "=? AND " - + MAIN_COLUMN_LOCALE + "=?", - new String[] { word1, word2, mLocale }, null, null, - null); - } else { - c = db.query(MAIN_TABLE_NAME, new String[] { MAIN_COLUMN_ID }, - MAIN_COLUMN_WORD1 + " IS NULL AND " + MAIN_COLUMN_WORD2 - + "=? AND " + MAIN_COLUMN_LOCALE + "=?", - new String[] { word2, mLocale }, null, null, null); } + // TODO: this process of making a text search for each pair each time + // is terribly inefficient. Optimize this. + // Find pair id + Cursor c = null; + try { + if (null != word1) { + c = db.query(MAIN_TABLE_NAME, new String[] { MAIN_COLUMN_ID }, + MAIN_COLUMN_WORD1 + "=? AND " + MAIN_COLUMN_WORD2 + "=? AND " + + MAIN_COLUMN_LOCALE + "=?", + new String[] { word1, word2, mLocale }, null, null, + null); + } else { + c = db.query(MAIN_TABLE_NAME, new String[] { MAIN_COLUMN_ID }, + MAIN_COLUMN_WORD1 + " IS NULL AND " + MAIN_COLUMN_WORD2 + + "=? AND " + MAIN_COLUMN_LOCALE + "=?", + new String[] { word2, mLocale }, null, null, null); + } - final int pairId; - if (c.moveToFirst()) { - // Delete existing pair - pairId = c.getInt(c.getColumnIndex(MAIN_COLUMN_ID)); - db.delete(FREQ_TABLE_NAME, FREQ_COLUMN_PAIR_ID + "=?", - new String[] { Integer.toString(pairId) }); - } else { - // Create new pair - Long pairIdLong = db.insert(MAIN_TABLE_NAME, null, - getContentValues(word1, word2, mLocale)); - pairId = pairIdLong.intValue(); - } - if (freq > 0) { - if (DBG_SAVE_RESTORE) { - Log.d(TAG, "--- Save user history: " + word1 + ", " + word2 - + mLocale + "," + this); + final int pairId; + if (c.moveToFirst()) { + if (PROFILE_SAVE_RESTORE) { + ++profDelete; + } + // Delete existing pair + pairId = c.getInt(c.getColumnIndex(MAIN_COLUMN_ID)); + db.delete(FREQ_TABLE_NAME, FREQ_COLUMN_PAIR_ID + "=?", + new String[] { Integer.toString(pairId) }); + } else { + // Create new pair + Long pairIdLong = db.insert(MAIN_TABLE_NAME, null, + getContentValues(word1, word2, mLocale)); + pairId = pairIdLong.intValue(); + } + if (freq > 0) { + if (PROFILE_SAVE_RESTORE) { + ++profInsert; + } + if (DBG_SAVE_RESTORE) { + Log.d(TAG, "--- Save user history: " + word1 + ", " + word2 + + mLocale + "," + this); + } + // Insert new frequency + db.insert(FREQ_TABLE_NAME, null, + getFrequencyContentValues(pairId, freq)); + // Update an existing bigram entry in mBigramList too in order to + // synchronize the SQL DB and mBigramList. + mBigramList.updateBigram(word1, word2, (byte)freq); + } + } finally { + if (c != null) { + c.close(); } - // Insert new frequency - db.insert(FREQ_TABLE_NAME, null, - getFrequencyContentValues(pairId, freq)); - } - } finally { - if (c != null) { - c.close(); } } } - } - checkPruneData(db); - sUpdatingDB = false; - - return null; + checkPruneData(db); + // Save the timestamp after we finish writing the SQL DB. + SettingsValues.setLastUserHistoryWriteTime(mPrefs, mLocale); + sUpdatingDB = false; + if (PROFILE_SAVE_RESTORE) { + final long diff = System.currentTimeMillis() - now; + Log.w(TAG, "PROF: Write User HistoryDictionary: " + mLocale + ", "+ diff + + "ms. Total: " + profTotal + ". Insert: " + profInsert + ". Delete: " + + profDelete); + } + return null; + } // synchronized } private static ContentValues getContentValues(String word1, String word2, String locale) { diff --git a/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java b/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java index 96400dd48..28847745e 100644 --- a/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java +++ b/java/src/com/android/inputmethod/latin/UserHistoryDictionaryBigramList.java @@ -39,13 +39,19 @@ public class UserHistoryDictionaryBigramList { mBigramMap.clear(); } + /** + * Called when the user typed a word. + */ public void addBigram(String word1, String word2) { addBigram(word1, word2, FORGETTING_CURVE_INITIAL_VALUE); } + /** + * Called when loaded from the SQL DB. + */ public void addBigram(String word1, String word2, byte fcValue) { if (UserHistoryDictionary.DBG_SAVE_RESTORE) { - Log.d(TAG, "--- add bigram: " + word1 + ", " + word2); + Log.d(TAG, "--- add bigram: " + word1 + ", " + word2 + ", " + fcValue); } final HashMap<String, Byte> map; if (mBigramMap.containsKey(word1)) { @@ -60,6 +66,25 @@ public class UserHistoryDictionaryBigramList { } } + /** + * Called when inserted to the SQL DB. + */ + public void updateBigram(String word1, String word2, byte fcValue) { + if (UserHistoryDictionary.DBG_SAVE_RESTORE) { + Log.d(TAG, "--- update bigram: " + word1 + ", " + word2 + ", " + fcValue); + } + final HashMap<String, Byte> map; + if (mBigramMap.containsKey(word1)) { + map = mBigramMap.get(word1); + } else { + return; + } + if (!map.containsKey(word2)) { + return; + } + map.put(word2, fcValue); + } + public int size() { return mSize; } diff --git a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java index 9cd8c6778..e5516dc62 100644 --- a/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java +++ b/java/src/com/android/inputmethod/latin/UserHistoryForgettingCurveUtils.java @@ -30,6 +30,7 @@ public class UserHistoryForgettingCurveUtils { private static final long ELAPSED_TIME_INTERVAL_MILLIS = ELAPSED_TIME_INTERVAL_HOURS * DateUtils.HOUR_IN_MILLIS; private static final int HALF_LIFE_HOURS = 48; + private static final int MAX_PUSH_ELAPSED = (FC_LEVEL_MAX + 1) * (ELAPSED_TIME_MAX + 1); private UserHistoryForgettingCurveUtils() { // This utility class is not publicly instantiable. @@ -94,6 +95,11 @@ public class UserHistoryForgettingCurveUtils { if (elapsedTimeCount <= 0) { return; } + if (elapsedTimeCount >= MAX_PUSH_ELAPSED) { + mLastTouchedTime = now; + mFc = 0; + return; + } for (int i = 0; i < elapsedTimeCount; ++i) { mLastTouchedTime += ELAPSED_TIME_INTERVAL_MILLIS; mFc = pushElapsedTime(mFc); diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java index 802322ccd..d34cad205 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java @@ -372,27 +372,32 @@ public class AndroidSpellCheckerService extends SpellCheckerService mUserDictionaries = Collections.synchronizedMap(new TreeMap<String, Dictionary>()); final Map<String, Dictionary> oldWhitelistDictionaries = mWhitelistDictionaries; mWhitelistDictionaries = Collections.synchronizedMap(new TreeMap<String, Dictionary>()); - for (DictionaryPool pool : oldPools.values()) { - pool.close(); - } - for (Dictionary dict : oldUserDictionaries.values()) { - dict.close(); - } - for (Dictionary dict : oldWhitelistDictionaries.values()) { - dict.close(); - } - synchronized (mUseContactsLock) { - if (null != mContactsDictionary) { - // The synchronously loaded contacts dictionary should have been in one - // or several pools, but it is shielded against multiple closing and it's - // safe to call it several times. - final Dictionary dictToClose = mContactsDictionary; - // TODO: revert to the concrete type when USE_BINARY_CONTACTS_DICTIONARY is no - // longer needed - mContactsDictionary = null; - dictToClose.close(); + new Thread("spellchecker_close_dicts") { + @Override + public void run() { + for (DictionaryPool pool : oldPools.values()) { + pool.close(); + } + for (Dictionary dict : oldUserDictionaries.values()) { + dict.close(); + } + for (Dictionary dict : oldWhitelistDictionaries.values()) { + dict.close(); + } + synchronized (mUseContactsLock) { + if (null != mContactsDictionary) { + // The synchronously loaded contacts dictionary should have been in one + // or several pools, but it is shielded against multiple closing and it's + // safe to call it several times. + final Dictionary dictToClose = mContactsDictionary; + // TODO: revert to the concrete type when USE_BINARY_CONTACTS_DICTIONARY + // is no longer needed + mContactsDictionary = null; + dictToClose.close(); + } + } } - } + }.start(); } private DictionaryPool getDictionaryPool(final String locale) { |