diff options
Diffstat (limited to 'java')
84 files changed, 1080 insertions, 1106 deletions
diff --git a/java/res/layout/suggestions_strip.xml b/java/res/layout/suggestions_strip.xml index b962abef4..0b614993b 100644 --- a/java/res/layout/suggestions_strip.xml +++ b/java/res/layout/suggestions_strip.xml @@ -52,7 +52,6 @@ android:layout_height="match_parent"> <TextView android:id="@+id/important_notice_title" - android:text="@string/important_notice_title" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="6sp" diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml index d9e7d2d6e..c1c13fb53 100644 --- a/java/res/values-af/strings.xml +++ b/java/res/values-af/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Laai tans…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Hoofwoordeboek"</string> <string name="cancel" msgid="6830980399865683324">"Kanselleer"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installeer"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Kanselleer"</string> <string name="delete_dict" msgid="756853268088330054">"Vee uit"</string> diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml index f4feac6fa..ce8b3ca6d 100644 --- a/java/res/values-am/strings.xml +++ b/java/res/values-am/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"የይለፍቃል ቁልፎች ጮክ በለው ሲነገሩ ለመስማት የጆሮ ማዳመጫ ሰካ::"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"የአሁኑ ፅሁፍ %s ነው"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"ምንም ፅሁፍ አልገባም"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>ን ወደ <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> ያርመዋል"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ራስ-ሰር እርማት ያከናውናል"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"የቁልፍ ኮድ%d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"ቀይር"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"ቅያር በርቷል (ለማሰናክል ንካ)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"የስልክ ሁኔታ ላይ"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"የስልክ ምልክቶች ሁኔታ ላይ"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"የቁልፍ ሰሌዳ ተደብቋል"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"የ<xliff:g id="KEYBOARD_MODE">%s</xliff:g> ቁልፍሰሌዳ በማሳየት ላይ"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"ቀን"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"ቀን እና ሰዓት"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"ኢሜይል"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"እንግሊዘኛ (የታላቋ ብሪታንያ)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"እንግሊዘኛ (ዩ.ኤስ)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"ስፓኒሽኛ (ዩኤስ)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"እንግሊዝኛ (ዩኬ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"እንግሊዝኛ (አሜሪካ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"ስፓኒሽ (አሜሪካ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (ተለምዷዊ)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"ምንም ቋንቋ (ፊደላት)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"ፊደላት (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"ፊደላት (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"ውጫዊ የመዝገበቃላት ፋይል አንብብ"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"በውርዶች አቃፊው ውስጥ ምንም የመዝገበ-ፋይሎች የሉም"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"የሚጭኑት የመዝገበ-ቃላት ፋይል ይምረጡ"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"እውን ይሄ ፋይል ለ<xliff:g id="LANGUAGE_NAME">%s</xliff:g> ይጫን?"</string> <string name="error" msgid="8940763624668513648">"ስህተት ተከስቶ ነበር"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"የእውቂያዎች መዝገበ-ቃላትን ያራግፉ"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"የግል መዝገበ-ቃላትን ያራግፉ"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"አድስ"</string> <string name="last_update" msgid="730467549913588780">"ለመጨረሻ ጊዜ የተዘመነው"</string> <string name="message_updating" msgid="4457761393932375219">"ዝማኔዎችን በመፈለግ ላይ"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"በመጫን ላይ…"</string> <string name="main_dict_description" msgid="3072821352793492143">"ዋና መዝገበ-ቃላት"</string> <string name="cancel" msgid="6830980399865683324">"ሰርዝ"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"ጫን"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"ሰርዝ"</string> <string name="delete_dict" msgid="756853268088330054">"ሰርዝ"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"በተንቀሳቃሽ መሣሪያዎ ላይ ለተመረጠው ቋንቋ የሚሆን መዝገበ-ቃላት ይገኛል።<br/> የትየባ ተሞክሮዎን ለማሻሻል የ<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> መዝገበ-ቃላቱን <b>እንዲያወርዱ</b> እንመክራለን።<br/> <br/> ማውረድ በ3ጂ ላይ አንድ ወይም ሁለት ደቂቃ ሊወስድ ይችላል። <b>ያልተገደበ የውሂብ ዕቅድ</b> ከሌለዎት ክፍያዎች መከፈል ሊኖርባቸው ይችላል።<br/> የትኛው የውሂብ ዕቅድ እንዳለዎት እርግጠኛ ካልሆኑ ውርዱን በራስ-ሰር ለመጀመር የWi-Fi ግንኙነት እንዲፈልጉ እንመክራለን።<br/> <br/> ጠቃሚ ምክር፦ የተንቀሳቃሽ መሣሪያዎ <b>ቅንብሮች</b> ምናሌ ውስጥ ወዳለው <b>ቋንቋ እና ግብዓት</b> በመሄድ መዝገበ-ቃላትን ማውረድና ማስወገድ ይችላሉ።"</string> <string name="download_over_metered" msgid="1643065851159409546">"አሁን አውርድ (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> ሜባ)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"በWi-Fi አውርድ"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"የ<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> መዝገበ-ቃላት ማግኘት ይችላል"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"ለመገምገምና ለማውረድ ይጫኑ"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"በማውረድ ላይ፦ ለ<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> የሚሰጡ ጥቆማዎች በቅርቡ ዝግጁ ይሆናሉ።"</string> <string name="version_text" msgid="2715354215568469385">"ሥሪት <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"አክል"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"ወደ መዝገበ-ቃላት አክል"</string> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index 55689ee79..645db8851 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"جارٍ التحميل…"</string> <string name="main_dict_description" msgid="3072821352793492143">"القاموس الرئيسي"</string> <string name="cancel" msgid="6830980399865683324">"إلغاء"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"تثبيت"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"إلغاء"</string> <string name="delete_dict" msgid="756853268088330054">"حذف"</string> diff --git a/java/res/values-az-rAZ/strings.xml b/java/res/values-az-rAZ/strings.xml index 673f1594d..638b8e91b 100644 --- a/java/res/values-az-rAZ/strings.xml +++ b/java/res/values-az-rAZ/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Parolu səsli eşitmək üçün qulaqcığı taxın"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Cari mətn %s\'dir"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Mətn daxil edilməyib"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> sözünü <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> sözü ilə əvəzləyərək düzəldir"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> avto-korreksiyanı həyata keçirir"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"%d açar kodu"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Sürüşdürmə"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Sürüşdürmə aktivdir (deaktiv etmək üçün klikləyin)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefon rejimi"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefon simvol rejimi"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Gizlədilmiş klaviatura"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g> klaviaturası göstərilir"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"tarix"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"gün və tarix"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"E-poçt"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"İngilis (BK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"İngilis (ABŞ)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"İspan (ABŞ)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"İngilis (Britaniya) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"İngilis (Amerika) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"İspan (Amerika) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Ənənəvi)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Dil yoxdur (Əlifba)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Əlifba (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Əlifba (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Xarici lüğət faylını oxuyun"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Endirmə Qovluğunda heç bir lüğət faylı yoxdur"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Yükləmək üçün lüğət faylı seçin"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> üçün faylı quraşdırmaq istədiyinizə əminsiniz?"</string> <string name="error" msgid="8940763624668513648">"Xəta var idi"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Kontaktlar lüğətini toplayın"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Şəxsi lüğəti toplayın"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Təzələ"</string> <string name="last_update" msgid="730467549913588780">"Son yeniləmə"</string> <string name="message_updating" msgid="4457761393932375219">"Güncəlləmələr yoxlanılır"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Yüklənir..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Əsas lüğət"</string> <string name="cancel" msgid="6830980399865683324">"Ləğv et"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Quraşdırın"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Ləğv et"</string> <string name="delete_dict" msgid="756853268088330054">"Sil"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Mobil telefonunuzda seçilmiş dilin əlçatımlı lüğəti var. Daha rahat yazmaq üçün <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> lüğətini endirməyinizi məsləhət görürük. Lüğətin endirilməsi 3G üzərindən bir-iki dəqiqə vaxt ala bilər. Limitsiz data planınızın olmadığı halda, data ödənişləri də tətbiq edilə bilər. Əgər hansı data planına malik olmağınıza əmin deyilsinizsə, Sizə Wi-Fi bağlantısı üzərindən avtomatik endirməyi məsləhət görürük. İpucu: Lüğətləri endirmək və ya sistemdən silmək üçün mobil cihazınızın menyusunda Ayarlar>Dil>Daxiletmə bölməsinə keçə bilərsiniz."</string> <string name="download_over_metered" msgid="1643065851159409546">"İndi endirin (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Wi-Fi ilə endir"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> üçün lüğət əlçatımlıdır"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Nəzərdən keçirmək və endirmək üçün klikləyin"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Endirmə: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> üçün təkliflər tezliklə hazır olacaq."</string> <string name="version_text" msgid="2715354215568469385">"<xliff:g id="VERSION_NUMBER">%1$s</xliff:g> nömrəli versiya"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Əlavə edin"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Lüğətə əlavə edin"</string> diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index 641be3c85..395513d1d 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Зарежда се…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Основен речник"</string> <string name="cancel" msgid="6830980399865683324">"Отказ"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Инсталиране"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Отказ"</string> <string name="delete_dict" msgid="756853268088330054">"Изтриване"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index 0c618570b..072915385 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"S\'està carregant..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Diccionari principal"</string> <string name="cancel" msgid="6830980399865683324">"Cancel·la"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instal·la"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancel·la"</string> <string name="delete_dict" msgid="756853268088330054">"Suprimeix"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index 1208e19a6..25313f3a5 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Načítání…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Hlavní slovník"</string> <string name="cancel" msgid="6830980399865683324">"Zrušit"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalovat"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Zrušit"</string> <string name="delete_dict" msgid="756853268088330054">"Smazat"</string> diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index ab7a6373b..e9891c871 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Indlæser…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Hovedordbog"</string> <string name="cancel" msgid="6830980399865683324">"Annuller"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installer"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Annuller"</string> <string name="delete_dict" msgid="756853268088330054">"Slet"</string> diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index f6e53c5e7..750a31211 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Wird geladen…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Allgemeines Wörterbuch"</string> <string name="cancel" msgid="6830980399865683324">"Abbrechen"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installieren"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Abbrechen"</string> <string name="delete_dict" msgid="756853268088330054">"Löschen"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index 976f0915c..6bbbb38d0 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Φόρτωση…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Κύριο λεξικό"</string> <string name="cancel" msgid="6830980399865683324">"Ακύρωση"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Εγκατάσταση"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Ακύρωση"</string> <string name="delete_dict" msgid="756853268088330054">"Διαγραφή"</string> diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml index 28e53a16b..c5c3d8cdc 100644 --- a/java/res/values-en-rGB/strings.xml +++ b/java/res/values-en-rGB/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Loading…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Main dictionary"</string> <string name="cancel" msgid="6830980399865683324">"Cancel"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Install"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancel"</string> <string name="delete_dict" msgid="756853268088330054">"Delete"</string> diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml index 28e53a16b..c5c3d8cdc 100644 --- a/java/res/values-en-rIN/strings.xml +++ b/java/res/values-en-rIN/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Loading…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Main dictionary"</string> <string name="cancel" msgid="6830980399865683324">"Cancel"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Install"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancel"</string> <string name="delete_dict" msgid="756853268088330054">"Delete"</string> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index 98efbd574..db93ae248 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Cargando…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Diccionario principal"</string> <string name="cancel" msgid="6830980399865683324">"Cancelar"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalar"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancelar"</string> <string name="delete_dict" msgid="756853268088330054">"Eliminar"</string> diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index 0116c63f6..6f74185a2 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Cargando…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Diccionario principal"</string> <string name="cancel" msgid="6830980399865683324">"Cancelar"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalar"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancelar"</string> <string name="delete_dict" msgid="756853268088330054">"Eliminar"</string> diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml index ee9bf17b1..b77ac36b5 100644 --- a/java/res/values-et-rEE/strings.xml +++ b/java/res/values-et-rEE/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Ühendage peakomplekt, et kuulata paroole."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Praegune tekst on %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Teksti ei ole sisestatud"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> parandab sõna <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> järgmiselt: <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> teeb automaatse paranduse"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Klahvi kood: %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Tõstuklahv"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Tõstuklahv sees (puudutage keelamiseks)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefonirežiim"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefoni sümbolite režiim"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Klaviatuur on peidetud"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Näitab klaviatuuri režiimil <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"kuupäev"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"kuupäev ja kellaaeg"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"e-post"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Inglise (UK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Inglise (USA)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"hispaania (USA)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Inglise (Ühendk.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Inglise (USA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Hispaania (USA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (traditsiooniline)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Keel puudub (tähestik)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Tähestik (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Tähestik (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Välise sõnastikufaili lugemine"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Kaustas Allalaadimised pole ühtegi sõnastikufaili"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Installitava sõnastikufaili valimine"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Kas soovite tõesti installida faili <xliff:g id="LANGUAGE_NAME">%s</xliff:g> keele jaoks?"</string> <string name="error" msgid="8940763624668513648">"Ilmnes viga"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Kontaktisõnastiku tõmmistamine"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Isikliku sõnastiku tõmmistamine"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Värskenda"</string> <string name="last_update" msgid="730467549913588780">"Viimati värskendatud"</string> <string name="message_updating" msgid="4457761393932375219">"Värskenduste otsimine"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Laadimine …"</string> <string name="main_dict_description" msgid="3072821352793492143">"Peamine sõnastik"</string> <string name="cancel" msgid="6830980399865683324">"Tühista"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installi"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Tühista"</string> <string name="delete_dict" msgid="756853268088330054">"Kustuta"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Mobiilseadmes valitud keelele on saadaval sõnastik.<br/> Teksti mugavamaks sisestamiseks soovitame <b>alla laadida</b> <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> keele sõnastiku.<br/> <br/> 3G kaudu allalaadimisele võib kuluda minut või paar. Kui te ei kasuta <b>piiramatut andmepaketti</b>, võivad rakenduda tasud.<br/> Kui te ei tea, millist andmepaketti kasutate, soovitame allalaadimise automaatseks käivitamiseks leida WiFi-ühenduse.<br/> <br/> Nõuanne: sõnastikke saate alla laadida ja eemaldada, tehes mobiilseadme menüüs <b>Seaded</b> valiku <b>Keel ja sisend</b>."</string> <string name="download_over_metered" msgid="1643065851159409546">"Laadi kohe alla (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Laadi alla WiFi kaudu"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Sõnastik on saadaval <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> keeles"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Vajutage ülevaatamiseks ja allalaadimiseks"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Allalaadimine: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> keele soovitused on peagi saadaval."</string> <string name="version_text" msgid="2715354215568469385">"Versioon <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Lisa"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Sõnaraamatusse lisamine"</string> diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index 61ce785a6..771093082 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -81,10 +81,8 @@ <!-- no translation found for spoken_current_text_is (2485723011272583845) --> <skip /> <string name="spoken_no_text_entered" msgid="7479685225597344496">"متنی وارد نشده است"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g>، <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> را به <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> تصحیح میکند"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> تصحیح خودکار را انجام میدهد"</string> <!-- String.format failed for translation --> <!-- no translation found for spoken_description_unknown (3197434010402179157) --> <skip /> @@ -114,8 +112,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"حالت تلفن"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"حالت نمادهای تلفن"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"صفحه کلید پنهان شد"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"در حال نمایش صفحهکلید <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"تاریخ"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"تاریخ و زمان"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"ایمیل"</string> @@ -139,14 +136,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"انگلیسی (بریتانیا)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"انگلیسی (امریکا)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"اسپانیایی (آمریکا)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"انگلیسی (انگلستان) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"انگلیسی (آمریکا) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"اسپانیایی (آمریکا) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (سنتی)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"بدون زبان (حروف الفبا)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"حروف الفبا (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"حروف الفبا (QWERTZ)"</string> @@ -176,13 +169,12 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"خواندن فایل فرهنگ لغت خارجی"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"فایل فرهنگ لغتی در پوشه دانلودها وجود ندارد"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"یک فایل فرهنگ لغت برای نصب انتخاب کنید"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"این فایل واقعاً برای <xliff:g id="LANGUAGE_NAME">%s</xliff:g> نصب شود؟"</string> <string name="error" msgid="8940763624668513648">"خطایی روی داد"</string> - <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"کپی واژهنامه مخاطبین"</string> - <string name="prefs_dump_user_dict" msgid="294870685041741951">"کپی واژهنامه شخصی"</string> - <string name="prefs_dump_user_history_dict" msgid="6821075152449554628">"کپی واژهنامه سابقه کاربر"</string> - <string name="prefs_dump_personalization_dict" msgid="7558387996151745284">"کپی واژهنامه شخصیسازی"</string> + <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"ایجاد فهرست کلی واژهنامه مخاطبین"</string> + <string name="prefs_dump_user_dict" msgid="294870685041741951">"ایجاد فهرست کلی واژهنامه شخصی"</string> + <string name="prefs_dump_user_history_dict" msgid="6821075152449554628">"ایجاد فهرست کلی واژهنامه سابقه کاربر"</string> + <string name="prefs_dump_personalization_dict" msgid="7558387996151745284">"ایجاد فهرست کلی واژهنامه شخصیسازی"</string> <string name="button_default" msgid="3988017840431881491">"پیشفرض"</string> <string name="setup_welcome_title" msgid="6112821709832031715">"به <xliff:g id="APPLICATION_NAME">%s</xliff:g> خوش آمدید"</string> <string name="setup_welcome_additional_description" msgid="8150252008545768953">"با ورودی اشارهای"</string> @@ -220,22 +212,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"بازخوانی"</string> <string name="last_update" msgid="730467549913588780">"آخرین بهروزرسانی"</string> <string name="message_updating" msgid="4457761393932375219">"در حال بررسی بهروزرسانیها"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"در حال بارگیری…"</string> <string name="main_dict_description" msgid="3072821352793492143">"فرهنگ لغت اصلی"</string> <string name="cancel" msgid="6830980399865683324">"لغو"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"نصب"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"لغو"</string> <string name="delete_dict" msgid="756853268088330054">"حذف"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"برای زبان انتخاب شده در دستگاه همراه شما فرهنگ لغتی در دسترس است.<br/> توصیه میکنیم برای بهبود بخشیدن به تجربه تایپ کردنتان، فرهنگ لغت <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> را <b>دانلود کنید</b>.<br/> <br/> دانلود از طریق 3G ممکن است یک یا دو دقیقه طول بکشد. اگر <b>طرح داده نامحدود</b> نداشته باشید، ممکن است هزینههایی برای شما اعمال شوند.<br/> اگر مطمئن نیستید چه طرح دادهای دارید٬ توصیه میکنیم یک اتصال Wi-Fi بیابید تا دانلود به طور خودکار شروع شود.<br/> <br/> نکته: با رفتن به بخش <b>زبان و ورودی</b> در منوی <b>تنظیمات</b> دستگاهتان، فرهنگهای لغت را دانلود یا حذف کنید."</string> <string name="download_over_metered" msgid="1643065851159409546">"هماکنون بارگیری شود (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> مگابایت)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"دانلود ازطریق Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"یک فرهنگ لغت برای <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> در دسترس است"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"برای مرور و دانلود فشار دهید"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"در حال دانلود کردن: پیشنهادات برای <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> به زودی آماده خواهند شد."</string> <string name="version_text" msgid="2715354215568469385">"نسخه <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"افرودن"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"افزودن به فرهنگ لغت"</string> diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index b2701fc00..60e8d790c 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Liitä kuulokkeet, niin kuulet mitä näppäimiä painat kirjoittaessasi salasanaa."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Nykyinen teksti on %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ei kirjoitettua tekstiä"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> korjaa sanan <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> sanaksi <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> suorittaa automaattisen korjauksen"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Näppäimen koodi %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Vaihto"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Vaihto päällä (poista käytöstä napauttamalla)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Puhelintila"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Puhelinsymbolit-tila"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Näppäimistö on piilotettu"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Näytetään näppäimistö <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"päivämäärä"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"päivämäärä ja aika"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"sähköposti"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"englanti (Iso-Britannia)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"englanti (Yhdysvallat)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"espanja (Yhdysvallat)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"englanti (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"englanti (US) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"espanja (US) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (perinteinen)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Ei kieltä (aakkoset)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Aakkoset (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Aakkoset (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lue ulkoista sanakirjatiedostoa"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Lataukset-kansiossa ei ole sanakirjatiedostoja"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Valitse asennettava sanakirjatiedosto"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Haluatko asentaa tämän tiedoston kielelle <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Tapahtui virhe"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Vedosta yhteystietosanakirja"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Vedosta oma sanakirja"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Päivitä"</string> <string name="last_update" msgid="730467549913588780">"Päivitetty viimeksi"</string> <string name="message_updating" msgid="4457761393932375219">"Tarkistetaan päivityksiä"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Ladataan…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Pääsanakirja"</string> <string name="cancel" msgid="6830980399865683324">"Peruuta"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Asenna"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Peruuta"</string> <string name="delete_dict" msgid="756853268088330054">"Poista"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Laitteesi käyttökielelle on saatavilla sanakirja.<br/> Suosittelemme <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>-sanakirjan <b>lataamista</b>, sillä se helpottaa laitteella kirjoittamista.<br/> <br/> Lataus kestää useimmiten muutaman minuutin 3G-yhteydellä. Latauksesta saatetaan periä maksu, ellei käytössäsi ole <b>rajoittamatonta tiedonsiirtopakettia</b>.<br/> Jos et ole varma tiedonsiirtosopimuksesi tyypistä, etsi käyttöösi wifi-yhteys, niin lataus alkaa automaattisesti.<br/> <br/> Vinkki: voit ladata ja poistaa sanakirjoja mobiililaitteesi <b>Asetukset</b>-valikon <b>Kieli ja syöttötapa</b> -osiossa."</string> <string name="download_over_metered" msgid="1643065851159409546">"Lataa nyt (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> Mt)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Lataa wifi-yhteydellä"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Sanakirja on saatavilla kielelle <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Paina tätä, jos haluat tarkastella kohdetta ja ladata sen"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Ladataan: kielen <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> ehdotukset ovat pian käytettävissä."</string> <string name="version_text" msgid="2715354215568469385">"Versio <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Lisää"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Lisää sanakirjaan"</string> diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml index 6173497d7..3ccabaabd 100644 --- a/java/res/values-fr-rCA/strings.xml +++ b/java/res/values-fr-rCA/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Le texte actuel est %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Aucun texte saisi"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet de remplacer <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> par <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet d\'effectuer une correction automatique"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Code touche %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Maj"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Touche Maj activée (appuyer pour désactiver)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode Téléphone"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode Symboles du téléphone"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Clavier masqué"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Affichage du clavier <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"Date"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"Date et heure"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"Courriel"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Anglais (britannique)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Anglais (États-Unis)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Espagnol (États-Unis)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"anglais (Royaume-Uni) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"anglais (États-Unis) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"espagnol (États-Unis) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (traditionnel)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Aucune langue (alphabet)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alphabet latin (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alphabet latin (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lire un fichier de dictionnaire externe"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Aucun fichier de dictionnaire dans le dossier \"Téléchargements\""</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Sélectionner un fichier de dictionnaire à installer"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Installer ce fichier pour la langue « <xliff:g id="LANGUAGE_NAME">%s</xliff:g> »?"</string> <string name="error" msgid="8940763624668513648">"Une erreur s\'est produite"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Vider le dictionnaire des contacts"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Vider le dictionnaire personnel"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Actualiser"</string> <string name="last_update" msgid="730467549913588780">"Dernière mise à jour"</string> <string name="message_updating" msgid="4457761393932375219">"Recherche de mises à jour en cours…"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Chargement en cours…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Dictionnaire principal"</string> <string name="cancel" msgid="6830980399865683324">"Annuler"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installer"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Annuler"</string> <string name="delete_dict" msgid="756853268088330054">"Supprimer"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Un dictionnaire est offert pour la langue sélectionnée sur votre appareil mobile.<br/> Nous vous invitons à <b>télécharger</b> le dictionnaire pour la langue <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> pour faciliter votre réaction de texte.<br/> <br/> Le téléchargement peut prendre une à deux minutes par connexion 3G. Des frais peuvent s\'appliquer si vous ne disposez pas d\'un <b>forfait Internet illimité</b>.<br/> Si vous n\'êtes pas sûr de votre forfait, nous vous conseillons d\'utiliser une connexion Wi-Fi pour lancer automatiquement le téléchargement.<br/> <br/> Astuce : Vous pouvez télécharger et supprimer des dictionnaires dans la section <b>Langue et entrée</b> du menu <b>Paramètres</b> de votre appareil mobile."</string> <string name="download_over_metered" msgid="1643065851159409546">"Télécharger (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> Mo)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Télécharger via Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Un dictionnaire est offert pour la langue suivante : <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Appuyez ici pour consulter et télécharger le dictionnaire."</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Téléchargement en cours… Les suggestions seront bientôt offertes pour la langue suivante : <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>."</string> <string name="version_text" msgid="2715354215568469385">"Version <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Ajouter"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Ajouter au dictionnaire"</string> diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index 29be6caa7..37908369f 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Branchez des écouteurs pour entendre l\'énoncé à haute voix des touches lors de la saisie du mot de passe."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Le texte actuel est %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Aucun texte saisi"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet de remplacer <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> par <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>."</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"La touche <xliff:g id="KEY_NAME">%1$s</xliff:g> permet d\'effectuer une correction automatique."</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Code touche %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Maj"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Touche Maj activée (appuyer pour désactiver)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode Téléphone"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode Symboles du téléphone"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Clavier masqué"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Affichage du clavier <xliff:g id="KEYBOARD_MODE">%s</xliff:g>."</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"Date"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"Date et heure"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"Adresse e-mail"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Anglais (Royaume-Uni)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Anglais (États-Unis)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Espagnol (États-Unis)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"anglais (Royaume-Uni) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"anglais (États-Unis) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"espagnol (États-Unis) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (traditionnel)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Aucune langue (latin)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alphabet latin (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alphabet latin (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Lire un fichier de dictionnaire externe"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Aucun fichier de dictionnaire dans le dossier \"Téléchargements\""</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Sélectionner un fichier de dictionnaire à installer"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Installer ce fichier pour la langue \"<xliff:g id="LANGUAGE_NAME">%s</xliff:g>\" ?"</string> <string name="error" msgid="8940763624668513648">"Une erreur s\'est produite"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Supprimer dictionnaire des contacts"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Supprimer le dictionnaire personnel"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Actualiser"</string> <string name="last_update" msgid="730467549913588780">"Dernière mise à jour"</string> <string name="message_updating" msgid="4457761393932375219">"Recherche de mises à jour en cours…"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Chargement en cours…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Dictionnaire principal"</string> <string name="cancel" msgid="6830980399865683324">"Annuler"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installer"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Annuler"</string> <string name="delete_dict" msgid="756853268088330054">"Supprimer"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Un dictionnaire est disponible pour la langue sélectionnée sur votre appareil mobile.<br/> Nous vous invitons à <b>télécharger</b> le dictionnaire pour cette langue : <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>. Cela facilitera votre saisie.<br/> <br/> Le téléchargement peut prendre une à deux minutes via une connexion 3G. Des frais peuvent s\'appliquer si vous n\'avez pas un <b>forfait Internet illimité</b>.<br/> Si vous avez un doute concernant le type de forfait dont vous disposez, nous vous conseillons d\'utiliser le Wi-Fi pour lancer automatiquement le téléchargement.<br/> <br/> Astuce : Vous pouvez télécharger et supprimer des dictionnaires sous <b>Langue et saisie</b>, dans le menu <b>Paramètres</b> de votre appareil mobile."</string> <string name="download_over_metered" msgid="1643065851159409546">"Télécharger (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> Mo)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Télécharger via Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Un dictionnaire est disponible pour la langue suivante : <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>."</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Appuyez ici pour consulter et télécharger le dictionnaire."</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Téléchargement en cours… Les suggestions seront bientôt disponibles pour la langue suivante : <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>."</string> <string name="version_text" msgid="2715354215568469385">"Version <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Ajouter"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Ajouter au dictionnaire"</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index 58a31c1ab..eecd41161 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"ज़ोर से बोली गई पासवर्ड कुंजियां सुनने के लिए हेडसेट प्लग इन करें."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"वर्तमान पाठ %s है"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"कोई पाठ दर्ज नहीं किया गया"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> को सुधार कर <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> करता है"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> स्वत: सुधार करता है"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"कुंजी कोड %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"शिफ़्ट"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift चालू (अक्षम करने के लिए टैप करें)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"फ़ोन मोड"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"फ़ोन प्रतीक मोड"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"कीबोर्ड छिपा हुआ है"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g> कीबोर्ड दिखाया जा रहा है"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"दिनांक"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"दिनांक और समय"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"ईमेल"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"अंग्रेज़ी (यूके)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"अंग्रेज़ी (यूएस)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"स्पेनिश (यूएस)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"अंग्रेज़ी (यूके) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"अंग्रेज़ी (यूएस) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"स्पेनिश (यूएस) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (पारंपरिक)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"भाषा उपलब्ध नहीं है (लैटिन वर्णाक्षर)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"वर्णाक्षर (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"वर्णाक्षर (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"बाहरी शब्दकोश फ़ाइल पढ़ें"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"डाउनलोड फ़ोल्डर में कोई शब्दकोश फ़ाइल नहीं है"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"इंस्टॉल करने के लिए कोई शब्दकोश फ़ाइल चुनें"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"क्या वाकई <xliff:g id="LANGUAGE_NAME">%s</xliff:g> के लिए यह फ़ाइल इंस्टॉल करें?"</string> <string name="error" msgid="8940763624668513648">"कोई त्रुटि हुई थी"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"संपर्क शब्दकोश डंप करें"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"व्यक्तिगत शब्दकोश डंप करें"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"रीफ़्रेश करें"</string> <string name="last_update" msgid="730467549913588780">"अंतिम बार का नई जानकारी"</string> <string name="message_updating" msgid="4457761393932375219">"नई जानकारी देखा जा रहा हैं"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"लोड हो रहा है…"</string> <string name="main_dict_description" msgid="3072821352793492143">"मुख्य डिक्शनरी"</string> <string name="cancel" msgid="6830980399865683324">"रद्द करें"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"इंस्टॉल करें"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"रद्द करें"</string> <string name="delete_dict" msgid="756853268088330054">"हटाएं"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"आपके मोबाइल पर चयनित भाषा के लिए शब्दकोश उपलब्ध है.<br/> हम आपके लेखन अनुभव को बेहतर बनाने के लिए <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> शब्दकोश <b>डाउनलोड करने</b> की अनुशंसा करते हैं.<br/> <br/> 3G में डाउनलोड करने पर एक या दो मिनट लगेंगे. यदि आपके पास <b>असीमित डेटा योजना</b> नहीं है, तो शुल्क लागू हो सकते हैं.<br/> यदि आप अपनी डेटा योजना के बारे में सुनिश्चित नहीं हैं, तो हम अपने आप डाउनलोड प्रारंभ करने के लिए Wi-Fi कनेक्शन ढूंढने की अनुशंसा करते हैं.<br/> <br/> युक्ति: आप अपने मोबाइल उपकरण के <b>सेटिंग</b> मेनू में <b>भाषा और इनपुट</b> पर जाकर शब्दकोशों को डाउनलोड कर सकते हैं और निकाल सकते हैं."</string> <string name="download_over_metered" msgid="1643065851159409546">"अभी डाउनलोड करें (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Wi-Fi से डाउनलोड करें"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> के लिए एक शब्दकोश उपलब्ध है"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"समीक्षा करने और डाउनलोड करने के लिए दबाएं"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"डाउनलोड प्रारंभ हो रहा है: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> के लिए सुझाव जल्दी ही उपलब्ध होंगे."</string> <string name="version_text" msgid="2715354215568469385">"संस्करण <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"जोड़ें"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"शब्दकोश में जोड़ें"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index 4e828cf2b..579ed2545 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Učitavanje…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Glavni rječnik"</string> <string name="cancel" msgid="6830980399865683324">"Odustani"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instaliraj"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Odustani"</string> <string name="delete_dict" msgid="756853268088330054">"Izbriši"</string> diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index e94bd98d3..aca6a942d 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -211,10 +211,12 @@ <string name="message_loading" msgid="5638680861387748936">"Betöltés…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Fő szótár"</string> <string name="cancel" msgid="6830980399865683324">"Mégse"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Telepítés"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Mégse"</string> <string name="delete_dict" msgid="756853268088330054">"Törlés"</string> - <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"A mobileszközön kiválasztott nyelvhez szótár érhető el.<br/> A gépelési élmény javításához javasoljuk a(z) <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> szótár <b>letöltését.<br/> <br/> A letöltés 3G hálózaton keresztül néhány percig tart. Ha <b>előfizetése nem korlátlan</b>, a letöltés költségekkel járhat.<br/> Ha nem biztos abban, hogy milyen adatcsomagot használ, javasoljuk, hogy keressen egy Wi-Fi-kapcsolatot a letöltés automatikus elindításához.<br/> <br/> Tipp: szótárakat a mobileszköz <b>Beállítások</b> menüjében a <b>Nyelv és bevitel</b> részben tölthet le és távolíthat el."</string> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"A mobileszközön kiválasztott nyelvhez szótár érhető el.<br/> A gépelési élmény javításához javasoljuk a(z) <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> szótár <b>letöltését.<br/> <br/> A letöltés 3G hálózaton keresztül néhány percig tart. Ha <b>előfizetése nem korlátlan</b>, a letöltés költségekkel járhat.<br/> Ha nem biztos abban, hogy milyen adatcsomagot használ, javasoljuk, hogy keressen egy Wi-Fi-kapcsolatot a letöltés automatikus elindításához.<br/> <br/> Tipp: szótárakat a mobileszköz a <b>Beállítások</b> menü <b>Nyelv és bevitel</b> részében tölthet le és távolíthat el."</string> <string name="download_over_metered" msgid="1643065851159409546">"Töltse le most (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Letöltés Wi-Fivel"</string> <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> nyelvhez van rendelkezésre álló szótár"</string> diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml index 5ba8c4ef0..a891933e0 100644 --- a/java/res/values-hy-rAM/strings.xml +++ b/java/res/values-hy-rAM/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Բեռնում..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Հիմնական բառարան"</string> <string name="cancel" msgid="6830980399865683324">"Չեղարկել"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Տեղադրել"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Չեղարկել"</string> <string name="delete_dict" msgid="756853268088330054">"Ջնջել"</string> diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index afed1309c..b144fe24c 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -211,10 +211,12 @@ <string name="message_loading" msgid="5638680861387748936">"Memuat…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Kamus utama"</string> <string name="cancel" msgid="6830980399865683324">"Batal"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Pasang"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Batal"</string> <string name="delete_dict" msgid="756853268088330054">"Hapus"</string> - <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Bahasa pilihan pada perangkat seluler Anda memiliki kamus yang tersedia.<br/> Sebaiknya <b>unduh</b> kamus <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> untuk meningkatkan pengalaman pengetikan.<br/> <br/> Unduhan dapat berlangsung selama satu atau dua menit melalui 3G. Mungkin dikenakan tagihan data jika Anda tidak memiliki <b>paket data tak terbatas</b>.<br/> Jika Anda tidak yakin paket data mana yang Anda miliki, sebaiknya cari sambungan Wi-Fi untuk memulai unduhan secara otomatis.<br/> <br/> Kiat: Anda dapat mengunduh dan menghapus kamus dengan membuka <b>Bahasa & masukan</b> di menu <b>Setelan</b> perangkat seluler Anda."</string> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Tersedia kamus untuk bahasa pilihan pada perangkat seluler Anda.<br/> Sebaiknya <b>unduh</b> kamus <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> untuk meningkatkan pengalaman pengetikan.<br/> <br/> Unduhan dapat berlangsung selama satu atau dua menit melalui 3G. Mungkin dikenakan biaya data jika tidak memiliki <b>paket data tak terbatas</b>.<br/> Jika tidak yakin dengan jenis paket data Anda, sebaiknya cari koneksi Wi-Fi untuk memulai unduhan secara otomatis.<br/> <br/> Kiat: Anda dapat mengunduh dan menghapus kamus dengan membuka <b>Bahasa & masukan</b> di menu <b>Setelan</b> perangkat seluler Anda."</string> <string name="download_over_metered" msgid="1643065851159409546">"Unduh sekarang (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Unduh melalui Wi-Fi"</string> <string name="dict_available_notification_title" msgid="4583842811218581658">"Kamus tersedia untuk <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index 47ae61ab9..8c15a9514 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Caricamento..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Dizionario principale"</string> <string name="cancel" msgid="6830980399865683324">"Annulla"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installa"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Annulla"</string> <string name="delete_dict" msgid="756853268088330054">"Elimina"</string> diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index 27ed1357d..942d6dc77 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"טוען…"</string> <string name="main_dict_description" msgid="3072821352793492143">"מילון ראשי"</string> <string name="cancel" msgid="6830980399865683324">"בטל"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"התקן"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"בטל"</string> <string name="delete_dict" msgid="756853268088330054">"מחק"</string> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index a27e3a4ac..244f20fd0 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"パスワードのキーが音声出力されるのでヘッドセットを接続してください。"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"現在のテキスト:%s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"テキストが入力されていません"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g>は<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>を<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>に修正します"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g>で自動修正が実行されます"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"キーコード:%d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift有効(タップして解除)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"電話モード"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"電話記号モード"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"キーボードは非表示です"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g>のキーワードを表示しています"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"日付"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"日時"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"メールアドレス"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"英語 (英国)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"英語 (米国)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"スペイン語 (米国)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"英語(英国)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"英語(米国)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"スペイン語(米国)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g>(繁体)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"言語なし(アルファベット)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"アルファベット(QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"アルファベット(QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"外部辞書ファイルの読み取り"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ダウンロードフォルダに辞書ファイルはありません"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"インストールする辞書ファイルの選択"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"この<xliff:g id="LANGUAGE_NAME">%s</xliff:g>のファイルをインストールしますか?"</string> <string name="error" msgid="8940763624668513648">"エラーが発生しました"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"連絡先辞書のダンプ"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"単語リストのダンプ"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"更新"</string> <string name="last_update" msgid="730467549913588780">"最終更新"</string> <string name="message_updating" msgid="4457761393932375219">"アップデートを確認しています"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"読み込んでいます…"</string> <string name="main_dict_description" msgid="3072821352793492143">"メイン辞書"</string> <string name="cancel" msgid="6830980399865683324">"キャンセル"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"インストール"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"キャンセル"</string> <string name="delete_dict" msgid="756853268088330054">"削除"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"お使いの携帯端末で選択した言語に対応する辞書があります。<br/>入力機能をより快適にご利用いただくため、<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>の辞書の<b>ダウンロード</b>をおすすめします。<br/> <br/>3G経由の場合、ダウンロードに要する時間は1~2分です。<b>定額制のデータプラン</b>をご利用でない場合は通信料が発生する可能性があります。<br/>ご利用のデータプランが不明な場合は、自動的にダウンロードが開始されるWi-Fi接続を探すことをおすすめします。<br/> <br/>ヒント: 辞書のダウンロードや削除は、お使いの携帯端末の[<b>設定</b>]メニューの[<b>言語と入力</b>]で行えます。"</string> <string name="download_over_metered" msgid="1643065851159409546">"今すぐダウンロード(<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Wi-Fi経由でダウンロード"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>の辞書を利用できます"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"押すと確認/ダウンロードできます"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"ダウンロード中: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>の入力候補をまもなく利用できます。"</string> <string name="version_text" msgid="2715354215568469385">"バージョン<xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"追加"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"辞書に追加"</string> diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml index 2bdb1b856..ddfed887e 100644 --- a/java/res/values-ka-rGE/strings.xml +++ b/java/res/values-ka-rGE/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"შეაერთეთ ყურსაცვამი, რათა მოისმინოთ აკრეფილი პაროლის კლავიშების სახელები."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"მიმდინარე ტექსტი არის %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"ტექსტი არ შეყვანილა"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> შეასწორებს <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>-ს <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>-ად"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ასრულებს ავტოკორექციას"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"კლავიატურის კოდი %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift ჩართულია (შეეხეთ გამოსართავად)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"ტელეფონის რეჟიმი"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"ტელეფონის სიმბოლოების რეჟიმი"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"კლავიატურა დამალულია"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"ნაჩვენებია <xliff:g id="KEYBOARD_MODE">%s</xliff:g> კლავიატურა"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"თარიღი"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"თარიღი და დრო"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"ელფოსტა"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"ინგლისური (გართ. სამ.)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"ინგლისური (აშშ)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"ესპანური (აშშ)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"ინგლისური (გაერთ.სამ.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"ინგლისური (აშშ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"ესპანური (აშშ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (ტრადიციული)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"ენის გარეშე (ანბანი)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"ანბანი (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"ანბანი (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"გარე ლექსიკონის ფაილის წაკითხვა"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ჩამოტვირთვების საქაღალდეში ლექსიკონის ფაილები არ არის"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ინსტალაციისათვის აირჩიეთ ლექსიკონის ფაილი"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"ნამდვილად გსურთ ამ ფაილის <xliff:g id="LANGUAGE_NAME">%s</xliff:g>-ისთვის ინსტალაცია?"</string> <string name="error" msgid="8940763624668513648">"წარმოიშვა შეცდომა"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"კონტაქტების საქაღალდის ჩამოწერა"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"პერსონალური საქაღალდის ჩამოწერა"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"განახლება"</string> <string name="last_update" msgid="730467549913588780">"ბოლო განახლება"</string> <string name="message_updating" msgid="4457761393932375219">"მიმდინარეობს განახლებების შემოწმება"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"იტვირთება..."</string> <string name="main_dict_description" msgid="3072821352793492143">"მთავარი ლექსიკონი"</string> <string name="cancel" msgid="6830980399865683324">"გაუქმება"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"ინსტალაცია"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"გაუქმება"</string> <string name="delete_dict" msgid="756853268088330054">"წაშლა"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"თქვენ მიერ მობილურ მოწყობილობაზე არჩეული ენისთვის ხელმისაწვდომია ლექსიკონი.<br/> გირჩევთ, <b>ჩამოტვირთოთ</b> <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> ლექსიკონი, რათა გაიმარტივოთ ტექსტის შეყვანა.<br/> <br/> ჩამოტვირთვას შესაძლოა დასჭირდეს ერთი ან ორი წუთი 3G სისწრაფეზე. თუ <b> მობილური ინტერნეტის ტარიფი</b>.<br/&gt ულიმიტო არ გაქვთ, შესაძლოა გადახდა მოგიწიოთ; თუ არ ხართ დარწმუნებული მობილური ინტერნეტის აქტიური ტარიფის შესახებ, გირჩევთ, იპოვოთ Wi-Fi კავშირი და ავტომატურად დაიწყოთ ჩამოტვირთვა.<br/> <br/> რჩევა: ლექსიკონების ჩამოტვირთვა და ამოშლა შეიძლებასექციიდან <b>ენა და შეყვანა</b> თქვენი მობილური მოწყობილობის <b>პარამეტრების</b> მენიუში."</string> <string name="download_over_metered" msgid="1643065851159409546">"ახლა ჩამოტვირთვა (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>მბაიტი)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Wi-Fi კავშირზე ჩამოტვირთვა"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>-სთვის ხელმისაწვდომია ლექსიკონი"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"დააჭირეთ განხილვას და ჩამოტვირთეთ"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"იტვირთება: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>-ის შემოთავაზებები მალე მომზადდება."</string> <string name="version_text" msgid="2715354215568469385">"ვერსია <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"დამატება"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"ლექსიკონში დამატება"</string> diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml index 142607c04..00e407c1c 100644 --- a/java/res/values-km-rKH/strings.xml +++ b/java/res/values-km-rKH/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"ដោតកាស ដើម្បីស្ដាប់ពាក្យសម្ងាត់។"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"អត្ថបទបច្ចុប្បន្នគឺ %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"គ្មានអត្ថបទបានបញ្ចូល"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> កែ <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> ទៅជា <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> អនុវត្តការកែស្វ័យប្រវត្តិ"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"កូដគ្រាប់ចុច %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"បើក Shift (ប៉ះដើម្បីបិទ)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"របៀបទូរស័ព្ទ"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"របៀបនិមិត្តសញ្ញាទូរស័ព្ទ"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"បានលាក់ក្ដារចុច"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"បង្ហាញក្ដារចុច <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"កាលបរិច្ឆេទ"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"កាលបរិច្ឆេទ និងពេលវេលា"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"អ៊ីមែល"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"អង់គ្លេស (អង់គ្លេស)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"អង់គ្លេស (សហរដ្ឋអាមេរិក)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"អេស្ប៉ាញ (សហរដ្ឋអាមេរិក)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"អង់គ្លេស (ចក្រភពអង់គ្លេស) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"អង់គ្លេស (អាមេរិក) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"អេស្ប៉ាញ (អាមេរិក) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (អក្សរពេញ)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"គ្មានភាសា (អក្សរក្រម)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"តាមលំដាប់អក្សរក្រម (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"តាមលំដាប់អក្សរក្រម (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"អានឯកសារវចនានុក្រមខាងក្រៅ"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"គ្មានឯកសារវចនានុក្រមនៅក្នុងថតទាញយក"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"ជ្រើសឯកសារវចនានុក្រម ដើម្បីដំឡើង"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"ពិតជាដំឡើងឯកសារនេះសម្រាប់ <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"មានកំហុស"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"បោះបង់វចនានុក្រមទំនាក់ទំនង"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"បោះបង់វចនានុក្រមផ្ទាល់ខ្លួន"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"ផ្ទុកឡើងវិញ"</string> <string name="last_update" msgid="730467549913588780">"បានធ្វើបច្ចុប្បន្នភាពចុងក្រោយ"</string> <string name="message_updating" msgid="4457761393932375219">"ពិនិត្យមើលបច្ចុប្បន្នភាព"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"កំពុងផ្ទុក..."</string> <string name="main_dict_description" msgid="3072821352793492143">"វចនានុក្រមចម្បង"</string> <string name="cancel" msgid="6830980399865683324">"បោះបង់"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"ដំឡើង"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"បោះបង់"</string> <string name="delete_dict" msgid="756853268088330054">"លុប"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"ភាសាដែលបានជ្រើសនៅលើឧបករណ៍ចល័តមានវចនានុក្រមអាចប្រើបាន។<br/> យើងផ្ដល់អនុសាសន៍ឲ្យ <b>ទាញយក</b> វចនានុក្រមភាសា <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> ដើម្បីបង្កើនបទពិសោធន៍វាយបញ្ចូលរបស់អ្នក។<br/> <br/> ការទាញយកអាចចំណាយពេលប្រហែលពីរនាទីនៅតាម 3G។ ការគិតថ្លៃអាចអនុវត្តប្រសិនបើអ្នកមិនប្រើ <b>ផែនការទិន្នន័យគ្មានដែនកំណត់</b>.<br/> បើអ្នកមិនប្រាកដថាផែនការណាមួយដែលអ្នកមាន យើងផ្ដល់អនុសាសន៍ឲ្យភ្ជាប់វ៉ាយហ្វាយ ដើម្បីចាប់ផ្ដើមទាញយកដោយស្វ័យប្រវត្តិ។<br/> <br/> ជំនួយ៖ អ្នកអាចទាញយក និងលុបវចនានុក្រមដោយចូលទៅ <b>ភាសា & ការបញ្ចូល</b> នៅក្នុងម៉ឺនុយ <b>ការកំណត់</b> សម្រាប់ឧបករណ៍ចល័ត។"</string> <string name="download_over_metered" msgid="1643065851159409546">"ទាញយកឥឡូវនេះ (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> មេកាបៃ)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"ទាញយកតាមវ៉ាយហ្វាយ"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"វចនានុក្រមអាចប្រើបានសម្រាប់ <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"ចុច ដើម្បីពិនិត្យមើលឡើងវិញ និងទាញយក"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"ទាញយក៖ ការស្នើសម្រាប់ <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> នឹងរួចរាល់ក្នុងពេលឆាប់ៗនេះ។"</string> <string name="version_text" msgid="2715354215568469385">"កំណែ <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"បន្ថែម"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"បន្ថែមទៅវចនានុក្រម"</string> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index 0cf0b1064..88aa05e0c 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"비밀번호 키를 음성으로 들으려면 헤드셋을 연결하세요."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"입력한 텍스트: %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"입력한 텍스트 없음"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g>을(를) 누르면 <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>을(를) <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>(으)로 수정합니다."</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g>을(를) 누르면 자동 수정됩니다."</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"키 코드 %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"시프트 키"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 사용(사용하지 않으려면 탭하세요.)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"다이얼 모드"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"전화 기호 모드"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"키보드 숨김"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g> 키보드 표시"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"날짜"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"날짜 및 시간"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"이메일"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"영어(영국)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"영어(미국)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"스페인어(미국)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"영어(영국)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"영어(미국)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"스페인어(미국)(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g>(일반)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"언어 없음(알파벳)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"알파벳(QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"알파벳(QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"외부 사전 파일 읽기"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"다운로드 폴더에 사전 파일이 없음"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"설치할 사전 파일 선택"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"이 파일을 <xliff:g id="LANGUAGE_NAME">%s</xliff:g>(으)로 설치하시겠습니까?"</string> <string name="error" msgid="8940763624668513648">"오류 발생"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"연락처 사전 덤프"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"개인 사전 덤프"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"새로고침"</string> <string name="last_update" msgid="730467549913588780">"최종 업데이트"</string> <string name="message_updating" msgid="4457761393932375219">"업데이트를 확인하는 중"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"로드 중..."</string> <string name="main_dict_description" msgid="3072821352793492143">"기본 사전"</string> <string name="cancel" msgid="6830980399865683324">"취소"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"설치"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"취소"</string> <string name="delete_dict" msgid="756853268088330054">"삭제"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"휴대기기에서 선택한 언어로 사용할 수 있는 사전이 있습니다.<br/> <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> 사전을 <b>다운로드</b>하여 입력 환경을 개선해 보세요.<br/> <br/> 3G로 다운로드하는 경우 1-2분 정도 걸립니다. <b>무제한 데이터 요금제</b>가 아닌 경우 요금이 청구될 수 있습니다.<br/> 사용 중인 데이터 요금제를 잘 모르는 경우 Wi-Fi에 연결할 수 있는 곳을 찾아 자동 다운로드를 시작하는 것이 좋습니다.<br/> <br/> 도움말: 사전을 다운로드하거나 삭제하려면 휴대기기의 <b>설정</b> 메뉴에 있는 <b>언어 및 입력</b>으로 이동하면 됩니다."</string> <string name="download_over_metered" msgid="1643065851159409546">"지금 다운로드(<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Wi-Fi를 통해 다운로드"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> 사전을 사용할 수 있습니다."</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"검토하고 다운로드하려면 누르세요."</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"다운로드 중: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>에 대한 추천항목이 곧 준비됩니다."</string> <string name="version_text" msgid="2715354215568469385">"버전 <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"추가"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"사전에 추가"</string> diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml index 881358f92..b5703dc4b 100644 --- a/java/res/values-lo-rLA/strings.xml +++ b/java/res/values-lo-rLA/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"ກຳລັງໂຫຼດ..."</string> <string name="main_dict_description" msgid="3072821352793492143">"ວັດຈະນານຸກົມຫຼັກ"</string> <string name="cancel" msgid="6830980399865683324">"ຍົກເລີກ"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"ຕິດຕັ້ງ"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"ຍົກເລີກ"</string> <string name="delete_dict" msgid="756853268088330054">"ລຶບ"</string> diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index 3f504e4b6..cf7300d9b 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Prijunkite ausines, kad išgirstumėte sakomus slaptažodžio klavišus."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Dabartinis tekstas yra %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nėra įvesto teksto"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> pataiso <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> į <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> atlieka automatinį taisymą"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Klavišo kodas %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Antrojo lygio klavišas"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Įjungtas antrasis lygis (palieskite, kad išjungtumėte)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefono režimas"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefono simbolių režimas"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Klaviatūra paslėpta"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Klaviatūra rodoma režimu „<xliff:g id="KEYBOARD_MODE">%s</xliff:g>“"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"datos"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"datos ir laiko"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"el. pašto"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Anglų k. (JK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Anglų k. (JAV)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Ispanų k. (JAV)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Anglų (JK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Anglų (JAV) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Ispanų (JAV) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradicinė)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Kalbos nėra (abėcėlė)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Abėcėlė (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Abėcėlė (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Skaityti išorinį žodyno failą"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Atsisiuntimų aplanke nėra žodyno failų"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pasirinkite diegiamą žodyno failą"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Ar tikrai įdiegti šį failą <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Įvyko klaida"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Iškelti kontaktų žodyną"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Iškelti asmeninį žodyną"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Atnaujinti"</string> <string name="last_update" msgid="730467549913588780">"Paskutinį kartą atnaujinta"</string> <string name="message_updating" msgid="4457761393932375219">"Ieškoma naujinių"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Įkeliama…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Pagrindinis žodynas"</string> <string name="cancel" msgid="6830980399865683324">"Atšaukti"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Įdiegti"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Atšaukti"</string> <string name="delete_dict" msgid="756853268088330054">"Ištrinti"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Galimas jūsų mobiliajame įrenginyje pasirinktos kalbos žodynas.<br/> Rekomenduojame <b>atsisiųsti</b> <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> žodyną, kad patobulintumėte teksto įvedimą.<br/> <br/> Naudojant 3G ryšį atsisiuntimas užtruks vieną ar dvi minutes. Jei naudojate ne <b>neribotų duomenų planą</b>, gali būti taikomi mokesčiai.<br/> Jei nesate tikri, kurį duomenų planą naudojate, rekomenduojame rasti „Wi-Fi“ ryšį, kad atsisiuntimas būtų pradėtas automatiškai.<br/> <br/> Patarimas: žodynus galite atsisiųsti ir pašalinti apsilankę mobiliojo įrenginio skiltyje <b>Kalba ir įvestis</b>, esančioje meniu <b>Nustatymai</b>."</string> <string name="download_over_metered" msgid="1643065851159409546">"Atsisiųsti dabar (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Atsisiųsti per „Wi-Fi“"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Galimas <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> žodynas"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Paspauskite, kad peržiūrėtumėte ir atsisiųstumėte"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Atsisiunčiama. Netrukus bus galimi <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> pasiūlymai."</string> <string name="version_text" msgid="2715354215568469385">"<xliff:g id="VERSION_NUMBER">%1$s</xliff:g> versija"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Pridėti"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Pridėti prie žodyno"</string> diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index 55f002da3..fc4700f01 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Pievienojiet austiņas, lai dzirdētu paroles rakstzīmes."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Pašreizējais teksts ir %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nav ievadīts teksts"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"Nospiežot taustiņu <xliff:g id="KEY_NAME">%1$s</xliff:g>, “<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>” tiek labots uz “<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>”."</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"Taustiņam <xliff:g id="KEY_NAME">%1$s</xliff:g> ir automātiskas labošanas funkcija."</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Taustiņu kods %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Pārslēgšanas taustiņš"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Pārslēgšanas taustiņš iespējots (pieskarieties, lai atspējotu)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Tālruņa režīms"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Tālruņa simbolu režīms"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Tastatūra ir paslēpta"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Tiek rādīts tastatūras režīms <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"datums"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"datums un laiks"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"e-pasts"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Angļu valoda (Lielbritānija)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Angļu valoda (ASV)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Spāņu (ASV)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Angļu (Lielbritānija) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Angļu (ASV) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Spāņu (ASV) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradicionālā)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Nav valodas (alfabēts)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabēts (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabēts (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ārējās vārdnīcas faila nolasīšana"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Mapē Lejupielādes nav neviena vārdnīcas faila."</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Instalējamā vārdnīcas faila atlasīšana"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Vai tiešām instalēt šo failu šādai valodai: <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Radās kļūda"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Kontaktpersonu vārdnīcas izmete"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Personiskās vārdnīcas izmete"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Atsvaidzināt"</string> <string name="last_update" msgid="730467549913588780">"Pēdējo reizi atjaunināts"</string> <string name="message_updating" msgid="4457761393932375219">"Notiek pārbaude, vai ir pieejami atjauninājumi."</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Notiek ielāde…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Galvenā vārdnīca"</string> <string name="cancel" msgid="6830980399865683324">"Atcelt"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalēt"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Atcelt"</string> <string name="delete_dict" msgid="756853268088330054">"Dzēst"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Mobilajā ierīcē atlasītajai valodai ir pieejama vārdnīca.<br/> Ieteicams <b>lejupielādēt</b> šo vārdnīcu (<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>), lai uzlabotu rakstīšanas iespējas.<br/> <br/> Lejupielāde, izmantojot 3G tīklu, ilgs tikai dažas minūtes. Ja nelietojat <b>neierobežotu datu plānu</b>, var tikt piemērota maksa.<br/> Ja nezināt, kādu datu plānu lietojat, ieteicams atrast Wi-Fi savienojumu, lai automātiski sāktu lejupielādi.<br/> <br/> Padoms: vārdnīcas var lejupielādēt un noņemt sadaļā <b>Valoda un ievade</b>, kas atrodas mobilās ierīces izvēlnē <b>Iestatījumi</b>."</string> <string name="download_over_metered" msgid="1643065851159409546">"Lejupielādēt tūlīt (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Lejupielādēt, izmantojot Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Ir pieejama vārdnīca šādai valodai: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Nospiediet, lai pārskatītu un lejupielādētu"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Notiek lejupielāde. Drīz būs pieejami ieteikumi šādai valodai: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>."</string> <string name="version_text" msgid="2715354215568469385">"Versija <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Pievienot"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Pievienot vārdnīcai"</string> diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml index a3ce3656e..952cd5a82 100644 --- a/java/res/values-mn-rMN/strings.xml +++ b/java/res/values-mn-rMN/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Ачаалж байна..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Үндсэн толь бичиг"</string> <string name="cancel" msgid="6830980399865683324">"Цуцлах"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Суулгах"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Цуцлах"</string> <string name="delete_dict" msgid="756853268088330054">"Устгах"</string> diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml index 5f42b7ccb..23fa268a9 100644 --- a/java/res/values-ms-rMY/strings.xml +++ b/java/res/values-ms-rMY/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Pasangkan set kepala untuk mendengar kekunci kata laluan disebut dengan kuat."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Teks semasa adalah %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Tiada teks dimasukkan"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> membetulkan <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> menjadi <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> melakukan auto pembetulan"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Kod kunci %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Kunci anjak dihidupkan (ketik untuk melumpuhkan)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mod telefon"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mod simbol telefon"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Papan kekunci tersembunyi"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Menunjukkan papan kekunci <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"tarikh"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"tarikh dan masa"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"e-mel"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Bahasa Inggeris (UK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Bahasa Inggeris (Australia)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Bahasa Sepanyol (AS)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Bahasa Inggeris (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Bahasa Inggeris (AS) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Bahasa Sepanyol (AS) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Tradisional)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Tiada bahasa (Abjad)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Abjad (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Abjad (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Baca fail kamus luaran"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Tiada fail kamus dalam folder Muat Turun"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pilih fail kamus untuk dipasang"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Betul-betul pasang fail ini untuk <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Berlaku ralat"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Buang kamus kenalan"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Buang kamus peribadi"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Muatkan semula"</string> <string name="last_update" msgid="730467549913588780">"Kali terakhir dikemas kini"</string> <string name="message_updating" msgid="4457761393932375219">"Menyemak kemas kini"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Memuatkan…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Kamus utama"</string> <string name="cancel" msgid="6830980399865683324">"Batal"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Pasang"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Batal"</string> <string name="delete_dict" msgid="756853268088330054">"Padam"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Bahasa pilihan pada peranti mudah alih anda sudah mempunyai kamus yang tersedia.<br/> Kami mengesyorkan <b>memuat turun</b> kamus <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> untuk memperbaik pengalaman menaip anda.<br/> <br/> Muat turun boleh mengambil masa satu atau dua minit melalui 3G. Caj mungkin dikenakan jika anda tidak mempunyai <b>pelan data tanpa had</b>.<br/> Jika anda tidak pasti jenis pelan data yang anda gunakan, kami mengesyorkan agar anda mencari sambungan Wi-Fi untuk mula memuat turun secara automatik.<br/> <br/> Petua: Anda boleh memuat turun dan mengalih keluar kamus dengan pergi ke menu <b>Bahasa& input</b> dalam <b>Tetapan</b> peranti mudah alih anda."</string> <string name="download_over_metered" msgid="1643065851159409546">"Muat turun sekarang (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Muat turun melalui Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Kamus tersedia untuk <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Tekan untuk mengulas dan memuat turun"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Memuat turun: cadangan untuk <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> akan sedia tidak lama lagi."</string> <string name="version_text" msgid="2715354215568469385">"Versi <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"tambah"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Tambah ke kamus"</string> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index 0af4e62dc..b7a3d68d3 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Laster inn …"</string> <string name="main_dict_description" msgid="3072821352793492143">"Hovedordliste"</string> <string name="cancel" msgid="6830980399865683324">"Avbryt"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installer"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Avbryt"</string> <string name="delete_dict" msgid="756853268088330054">"Slett"</string> diff --git a/java/res/values-ne-rNP/strings.xml b/java/res/values-ne-rNP/strings.xml index 800a93421..07df7b4a4 100644 --- a/java/res/values-ne-rNP/strings.xml +++ b/java/res/values-ne-rNP/strings.xml @@ -80,7 +80,7 @@ <string name="spoken_current_text_is" msgid="2485723011272583845">"वर्तमान पाठ %s हो"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"कुनै पाठ प्रविष्टि गरिएको छैन"</string> <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> सही <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> गर्न <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> - <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> स्वतः सच्याउने प्रदर्शन"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g>ले स्वतः सच्याउने गर्छ"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"कुञ्जी कोड %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"सिफ्ट"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"सिप्ट सक्रिय (असक्षम पार्न ट्याप गर्नुहोस्)"</string> @@ -108,7 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"फोन मोड"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"फोन प्रतिक मोड"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"किबोर्ड लुकाइएको छ"</string> - <string name="announce_keyboard_mode" msgid="7486740369324538848">"Showing <xliff:g id="KEYBOARD_MODE">%s</xliff:g> कुञ्जीपाटी"</string> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g> किबोर्ड देखाउँदै"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"मिति"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"मिति र समय"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"इमेल"</string> @@ -133,8 +133,8 @@ <string name="subtype_en_US" msgid="6160452336634534239">"अंग्रेजी (युएस्)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"स्पेनिस (युएस्)"</string> <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"अंग्रेजी (बेलायत) ( <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g> )"</string> - <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"अंग्रेजी (अमेरिका) ( <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g> )"</string> - <string name="subtype_with_layout_es_US" msgid="510930471167541338">"स्पेनी (अमेरिका) ( <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g> )"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"अंग्रेजी (अमेरिका) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"स्पेनेली (अमेरिका) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (परम्परागत)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"कुनै भाषा होइन (वर्णमाला)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"वर्णमाला (QWERTY)"</string> @@ -165,7 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"बाह्य शब्दकोश फाइल पढ्नुहोस्"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"डाउनलोड फोल्डरमा कुनै शब्दकोश फाइलहरू छैनन्।"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"स्थापना गर्न कुनै शब्दकोश फाइल चयन गर्नुहोस्"</string> - <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"वास्तवमा लागि यो फाइल स्थापना <xliff:g id="LANGUAGE_NAME">%s</xliff:g> ?"</string> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"वास्तवमै <xliff:g id="LANGUAGE_NAME">%s</xliff:g> को लागि यो फाइल स्थापना गर्नुहुन्छ?"</string> <string name="error" msgid="8940763624668513648">"कुनै त्रुटि भयो"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"सम्पर्क शब्दकोश डम्प गर्नुहोस्"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"व्यक्तिगत शब्दकोश डम्प गर्नुहोस्"</string> @@ -211,15 +211,17 @@ <string name="message_loading" msgid="5638680861387748936">"लोड हुँदै..."</string> <string name="main_dict_description" msgid="3072821352793492143">"मुख्य शब्दकोश"</string> <string name="cancel" msgid="6830980399865683324">"रद्द गर्नुहोस्"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"स्थापना गर्नुहोस्"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"रद्द गर्नुहोस्"</string> <string name="delete_dict" msgid="756853268088330054">"मेट्नुहोस्"</string> - <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"आफ्नो मोबाइल उपकरणमा चयन गरिएको भाषामा शब्दकोश उपलब्ध छ। <br/> हामी डाउनलोड गर्न </ b> ले सिफारिस गर्छन् <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> आफ्नो टाइपिङ अनुभव सुधार्न शब्दकोश। यो विचारको यस डाउनलोड 3G मा एक वा दुई मिनेट लिन सक्छ। तपाईं एक <b> असीमित डेटा योजना </ b> छैन भने शुल्क लागू हुन सक्छ। तपाईं हामी सुरु गर्न वाइफाइ जडान खोज्न सिफारिस, जो तपाईं डेटा योजना छैन भने <br/> को स्वतः डाउनलोड सल्लाह:। तपाईं डाउनलोड र <b> सेटिङ </ b> मेनु मा </ b> भाषा र इनपुट <b> जाने शब्दकोशलाई हटाउन सक्नुहुन्छ आफ्नो मोबाइल उपकरणको।"</string> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"तपाईँको मोबाइल उपकरणमा चयन गरिएको भाषाको शब्दकोश उपलब्ध छ। <br/> तपाईँको टाइप गर्ने अनुभव सुधार गर्न हामी <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>को शब्दकोश <b> डाउनलोड गर्न </b> सिफारिस गर्दछौँ। यो डाउनलोड गर्न 3G मा एक वा दुई मिनेट लिन सक्छ। तपाईँ एक <b> तपाईँको असीमित डेटा योजना </b> छैन भने शुल्क लागू हुन सक्छ। तपाईँसँग कुन डेटा योजना छ भन्ने निश्चित छैन भने Wi-Fi जडान गरेर स्वचालित डाउनलोड गर्न हामी सिफारिस गर्दछौँ। युक्ति: तपाईँ आफ्नो मोबाइल उपकरणको </b> भाषा र इनपुट <b> <b>सेटिङ </b> मेनुमा गएर शब्दकोशलाई डाउनलोड र हटाउन सक्नुहुन्छ।"</string> <string name="download_over_metered" msgid="1643065851159409546">"(अब डाउनलोड गर्नुहोस्<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"वाइ-फाइको माध्ययमद्वार डाउनलोड गर्नुहोस्"</string> - <string name="dict_available_notification_title" msgid="4583842811218581658">"एक शब्दकोश लागि उपलब्ध छ <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>को लागि एउटा शब्दकोश उपलब्ध छ"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"समीक्षा गर्न थिच्नुहोस् र डाउनलोड गर्नुहोस्"</string> - <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Downloading: लागि सुझाव <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> चाँडै नै तयार हुनेछ।"</string> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"डाउनलोड गर्दै: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>को लागि सुझावहरू चाँडै नै तयार हुने छ।"</string> <string name="version_text" msgid="2715354215568469385">"संस्करण <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"थप्नुहोस्"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"शब्दकोशमा थप्नुहोस्"</string> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index 4835f7e29..f1e4d088e 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -211,10 +211,12 @@ <string name="message_loading" msgid="5638680861387748936">"Laden…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Algemeen woordenboek"</string> <string name="cancel" msgid="6830980399865683324">"Annuleren"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installeren"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Annuleren"</string> <string name="delete_dict" msgid="756853268088330054">"Verwijderen"</string> - <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Er is een woordenboek voor de geselecteerde taal beschikbaar op uw mobiele apparaat.<br/> We raden u aan het woordenboek voor het <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> te <b>downloaden</b> om uw typvaardigheid te verbeteren.<br/> <br/> De download kan één of twee minuten duren via 3G. Er kunnen kosten worden berekend als u geen <b>onbeperkt gegevensabonnement</b> heeft.<br/> Als u niet zeker weet welk gegevensabonnement u heeft, raden we u aan een wifi-verbinding te zoeken om de download automatisch te starten.<br/> <br/> Tip: u kunt woordenboeken downloaden en verwijderen via <b>Taal en invoer</b> in het menu <b>Instellingen</b> van uw mobiele apparaat."</string> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Er is een woordenboek beschikbaar voor de geselecteerde taal op uw mobiele apparaat.<br/> We raden u aan het woordenboek voor het <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> te <b>downloaden</b> om uw typvaardigheid te verbeteren.<br/> <br/> De download kan één of twee minuten duren via 3G. Er kunnen kosten worden berekend als u geen <b>onbeperkt gegevensabonnement</b> heeft.<br/> Als u niet zeker weet welk gegevensabonnement u heeft, raden we u aan een wifi-verbinding te zoeken om de download automatisch te starten.<br/> <br/> Tip: u kunt woordenboeken downloaden en verwijderen via <b>Taal en invoer</b> in het menu <b>Instellingen</b> van uw mobiele apparaat."</string> <string name="download_over_metered" msgid="1643065851159409546">"Nu downloaden (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Downloaden via wifi"</string> <string name="dict_available_notification_title" msgid="4583842811218581658">"Er is een woordenboek beschikbaar voor het <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index 5d30113c5..b24e34378 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Wczytuję…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Słownik główny"</string> <string name="cancel" msgid="6830980399865683324">"Anuluj"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Zainstaluj"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Anuluj"</string> <string name="delete_dict" msgid="756853268088330054">"Usuń"</string> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index 69d995b0b..081fbbad6 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"A carregar…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Dicionário principal"</string> <string name="cancel" msgid="6830980399865683324">"Cancelar"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalar"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancelar"</string> <string name="delete_dict" msgid="756853268088330054">"Eliminar"</string> diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml index 057c3b4bc..8271db2cf 100644 --- a/java/res/values-pt/strings.xml +++ b/java/res/values-pt/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Conecte um fone de ouvido para ouvir as chaves de senha em voz alta."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"O texto atual é %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nenhum texto digitado"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrige <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> para <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> realiza correção automática"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Código de tecla %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift ativado (toque para desativar)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modo de telefone"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modo de símbolos de telefone"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Teclado oculto"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Mostrando teclado <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"data"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"data e hora"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"e-mail"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"inglês (Reino Unido)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"inglês (EUA)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"espanhol (EUA)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Inglês (Reino Unido) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Inglês (EUA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Espanhol (EUA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradicional)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Nenhum idioma (alfabeto)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabeto (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabeto (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Ler arquivo de dicionário externo"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Nenhum arquivo de dicionário na pasta Downloads"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selecione um arquivo de dicionário para instalar"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Deseja instalar este arquivo para <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Ocorreu um erro"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Despejar dicionário de contatos"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Despejar dicionário pessoal"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Atualizar"</string> <string name="last_update" msgid="730467549913588780">"Última atualização"</string> <string name="message_updating" msgid="4457761393932375219">"Verificando atualizações"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Carregando…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Dicionário principal"</string> <string name="cancel" msgid="6830980399865683324">"Cancelar"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalar"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Cancelar"</string> <string name="delete_dict" msgid="756853268088330054">"Excluir"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"O idioma selecionado em seu dispositivo móvel tem um dicionário disponível.<br/> Recomendamos <b>fazer o download</b> do dicionário de <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> para melhorar sua experiência de digitação.<br/> O download pode levar um ou dois minutos por conexão 3G. Tarifas podem ser aplicáveis caso você não tenha um <b>plano de dados ilimitado</b>.<br/> Se você não tem certeza quanto a seu plano de dados, recomendamos encontrar uma conexão Wi-Fi para iniciar o download automaticamente.<br/> Dica: você pode fazer o download de dicionários e removê-los acessando <b>Idioma e entrada</b> no menu <b>Configurações</b> do dispositivo móvel."</string> <string name="download_over_metered" msgid="1643065851159409546">"Fazer o download agora (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Fazer o download por Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Há um dicionário disponível para <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Pressione para consultar e fazer o download"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Download em andamento: as sugestões para <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> estarão disponíveis em breve."</string> <string name="version_text" msgid="2715354215568469385">"Versão <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Adicionar"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Adicionar ao dicionário"</string> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 54354b118..f02149296 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Conectaţi un set căşti-microfon pentru a auzi tastele apăsate când introduceţi parola."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Textul curent este %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nu a fost introdus text"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corectează <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> cu <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> efectuează corectare automată"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Tasta cu codul %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Tasta Shift este activată (apăsaţi pentru a o dezactiva)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modul Telefon"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Modul Telefon cu simboluri"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Tastatura este ascunsă"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Se afișează tastatura pentru <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"date"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"date și ore"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"adrese de e-mail"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"engleză (Regatul Unit)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"engleză (S.U.A.)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"spaniolă (S.U.A.)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Engleză (Regatul Unit) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Engleză (S.U.A.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Spaniolă (S.U.A.) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradițională)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Nicio limbă (alfabet)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabet (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabet (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Citiți fișierul de dicționar extern"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Nu există fișiere dicționar în dosarul Descărcări"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Selectați un fișier dicționar de instalat"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Doriți să instalați acest fișier pentru <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"A apărut o eroare"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Eliminați dicționar pers. cont."</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Eliminați dicționar personal"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Actualizați"</string> <string name="last_update" msgid="730467549913588780">"Data ultimei modificări"</string> <string name="message_updating" msgid="4457761393932375219">"Se verifică existența actualizărilor"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Se încarcă..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Dicționar principal"</string> <string name="cancel" msgid="6830980399865683324">"Anulaţi"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Instalați"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Anulați"</string> <string name="delete_dict" msgid="756853268088330054">"Ștergeți"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Pentru limba selectată pe dispozitivul dvs. mobil este disponibil un dicționar.<br/> Vă recomandăm să <b>descărcați</b> dicționarul de <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> pentru o mai bună experiență a introducerii de text.<br/> <br/> Descărcarea poate dura un minut sau două prin 3G. Dacă nu aveți un <b>plan de date nelimitat</b>, se pot aplica taxe.<br/> Dacă nu știți sigur ce plan de date aveți, vă recomandăm să căutați o conexiune Wi-Fi pentru a începe automat descărcarea.<br/> <br/> Sfat: puteți să descărcați și să ștergeți dicționare accesând opțiunea <b>Limbă și introducere de text</b> din meniul <b>Setări</b> al dispozitivului mobil."</string> <string name="download_over_metered" msgid="1643065851159409546">"Descărcați acum (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Descărcați prin Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Este disponibil un dicționar pentru <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Apăsați pentru examinare și descărcare"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Se descarcă: sugestiile pentru <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> vor fi gata în curând."</string> <string name="version_text" msgid="2715354215568469385">"Versiunea <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Adăugați"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Adăugați în dicționar"</string> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 05dd035ad..670b50d4f 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Подключите гарнитуру, чтобы услышать пароль."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Введенный текст: %s."</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Текст не введен"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"При нажатии клавиши <xliff:g id="KEY_NAME">%1$s</xliff:g> слово <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> будет исправлено на <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>."</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"Для клавиши <xliff:g id="KEY_NAME">%1$s</xliff:g> назначена функция автоисправления."</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Код клавиши:%d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Клавиша верхнего регистра"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Верхний регистр включен (нажмите, чтобы отключить)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Режим набора номера"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Режим телефонных символов"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Клавиатура скрыта"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Включен режим <xliff:g id="KEYBOARD_MODE">%s</xliff:g>."</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"ввода даты"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"ввода даты и времени"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"ввода адреса электронной почты"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"английский (Великобритания)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"английский (США)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Испанский (США)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Английский (Великобритания, <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Английский (США, <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Испанский (США, <xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (классическая)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Язык не определен (латиница)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Латиница (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Латиница (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Загрузить словарь из файла"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"В папке \"Загрузки\" нет словарей"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Выберите файл словаря"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Установить этот файл для следующего языка: <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Ошибка"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Выгрузить словарь контактов"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Выгрузить личный словарь"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Обновить"</string> <string name="last_update" msgid="730467549913588780">"Последнее обновление"</string> <string name="message_updating" msgid="4457761393932375219">"Проверка обновлений…"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Загрузка…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Основной словарь"</string> <string name="cancel" msgid="6830980399865683324">"Отмена"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Установить"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Отмена"</string> <string name="delete_dict" msgid="756853268088330054">"Удалить"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Доступен словарь для проверки правописания (<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>).<br/>Рекомендуем <b>установить</b> его, чтобы быстрее вводить текст.<br/><br/>Если вашим тарифом предусмотрена <b>безлимитная передача данных</b>, словарь можно загрузить через сеть 3G (это займет всего пару минут).<br/>Если вы не помните подробностей своего тарифного плана, лучше подключитесь к сети Wi-Fi (загрузка начнется автоматически).<br/><br/>Совет. Чтобы добавить, удалить или настроить словарь, откройте раздел <b>Язык и ввод</b> в настройках своего устройства."</string> <string name="download_over_metered" msgid="1643065851159409546">"Загрузить (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> МБ)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Загрузить через Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Доступен словарь: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Нажмите, чтобы просмотреть и загрузить"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Загрузка словаря (<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>)…"</string> <string name="version_text" msgid="2715354215568469385">"Версия <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Добавить"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Добавление в словарь"</string> diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index c4d3eca8f..877066304 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Ak si chcete pri zadávaní hesla vypočuť nahlas vyslovené klávesy, pripojte náhlavnú súpravu."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Aktuálny text je %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nie je zadaný žiadny text"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"Klávesom <xliff:g id="KEY_NAME">%1$s</xliff:g> opravíte slovo <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> na <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"Klávesom <xliff:g id="KEY_NAME">%1$s</xliff:g> spustíte automatické opravy"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Kód klávesu %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Kláves Shift je zapnutý (zakážete ho klepnutím)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Režim telefónu"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Režim telefónnych symbolov"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Klávesnica je skrytá"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Je zobrazená klávesnica <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"dátum"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"dátum a čas"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"e-mail"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Anglická klávesnica (UK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Anglická klávesnica (US)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"španielčina (USA)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"angličtina (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"angličtina (USA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"španielčina (USA) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (tradičná)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Žiadny jazyk (latinka)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Latinka (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Latinka (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Čítať súbor externého slovníka"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"V priečinku Sťahovanie nie sú žiadne súbory slovníka"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Vyberte súbor slovníka, ktorý chcete nainštalovať"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Chcete nainštalovať tento súbor pre jazyk <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Vyskytla sa chyba"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Vypísať slovník kontaktov"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Vypísať osobný slovník"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Obnoviť"</string> <string name="last_update" msgid="730467549913588780">"Posledná aktualizácia"</string> <string name="message_updating" msgid="4457761393932375219">"Prebieha kontrola aktualizácií"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Prebieha načítavanie..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Hlavný slovník"</string> <string name="cancel" msgid="6830980399865683324">"Zrušiť"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Inštalovať"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Zrušiť"</string> <string name="delete_dict" msgid="756853268088330054">"Odstrániť"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Pre vybratý jazyk mobilného zariadenia je k dispozícii slovník.<br/> Slovník jazyka <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> vám odporúčame <b>stiahnuť</b>. Pomôže vám pri zadávaní textu.<br/> <br/> V sieti 3G môže sťahovanie trvať jednu až dve minúty. Ak nemáte <b>neobmedzený dátový program</b>, môžu sa účtovať poplatky.<br/> Ak s určitosťou neviete aký dátový program používate, vyhľadajte pripojenie k sieti Wi-Fi a sťahovanie sa spustí automaticky.<br/> <br/> Tip: Slovníky môžete v mobilnom zariadení sťahovať a odstraňovať v časti <b>Jazyk a vstup</b> ponuky <b>Nastavenia</b>."</string> <string name="download_over_metered" msgid="1643065851159409546">"Stiahnuť (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Stiahnuť cez sieť Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"K dispozícii je slovník pre jazyk <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Stlačením skontrolujete a prevezmete"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Sťahovanie: návrhy pre jazyk <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> budú čoskoro k dispozícii."</string> <string name="version_text" msgid="2715354215568469385">"Verzia <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Pridať"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Pridať do slovníka"</string> diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index c100de79e..6c192ca66 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Nalaganje …"</string> <string name="main_dict_description" msgid="3072821352793492143">"Glavni slovar"</string> <string name="cancel" msgid="6830980399865683324">"Prekliči"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Namesti"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Prekliči"</string> <string name="delete_dict" msgid="756853268088330054">"Izbriši"</string> diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 9ded43eb6..db911a59d 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Учитавање…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Главни речник"</string> <string name="cancel" msgid="6830980399865683324">"Откажи"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Инсталирај"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Откажи"</string> <string name="delete_dict" msgid="756853268088330054">"Избриши"</string> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index 2a9139f03..1d20fcda3 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Läser in …"</string> <string name="main_dict_description" msgid="3072821352793492143">"Huvudordlista"</string> <string name="cancel" msgid="6830980399865683324">"Avbryt"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Installera"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Avbryt"</string> <string name="delete_dict" msgid="756853268088330054">"Ta bort"</string> diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml index 85af028f5..ca24131b7 100644 --- a/java/res/values-sw/strings.xml +++ b/java/res/values-sw/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Chomeka plagi ya kifaa cha kichwa cha kusikiza ili kusikiliza msimbo wa nenosiri inayozungumwa kwa sauti ya juu."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Maandishi ya sasa ni %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Hakuna maandishi yaliyoingizwa"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> hurekebisha <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> kuwa <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> hufanya marekebisho otomatiki"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Msimbo wa kitufe %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Badilisha"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift imewashwa (gonga ili kulemaza)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Hali ya simu"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Hali ya alama za simu"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Kibodi imefichwa"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Inaonyesha kibodi ya <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"tarehe"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"tarehe na wakati"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"barua pepe"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Kiingereza cha (Uingereza)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Kiingereza cha (Marekani)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Kihispania (Marekani)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Kiingereza (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Kiingereza (US) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Kihispania (US) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (cha Jadi)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Hakuna lugha (Alfabeti)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabeti (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabeti (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Soma faili ya kamusi ya nje"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Hakuna faili za kamusi katika folda ya Vilivyopakuliwa"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Chagua faili ya kamusi ya kusakinisha"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Ungependa kusakinisha faili hii kwa <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Kulikuwa na hitilafu"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Tupa kamusi ya anwani"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Tupa kamusi ya kibinafsi"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Onyesha upya"</string> <string name="last_update" msgid="730467549913588780">"Ilibadilishwa mwisho"</string> <string name="message_updating" msgid="4457761393932375219">"Inatafuta sasisho..."</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Inapakia…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Kamusi kuu"</string> <string name="cancel" msgid="6830980399865683324">"Ghairi"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Sakinisha"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Ghairi"</string> <string name="delete_dict" msgid="756853268088330054">"Futa"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Lugha iliyochaguliwa kwenye kifaa chako cha mkononi ina kamusi inayopatikana.<br/> Tunapendekeza<b>upakuaji wa kamusi ya</b> <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> ili kuboresha hali yako ya kuchapa.<br/> <br/> Upakuaji unaweza kuchukua dakika moja au mbili kukamilika kwenye 3G. Unaweza kutozwa pesa ikiwa huna mpango wa data <b>usio na kipimo </b>.<br/>Ikiwa huna uhakika una mpango gani wa data, tunapendekeza utafute muunganisho wa Wi-Fi ili uanze upakuaji kiotomatiki.<br/> <br/> Kidokezo: Unaweza kupakua na kuondoa kamusi kwa kuenda kwenye<b>Ingizo la & Lugha</b> katika <b>menyu ya Mipangilio</b> ya kifaa chako cha mkononi."</string> <string name="download_over_metered" msgid="1643065851159409546">"Pakua sasa (MB<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Pakua kwenye Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Kamusi inapatikana kwa <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Bonyeza ili kukagua na kupakua"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Inapakua: mapendekezo ya <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> yatakuwa tayari hivi karibuni."</string> <string name="version_text" msgid="2715354215568469385">"Toleo la <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Ongeza"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Ongeza kwenye kamusi"</string> diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index 2301c3114..f5ddd79bc 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"เสียบชุดหูฟังเพื่อฟังเสียงเมื่อพิมพ์รหัสผ่าน"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"ข้อความปัจจุบันคือ %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"ไม่มีข้อความ"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> แก้ไข <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> เป็น <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> ทำการแก้ไขอัตโนมัติ"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"รหัสคีย์ %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift เปิดอยู่ (แตะเพื่อปิดใช้งาน)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"โหมดโทรศัพท์"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"โหมดสัญลักษณ์โทรศัพท์"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"ซ่อนแป้นพิมพ์แล้ว"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"กำลังแสดงแป้นพิมพ์ <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"วันที่"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"วันที่และเวลา"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"อีเมล"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"อังกฤษ (สหราชอาณาจักร)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"สเปน (สหรัฐอเมริกา)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"อังกฤษ (สหราชอาณาจักร) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"อังกฤษ (สหรัฐอเมริกา) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"สเปน (สหรัฐอเมริกา) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (ดั้งเดิม)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"ไม่มีภาษา (ตัวอักษรละติน)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"ตัวอักษร (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"ตัวอักษร (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"อ่านไฟล์พจนานุกรมภายนอก"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"ไม่มีไฟล์พจนานุกรมในโฟลเดอร์ดาวน์โหลด"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"เลือกไฟล์พจนานุกรมที่จะติดตั้ง"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"ต้องการติดตั้งไฟล์นี้สำหรับ <xliff:g id="LANGUAGE_NAME">%s</xliff:g> จริงหรือ"</string> <string name="error" msgid="8940763624668513648">"เกิดข้อผิดพลาด"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"ถ่ายโอนพจนานุกรมที่อยู่ติดต่อ"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"ถ่ายโอนพจนานุกรมส่วนตัว"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"รีเฟรช"</string> <string name="last_update" msgid="730467549913588780">"ปรับปรุงแก้ไขครั้งล่าสุด"</string> <string name="message_updating" msgid="4457761393932375219">"กำลังตรวจสอบการอัปเดต"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"กำลังโหลด…"</string> <string name="main_dict_description" msgid="3072821352793492143">"พจนานุกรมหลัก"</string> <string name="cancel" msgid="6830980399865683324">"ยกเลิก"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"ติดตั้ง"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"ยกเลิก"</string> <string name="delete_dict" msgid="756853268088330054">"ลบ"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"ภาษาที่คุณเลือกในอุปกรณ์เคลื่อนที่มีพจนานุกรมที่สามารถใช้ได้<br/> เราขอแนะนำให้คุณ <b>ดาวน์โหลด</b> พจนานุกรม <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> เพื่อรับประสบการณ์การพิมพ์ที่ดียิ่งขึ้น<br/> <br/> การดาวน์โหลดอาจใช้เวลาหนึ่งถึงสองนาทีผ่านทาง 3G ซึ่งอาจมีการเรียกเก็บเงินหากคุณไม่ได้ใช้ <b>แผนบริการข้อมูลแบบไม่จำกัดปริมาณ</b>.<br/> หากไม่แน่ใจว่าใช้แผนบริการข้อมูลแบบใด เราขอแนะนำให้คุณเชื่อมต่อ Wi-Fi เพื่อเริ่มการดาวน์โหลดอัตโนมัติ<br/> <br/> เคล็ดลับ: คุณสามารถดาวน์โหลดและลบพจนานุกรมออกได้โดยไปที่ <b>ภาษาและการป้อนข้อมูล</b> ในเมนู <b>การตั้งค่า</b> ในอุปกรณ์เคลื่อนที่ของคุณ"</string> <string name="download_over_metered" msgid="1643065851159409546">"ดาวน์โหลดเลย (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"ดาวน์โหลดผ่าน WiFi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"มีพจนานุกรมให้ใช้งานสำหรับ <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"กดเพื่อตรวจสอบและดาวน์โหลด"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"กำลังดาวน์โหลด: คำแนะนำสำหรับ <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> จะพร้อมใช้งานเร็วๆ นี้"</string> <string name="version_text" msgid="2715354215568469385">"เวอร์ชัน <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"เพิ่ม"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"เพิ่มในพจนานุกรม"</string> diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index fd979cf27..1dd59b4b4 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Mag-plug in ng headset upang marinig ang mga password key na binabanggit nang malakas."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Ang kasalukuyang teksto ay %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Walang tekstong inilagay"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"Itinatama ng <xliff:g id="KEY_NAME">%1$s</xliff:g> ang <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> sa <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"Nagsasagawa ang <xliff:g id="KEY_NAME">%1$s</xliff:g> ng auto-correction"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Code ng key %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Naka-on ang shift (i-tap upang huwag paganahin)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode ng telepono"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode ng mga simbolo ng telepono"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Nakatago ang keyboard"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Ipinapakita ang keyboard na <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"petsa"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"petsa at oras"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"email"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Ingles (UK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Ingles (Estados Unidos)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Spanish (US)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Ingles (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Ingles (US) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Spanish (US) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Tradisyonal)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Walang wika (Alpabeto)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alpabeto (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alpabeto (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Magbasa ng panlabas na file ng diksyunaryo"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Walang mga file ng diksyunaryo sa folder na Mga Download"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Pumili ng file ng diksyunaryo na ii-install"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Talagang ii-install ang file na ito para sa <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Nagkaroon ng error"</string> <!-- no translation found for prefs_dump_contacts_dict (7227327764402323097) --> <skip /> @@ -220,22 +212,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"I-refresh"</string> <string name="last_update" msgid="730467549913588780">"Huling na-update"</string> <string name="message_updating" msgid="4457761393932375219">"Tumitingin ng mga update"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Naglo-load…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Pangunahing diksyunaryo"</string> <string name="cancel" msgid="6830980399865683324">"Kanselahin"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"I-install"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Kanselahin"</string> <string name="delete_dict" msgid="756853268088330054">"Tanggalin"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"May available na diksyunaryo ang napiling wika sa iyong mobile device.<br/> Inirerekomenda naming <b>i-download</b> ang diksyunaryo ng <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> upang pagbutihin ang iyong karanasan sa pagta-type.<br/> <br/> Maaaring magtagal nang ilang minuto ang pag-download sa 3G. Maaaring magkaroon ng mga pagsingil kung wala kang <b>unlimited data plan</b>.<br/> Kung hindi ka sigurado kung anong data plan ang mayroon ka, inirerekomenda naming maghanap ng koneksyon sa Wi-Fi upang awtomatikong masimulan ang pag-download.<br/> <br/> Tip: Maaari kang mag-download at mag-alis ng mga diksyunaryo sa pamamagitan ng pagpunta sa <b>Wika & input</b> sa menu ng <b>Mga Setting</b> ng iyong mobile device."</string> <string name="download_over_metered" msgid="1643065851159409546">"I-download ngayon (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"I-download gamit ang Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"May available na diksyunaryo para sa <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Pindutin upang suriin at i-download"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Nagda-download: magkakaron ng mga suhestiyon para sa <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> sa lalong madaling panahon."</string> <string name="version_text" msgid="2715354215568469385">"Bersyon <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Idagdag"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Idagdag sa diksyunaryo"</string> diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index c2cb428e9..ee433978b 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Şifre tuşlarının sesli okunmasını dinlemek için mikrofonlu kulaklık takın."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Mevcut metin: %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Hiç metin girilmedi"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g>, <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> kelimesini <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> olarak düzeltir"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> otomatik düzeltme yapar"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Tuş kodu: %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Üst Karakter"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Üst karakter açık (devre dışı bırakmak için hafifçe vurun)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefon modu"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefon sembolleri modu"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Klavye gizli"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"<xliff:g id="KEYBOARD_MODE">%s</xliff:g> klavyesi görüntüleniyor"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"tarih"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"tarih ve saat"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"e-posta"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (BK)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"İngilizce (ABD)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"İspanyolca (ABD)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"İngilizce (İngiltere) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"İngilizce (ABD) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"İspanyolca (ABD) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Geleneksel)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Dil yok (Alfabe)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alfabe (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alfabe (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Harici sözlük dosyasını oku"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"İndirilenler klasöründe sözlük dosyası yok"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Yüklemek için bir sözlük dosyası seçin"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> için bu dosya gerçekten yüklensin mi?"</string> <string name="error" msgid="8940763624668513648">"Bir hata oluştu"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Kişiler sözlüğünün dökümünü al"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Kişisel sözlüğün dökümünü al"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Yenile"</string> <string name="last_update" msgid="730467549913588780">"Son güncelleme tarihi"</string> <string name="message_updating" msgid="4457761393932375219">"Güncellemeler denetleniyor"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Yükleniyor…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Ana sözlük"</string> <string name="cancel" msgid="6830980399865683324">"İptal"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Yükle"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"İptal"</string> <string name="delete_dict" msgid="756853268088330054">"Sil"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Mobil cihazınızda seçili dile ait kullanılabilir bir sözlük mevcut.<br/> Daha iyi yazabilmek için bu <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> sözlüğü <b>indirmenizi</b> öneririz.<br/> <br/> İndirme işlemi 3G üzerinden bir veya iki dakika sürebilir. <b>Sınırsız veri planınız </b>yoksa ücret alınabilir.<br/> Ne tür bir veri planına sahip olduğunuzdan emin değilseniz, otomatik olarak indirmeye başlamak için bir Kablosuz bağlantı bulmanızı öneririz.<br/> <br/> İpucu: Sözlükleri, mobil cihazınızın <b>Ayarlar</b> menüsünde <b>Dil ve giriş</b> seçeneğine giderek indirebilir ve silebilirsiniz."</string> <string name="download_over_metered" msgid="1643065851159409546">"Hemen indir (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Kablosuz üzerinden indir"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> için kullanılabilir bir sözlük mevcut"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"İncelemek ve indirmek için basın"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> için önerilerin indirilmesine kısa süre içinde başlanacak."</string> <string name="version_text" msgid="2715354215568469385">"Sürüm <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Ekle"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Sözlüğe ekle"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index 95bfa5be1..91e1ffae8 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Завантаження…"</string> <string name="main_dict_description" msgid="3072821352793492143">"Основний словник"</string> <string name="cancel" msgid="6830980399865683324">"Скасувати"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Установити"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Скасувати"</string> <string name="delete_dict" msgid="756853268088330054">"Видалити"</string> diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index 135057286..cfacbbc9f 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"Cắm tai nghe để nghe mật khẩu."</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"Ký tự hiện tại là %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"Không có ký tự nào được nhập"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"<xliff:g id="KEY_NAME">%1$s</xliff:g> sửa <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> thành <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"<xliff:g id="KEY_NAME">%1$s</xliff:g> thực hiện tự động sửa"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Mã phím %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift đang bật (bấm để tắt)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Chế độ điện thoại"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Chế độ biểu tượng điện thoại"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"Bàn phím bị ẩn"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"Hiển thị bàn phím <xliff:g id="KEYBOARD_MODE">%s</xliff:g>"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"ngày"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"ngày và giờ"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"email"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"Tiếng Anh (Anh)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"Tiếng Anh (Mỹ)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"Tiếng Tây Ban Nha (Mỹ)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"Tiếng Anh (Anh) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"Tiếng Anh (Mỹ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"Tiếng Tây Ban Nha (Mỹ) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Truyền thống)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"Không ngôn ngữ nào (Bảng chữ cái)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Bảng chữ cái (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Bảng chữ cái (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"Đọc tệp từ điển bên ngoài"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"Không có tệp từ điển nào trong thư mục Nội dung tải xuống"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"Chọn tệp từ điển để cài đặt"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"Thực sự cài đặt tệp này cho <xliff:g id="LANGUAGE_NAME">%s</xliff:g>?"</string> <string name="error" msgid="8940763624668513648">"Đã xảy ra lỗi"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"Lưu vào từ điển danh bạ"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"Lưu vào từ điển cá nhân"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"Làm mới"</string> <string name="last_update" msgid="730467549913588780">"Cập nhật lần cuối"</string> <string name="message_updating" msgid="4457761393932375219">"Đang kiểm tra cập nhật"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"Đang tải..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Từ điển chính"</string> <string name="cancel" msgid="6830980399865683324">"Hủy"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Cài đặt"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Hủy"</string> <string name="delete_dict" msgid="756853268088330054">"Xóa"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Ngôn ngữ đã chọn trên thiết bị di động của bạn hiện có từ điển.<br/> Bạn nên <b>tải xuống</b> từ điển <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> để cải thiện trải nghiệm nhập của mình.<br/> <br/> Quá trình tải xuống có thể mất vài phút qua 3G. Có thể mất phí nếu bạn không có <b>gói dữ liệu không giới hạn</b>.<br/> Nếu bạn không chắc mình có gói dữ liệu nào, bạn nên tìm kết nối Wi-Fi để bắt đầu tải xuống tự động.<br/> <br/> Mẹo: Bạn có thể tải xuống và xóa từ điển bằng cách đi tới <b>Ngôn ngữ và nhập</b> trong trình đơn <b>Cài đặt</b> trên thiết bị di động của mình."</string> <string name="download_over_metered" msgid="1643065851159409546">"Tải xuống bây giờ (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"Tải xuống qua Wi-Fi"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"Hiện có từ điển cho <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"Nhấn để xem lại và tải xuống"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Đang tải xuống: đề xuất cho <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> sẽ sớm sẵn sàng."</string> <string name="version_text" msgid="2715354215568469385">"Phiên bản <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"Thêm"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Thêm vào từ điển"</string> diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml index 3a55366d9..d62708d38 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"需要插入耳机才能听到密码的按键声。"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"当前文本为%s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"未输入文字"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"按<xliff:g id="KEY_NAME">%1$s</xliff:g>可将<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>更正为<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"按<xliff:g id="KEY_NAME">%1$s</xliff:g>可进行自动更正"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"键码为 %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 模式已启用(点按即可停用)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"电话模式"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"电话符号模式"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"键盘已隐藏"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"当前显示的是<xliff:g id="KEYBOARD_MODE">%s</xliff:g>键盘"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"日期"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"日期和时间"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"电子邮件"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"英语(英国)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"英语(美国)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"西班牙语(美国)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"英式英语(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"美式英语(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"美式西班牙语(<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g>(传统)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"无语言(字母)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"字母 (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"字母 (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"读取外部词典文件"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"“下载内容”文件夹中没有词典文件"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"选择要安装的词典文件"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"确定要安装这个<xliff:g id="LANGUAGE_NAME">%s</xliff:g>词典文件吗?"</string> <string name="error" msgid="8940763624668513648">"出现错误"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"转储联系人词典"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"转储个人词典"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"刷新"</string> <string name="last_update" msgid="730467549913588780">"上次更新时间"</string> <string name="message_updating" msgid="4457761393932375219">"正在检查更新"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"正在加载…"</string> <string name="main_dict_description" msgid="3072821352793492143">"主词典"</string> <string name="cancel" msgid="6830980399865683324">"取消"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"安装"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"取消"</string> <string name="delete_dict" msgid="756853268088330054">"删除"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"对于您的移动设备上选择的语言,有一个适合您使用的词典可供下载。<br/>我们建议您<b>下载</b>这个<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>词典,以便获得更好的输入体验。<br/><br/>通过3G网络下载可能需要一两分钟的时间。如果您使用的不是<b>无流量限制的套餐</b>,则可能需要支付一定的费用。<br/>如果您不确定自己使用的是哪种流量套餐,我们建议您使用WLAN网络连接自动开始下载。<br/><br/>提示:您可以在移动设备上的<b>语言和输入法</b>部分(位于<b>设置</b>菜单中)下载和删除词典。"</string> <string name="download_over_metered" msgid="1643065851159409546">"立即下载 (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"通过 WLAN 下载"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"有一个<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>词典可供下载"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"按此通知即可查看和下载"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"正在下载:针对<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>的输入建议功能马上就可以使用了!"</string> <string name="version_text" msgid="2715354215568469385">"版本<xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"添加"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"添加到词典"</string> diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml index 3c8cd8499..56618a70d 100644 --- a/java/res/values-zh-rHK/strings.xml +++ b/java/res/values-zh-rHK/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"插上耳機即可聽到系統朗讀密碼鍵。"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"目前文字為 %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"未輸入文字"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"按「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可將「<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>」修正為「<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>」"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"按「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可自動修正"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"按鍵代碼 %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift 鍵"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 鍵已開啟 (輕按即可停用)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"撥號模式"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"符號撥號模式"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"鍵盤已隱藏"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"目前顯示的是<xliff:g id="KEYBOARD_MODE">%s</xliff:g>鍵盤"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"日期"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"日期和時間"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"電郵"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"英文 (英國)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"英文 (美國)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"西班牙文 (美國)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"英文 (英國) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"英文 (美國) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"西班牙文 (美國) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (傳統)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"無語言 (字母)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"字母 (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"字母 (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"讀取外部字典檔案"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"「下載」資料夾中沒有任何字典檔案"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"選取要安裝的字典檔案"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"準備為<xliff:g id="LANGUAGE_NAME">%s</xliff:g>版本安裝這個檔案嗎?"</string> <string name="error" msgid="8940763624668513648">"發生錯誤"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"丟棄聯絡人字典"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"丟棄個人字典"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"重新整理"</string> <string name="last_update" msgid="730467549913588780">"上次更新日期"</string> <string name="message_updating" msgid="4457761393932375219">"正在查看更新"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"正在載入…"</string> <string name="main_dict_description" msgid="3072821352793492143">"主要字典"</string> <string name="cancel" msgid="6830980399865683324">"取消"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"安裝"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"取消"</string> <string name="delete_dict" msgid="756853268088330054">"刪除"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"您的流動裝置所選取的語言現有字典可供使用。<br/>我們建議您<b>下載</b><xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>字典,讓您輸入時更方便。<br/><br/>經由 3G 網絡下載需時一、兩分鐘。如果您未使用<b>無限上網計劃</b>,可能須另外付費。<br/>如果您不確定自己使用哪種上網計劃,我們建議您在連接 Wi-Fi 網絡後才開始自動下載。<br/><br/>提示:您可以前往流動裝置的 [設定] <b></b>選單,透過其中的 [語言和輸入] <b></b>下載和移除字典。"</string> <string name="download_over_metered" msgid="1643065851159409546">"立即下載 (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g> MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"經由 Wi-Fi 下載"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"可使用<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>字典"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"按下即可查看並下載"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"下載中:<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>字詞建議服務即將啟用。"</string> <string name="version_text" msgid="2715354215568469385">"版本 <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"新增"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"加入字典"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 132948282..cfbfe919e 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -79,10 +79,8 @@ <string name="spoken_use_headphones" msgid="896961781287283493">"連接耳機即可聽取系統朗讀密碼按鍵。"</string> <string name="spoken_current_text_is" msgid="2485723011272583845">"目前文字為 %s"</string> <string name="spoken_no_text_entered" msgid="7479685225597344496">"未輸入文字"</string> - <!-- no translation found for spoken_auto_correct (5150455215290003221) --> - <skip /> - <!-- no translation found for spoken_auto_correct_obscured (2309828861778711939) --> - <skip /> + <string name="spoken_auto_correct" msgid="5150455215290003221">"按下「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可將「<xliff:g id="ORIGINAL_WORD">%2$s</xliff:g>」修正為「<xliff:g id="CORRECTED_WORD">%3$s</xliff:g>」"</string> + <string name="spoken_auto_correct_obscured" msgid="2309828861778711939">"按下「<xliff:g id="KEY_NAME">%1$s</xliff:g>」可執行自動修正"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"按鍵代碼 %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift 鍵"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift 鍵已開啟 (輕按即可停用)"</string> @@ -110,8 +108,7 @@ <string name="spoken_description_mode_phone" msgid="6520207943132026264">"撥號模式"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"撥號符號模式"</string> <string name="announce_keyboard_hidden" msgid="8718927835531429807">"鍵盤已隱藏"</string> - <!-- no translation found for announce_keyboard_mode (7486740369324538848) --> - <skip /> + <string name="announce_keyboard_mode" msgid="7486740369324538848">"目前顯示的是<xliff:g id="KEYBOARD_MODE">%s</xliff:g>鍵盤"</string> <string name="keyboard_mode_date" msgid="3137520166817128102">"日期"</string> <string name="keyboard_mode_date_time" msgid="339593358488851072">"日期和時間"</string> <string name="keyboard_mode_email" msgid="6216248078128294262">"電子郵件"</string> @@ -135,14 +132,10 @@ <string name="subtype_en_GB" msgid="88170601942311355">"英文 (英國)"</string> <string name="subtype_en_US" msgid="6160452336634534239">"英文 (美國)"</string> <string name="subtype_es_US" msgid="5583145191430180200">"西班牙文 (美國)"</string> - <!-- no translation found for subtype_with_layout_en_GB (1931018968641592304) --> - <skip /> - <!-- no translation found for subtype_with_layout_en_US (8809311287529805422) --> - <skip /> - <!-- no translation found for subtype_with_layout_es_US (510930471167541338) --> - <skip /> - <!-- no translation found for subtype_nepali_traditional (1994571919751163596) --> - <skip /> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"英文 (英國) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"英文 (美國) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_es_US" msgid="510930471167541338">"西班牙文 (美國) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_nepali_traditional" msgid="1994571919751163596">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (傳統)"</string> <string name="subtype_no_language" msgid="7137390094240139495">"無語言 (字母)"</string> <string name="subtype_no_language_qwerty" msgid="244337630616742604">"字母 (QWERTY)"</string> <string name="subtype_no_language_qwertz" msgid="443066912507547976">"字母 (QWERTZ)"</string> @@ -172,8 +165,7 @@ <string name="prefs_read_external_dictionary" msgid="2588931418575013067">"讀取外部字典檔案"</string> <string name="read_external_dictionary_no_files_message" msgid="4947420942224623792">"「下載」資料夾中沒有任何字典檔案"</string> <string name="read_external_dictionary_multiple_files_title" msgid="7637749044265808628">"選取要安裝的字典檔案"</string> - <!-- no translation found for read_external_dictionary_confirm_install_message (4782116251651288054) --> - <skip /> + <string name="read_external_dictionary_confirm_install_message" msgid="4782116251651288054">"確定要安裝這個<xliff:g id="LANGUAGE_NAME">%s</xliff:g>檔案嗎?"</string> <string name="error" msgid="8940763624668513648">"發生錯誤"</string> <string name="prefs_dump_contacts_dict" msgid="7227327764402323097">"捨棄聯絡人字典"</string> <string name="prefs_dump_user_dict" msgid="294870685041741951">"捨棄個人字典"</string> @@ -216,22 +208,20 @@ <string name="check_for_updates_now" msgid="8087688440916388581">"重新整理"</string> <string name="last_update" msgid="730467549913588780">"上次更新時間:"</string> <string name="message_updating" msgid="4457761393932375219">"正在檢查更新"</string> - <!-- no translation found for message_loading (5638680861387748936) --> - <skip /> + <string name="message_loading" msgid="5638680861387748936">"載入中…"</string> <string name="main_dict_description" msgid="3072821352793492143">"主要字典"</string> <string name="cancel" msgid="6830980399865683324">"取消"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"安裝"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"取消"</string> <string name="delete_dict" msgid="756853268088330054">"刪除"</string> - <!-- no translation found for should_download_over_metered_prompt (1583881200688185508) --> - <skip /> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"您的行動裝置選用的語言現有字典可供使用。<br/>建議您<b>下載</b><xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>字典,藉此強化輸入功能。<br/><br/>透過 3G 網路下載約需一兩分鐘。如果沒有<b>無限行動上網資費方案</b>,可能必須另外付費。<br/>若不確定行動上網資費方案為何,可以等連上 Wi-Fi 網路後再自動下載。<br/><br/>提示:前往行動裝置的 [設定] 選單,選擇 [語言和輸入] 即可下載及移除字典。<b></b><b></b>"</string> <string name="download_over_metered" msgid="1643065851159409546">"立即下載 (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> <string name="do_not_download_over_metered" msgid="2176209579313941583">"透過 Wi-Fi 下載"</string> - <!-- no translation found for dict_available_notification_title (4583842811218581658) --> - <skip /> + <string name="dict_available_notification_title" msgid="4583842811218581658">"支援<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>字典"</string> <string name="dict_available_notification_description" msgid="1075194169443163487">"按下即可查看並下載"</string> - <!-- no translation found for toast_downloading_suggestions (6128155879830851739) --> - <skip /> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"下載中:即將啟用<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>字詞建議服務。"</string> <string name="version_text" msgid="2715354215568469385">"版本 <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string> <string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"新增"</string> <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"加入字典"</string> diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml index 1d21c4e36..9ee924665 100644 --- a/java/res/values-zu/strings.xml +++ b/java/res/values-zu/strings.xml @@ -211,6 +211,8 @@ <string name="message_loading" msgid="5638680861387748936">"Iyalayisha..."</string> <string name="main_dict_description" msgid="3072821352793492143">"Isichazamazwi sakho esisemqoka"</string> <string name="cancel" msgid="6830980399865683324">"Khansela"</string> + <!-- no translation found for go_to_settings (3876892339342569259) --> + <skip /> <string name="install_dict" msgid="180852772562189365">"Faka"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Khansela"</string> <string name="delete_dict" msgid="756853268088330054">"Susa"</string> diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index a39ce4ae8..c9be4497a 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -90,11 +90,11 @@ android:entries="@array/prefs_suggestion_visibilities" android:defaultValue="@string/prefs_suggestion_visibility_default_value" /> <CheckBoxPreference - android:key="pref_key_use_personalized_dicts" + android:key="pref_use_personalized_dicts" android:title="@string/use_personalized_dicts" android:summary="@string/use_personalized_dicts_summary" android:persistent="true" - android:defaultValue="true" /> + android:defaultValue="false" /> </PreferenceCategory> <PreferenceCategory android:title="@string/gesture_typing_category" diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java b/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java index 1d9b9991e..80def701d 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java +++ b/java/src/com/android/inputmethod/dictionarypack/DictionaryProvider.java @@ -350,7 +350,8 @@ public final class DictionaryProvider extends ContentProvider { clientId); if (null == results) { return Collections.<WordListInfo>emptyList(); - } else { + } + try { final HashMap<String, WordListInfo> dicts = new HashMap<String, WordListInfo>(); final int idIndex = results.getColumnIndex(MetadataDbHelper.WORDLISTID_COLUMN); final int localeIndex = results.getColumnIndex(MetadataDbHelper.LOCALE_COLUMN); @@ -416,8 +417,9 @@ public final class DictionaryProvider extends ContentProvider { } } while (results.moveToNext()); } - results.close(); return Collections.unmodifiableCollection(dicts.values()); + } finally { + results.close(); } } diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java b/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java index d18639741..dae2f22a4 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java +++ b/java/src/com/android/inputmethod/dictionarypack/DictionarySettingsFragment.java @@ -283,63 +283,70 @@ public final class DictionarySettingsFragment extends PreferenceFragment final ArrayList<Preference> result = new ArrayList<Preference>(); result.add(createErrorMessage(activity, R.string.cannot_connect_to_dict_service)); return result; - } else if (!cursor.moveToFirst()) { - final ArrayList<Preference> result = new ArrayList<Preference>(); - result.add(createErrorMessage(activity, R.string.no_dictionaries_available)); - cursor.close(); - return result; - } else { - final String systemLocaleString = Locale.getDefault().toString(); - final TreeMap<String, WordListPreference> prefMap = - new TreeMap<String, WordListPreference>(); - final int idIndex = cursor.getColumnIndex(MetadataDbHelper.WORDLISTID_COLUMN); - final int versionIndex = cursor.getColumnIndex(MetadataDbHelper.VERSION_COLUMN); - final int localeIndex = cursor.getColumnIndex(MetadataDbHelper.LOCALE_COLUMN); - final int descriptionIndex = cursor.getColumnIndex(MetadataDbHelper.DESCRIPTION_COLUMN); - final int statusIndex = cursor.getColumnIndex(MetadataDbHelper.STATUS_COLUMN); - final int filesizeIndex = cursor.getColumnIndex(MetadataDbHelper.FILESIZE_COLUMN); - do { - final String wordlistId = cursor.getString(idIndex); - final int version = cursor.getInt(versionIndex); - final String localeString = cursor.getString(localeIndex); - final Locale locale = new Locale(localeString); - final String description = cursor.getString(descriptionIndex); - final int status = cursor.getInt(statusIndex); - final int matchLevel = LocaleUtils.getMatchLevel(systemLocaleString, localeString); - final String matchLevelString = LocaleUtils.getMatchLevelSortedString(matchLevel); - final int filesize = cursor.getInt(filesizeIndex); - // The key is sorted in lexicographic order, according to the match level, then - // the description. - final String key = matchLevelString + "." + description + "." + wordlistId; - final WordListPreference existingPref = prefMap.get(key); - if (null == existingPref || existingPref.hasPriorityOver(status)) { - final WordListPreference oldPreference = mCurrentPreferenceMap.get(key); - final WordListPreference pref; - if (null != oldPreference - && oldPreference.mVersion == version - && oldPreference.hasStatus(status) - && oldPreference.mLocale.equals(locale)) { - // If the old preference has all the new attributes, reuse it. Ideally, we - // should reuse the old pref even if its status is different and call - // setStatus here, but setStatus calls Preference#setSummary() which needs - // to be done on the UI thread and we're not on the UI thread here. We - // could do all this work on the UI thread, but in this case it's probably - // lighter to stay on a background thread and throw this old preference out. - pref = oldPreference; - } else { - // Otherwise, discard it and create a new one instead. - // TODO: when the status is different from the old one, we need to - // animate the old one out before animating the new one in. - pref = new WordListPreference(activity, mDictionaryListInterfaceState, - mClientId, wordlistId, version, locale, description, status, - filesize); + } + try { + if (!cursor.moveToFirst()) { + final ArrayList<Preference> result = new ArrayList<Preference>(); + result.add(createErrorMessage(activity, R.string.no_dictionaries_available)); + return result; + } else { + final String systemLocaleString = Locale.getDefault().toString(); + final TreeMap<String, WordListPreference> prefMap = + new TreeMap<String, WordListPreference>(); + final int idIndex = cursor.getColumnIndex(MetadataDbHelper.WORDLISTID_COLUMN); + final int versionIndex = cursor.getColumnIndex(MetadataDbHelper.VERSION_COLUMN); + final int localeIndex = cursor.getColumnIndex(MetadataDbHelper.LOCALE_COLUMN); + final int descriptionIndex = + cursor.getColumnIndex(MetadataDbHelper.DESCRIPTION_COLUMN); + final int statusIndex = cursor.getColumnIndex(MetadataDbHelper.STATUS_COLUMN); + final int filesizeIndex = cursor.getColumnIndex(MetadataDbHelper.FILESIZE_COLUMN); + do { + final String wordlistId = cursor.getString(idIndex); + final int version = cursor.getInt(versionIndex); + final String localeString = cursor.getString(localeIndex); + final Locale locale = new Locale(localeString); + final String description = cursor.getString(descriptionIndex); + final int status = cursor.getInt(statusIndex); + final int matchLevel = + LocaleUtils.getMatchLevel(systemLocaleString, localeString); + final String matchLevelString = + LocaleUtils.getMatchLevelSortedString(matchLevel); + final int filesize = cursor.getInt(filesizeIndex); + // The key is sorted in lexicographic order, according to the match level, then + // the description. + final String key = matchLevelString + "." + description + "." + wordlistId; + final WordListPreference existingPref = prefMap.get(key); + if (null == existingPref || existingPref.hasPriorityOver(status)) { + final WordListPreference oldPreference = mCurrentPreferenceMap.get(key); + final WordListPreference pref; + if (null != oldPreference + && oldPreference.mVersion == version + && oldPreference.hasStatus(status) + && oldPreference.mLocale.equals(locale)) { + // If the old preference has all the new attributes, reuse it. Ideally, + // we should reuse the old pref even if its status is different and call + // setStatus here, but setStatus calls Preference#setSummary() which + // needs to be done on the UI thread and we're not on the UI thread + // here. We could do all this work on the UI thread, but in this case + // it's probably lighter to stay on a background thread and throw this + // old preference out. + pref = oldPreference; + } else { + // Otherwise, discard it and create a new one instead. + // TODO: when the status is different from the old one, we need to + // animate the old one out before animating the new one in. + pref = new WordListPreference(activity, mDictionaryListInterfaceState, + mClientId, wordlistId, version, locale, description, status, + filesize); + } + prefMap.put(key, pref); } - prefMap.put(key, pref); - } - } while (cursor.moveToNext()); + } while (cursor.moveToNext()); + mCurrentPreferenceMap = prefMap; + return prefMap.values(); + } + } finally { cursor.close(); - mCurrentPreferenceMap = prefMap; - return prefMap.values(); } } diff --git a/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java b/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java index e95ca1799..75cc7d4cb 100644 --- a/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java +++ b/java/src/com/android/inputmethod/dictionarypack/DownloadManagerWrapper.java @@ -59,6 +59,10 @@ public class DownloadManagerWrapper { // be opened. It may be a problem with file system corruption. In any case, there is // not much we can do apart from avoiding crashing. Log.e(TAG, "Can't remove files with ID " + ids + " from download manager", e); + } catch (IllegalArgumentException e) { + // Not sure how this can happen, but it could be another case where the provider + // is disabled. Or it could be a bug in older versions of the framework. + Log.e(TAG, "Can't find the content URL for DownloadManager?", e); } } @@ -69,6 +73,8 @@ public class DownloadManagerWrapper { } } catch (SQLiteException e) { Log.e(TAG, "Can't open downloaded file with ID " + fileId, e); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Can't find the content URL for DownloadManager?", e); } // We come here if mDownloadManager is null or if an exception was thrown. throw new FileNotFoundException(); @@ -81,6 +87,8 @@ public class DownloadManagerWrapper { } } catch (SQLiteException e) { Log.e(TAG, "Can't query the download manager", e); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Can't find the content URL for DownloadManager?", e); } // We come here if mDownloadManager is null or if an exception was thrown. return null; @@ -93,6 +101,8 @@ public class DownloadManagerWrapper { } } catch (SQLiteException e) { Log.e(TAG, "Can't enqueue a request with the download manager", e); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Can't find the content URL for DownloadManager?", e); } return 0; } diff --git a/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java b/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java index ff5aba6d8..8badaf4b9 100644 --- a/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java +++ b/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java @@ -533,12 +533,17 @@ public class MetadataDbHelper extends SQLiteOpenHelper { PENDINGID_COLUMN + "= ?", new String[] { Long.toString(id) }, null, null, null); - // There should never be more than one result. If because of some bug there are, returning - // only one result is the right thing to do, because we couldn't handle several anyway - // and we should still handle one. - final ContentValues result = getFirstLineAsContentValues(cursor); - cursor.close(); - return result; + if (null == cursor) { + return null; + } + try { + // There should never be more than one result. If because of some bug there are, + // returning only one result is the right thing to do, because we couldn't handle + // several anyway and we should still handle one. + return getFirstLineAsContentValues(cursor); + } finally { + cursor.close(); + } } /** @@ -559,11 +564,16 @@ public class MetadataDbHelper extends SQLiteOpenHelper { new String[] { id, Integer.toString(STATUS_INSTALLED), Integer.toString(STATUS_DELETING) }, null, null, null); - // There should only be one result, but if there are several, we can't tell which - // is the best, so we just return the first one. - final ContentValues result = getFirstLineAsContentValues(cursor); - cursor.close(); - return result; + if (null == cursor) { + return null; + } + try { + // There should only be one result, but if there are several, we can't tell which + // is the best, so we just return the first one. + return getFirstLineAsContentValues(cursor); + } finally { + cursor.close(); + } } /** @@ -622,10 +632,15 @@ public class MetadataDbHelper extends SQLiteOpenHelper { METADATA_TABLE_COLUMNS, WORDLISTID_COLUMN + "= ? AND " + VERSION_COLUMN + "= ?", new String[] { id, Integer.toString(version) }, null, null, null); - // This is a lookup by primary key, so there can't be more than one result. - final ContentValues result = getFirstLineAsContentValues(cursor); - cursor.close(); - return result; + if (null == cursor) { + return null; + } + try { + // This is a lookup by primary key, so there can't be more than one result. + return getFirstLineAsContentValues(cursor); + } finally { + cursor.close(); + } } /** @@ -641,10 +656,15 @@ public class MetadataDbHelper extends SQLiteOpenHelper { METADATA_TABLE_COLUMNS, WORDLISTID_COLUMN + "= ?", new String[] { id }, null, null, VERSION_COLUMN + " DESC", "1"); - // This is a lookup by primary key, so there can't be more than one result. - final ContentValues result = getFirstLineAsContentValues(cursor); - cursor.close(); - return result; + if (null == cursor) { + return null; + } + try { + // This is a lookup by primary key, so there can't be more than one result. + return getFirstLineAsContentValues(cursor); + } finally { + cursor.close(); + } } /** diff --git a/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java b/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java index a0147b6d6..5c2289911 100644 --- a/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java +++ b/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java @@ -44,8 +44,7 @@ public class MetadataHandler { */ private static List<WordListMetadata> makeMetadataObject(final Cursor results) { final ArrayList<WordListMetadata> buildingMetadata = new ArrayList<WordListMetadata>(); - - if (results.moveToFirst()) { + if (null != results && results.moveToFirst()) { final int localeColumn = results.getColumnIndex(MetadataDbHelper.LOCALE_COLUMN); final int typeColumn = results.getColumnIndex(MetadataDbHelper.TYPE_COLUMN); final int descriptionColumn = @@ -61,7 +60,6 @@ public class MetadataHandler { final int versionIndex = results.getColumnIndex(MetadataDbHelper.VERSION_COLUMN); final int formatVersionIndex = results.getColumnIndex(MetadataDbHelper.FORMATVERSION_COLUMN); - do { buildingMetadata.add(new WordListMetadata(results.getString(idIndex), results.getInt(typeColumn), @@ -75,8 +73,6 @@ public class MetadataHandler { results.getInt(formatVersionIndex), 0, results.getString(localeColumn))); } while (results.moveToNext()); - - results.close(); } return Collections.unmodifiableList(buildingMetadata); } @@ -92,9 +88,14 @@ public class MetadataHandler { // If clientId is null, we get a cursor on the default database (see // MetadataDbHelper#getInstance() for more on this) final Cursor results = MetadataDbHelper.queryCurrentMetadata(context, clientId); - final List<WordListMetadata> resultList = makeMetadataObject(results); - results.close(); - return resultList; + // If null, we should return makeMetadataObject(null), so we go through. + try { + return makeMetadataObject(results); + } finally { + if (null != results) { + results.close(); + } + } } /** diff --git a/java/src/com/android/inputmethod/keyboard/KeyDetector.java b/java/src/com/android/inputmethod/keyboard/KeyDetector.java index 282c8e8fa..03d9defa0 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyDetector.java +++ b/java/src/com/android/inputmethod/keyboard/KeyDetector.java @@ -16,8 +16,6 @@ package com.android.inputmethod.keyboard; -import com.android.inputmethod.latin.Constants; - /** * This class handles key detection. */ @@ -41,13 +39,15 @@ public class KeyDetector { * @param keyHysteresisDistanceForSlidingModifier the same parameter for sliding input that * starts from a modifier key such as shift and symbols key. */ - public KeyDetector(float keyHysteresisDistance, float keyHysteresisDistanceForSlidingModifier) { + public KeyDetector(final float keyHysteresisDistance, + final float keyHysteresisDistanceForSlidingModifier) { mKeyHysteresisDistanceSquared = (int)(keyHysteresisDistance * keyHysteresisDistance); mKeyHysteresisDistanceForSlidingModifierSquared = (int)( keyHysteresisDistanceForSlidingModifier * keyHysteresisDistanceForSlidingModifier); } - public void setKeyboard(Keyboard keyboard, float correctionX, float correctionY) { + public void setKeyboard(final Keyboard keyboard, final float correctionX, + final float correctionY) { if (keyboard == null) { throw new NullPointerException(); } @@ -56,24 +56,21 @@ public class KeyDetector { mKeyboard = keyboard; } - public int getKeyHysteresisDistanceSquared(boolean isSlidingFromModifier) { + public int getKeyHysteresisDistanceSquared(final boolean isSlidingFromModifier) { return isSlidingFromModifier ? mKeyHysteresisDistanceForSlidingModifierSquared : mKeyHysteresisDistanceSquared; } - public int getTouchX(int x) { + public int getTouchX(final int x) { return x + mCorrectionX; } // TODO: Remove vertical correction. - public int getTouchY(int y) { + public int getTouchY(final int y) { return y + mCorrectionY; } public Keyboard getKeyboard() { - if (mKeyboard == null) { - throw new IllegalStateException("keyboard isn't set"); - } return mKeyboard; } @@ -88,7 +85,7 @@ public class KeyDetector { * @param y The y-coordinate of a touch point * @return the key that the touch point hits. */ - public Key detectHitKey(int x, int y) { + public Key detectHitKey(final int x, final int y) { final int touchX = getTouchX(x); final int touchY = getTouchY(y); @@ -113,20 +110,4 @@ public class KeyDetector { } return primaryKey; } - - public static String printableCode(Key key) { - return key != null ? Constants.printableCode(key.getCode()) : "none"; - } - - public static String printableCodes(int[] codes) { - final StringBuilder sb = new StringBuilder(); - boolean addDelimiter = false; - for (final int code : codes) { - if (code == Constants.NOT_A_CODE) break; - if (addDelimiter) sb.append(", "); - sb.append(Constants.printableCode(code)); - addDelimiter = true; - } - return "[" + sb + "]"; - } } diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java b/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java index 4a80279ca..abff202b7 100644 --- a/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysDetector.java @@ -33,13 +33,17 @@ public final class MoreKeysDetector extends KeyDetector { } @Override - public Key detectHitKey(int x, int y) { + public Key detectHitKey(final int x, final int y) { + final Keyboard keyboard = getKeyboard(); + if (keyboard == null) { + return null; + } final int touchX = getTouchX(x); final int touchY = getTouchY(y); Key nearestKey = null; int nearestDist = (y < 0) ? mSlideAllowanceSquareTop : mSlideAllowanceSquare; - for (final Key key : getKeyboard().getKeys()) { + for (final Key key : keyboard.getKeys()) { final int dist = key.squaredDistanceToEdge(touchX, touchY); if (dist < nearestDist) { nearestKey = key; diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index befc4e6fa..59cf64d4b 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -257,12 +257,15 @@ public final class PointerTracker implements PointerTrackerQueue.Element, } public static void setKeyDetector(final KeyDetector keyDetector) { + final Keyboard keyboard = keyDetector.getKeyboard(); + if (keyboard == null) { + return; + } final int trackersSize = sTrackers.size(); for (int i = 0; i < trackersSize; ++i) { final PointerTracker tracker = sTrackers.get(i); tracker.setKeyDetectorInner(keyDetector); } - final Keyboard keyboard = keyDetector.getKeyboard(); sGestureEnabler.setPasswordMode(keyboard.mId.passwordInput()); } @@ -301,7 +304,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element, final boolean ignoreModifierKey = mIsInDraggingFinger && key.isModifier(); if (DEBUG_LISTENER) { Log.d(TAG, String.format("[%d] onPress : %s%s%s%s", mPointerId, - KeyDetector.printableCode(key), + (key == null ? "none" : Constants.printableCode(key.getCode())), ignoreModifierKey ? " ignoreModifier" : "", key.isEnabled() ? "" : " disabled", repeatCount > 0 ? " repeatCount=" + repeatCount : "")); @@ -402,11 +405,14 @@ public final class PointerTracker implements PointerTrackerQueue.Element, private void setKeyDetectorInner(final KeyDetector keyDetector) { final Keyboard keyboard = keyDetector.getKeyboard(); + if (keyboard == null) { + return; + } if (keyDetector == mKeyDetector && keyboard == mKeyboard) { return; } mKeyDetector = keyDetector; - mKeyboard = keyDetector.getKeyboard(); + mKeyboard = keyboard; // Mark that keyboard layout has been changed. mKeyboardLayoutHasBeenChanged = true; final int keyWidth = mKeyboard.mMostCommonKeyWidth; @@ -1235,7 +1241,7 @@ public final class PointerTracker implements PointerTrackerQueue.Element, private void printTouchEvent(final String title, final int x, final int y, final long eventTime) { final Key key = mKeyDetector.detectHitKey(x, y); - final String code = KeyDetector.printableCode(key); + final String code = (key == null ? "none" : Constants.printableCode(key.getCode())); Log.d(TAG, String.format("[%d]%s%s %4d %4d %5d %s", mPointerId, (mIsTrackingForActionDisabled ? "-" : " "), title, x, y, eventTime, code)); } diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java index b4382bc2c..e428b1d54 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryFileDumper.java @@ -142,7 +142,7 @@ public final class BinaryDictionaryFileDumper { final ContentProviderClient client = context.getContentResolver(). acquireContentProviderClient(getProviderUriBuilder("").build()); if (null == client) return Collections.<WordListInfo>emptyList(); - + Cursor cursor = null; try { final Uri.Builder builder = getContentUriBuilderForType(clientId, client, QUERY_PATH_DICT_INFO, locale.toString()); @@ -154,24 +154,22 @@ public final class BinaryDictionaryFileDumper { final boolean isProtocolV2 = (QUERY_PARAMETER_PROTOCOL_VALUE.equals( queryUri.getQueryParameter(QUERY_PARAMETER_PROTOCOL))); - Cursor c = client.query(queryUri, DICTIONARY_PROJECTION, null, null, null); - if (isProtocolV2 && null == c) { + cursor = client.query(queryUri, DICTIONARY_PROJECTION, null, null, null); + if (isProtocolV2 && null == cursor) { reinitializeClientRecordInDictionaryContentProvider(context, client, clientId); - c = client.query(queryUri, DICTIONARY_PROJECTION, null, null, null); + cursor = client.query(queryUri, DICTIONARY_PROJECTION, null, null, null); } - if (null == c) return Collections.<WordListInfo>emptyList(); - if (c.getCount() <= 0 || !c.moveToFirst()) { - c.close(); + if (null == cursor) return Collections.<WordListInfo>emptyList(); + if (cursor.getCount() <= 0 || !cursor.moveToFirst()) { return Collections.<WordListInfo>emptyList(); } final ArrayList<WordListInfo> list = CollectionUtils.newArrayList(); do { - final String wordListId = c.getString(0); - final String wordListLocale = c.getString(1); + final String wordListId = cursor.getString(0); + final String wordListLocale = cursor.getString(1); if (TextUtils.isEmpty(wordListId)) continue; list.add(new WordListInfo(wordListId, wordListLocale)); - } while (c.moveToNext()); - c.close(); + } while (cursor.moveToNext()); return list; } catch (RemoteException e) { // The documentation is unclear as to in which cases this may happen, but it probably @@ -186,6 +184,9 @@ public final class BinaryDictionaryFileDumper { Log.e(TAG, "Unexpected exception communicating with the dictionary pack", e); return Collections.<WordListInfo>emptyList(); } finally { + if (null != cursor) { + cursor.close(); + } client.release(); } } diff --git a/java/src/com/android/inputmethod/latin/Constants.java b/java/src/com/android/inputmethod/latin/Constants.java index d6ac71fe2..d1ff714fc 100644 --- a/java/src/com/android/inputmethod/latin/Constants.java +++ b/java/src/com/android/inputmethod/latin/Constants.java @@ -252,6 +252,18 @@ public final class Constants { } } + public static String printableCodes(final int[] codes) { + final StringBuilder sb = new StringBuilder(); + boolean addDelimiter = false; + for (final int code : codes) { + if (code == NOT_A_CODE) break; + if (addDelimiter) sb.append(", "); + sb.append(printableCode(code)); + addDelimiter = true; + } + return "[" + sb + "]"; + } + public static final int MAX_INT_BIT_COUNT = 32; /** diff --git a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java index d626ff926..11a9d1fe4 100644 --- a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java @@ -139,23 +139,24 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary { } private void loadDictionaryAsyncForUri(final Uri uri) { + Cursor cursor = null; try { - Cursor cursor = mContext.getContentResolver() - .query(uri, PROJECTION, null, null, null); - if (cursor != null) { - try { - if (cursor.moveToFirst()) { - sContactCountAtLastRebuild = getContactCount(); - addWords(cursor); - } - } finally { - cursor.close(); - } + cursor = mContext.getContentResolver().query(uri, PROJECTION, null, null, null); + if (null == cursor) { + return; + } + if (cursor.moveToFirst()) { + sContactCountAtLastRebuild = getContactCount(); + addWords(cursor); } } catch (final SQLiteException e) { Log.e(TAG, "SQLiteException in the remote Contacts process.", e); } catch (final IllegalStateException e) { Log.e(TAG, "Contacts DB is having problems", e); + } finally { + if (null != cursor) { + cursor.close(); + } } } @@ -186,18 +187,20 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary { private int getContactCount() { // TODO: consider switching to a rawQuery("select count(*)...") on the database if // performance is a bottleneck. + Cursor cursor = null; try { - final Cursor cursor = mContext.getContentResolver().query( - Contacts.CONTENT_URI, PROJECTION_ID_ONLY, null, null, null); - if (cursor != null) { - try { - return cursor.getCount(); - } finally { - cursor.close(); - } + cursor = mContext.getContentResolver().query(Contacts.CONTENT_URI, PROJECTION_ID_ONLY, + null, null, null); + if (null == cursor) { + return 0; } + return cursor.getCount(); } catch (final SQLiteException e) { Log.e(TAG, "SQLiteException in the remote Contacts process.", e); + } finally { + if (null != cursor) { + cursor.close(); + } } return 0; } @@ -281,26 +284,27 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary { // Check all contacts since it's not possible to find out which names have changed. // This is needed because it's possible to receive extraneous onChange events even when no // name has changed. - Cursor cursor = mContext.getContentResolver().query( - Contacts.CONTENT_URI, PROJECTION, null, null, null); - if (cursor != null) { - try { - if (cursor.moveToFirst()) { - while (!cursor.isAfterLast()) { - String name = cursor.getString(INDEX_NAME); - if (isValidName(name) && !isNameInDictionary(name)) { - if (DEBUG) { - Log.d(TAG, "Contact name missing: " + name + " (runtime = " - + (SystemClock.uptimeMillis() - startTime) + " ms)"); - } - return true; + final Cursor cursor = mContext.getContentResolver().query(Contacts.CONTENT_URI, PROJECTION, + null, null, null); + if (null == cursor) { + return false; + } + try { + if (cursor.moveToFirst()) { + while (!cursor.isAfterLast()) { + String name = cursor.getString(INDEX_NAME); + if (isValidName(name) && !isNameInDictionary(name)) { + if (DEBUG) { + Log.d(TAG, "Contact name missing: " + name + " (runtime = " + + (SystemClock.uptimeMillis() - startTime) + " ms)"); } - cursor.moveToNext(); + return true; } + cursor.moveToNext(); } - } finally { - cursor.close(); } + } finally { + cursor.close(); } if (DEBUG) { Log.d(TAG, "No contacts changed. (runtime = " + (SystemClock.uptimeMillis() - startTime) diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java index 259c1372e..138a626a0 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java @@ -512,7 +512,6 @@ public class DictionaryFacilitatorForSuggest { } } - @UsedForTesting public void clearUserHistoryDictionary() { if (mUserHistoryDictionary == null) { return; diff --git a/java/src/com/android/inputmethod/latin/InputAttributes.java b/java/src/com/android/inputmethod/latin/InputAttributes.java index 01c17f2f2..726b3d141 100644 --- a/java/src/com/android/inputmethod/latin/InputAttributes.java +++ b/java/src/com/android/inputmethod/latin/InputAttributes.java @@ -20,9 +20,13 @@ import android.text.InputType; import android.util.Log; import android.view.inputmethod.EditorInfo; +import com.android.inputmethod.latin.utils.CollectionUtils; import com.android.inputmethod.latin.utils.InputTypeUtils; import com.android.inputmethod.latin.utils.StringUtils; +import java.util.ArrayList; +import java.util.Arrays; + /** * Class to hold attributes of the input field. */ @@ -62,49 +66,43 @@ public final class InputAttributes { mInputTypeNoAutoCorrect = false; mApplicationSpecifiedCompletionOn = false; mShouldInsertSpacesAutomatically = false; - } else { - final int variation = inputType & InputType.TYPE_MASK_VARIATION; - final boolean flagNoSuggestions = - 0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); - final boolean flagMultiLine = - 0 != (inputType & InputType.TYPE_TEXT_FLAG_MULTI_LINE); - final boolean flagAutoCorrect = - 0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_CORRECT); - final boolean flagAutoComplete = - 0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE); - - mIsPasswordField = InputTypeUtils.isPasswordInputType(inputType) - || InputTypeUtils.isVisiblePasswordInputType(inputType); - // TODO: Have a helper method in InputTypeUtils - // Make sure that passwords are not displayed in {@link SuggestionStripView}. - if (mIsPasswordField - || InputTypeUtils.isEmailVariation(variation) - || InputType.TYPE_TEXT_VARIATION_URI == variation - || InputType.TYPE_TEXT_VARIATION_FILTER == variation - || flagNoSuggestions - || flagAutoComplete) { - mIsSettingsSuggestionStripOn = false; - } else { - mIsSettingsSuggestionStripOn = true; - } + return; + } + // inputClass == InputType.TYPE_CLASS_TEXT + final int variation = inputType & InputType.TYPE_MASK_VARIATION; + final boolean flagNoSuggestions = + 0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + final boolean flagMultiLine = + 0 != (inputType & InputType.TYPE_TEXT_FLAG_MULTI_LINE); + final boolean flagAutoCorrect = + 0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_CORRECT); + final boolean flagAutoComplete = + 0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE); - mShouldInsertSpacesAutomatically = InputTypeUtils.isAutoSpaceFriendlyType(inputType); - - // If it's a browser edit field and auto correct is not ON explicitly, then - // disable auto correction, but keep suggestions on. - // If NO_SUGGESTIONS is set, don't do prediction. - // If it's not multiline and the autoCorrect flag is not set, then don't correct - if ((variation == InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT - && !flagAutoCorrect) - || flagNoSuggestions - || (!flagAutoCorrect && !flagMultiLine)) { - mInputTypeNoAutoCorrect = true; - } else { - mInputTypeNoAutoCorrect = false; - } + mIsPasswordField = InputTypeUtils.isPasswordInputType(inputType) + || InputTypeUtils.isVisiblePasswordInputType(inputType); + // TODO: Have a helper method in InputTypeUtils + // Make sure that passwords are not displayed in {@link SuggestionStripView}. + final boolean noSuggestionStrip = mIsPasswordField + || InputTypeUtils.isEmailVariation(variation) + || InputType.TYPE_TEXT_VARIATION_URI == variation + || InputType.TYPE_TEXT_VARIATION_FILTER == variation + || flagNoSuggestions + || flagAutoComplete; + mIsSettingsSuggestionStripOn = !noSuggestionStrip; - mApplicationSpecifiedCompletionOn = flagAutoComplete && isFullscreenMode; - } + mShouldInsertSpacesAutomatically = InputTypeUtils.isAutoSpaceFriendlyType(inputType); + + // If it's a browser edit field and auto correct is not ON explicitly, then + // disable auto correction, but keep suggestions on. + // If NO_SUGGESTIONS is set, don't do prediction. + // If it's not multiline and the autoCorrect flag is not set, then don't correct + mInputTypeNoAutoCorrect = + (variation == InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT && !flagAutoCorrect) + || flagNoSuggestions + || (!flagAutoCorrect && !flagMultiLine); + + mApplicationSpecifiedCompletionOn = flagAutoComplete && isFullscreenMode; } public boolean isTypeNull() { @@ -117,96 +115,142 @@ public final class InputAttributes { @SuppressWarnings("unused") private void dumpFlags(final int inputType) { - Log.i(TAG, "Input class:"); final int inputClass = inputType & InputType.TYPE_MASK_CLASS; - if (inputClass == InputType.TYPE_CLASS_TEXT) - Log.i(TAG, " TYPE_CLASS_TEXT"); - if (inputClass == InputType.TYPE_CLASS_PHONE) - Log.i(TAG, " TYPE_CLASS_PHONE"); - if (inputClass == InputType.TYPE_CLASS_NUMBER) - Log.i(TAG, " TYPE_CLASS_NUMBER"); - if (inputClass == InputType.TYPE_CLASS_DATETIME) - Log.i(TAG, " TYPE_CLASS_DATETIME"); - Log.i(TAG, "Variation:"); - switch (InputType.TYPE_MASK_VARIATION & inputType) { - case InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS: - Log.i(TAG, " TYPE_TEXT_VARIATION_EMAIL_ADDRESS"); - break; - case InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT: - Log.i(TAG, " TYPE_TEXT_VARIATION_EMAIL_SUBJECT"); - break; - case InputType.TYPE_TEXT_VARIATION_FILTER: - Log.i(TAG, " TYPE_TEXT_VARIATION_FILTER"); - break; - case InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE: - Log.i(TAG, " TYPE_TEXT_VARIATION_LONG_MESSAGE"); - break; - case InputType.TYPE_TEXT_VARIATION_NORMAL: - Log.i(TAG, " TYPE_TEXT_VARIATION_NORMAL"); - break; - case InputType.TYPE_TEXT_VARIATION_PASSWORD: - Log.i(TAG, " TYPE_TEXT_VARIATION_PASSWORD"); - break; - case InputType.TYPE_TEXT_VARIATION_PERSON_NAME: - Log.i(TAG, " TYPE_TEXT_VARIATION_PERSON_NAME"); - break; - case InputType.TYPE_TEXT_VARIATION_PHONETIC: - Log.i(TAG, " TYPE_TEXT_VARIATION_PHONETIC"); - break; - case InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS: - Log.i(TAG, " TYPE_TEXT_VARIATION_POSTAL_ADDRESS"); - break; - case InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE: - Log.i(TAG, " TYPE_TEXT_VARIATION_SHORT_MESSAGE"); - break; - case InputType.TYPE_TEXT_VARIATION_URI: - Log.i(TAG, " TYPE_TEXT_VARIATION_URI"); - break; - case InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD: - Log.i(TAG, " TYPE_TEXT_VARIATION_VISIBLE_PASSWORD"); - break; - case InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT: - Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_EDIT_TEXT"); - break; - case InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS: - Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS"); - break; - case InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD: - Log.i(TAG, " TYPE_TEXT_VARIATION_WEB_PASSWORD"); - break; - default: - Log.i(TAG, " Unknown variation"); - break; + final String inputClassString = toInputClassString(inputClass); + final String variationString = toVariationString( + inputClass, inputType & InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); + final String flagsString = toFlagsString(inputType & InputType.TYPE_MASK_FLAGS); + Log.i(TAG, "Input class: " + inputClassString); + Log.i(TAG, "Variation: " + variationString); + Log.i(TAG, "Flags: " + flagsString); + } + + private static String toInputClassString(final int inputClass) { + switch (inputClass) { + case InputType.TYPE_CLASS_TEXT: + return "TYPE_CLASS_TEXT"; + case InputType.TYPE_CLASS_PHONE: + return "TYPE_CLASS_PHONE"; + case InputType.TYPE_CLASS_NUMBER: + return "TYPE_CLASS_NUMBER"; + case InputType.TYPE_CLASS_DATETIME: + return "TYPE_CLASS_DATETIME"; + default: + return String.format("unknownInputClass<0x%08x>", inputClass); + } + } + + private static String toVariationString(final int inputClass, final int variation) { + switch (inputClass) { + case InputType.TYPE_CLASS_TEXT: + return toTextVariationString(variation); + case InputType.TYPE_CLASS_NUMBER: + return toNumberVariationString(variation); + case InputType.TYPE_CLASS_DATETIME: + return toDatetimeVariationString(variation); + default: + return ""; } - Log.i(TAG, "Flags:"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS)) - Log.i(TAG, " TYPE_TEXT_FLAG_NO_SUGGESTIONS"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_MULTI_LINE)) - Log.i(TAG, " TYPE_TEXT_FLAG_MULTI_LINE"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE)) - Log.i(TAG, " TYPE_TEXT_FLAG_IME_MULTI_LINE"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_CAP_WORDS)) - Log.i(TAG, " TYPE_TEXT_FLAG_CAP_WORDS"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_CAP_SENTENCES)) - Log.i(TAG, " TYPE_TEXT_FLAG_CAP_SENTENCES"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS)) - Log.i(TAG, " TYPE_TEXT_FLAG_CAP_CHARACTERS"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_CORRECT)) - Log.i(TAG, " TYPE_TEXT_FLAG_AUTO_CORRECT"); - if (0 != (inputType & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE)) - Log.i(TAG, " TYPE_TEXT_FLAG_AUTO_COMPLETE"); + } + + private static String toTextVariationString(final int variation) { + switch (variation) { + case InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS: + return " TYPE_TEXT_VARIATION_EMAIL_ADDRESS"; + case InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT: + return "TYPE_TEXT_VARIATION_EMAIL_SUBJECT"; + case InputType.TYPE_TEXT_VARIATION_FILTER: + return "TYPE_TEXT_VARIATION_FILTER"; + case InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE: + return "TYPE_TEXT_VARIATION_LONG_MESSAGE"; + case InputType.TYPE_TEXT_VARIATION_NORMAL: + return "TYPE_TEXT_VARIATION_NORMAL"; + case InputType.TYPE_TEXT_VARIATION_PASSWORD: + return "TYPE_TEXT_VARIATION_PASSWORD"; + case InputType.TYPE_TEXT_VARIATION_PERSON_NAME: + return "TYPE_TEXT_VARIATION_PERSON_NAME"; + case InputType.TYPE_TEXT_VARIATION_PHONETIC: + return "TYPE_TEXT_VARIATION_PHONETIC"; + case InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS: + return "TYPE_TEXT_VARIATION_POSTAL_ADDRESS"; + case InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE: + return "TYPE_TEXT_VARIATION_SHORT_MESSAGE"; + case InputType.TYPE_TEXT_VARIATION_URI: + return "TYPE_TEXT_VARIATION_URI"; + case InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD: + return "TYPE_TEXT_VARIATION_VISIBLE_PASSWORD"; + case InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT: + return "TYPE_TEXT_VARIATION_WEB_EDIT_TEXT"; + case InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS: + return "TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS"; + case InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD: + return "TYPE_TEXT_VARIATION_WEB_PASSWORD"; + default: + return String.format("unknownVariation<0x%08x>", variation); + } + } + + private static String toNumberVariationString(final int variation) { + switch (variation) { + case InputType.TYPE_NUMBER_VARIATION_NORMAL: + return "TYPE_NUMBER_VARIATION_NORMAL"; + case InputType.TYPE_NUMBER_VARIATION_PASSWORD: + return "TYPE_NUMBER_VARIATION_PASSWORD"; + default: + return String.format("unknownVariation<0x%08x>", variation); + } + } + + private static String toDatetimeVariationString(final int variation) { + switch (variation) { + case InputType.TYPE_DATETIME_VARIATION_NORMAL: + return "TYPE_DATETIME_VARIATION_NORMAL"; + case InputType.TYPE_DATETIME_VARIATION_DATE: + return "TYPE_DATETIME_VARIATION_DATE"; + case InputType.TYPE_DATETIME_VARIATION_TIME: + return "TYPE_DATETIME_VARIATION_TIME"; + default: + return String.format("unknownVariation<0x%08x>", variation); + } + } + + private static String toFlagsString(final int flags) { + final ArrayList<String> flagsArray = CollectionUtils.newArrayList(); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS)) + flagsArray.add("TYPE_TEXT_FLAG_NO_SUGGESTIONS"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_MULTI_LINE)) + flagsArray.add("TYPE_TEXT_FLAG_MULTI_LINE"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE)) + flagsArray.add("TYPE_TEXT_FLAG_IME_MULTI_LINE"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_CAP_WORDS)) + flagsArray.add("TYPE_TEXT_FLAG_CAP_WORDS"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_CAP_SENTENCES)) + flagsArray.add("TYPE_TEXT_FLAG_CAP_SENTENCES"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS)) + flagsArray.add("TYPE_TEXT_FLAG_CAP_CHARACTERS"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_AUTO_CORRECT)) + flagsArray.add("TYPE_TEXT_FLAG_AUTO_CORRECT"); + if (0 != (flags & InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE)) + flagsArray.add("TYPE_TEXT_FLAG_AUTO_COMPLETE"); + return flagsArray.isEmpty() ? "" : Arrays.toString(flagsArray.toArray()); } // Pretty print @Override public String toString() { - return "\n mInputTypeNoAutoCorrect = " + mInputTypeNoAutoCorrect - + "\n mIsSettingsSuggestionStripOn = " + mIsSettingsSuggestionStripOn - + "\n mApplicationSpecifiedCompletionOn = " + mApplicationSpecifiedCompletionOn; + return String.format( + "%s: inputType=0x%08x%s%s%s%s%s targetApp=%s\n", getClass().getSimpleName(), + mInputType, + (mInputTypeNoAutoCorrect ? " noAutoCorrect" : ""), + (mIsPasswordField ? " password" : ""), + (mIsSettingsSuggestionStripOn ? " suggestionStrip" : ""), + (mApplicationSpecifiedCompletionOn ? " appSpecified" : ""), + (mShouldInsertSpacesAutomatically ? " insertSpaces" : ""), + mTargetApplicationPackageName); } - public static boolean inPrivateImeOptions(String packageName, String key, - EditorInfo editorInfo) { + public static boolean inPrivateImeOptions(final String packageName, final String key, + final EditorInfo editorInfo) { if (editorInfo == null) return false; final String findingKey = (packageName != null) ? packageName + "." + key : key; return StringUtils.containsInCommaSplittableText(findingKey, editorInfo.privateImeOptions); diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 743118eed..5d90e10a0 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -25,6 +25,9 @@ import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.DialogInterface.OnDismissListener; +import android.content.DialogInterface.OnShowListener; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; @@ -171,10 +174,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen public void onCreate() { final Resources res = getOwnerInstance().getResources(); - mDelayUpdateSuggestions = - res.getInteger(R.integer.config_delay_update_suggestions); - mDelayUpdateShiftState = - res.getInteger(R.integer.config_delay_update_shift_state); + mDelayUpdateSuggestions = res.getInteger(R.integer.config_delay_update_suggestions); + mDelayUpdateShiftState = res.getInteger(R.integer.config_delay_update_shift_state); mDoubleSpacePeriodTimeout = res.getInteger(R.integer.config_double_space_period_timeout); } @@ -339,12 +340,15 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen private void executePendingImsCallback(final LatinIME latinIme, final EditorInfo editorInfo, boolean restarting) { - if (mHasPendingFinishInputView) + if (mHasPendingFinishInputView) { latinIme.onFinishInputViewInternal(mHasPendingFinishInput); - if (mHasPendingFinishInput) + } + if (mHasPendingFinishInput) { latinIme.onFinishInputInternal(); - if (mHasPendingStartInput) + } + if (mHasPendingStartInput) { latinIme.onStartInputInternal(editorInfo, restarting); + } resetPendingImsCallback(); } @@ -530,18 +534,33 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } private void refreshPersonalizationDictionarySession() { + final Suggest suggest = mInputLogic.mSuggest; + final boolean shouldKeepUserHistoryDictionaries; + final boolean shouldKeepPersonalizationDictionaries; if (mSettings.getCurrent().mUsePersonalizedDicts) { - if (mSubtypeSwitcher.isSystemLocaleSameAsLocaleOfAllEnabledSubtypes()) { - final DictionaryFacilitatorForSuggest dictionaryFacilitator = - (mInputLogic.mSuggest == null) ? - null : mInputLogic.mSuggest.mDictionaryFacilitator; - PersonalizationDictionarySessionRegistrar.init(this, dictionaryFacilitator); - } else { - PersonalizationDictionarySessionRegistrar.close(this); - } + shouldKeepUserHistoryDictionaries = true; + // TODO: Eliminate this restriction + shouldKeepPersonalizationDictionaries = + mSubtypeSwitcher.isSystemLocaleSameAsLocaleOfAllEnabledSubtypes(); } else { - PersonalizationHelper.removeAllPersonalizedDictionaries(this); + shouldKeepUserHistoryDictionaries = false; + shouldKeepPersonalizationDictionaries = false; + } + if (!shouldKeepUserHistoryDictionaries) { + // Remove user history dictionaries. + PersonalizationHelper.removeAllUserHistoryDictionaries(this); + if (suggest != null) { + suggest.mDictionaryFacilitator.clearUserHistoryDictionary(); + } + } + if (!shouldKeepPersonalizationDictionaries) { + // Remove personalization dictionaries. + PersonalizationHelper.removeAllPersonalizationDictionaries(this); PersonalizationDictionarySessionRegistrar.resetAll(this); + } else { + final DictionaryFacilitatorForSuggest dictionaryFacilitator = + (suggest == null) ? null : suggest.mDictionaryFacilitator; + PersonalizationDictionarySessionRegistrar.init(this, dictionaryFacilitator); } } @@ -579,9 +598,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen (mInputLogic.mSuggest == null) ? null : mInputLogic.mSuggest.mDictionaryFacilitator; // Creates new dictionary facilitator for the new locale. final DictionaryFacilitatorForSuggest dictionaryFacilitator = - new DictionaryFacilitatorForSuggest(this /* context */, locale, - settingsValues, this /* DictionaryInitializationListener */, - oldDictionaryFacilitator); + new DictionaryFacilitatorForSuggest(this /* context */, locale, settingsValues, + this /* DictionaryInitializationListener */, oldDictionaryFacilitator); final Suggest newSuggest = new Suggest(locale, dictionaryFacilitator); if (settingsValues.mCorrectionEnabled) { newSuggest.setAutoCorrectionThreshold(settingsValues.mAutoCorrectionThreshold); @@ -658,7 +676,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen .findViewById(android.R.id.extractArea); mKeyPreviewBackingView = view.findViewById(R.id.key_preview_backing); mSuggestionStripView = (SuggestionStripView)view.findViewById(R.id.suggestion_strip_view); - if (mSuggestionStripView != null) { + if (hasSuggestionStripView()) { mSuggestionStripView.setListener(this, view); } if (LatinImeLogger.sVISUALDEBUG) { @@ -738,13 +756,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ResearchLogger.latinIME_onStartInputViewInternal(editorInfo, prefs); } if (InputAttributes.inPrivateImeOptions(null, NO_MICROPHONE_COMPAT, editorInfo)) { - Log.w(TAG, "Deprecated private IME option specified: " - + editorInfo.privateImeOptions); + Log.w(TAG, "Deprecated private IME option specified: " + editorInfo.privateImeOptions); Log.w(TAG, "Use " + getPackageName() + "." + NO_MICROPHONE + " instead"); } if (InputAttributes.inPrivateImeOptions(getPackageName(), FORCE_ASCII, editorInfo)) { - Log.w(TAG, "Deprecated private IME option specified: " - + editorInfo.privateImeOptions); + Log.w(TAG, "Deprecated private IME option specified: " + editorInfo.privateImeOptions); Log.w(TAG, "Use EditorInfo.IME_FLAG_FORCE_ASCII flag instead"); } @@ -777,14 +793,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Note: the following does a round-trip IPC on the main thread: be careful final Locale currentLocale = mSubtypeSwitcher.getCurrentSubtypeLocale(); - final Suggest suggest = mInputLogic.mSuggest; + Suggest suggest = mInputLogic.mSuggest; if (null != suggest && null != currentLocale && !currentLocale.equals(suggest.mLocale)) { initSuggest(); - } - if (mSuggestionStripView != null) { - // This will set the punctuation suggestions if next word suggestion is off; - // otherwise it will clear the suggestion strip. - setNeutralSuggestionStrip(); + suggest = mInputLogic.mSuggest; } // Sometimes, while rotating, for some reason the framework tells the app we are not @@ -809,6 +821,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (isDifferentTextField || !currentSettingsValues.hasSameOrientation(getResources().getConfiguration())) { loadSettings(); + suggest = mInputLogic.mSuggest; } if (isDifferentTextField) { mainKeyboardView.closing(); @@ -834,8 +847,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Space state must be updated before calling updateShiftState switcher.updateShiftState(); } - setSuggestionStripShownInternal( - isSuggestionsStripVisible(), /* needsInputViewShown */ false); + // This will set the punctuation suggestions if next word suggestion is off; + // otherwise it will clear the suggestion strip. + setNeutralSuggestionStripInternal(false /* needsInputViewShown */); mHandler.cancelUpdateSuggestionStrip(); mHandler.cancelDoubleSpacePeriodTimer(); @@ -894,12 +908,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen super.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd, composingSpanStart, composingSpanEnd); if (DEBUG) { - Log.i(TAG, "onUpdateSelection: oss=" + oldSelStart - + ", ose=" + oldSelEnd - + ", nss=" + newSelStart - + ", nse=" + newSelEnd - + ", cs=" + composingSpanStart - + ", ce=" + composingSpanEnd); + Log.i(TAG, "onUpdateSelection: oss=" + oldSelStart + ", ose=" + oldSelEnd + + ", nss=" + newSelStart + ", nse=" + newSelEnd + + ", cs=" + composingSpanStart + ", ce=" + composingSpanEnd); } if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { ResearchLogger.latinIME_onUpdateSelection(oldSelStart, oldSelEnd, @@ -983,7 +994,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } } } - if (!mSettings.getCurrent().isApplicationSpecifiedCompletionsOn()) return; + if (!mSettings.getCurrent().isApplicationSpecifiedCompletionsOn()) { + return; + } if (applicationSpecifiedCompletions == null) { setNeutralSuggestionStrip(); if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { @@ -997,27 +1010,25 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen final ArrayList<SuggestedWords.SuggestedWordInfo> applicationSuggestedWords = SuggestedWords.getFromApplicationSpecifiedCompletions( applicationSpecifiedCompletions); - final SuggestedWords suggestedWords = new SuggestedWords( - applicationSuggestedWords, null /* rawSuggestions */, - false /* typedWordValid */, - false /* willAutoCorrect */, - false /* isObsoleteSuggestions */, - false /* isPrediction */); - // When in fullscreen mode, show completions generated by the application - setSuggestedWords(suggestedWords, true /* shouldShow */); + final SuggestedWords suggestedWords = new SuggestedWords(applicationSuggestedWords, + null /* rawSuggestions */, false /* typedWordValid */, false /* willAutoCorrect */, + false /* isObsoleteSuggestions */, false /* isPrediction */); + // When in fullscreen mode, show completions generated by the application forcibly + setSuggestedWords(suggestedWords, true /* isSuggestionStripVisible */, + true /* needsInputViewShown */); if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { ResearchLogger.latinIME_onDisplayCompletions(applicationSpecifiedCompletions); } } - private void setSuggestionStripShownInternal(final boolean shown, + private void setSuggestionStripShownInternal(final boolean isSuggestionStripVisible, final boolean needsInputViewShown) { // TODO: Modify this if we support suggestions with hard keyboard - if (!onEvaluateInputViewShown() || null == mSuggestionStripView) { + if (!onEvaluateInputViewShown() || !hasSuggestionStripView()) { return; } final boolean inputViewShown = mKeyboardSwitcher.isShowingMainKeyboardOrEmojiPalettes(); - final boolean shouldShowSuggestions = shown + final boolean shouldShowSuggestions = isSuggestionStripVisible && (needsInputViewShown ? inputViewShown : true); if (shouldShowSuggestions) { mSuggestionStripView.setVisibility(View.VISIBLE); @@ -1057,7 +1068,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen public void onComputeInsets(final InputMethodService.Insets outInsets) { super.onComputeInsets(outInsets); final View visibleKeyboardView = mKeyboardSwitcher.getVisibleKeyboardView(); - if (visibleKeyboardView == null || mSuggestionStripView == null) { + if (visibleKeyboardView == null || !hasSuggestionStripView()) { return; } final int adjustedBackingHeight = getAdjustedBackingViewHeight(); @@ -1172,31 +1183,54 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void showImportantNoticeContents() { final Context context = this; - final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { + final OnShowListener onShowListener = new OnShowListener() { @Override - public void onClick(final DialogInterface di, final int position) { - di.dismiss(); + public void onShow(final DialogInterface dialog) { ImportantNoticeUtils.updateLastImportantNoticeVersion(context); - if (position == DialogInterface.BUTTON_POSITIVE) { - setNeutralSuggestionStrip(); - return; - } + onShowImportantNoticeDialog( + ImportantNoticeUtils.getCurrentImportantNoticeVersion(context)); + } + }; + final OnClickListener onClickListener = new OnClickListener() { + @Override + public void onClick(final DialogInterface dialog, final int position) { if (position == DialogInterface.BUTTON_NEGATIVE) { launchSettings(); - return; } } }; - final AlertDialog.Builder builder = - new AlertDialog.Builder(context, AlertDialog.THEME_HOLO_DARK); - builder.setMessage(R.string.important_notice_contents) - .setPositiveButton(android.R.string.ok, listener) - .setNegativeButton(R.string.go_to_settings, listener); - showOptionDialog(builder.create(), true /* cancelable */); + final OnDismissListener onDismissListener = new OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + setNeutralSuggestionStrip(); + } + }; + final String importantNoticeContents = ImportantNoticeUtils.getImportantNoticeContents( + context); + final AlertDialog.Builder builder = new AlertDialog.Builder( + context, AlertDialog.THEME_HOLO_DARK); + builder.setMessage(importantNoticeContents) + .setPositiveButton(android.R.string.ok, null /* listener */) + .setNegativeButton(R.string.go_to_settings, onClickListener); + final AlertDialog importantNoticeDialog = builder.create(); + importantNoticeDialog.setOnShowListener(onShowListener); + importantNoticeDialog.setOnDismissListener(onDismissListener); + showOptionDialog(importantNoticeDialog); + } + + private void onShowImportantNoticeDialog(final int importantNoticeVersion) { + if (importantNoticeVersion == + ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS) { + mSettings.writeUsePersonalizationDictionary(true /* enabled */); + loadSettings(); + initSuggest(); + } } public void displaySettingsDialog() { - if (isShowingOptionDialog()) return; + if (isShowingOptionDialog()) { + return; + } showSubtypeSelectorAndSettings(); } @@ -1256,8 +1290,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen mSubtypeSwitcher.switchToShortcutIME(this); // Still call the *#onCodeInput methods for readability. } - mInputLogic.onCodeInput(codeToSend, keyX, keyY, mSettings.getCurrent(), - mHandler, mKeyboardSwitcher); + mInputLogic.onCodeInput(codeToSend, keyX, keyY, mSettings.getCurrent(), mHandler, + mKeyboardSwitcher); mKeyboardSwitcher.onCodeInput(codePoint); } @@ -1314,27 +1348,28 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Nothing to do so far. } - // TODO: remove this, read this directly from mInputLogic or something in the tests - @UsedForTesting - public boolean isShowingPunctuationList() { - return mInputLogic.isShowingPunctuationList(mSettings.getCurrent()); - } - // TODO[IL]: Define a clear interface for this - public boolean isSuggestionsStripVisible() { - final SettingsValues currentSettings = mSettings.getCurrent(); - if (mSuggestionStripView == null) + public boolean isSuggestionStripVisible() { + if (!hasSuggestionStripView()) { return false; - if (mSuggestionStripView.isShowingAddToDictionaryHint()) + } + if (mSuggestionStripView.isShowingAddToDictionaryHint()) { return true; - if (null == currentSettings) + } + final SettingsValues currentSettings = mSettings.getCurrent(); + if (null == currentSettings) { return false; - if (ImportantNoticeUtils.shouldShowImportantNotice(this, currentSettings.mInputAttributes)) + } + if (ImportantNoticeUtils.shouldShowImportantNotice(this, + currentSettings.mInputAttributes)) { return true; - if (!currentSettings.isSuggestionStripVisible()) + } + if (!currentSettings.isSuggestionStripVisible()) { return false; - if (currentSettings.isApplicationSpecifiedCompletionsOn()) + } + if (currentSettings.isApplicationSpecifiedCompletionsOn()) { return true; + } return currentSettings.isSuggestionsRequested(); } @@ -1350,32 +1385,35 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void dismissAddToDictionaryHint() { - if (null != mSuggestionStripView) { - mSuggestionStripView.dismissAddToDictionaryHint(); + if (!hasSuggestionStripView()) { + return; } + mSuggestionStripView.dismissAddToDictionaryHint(); } // TODO[IL]: Define a clear interface for this - public void setSuggestedWords(final SuggestedWords suggestedWords, final boolean shouldShow) { + public void setSuggestedWords(final SuggestedWords suggestedWords, + final boolean isSuggestionStripVisible, final boolean needsInputViewShown) { mInputLogic.setSuggestedWords(suggestedWords); - if (mSuggestionStripView != null) { - final SettingsValues currentSettings = mSettings.getCurrent(); - final boolean showSuggestions; - if (SuggestedWords.EMPTY == suggestedWords - || suggestedWords.isPunctuationSuggestions() - || !currentSettings.isSuggestionsRequested()) { - showSuggestions = !mSuggestionStripView.maybeShowImportantNoticeTitle( - currentSettings.mInputAttributes); - } else { - showSuggestions = true; - } - if (showSuggestions) { - mSuggestionStripView.setSuggestions(suggestedWords, - SubtypeLocaleUtils.isRtlLanguage(mSubtypeSwitcher.getCurrentSubtype())); - } - mKeyboardSwitcher.onAutoCorrectionStateChanged(suggestedWords.mWillAutoCorrect); - setSuggestionStripShownInternal(shouldShow, true /* needsInputViewShown */); + if (!hasSuggestionStripView()) { + return; + } + final SettingsValues currentSettings = mSettings.getCurrent(); + final boolean showSuggestions; + if (SuggestedWords.EMPTY == suggestedWords + || suggestedWords.isPunctuationSuggestions() + || !currentSettings.isSuggestionsRequested()) { + showSuggestions = !mSuggestionStripView.maybeShowImportantNoticeTitle( + currentSettings.mInputAttributes); + } else { + showSuggestions = true; } + if (showSuggestions) { + mSuggestionStripView.setSuggestions(suggestedWords, + SubtypeLocaleUtils.isRtlLanguage(mSubtypeSwitcher.getCurrentSubtype())); + } + mKeyboardSwitcher.onAutoCorrectionStateChanged(suggestedWords.mWillAutoCorrect); + setSuggestionStripShownInternal(isSuggestionStripVisible, needsInputViewShown); } // TODO[IL]: Move this out of LatinIME. @@ -1414,9 +1452,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } suggest.getSuggestedWords(mInputLogic.mWordComposer, mInputLogic.mWordComposer.getPreviousWordForSuggestion(), - keyboard.getProximityInfo(), - currentSettings.mBlockPotentiallyOffensive, currentSettings.mCorrectionEnabled, - additionalFeaturesOptions, sessionId, sequenceNumber, callback); + keyboard.getProximityInfo(), currentSettings.mBlockPotentiallyOffensive, + currentSettings.mCorrectionEnabled, additionalFeaturesOptions, sessionId, + sequenceNumber, callback); } // TODO[IL]: Move this to InputLogic @@ -1430,7 +1468,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // the "add to dictionary" hint, we need to revert to suggestions - although it is unclear // how we can come here if it's displayed. if (suggestedWords.size() > 1 || typedWord.length() <= 1 - || null == mSuggestionStripView || isShowingAddToDictionaryHint()) { + || !hasSuggestionStripView() || isShowingAddToDictionaryHint()) { return suggestedWords; } else { final SuggestedWords punctuationList = @@ -1440,10 +1478,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions = SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords); return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */, - false /* typedWordValid */, - false /* hasAutoCorrectionCandidate */, - true /* isObsoleteSuggestions */, - false /* isPrediction */); + false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, + true /* isObsoleteSuggestions */, false /* isPrediction */); } } @@ -1463,7 +1499,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen setNeutralSuggestionStrip(); } else { mInputLogic.mWordComposer.setAutoCorrection(autoCorrection); - setSuggestedWords(suggestedWords, isSuggestionsStripVisible()); + setSuggestedWords( + suggestedWords, isSuggestionStripVisible(), true /* needsInputViewShown */); } // Cache the auto-correction in accessibility code so we can speak it if the user // touches a key that will insert it. @@ -1481,7 +1518,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void showAddToDictionaryHint(final String word) { - if (null == mSuggestionStripView) return; + if (!hasSuggestionStripView()) { + return; + } mSuggestionStripView.showAddToDictionaryHint(word); } @@ -1490,13 +1529,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // punctuation suggestions (if it's disabled). @Override public void setNeutralSuggestionStrip() { + setNeutralSuggestionStripInternal(true /* needsInputViewShown */); + } + + private void setNeutralSuggestionStripInternal(final boolean needsInputViewShown) { final SettingsValues currentSettings = mSettings.getCurrent(); - if (currentSettings.mBigramPredictionEnabled) { - setSuggestedWords(SuggestedWords.EMPTY, isSuggestionsStripVisible()); - } else { - setSuggestedWords(currentSettings.mSpacingAndPunctuations.mSuggestPuncList, - isSuggestionsStripVisible()); - } + final SuggestedWords neutralSuggestions = currentSettings.mBigramPredictionEnabled + ? SuggestedWords.EMPTY : currentSettings.mSpacingAndPunctuations.mSuggestPuncList; + setSuggestedWords(neutralSuggestions, isSuggestionStripVisible(), needsInputViewShown); } // TODO: Make this private @@ -1638,7 +1678,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen getString(R.string.language_selection_title), getString(ApplicationUtils.getActivityTitleResId(this, SettingsActivity.class)), }; - final DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { + final OnClickListener listener = new OnClickListener() { @Override public void onClick(DialogInterface di, int position) { di.dismiss(); @@ -1659,18 +1699,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen }; final AlertDialog.Builder builder = new AlertDialog.Builder(this).setItems(items, listener).setTitle(title); - showOptionDialog(builder.create(), true /*cancelable */); + showOptionDialog(builder.create()); } // TODO: Move this method out of {@link LatinIME}. - private void showOptionDialog(final AlertDialog dialog, final boolean cancelable) { + private void showOptionDialog(final AlertDialog dialog) { final IBinder windowToken = mKeyboardSwitcher.getMainKeyboardView().getWindowToken(); if (windowToken == null) { return; } - dialog.setCancelable(cancelable); - dialog.setCanceledOnTouchOutside(cancelable); + dialog.setCancelable(true /* cancelable */); + dialog.setCanceledOnTouchOutside(true /* cancelable */); final Window window = dialog.getWindow(); final WindowManager.LayoutParams lp = window.getAttributes(); @@ -1685,7 +1725,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // TODO: can this be removed somehow without breaking the tests? @UsedForTesting - /* package for test */ SuggestedWords getSuggestedWords() { + /* package for test */ SuggestedWords getSuggestedWordsForTest() { // You may not use this method for anything else than debug return DEBUG ? mInputLogic.mSuggestedWords : null; } diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java index eb1899ca2..ebad9bc0d 100644 --- a/java/src/com/android/inputmethod/latin/RichInputConnection.java +++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java @@ -230,6 +230,9 @@ public final class RichInputConnection { public void finishComposingText() { if (DEBUG_BATCH_NESTING) checkBatchEdit(); if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug(); + // TODO: this is not correct! The cursor is not necessarily after the composing text. + // In the practice right now this is only called when input ends so it will be reset so + // it works, but it's wrong and should be fixed. mCommittedTextBeforeComposingText.append(mComposingText); mComposingText.setLength(0); if (null != mIC) { @@ -244,6 +247,9 @@ public final class RichInputConnection { if (DEBUG_BATCH_NESTING) checkBatchEdit(); if (DEBUG_PREVIOUS_TEXT) checkConsistencyForDebug(); mCommittedTextBeforeComposingText.append(text); + // TODO: the following is exceedingly error-prone. Right now when the cursor is in the + // middle of the composing word mComposingText only holds the part of the composing text + // that is before the cursor, so this actually works, but it's terribly confusing. Fix this. mExpectedSelStart += text.length() - mComposingText.length(); mExpectedSelEnd = mExpectedSelStart; mComposingText.setLength(0); @@ -347,6 +353,9 @@ public final class RichInputConnection { public void deleteSurroundingText(final int beforeLength, final int afterLength) { if (DEBUG_BATCH_NESTING) checkBatchEdit(); + // TODO: the following is incorrect if the cursor is not immediately after the composition. + // Right now we never come here in this case because we reset the composing state before we + // come here in this case, but we need to fix this. final int remainingChars = mComposingText.length() - beforeLength; if (remainingChars >= 0) { mComposingText.setLength(remainingChars); @@ -447,8 +456,12 @@ public final class RichInputConnection { getTextBeforeCursor(Constants.EDITOR_CONTENTS_CACHE_SIZE + (end - start), 0); mCommittedTextBeforeComposingText.setLength(0); if (!TextUtils.isEmpty(textBeforeCursor)) { + // The cursor is not necessarily at the end of the composing text, but we have its + // position in mExpectedSelStart and mExpectedSelEnd. In this case we want the start + // of the text, so we should use mExpectedSelStart. In other words, the composing + // text starts (mExpectedSelStart - start) characters before the end of textBeforeCursor final int indexOfStartOfComposingText = - Math.max(textBeforeCursor.length() - (end - start), 0); + Math.max(textBeforeCursor.length() - (mExpectedSelStart - start), 0); mComposingText.append(textBeforeCursor.subSequence(indexOfStartOfComposingText, textBeforeCursor.length())); mCommittedTextBeforeComposingText.append( @@ -544,6 +557,9 @@ public final class RichInputConnection { final int checkLength = LOOKBACK_CHARACTER_NUM - 1; final String reference = prev.length() <= checkLength ? prev.toString() : prev.subSequence(prev.length() - checkLength, prev.length()).toString(); + // TODO: right now the following works because mComposingText holds the part of the + // composing text that is before the cursor, but this is very confusing. We should + // fix it. final StringBuilder internal = new StringBuilder() .append(mCommittedTextBeforeComposingText).append(mComposingText); if (internal.length() > checkLength) { diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index 9bf9d1f45..3fc2cf8fd 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -198,7 +198,7 @@ public final class InputLogic { final SuggestedWords suggestedWords = mSuggestedWords; final String suggestion = suggestionInfo.mWord; // If this is a punctuation picked from the suggestion strip, pass it to onCodeInput - if (suggestion.length() == 1 && isShowingPunctuationList(settingsValues)) { + if (suggestion.length() == 1 && suggestedWords.isPunctuationSuggestions()) { // Word separators are suggested before the user inputs something. // So, LatinImeLogger logs "" as a user's input. LatinImeLogger.logOnManualSuggestion("", suggestion, index, suggestedWords); @@ -821,7 +821,7 @@ public final class InputLogic { if (maybeDoubleSpacePeriod(settingsValues, handler)) { keyboardSwitcher.updateShiftState(); mSpaceState = SpaceState.DOUBLE; - } else if (!isShowingPunctuationList(settingsValues)) { + } else if (!mSuggestedWords.isPunctuationSuggestions()) { mSpaceState = SpaceState.WEAK; } } @@ -1456,15 +1456,6 @@ public final class InputLogic { } /** - * Find out if the punctuation list is shown in the suggestion strip. - * @return whether the current suggestions are the punctuation list. - */ - // TODO: make this private. It's used through LatinIME for tests. - public boolean isShowingPunctuationList(final SettingsValues settingsValues) { - return settingsValues.mSpacingAndPunctuations.mSuggestPuncList == mSuggestedWords; - } - - /** * Factor in auto-caps and manual caps and compute the current caps mode. * @param settingsValues the current settings values. * @param keyboardShiftMode the current shift mode of the keyboard. See diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver2DictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver2DictDecoder.java index 315bd8e58..71e120c5f 100644 --- a/java/src/com/android/inputmethod/latin/makedict/Ver2DictDecoder.java +++ b/java/src/com/android/inputmethod/latin/makedict/Ver2DictDecoder.java @@ -173,6 +173,9 @@ public class Ver2DictDecoder extends AbstractDictDecoder { @Override public DictionaryHeader readHeader() throws IOException, UnsupportedFormatException { final DictionaryHeader header = mBinaryDictionary.getHeader(); + if (header == null) { + throw new IOException("Cannot read the dictionary header."); + } if (header.mFormatOptions.mVersion != FormatSpec.VERSION2) { throw new UnsupportedFormatException("File header has a wrong version : " + header.mFormatOptions.mVersion); diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java index df64bcec1..5ae2fb6f8 100644 --- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java +++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationHelper.java @@ -93,13 +93,16 @@ public class PersonalizationHelper { } } - public static void removeAllPersonalizedDictionaries(final Context context) { - removeAllDictionaries(context, sLangUserHistoryDictCache, - UserHistoryDictionary.NAME); + public static void removeAllPersonalizationDictionaries(final Context context) { removeAllDictionaries(context, sLangPersonalizationDictCache, PersonalizationDictionary.NAME); } + public static void removeAllUserHistoryDictionaries(final Context context) { + removeAllDictionaries(context, sLangUserHistoryDictCache, + UserHistoryDictionary.NAME); + } + private static <T extends DecayingExpandableBinaryDictionaryBase> void removeAllDictionaries( final Context context, final ConcurrentHashMap<String, SoftReference<T>> dictionaryMap, final String dictNamePrefix) { diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java index b51c765f0..6a1503fed 100644 --- a/java/src/com/android/inputmethod/latin/settings/Settings.java +++ b/java/src/com/android/inputmethod/latin/settings/Settings.java @@ -55,7 +55,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static final String PREF_MISC_SETTINGS = "misc_settings"; public static final String PREF_ADVANCED_SETTINGS = "pref_advanced_settings"; public static final String PREF_KEY_USE_CONTACTS_DICT = "pref_key_use_contacts_dict"; - public static final String PREF_KEY_USE_PERSONALIZED_DICTS = "pref_key_use_personalized_dicts"; + public static final String PREF_USE_PERSONALIZED_DICTS = "pref_use_personalized_dicts"; public static final String PREF_KEY_USE_DOUBLE_SPACE_PERIOD = "pref_key_use_double_space_period"; public static final String PREF_BLOCK_POTENTIALLY_OFFENSIVE = @@ -421,6 +421,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang return mPrefs.getStringSet(PREF_CORPUS_HANDLES_FOR_PERSONALIZATION, emptySet); } + public void writeUsePersonalizationDictionary(final boolean enabled) { + mPrefs.edit().putBoolean(PREF_USE_PERSONALIZED_DICTS, enabled).apply(); + } + public static void writeEmojiRecentKeys(final SharedPreferences prefs, String str) { prefs.edit().putString(PREF_EMOJI_RECENT_KEYS, str).apply(); } diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java index 77968f79a..0f3deeaa9 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java @@ -128,7 +128,7 @@ public final class SettingsValues { Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, false); mShowsLanguageSwitchKey = Settings.readShowsLanguageSwitchKey(prefs); mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true); - mUsePersonalizedDicts = prefs.getBoolean(Settings.PREF_KEY_USE_PERSONALIZED_DICTS, true); + mUsePersonalizedDicts = prefs.getBoolean(Settings.PREF_USE_PERSONALIZED_DICTS, false); mUseDoubleSpacePeriod = prefs.getBoolean(Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, true); mBlockPotentiallyOffensive = Settings.readBlockPotentiallyOffensive(prefs, res); mAutoCorrectEnabled = Settings.readAutoCorrectEnabled(autoCorrectionThresholdRawValue, res); diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java index e77c55069..8ea712835 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripLayoutHelper.java @@ -504,12 +504,13 @@ final class SuggestionStripLayoutHelper { hintView, 1.0f - mCenterSuggestionWeight, ViewGroup.LayoutParams.MATCH_PARENT); } - public void layoutImportantNotice(final View importantNoticeStrip, final int stripWidth) { + public void layoutImportantNotice(final View importantNoticeStrip, final int stripWidth, + final String importantNoticeTitle) { final TextView titleView = (TextView)importantNoticeStrip.findViewById( R.id.important_notice_title); final int width = stripWidth - titleView.getPaddingLeft() - titleView.getPaddingRight(); titleView.setTextColor(mColorAutoCorrect); - final CharSequence importantNoticeTitle = titleView.getText(); + titleView.setText(importantNoticeTitle); titleView.setTextScaleX(1.0f); // Reset textScaleX. final float titleScaleX = getTextScaleX( importantNoticeTitle, width, titleView.getPaint()); diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java index 90b9692c3..2966a8bba 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.support.v4.view.ViewCompat; +import android.text.TextUtils; import android.util.AttributeSet; import android.util.TypedValue; import android.view.GestureDetector; @@ -233,8 +234,15 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick return false; } final int width = getWidth(); - if (width <= 0) return false; - mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, width); + if (width <= 0) { + return false; + } + final String importantNoticeTitle = ImportantNoticeUtils.getImportantNoticeTitle( + getContext()); + if (TextUtils.isEmpty(importantNoticeTitle)) { + return false; + } + mLayoutHelper.layoutImportantNotice(mImportantNoticeStrip, width, importantNoticeTitle); mStripVisibilityGroup.showImportantNoticeStrip(); mImportantNoticeStrip.setOnClickListener(this); return true; @@ -429,9 +437,11 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick } @Override - protected void onSizeChanged(int w, int h, int oldw, int oldh) { + protected void onSizeChanged(final int w, final int h, final int oldw, final int oldh) { // Called by the framework when the size is known. Show the important notice if applicable. // This may be overriden by showing suggestions later, if applicable. - maybeShowImportantNoticeTitle(Settings.getInstance().getCurrent().mInputAttributes); + if (oldw <= 0 && w > 0) { + maybeShowImportantNoticeTitle(Settings.getInstance().getCurrent().mInputAttributes); + } } } diff --git a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java index 32c4950da..2f41ce9ce 100644 --- a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java +++ b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java @@ -61,12 +61,17 @@ public class UserDictionaryList extends PreferenceFragment { if (null == cursor) { // The user dictionary service is not present or disabled. Return null. return null; - } else if (cursor.moveToFirst()) { - final int columnIndex = cursor.getColumnIndex(UserDictionary.Words.LOCALE); - do { - final String locale = cursor.getString(columnIndex); - localeSet.add(null != locale ? locale : ""); - } while (cursor.moveToNext()); + } + try { + if (cursor.moveToFirst()) { + final int columnIndex = cursor.getColumnIndex(UserDictionary.Words.LOCALE); + do { + final String locale = cursor.getString(columnIndex); + localeSet.add(null != locale ? locale : ""); + } while (cursor.moveToNext()); + } + } finally { + cursor.close(); } if (!UserDictionarySettings.IS_SHORTCUT_API_SUPPORTED) { // For ICS, we need to show "For all languages" in case that the keyboard locale diff --git a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java index 7571e87c5..220efb5d3 100644 --- a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java +++ b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java @@ -140,6 +140,8 @@ public class UserDictionarySettings extends ListFragment { } mLocale = locale; + // WARNING: The following cursor is never closed! TODO: don't put that in a member, and + // make sure all cursors are correctly closed. mCursor = createCursor(locale); TextView emptyView = (TextView) getView().findViewById(android.R.id.empty); emptyView.setText(R.string.user_dict_settings_empty_text); diff --git a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java index 50a942382..dd418b8cf 100644 --- a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java @@ -32,6 +32,7 @@ public final class ImportantNoticeUtils { // displayed to users. private static final String PREFERENCE_NAME = "important_notice"; private static final String KEY_IMPORTANT_NOTICE_VERSION = "important_notice_version"; + public static final int VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS = 2; // Copy of the hidden {@link Settings.Secure#USER_SETUP_COMPLETE} settings key. // The value is zero until each multiuser completes system setup wizard. @@ -59,7 +60,7 @@ public final class ImportantNoticeUtils { return context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); } - private static int getCurrentImportantNoticeVersion(final Context context) { + public static int getCurrentImportantNoticeVersion(final Context context) { return context.getResources().getInteger(R.integer.config_important_notice_version); } @@ -83,4 +84,22 @@ public final class ImportantNoticeUtils { .putInt(KEY_IMPORTANT_NOTICE_VERSION, getCurrentImportantNoticeVersion(context)) .apply(); } + + public static String getImportantNoticeTitle(final Context context) { + switch (getCurrentImportantNoticeVersion(context)) { + case VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS: + return context.getString(R.string.important_notice_title); + default: + return null; + } + } + + public static String getImportantNoticeContents(final Context context) { + switch (getCurrentImportantNoticeVersion(context)) { + case VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS: + return context.getString(R.string.important_notice_contents); + default: + return null; + } + } } |