diff options
Diffstat (limited to 'java')
120 files changed, 2164 insertions, 890 deletions
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml index 654157912..210d9a964 100644 --- a/java/AndroidManifest.xml +++ b/java/AndroidManifest.xml @@ -133,7 +133,7 @@ </intent-filter> </receiver> - <receiver android:name=".DictionaryPackInstallBroadcastReceiver" android:exported="false"> + <receiver android:name="DictionaryPackInstallBroadcastReceiver" android:exported="false"> <intent-filter> <action android:name="com.android.inputmethod.dictionarypack.aosp.UNKNOWN_CLIENT" /> </intent-filter> @@ -148,8 +148,7 @@ </receiver> <!-- Broadcast receiver for AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION. --> - <receiver - android:name=".accounts.AccountsChangedReceiver"> + <receiver android:name=".accounts.AccountsChangedReceiver"> <intent-filter> <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" /> </intent-filter> diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml index 539117328..b2dda938c 100644 --- a/java/res/values-af/strings.xml +++ b/java/res/values-af/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google-sleutelbordsinkronisering"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinkronisering is aangeskakel"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sinkroniseer jou persoonlike woordeboek oor toestelle heen"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinkroniseer nou"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Vee Sleutelbord-wolkdata uit"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Vee jou gesinkroniseerde data van Google af uit"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Jou gesinkroniseerde data sal uit die wolk uitgevee word. Seker?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Vee uit"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Kanselleer"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Jou persoonlike woordeboek sal gesinkroniseer en in Google-bedieners gerugsteun word. Die statistiese inligting van woordfrekwensie sal dalk ingesamel word om ons produkte te help verbeter. Die insameling en gebruik van al die inligting sal voldoen aan "<a href="https://www.google.com/policies/privacy">"Google se privaatheidsbeleid"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Voeg \'n Google-rekening by die toestel om hierdie kenmerk te aktiveer"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skakel oor na die ander invoermetodes"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Taal-wisselsleutel dek ook ander invoermetodes"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Taal-wisselsleutel"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Matig"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aggressief"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Baie aggressief"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Stel volgende woord voor"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Gebruik die vorige woord om voorstelle te maak"</string> <string name="gesture_input" msgid="826951152254563827">"Aktiveer gebaar-tik"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Voer \'n woord in deur te gly deur die letters"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Wys gebaarspoor"</string> diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml index 733b42c64..7bc73aa41 100644 --- a/java/res/values-am/strings.xml +++ b/java/res/values-am/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google ቁልፍ ሰሌዳ አመሳስል"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"አመሳስል በርቷል"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"የግል መዝገበ-ቃላትዎን በሁሉም መሣሪያዎች ላይ ያመሳስሉ"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"አሁን አመሳስል"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"የቁልፍ ሰሌዳ ደመና ውሂብ ይሰርዙ"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"ከGoogle የእርስዎን የተመሳሰለ ውሂብ ይሰርዛል"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"የተመሳሰለው ውሂብዎ ከደመናው ይሰረዛል። እርግጠኛ ነዎት?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"ሰርዝ"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"ይቅር"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"የግል መዝገበ-ቃላትዎ ይመሳሰልና ምትኬው በGoogle አገልጋዮች ላይ ይቀመጣል። ምርቶቻችንን ለማሻሻል የቃላት ተደጋጋሚነት ስታቲስቲካዊ መረጃ ሊሰበሰብ ይችላል። የመረጃው አሰባሰብ እና አጠቃቀም በ"<a href="https://www.google.com/policies/privacy">"Google ግላዊነት መመሪያ"</a>" መሠረት የሚካሄድ ነው።"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"ይህን ባህሪ ለማንቃት እባክዎ የGoogle መለያ ወደዚህ መሣሪያ ያክሉ"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ወደ ሌሎች የግቤት ስልቶች ቀይር"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"የቋንቋ መቀየሪያ ቁልፍ ሌሎች የግቤት ስልቶችንም ይሸፍናል"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"የቋንቋ መቀየሪያ ቁልፍ"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"መጠነኛ"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"ኃይለኛ"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"በጣም ኃይለኛ"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"የቀጣይ ቃል አስተያየቶች"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"አስተያየቶች መስጠት ላይ ቀዳሚውን ቃል ተጠቀም"</string> <string name="gesture_input" msgid="826951152254563827">"በምልክት መተየብ ያንቁ"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"በፊደሎች መካከል በማንሸራተት ቃል ያስገቡ"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ምልክት የሚሄድበት መንገድ አሳይ"</string> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index 272539be1..6d18507cd 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"مزامنة لوحة مفاتيح Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"تم تشغيل المزامنة"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"يمكنك مزامنة قاموسك الشخصي على جميع الأجهزة"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"المزامنة الآن"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"حذف بيانات لوحة المفاتيح من السحاب"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"لحذف بياناتك التي تمت مزامنتها من Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"سيتم حذف بياناتك المتزامنة من السحاب. هل تريد ذلك بالتأكيد؟"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"حذف"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"إلغاء"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"ستتم مزامنة قاموسك الشخصي والاحتفاظ بنسخة احتياطية منه على خوادم Google، وقد يتم جمع المعلومات الإحصائية لتكرار الكلمات للمساعدة في تحسين منتجاتنا هذا وسيتوافق جمع كل المعلومات واستخدامها مع "<a href="https://www.google.com/policies/privacy">"سياسة خصوصية Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"الرجاء إضافة حساب Google إلى هذا الجهاز لتمكين هذه الميزة."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"التبديل إلى أسلوب إدخال آخر"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"يغطي مفتاح تبديل اللغات أساليب الإدخال الأخرى أيضًا"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"مفتاح تبديل اللغة"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"معتدل"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"صارم"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"شديد الصرامة"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"اقتراحات الكلمات التالية"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"استخدام الكلمة السابقة في تقديم الاقتراحات"</string> <string name="gesture_input" msgid="826951152254563827">"تمكين الكتابة بالإيماءة"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"إدخال كلمة من خلال التمرير على الأحرف"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"عرض مسار الإيماءة"</string> diff --git a/java/res/values-az-rAZ/strings.xml b/java/res/values-az-rAZ/strings.xml index f2d7adce2..4a2b0a309 100644 --- a/java/res/values-az-rAZ/strings.xml +++ b/java/res/values-az-rAZ/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google Klaviatura Sinxronlaşması"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinxronlaşdırma yandırılıb"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Cihazlarda şəxsi lüğətinizi sinxronlaşdırın"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"İndi sinxronizə edin"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Klaviatura Bulud verilənləri sil"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google\'dan olan sinx datanızı siləcək."</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Sinxronlaşdırılmış verilənləriniz buluddan silinəcək. Əminsiniz?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Silin"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Ləğv et"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Şəxsi lüğətiniz sinxronlaşdırılacaq və Google serverlərinə ehtiyat nüsxəsi çıxarılacaq. Söz tezliyinin statistik məlumatı məhsullarımızı təkmilləşdirməyə kömək üçün toplana bilər. Bütün məlumatın toplanması və istifadəsi "<a href="https://www.google.com/policies/privacy">"Google Məxfilik Siyasətinə"</a>" uyğun olmalıdır."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Bu funksiyanı aktivləşdirmək üçün cihaza Google hesabı əlavə edin"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Digər daxiletmə metodlarına keçin"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Dil keçid düyməsi başqa daxiletmə metodlarını da əhatə edir"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Dil keçidi düyməsi"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Orta"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aqressiv"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Çox aqressiv"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Növbəti-söz təklifləri"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Təkliflər edilməsində əvvəlki sözdən istifadə et"</string> <string name="gesture_input" msgid="826951152254563827">"Jestlərlə yazmağı aktiv et"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Hərflər üzərində sürüşdürərək söz daxil edin"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Jest izini göstər"</string> diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index b1b178634..26c828bab 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Клавиатура на Google: Синхрон."</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Синхронизирането е включено"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Синхронизиране на личния ви речник на устройствата"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Синхронизиране сега"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Данни за клавиатура в облака: Изтр."</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Изтрива синхронизираните ви данни от Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Синхрон. ви данни ще бъдат изтрити от облака. Сигурни ли сте?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Изтриване"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Отказ"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Личният ви речник ще бъде синхронизиран и за него ще бъде създадено резервно копие на сървърите на Google. Статистическата информация за честотата на използване на думите може да се събира с цел подобряване на продуктите ни. Събирането и ползването на всички данни ще бъде съгласно "<a href="https://www.google.com/policies/privacy">"Декларацията ни за поверителност"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"За да активирате функцията, добавете профил в Google към у-вото"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Други методи за въвеждане"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавишът за превкл. на езика обхваща и други методи за въвеждане"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Клавиш за превкл. на езика"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умерено"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Агресивно"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Много агресивно"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Предложения за следващата дума"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Използване на предишната дума при даване на предложения"</string> <string name="gesture_input" msgid="826951152254563827">"Активиране на въвеждането чрез жест"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Въвеждане на дума чрез плъзгане на пръст през буквите"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Следа на жестовете: Показване"</string> diff --git a/java/res/values-bn-rBD/strings.xml b/java/res/values-bn-rBD/strings.xml index 2d2beb994..167dac339 100644 --- a/java/res/values-bn-rBD/strings.xml +++ b/java/res/values-bn-rBD/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google কীবোর্ড সিঙ্ক"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"সিঙ্ক চালু করা হয়েছে"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ডিভাইস জুড়ে আপনার ব্যক্তিগত অভিধান সিঙ্ক করুন"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"এখন সিঙ্ক করুন"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"কীবোর্ড ক্লাউড ডেটা মুছুন"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google থেকে আপনার সিঙ্ক করা ডেটা মুছে ফেলে"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"আপনার সিঙ্ক করা ডেটা ক্লাউড থেকে মুছে ফেলা হবে৷ আপনি কি নিশ্চিত?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"মুছুন"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"বাতিল"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"আপনার ব্যক্তিগত অভিধান Google সার্ভারগুলিতে সিঙ্ক এবং ব্যাকআপ নেওয়া হবে৷ শব্দ ফ্রিকোয়েন্সির পরিসংখ্যানগত তথ্য আমাদের পণ্য উন্নতিতে সহায়তার জন্য সংগ্রহ করা হতে পারে৷ এই সংগ্রহ এবং সমস্ত তথ্যের ব্যবহার "<a href="https://www.google.com/policies/privacy">"Google এর গোপনীয়তা নীতি"</a>"-র সাথে সঙ্গতিশীল হবে৷"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"এই বৈশিষ্ট্যটি সক্ষম করার জন্য অনুগ্রহ করে এই ডিভাইসে একটি Google অ্যাকাউন্ট যোগ করুন"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"অন্য ইনপুট পদ্ধতিতে স্যুইচ করুন"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ভাষা স্যুইচ কীতে অন্যান্য ইনপুট পদ্ধতি পাওয়া যায়"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"ভাষা স্যুইচ কী"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"মাঝারি"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"আক্রমণাত্মক"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"খুব আক্রমণাত্মক"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"পরবর্তী-শব্দের জন্য পরামর্শগুলি"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"পরামর্শ দিতে পূর্ববর্তী শব্দ ব্যবহার করুন"</string> <string name="gesture_input" msgid="826951152254563827">"অঙ্গভঙ্গির মাধ্যমে লেখা সক্ষম করুন"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"অক্ষরগুলোর মাঝে স্লাইড করে একটি শব্দ ইনপুট করুন"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"অঙ্গভঙ্গির ট্রেল দেখান"</string> diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml index 15de8552c..86e029d67 100644 --- a/java/res/values-ca/strings.xml +++ b/java/res/values-ca/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronitz. del Teclat de Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"La sincronització està activada"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincronitza el diccionari personal als dispositius"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronitza ara"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Suprimeix dades de núvol de tecl."</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Suprimeix les dades sincronitzades de Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Les teves dades sincronitzades se suprimiran del núvol. Vols continuar?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Suprimeix"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancel·la"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"El teu diccionari personal se sincronitzarà i se\'n farà una còpia de seguretat als servidors de Google. És possible que es recopili informació estadística sobre la freqüència de les paraules per poder millorar els nostres productes. La recopilació i l\'ús de tota la informació complirà la "<a href="https://www.google.com/policies/privacy">"Política de privadesa de Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Afegeix un compte de Google al dispositiu per activar la funció"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altres mètodes d\'introducció"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de canvi d\'idioma serveix també per a altres mètodes d\'entrada"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de canvi d\'idioma"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderada"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agressiu"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Molt agressiu"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suggeriments de paraula següent"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Utilitza la paraula anterior a l\'hora de fer suggeriments"</string> <string name="gesture_input" msgid="826951152254563827">"Activa l\'escriptura gestual"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Escriu una paraula fent lliscar el dit per les lletres"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostra el recorregut del gest"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index c350cfcc0..b05ea0065 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synchronizace Klávesnice Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synchronizace je zapnutá"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synchronizovat váš osobní slovník mezi zařízeními"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synchronizovat"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Smazat data Klávesnice z cloudu"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Smaže z Googlu vaše synchronizovaná data"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Synchronizovaná data budou z cloudu smazána. Chcete pokračovat?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Smazat"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Zrušit"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Váš osobní slovník bude synchronizován a zálohován na servery Google. Za účelem vylepšení našich služeb mohou být shromažďovány statistické informace o četnosti slov. Shromažďování a využití všech informací bude probíhat v souladu se "<a href="https://www.google.com/policies/privacy">"zásadami ochrany soukromí společnosti Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Za účelem aktivace této funkce přidejte do zařízení účet Google."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Přepínat metody zadávání"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Klávesa pro přepínání jazyka ovládá i další metody zadávání"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Klávesa přepínání jazyka"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mírné"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresivní"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Velmi agresivní"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Návrhy dalšího slova"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Návrhy na základě předchozího slova"</string> <string name="gesture_input" msgid="826951152254563827">"Aktivovat psaní gesty"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Zadávání slov přejetím po písmenech"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Zobrazovat stopu gesta"</string> diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml index 75eb255cf..7a85b80f7 100644 --- a/java/res/values-da/strings.xml +++ b/java/res/values-da/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synkronisering af Google-tastatur"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synkronisering er slået til"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synkroniser din personlige ordbog på alle enheder"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synkroniser nu"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Slet tastaturdata fra skyen"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Sletter dine synkroniserede data fra Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Dine synkroniserede data slettes fra skyen. Er du sikker?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Slet"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Annuller"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Din personlige ordbog synkroniseres og sikkerhedskopieres til Googles servere. De statistiske oplysninger om ordfrekvens indsamles muligvis med henblik på at forbedre vores produkter. Indsamlingen og brugen af alle oplysninger sker i overensstemmelse med "<a href="https://www.google.com/policies/privacy">"Googles privatlivspolitik"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Føj en Google-konto til enheden for at aktivere denne funktion"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skift inputmetode"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasten til sprogskift gælder også for andre inputmetoder"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Knap til sprogskift"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderat"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Middel"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Maksimal"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Forslag til næste ord"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Brug det forrige ord til at give forslag"</string> <string name="gesture_input" msgid="826951152254563827">"Aktivér glidende indtastning"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Skriv et ord ved at trække fingeren rundt mellem bogstaverne"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Vis glidende trykspor"</string> diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml index 093c075bb..f15c6ebef 100644 --- a/java/res/values-de/strings.xml +++ b/java/res/values-de/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google-Tastatur-Synchronisierung"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Die Synchronisierung ist aktiviert."</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Persönliches Wörterbuch geräteübergreifend synchronisieren"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Jetzt synchronisieren"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Cloud-Daten für Tastatur löschen"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Löscht Ihre synchronisierten Daten aus Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Die synchronisierten Daten werden aus der Cloud gelöscht. Sicher?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Löschen"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Abbrechen"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Ihr persönliches Wörterbuch wird mit den Google-Servern synchronisiert und auf diesen Servern gesichert. Zur Verbesserung unserer Produkte werden eventuell statistische Daten zur Worthäufigkeit erfasst. Die Erfassung und Nutzung sämtlicher Daten erfolgt gemäß der "<a href="https://www.google.com/policies/privacy">"Datenschutzerklärung von Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Zur Aktivierung dieser Funktion Google-Konto zu Gerät hinzufügen"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Eingabemethoden wechseln"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Sprachwechseltaste umfasst auch andere Eingabemethoden."</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Sprachwechsel"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mäßig"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Stark"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Sehr stark"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Vorschläge für nächstes Wort"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Vorschläge anhand des vorherigen Wortes machen"</string> <string name="gesture_input" msgid="826951152254563827">"Bewegungseingabe aktivieren"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Durch Bewegen der Finger über die Buchstaben ein Wort eingeben"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Spur der Bewegung anzeigen"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index ffb002119..02560d48c 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Συγχρονισμός Πληκτρολογίου Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Ο συγχρονισμός είναι ενεργοποιημένος"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Συγχρονισμός του προσωπικού λεξικού σας σε όλες τις συσκευές"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Συγχρονισμός τώρα"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Διαγραφή δεδομ. πληκτρ. από Cloud"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Διαγράφει τα συγχρονισμένα δεδομένα σας από το Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Διαγραφή συγχρονισμένων δεδομένων από το cloud. Είστε βέβαιοι;"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Διαγραφή"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Ακύρωση"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Θα γίνει συγχρονισμός και δημιουργία αντιγράφων ασφαλείας του προσωπικού σας λεξικού στους διακομιστές της Google. Ενδέχεται να γίνεται συλλογή στατιστικών στοιχείων σχετικά με τη συχνότητα των λέξεων για τη βελτίωση των προϊόντων μας. Η συλλογή και χρήση όλων των πληροφοριών θα συμμορφώνεται με την "<a href="https://www.google.com/policies/privacy">"Πολιτική Απορρήτου της Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Προσθέσετε Λογαριασμό Google για να ενεργοποιήσετε τη λειτουργία"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Άλλη μέθοδος εισόδου"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Το κλειδί αλλαγής γλώσσας καλύπτει και άλλες μεθόδους εισόδου"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Πλήκτρο εναλλαγής γλώσσας"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Μέτρια"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Υψηλή λεπτομέρεια"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Πολύ υψηλή λεπτομέρεια"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Προτάσεις επόμενων λέξεων"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Χρήση της προηγούμενης λέξης για τη δημιουργία προτάσεων"</string> <string name="gesture_input" msgid="826951152254563827">"Ενεργ. πληκτρολ. με κινήσεις"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Εισαγάγετε μια λέξη με ολίσθηση μεταξύ των γραμμάτων"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Εμφάνιση διαδρομής χειρονομίας"</string> diff --git a/java/res/values-en-rAU/strings-action-keys.xml b/java/res/values-en-rAU/strings-action-keys.xml new file mode 100644 index 000000000..e401cae2a --- /dev/null +++ b/java/res/values-en-rAU/strings-action-keys.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2013, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="label_go_key" msgid="4033615332628671065">"Go"</string> + <string name="label_next_key" msgid="5586407279258592635">"Next"</string> + <string name="label_previous_key" msgid="1421141755779895275">"Prev"</string> + <string name="label_done_key" msgid="7564866296502630852">"Done"</string> + <string name="label_send_key" msgid="482252074224462163">"Send"</string> + <string name="label_search_key" msgid="7965186050435796642">"Search"</string> + <string name="label_pause_key" msgid="2225922926459730642">"Pause"</string> + <string name="label_wait_key" msgid="5891247853595466039">"Wait"</string> +</resources> diff --git a/java/res/values-en-rAU/strings-appname.xml b/java/res/values-en-rAU/strings-appname.xml new file mode 100644 index 000000000..5ad5eae66 --- /dev/null +++ b/java/res/values-en-rAU/strings-appname.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2013, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="english_ime_name" msgid="5940510615957428904">"Android Keyboard (AOSP)"</string> + <string name="spell_checker_service_name" msgid="1254221805440242662">"Android Spell Checker (AOSP)"</string> + <string name="english_ime_settings" msgid="5760361067176802794">"Android Keyboard Settings (AOSP)"</string> + <string name="android_spell_checker_settings" msgid="6123949487832861885">"Android Spell Checker Settings (AOSP)"</string> +</resources> diff --git a/java/res/values-en-rAU/strings-config-important-notice.xml b/java/res/values-en-rAU/strings-config-important-notice.xml new file mode 100644 index 000000000..80ddd3e4b --- /dev/null +++ b/java/res/values-en-rAU/strings-config-important-notice.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="use_personalized_dicts_summary" msgid="590432261305469627">"Learn from your communications and typed data to improve suggestions"</string> +</resources> diff --git a/java/res/values-en-rAU/strings-emoji-descriptions.xml b/java/res/values-en-rAU/strings-emoji-descriptions.xml new file mode 100644 index 000000000..2ac73fcbb --- /dev/null +++ b/java/res/values-en-rAU/strings-emoji-descriptions.xml @@ -0,0 +1,851 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<!-- + These Emoji symbols are unsupported by TTS. + TODO: Remove this file when TTS/TalkBack support these Emoji symbols. + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="spoken_emoji_00A9" msgid="2859822817116803638">"Copyright sign"</string> + <string name="spoken_emoji_00AE" msgid="7708335454134589027">"Registered sign"</string> + <string name="spoken_emoji_203C" msgid="153340916701508663">"Double exclamation mark"</string> + <string name="spoken_emoji_2049" msgid="4877256448299555371">"Exclamation question mark"</string> + <string name="spoken_emoji_2122" msgid="9188440722954720429">"Trade mark sign"</string> + <string name="spoken_emoji_2139" msgid="9114342638917304327">"Information source"</string> + <string name="spoken_emoji_2194" msgid="8055202727034946680">"Left right arrow"</string> + <string name="spoken_emoji_2195" msgid="8028122253301087407">"Up down arrow"</string> + <string name="spoken_emoji_2196" msgid="4019164898967854363">"North west arrow"</string> + <string name="spoken_emoji_2197" msgid="4255723717709017801">"North east arrow"</string> + <string name="spoken_emoji_2198" msgid="1452063451313622090">"South east arrow"</string> + <string name="spoken_emoji_2199" msgid="6942722693368807849">"South west arrow"</string> + <string name="spoken_emoji_21A9" msgid="5204750172335111188">"Leftwards arrow with hook"</string> + <string name="spoken_emoji_21AA" msgid="3950259884359247006">"Rightwards arrow with hook"</string> + <string name="spoken_emoji_231A" msgid="6751448803233874993">"Watch"</string> + <string name="spoken_emoji_231B" msgid="5956428809948426182">"Hourglass"</string> + <string name="spoken_emoji_23E9" msgid="4022497733535162237">"Black right-pointing double triangle"</string> + <string name="spoken_emoji_23EA" msgid="2251396938087774944">"Black left-pointing double triangle"</string> + <string name="spoken_emoji_23EB" msgid="3746885195641491865">"Black up-pointing double triangle"</string> + <string name="spoken_emoji_23EC" msgid="7852372752901163416">"Black down-pointing double triangle"</string> + <string name="spoken_emoji_23F0" msgid="8474219588750627870">"Alarm clock"</string> + <string name="spoken_emoji_23F3" msgid="166900119581024371">"Hourglass with flowing sand"</string> + <string name="spoken_emoji_24C2" msgid="3948348737566038470">"Circled latin capital letter m"</string> + <string name="spoken_emoji_25AA" msgid="7865181015100227349">"Black small square"</string> + <string name="spoken_emoji_25AB" msgid="6446532820937381457">"White small square"</string> + <string name="spoken_emoji_25B6" msgid="2423897708496040947">"Black right-pointing triangle"</string> + <string name="spoken_emoji_25C0" msgid="3595083440074484934">"Black left-pointing triangle"</string> + <string name="spoken_emoji_25FB" msgid="4838691986881215419">"White medium square"</string> + <string name="spoken_emoji_25FC" msgid="7008859564991191050">"Black medium square"</string> + <string name="spoken_emoji_25FD" msgid="7673439755069217479">"White medium small square"</string> + <string name="spoken_emoji_25FE" msgid="6782214109919768923">"Black medium small square"</string> + <string name="spoken_emoji_2600" msgid="2272722634618990413">"Black sun with rays"</string> + <string name="spoken_emoji_2601" msgid="6205136889311537150">"Cloud"</string> + <string name="spoken_emoji_260E" msgid="8670395193046424238">"Black telephone"</string> + <string name="spoken_emoji_2611" msgid="4530550203347054611">"Ballot box with tick"</string> + <string name="spoken_emoji_2614" msgid="1612791247861229500">"Umbrella with rain drops"</string> + <string name="spoken_emoji_2615" msgid="3320562382424018588">"Hot beverage"</string> + <string name="spoken_emoji_261D" msgid="4690554173549768467">"White up pointing index"</string> + <string name="spoken_emoji_263A" msgid="3170094381521989300">"White smiling face"</string> + <string name="spoken_emoji_2648" msgid="4621241062667020673">"Aries"</string> + <string name="spoken_emoji_2649" msgid="7694461245947059086">"Taurus"</string> + <string name="spoken_emoji_264A" msgid="1258074605878705030">"Gemini"</string> + <string name="spoken_emoji_264B" msgid="4409219914377810956">"Cancer"</string> + <string name="spoken_emoji_264C" msgid="6520255367817054163">"Leo"</string> + <string name="spoken_emoji_264D" msgid="1504758945499854018">"Virgo"</string> + <string name="spoken_emoji_264E" msgid="2354847104530633519">"Libra"</string> + <string name="spoken_emoji_264F" msgid="5822933280406416112">"Scorpio"</string> + <string name="spoken_emoji_2650" msgid="4832481156714796163">"Sagittarius"</string> + <string name="spoken_emoji_2651" msgid="840953134601595090">"Capricorn"</string> + <string name="spoken_emoji_2652" msgid="3586925968718775281">"Aquarius"</string> + <string name="spoken_emoji_2653" msgid="8420547731496254492">"Pisces"</string> + <string name="spoken_emoji_2660" msgid="4541170554542412536">"Black spade suit"</string> + <string name="spoken_emoji_2663" msgid="3669352721942285724">"Black club suit"</string> + <string name="spoken_emoji_2665" msgid="6347941599683765843">"Black heart suit"</string> + <string name="spoken_emoji_2666" msgid="8296769213401115999">"Black diamond suit"</string> + <string name="spoken_emoji_2668" msgid="7063148281053820386">"Hot springs"</string> + <string name="spoken_emoji_267B" msgid="21716857176812762">"Black universal recycling symbol"</string> + <string name="spoken_emoji_267F" msgid="8833496533226475443">"Wheelchair symbol"</string> + <string name="spoken_emoji_2693" msgid="7443148847598433088">"Anchor"</string> + <string name="spoken_emoji_26A0" msgid="6272635532992727510">"Warning sign"</string> + <string name="spoken_emoji_26A1" msgid="5604749644693339145">"High voltage sign"</string> + <string name="spoken_emoji_26AA" msgid="8005748091690377153">"Medium white circle"</string> + <string name="spoken_emoji_26AB" msgid="1655910278422753244">"Medium black circle"</string> + <string name="spoken_emoji_26BD" msgid="1545218197938889737">"Football"</string> + <string name="spoken_emoji_26BE" msgid="8959760533076498209">"Baseball"</string> + <string name="spoken_emoji_26C4" msgid="3045791757044255626">"Snowman without snow"</string> + <string name="spoken_emoji_26C5" msgid="5580129409712578639">"Sun behind cloud"</string> + <string name="spoken_emoji_26CE" msgid="8963656417276062998">"Ophiuchus"</string> + <string name="spoken_emoji_26D4" msgid="2231451988209604130">"No entry"</string> + <string name="spoken_emoji_26EA" msgid="7513319636103804907">"Church"</string> + <string name="spoken_emoji_26F2" msgid="7134115206158891037">"Fountain"</string> + <string name="spoken_emoji_26F3" msgid="4912302210162075465">"Flag in hole"</string> + <string name="spoken_emoji_26F5" msgid="4766328116769075217">"Sailing boat"</string> + <string name="spoken_emoji_26FA" msgid="5888017494809199037">"Tent"</string> + <string name="spoken_emoji_26FD" msgid="2417060622927453534">"Fuel pump"</string> + <string name="spoken_emoji_2702" msgid="4005741160717451912">"Black scissors"</string> + <string name="spoken_emoji_2705" msgid="164605766946697759">"White heavy tick"</string> + <string name="spoken_emoji_2708" msgid="7153840886849268988">"Aeroplane"</string> + <string name="spoken_emoji_2709" msgid="2217319160724311369">"Envelope"</string> + <string name="spoken_emoji_270A" msgid="508347232762319473">"Raised fist"</string> + <string name="spoken_emoji_270B" msgid="6640562128327753423">"Raised hand"</string> + <string name="spoken_emoji_270C" msgid="1344288035704944581">"Victory hand"</string> + <string name="spoken_emoji_270F" msgid="6108251586067318718">"Pencil"</string> + <string name="spoken_emoji_2712" msgid="6320544535087710482">"Black nib"</string> + <string name="spoken_emoji_2714" msgid="1968242800064001654">"Heavy tick"</string> + <string name="spoken_emoji_2716" msgid="511941294762977228">"Heavy multiplication x"</string> + <string name="spoken_emoji_2728" msgid="5650330815808691881">"Sparkles"</string> + <string name="spoken_emoji_2733" msgid="8915809595141157327">"Eight spoked asterisk"</string> + <string name="spoken_emoji_2734" msgid="4846583547980754332">"Eight pointed black star"</string> + <string name="spoken_emoji_2744" msgid="4350636647760161042">"Snowflake"</string> + <string name="spoken_emoji_2747" msgid="3718282973916474455">"Sparkle"</string> + <string name="spoken_emoji_274C" msgid="2752145886733295314">"Cross mark"</string> + <string name="spoken_emoji_274E" msgid="4262918689871098338">"Negative squared cross mark"</string> + <string name="spoken_emoji_2753" msgid="6935897159942119808">"Black question mark ornament"</string> + <string name="spoken_emoji_2754" msgid="7277504915105532954">"White question mark ornament"</string> + <string name="spoken_emoji_2755" msgid="6853076969826960210">"White exclamation mark ornament"</string> + <string name="spoken_emoji_2757" msgid="3707907828776912174">"Heavy exclamation mark symbol"</string> + <string name="spoken_emoji_2764" msgid="4214257843609432167">"Heavy black heart"</string> + <string name="spoken_emoji_2795" msgid="6563954833786162168">"Heavy plus sign"</string> + <string name="spoken_emoji_2796" msgid="5990926508250772777">"Heavy minus sign"</string> + <string name="spoken_emoji_2797" msgid="24694184172879174">"Heavy division sign"</string> + <string name="spoken_emoji_27A1" msgid="3513434778263100580">"Black rightwards arrow"</string> + <string name="spoken_emoji_27B0" msgid="203395646864662198">"Curly loop"</string> + <string name="spoken_emoji_27BF" msgid="4940514642375640510">"Double curly loop"</string> + <string name="spoken_emoji_2934" msgid="9062130477982973457">"Arrow pointing rightwards then curving upwards"</string> + <string name="spoken_emoji_2935" msgid="6198710960720232074">"Arrow pointing rightwards then curving downwards"</string> + <string name="spoken_emoji_2B05" msgid="4813405635410707690">"Leftwards black arrow"</string> + <string name="spoken_emoji_2B06" msgid="1223172079106250748">"Upwards black arrow"</string> + <string name="spoken_emoji_2B07" msgid="1599124424746596150">"Downwards black arrow"</string> + <string name="spoken_emoji_2B1B" msgid="3461247311988501626">"Black large square"</string> + <string name="spoken_emoji_2B1C" msgid="5793146430145248915">"White large square"</string> + <string name="spoken_emoji_2B50" msgid="3850845519526950524">"White medium star"</string> + <string name="spoken_emoji_2B55" msgid="9137882158811541824">"Heavy large circle"</string> + <string name="spoken_emoji_3030" msgid="4609172241893565639">"Wavy dash"</string> + <string name="spoken_emoji_303D" msgid="2545833934975907505">"Part alternation mark"</string> + <string name="spoken_emoji_3297" msgid="928912923628973800">"Circled ideograph congratulation"</string> + <string name="spoken_emoji_3299" msgid="3930347573693668426">"Circled ideograph secret"</string> + <string name="spoken_emoji_1F004" msgid="1705216181345894600">"Mahjong tile red dragon"</string> + <string name="spoken_emoji_1F0CF" msgid="7601493592085987866">"Playing card black joker"</string> + <string name="spoken_emoji_1F170" msgid="3817698686602826773">"Blood type A"</string> + <string name="spoken_emoji_1F171" msgid="3684218589626650242">"Blood type B"</string> + <string name="spoken_emoji_1F17E" msgid="2978809190364779029">"Blood type O"</string> + <string name="spoken_emoji_1F17F" msgid="463634348668462040">"Car park"</string> + <string name="spoken_emoji_1F18E" msgid="1650705325221496768">"Blood type AB"</string> + <string name="spoken_emoji_1F191" msgid="5386969264431429221">"Squared CL"</string> + <string name="spoken_emoji_1F192" msgid="8324226436829162496">"Squared cool"</string> + <string name="spoken_emoji_1F193" msgid="4731758603321515364">"Squared free"</string> + <string name="spoken_emoji_1F194" msgid="4903128609556175887">"Squared ID"</string> + <string name="spoken_emoji_1F195" msgid="1433142500411060924">"Squared new"</string> + <string name="spoken_emoji_1F196" msgid="8825160701159634202">"Squared N G"</string> + <string name="spoken_emoji_1F197" msgid="7841079241554176535">"Squared OK"</string> + <string name="spoken_emoji_1F198" msgid="7020298909426960622">"Squared SOS"</string> + <string name="spoken_emoji_1F199" msgid="5971252667136235630">"Squared up with exclamation mark"</string> + <string name="spoken_emoji_1F19A" msgid="4557270135899843959">"Squared vs"</string> + <string name="spoken_emoji_1F201" msgid="7000490044681139002">"Squared katakana here"</string> + <string name="spoken_emoji_1F202" msgid="8560906958695043947">"Squared katakana service"</string> + <string name="spoken_emoji_1F21A" msgid="1496435317324514033">"Squared ideograph charge-free"</string> + <string name="spoken_emoji_1F22F" msgid="609797148862445402">"Squared ideograph reserved-seat"</string> + <string name="spoken_emoji_1F232" msgid="8125716331632035820">"Squared ideograph prohibitation"</string> + <string name="spoken_emoji_1F233" msgid="8749401090457355028">"Squared ideograph vacancy"</string> + <string name="spoken_emoji_1F234" msgid="3546951604285970768">"Squared ideograph acceptance"</string> + <string name="spoken_emoji_1F235" msgid="5320186982841793711">"Squared ideograph full occupancy"</string> + <string name="spoken_emoji_1F236" msgid="879755752069393034">"Squared ideograph paid"</string> + <string name="spoken_emoji_1F237" msgid="6741807001205851437">"Squared ideograph monthly"</string> + <string name="spoken_emoji_1F238" msgid="5504414186438196912">"Squared ideograph application"</string> + <string name="spoken_emoji_1F239" msgid="1634067311597618959">"Squared ideograph discount"</string> + <string name="spoken_emoji_1F23A" msgid="3107862957630169536">"Squared ideograph in business"</string> + <string name="spoken_emoji_1F250" msgid="6586943922806727907">"Circled ideograph advantage"</string> + <string name="spoken_emoji_1F251" msgid="9099032855993346948">"Circled ideograph accept"</string> + <string name="spoken_emoji_1F300" msgid="4720098285295840383">"Cyclone"</string> + <string name="spoken_emoji_1F301" msgid="3601962477653752974">"Foggy"</string> + <string name="spoken_emoji_1F302" msgid="3404357123421753593">"Closed umbrella"</string> + <string name="spoken_emoji_1F303" msgid="3899301321538188206">"Night with stars"</string> + <string name="spoken_emoji_1F304" msgid="2767148930689050040">"Sunrise over mountains"</string> + <string name="spoken_emoji_1F305" msgid="9165812924292061196">"Sunrise"</string> + <string name="spoken_emoji_1F306" msgid="5889294736109193104">"Cityscape at dusk"</string> + <string name="spoken_emoji_1F307" msgid="2714290867291163713">"Sunset over buildings"</string> + <string name="spoken_emoji_1F308" msgid="688704703985173377">"Rainbow"</string> + <string name="spoken_emoji_1F309" msgid="6217981957992313528">"Bridge at night"</string> + <string name="spoken_emoji_1F30A" msgid="4329309263152110893">"Water wave"</string> + <string name="spoken_emoji_1F30B" msgid="5729430693700923112">"Volcano"</string> + <string name="spoken_emoji_1F30C" msgid="2961230863217543082">"Milky way"</string> + <string name="spoken_emoji_1F30D" msgid="1113905673331547953">"Earth globe Europe-Africa"</string> + <string name="spoken_emoji_1F30E" msgid="5278512600749223671">"Earth globe Americas"</string> + <string name="spoken_emoji_1F30F" msgid="5718144880978707493">"Earth globe Asia-Australia"</string> + <string name="spoken_emoji_1F310" msgid="2959618582975247601">"Globe with meridians"</string> + <string name="spoken_emoji_1F311" msgid="623906380914895542">"New moon symbol"</string> + <string name="spoken_emoji_1F312" msgid="4458575672576125401">"Waxing crescent moon symbol"</string> + <string name="spoken_emoji_1F313" msgid="7599181787989497294">"First quarter moon symbol"</string> + <string name="spoken_emoji_1F314" msgid="4898293184964365413">"Waxing gibbous moon symbol"</string> + <string name="spoken_emoji_1F315" msgid="3218117051779496309">"Full moon symbol"</string> + <string name="spoken_emoji_1F316" msgid="2061317145777689569">"Waning gibbous moon symbol"</string> + <string name="spoken_emoji_1F317" msgid="2721090687319539049">"Last quarter moon symbol"</string> + <string name="spoken_emoji_1F318" msgid="3814091755648887570">"Waning crescent moon symbol"</string> + <string name="spoken_emoji_1F319" msgid="4074299824890459465">"Crescent moon"</string> + <string name="spoken_emoji_1F31A" msgid="3092285278116977103">"New moon with face"</string> + <string name="spoken_emoji_1F31B" msgid="2658562138386927881">"First quarter moon with face"</string> + <string name="spoken_emoji_1F31C" msgid="7914768515547867384">"Last quarter moon with face"</string> + <string name="spoken_emoji_1F31D" msgid="1925730459848297182">"Full moon with face"</string> + <string name="spoken_emoji_1F31E" msgid="8022112382524084418">"Sun with face"</string> + <string name="spoken_emoji_1F31F" msgid="1051661214137766369">"Glowing star"</string> + <string name="spoken_emoji_1F320" msgid="5450591979068216115">"Shooting star"</string> + <string name="spoken_emoji_1F330" msgid="3115760035618051575">"Chestnut"</string> + <string name="spoken_emoji_1F331" msgid="5658888205290008691">"Seedling"</string> + <string name="spoken_emoji_1F332" msgid="2935650450421165938">"Evergreen tree"</string> + <string name="spoken_emoji_1F333" msgid="5898847427062482675">"Deciduous tree"</string> + <string name="spoken_emoji_1F334" msgid="6183375224678417894">"Palm tree"</string> + <string name="spoken_emoji_1F335" msgid="5352418412103584941">"Cactus"</string> + <string name="spoken_emoji_1F337" msgid="3839107352363566289">"Tulip"</string> + <string name="spoken_emoji_1F338" msgid="6389970364260468490">"Cherry blossom"</string> + <string name="spoken_emoji_1F339" msgid="9128891447985256151">"Rose"</string> + <string name="spoken_emoji_1F33A" msgid="2025828400095233078">"Hibiscus"</string> + <string name="spoken_emoji_1F33B" msgid="8163868254348448552">"Sunflower"</string> + <string name="spoken_emoji_1F33C" msgid="6850371206262335812">"Blossom"</string> + <string name="spoken_emoji_1F33D" msgid="9033484052864509610">"Ear of maize"</string> + <string name="spoken_emoji_1F33E" msgid="2540173396638444120">"Ear of rice"</string> + <string name="spoken_emoji_1F33F" msgid="4384823344364908558">"Herb"</string> + <string name="spoken_emoji_1F340" msgid="3494255459156499305">"Four leaf clover"</string> + <string name="spoken_emoji_1F341" msgid="4581959481754990158">"Maple leaf"</string> + <string name="spoken_emoji_1F342" msgid="3119068426871821222">"Fallen leaf"</string> + <string name="spoken_emoji_1F343" msgid="2663317495805149004">"Leaf fluttering in wind"</string> + <string name="spoken_emoji_1F344" msgid="2738517881678722159">"Mushroom"</string> + <string name="spoken_emoji_1F345" msgid="6135288642349085554">"Tomato"</string> + <string name="spoken_emoji_1F346" msgid="2075395322785406367">"Aubergine"</string> + <string name="spoken_emoji_1F347" msgid="7753453754963890571">"Grapes"</string> + <string name="spoken_emoji_1F348" msgid="1247076837284932788">"Melon"</string> + <string name="spoken_emoji_1F349" msgid="5563054555180611086">"Watermelon"</string> + <string name="spoken_emoji_1F34A" msgid="4688661208570160524">"Tangerine"</string> + <string name="spoken_emoji_1F34B" msgid="4335318423164185706">"Lemon"</string> + <string name="spoken_emoji_1F34C" msgid="3712827239858159474">"Banana"</string> + <string name="spoken_emoji_1F34D" msgid="7712521967162622936">"Pineapple"</string> + <string name="spoken_emoji_1F34E" msgid="1859466882598614228">"Red apple"</string> + <string name="spoken_emoji_1F34F" msgid="8251711032295005633">"Green apple"</string> + <string name="spoken_emoji_1F350" msgid="625802980159197701">"Pear"</string> + <string name="spoken_emoji_1F351" msgid="4269460120610911895">"Peach"</string> + <string name="spoken_emoji_1F352" msgid="965600953360182635">"Cherries"</string> + <string name="spoken_emoji_1F353" msgid="7068623879906925592">"Strawberry"</string> + <string name="spoken_emoji_1F354" msgid="45162285238888494">"Hamburger"</string> + <string name="spoken_emoji_1F355" msgid="9157587635526433283">"Slice of pizza"</string> + <string name="spoken_emoji_1F356" msgid="2667196119149852244">"Meat on bone"</string> + <string name="spoken_emoji_1F357" msgid="8022817413851052256">"Poultry leg"</string> + <string name="spoken_emoji_1F358" msgid="3042693264748036476">"Rice cracker"</string> + <string name="spoken_emoji_1F359" msgid="3988148661730121958">"Rice ball"</string> + <string name="spoken_emoji_1F35A" msgid="1763824172198327268">"Cooked rice"</string> + <string name="spoken_emoji_1F35B" msgid="62530406745717835">"Curry and rice"</string> + <string name="spoken_emoji_1F35C" msgid="7537756539198945509">"Steaming bowl"</string> + <string name="spoken_emoji_1F35D" msgid="8173523083861875196">"Spaghetti"</string> + <string name="spoken_emoji_1F35E" msgid="2935428307894662571">"Bread"</string> + <string name="spoken_emoji_1F35F" msgid="4840297386785728443">"French fries"</string> + <string name="spoken_emoji_1F360" msgid="4094659855684686801">"Roasted sweet potato"</string> + <string name="spoken_emoji_1F361" msgid="6475486395784096109">"Dango"</string> + <string name="spoken_emoji_1F362" msgid="5004692577661076275">"Oden"</string> + <string name="spoken_emoji_1F363" msgid="1606603765717743806">"Sushi"</string> + <string name="spoken_emoji_1F364" msgid="6550457766169570811">"Fried shrimp"</string> + <string name="spoken_emoji_1F365" msgid="4963815540953316307">"Fish cake with swirl design"</string> + <string name="spoken_emoji_1F366" msgid="7862401745277049404">"Soft ice cream"</string> + <string name="spoken_emoji_1F367" msgid="7447972978281980414">"Shaved ice"</string> + <string name="spoken_emoji_1F368" msgid="7790003146142724913">"Ice cream"</string> + <string name="spoken_emoji_1F369" msgid="7383712944084857350">"Doughnut"</string> + <string name="spoken_emoji_1F36A" msgid="2726271795913042295">"Cookie"</string> + <string name="spoken_emoji_1F36B" msgid="6342163604299875931">"Chocolate bar"</string> + <string name="spoken_emoji_1F36C" msgid="2168934753998218790">"Candy"</string> + <string name="spoken_emoji_1F36D" msgid="3671507903799975792">"Lollipop"</string> + <string name="spoken_emoji_1F36E" msgid="4630541402785165902">"Custard"</string> + <string name="spoken_emoji_1F36F" msgid="5577915387425169439">"Honey pot"</string> + <string name="spoken_emoji_1F370" msgid="7243244547866114951">"Shortcake"</string> + <string name="spoken_emoji_1F371" msgid="6731527040552916358">"Bento box"</string> + <string name="spoken_emoji_1F372" msgid="1635035323832181733">"Pot of food"</string> + <string name="spoken_emoji_1F373" msgid="7799289534289221045">"Cooking"</string> + <string name="spoken_emoji_1F374" msgid="5973820884987069131">"Fork and knife"</string> + <string name="spoken_emoji_1F375" msgid="1074832087699617700">"Teacup without handle"</string> + <string name="spoken_emoji_1F376" msgid="6499274685584852067">"Sake bottle and cup"</string> + <string name="spoken_emoji_1F377" msgid="1762398562314172075">"Wine glass"</string> + <string name="spoken_emoji_1F378" msgid="5528234560590117516">"Cocktail glass"</string> + <string name="spoken_emoji_1F379" msgid="790581290787943325">"Tropical drink"</string> + <string name="spoken_emoji_1F37A" msgid="391966822450619516">"Beer mug"</string> + <string name="spoken_emoji_1F37B" msgid="9015043286465670662">"Clinking beer mugs"</string> + <string name="spoken_emoji_1F37C" msgid="2532113819464508894">"Baby bottle"</string> + <string name="spoken_emoji_1F380" msgid="3487363857092458827">"Ribbon"</string> + <string name="spoken_emoji_1F381" msgid="614180683680675444">"Wrapped present"</string> + <string name="spoken_emoji_1F382" msgid="4720497171946687501">"Birthday cake"</string> + <string name="spoken_emoji_1F383" msgid="3536505941578757623">"Jack-o-lantern"</string> + <string name="spoken_emoji_1F384" msgid="1797870204479059004">"Christmas tree"</string> + <string name="spoken_emoji_1F385" msgid="1754174063483626367">"Father christmas"</string> + <string name="spoken_emoji_1F386" msgid="2130445450758114746">"Fireworks"</string> + <string name="spoken_emoji_1F387" msgid="3403182563117999933">"Firework sparkler"</string> + <string name="spoken_emoji_1F388" msgid="2903047203723251804">"Balloon"</string> + <string name="spoken_emoji_1F389" msgid="2352830665883549388">"Party popper"</string> + <string name="spoken_emoji_1F38A" msgid="6280428984773641322">"Confetti ball"</string> + <string name="spoken_emoji_1F38B" msgid="4902225837479015489">"Tanabata tree"</string> + <string name="spoken_emoji_1F38C" msgid="7623268024030989365">"Crossed flags"</string> + <string name="spoken_emoji_1F38D" msgid="8237542796124408528">"Pine decoration"</string> + <string name="spoken_emoji_1F38E" msgid="5373397476238212371">"Japanese dolls"</string> + <string name="spoken_emoji_1F38F" msgid="8754091376829552844">"Carp streamer"</string> + <string name="spoken_emoji_1F390" msgid="8903307048095431374">"Wind chime"</string> + <string name="spoken_emoji_1F391" msgid="2134952069191911841">"Moon viewing ceremony"</string> + <string name="spoken_emoji_1F392" msgid="6380405493914304737">"School satchel"</string> + <string name="spoken_emoji_1F393" msgid="6947890064872470996">"Graduation cap"</string> + <string name="spoken_emoji_1F3A0" msgid="3572095190082826057">"Carousel horse"</string> + <string name="spoken_emoji_1F3A1" msgid="4300565511681058798">"Ferris wheel"</string> + <string name="spoken_emoji_1F3A2" msgid="15486093912232140">"Roller coaster"</string> + <string name="spoken_emoji_1F3A3" msgid="921739319504942924">"Fishing pole and fish"</string> + <string name="spoken_emoji_1F3A4" msgid="7497596355346856950">"Microphone"</string> + <string name="spoken_emoji_1F3A5" msgid="4290497821228183002">"Movie camera"</string> + <string name="spoken_emoji_1F3A6" msgid="26019057872319055">"Cinema"</string> + <string name="spoken_emoji_1F3A7" msgid="837856608794094105">"Headphone"</string> + <string name="spoken_emoji_1F3A8" msgid="2332260356509244587">"Artist palette"</string> + <string name="spoken_emoji_1F3A9" msgid="9045869366525115256">"Top hat"</string> + <string name="spoken_emoji_1F3AA" msgid="5728760354237132">"Circus tent"</string> + <string name="spoken_emoji_1F3AB" msgid="1657997517193216284">"Ticket"</string> + <string name="spoken_emoji_1F3AC" msgid="4317366554314492152">"Clapper board"</string> + <string name="spoken_emoji_1F3AD" msgid="607157286336130470">"Performing arts"</string> + <string name="spoken_emoji_1F3AE" msgid="2902308174671548150">"Video game"</string> + <string name="spoken_emoji_1F3AF" msgid="5420539221790296407">"Direct hit"</string> + <string name="spoken_emoji_1F3B0" msgid="7440244806527891956">"Slot machine"</string> + <string name="spoken_emoji_1F3B1" msgid="545544382391379234">"Billiards"</string> + <string name="spoken_emoji_1F3B2" msgid="8302262034774787493">"Game die"</string> + <string name="spoken_emoji_1F3B3" msgid="5180870610771027520">"Bowling"</string> + <string name="spoken_emoji_1F3B4" msgid="4723852033266071564">"Flower playing cards"</string> + <string name="spoken_emoji_1F3B5" msgid="1998470239850548554">"Musical note"</string> + <string name="spoken_emoji_1F3B6" msgid="3827730457113941705">"Multiple musical notes"</string> + <string name="spoken_emoji_1F3B7" msgid="5503403099445042180">"Saxophone"</string> + <string name="spoken_emoji_1F3B8" msgid="3985658156795011430">"Guitar"</string> + <string name="spoken_emoji_1F3B9" msgid="5596295757967881451">"Musical keyboard"</string> + <string name="spoken_emoji_1F3BA" msgid="4284064120340683558">"Trumpet"</string> + <string name="spoken_emoji_1F3BB" msgid="2856598510069988745">"Violin"</string> + <string name="spoken_emoji_1F3BC" msgid="1608424748821446230">"Musical score"</string> + <string name="spoken_emoji_1F3BD" msgid="5490786111375627777">"Running shirt with sash"</string> + <string name="spoken_emoji_1F3BE" msgid="1851613105691627931">"Tennis racquet and ball"</string> + <string name="spoken_emoji_1F3BF" msgid="6862405997423247921">"Ski and ski boot"</string> + <string name="spoken_emoji_1F3C0" msgid="7421420756115104085">"Basketball and hoop"</string> + <string name="spoken_emoji_1F3C1" msgid="6926537251677319922">"Chequered flag"</string> + <string name="spoken_emoji_1F3C2" msgid="5708596929237987082">"Snowboarder"</string> + <string name="spoken_emoji_1F3C3" msgid="5850982999510115824">"Runner"</string> + <string name="spoken_emoji_1F3C4" msgid="8468355585994639838">"Surfer"</string> + <string name="spoken_emoji_1F3C6" msgid="9094474706847545409">"Trophy"</string> + <string name="spoken_emoji_1F3C7" msgid="8172206200368370116">"Horse racing"</string> + <string name="spoken_emoji_1F3C8" msgid="5619171461277597709">"American football"</string> + <string name="spoken_emoji_1F3C9" msgid="6371294008765871043">"Rugby football"</string> + <string name="spoken_emoji_1F3CA" msgid="130977831787806932">"Swimmer"</string> + <string name="spoken_emoji_1F3E0" msgid="6277213201655811842">"House building"</string> + <string name="spoken_emoji_1F3E1" msgid="233476176077538885">"House with garden"</string> + <string name="spoken_emoji_1F3E2" msgid="919736380093964570">"Office building"</string> + <string name="spoken_emoji_1F3E3" msgid="6177606081825094184">"Japanese post office"</string> + <string name="spoken_emoji_1F3E4" msgid="717377871070970293">"European post office"</string> + <string name="spoken_emoji_1F3E5" msgid="1350532500431776780">"Hospital"</string> + <string name="spoken_emoji_1F3E6" msgid="342132788513806214">"Bank"</string> + <string name="spoken_emoji_1F3E7" msgid="6322352038284944265">"Automated teller machine"</string> + <string name="spoken_emoji_1F3E8" msgid="5864918444350599907">"Hotel"</string> + <string name="spoken_emoji_1F3E9" msgid="7830416185375326938">"Love hotel"</string> + <string name="spoken_emoji_1F3EA" msgid="5081084413084360479">"Convenience store"</string> + <string name="spoken_emoji_1F3EB" msgid="7010966528205150525">"School"</string> + <string name="spoken_emoji_1F3EC" msgid="4845978861878295154">"Department store"</string> + <string name="spoken_emoji_1F3ED" msgid="3980316226665215370">"Factory"</string> + <string name="spoken_emoji_1F3EE" msgid="1253964276770550248">"Izakaya lantern"</string> + <string name="spoken_emoji_1F3EF" msgid="1128975573507389883">"Japanese castle"</string> + <string name="spoken_emoji_1F3F0" msgid="1544632297502291578">"European castle"</string> + <string name="spoken_emoji_1F400" msgid="2063034795679578294">"Rat"</string> + <string name="spoken_emoji_1F401" msgid="6736421616217369594">"Mouse"</string> + <string name="spoken_emoji_1F402" msgid="7276670995895485604">"Ox"</string> + <string name="spoken_emoji_1F403" msgid="8045709541897118928">"Water buffalo"</string> + <string name="spoken_emoji_1F404" msgid="5240777285676662335">"Cow"</string> + <string name="spoken_emoji_1F406" msgid="5163461930159540018">"Leopard"</string> + <string name="spoken_emoji_1F407" msgid="6905370221172708160">"Rabbit"</string> + <string name="spoken_emoji_1F408" msgid="1362164550508207284">"Cat"</string> + <string name="spoken_emoji_1F409" msgid="8476130983168866013">"Dragon"</string> + <string name="spoken_emoji_1F40A" msgid="1149626786411545043">"Crocodile"</string> + <string name="spoken_emoji_1F40B" msgid="5199104921208397643">"Whale"</string> + <string name="spoken_emoji_1F40C" msgid="2704006052881702675">"Snail"</string> + <string name="spoken_emoji_1F40D" msgid="8648186663643157522">"Snake"</string> + <string name="spoken_emoji_1F40E" msgid="7219137467573327268">"Horse"</string> + <string name="spoken_emoji_1F40F" msgid="7834336676729040395">"Ram"</string> + <string name="spoken_emoji_1F410" msgid="8686765722255775031">"Goat"</string> + <string name="spoken_emoji_1F411" msgid="3585715397876383525">"Sheep"</string> + <string name="spoken_emoji_1F412" msgid="4924794582980077838">"Monkey"</string> + <string name="spoken_emoji_1F413" msgid="1460475310405677377">"Rooster"</string> + <string name="spoken_emoji_1F414" msgid="5857296282631892219">"Chicken"</string> + <string name="spoken_emoji_1F415" msgid="5920041074892949527">"Dog"</string> + <string name="spoken_emoji_1F416" msgid="4362403392912540286">"Pig"</string> + <string name="spoken_emoji_1F417" msgid="6836978415840795128">"Boar"</string> + <string name="spoken_emoji_1F418" msgid="7926161463897783691">"Elephant"</string> + <string name="spoken_emoji_1F419" msgid="1055233959755784186">"Octopus"</string> + <string name="spoken_emoji_1F41A" msgid="5195666556511558060">"Spiral shell"</string> + <string name="spoken_emoji_1F41B" msgid="7652480167465557832">"Bug"</string> + <string name="spoken_emoji_1F41C" msgid="1123461148697574239">"Ant"</string> + <string name="spoken_emoji_1F41D" msgid="718579308764058851">"Honeybee"</string> + <string name="spoken_emoji_1F41E" msgid="6766305509608115467">"Lady beetle"</string> + <string name="spoken_emoji_1F41F" msgid="1207261298343160838">"Fish"</string> + <string name="spoken_emoji_1F420" msgid="1041145003133609221">"Tropical fish"</string> + <string name="spoken_emoji_1F421" msgid="1748378324417438751">"Blowfish"</string> + <string name="spoken_emoji_1F422" msgid="4106724877523329148">"Turtle"</string> + <string name="spoken_emoji_1F423" msgid="4077407945958691907">"Hatching chick"</string> + <string name="spoken_emoji_1F424" msgid="6911326019270172283">"Baby chick"</string> + <string name="spoken_emoji_1F425" msgid="5466514196557885577">"Front-facing baby chick"</string> + <string name="spoken_emoji_1F426" msgid="2163979138772892755">"Bird"</string> + <string name="spoken_emoji_1F427" msgid="3585670324511212961">"Penguin"</string> + <string name="spoken_emoji_1F428" msgid="7955440808647898579">"Koala"</string> + <string name="spoken_emoji_1F429" msgid="5028269352809819035">"Poodle"</string> + <string name="spoken_emoji_1F42A" msgid="4681926706404032484">"Dromedary camel"</string> + <string name="spoken_emoji_1F42B" msgid="2725166074981558322">"Bactrian camel"</string> + <string name="spoken_emoji_1F42C" msgid="6764791873413727085">"Dolphin"</string> + <string name="spoken_emoji_1F42D" msgid="1033643138546864251">"Mouse face"</string> + <string name="spoken_emoji_1F42E" msgid="8099223337120508820">"Cow face"</string> + <string name="spoken_emoji_1F42F" msgid="2104743989330781572">"Tiger face"</string> + <string name="spoken_emoji_1F430" msgid="525492897063150160">"Rabbit face"</string> + <string name="spoken_emoji_1F431" msgid="6051358666235016851">"Cat face"</string> + <string name="spoken_emoji_1F432" msgid="7698001871193018305">"Dragon face"</string> + <string name="spoken_emoji_1F433" msgid="3762356053512899326">"Spouting whale"</string> + <string name="spoken_emoji_1F434" msgid="3619943222159943226">"Horse face"</string> + <string name="spoken_emoji_1F435" msgid="59199202683252958">"Monkey face"</string> + <string name="spoken_emoji_1F436" msgid="340544719369009828">"Dog face"</string> + <string name="spoken_emoji_1F437" msgid="1219818379784982585">"Pig face"</string> + <string name="spoken_emoji_1F438" msgid="9128124743321008210">"Frog face"</string> + <string name="spoken_emoji_1F439" msgid="1424161319554642266">"Hamster face"</string> + <string name="spoken_emoji_1F43A" msgid="6727645488430385584">"Wolf face"</string> + <string name="spoken_emoji_1F43B" msgid="5397170068392865167">"Bear face"</string> + <string name="spoken_emoji_1F43C" msgid="2715995734367032431">"Panda face"</string> + <string name="spoken_emoji_1F43D" msgid="6005480717951776597">"Pig nose"</string> + <string name="spoken_emoji_1F43E" msgid="8917626103219080547">"Paw prints"</string> + <string name="spoken_emoji_1F440" msgid="7144338258163384433">"Eyes"</string> + <string name="spoken_emoji_1F442" msgid="1905515392292676124">"Ear"</string> + <string name="spoken_emoji_1F443" msgid="1491504447758933115">"Nose"</string> + <string name="spoken_emoji_1F444" msgid="3654613047946080332">"Mouth"</string> + <string name="spoken_emoji_1F445" msgid="7024905244040509204">"Tongue"</string> + <string name="spoken_emoji_1F446" msgid="2150365643636471745">"White up pointing backhand index"</string> + <string name="spoken_emoji_1F447" msgid="8794022344940891388">"White down pointing backhand index"</string> + <string name="spoken_emoji_1F448" msgid="3261812959215550650">"White left pointing backhand index"</string> + <string name="spoken_emoji_1F449" msgid="4764447975177805991">"White right pointing backhand index"</string> + <string name="spoken_emoji_1F44A" msgid="7197417095486424841">"Fisted hand sign"</string> + <string name="spoken_emoji_1F44B" msgid="1975968945250833117">"Waving hand sign"</string> + <string name="spoken_emoji_1F44C" msgid="3185919567897876562">"OK hand sign"</string> + <string name="spoken_emoji_1F44D" msgid="6182553970602667815">"Thumbs up sign"</string> + <string name="spoken_emoji_1F44E" msgid="8030851867365111809">"Thumbs down sign"</string> + <string name="spoken_emoji_1F44F" msgid="5148753662268213389">"Clapping hands sign"</string> + <string name="spoken_emoji_1F450" msgid="1012021072085157054">"Open hands sign"</string> + <string name="spoken_emoji_1F451" msgid="8257466714629051320">"Crown"</string> + <string name="spoken_emoji_1F452" msgid="4567394011149905466">"Womans hat"</string> + <string name="spoken_emoji_1F453" msgid="5978410551173163010">"Eyeglasses"</string> + <string name="spoken_emoji_1F454" msgid="348469036193323252">"Necktie"</string> + <string name="spoken_emoji_1F455" msgid="5665118831861433578">"T-shirt"</string> + <string name="spoken_emoji_1F456" msgid="1890991330923356408">"Jeans"</string> + <string name="spoken_emoji_1F457" msgid="3904310482655702620">"Dress"</string> + <string name="spoken_emoji_1F458" msgid="5704243858031107692">"Kimono"</string> + <string name="spoken_emoji_1F459" msgid="3553148747050035251">"Bikini"</string> + <string name="spoken_emoji_1F45A" msgid="1389654639484716101">"Womans clothes"</string> + <string name="spoken_emoji_1F45B" msgid="1113293170254222904">"Purse"</string> + <string name="spoken_emoji_1F45C" msgid="3410257778598006936">"Handbag"</string> + <string name="spoken_emoji_1F45D" msgid="812176504300064819">"Pouch"</string> + <string name="spoken_emoji_1F45E" msgid="2901741399934723562">"Mans shoe"</string> + <string name="spoken_emoji_1F45F" msgid="6828566359287798863">"Athletic shoe"</string> + <string name="spoken_emoji_1F460" msgid="305863879170420855">"High-heeled shoe"</string> + <string name="spoken_emoji_1F461" msgid="5160493217831417630">"Womans sandal"</string> + <string name="spoken_emoji_1F462" msgid="1722897795554863734">"Womans boots"</string> + <string name="spoken_emoji_1F463" msgid="5850772903593010699">"Footprints"</string> + <string name="spoken_emoji_1F464" msgid="1228335905487734913">"Bust in silhouette"</string> + <string name="spoken_emoji_1F465" msgid="4461307702499679879">"Busts in silhouette"</string> + <string name="spoken_emoji_1F466" msgid="1938873085514108889">"Boy"</string> + <string name="spoken_emoji_1F467" msgid="8237080594860144998">"Girl"</string> + <string name="spoken_emoji_1F468" msgid="6081300722526675382">"Man"</string> + <string name="spoken_emoji_1F469" msgid="1090140923076108158">"Woman"</string> + <string name="spoken_emoji_1F46A" msgid="5063570981942606595">"Family"</string> + <string name="spoken_emoji_1F46B" msgid="6795882374287327952">"Man and woman holding hands"</string> + <string name="spoken_emoji_1F46C" msgid="6844464165783964495">"Two men holding hands"</string> + <string name="spoken_emoji_1F46D" msgid="2316773068014053180">"Two women holding hands"</string> + <string name="spoken_emoji_1F46E" msgid="5897625605860822401">"Police officer"</string> + <string name="spoken_emoji_1F46F" msgid="7716871657717641490">"Woman with bunny ears"</string> + <string name="spoken_emoji_1F470" msgid="6409995400510338892">"Bride with veil"</string> + <string name="spoken_emoji_1F471" msgid="3058247860441670806">"Person with blond hair"</string> + <string name="spoken_emoji_1F472" msgid="3928854667819339142">"Man with gua pi mao"</string> + <string name="spoken_emoji_1F473" msgid="5921952095808988381">"Man with turban"</string> + <string name="spoken_emoji_1F474" msgid="1082237499496725183">"Older man"</string> + <string name="spoken_emoji_1F475" msgid="7280323988642212761">"Older woman"</string> + <string name="spoken_emoji_1F476" msgid="4713322657821088296">"Baby"</string> + <string name="spoken_emoji_1F477" msgid="2197036131029221370">"Construction worker"</string> + <string name="spoken_emoji_1F478" msgid="7245521193493488875">"Princess"</string> + <string name="spoken_emoji_1F479" msgid="6876475321015553972">"Japanese ogre"</string> + <string name="spoken_emoji_1F47A" msgid="3900813633102703571">"Japanese goblin"</string> + <string name="spoken_emoji_1F47B" msgid="2608250873194079390">"Ghost"</string> + <string name="spoken_emoji_1F47C" msgid="3838699131276537421">"Baby angel"</string> + <string name="spoken_emoji_1F47D" msgid="2874077455888369538">"Extraterrestrial alien"</string> + <string name="spoken_emoji_1F47E" msgid="3642607168625579507">"Alien monster"</string> + <string name="spoken_emoji_1F47F" msgid="441605977269926252">"Imp"</string> + <string name="spoken_emoji_1F480" msgid="3696253485164878739">"Skull"</string> + <string name="spoken_emoji_1F481" msgid="320408708521966893">"Information desk person"</string> + <string name="spoken_emoji_1F482" msgid="3424354860245608949">"Guardsman"</string> + <string name="spoken_emoji_1F483" msgid="3221113594843849083">"Dancer"</string> + <string name="spoken_emoji_1F484" msgid="7348014979080444885">"Lipstick"</string> + <string name="spoken_emoji_1F485" msgid="6133507975565116339">"Nail polish"</string> + <string name="spoken_emoji_1F486" msgid="9085459968247394155">"Face massage"</string> + <string name="spoken_emoji_1F487" msgid="1479113637259592150">"Haircut"</string> + <string name="spoken_emoji_1F488" msgid="6922559285234100252">"Barber pole"</string> + <string name="spoken_emoji_1F489" msgid="8114863680950147305">"Syringe"</string> + <string name="spoken_emoji_1F48A" msgid="8526843630145963032">"Pill"</string> + <string name="spoken_emoji_1F48B" msgid="2538528967897640292">"Kiss mark"</string> + <string name="spoken_emoji_1F48C" msgid="1681173271652890232">"Love letter"</string> + <string name="spoken_emoji_1F48D" msgid="8259886164999042373">"Ring"</string> + <string name="spoken_emoji_1F48E" msgid="8777981696011111101">"Gem stone"</string> + <string name="spoken_emoji_1F48F" msgid="741593675183677907">"Kiss"</string> + <string name="spoken_emoji_1F490" msgid="4482549128959806736">"Bouquet"</string> + <string name="spoken_emoji_1F491" msgid="2305245307882441500">"Couple with heart"</string> + <string name="spoken_emoji_1F492" msgid="3884119934804475732">"Wedding"</string> + <string name="spoken_emoji_1F493" msgid="1208828371565525121">"Beating heart"</string> + <string name="spoken_emoji_1F494" msgid="6198876398509338718">"Broken heart"</string> + <string name="spoken_emoji_1F495" msgid="9206202744967130919">"Two hearts"</string> + <string name="spoken_emoji_1F496" msgid="5436953041732207775">"Sparkling heart"</string> + <string name="spoken_emoji_1F497" msgid="7285142863951448473">"Growing heart"</string> + <string name="spoken_emoji_1F498" msgid="7940131245037575715">"Heart with arrow"</string> + <string name="spoken_emoji_1F499" msgid="4453235040265550009">"Blue heart"</string> + <string name="spoken_emoji_1F49A" msgid="6262178648366971405">"Green heart"</string> + <string name="spoken_emoji_1F49B" msgid="8085384999750714368">"Yellow heart"</string> + <string name="spoken_emoji_1F49C" msgid="453829540120898698">"Purple heart"</string> + <string name="spoken_emoji_1F49D" msgid="3460534750224161888">"Heart with ribbon"</string> + <string name="spoken_emoji_1F49E" msgid="4490636226072523867">"Revolving hearts"</string> + <string name="spoken_emoji_1F49F" msgid="2059319756421226336">"Heart decoration"</string> + <string name="spoken_emoji_1F4A0" msgid="1954850380550212038">"Diamond shape with a dot inside"</string> + <string name="spoken_emoji_1F4A1" msgid="403137413540909021">"Electric light bulb"</string> + <string name="spoken_emoji_1F4A2" msgid="2604192053295622063">"Anger symbol"</string> + <string name="spoken_emoji_1F4A3" msgid="6378351742957821735">"Bomb"</string> + <string name="spoken_emoji_1F4A4" msgid="7217736258870346625">"Sleeping symbol"</string> + <string name="spoken_emoji_1F4A5" msgid="5401995723541239858">"Collision symbol"</string> + <string name="spoken_emoji_1F4A6" msgid="3837802182716483848">"Splashing sweat symbol"</string> + <string name="spoken_emoji_1F4A7" msgid="5718438987757885141">"Droplet"</string> + <string name="spoken_emoji_1F4A8" msgid="4472108229720006377">"Dash symbol"</string> + <string name="spoken_emoji_1F4A9" msgid="1240958472788430032">"Pile of poo"</string> + <string name="spoken_emoji_1F4AA" msgid="8427525538635146416">"Flexed biceps"</string> + <string name="spoken_emoji_1F4AB" msgid="5484114759939427459">"Dizzy symbol"</string> + <string name="spoken_emoji_1F4AC" msgid="5571196638219612682">"Speech balloon"</string> + <string name="spoken_emoji_1F4AD" msgid="353174619257798652">"Thought balloon"</string> + <string name="spoken_emoji_1F4AE" msgid="1223142786927162641">"White flower"</string> + <string name="spoken_emoji_1F4AF" msgid="3526278354452138397">"Hundred points symbol"</string> + <string name="spoken_emoji_1F4B0" msgid="4124102195175124156">"Money bag"</string> + <string name="spoken_emoji_1F4B1" msgid="8339494003418572905">"Currency exchange"</string> + <string name="spoken_emoji_1F4B2" msgid="3179159430187243132">"Heavy pound sign"</string> + <string name="spoken_emoji_1F4B3" msgid="5375412518221759596">"Credit card"</string> + <string name="spoken_emoji_1F4B4" msgid="1068592463669453204">"Banknote with yen sign"</string> + <string name="spoken_emoji_1F4B5" msgid="1426708699891832564">"Banknote with pound sign"</string> + <string name="spoken_emoji_1F4B6" msgid="8289249930736444837">"Banknote with euro sign"</string> + <string name="spoken_emoji_1F4B7" msgid="5245100496860739429">"Banknote with pound sign"</string> + <string name="spoken_emoji_1F4B8" msgid="4401099580477164440">"Money with wings"</string> + <string name="spoken_emoji_1F4B9" msgid="647509393536679903">"Chart with upwards trend and yen sign"</string> + <string name="spoken_emoji_1F4BA" msgid="1269737854891046321">"Seat"</string> + <string name="spoken_emoji_1F4BB" msgid="6252883563347816451">"Personal computer"</string> + <string name="spoken_emoji_1F4BC" msgid="6182597732218446206">"Briefcase"</string> + <string name="spoken_emoji_1F4BD" msgid="5820961044768829176">"Minidisc"</string> + <string name="spoken_emoji_1F4BE" msgid="4754542485835379808">"Floppy disk"</string> + <string name="spoken_emoji_1F4BF" msgid="2237481756984721795">"Optical disc"</string> + <string name="spoken_emoji_1F4C0" msgid="491582501089694461">"DVD"</string> + <string name="spoken_emoji_1F4C1" msgid="6645461382494158111">"File folder"</string> + <string name="spoken_emoji_1F4C2" msgid="8095638715523765338">"Open file folder"</string> + <string name="spoken_emoji_1F4C3" msgid="3727274466173970142">"Page with curl"</string> + <string name="spoken_emoji_1F4C4" msgid="4382570710795501612">"Page facing up"</string> + <string name="spoken_emoji_1F4C5" msgid="8693944622627762487">"Calendar"</string> + <string name="spoken_emoji_1F4C6" msgid="8469908708708424640">"Tear-off calendar"</string> + <string name="spoken_emoji_1F4C7" msgid="2665313547987324495">"Card index"</string> + <string name="spoken_emoji_1F4C8" msgid="8007686702282833600">"Chart with upwards trend"</string> + <string name="spoken_emoji_1F4C9" msgid="2271951411192893684">"Chart with downwards trend"</string> + <string name="spoken_emoji_1F4CA" msgid="3525692829622381444">"Bar chart"</string> + <string name="spoken_emoji_1F4CB" msgid="977639227554095521">"Clipboard"</string> + <string name="spoken_emoji_1F4CC" msgid="156107396088741574">"Pushpin"</string> + <string name="spoken_emoji_1F4CD" msgid="4266572175361190231">"Round pushpin"</string> + <string name="spoken_emoji_1F4CE" msgid="6294288509864968290">"Paperclip"</string> + <string name="spoken_emoji_1F4CF" msgid="149679400831136810">"Straight ruler"</string> + <string name="spoken_emoji_1F4D0" msgid="8130339336619202915">"Triangular ruler"</string> + <string name="spoken_emoji_1F4D1" msgid="5852176364856284968">"Bookmark tabs"</string> + <string name="spoken_emoji_1F4D2" msgid="2276810154105920052">"Ledger"</string> + <string name="spoken_emoji_1F4D3" msgid="5873386492793610808">"Notebook"</string> + <string name="spoken_emoji_1F4D4" msgid="4754469936418776360">"Notebook with decorative cover"</string> + <string name="spoken_emoji_1F4D5" msgid="4642713351802778905">"Closed book"</string> + <string name="spoken_emoji_1F4D6" msgid="6987347918381807186">"Open book"</string> + <string name="spoken_emoji_1F4D7" msgid="7813394163241379223">"Green book"</string> + <string name="spoken_emoji_1F4D8" msgid="7189799718984979521">"Blue book"</string> + <string name="spoken_emoji_1F4D9" msgid="3874664073186440225">"Orange book"</string> + <string name="spoken_emoji_1F4DA" msgid="872212072924287762">"Books"</string> + <string name="spoken_emoji_1F4DB" msgid="2015183603583392969">"Name badge"</string> + <string name="spoken_emoji_1F4DC" msgid="5075845110932456783">"Scroll"</string> + <string name="spoken_emoji_1F4DD" msgid="2494006707147586786">"Memo"</string> + <string name="spoken_emoji_1F4DE" msgid="7883008605002117671">"Telephone receiver"</string> + <string name="spoken_emoji_1F4DF" msgid="3538610110623780465">"Pager"</string> + <string name="spoken_emoji_1F4E0" msgid="2960778342609543077">"Fax machine"</string> + <string name="spoken_emoji_1F4E1" msgid="6269733703719242108">"Satellite antenna"</string> + <string name="spoken_emoji_1F4E2" msgid="1987535386302883116">"Public address loudspeaker"</string> + <string name="spoken_emoji_1F4E3" msgid="5588916572878599224">"Cheering megaphone"</string> + <string name="spoken_emoji_1F4E4" msgid="2063561529097749707">"Outbox tray"</string> + <string name="spoken_emoji_1F4E5" msgid="3232462702926143576">"Inbox tray"</string> + <string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"Package"</string> + <string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"E-mail symbol"</string> + <string name="spoken_emoji_1F4E8" msgid="30698793974124123">"Incoming envelope"</string> + <string name="spoken_emoji_1F4E9" msgid="5947550337678643166">"Envelope with downwards arrow above"</string> + <string name="spoken_emoji_1F4EA" msgid="772614045207213751">"Closed mailbox with lowered flag"</string> + <string name="spoken_emoji_1F4EB" msgid="6491414165464146137">"Closed mailbox with raised flag"</string> + <string name="spoken_emoji_1F4EC" msgid="7369517138779988438">"Open mailbox with raised flag"</string> + <string name="spoken_emoji_1F4ED" msgid="5657520436285454241">"Open mailbox with lowered flag"</string> + <string name="spoken_emoji_1F4EE" msgid="8464138906243608614">"Postbox"</string> + <string name="spoken_emoji_1F4EF" msgid="8801427577198798226">"Postal horn"</string> + <string name="spoken_emoji_1F4F0" msgid="6330208624731662525">"Newspaper"</string> + <string name="spoken_emoji_1F4F1" msgid="3966503935581675695">"Mobile phone"</string> + <string name="spoken_emoji_1F4F2" msgid="1057540341746100087">"Mobile phone with rightwards arrow at left"</string> + <string name="spoken_emoji_1F4F3" msgid="5003984447315754658">"Vibration mode"</string> + <string name="spoken_emoji_1F4F4" msgid="5549847566968306253">"Mobile phone off"</string> + <string name="spoken_emoji_1F4F5" msgid="3660199448671699238">"No mobile phones"</string> + <string name="spoken_emoji_1F4F6" msgid="2676974903233268860">"Antenna with bars"</string> + <string name="spoken_emoji_1F4F7" msgid="2643891943105989039">"Camera"</string> + <string name="spoken_emoji_1F4F9" msgid="4475626303058218048">"Video camera"</string> + <string name="spoken_emoji_1F4FA" msgid="1079796186652960775">"Television"</string> + <string name="spoken_emoji_1F4FB" msgid="3848729587403760645">"Radio"</string> + <string name="spoken_emoji_1F4FC" msgid="8370432508874310054">"Videocassette"</string> + <string name="spoken_emoji_1F500" msgid="2389947994502144547">"Twisted rightwards arrows"</string> + <string name="spoken_emoji_1F501" msgid="2132188352433347009">"Clockwise rightwards and leftwards open circle arrows"</string> + <string name="spoken_emoji_1F502" msgid="2361976580513178391">"Clockwise rightwards and leftwards open circle arrows with circled one overlay"</string> + <string name="spoken_emoji_1F503" msgid="8936283551917858793">"Clockwise downwards and upwards open circle arrows"</string> + <string name="spoken_emoji_1F504" msgid="708290317843535943">"Anticlockwise downwards and upwards open circle arrows"</string> + <string name="spoken_emoji_1F505" msgid="6348909939004951860">"Low brightness symbol"</string> + <string name="spoken_emoji_1F506" msgid="4449609297521280173">"High brightness symbol"</string> + <string name="spoken_emoji_1F507" msgid="7136386694923708448">"Speaker with cancellation stroke"</string> + <string name="spoken_emoji_1F508" msgid="5063567689831527865">"Speaker"</string> + <string name="spoken_emoji_1F509" msgid="3948050077992370791">"Speaker with one sound wave"</string> + <string name="spoken_emoji_1F50A" msgid="5818194948677277197">"Speaker with three sound waves"</string> + <string name="spoken_emoji_1F50B" msgid="8083470451266295876">"Battery"</string> + <string name="spoken_emoji_1F50C" msgid="7793219132036431680">"Electric plug"</string> + <string name="spoken_emoji_1F50D" msgid="8140244710637926780">"Left-pointing magnifying glass"</string> + <string name="spoken_emoji_1F50E" msgid="4751821352839693365">"Right-pointing magnifying glass"</string> + <string name="spoken_emoji_1F50F" msgid="915079280472199605">"Lock with ink pen"</string> + <string name="spoken_emoji_1F510" msgid="7658381761691758318">"Closed lock with key"</string> + <string name="spoken_emoji_1F511" msgid="262319867774655688">"Key"</string> + <string name="spoken_emoji_1F512" msgid="5628688337255115175">"Lock"</string> + <string name="spoken_emoji_1F513" msgid="8579201846619420981">"Open lock"</string> + <string name="spoken_emoji_1F514" msgid="7027268683047322521">"Bell"</string> + <string name="spoken_emoji_1F515" msgid="8903179856036069242">"Bell with cancellation stroke"</string> + <string name="spoken_emoji_1F516" msgid="108097933937925381">"Bookmark"</string> + <string name="spoken_emoji_1F517" msgid="2450846665734313397">"Link symbol"</string> + <string name="spoken_emoji_1F518" msgid="7028220286841437832">"Radio button"</string> + <string name="spoken_emoji_1F519" msgid="8211189165075445687">"Back with leftwards arrow above"</string> + <string name="spoken_emoji_1F51A" msgid="823966751787338892">"End with leftwards arrow above"</string> + <string name="spoken_emoji_1F51B" msgid="5920570742107943382">"On with exclamation mark with left right arrow above"</string> + <string name="spoken_emoji_1F51C" msgid="110609810659826676">"Soon with rightwards arrow above"</string> + <string name="spoken_emoji_1F51D" msgid="4087697222026095447">"Top with upwards arrow above"</string> + <string name="spoken_emoji_1F51E" msgid="8512873526157201775">"No one under eighteen symbol"</string> + <string name="spoken_emoji_1F51F" msgid="8673370823728653973">"Keycap ten"</string> + <string name="spoken_emoji_1F520" msgid="7335109890337048900">"Input symbol for latin capital letters"</string> + <string name="spoken_emoji_1F521" msgid="2693185864450925778">"Input symbol for latin small letters"</string> + <string name="spoken_emoji_1F522" msgid="8419130286280673347">"Input symbol for numbers"</string> + <string name="spoken_emoji_1F523" msgid="3318053476401719421">"Input symbol for symbols"</string> + <string name="spoken_emoji_1F524" msgid="1625073997522316331">"Input symbol for latin letters"</string> + <string name="spoken_emoji_1F525" msgid="4083884189172963790">"Fire"</string> + <string name="spoken_emoji_1F526" msgid="2035494936742643580">"Electric torch"</string> + <string name="spoken_emoji_1F527" msgid="134257142354034271">"Wrench"</string> + <string name="spoken_emoji_1F528" msgid="700627429570609375">"Hammer"</string> + <string name="spoken_emoji_1F529" msgid="7480548235904988573">"Nut and bolt"</string> + <string name="spoken_emoji_1F52A" msgid="7613580031502317893">"Hocho"</string> + <string name="spoken_emoji_1F52B" msgid="4554906608328118613">"Pistol"</string> + <string name="spoken_emoji_1F52C" msgid="1330294501371770790">"Microscope"</string> + <string name="spoken_emoji_1F52D" msgid="7549551775445177140">"Telescope"</string> + <string name="spoken_emoji_1F52E" msgid="4457099417872625141">"Crystal ball"</string> + <string name="spoken_emoji_1F52F" msgid="8899031001317442792">"Six pointed star with middle dot"</string> + <string name="spoken_emoji_1F530" msgid="3572898444281774023">"Japanese symbol for beginner"</string> + <string name="spoken_emoji_1F531" msgid="5225633376450025396">"Trident emblem"</string> + <string name="spoken_emoji_1F532" msgid="9169568490485180779">"Black square button"</string> + <string name="spoken_emoji_1F533" msgid="6554193837201918598">"White square button"</string> + <string name="spoken_emoji_1F534" msgid="8339298801331865340">"Large red circle"</string> + <string name="spoken_emoji_1F535" msgid="1227403104835533512">"Large blue circle"</string> + <string name="spoken_emoji_1F536" msgid="5477372445510469331">"Large orange diamond"</string> + <string name="spoken_emoji_1F537" msgid="3158915214347274626">"Large blue diamond"</string> + <string name="spoken_emoji_1F538" msgid="4300084249474451991">"Small orange diamond"</string> + <string name="spoken_emoji_1F539" msgid="6535159756325742275">"Small blue diamond"</string> + <string name="spoken_emoji_1F53A" msgid="3728196273988781389">"Up-pointing red triangle"</string> + <string name="spoken_emoji_1F53B" msgid="7182097039614128707">"Down-pointing red triangle"</string> + <string name="spoken_emoji_1F53C" msgid="4077022046319615029">"Up-pointing small red triangle"</string> + <string name="spoken_emoji_1F53D" msgid="3939112784894620713">"Down-pointing small red triangle"</string> + <string name="spoken_emoji_1F550" msgid="7761392621689986218">"Clock face one o\'clock"</string> + <string name="spoken_emoji_1F551" msgid="2699448504113431716">"Clock face two o\'clock"</string> + <string name="spoken_emoji_1F552" msgid="5872107867411853750">"Clock face three o\'clock"</string> + <string name="spoken_emoji_1F553" msgid="8490966286158640743">"Clock face four o\'clock"</string> + <string name="spoken_emoji_1F554" msgid="7662585417832909280">"Clock face five o\'clock"</string> + <string name="spoken_emoji_1F555" msgid="5564698204520412009">"Clock face six o\'clock"</string> + <string name="spoken_emoji_1F556" msgid="7325712194836512205">"Clock face seven o\'clock"</string> + <string name="spoken_emoji_1F557" msgid="4398343183682848693">"Clock face eight o\'clock"</string> + <string name="spoken_emoji_1F558" msgid="3110507820404018172">"Clock face nine o\'clock"</string> + <string name="spoken_emoji_1F559" msgid="2972160366448337839">"Clock face ten o\'clock"</string> + <string name="spoken_emoji_1F55A" msgid="5568112876681714834">"Clock face eleven o\'clock"</string> + <string name="spoken_emoji_1F55B" msgid="6731739890330659276">"Clock face twelve o\'clock"</string> + <string name="spoken_emoji_1F55C" msgid="7838853679879115890">"Clock face one-thirty"</string> + <string name="spoken_emoji_1F55D" msgid="3518832144255922544">"Clock face two-thirty"</string> + <string name="spoken_emoji_1F55E" msgid="3092760695634993002">"Clock face three-thirty"</string> + <string name="spoken_emoji_1F55F" msgid="2326720311892906763">"Clock face four-thirty"</string> + <string name="spoken_emoji_1F560" msgid="5771339179963924448">"Clock face five-thirty"</string> + <string name="spoken_emoji_1F561" msgid="3139944777062475382">"Clock face six-thirty"</string> + <string name="spoken_emoji_1F562" msgid="8273944611162457084">"Clock face seven-thirty"</string> + <string name="spoken_emoji_1F563" msgid="8643976903718136299">"Clock face eight-thirty"</string> + <string name="spoken_emoji_1F564" msgid="3511070239796141638">"Clock face nine-thirty"</string> + <string name="spoken_emoji_1F565" msgid="4567451985272963088">"Clock face ten-thirty"</string> + <string name="spoken_emoji_1F566" msgid="2790552288169929810">"Clock face eleven-thirty"</string> + <string name="spoken_emoji_1F567" msgid="9026037362100689337">"Clock face twelve-thirty"</string> + <string name="spoken_emoji_1F5FB" msgid="9037503671676124015">"Mount Fuji"</string> + <string name="spoken_emoji_1F5FC" msgid="1409415995817242150">"Tokyo tower"</string> + <string name="spoken_emoji_1F5FD" msgid="2562726956654429582">"Statue of Liberty"</string> + <string name="spoken_emoji_1F5FE" msgid="1184469756905210580">"Silhouette of Japan"</string> + <string name="spoken_emoji_1F5FF" msgid="6003594799354942297">"Moyai"</string> + <string name="spoken_emoji_1F600" msgid="7601109464776835283">"Grinning face"</string> + <string name="spoken_emoji_1F601" msgid="746026523967444503">"Grinning face with smiling eyes"</string> + <string name="spoken_emoji_1F602" msgid="8354558091785198246">"Face with tears of joy"</string> + <string name="spoken_emoji_1F603" msgid="3861022912544159823">"Smiling face with open mouth"</string> + <string name="spoken_emoji_1F604" msgid="5119021072966343531">"Smiling face with open mouth and smiling eyes"</string> + <string name="spoken_emoji_1F605" msgid="6140813923973561735">"Smiling face with open mouth and cold sweat"</string> + <string name="spoken_emoji_1F606" msgid="3549936813966832799">"Smiling face with open mouth and tightly-closed eyes"</string> + <string name="spoken_emoji_1F607" msgid="2826424078212384817">"Smiling face with halo"</string> + <string name="spoken_emoji_1F608" msgid="7343559595089811640">"Smiling face with horns"</string> + <string name="spoken_emoji_1F609" msgid="5481030187207504405">"Winking face"</string> + <string name="spoken_emoji_1F60A" msgid="5023337769148679767">"Smiling face with smiling eyes"</string> + <string name="spoken_emoji_1F60B" msgid="3005248217216195694">"Face savouring delicious food"</string> + <string name="spoken_emoji_1F60C" msgid="349384012958268496">"Relieved face"</string> + <string name="spoken_emoji_1F60D" msgid="7921853137164938391">"Smiling face with heart-shaped eyes"</string> + <string name="spoken_emoji_1F60E" msgid="441718886380605643">"Smiling face with sunglasses"</string> + <string name="spoken_emoji_1F60F" msgid="2674453144890180538">"Smirking face"</string> + <string name="spoken_emoji_1F610" msgid="3225675825334102369">"Neutral face"</string> + <string name="spoken_emoji_1F611" msgid="7199179827619679668">"Expressionless face"</string> + <string name="spoken_emoji_1F612" msgid="985081329745137998">"Unamused face"</string> + <string name="spoken_emoji_1F613" msgid="5548607684830303562">"Face with cold sweat"</string> + <string name="spoken_emoji_1F614" msgid="3196305665259916390">"Pensive face"</string> + <string name="spoken_emoji_1F615" msgid="3051674239303969101">"Confused face"</string> + <string name="spoken_emoji_1F616" msgid="8124887056243813089">"Confounded face"</string> + <string name="spoken_emoji_1F617" msgid="7052733625511122870">"Kissing face"</string> + <string name="spoken_emoji_1F618" msgid="408207170572303753">"Face throwing a kiss"</string> + <string name="spoken_emoji_1F619" msgid="8645430335143153645">"Kissing face with smiling eyes"</string> + <string name="spoken_emoji_1F61A" msgid="2882157190974340247">"Kissing face with closed eyes"</string> + <string name="spoken_emoji_1F61B" msgid="3765927202787211499">"Face with stuck-out tongue"</string> + <string name="spoken_emoji_1F61C" msgid="198943912107589389">"Face with stuck-out tongue and winking eye"</string> + <string name="spoken_emoji_1F61D" msgid="7643546385877816182">"Face with stuck-out tongue and tightly-closed eyes"</string> + <string name="spoken_emoji_1F61E" msgid="1528732952202098364">"Disappointed face"</string> + <string name="spoken_emoji_1F61F" msgid="1853664164636082404">"Worried face"</string> + <string name="spoken_emoji_1F620" msgid="6051942001307375830">"Angry face"</string> + <string name="spoken_emoji_1F621" msgid="2114711878097257704">"Pouting face"</string> + <string name="spoken_emoji_1F622" msgid="29291014645931822">"Crying face"</string> + <string name="spoken_emoji_1F623" msgid="7803959833595184773">"Persevering face"</string> + <string name="spoken_emoji_1F624" msgid="8637637647725752799">"Face with look of triumph"</string> + <string name="spoken_emoji_1F625" msgid="6153625183493635030">"Disappointed but relieved face"</string> + <string name="spoken_emoji_1F626" msgid="6179485689935562950">"Frowning face with open mouth"</string> + <string name="spoken_emoji_1F627" msgid="8566204052903012809">"Anguished face"</string> + <string name="spoken_emoji_1F628" msgid="8875777401624904224">"Fearful face"</string> + <string name="spoken_emoji_1F629" msgid="1411538490319190118">"Weary face"</string> + <string name="spoken_emoji_1F62A" msgid="4726686726690289969">"Sleepy face"</string> + <string name="spoken_emoji_1F62B" msgid="3221980473921623613">"Tired face"</string> + <string name="spoken_emoji_1F62C" msgid="4616356691941225182">"Grimacing face"</string> + <string name="spoken_emoji_1F62D" msgid="4283677508698812232">"Loudly crying face"</string> + <string name="spoken_emoji_1F62E" msgid="726083405284353894">"Face with open mouth"</string> + <string name="spoken_emoji_1F62F" msgid="7746620088234710962">"Hushed face"</string> + <string name="spoken_emoji_1F630" msgid="3298804852155581163">"Face with open mouth and cold sweat"</string> + <string name="spoken_emoji_1F631" msgid="1603391150954646779">"Face screaming in fear"</string> + <string name="spoken_emoji_1F632" msgid="4846193232203976013">"Astonished face"</string> + <string name="spoken_emoji_1F633" msgid="4023593836629700443">"Flushed face"</string> + <string name="spoken_emoji_1F634" msgid="3155265083246248129">"Sleeping face"</string> + <string name="spoken_emoji_1F635" msgid="4616691133452764482">"Dizzy face"</string> + <string name="spoken_emoji_1F636" msgid="947000211822375683">"Face without mouth"</string> + <string name="spoken_emoji_1F637" msgid="1269551267347165774">"Face with medical mask"</string> + <string name="spoken_emoji_1F638" msgid="3410766467496872301">"Grinning cat face with smiling eyes"</string> + <string name="spoken_emoji_1F639" msgid="1833417519781022031">"Cat face with tears of joy"</string> + <string name="spoken_emoji_1F63A" msgid="8566294484007152613">"Smiling cat face with open mouth"</string> + <string name="spoken_emoji_1F63B" msgid="74417995938927571">"Smiling cat face with heart-shaped eyes"</string> + <string name="spoken_emoji_1F63C" msgid="6472812005729468870">"Cat face with wry smile"</string> + <string name="spoken_emoji_1F63D" msgid="1638398369553349509">"Kissing cat face with closed eyes"</string> + <string name="spoken_emoji_1F63E" msgid="6788969063020278986">"Pouting cat face"</string> + <string name="spoken_emoji_1F63F" msgid="1207234562459550185">"Crying cat face"</string> + <string name="spoken_emoji_1F640" msgid="6023054549904329638">"Weary cat face"</string> + <string name="spoken_emoji_1F645" msgid="5202090629227587076">"Face with no good gesture"</string> + <string name="spoken_emoji_1F646" msgid="6734425134415138134">"Face with OK gesture"</string> + <string name="spoken_emoji_1F647" msgid="1090285518444205483">"Person bowing deeply"</string> + <string name="spoken_emoji_1F648" msgid="8978535230610522356">"See-no-evil monkey"</string> + <string name="spoken_emoji_1F649" msgid="8486145279809495102">"Hear-no-evil monkey"</string> + <string name="spoken_emoji_1F64A" msgid="1237524974033228660">"Speak-no-evil monkey"</string> + <string name="spoken_emoji_1F64B" msgid="4251150782016370475">"Happy person raising one hand"</string> + <string name="spoken_emoji_1F64C" msgid="5446231430684558344">"Person raising both hands in celebration"</string> + <string name="spoken_emoji_1F64D" msgid="4646485595309482342">"Person frowning"</string> + <string name="spoken_emoji_1F64E" msgid="3376579939836656097">"Person with pouting face"</string> + <string name="spoken_emoji_1F64F" msgid="1044439574356230711">"Person with folded hands"</string> + <string name="spoken_emoji_1F680" msgid="513263736012689059">"Rocket"</string> + <string name="spoken_emoji_1F681" msgid="9201341783850525339">"Helicopter"</string> + <string name="spoken_emoji_1F682" msgid="8046933583867498698">"Steam locomotive"</string> + <string name="spoken_emoji_1F683" msgid="8772750354339223092">"Railway car"</string> + <string name="spoken_emoji_1F684" msgid="346396777356203608">"High-speed train"</string> + <string name="spoken_emoji_1F685" msgid="1237059817190832730">"High-speed train with bullet nose"</string> + <string name="spoken_emoji_1F686" msgid="3525197227223620343">"Train"</string> + <string name="spoken_emoji_1F687" msgid="5110143437960392837">"Metro"</string> + <string name="spoken_emoji_1F688" msgid="4702085029871797965">"Light rail"</string> + <string name="spoken_emoji_1F689" msgid="2375851019798817094">"Station"</string> + <string name="spoken_emoji_1F68A" msgid="6368370859718717198">"Tram"</string> + <string name="spoken_emoji_1F68B" msgid="2920160427117436633">"Tram car"</string> + <string name="spoken_emoji_1F68C" msgid="1061520934758810864">"Bus"</string> + <string name="spoken_emoji_1F68D" msgid="2890059031360969304">"Oncoming bus"</string> + <string name="spoken_emoji_1F68E" msgid="6234042976027309654">"Tram"</string> + <string name="spoken_emoji_1F68F" msgid="5871099334672012107">"Bus stop"</string> + <string name="spoken_emoji_1F690" msgid="8080964620200195262">"Minibus"</string> + <string name="spoken_emoji_1F691" msgid="999173032408730501">"Ambulance"</string> + <string name="spoken_emoji_1F692" msgid="1712863785341849487">"Fire engine"</string> + <string name="spoken_emoji_1F693" msgid="7987109037389768934">"Police car"</string> + <string name="spoken_emoji_1F694" msgid="6061658916653884608">"Oncoming police car"</string> + <string name="spoken_emoji_1F695" msgid="6913445460364247283">"Taxi"</string> + <string name="spoken_emoji_1F696" msgid="6391604457418285404">"Oncoming taxi"</string> + <string name="spoken_emoji_1F697" msgid="7978399334396733790">"Automobile"</string> + <string name="spoken_emoji_1F698" msgid="7006050861129732018">"Oncoming automobile"</string> + <string name="spoken_emoji_1F699" msgid="630317052666590607">"Recreational vehicle"</string> + <string name="spoken_emoji_1F69A" msgid="4739797891735823577">"Delivery truck"</string> + <string name="spoken_emoji_1F69B" msgid="4715997280786620649">"Articulated lorry"</string> + <string name="spoken_emoji_1F69C" msgid="5557395610750818161">"Tractor"</string> + <string name="spoken_emoji_1F69D" msgid="5467164189942951047">"Monorail"</string> + <string name="spoken_emoji_1F69E" msgid="169238196389832234">"Mountain railway"</string> + <string name="spoken_emoji_1F69F" msgid="7508128757012845102">"Suspension railway"</string> + <string name="spoken_emoji_1F6A0" msgid="8733056213790160147">"Mountain cableway"</string> + <string name="spoken_emoji_1F6A1" msgid="4666516337749347253">"Aerial tramway"</string> + <string name="spoken_emoji_1F6A2" msgid="4511220588943129583">"Ship"</string> + <string name="spoken_emoji_1F6A3" msgid="8412962252222205387">"Rowing boat"</string> + <string name="spoken_emoji_1F6A4" msgid="8867571300266339211">"Speedboat"</string> + <string name="spoken_emoji_1F6A5" msgid="7650260812741963884">"Horizontal traffic light"</string> + <string name="spoken_emoji_1F6A6" msgid="485575967773793454">"Vertical traffic light"</string> + <string name="spoken_emoji_1F6A7" msgid="6411048933816976794">"Construction sign"</string> + <string name="spoken_emoji_1F6A8" msgid="6345717218374788364">"Police cars revolving light"</string> + <string name="spoken_emoji_1F6A9" msgid="6586380356807600412">"Triangular flag on post"</string> + <string name="spoken_emoji_1F6AA" msgid="8954448167261738885">"Door"</string> + <string name="spoken_emoji_1F6AB" msgid="5313946262888343544">"No entry sign"</string> + <string name="spoken_emoji_1F6AC" msgid="6946858177965948288">"Smoking symbol"</string> + <string name="spoken_emoji_1F6AD" msgid="6320088669185507241">"No smoking symbol"</string> + <string name="spoken_emoji_1F6AE" msgid="1062469925352817189">"Put litter in its place symbol"</string> + <string name="spoken_emoji_1F6AF" msgid="2286668056123642208">"Do not litter symbol"</string> + <string name="spoken_emoji_1F6B0" msgid="179424763882990952">"Drinking water symbol"</string> + <string name="spoken_emoji_1F6B1" msgid="5585212805429161877">"Non-drinking water symbol"</string> + <string name="spoken_emoji_1F6B2" msgid="1771885082068421875">"Bicycle"</string> + <string name="spoken_emoji_1F6B3" msgid="8033779581263314408">"No bicycles"</string> + <string name="spoken_emoji_1F6B4" msgid="1999538449018476947">"Cyclist"</string> + <string name="spoken_emoji_1F6B5" msgid="340846352660993117">"Mountain cyclist"</string> + <string name="spoken_emoji_1F6B6" msgid="4351024386495098336">"Pedestrian"</string> + <string name="spoken_emoji_1F6B7" msgid="4564800655866838802">"No pedestrians"</string> + <string name="spoken_emoji_1F6B8" msgid="3020531906940267349">"Children crossing"</string> + <string name="spoken_emoji_1F6B9" msgid="1207095844125041251">"Mens symbol"</string> + <string name="spoken_emoji_1F6BA" msgid="2346879310071017531">"Womens symbol"</string> + <string name="spoken_emoji_1F6BB" msgid="2370172469642078526">"Restroom"</string> + <string name="spoken_emoji_1F6BC" msgid="5558827593563530851">"Baby symbol"</string> + <string name="spoken_emoji_1F6BD" msgid="9213590243049835957">"Toilet"</string> + <string name="spoken_emoji_1F6BE" msgid="394016533781742491">"Water closet"</string> + <string name="spoken_emoji_1F6BF" msgid="906336365928291207">"Shower"</string> + <string name="spoken_emoji_1F6C0" msgid="4592099854378821599">"Bath"</string> + <string name="spoken_emoji_1F6C1" msgid="2845056048320031158">"Bathtub"</string> + <string name="spoken_emoji_1F6C2" msgid="8117262514698011877">"Passport control"</string> + <string name="spoken_emoji_1F6C3" msgid="1176342001834630675">"Customs"</string> + <string name="spoken_emoji_1F6C4" msgid="1477622834179978886">"Baggage claim"</string> + <string name="spoken_emoji_1F6C5" msgid="2495834050856617451">"Left luggage"</string> +</resources> diff --git a/java/res/values-en-rAU/strings-letter-descriptions.xml b/java/res/values-en-rAU/strings-letter-descriptions.xml new file mode 100644 index 000000000..514bc6cbd --- /dev/null +++ b/java/res/values-en-rAU/strings-letter-descriptions.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<!-- + These accented letters (spoken_accented_letter_*) are unsupported by TTS. + These symbols (spoken_symbol_*) are also unsupported by TTS. + TODO: Remove these string resources when TTS/TalkBack support these letters. + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="spoken_accented_letter_00AA" msgid="4374325261868451570">"Feminine ordinal indicator"</string> + <string name="spoken_accented_letter_00B5" msgid="9031387673828823891">"Micro sign"</string> + <string name="spoken_accented_letter_00BA" msgid="5045198452071207437">"Masculine ordinal indicator"</string> + <string name="spoken_accented_letter_00DF" msgid="2260098367028134281">"Sharp S"</string> + <string name="spoken_accented_letter_00E0" msgid="2234515772182387086">"A, grave"</string> + <string name="spoken_accented_letter_00E1" msgid="7780174500802535063">"A, acute"</string> + <string name="spoken_accented_letter_00E2" msgid="7054108480488102631">"A, circumflex"</string> + <string name="spoken_accented_letter_00E3" msgid="8252569677935693343">"A, tilde"</string> + <string name="spoken_accented_letter_00E4" msgid="6610118430986969466">"A, diaeresis"</string> + <string name="spoken_accented_letter_00E5" msgid="7630449270070348394">"A, ring above"</string> + <string name="spoken_accented_letter_00E6" msgid="701838036007000032">"A, E, ligature"</string> + <string name="spoken_accented_letter_00E7" msgid="2991289211702135310">"C, cedilla"</string> + <string name="spoken_accented_letter_00E8" msgid="2080035251848179782">"E, grave"</string> + <string name="spoken_accented_letter_00E9" msgid="2708473976407506968">"E, acute"</string> + <string name="spoken_accented_letter_00EA" msgid="1898848081635119449">"E, circumflex"</string> + <string name="spoken_accented_letter_00EB" msgid="8318942663983499634">"E, diaeresis"</string> + <string name="spoken_accented_letter_00EC" msgid="7643810590358306098">"I, grave"</string> + <string name="spoken_accented_letter_00ED" msgid="8288035355103120759">"I, acute"</string> + <string name="spoken_accented_letter_00EE" msgid="1137417730211688894">"I, circumflex"</string> + <string name="spoken_accented_letter_00EF" msgid="8993714322731956785">"I, diaeresis"</string> + <string name="spoken_accented_letter_00F0" msgid="3427567511221967857">"Eth"</string> + <string name="spoken_accented_letter_00F1" msgid="6983294908255378605">"N, tilde"</string> + <string name="spoken_accented_letter_00F2" msgid="2623804069332183695">"O, grave"</string> + <string name="spoken_accented_letter_00F3" msgid="8945987631729216917">"O, acute"</string> + <string name="spoken_accented_letter_00F4" msgid="2415494299699717276">"O, circumflex"</string> + <string name="spoken_accented_letter_00F5" msgid="7320512716652765243">"O, tilde"</string> + <string name="spoken_accented_letter_00F6" msgid="9101179351242478555">"O, diaeresis"</string> + <string name="spoken_accented_letter_00F8" msgid="1488324280918884122">"O, stroke"</string> + <string name="spoken_accented_letter_00F9" msgid="2823570256527173278">"U, grave"</string> + <string name="spoken_accented_letter_00FA" msgid="6883092085077298608">"U, acute"</string> + <string name="spoken_accented_letter_00FB" msgid="4948239400399514418">"U, circumflex"</string> + <string name="spoken_accented_letter_00FC" msgid="2496066211694000442">"U, diaeresis"</string> + <string name="spoken_accented_letter_00FD" msgid="2400529610834233890">"Y, acute"</string> + <string name="spoken_accented_letter_00FE" msgid="8788160115017853040">"Thorn"</string> + <string name="spoken_accented_letter_00FF" msgid="5225610161025124830">"Y, diaeresis"</string> + <string name="spoken_accented_letter_0101" msgid="5573209280917268157">"A, macron"</string> + <string name="spoken_accented_letter_0103" msgid="2469151120095164730">"A, breve"</string> + <string name="spoken_accented_letter_0105" msgid="8312689789855786427">"A, ogonek"</string> + <string name="spoken_accented_letter_0107" msgid="5708507895287798642">"C, acute"</string> + <string name="spoken_accented_letter_0109" msgid="7008112603489583335">"C, circumflex"</string> + <string name="spoken_accented_letter_010B" msgid="5641359473019753216">"C, dot above"</string> + <string name="spoken_accented_letter_010D" msgid="1048661826408437168">"C, caron"</string> + <string name="spoken_accented_letter_010F" msgid="603374318657992205">"D, caron"</string> + <string name="spoken_accented_letter_0111" msgid="5517997642285938260">"D, stroke"</string> + <string name="spoken_accented_letter_0113" msgid="2326009009311798997">"E, macron"</string> + <string name="spoken_accented_letter_0115" msgid="3964545407091037747">"E, breve"</string> + <string name="spoken_accented_letter_0117" msgid="8799753183781089777">"E, dot above"</string> + <string name="spoken_accented_letter_0119" msgid="3772451226935709136">"E, ogonek"</string> + <string name="spoken_accented_letter_011B" msgid="7663481332351461288">"E, caron"</string> + <string name="spoken_accented_letter_011D" msgid="1181326600595482369">"G, circumflex"</string> + <string name="spoken_accented_letter_011F" msgid="6843415389823096647">"G, breve"</string> + <string name="spoken_accented_letter_0121" msgid="6205288708713306903">"G, dot above"</string> + <string name="spoken_accented_letter_0123" msgid="2394277128105386261">"G, cedilla"</string> + <string name="spoken_accented_letter_0125" msgid="6575866461277751345">"H, circumflex"</string> + <string name="spoken_accented_letter_0127" msgid="1316971762214091641">"H, stroke"</string> + <string name="spoken_accented_letter_0129" msgid="7824912405885325754">"I, tilde"</string> + <string name="spoken_accented_letter_012B" msgid="6772690258769905270">"I, macron"</string> + <string name="spoken_accented_letter_012D" msgid="2933871131556503448">"I, breve"</string> + <string name="spoken_accented_letter_012F" msgid="1340511254985181663">"I, ogonek"</string> + <string name="spoken_accented_letter_0131" msgid="5635600720566083969">"Dotless I"</string> + <string name="spoken_accented_letter_0133" msgid="7593704176516791941">"I, J, ligature"</string> + <string name="spoken_accented_letter_0135" msgid="4521109674238248436">"J, circumflex"</string> + <string name="spoken_accented_letter_0137" msgid="5886444641003852175">"K, cedilla"</string> + <string name="spoken_accented_letter_0138" msgid="4200294389170924853">"Kra"</string> + <string name="spoken_accented_letter_013A" msgid="3558015385412543517">"L, acute"</string> + <string name="spoken_accented_letter_013C" msgid="1853639924813858734">"L, cedilla"</string> + <string name="spoken_accented_letter_013E" msgid="7489345561739421886">"L, caron"</string> + <string name="spoken_accented_letter_0140" msgid="7946718707268270589">"L, middle dot"</string> + <string name="spoken_accented_letter_0142" msgid="752931798111122240">"L, stroke"</string> + <string name="spoken_accented_letter_0144" msgid="201843550323875352">"N, acute"</string> + <string name="spoken_accented_letter_0146" msgid="3403847152606051818">"N, cedilla"</string> + <string name="spoken_accented_letter_0148" msgid="9215300786722209338">"N, caron"</string> + <string name="spoken_accented_letter_0149" msgid="3191850286630154063">"N, preceded by apostrophe"</string> + <string name="spoken_accented_letter_014B" msgid="8503022408522837410">"Eng"</string> + <string name="spoken_accented_letter_014D" msgid="4452323602550610641">"O, macron"</string> + <string name="spoken_accented_letter_014F" msgid="2795957717094385336">"O, breve"</string> + <string name="spoken_accented_letter_0151" msgid="8013704745216410244">"O, double acute"</string> + <string name="spoken_accented_letter_0153" msgid="8410582495993285221">"O, E, ligature"</string> + <string name="spoken_accented_letter_0155" msgid="7601517174689798560">"R, acute"</string> + <string name="spoken_accented_letter_0157" msgid="9071455715455643810">"R, cedilla"</string> + <string name="spoken_accented_letter_0159" msgid="7726911392381543439">"R, caron"</string> + <string name="spoken_accented_letter_015B" msgid="1854129531164494117">"S, acute"</string> + <string name="spoken_accented_letter_015D" msgid="4743571603550582530">"S, circumflex"</string> + <string name="spoken_accented_letter_015F" msgid="1519945638631588761">"S, cedilla"</string> + <string name="spoken_accented_letter_0161" msgid="7493478552029144246">"S, caron"</string> + <string name="spoken_accented_letter_0163" msgid="9103547637928833069">"T, cedilla"</string> + <string name="spoken_accented_letter_0165" msgid="7306159398214872062">"T, caron"</string> + <string name="spoken_accented_letter_0167" msgid="5578767705098672443">"T, stroke"</string> + <string name="spoken_accented_letter_0169" msgid="413046581387735371">"U, tilde"</string> + <string name="spoken_accented_letter_016B" msgid="3209778874978859441">"U, macron"</string> + <string name="spoken_accented_letter_016D" msgid="2983326533258602840">"U, breve"</string> + <string name="spoken_accented_letter_016F" msgid="4416532499516387231">"U, ring above"</string> + <string name="spoken_accented_letter_0171" msgid="3435171971353200807">"U, double acute"</string> + <string name="spoken_accented_letter_0173" msgid="4494154432483553480">"U, ogonek"</string> + <string name="spoken_accented_letter_0175" msgid="2154545579611918513">"W, circumflex"</string> + <string name="spoken_accented_letter_0177" msgid="4034463827306904781">"Y, circumflex"</string> + <string name="spoken_accented_letter_017A" msgid="3368292232292925369">"Z, acute"</string> + <string name="spoken_accented_letter_017C" msgid="2834484584505860430">"Z, dot above"</string> + <string name="spoken_accented_letter_017E" msgid="1209240442434887098">"Z, caron"</string> + <string name="spoken_accented_letter_017F" msgid="317501463253362415">"Long S"</string> + <string name="spoken_accented_letter_01A1" msgid="630186564859044196">"O, horn"</string> + <string name="spoken_accented_letter_01B0" msgid="8544012177684640443">"U, horn"</string> + <string name="spoken_accented_letter_0219" msgid="1960371842020076066">"S, comma below"</string> + <string name="spoken_accented_letter_021B" msgid="1398418662032919032">"T, comma below"</string> + <string name="spoken_accented_letter_0259" msgid="2464085263158415898">"Schwa"</string> + <string name="spoken_accented_letter_1EA1" msgid="688124877202887630">"A, dot below"</string> + <string name="spoken_accented_letter_1EA3" msgid="327960130366386256">"A, hook above"</string> + <string name="spoken_accented_letter_1EA5" msgid="637406363453769610">"A, circumflex and acute"</string> + <string name="spoken_accented_letter_1EA7" msgid="1419591804181615409">"A, circumflex and grave"</string> + <string name="spoken_accented_letter_1EA9" msgid="6068887382734896756">"A, circumflex and hook above"</string> + <string name="spoken_accented_letter_1EAB" msgid="7236523151662538333">"A, circumflex and tilde"</string> + <string name="spoken_accented_letter_1EAD" msgid="2363364864106332076">"A, circumflex and dot below"</string> + <string name="spoken_accented_letter_1EAF" msgid="1576329511464272935">"A, breve and acute"</string> + <string name="spoken_accented_letter_1EB1" msgid="4634735072816076592">"A, breve and grave"</string> + <string name="spoken_accented_letter_1EB3" msgid="2325245849038771534">"A, breve and hook above"</string> + <string name="spoken_accented_letter_1EB5" msgid="3720427596242746295">"A, breve and tilde"</string> + <string name="spoken_accented_letter_1EB7" msgid="700415535653646695">"A, breve and dot below"</string> + <string name="spoken_accented_letter_1EB9" msgid="3901338692305890487">"E, dot below"</string> + <string name="spoken_accented_letter_1EBB" msgid="4028688699415417302">"E, hook above"</string> + <string name="spoken_accented_letter_1EBD" msgid="181253633045931897">"E, tilde"</string> + <string name="spoken_accented_letter_1EBF" msgid="3309618845007944963">"E, circumflex and acute"</string> + <string name="spoken_accented_letter_1EC1" msgid="8139046749226332542">"E, circumflex and grave"</string> + <string name="spoken_accented_letter_1EC3" msgid="3239674223053133383">"E, circumflex and hook above"</string> + <string name="spoken_accented_letter_1EC5" msgid="2216559244705714587">"E, circumflex and tilde"</string> + <string name="spoken_accented_letter_1EC7" msgid="9012731468253986792">"E, circumflex and dot below"</string> + <string name="spoken_accented_letter_1EC9" msgid="2901917620195717034">"I, hook above"</string> + <string name="spoken_accented_letter_1ECB" msgid="5470387489820034621">"I, dot below"</string> + <string name="spoken_accented_letter_1ECD" msgid="1340122876914839806">"O, dot below"</string> + <string name="spoken_accented_letter_1ECF" msgid="2326921263882559755">"O, hook above"</string> + <string name="spoken_accented_letter_1ED1" msgid="2885683296042774958">"O, circumflex and acute"</string> + <string name="spoken_accented_letter_1ED3" msgid="6857664926477376178">"O, circumflex and grave"</string> + <string name="spoken_accented_letter_1ED5" msgid="2015209467290624062">"O, circumflex and hook above"</string> + <string name="spoken_accented_letter_1ED7" msgid="7924481354960306389">"O, circumflex and tilde"</string> + <string name="spoken_accented_letter_1ED9" msgid="7023315590332365554">"O, circumflex and dot below"</string> + <string name="spoken_accented_letter_1EDB" msgid="2379438944917634496">"O, horn and acute"</string> + <string name="spoken_accented_letter_1EDD" msgid="8107077534204404085">"O, horn and grave"</string> + <string name="spoken_accented_letter_1EDF" msgid="1846880105528347966">"O, horn and hook above"</string> + <string name="spoken_accented_letter_1EE1" msgid="1520037313389776718">"O, horn and tilde"</string> + <string name="spoken_accented_letter_1EE3" msgid="907964027171008963">"O, horn and dot below"</string> + <string name="spoken_accented_letter_1EE5" msgid="1522024630360038700">"U, dot below"</string> + <string name="spoken_accented_letter_1EE7" msgid="7815412228302952637">"U, hook above"</string> + <string name="spoken_accented_letter_1EE9" msgid="4219119671251485651">"U, horn and acute"</string> + <string name="spoken_accented_letter_1EEB" msgid="4086009841269002231">"U, horn and grave"</string> + <string name="spoken_accented_letter_1EED" msgid="3528151733528719847">"U, horn and hook above"</string> + <string name="spoken_accented_letter_1EEF" msgid="3508548229409072119">"U, horn and tilde"</string> + <string name="spoken_accented_letter_1EF1" msgid="1912816350401931115">"U, horn and dot below"</string> + <string name="spoken_accented_letter_1EF3" msgid="7211760439435946494">"Y, grave"</string> + <string name="spoken_accented_letter_1EF5" msgid="8998864482764007384">"Y, dot below"</string> + <string name="spoken_accented_letter_1EF7" msgid="922043627252869200">"Y, hook above"</string> + <string name="spoken_accented_letter_1EF9" msgid="6213977100552260366">"Y, tilde"</string> + <string name="spoken_symbol_00A1" msgid="4281758332905123408">"Inverted exclamation mark"</string> + <string name="spoken_symbol_00AB" msgid="4093069643313064892">"Left-pointing double angle quotation mark"</string> + <string name="spoken_symbol_00B7" msgid="2447718728927874920">"Middle dot"</string> + <string name="spoken_symbol_00B9" msgid="8026257165451461231">"Superscript one"</string> + <string name="spoken_symbol_00BB" msgid="1102740075655373928">"Right-pointing double angle quotation mark"</string> + <string name="spoken_symbol_00BF" msgid="6233794752573788098">"Inverted question mark"</string> + <string name="spoken_symbol_2018" msgid="4886476295598930225">"Left single quotation mark"</string> + <string name="spoken_symbol_2019" msgid="8892530161598134083">"Right single quotation mark"</string> + <string name="spoken_symbol_201A" msgid="2072987157683446644">"Single low-9 quotation mark"</string> + <string name="spoken_symbol_201C" msgid="4588048378803665427">"Left double quotation mark"</string> + <string name="spoken_symbol_201D" msgid="1642776849495925895">"Right double quotation mark"</string> + <string name="spoken_symbol_2020" msgid="9084628638189344431">"Dagger"</string> + <string name="spoken_symbol_2021" msgid="5081396468559426475">"Double dagger"</string> + <string name="spoken_symbol_2030" msgid="9068837172419431755">"Per mille sign"</string> + <string name="spoken_symbol_2032" msgid="3014506329156664396">"Prime"</string> + <string name="spoken_symbol_2033" msgid="1251022699713475088">"Double prime"</string> + <string name="spoken_symbol_2039" msgid="6989616457213775957">"Single left-pointing angle quotation mark"</string> + <string name="spoken_symbol_203A" msgid="31245095449823701">"Single right-pointing angle quotation mark"</string> + <string name="spoken_symbol_2074" msgid="2116717717093306894">"Superscript four"</string> + <string name="spoken_symbol_207F" msgid="1706731172134246659">"Superscript latin small letter n"</string> + <string name="spoken_symbol_20B1" msgid="2159994270622444689">"Peso sign"</string> + <string name="spoken_symbol_2105" msgid="7289404939366976829">"Care of"</string> + <string name="spoken_symbol_2192" msgid="827804523596125414">"Rightwards arrow"</string> + <string name="spoken_symbol_2193" msgid="2659541693445985717">"Downwards arrow"</string> + <string name="spoken_symbol_2205" msgid="4457188084269117343">"Empty set"</string> + <string name="spoken_symbol_2206" msgid="4856786565708380687">"Increment"</string> + <string name="spoken_symbol_2264" msgid="5092061257745123554">"Less than or equal to"</string> + <string name="spoken_symbol_2265" msgid="1907966479878036357">"Greater than or equal to"</string> + <string name="spoken_symbol_2605" msgid="5202920479405857753">"Black star"</string> +</resources> diff --git a/java/res/values-en-rAU/strings-talkback-descriptions.xml b/java/res/values-en-rAU/strings-talkback-descriptions.xml new file mode 100644 index 000000000..78c290545 --- /dev/null +++ b/java/res/values-en-rAU/strings-talkback-descriptions.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2014, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="spoken_use_headphones" msgid="4313642710742229868">"Plug in a headset to hear password keys spoken aloud."</string> + <string name="spoken_current_text_is" msgid="4240549866156675799">"Current text is %s"</string> + <string name="spoken_no_text_entered" msgid="1711276837961785646">"No text entered"</string> + <string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> corrects <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> to <xliff:g id="CORRECTED_WORD">%3$s</xliff:g>"</string> + <string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> performs auto-correction"</string> + <string name="spoken_empty_suggestion" msgid="4250215619373459752">"No suggestion"</string> + <string name="spoken_description_unknown" msgid="5139930082759824442">"Unknown character"</string> + <string name="spoken_description_shift" msgid="7209798151676638728">"Shift"</string> + <string name="spoken_description_symbols_shift" msgid="3483198879916435717">"More symbols"</string> + <string name="spoken_description_shift_shifted" msgid="3122704922642232605">"Shift"</string> + <string name="spoken_description_symbols_shift_shifted" msgid="5179175466878186081">"Symbols"</string> + <string name="spoken_description_caps_lock" msgid="1224851412185975036">"Shift"</string> + <string name="spoken_description_delete" msgid="3878902286264983302">"Delete"</string> + <string name="spoken_description_to_symbol" msgid="8244903740201126590">"Symbols"</string> + <string name="spoken_description_to_alpha" msgid="4081215210530031950">"Letters"</string> + <string name="spoken_description_to_numeric" msgid="4560261331530795682">"Numbers"</string> + <string name="spoken_description_settings" msgid="7281251004003143204">"Settings"</string> + <string name="spoken_description_tab" msgid="8210782459446866716">"Tab"</string> + <string name="spoken_description_space" msgid="5908716896642059145">"Space"</string> + <string name="spoken_description_mic" msgid="6153138783813452464">"Voice input"</string> + <string name="spoken_description_emoji" msgid="7990051553008088470">"Emoji"</string> + <string name="spoken_description_return" msgid="3183692287397645708">"Return"</string> + <string name="spoken_description_search" msgid="5099937658231911288">"Search"</string> + <string name="spoken_description_dot" msgid="5644176501632325560">"Full stop"</string> + <string name="spoken_description_language_switch" msgid="6818666779313544553">"Switch language"</string> + <string name="spoken_description_action_next" msgid="431761808119616962">"Next"</string> + <string name="spoken_description_action_previous" msgid="2919072174697865110">"Previous"</string> + <string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"Shift enabled"</string> + <string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"Caps lock enabled"</string> + <string name="spoken_description_mode_symbol" msgid="111186851131446691">"Symbols mode"</string> + <string name="spoken_description_mode_symbol_shift" msgid="4305607977537665389">"More symbols mode"</string> + <string name="spoken_description_mode_alpha" msgid="4676004119618778911">"Letters mode"</string> + <string name="spoken_description_mode_phone" msgid="2061220553756692903">"Phone mode"</string> + <string name="spoken_description_mode_phone_shift" msgid="7879963803547701090">"Phone symbols mode"</string> + <string name="announce_keyboard_hidden" msgid="2313574218950517779">"Keyboard hidden"</string> + <string name="announce_keyboard_mode" msgid="6698257917367823205">"Showing <xliff:g id="KEYBOARD_MODE">%s</xliff:g> keyboard"</string> + <string name="keyboard_mode_date" msgid="6597407244976713364">"date"</string> + <string name="keyboard_mode_date_time" msgid="3642804408726668808">"date and time"</string> + <string name="keyboard_mode_email" msgid="1239682082047693644">"email"</string> + <string name="keyboard_mode_im" msgid="3812086215529493501">"messaging"</string> + <string name="keyboard_mode_number" msgid="5395042245837996809">"number"</string> + <string name="keyboard_mode_phone" msgid="2486230278064523665">"phone"</string> + <string name="keyboard_mode_text" msgid="9138789594969187494">"text"</string> + <string name="keyboard_mode_time" msgid="8558297845514402675">"time"</string> + <string name="keyboard_mode_url" msgid="8072011652949962550">"URL"</string> + <string name="spoken_descrption_emoji_category_recents" msgid="4185344945205590692">"Recents"</string> + <string name="spoken_descrption_emoji_category_people" msgid="8414196269847492817">"People"</string> + <string name="spoken_descrption_emoji_category_objects" msgid="6116297906606195278">"Objects"</string> + <string name="spoken_descrption_emoji_category_nature" msgid="5018340512472354640">"Nature"</string> + <string name="spoken_descrption_emoji_category_places" msgid="1163315840948545317">"Places"</string> + <string name="spoken_descrption_emoji_category_symbols" msgid="474680659024880601">"Symbols"</string> + <string name="spoken_descrption_emoji_category_emoticons" msgid="456737544787823539">"Emoticons"</string> + <string name="spoken_description_upper_case" msgid="4904835255229433916">"Capital <xliff:g id="LOWER_LETTER">%s</xliff:g>"</string> + <string name="spoken_letter_0049" msgid="4743162182646977944">"Capital I"</string> + <string name="spoken_letter_0130" msgid="4766619646231612274">"Capital I, dot above"</string> + <string name="spoken_symbol_unknown" msgid="717298227061173706">"Unknown symbol"</string> + <string name="spoken_emoji_unknown" msgid="5981009928135394306">"Unknown emoji"</string> + <string name="spoken_emoticon_3A_2D_21_20" msgid="2410905667389534573">"Bored face"</string> + <string name="spoken_emoticon_3A_2D_24_20" msgid="2481260475945560438">"Embarrassed face"</string> + <string name="spoken_emoticon_42_2D_29_20" msgid="1063205250387128068">"Face wearing sunglasses"</string> + <string name="spoken_emoticon_3A_4F_20" msgid="532695091593447238">"Surprised face"</string> + <string name="spoken_emoticon_3A_2D_2A_20" msgid="5612342617244114291">"Kissing face"</string> + <string name="spoken_emoticon_3A_2D_5B_20" msgid="2223507987759905920">"Frowning face"</string> + <string name="spoken_open_more_keys_keyboard" msgid="6832897688371903747">"Alternative characters are available"</string> + <string name="spoken_close_more_keys_keyboard" msgid="3524914657934712026">"Alternative characters are dismissed"</string> + <string name="spoken_open_more_suggestions" msgid="4231720702882969760">"Alternative suggestions are available"</string> + <string name="spoken_close_more_suggestions" msgid="9118455416075032839">"Alternative suggestions are dismissed"</string> +</resources> diff --git a/java/res/values-en-rAU/strings.xml b/java/res/values-en-rAU/strings.xml new file mode 100644 index 000000000..e60c7212e --- /dev/null +++ b/java/res/values-en-rAU/strings.xml @@ -0,0 +1,207 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/* +** +** Copyright 2008, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="english_ime_input_options" msgid="3909945612939668554">"Input options"</string> + <string name="use_contacts_for_spellchecking_option_title" msgid="5374120998125353898">"Look up contact names"</string> + <string name="use_contacts_for_spellchecking_option_summary" msgid="8754413382543307713">"Spell checker uses entries from your contact list"</string> + <string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrate on keypress"</string> + <string name="sound_on_keypress" msgid="6093592297198243644">"Sound on keypress"</string> + <string name="popup_on_keypress" msgid="123894815723512944">"Pop-up on key press"</string> + <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferences"</string> + <string name="settings_screen_accounts" msgid="2786418968536696670">"Accounts & Privacy"</string> + <string name="settings_screen_appearance" msgid="7358046399111611615">"Appearance & Layouts"</string> + <string name="settings_screen_gesture" msgid="8826372746901183556">"Gesture Typing"</string> + <string name="settings_screen_correction" msgid="1616818407747682955">"Text correction"</string> + <string name="settings_screen_advanced" msgid="7472408607625972994">"Advanced"</string> + <string name="settings_screen_theme" msgid="2137262503543943871">"Theme"</string> + <string name="enable_split_keyboard" msgid="4177264923999493614">"Enable split keyboard"</string> + <string name="cloud_sync_title" msgid="8579271074443847055">"Google Keyboard Sync"</string> + <string name="cloud_sync_summary" msgid="7684887161145650857">"Sync is turned on"</string> + <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sync your personal dictionary across devices"</string> + <string name="sync_now_title" msgid="3088838136743277721">"Sync now"</string> + <string name="clear_sync_data_title" msgid="2041801164014550565">"Delete Keyboard Cloud data"</string> + <string name="clear_sync_data_summary" msgid="993477139012576584">"Deletes your synced data from Google"</string> + <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Your synced data will be deleted from the cloud. Are you sure?"</string> + <string name="clear_sync_data_ok" msgid="613104067705915132">"Delete"</string> + <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancel"</string> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Your personal dictionary will be synced and backed up to Google servers. The statistical information of word frequency may be collected to help improve our products. The collection and usage of all the information will be compliant with "<a href="https://www.google.com/policies/privacy">"Google\'s Privacy Policy"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Please add a Google account to this device to enable this feature"</string> + <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Switch to other input methods"</string> + <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Language switch key also covers other input methods"</string> + <string name="show_language_switch_key" msgid="5915478828318774384">"Language switch key"</string> + <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Show when multiple input languages are enabled"</string> + <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Key pop-up dismiss delay"</string> + <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"No delay"</string> + <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Default"</string> + <string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g>ms"</string> + <string name="settings_system_default" msgid="6268225104743331821">"System default"</string> + <string name="use_contacts_dict" msgid="4435317977804180815">"Suggest Contact names"</string> + <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Use names from Contacts for suggestions and corrections"</string> + <string name="use_personalized_dicts" msgid="5167396352105467626">"Personalised suggestions"</string> + <string name="enable_metrics_logging" msgid="5506372337118822837">"Improve <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> + <string name="use_double_space_period" msgid="8781529969425082860">"Double-space full stop"</string> + <string name="use_double_space_period_summary" msgid="6532892187247952799">"Double tap on spacebar inserts a full stop followed by a space"</string> + <string name="auto_cap" msgid="1719746674854628252">"Auto-capitalisation"</string> + <string name="auto_cap_summary" msgid="7934452761022946874">"Capitalise the first word of each sentence"</string> + <string name="edit_personal_dictionary" msgid="3996910038952940420">"Personal dictionary"</string> + <string name="configure_dictionaries_title" msgid="4238652338556902049">"Add-on dictionaries"</string> + <string name="main_dictionary" msgid="4798763781818361168">"Main dictionary"</string> + <string name="prefs_show_suggestions" msgid="8026799663445531637">"Show correction suggestions"</string> + <string name="prefs_show_suggestions_summary" msgid="1583132279498502825">"Display suggested words while typing"</string> + <string name="prefs_block_potentially_offensive_title" msgid="5078480071057408934">"Block offensive words"</string> + <string name="prefs_block_potentially_offensive_summary" msgid="2371835479734991364">"Do not suggest potentially offensive words"</string> + <string name="auto_correction" msgid="7630720885194996950">"Auto-correction"</string> + <string name="auto_correction_summary" msgid="5625751551134658006">"Correct mistyped words automatically with spacebar and punctuation"</string> + <string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Off"</string> + <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string> + <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aggressive"</string> + <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Very aggressive"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Next-word suggestions"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Use the previous word when making suggestions"</string> + <string name="gesture_input" msgid="826951152254563827">"Enable gesture typing"</string> + <string name="gesture_input_summary" msgid="9180350639305731231">"Input a word by sliding through the letters"</string> + <string name="gesture_preview_trail" msgid="3802333369335722221">"Show gesture trail"</string> + <string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamic floating preview"</string> + <string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"See the suggested word while gesturing"</string> + <string name="gesture_space_aware" msgid="2078291600664682496">"Phrase gesture"</string> + <string name="gesture_space_aware_summary" msgid="4371385818348528538">"Input spaces during gestures by gliding to the space key"</string> + <string name="voice_input" msgid="3583258583521397548">"Voice input key"</string> + <string name="voice_input_disabled_summary" msgid="8141750303464726129">"No voice input methods enabled. Check Language & input settings."</string> + <string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string> + <string name="language_selection_title" msgid="3666971864764478269">"Languages"</string> + <string name="help_and_feedback" msgid="5328219371839879161">"Help & feedback"</string> + <string name="select_language" msgid="5709487854987078367">"Languages"</string> + <string name="hint_add_to_dictionary" msgid="573678656946085380">"Touch again to save"</string> + <string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Touch here to save"</string> + <string name="has_dictionary" msgid="6071847973466625007">"Dictionary available"</string> + <string name="keyboard_layout" msgid="8451164783510487501">"Keyboard theme"</string> + <string name="switch_accounts" msgid="3321216593719006162">"Change accounts"</string> + <string name="no_accounts_selected" msgid="2073821619103904330">"No accounts selected"</string> + <string name="account_selected" msgid="2846876462199625974">"Currently using <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>"</string> + <string name="account_select_ok" msgid="9141195141763227797">"OK"</string> + <string name="account_select_cancel" msgid="5181012062618504340">"Cancel"</string> + <string name="account_select_sign_out" msgid="3299651159390187933">"Sign out"</string> + <string name="account_select_title" msgid="6279711684772922649">"Select an account to use"</string> + <string name="subtype_en_GB" msgid="88170601942311355">"English (UK)"</string> + <string name="subtype_en_US" msgid="6160452336634534239">"English (US)"</string> + <string name="subtype_es_US" msgid="5583145191430180200">"Spanish (US)"</string> + <string name="subtype_hi_ZZ" msgid="8860448146262798623">"Hinglish"</string> + <string name="subtype_sr_ZZ" msgid="9059219552986034343">"Serbian (Latin)"</string> + <string name="subtype_with_layout_en_GB" msgid="1931018968641592304">"English (UK) (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_en_US" msgid="8809311287529805422">"English (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_with_layout_hi_ZZ" msgid="6827402953860547044">"Hinglish (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_with_layout_sr_ZZ" msgid="2859024772719772407">"Serbian (<xliff:g id="KEYBOARD_LAYOUT">%s</xliff:g>)"</string> + <string name="subtype_generic_traditional" msgid="8584594350973800586">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Traditional)"</string> + <string name="subtype_generic_compact" msgid="3353673321203202922">"<xliff:g id="LANGUAGE_NAME">%s</xliff:g> (Compact)"</string> + <string name="subtype_no_language" msgid="7137390094240139495">"No language (Alphabet)"</string> + <string name="subtype_no_language_qwerty" msgid="244337630616742604">"Alphabet (QWERTY)"</string> + <string name="subtype_no_language_qwertz" msgid="443066912507547976">"Alphabet (QWERTZ)"</string> + <string name="subtype_no_language_azerty" msgid="8144348527575640087">"Alphabet (AZERTY)"</string> + <string name="subtype_no_language_dvorak" msgid="1564494667584718094">"Alphabet (Dvorak)"</string> + <string name="subtype_no_language_colemak" msgid="5837418400010302623">"Alphabet (Colemak)"</string> + <string name="subtype_no_language_pcqwerty" msgid="5354918232046200018">"Alphabet (PC)"</string> + <string name="subtype_emoji" msgid="7483586578074549196">"Emoji"</string> + <string name="keyboard_theme" msgid="4909551808526178852">"Keyboard theme"</string> + <string name="custom_input_styles_title" msgid="8429952441821251512">"Customised input styles"</string> + <string name="add_style" msgid="6163126614514489951">"Add style"</string> + <string name="add" msgid="8299699805688017798">"Add"</string> + <string name="remove" msgid="4486081658752944606">"Remove"</string> + <string name="save" msgid="7646738597196767214">"Save"</string> + <string name="subtype_locale" msgid="8576443440738143764">"Language"</string> + <string name="keyboard_layout_set" msgid="4309233698194565609">"Layout"</string> + <string name="custom_input_style_note_message" msgid="8826731320846363423">"Your customised input style needs to be enabled before you start using it. Do you want to enable it now?"</string> + <string name="enable" msgid="5031294444630523247">"Enable"</string> + <string name="not_now" msgid="6172462888202790482">"Not now"</string> + <string name="custom_input_style_already_exists" msgid="8008728952215449707">"The same input style already exists: <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>"</string> + <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Keypress vibration duration"</string> + <string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Keypress sound volume"</string> + <string name="prefs_key_longpress_timeout_settings" msgid="6102240298932897873">"Key long press delay"</string> + <string name="button_default" msgid="3988017840431881491">"Default"</string> + <string name="setup_welcome_title" msgid="6112821709832031715">"Welcome to <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> + <string name="setup_welcome_additional_description" msgid="8150252008545768953">"with Gesture Typing"</string> + <string name="setup_start_action" msgid="8936036460897347708">"Get started"</string> + <string name="setup_next_action" msgid="371821437915144603">"Next step"</string> + <string name="setup_steps_title" msgid="6400373034871816182">"Setting up <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> + <string name="setup_step1_title" msgid="3147967630253462315">"Enable <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> + <string name="setup_step1_instruction" msgid="2578631936624637241">"Please tick \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" in your Language & input settings. This will authorise it to run on your device."</string> + <string name="setup_step1_finished_instruction" msgid="10761482004957994">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> is already enabled in your Language & input settings, so this step is done. On to the next one!"</string> + <string name="setup_step1_action" msgid="4366513534999901728">"Enable in Settings"</string> + <string name="setup_step2_title" msgid="6860725447906690594">"Switch to <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> + <string name="setup_step2_instruction" msgid="9141481964870023336">"Next, select \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" as your active text-input method."</string> + <string name="setup_step2_action" msgid="1660330307159824337">"Switch input methods"</string> + <string name="setup_step3_title" msgid="3154757183631490281">"Congratulations, you\'re all set!"</string> + <string name="setup_step3_instruction" msgid="8025981829605426000">"Now you can type in all your favourite apps with <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string> + <string name="setup_step3_action" msgid="600879797256942259">"Configure additional languages"</string> + <string name="setup_finish_action" msgid="276559243409465389">"Finished"</string> + <string name="app_name" msgid="6320102637491234792">"Dictionary Provider"</string> + <string name="dictionary_provider_name" msgid="3027315045397363079">"Dictionary Provider"</string> + <string name="dictionary_service_name" msgid="6237472350693511448">"Dictionary Service"</string> + <string name="download_description" msgid="6014835283119198591">"Dictionary update information"</string> + <string name="dictionary_settings_title" msgid="8091417676045693313">"Add-on dictionaries"</string> + <string name="dictionary_install_over_metered_network_prompt" msgid="3587517870006332980">"Dictionary available"</string> + <string name="dictionary_settings_summary" msgid="5305694987799824349">"Settings for dictionaries"</string> + <string name="user_dictionaries" msgid="3582332055892252845">"User dictionaries"</string> + <string name="default_user_dict_pref_name" msgid="1625055720489280530">"User dictionary"</string> + <string name="dictionary_available" msgid="4728975345815214218">"Dictionary available"</string> + <string name="dictionary_downloading" msgid="2982650524622620983">"Currently downloading"</string> + <string name="dictionary_installed" msgid="8081558343559342962">"Installed"</string> + <string name="dictionary_disabled" msgid="8950383219564621762">"Installed, disabled"</string> + <string name="cannot_connect_to_dict_service" msgid="9216933695765732398">"Problem connecting to dictionary service"</string> + <string name="no_dictionaries_available" msgid="8039920716566132611">"No dictionaries available"</string> + <string name="check_for_updates_now" msgid="8087688440916388581">"Refresh"</string> + <string name="last_update" msgid="730467549913588780">"Last updated"</string> + <string name="message_updating" msgid="4457761393932375219">"Checking for updates"</string> + <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> + <string name="go_to_settings" msgid="3876892339342569259">"Settings"</string> + <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> + <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"The selected language on your mobile device has an available dictionary.<br/> We recommend <b>downloading</b> the <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> dictionary to improve your typing experience.<br/> <br/> The download could take a minute or two over 3G. Charges may apply if you don\'t have an <b>unlimited data plan</b>.<br/> If you are not sure which data plan you have, we recommend finding a Wi-Fi connection to start the download automatically.<br/> <br/> Tip: You can download and remove dictionaries by going to <b>Language & input</b> in the <b>Settings</b> menu of your mobile device."</string> + <string name="download_over_metered" msgid="1643065851159409546">"Download now (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string> + <string name="do_not_download_over_metered" msgid="2176209579313941583">"Download over Wi-Fi"</string> + <string name="dict_available_notification_title" msgid="4583842811218581658">"A dictionary is available for <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g>"</string> + <string name="dict_available_notification_description" msgid="1075194169443163487">"Press to review and download"</string> + <string name="toast_downloading_suggestions" msgid="6128155879830851739">"Downloading: suggestions for <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> will be ready soon."</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">"Add"</string> + <string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"Add to dictionary"</string> + <string name="user_dict_settings_add_screen_title" msgid="5818914331629278758">"Phrase"</string> + <string name="user_dict_settings_add_dialog_more_options" msgid="5671682004887093112">"More options"</string> + <string name="user_dict_settings_add_dialog_less_options" msgid="2716586567241724126">"Fewer options"</string> + <string name="user_dict_settings_add_dialog_confirm" msgid="4703129507388332950">"OK"</string> + <string name="user_dict_settings_add_word_option_name" msgid="6665558053408962865">"Word:"</string> + <string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"Shortcut:"</string> + <string name="user_dict_settings_add_locale_option_name" msgid="4738643440987277705">"Language:"</string> + <string name="user_dict_settings_add_word_hint" msgid="4902434148985906707">"Type a word"</string> + <string name="user_dict_settings_add_shortcut_hint" msgid="2265453012555060178">"Optional shortcut"</string> + <string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"Edit word"</string> + <string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"Edit"</string> + <string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"Delete"</string> + <string name="user_dict_settings_empty_text" msgid="558499587532668203">"You don\'t have any words in the user dictionary. Add a word by touching the Add (+) button."</string> + <string name="user_dict_settings_all_languages" msgid="8276126583216298886">"For all languages"</string> + <string name="user_dict_settings_more_languages" msgid="7131268499685180461">"More languages…"</string> + <string name="user_dict_settings_delete" msgid="110413335187193859">"Delete"</string> + <string name="user_dict_fast_scroll_alphabet" msgid="5431919401558285473">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> +</resources> diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml index dd64cbb83..e60c7212e 100644 --- a/java/res/values-en-rGB/strings.xml +++ b/java/res/values-en-rGB/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google Keyboard Sync"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sync is turned on"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sync your personal dictionary across devices"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sync now"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Delete Keyboard Cloud data"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Deletes your synced data from Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Your synced data will be deleted from the cloud. Are you sure?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Delete"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancel"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Your personal dictionary will be synced and backed up to Google servers. The statistical information of word frequency may be collected to help improve our products. The collection and usage of all the information will be compliant with "<a href="https://www.google.com/policies/privacy">"Google\'s Privacy Policy"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Please add a Google account to this device to enable this feature"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Switch to other input methods"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Language switch key also covers other input methods"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Language switch key"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aggressive"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Very aggressive"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Next-word suggestions"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Use the previous word when making suggestions"</string> <string name="gesture_input" msgid="826951152254563827">"Enable gesture typing"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Input a word by sliding through the letters"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Show gesture trail"</string> diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml index dd64cbb83..e60c7212e 100644 --- a/java/res/values-en-rIN/strings.xml +++ b/java/res/values-en-rIN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google Keyboard Sync"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sync is turned on"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sync your personal dictionary across devices"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sync now"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Delete Keyboard Cloud data"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Deletes your synced data from Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Your synced data will be deleted from the cloud. Are you sure?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Delete"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancel"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Your personal dictionary will be synced and backed up to Google servers. The statistical information of word frequency may be collected to help improve our products. The collection and usage of all the information will be compliant with "<a href="https://www.google.com/policies/privacy">"Google\'s Privacy Policy"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Please add a Google account to this device to enable this feature"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Switch to other input methods"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Language switch key also covers other input methods"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Language switch key"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aggressive"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Very aggressive"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Next-word suggestions"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Use the previous word when making suggestions"</string> <string name="gesture_input" msgid="826951152254563827">"Enable gesture typing"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Input a word by sliding through the letters"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Show gesture trail"</string> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index a8c0ba046..1dcc0ce31 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronizar el Teclado de Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sincronización activada"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincroniza tu diccionario personal en distintos dispositivos."</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizar ahora"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Eliminar datos Teclado en la nube"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Elimina los datos sincronizados de Google."</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Se eliminarán los datos sincronizados de la nube. ¿Estás seguro?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Eliminar"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancelar"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Se creará una copia de tu diccionario personal y se sincronizará con los servidores de Google. Es posible que se recopile información estadística de la frecuencia de palabras para mejorar nuestros productos. La recopilación y el uso de toda la información se realizará conforme a la "<a href="https://www.google.com/policies/privacy">"Política de privacidad de Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Para habilitar esta función, agrega una cuenta de Google."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de entrada"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de cambio de idioma abarca otros métodos de entrada."</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de selección de idioma"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderado"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Intensa"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Muy intensa"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suger. de próxima palabra"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Usar la palabra anterior para hacer sugerencias"</string> <string name="gesture_input" msgid="826951152254563827">"Activar escritura gestual"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Ingresa una palabra al deslizarte sobre las letras."</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar recorrido de gesto"</string> diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml index 7a1d2f577..b0d5573d3 100644 --- a/java/res/values-es/strings.xml +++ b/java/res/values-es/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronización Teclado de Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sincronización activada"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincronizar el diccionario personal en diferentes dispositivos"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizar"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Eliminar datos Teclado en la nube"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Elimina tus datos sincronizados de Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Los datos sincronizados se eliminarán de la nube. ¿Continuar?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Eliminar"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancelar"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"El diccionario personal se sincroniza con los servidores de Google, donde se crea una copia de seguridad. Se puede recopilar información estadística sobre frecuencia de palabras para mejorar nuestros productos. Toda la información se recopila y se utiliza siguiendo las disposiciones de la "<a href="https://www.google.com/policies/privacy">"Política de privacidad de Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Añade una cuenta de Google al dispositivo para activar la función"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de introducción"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de cambio de idioma sirve también para otros métodos"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla para cambiar de idioma"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Parcial"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Total"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Casi total"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Sugerir siguiente palabra"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Usar la palabra anterior para hacer sugerencias"</string> <string name="gesture_input" msgid="826951152254563827">"Habilitar escritura gestual"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Introducir una palabra al deslizar el dedo por las letras"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar recorrido del gesto"</string> diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml index 050ff6b42..014b0dad8 100644 --- a/java/res/values-et-rEE/strings.xml +++ b/java/res/values-et-rEE/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sünkrooni Google\'i klaviatuur"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sünkroonimine on sisse lülitatud"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Isikliku kataloogi sünkroonimine kõigis seadmetes"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sünkrooni kohe"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Kustuta klaviatuuri pilveandmed"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Kustutab sünkroonitud andmed Google\'ist"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Teie sünkroonitud andmed kustutatakse pilvest. Kas olete kindel?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Kustuta"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Tühista"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Teie isiklik sõnastik sünkroonitakse ja varundatakse Google\'i serveritesse. Meie toodete parandamiseks võidakse koguda sõna esinemissageduse statistikat. Kogu teabe kogumine ja kasutamine toimub "<a href="https://www.google.com/policies/privacy">"Google\'i privaatsuseeskirjade"</a>" järgi."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Lisage selle funktsiooni lubamiseks seadmesse Google\'i konto"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Vaheta sisestusmeetodit"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Keelevahetuse võti hõlmab ka muid sisestusmeetodeid"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Keelevahetuse nupp"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mõõdukas"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agressiivne"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Väga agressiivne"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Järgmise sõna soovitused"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Soovituste tegemisel eelmise sõna kasutamine"</string> <string name="gesture_input" msgid="826951152254563827">"Luba joonistusega sisestamine"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Sõna sisestamine tähtede lohistamisega"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Näita liigutuse jälge"</string> diff --git a/java/res/values-eu-rES/strings.xml b/java/res/values-eu-rES/strings.xml index 399841cdf..c989f561c 100644 --- a/java/res/values-eu-rES/strings.xml +++ b/java/res/values-eu-rES/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google teklatuaren sinkronizazioa"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinkronizazioa aktibatuta dago"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Izan hiztegi pertsonala sinkronizatuta gailu guztietan"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinkronizatu"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Ezabatu teklatuaren hodeiko datuak"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Sinkronizatutako datuak ezabatzen ditu Google-tik"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Datuak hodeitik ezabatuko dira. Ziur hori egin nahi duzula?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Ezabatu"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Utzi"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Hiztegi pertsonalizatua sinkronizatu egingo da eta Google zerbitzarietan gordeko da babeskopia gisa. Hitzak erabiltzeko maiztasunari buruzko estatistikak bil daitezke produktuak hobetzen laguntzeko. Informazioaren bilketak eta erabilerak "<a href="https://www.google.com/policies/privacy">"Google Pribatutasun-gidalerroak"</a>" gordeko ditu uneoro."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Eginbidea gaitzeko, gehitu Google kontua gailuan"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Aldatu idazketa-metodoa"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Hizkuntza aldatzeko teklak beste idazketa-metodoetarako ere balio du"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Hizkuntza aldatzeko tekla"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Zuhurra"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Neurriz gainekoa"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Oso neurriz gainekoa"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Hurrengo hitza iradokitzea"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Erabili aurreko hitza iradokizunak egiteko"</string> <string name="gesture_input" msgid="826951152254563827">"Gaitu keinu bidezko idazketa"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Idatzi hitzak hizki batetik bestera hatza lerratuta"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Erakutsi keinuaren bidea"</string> diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index 7bc454712..4a06b95e6 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"همگامسازی صفحهکلید Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"همگامسازی روشن است"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"همگامسازی فرهنگ لغت شخصیتان در همه دستگاهها"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"اکنون همگامسازی شود"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"حذف دادههای Cloud صفحهکلید"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"اطلاعات همگامسازی شده شما را از Google حذف میکند"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"دادههای همگامسازی شده شما از cloud حذف میشوند. مطمئنید؟"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"حذف"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"لغو"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"فرهنگ لغت شخصی شما با سرورهای Google همگامسازی و در آنها پشتیبان گرفته میشود. ممکن است برای کمک به بهبود محصولات ما، اطلاعات آماری از فراوانی کلمه جمعآوری شود. جمعآوری و استفاده از همه اطلاعات مطابق با "<a href="https://www.google.com/policies/privacy">"خطمشی رازداری Google"</a>" خواهد بود."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"برای فعال کردن این ویژگی، یک حساب Google به این دستگاه اضافه کنید"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"تغییر به دیگر روشهای ورودی"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"کلید تغییر زبان، سایر ورودیهای زبان را نیز پوشش میدهد"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"کلید تغییر زبان"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"متوسط"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"شدید"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"بسیار شدید"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"پیشنهادات کلمه بعدی"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"استفاده از کلمه قبلی در ایجاد پیشنهادات"</string> <string name="gesture_input" msgid="826951152254563827">"فعال کردن تایپ حرکتی"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"ورود یک کلمه با کشیدن انگشت در میان حروف"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"نمایش نسخه آزمایشی حرکت"</string> diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index 449b6b171..d02edfa05 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google-näppäimistön synkronointi"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synkronointi on käytössä."</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synkronoi oma sanakirjasi eri laitteiden välillä."</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synkronoi"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Poista näppäimistötiedot pilvestä"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Poistaa synkronoidut tietosi Googlen palveluista"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Synkronoidut tiedot poistetaan pilvestä. Oletko varma?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Poista"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Peruuta"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Oma sanakirjasi synkronoidaan ja varmuuskopiodaan Googlen palvelimille. Sanojen yleisyyttä koskevia tilastotietoja voidaan kerätä tuotteidemme parantamiseksi. Tietojen keräämisessä ja käytössä noudatetaan "<a href="https://www.google.com/policies/privacy">"Googlen tietosuojakäytäntöä"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Ota tämä ominaisuus käyttöön lisäämällä Google-tili laitteeseen."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Käytä toista syöttötapaa"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kielenvaihtonäppäin kattaa myös muut syöttötavat"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Kielenvaihtonäppäin"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Osittainen"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aggressiivinen"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Hyvin aggressiivinen"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Seuraavan sanan ehdotukset"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Käytä edellistä sanaa ehdotuksien perusteena"</string> <string name="gesture_input" msgid="826951152254563827">"Ota piirtokirjoitus käyttöön"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Syötä sana piirtämällä kirjaimet sormellasi"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Näytä eleen jälki"</string> diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml index c3eef2f86..9e31cb32a 100644 --- a/java/res/values-fr-rCA/strings.xml +++ b/java/res/values-fr-rCA/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synchronisation du clavier Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"La synchronisation est activée"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synchronisez votre dictionnaire personnel sur plusieurs appareils"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synchroniser maintenant"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Supprimer données clavier nuage"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Supprime vos données synchronisées de Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Vos données synchronisées seront suppr. du nuage. Êtes-vous sûr?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Supprimer"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Annuler"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Votre dictionnaire personnel sera synchronisé et sauvegardé sur les serveurs de Google. Des statistiques concernant la fréquence des mots peuvent être recueillies pour nous aider à améliorer nos produits. La collecte et l\'utilisation de toutes les données sont effectuées conformément à la "<a href="https://www.google.com/policies/privacy">"politique de confidentialité de Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Ajoutez un compte Google à cet appareil pour activer la fonction."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Autres modes de saisie"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La touche de sélection de langue couvre d\'autres modes de saisie"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Touche de sélection de langue"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Simple"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Proactive"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Très exigeante"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suggestions pour le mot suivant"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Utiliser le mot précédent pour les suggestions"</string> <string name="gesture_input" msgid="826951152254563827">"Activer la saisie gestuelle"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Saisir un mot en faisant glisser le doigt sur les lettres"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Afficher le tracé du geste"</string> diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml index 92a22020e..6d3cadb6b 100644 --- a/java/res/values-fr/strings.xml +++ b/java/res/values-fr/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synchronisation du clavier Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"La synchronisation est activée."</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synchronisez votre dictionnaire personnel sur plusieurs appareils."</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synchroniser"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Supprimer données clavier cloud"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Supprime vos données synchronisées de Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Les données synchronisées seront supprimées du cloud. Continuer ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Supprimer"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Annuler"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Votre dictionnaire personnel sera synchronisé et sauvegardé sur les serveurs de Google. Des statistiques concernant la fréquence des mots peuvent être recueillies pour nous aider à améliorer nos produits. La collecte et l\'utilisation de toutes les informations sont effectuées conformément aux "<a href="https://www.google.com/policies/privacy">"Règles de confidentialité de Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Ajoutez compte Google à cet appareil pour activer fonctionnalité."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Autres modes de saisie"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La touche de sélection de langue couvre d\'autres modes de saisie."</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Touche de sélection de langue"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Simple"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Proactive"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Très proactive"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suggestions pour le mot suivant"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Utiliser le mot précédent pour les suggestions"</string> <string name="gesture_input" msgid="826951152254563827">"Activer la saisie gestuelle"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Saisir un mot en faisant glisser le doigt sur les lettres"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Afficher le tracé du geste"</string> diff --git a/java/res/values-gl-rES/strings.xml b/java/res/values-gl-rES/strings.xml index 5ed499316..070c355b3 100644 --- a/java/res/values-gl-rES/strings.xml +++ b/java/res/values-gl-rES/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronización do teclado Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"A sincronización está activada"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincroniza o teu dicionario persoal nos dispositivos"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizar agora"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Eliminar datos da nube do teclado"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Elimina os teus datos sincronizados de Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Os teus datos sincronizados eliminaranse da nube. Estás seguro?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Eliminar"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancelar"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Sincronizarase o teu dicionario persoal e realizarase unha copia de seguranza nos servidores de Google. Quizais se recompile información estatística da frecuencia das palabras para axudar a mellorar os nosos produtos. A recompilación e o uso de toda a información cumprirán coa "<a href="https://www.google.com/policies/privacy">"Política de privacidade de Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Engade unha conta de Google ao dispositivo para activar a función"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Outros métodos de entrada"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla de cambio de idioma inclúe outros métodos de entrada"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de cambio de idioma"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modesta"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresiva"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Moi agresiva"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suxerir palabra seguinte"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Utiliza a palabra anterior para facer suxestións"</string> <string name="gesture_input" msgid="826951152254563827">"Activar escritura con xestos"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Pasa o dedo entre as letras para introducir unha palabra"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percorrido dos xestos"</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index 74cdc48bd..03c547d24 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -28,7 +28,7 @@ <string name="popup_on_keypress" msgid="123894815723512944">"कुंजी दबाने पर पॉपअप दिखाएं"</string> <string name="settings_screen_preferences" msgid="2696713156722014624">"प्राथमिकताएं"</string> <string name="settings_screen_accounts" msgid="2786418968536696670">"खाते और गोपनीयता"</string> - <string name="settings_screen_appearance" msgid="7358046399111611615">"प्रकटन और लेआउट"</string> + <string name="settings_screen_appearance" msgid="7358046399111611615">"दिखावट और सज्जा"</string> <string name="settings_screen_gesture" msgid="8826372746901183556">"हावभाव लेखन"</string> <string name="settings_screen_correction" msgid="1616818407747682955">"लेख सुधार"</string> <string name="settings_screen_advanced" msgid="7472408607625972994">"अतिरिक्त सेटिंग"</string> @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google कीबोर्ड समन्वयन"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"समन्वयन चालू किया गया है"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"अपना व्यक्तिगत शब्दकोश सभी डिवाइसों में समन्वयित करें"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"अभी समन्वयन करें"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"कीबोर्ड क्लाउड डेटा हटाएं"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google से आपका समन्वयित डेटा हटाता है"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"आपका समन्वयित डेटा क्लाउड से हटा दिया जाएगा. आप सुनिश्चित हैं?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"हटाएं"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"रहने दें"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"आपका व्यक्तिगत शब्दकोश Google सर्वरों पर समन्वयित किया जाएगा और उसका बैक अप लिया जाएगा. हमारे उत्पादों को बेहतर बनाने में सहायता करने के लिए शब्द को दोहराने की सांख्यिकीय जानकारी एकत्र की जा सकती है. सभी जानकारी को एकत्र करना और उपयोग करना "<a href="https://www.google.com/policies/privacy">"Google की गोपनीयता नीति"</a>" के अनुपालन में होगा."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"यह सुविधा सक्षम करने के लिए इस डिवाइस पर एक Google खाता जोड़ें"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्य इनपुट पद्धतियों पर जाएं"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्विच कुंजी में अन्य इनपुट पद्धतियां भी शामिल हैं"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच कुंजी"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"साधारण"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"तेज़"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"बहुत तेज़"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"अगले शब्द के सुझाव"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"सुझाव बनाने में पिछले शब्द का उपयोग करें"</string> <string name="gesture_input" msgid="826951152254563827">"जेस्चर लिखना सक्षम करें"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"अक्षरों से स्लाइड करते हुए शब्द इनपुट करें"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"जेस्चर ट्रेल दिखाएं"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index 67ae1632e..ccd385d67 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sink. Googleove tipkovnice"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinkronizacija je uključena"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sinkronizirajte svoj osobni rječnik na više uređaja"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinkroniziraj sada"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Brisanje podataka iz oblaka"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Brisanje vaših sinkroniziranih podataka s Googlea"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Vaši sinkronizirani podaci izbrisat će se iz oblaka. Sigurni ste?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Izbriši"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Odustani"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Vaš osobni rječnik sinkronizirat će se i sigurnosno kopirati na Googleovim poslužiteljima. Moguće je prikupljanje statističkih podataka o učestalosti riječi radi poboljšanja naših proizvoda. Prikupljanje i upotreba svih podataka odvijat će se u skladu s "<a href="https://www.google.com/policies/privacy">"Googleovim pravilima o privatnosti"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Dodajte Google račun na uređaj da biste omogućili tu značajku"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prebaci na druge unose"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tipka za prebacivanje jezika pokriva i druge načine unosa"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tipka za izmjenjivanje jezika"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Skromno"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresivno"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Vrlo agresivno"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Prijedlozi za sljedeću riječ"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Koristi se prethodnom riječi u izradi prijedloga"</string> <string name="gesture_input" msgid="826951152254563827">"Omogući pisanje kretnjama"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Unesi riječ klizanjem preko slova"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Prikaži trag pokreta"</string> diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index 0c5a1ad17..a9023ae66 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google-billentyűzet szinkronizálása"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"A szinkronizálás be van kapcsolva"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Szinkronizálja személyes szótárát eszközei között"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Szinkronizálás most"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Billentyűzetadatok törlése"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Törli a Google rendszeréből a szinkronizált adatokat"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"A szinkronizált adatok törlődnek a felhőből. Biztosan folytatja?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Törlés"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Mégse"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"A rendszer szinkronizálni fogja az Ön személyes szótárát, és biztonsági mentést készít róla a Google szerverein. Termékeink továbbfejlesztése érdekében a rendszer a szavak előfordulási gyakoriságára vonatkozó statisztikai adatokat gyűjthet. Ezen információkat a "<a href="https://www.google.com/policies/privacy">"Google adatvédelmi irányelveivel"</a>" összhangban gyűjtjük és használjuk fel."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"A funkció engedélyezéséhez adjon egy Google-fiókot az eszközhöz"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Váltás más beviteli módra"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A nyelvkapcsoló gomb egyéb beviteli módokat is tartalmaz"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"A nyelvkapcsoló"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mérsékelt"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresszív"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Nagyon agresszív"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Következő szóra vonatkozó javaslatok"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Az előző szó felhasználása a javaslatoknál"</string> <string name="gesture_input" msgid="826951152254563827">"Kézmozdulatokkal gépelés"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Szó beírása úgy, hogy ujjait végigcsúsztatja a betűkön"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mozdulat irányának mutatása"</string> diff --git a/java/res/values-hy-rAM/strings-emoji-descriptions.xml b/java/res/values-hy-rAM/strings-emoji-descriptions.xml index dcc718e22..7339db654 100644 --- a/java/res/values-hy-rAM/strings-emoji-descriptions.xml +++ b/java/res/values-hy-rAM/strings-emoji-descriptions.xml @@ -552,8 +552,8 @@ <string name="spoken_emoji_1F4BE" msgid="4754542485835379808">"Ճկուն սկավառակ"</string> <string name="spoken_emoji_1F4BF" msgid="2237481756984721795">"Օպտիկական սկավառակ"</string> <string name="spoken_emoji_1F4C0" msgid="491582501089694461">"DVD"</string> - <string name="spoken_emoji_1F4C1" msgid="6645461382494158111">"Ֆայլերի թղթապանակ"</string> - <string name="spoken_emoji_1F4C2" msgid="8095638715523765338">"Ֆայլերի բաց թղթապանակ"</string> + <string name="spoken_emoji_1F4C1" msgid="6645461382494158111">"Ֆայլերի պանակ"</string> + <string name="spoken_emoji_1F4C2" msgid="8095638715523765338">"Ֆայլերի բաց պանակ"</string> <string name="spoken_emoji_1F4C3" msgid="3727274466173970142">"Ոլորված ծայրով էջ"</string> <string name="spoken_emoji_1F4C4" msgid="4382570710795501612">"Թեքված էջ"</string> <string name="spoken_emoji_1F4C5" msgid="8693944622627762487">"Օրացույց"</string> diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml index bb3545e37..98877b970 100644 --- a/java/res/values-hy-rAM/strings.xml +++ b/java/res/values-hy-rAM/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google Ստեղնաշարի համաժամեցում"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Համաժամեցումը միացված է"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Համաժամեցնել ձեր անհատական բառարանը սարքերի միջև"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Համաժամացնել հիմա"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Ջնջել Ստեղնաշարի ամպի տվյալները"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google- ից ջնջում է ձեր համաժամեցրած տվյալները"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Ձեր համաժամեցրած տվյալները ջնջվելու են ամպից: Շարունակե՞լ:"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Ջնջել"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Չեղարկել"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Ձեր անհատական բառարանը համաժամեցվելու և կրկնօրինակվելու է Google սերվերներում: Կարող են հավաքվել բառերի օգտագործման հաճախականության վիճակագրական տվյալներ՝ մեր արտադրանքների որակը բարելավելու նպատակով: Բոլոր տվյալները հավաքվելու և օգտագործվելու են "<a href="https://www.google.com/policies/privacy">"Google-ի Գաղտնիության քաղաքականության"</a>" դրույթների համաձայն:"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Այս հնարավորությունն ընձեռելու համար սարքում հավելեք Google հաշիվ"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Անցնել մուտքագրման այլ եղանակների"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Լեզվի փոխարկման բանալին ընդգրկում է այլ մուտքագրման եղանակներ ևս"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Լեզվի փոխարկման ստեղն"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Համեստ"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Ագրեսիվ"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Շատ ագրեսիվ"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Հաջորդ բառի առաջարկներ"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Առաջարկներ կազմելու համար օգտագործել նախորդ բառը"</string> <string name="gesture_input" msgid="826951152254563827">"Միացնել ժեստերով մուտքագրումը"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Մուտքագրեք բառ` սահեցնելով տառերը"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Ցույց տալ ժեստի հետագիծը"</string> diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index fe5a4b709..3131dd017 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sinkronisasi Keyboard Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinkronisasi diaktifkan"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Menyinkronkan kamus pribadi di perangkat"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinkronkan sekarang"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Hapus data Awan Keyboard"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Menghapus data yang disinkronkan dari Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Data yang disinkronkan akan dihapus dari awan. Anda yakin?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Hapus"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Batal"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Kamus pribadi akan disinkronkan dan dicadangkan ke server Google. Informasi statistik tentang frekuensi kata dapat dikumpulkan untuk membantu menyempurnakan produk kami. Pengumpulan dan penggunaan data tunduk pada "<a href="https://www.google.com/policies/privacy">"Kebijakan Privasi Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Tambahkan akun Google ke perangkat ini untuk mengaktifkan fitur ini"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Beralih ke metode masukan lain"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tombol beralih bahasa juga mencakup metode masukan lain"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tombol pengalih bahasa"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Sederhana"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresif"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Sangat agresif"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Saran kata berikutnya"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Gunakan kata sebelumnya dalam membuat saran"</string> <string name="gesture_input" msgid="826951152254563827">"Aktifkan pengetikan isyarat"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Masukkan kata dengan menggeser huruf ke kanan/kiri"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Tampilkan jejak isyarat"</string> diff --git a/java/res/values-is-rIS/strings.xml b/java/res/values-is-rIS/strings.xml index 0ca6406f3..049fcb203 100644 --- a/java/res/values-is-rIS/strings.xml +++ b/java/res/values-is-rIS/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Samstilling Google lyklaborðs"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Kveikt er á samstillingu"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Samstilltu orðabókina þína á milli tækja"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Samstilla núna"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Eyða lyklaborðsgögnum í skýi"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Eyðir samstilltum gögnum af Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Samstilltum gögnum frá þér verður eytt úr skýinu. Ertu viss?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Eyða"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Hætta við"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Orðabókin þín verður samstillt og afrituð á netþjóna Google. Hugsanlega verður talnagögnum um tíðni orða safnað til að gera vörur okkar betri. Söfnun og notkun allra upplýsinga fellur undir "<a href="https://www.google.com/policies/privacy">"persónuverndarstefnu Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Bættu Google reikningi við tækið til að virkja þennan eiginleika"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skipta um innsláttaraðferð"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Lykill til að skipta um mál inniheldur aðrar innsláttaraðferðir"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Lykill til að breyta tungumáli"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Hófleg"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Mikil"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Mjög mikil"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Tillögur að næsta orði"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Nota fyrra orð til að útbúa tillögur"</string> <string name="gesture_input" msgid="826951152254563827">"Kveikja á bendingainnslætti"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Slá inn orð með því að renna í gegnum stafina"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Sýna bendingaslóð"</string> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index d16f7a53c..42652f253 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronizzazione tastiera Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"La sicronizzazione è attiva"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincronizza il tuo dizionario personale sui dispositivi"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizza ora"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Elimina dati tastiera da Cloud"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"I dati sincronizzati vengono eliminati da Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"I tuoi dati sincronizzati verranno eliminati dalla cloud. Vuoi procedere?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Elimina"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Annulla"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Il·tuo·dizionario personale verrà·sincronizzato sui server di Google e ne verrà effettuato il backup. Potrebbero essere raccolte informazioni·statistiche·relative alla frequenza delle·parole·per migliorare i·nostri·prodotti. La·raccolta·e l\'utilizzo di tutte le informazioni·saranno·conformi·alle·"<a href="https://www.google.com/policies/privacy">"Norme sulla privacy di Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Per attivare la funzione, aggiungi un account Google al dispositivo"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altri metodi immissione"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Il tasto per cambiare lingua offre altri metodi di immissione"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tasto cambio lingua"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Media"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Molto elevata"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Massima"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suggerimenti parola successiva"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Usa la parola precedente per i suggerimenti"</string> <string name="gesture_input" msgid="826951152254563827">"Abilita digitazione a gesti"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Inserisci una parola scorrendo tra le lettere"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostra traccia con gesto"</string> diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index 1697d2f16..a631ab550 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"סנכרון מקלדת Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"הסנכרון פועל"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"סנכרן את המילון האישי בין מכשירים"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"סנכרן עכשיו"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"מחק את נתוני המקלדת מהענן"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"מוחק את הנתונים המסונכרנים שלך מ-Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"הנתונים המסונכרנים שלך יימחקו מהענן. האם אתה בטוח?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"מחק"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"בטל"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"המילון האישי שלך יסונכרן ויגובה בשרתי Google. ייתכן שהמידע הסטטיסטי לגבי תדירות מילים ייאסף כדי לעזור בשיפור המוצרים שלנו. איסוף המידע והשימוש בו יעשו בהתאם ל"<a href="https://www.google.com/policies/privacy">"מדיניות הפרטיות של Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"הוסף חשבון Google במכשיר הזה כדי להפעיל את התכונה הזו"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"עבור לשיטות קלט אחרות"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"מתג החלפת השפה מכסה גם שיטות קלט אחרות"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"מתג החלפת שפה"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"מצומצם"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"מחמיר"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"מחמיר מאוד"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"הצעות למילה הבאה"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"השתמש במילה הקודמת ביצירת הצעות"</string> <string name="gesture_input" msgid="826951152254563827">"אפשר הקלדה ללא הרמת אצבע"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"הזן מילה על ידי החלקת האצבע מאות לאות"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"הצג שובל תנועות"</string> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index 5b5af7d81..9c141a7ca 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Googleキーボードの同期"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"同期はON"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"端末間で単語リストを同期する"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"今すぐ同期"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"キーボードクラウドデータの削除"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Googleから同期データを削除します"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"クラウドから同期データを削除します。よろしいですか?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"削除"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"キャンセル"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"単語リストがGoogleのサーバーと同期され、サーバーにバックアップされます。Googleのサービス改善を目的として、語句の使用頻度に関する統計情報が収集される場合があります。収集した情報およびその利用方法は、"<a href="https://www.google.com/policies/privacy">"Googleプライバシーポリシー"</a>"に準拠します。"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"この機能を有効にするには端末にGoogleアカウントを追加してください"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"他の入力方法に切り替え"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"言語切り替えキーは他の入力方法にも対応しています"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"言語切り替えキー"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"中"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"強"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"最も強い"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"次の入力候補"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"前の単語に基づいて入力候補を表示します"</string> <string name="gesture_input" msgid="826951152254563827">"ジェスチャー入力を有効にする"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"文字間をスライドして単語を入力できます"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ジェスチャートレイルを表示"</string> diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml index 40ddc710d..d2fd47764 100644 --- a/java/res/values-ka-rGE/strings.xml +++ b/java/res/values-ka-rGE/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google კლავიატურის სინქრონიზება"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"სინქრონიზება ჩართულია"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"აწარმოეთ თქვენი პერს. ლექსიკონის სინქ. მოწყობილობების მასშტაბით"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ახლა სინქრონიზაცია"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"კლავიატურის ღრ. მონაცემების წაშლა"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"წაშლის Google-თან თქვენს სინქრონიზებულს მონაცემებს"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"თქვენი სინქ. მონაც. წაიშლება ღრუბ. სივრციდან. დარწმუნებული ხართ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"წაშლა"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"გაუქმება"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"თქვენი პერსონალური ლექსიკონი სინქრონიზდება და შეინახება სარეზერვოდ Google სერვერებზე. ჩვენი პროდუქტების გასაუმჯობესებლად, შეიძლება შეგროვდეს სტატისტიკური ინფორმაცია სიტყვების სიხშირის შესახებ. ნებისმიერი ინფორმაციის შეგროვება და გამოყენება "<a href="https://www.google.com/policies/privacy">"Google-ის კონფიდენციალურობის პოლიტიკასთან"</a>" შესაბამისობაში იქნება."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"ფუნქციის ჩასართავად, გთხოვთ მოწყობილობას Google ანგარიში დაამატოთ"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"შეყვანის სხვა მეთოდებზე გადართვა"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ენის გადართვის ღილაკს შეყვანის სხვა მეთოდებსაც შეიცავს"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"ენის გადართვის კლავიში"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"მოკრძალებული"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"აგრესიული"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"ძალიან აგრესიული"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"შემდეგი სიტყვის შეთავაზებები"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"შეთავაზებებისას წინა სიტყვის გამოყენება"</string> <string name="gesture_input" msgid="826951152254563827">"ჟესტებით წერის ჩართვა"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"სიტყვის შეყვანა ასო-ნიშნებზე გასრიალებით"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ჟესტიკულაციის კუდის ჩვენება"</string> diff --git a/java/res/values-kk-rKZ/strings.xml b/java/res/values-kk-rKZ/strings.xml index e0b2f8cd4..7d5fc1e66 100644 --- a/java/res/values-kk-rKZ/strings.xml +++ b/java/res/values-kk-rKZ/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google пернетақтасын синхрондау"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Синхрондау қосылды"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Жеке сөздікті құрылғылар арасында синхрондау"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Қазір синхрондау"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Пернетақта бұлт деректерін жою"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Синхрондалған деректерді Google жүйесінен жояды"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Синхрондалған деректер бұлттан жойылады. Сіз сенімдісіз бе?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Жою"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Бас тарту"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Жеке сөздігіңіз синхрондалады және Google серверлеріне сақтық көшірмесі жасалады. Сөз жиілігінің статистикалық ақпараты өнімдерімізді жақсарту үшін жинақталуы мүмкін. Барлық ақпаратты жинау және пайдалану "<a href="https://www.google.com/policies/privacy">" Google құпиялылық саясатына "</a>"сәйкес орындалады."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Мүмкіндікті қосу үшін құрылғыға Google есептік жазбасын қосыңыз"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Басқа енгізу әдістеріне ауыстырыңыз"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тілді ауыстыру пернесі басқа енгізу әдістерін де қамтиды"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Тілді ауыстыру пернесі"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Баяу"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Белсенді"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Өте белсенді"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Келесі сөз ұсыныстары"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Ұсыныстар жасауда бастапқы сөзді пайдалану"</string> <string name="gesture_input" msgid="826951152254563827">"Қимылмен теруді қосу"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Әріптерді жанап өту арқылы сөзді енгізу"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Қимыл қадамын көрсету"</string> diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml index 3dba35091..2df7ef360 100644 --- a/java/res/values-km-rKH/strings.xml +++ b/java/res/values-km-rKH/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"សមកាលកម្មលើក្តារចុច Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"សមកាលម្មត្រូវបានបើក"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ធ្វើសមកាលកម្មបញ្ជីឯកសារផ្ទាល់ខ្លួនឆ្លងឧបករណ៍"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ធ្វើសម្មកាលកម្មឥឡូវនេះ"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"លុបទិន្នន័យក្តារចុចពពក"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"លុបទិន្នន័យដែលបានធ្វើសមកាលកម្មរបស់អ្នកចេញពី Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"ទិន្នន័យធ្វើសមកាលកម្មរបស់អ្នកនឹងត្រូវបានលុបពីពពក។ តើអ្នកប្រាកដទេ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"លុប"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"បោះបង់"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"បញ្ជីឯកសារផ្ទាល់ខ្លួនរបស់អ្នកនឹងត្រូវបានធ្វើសមកាលកម្ម និងបម្រុងទុកនៅក្នុងម៉ាស៊ីនមេ Google។ ព័ត៌មានស្ថិតិនៃចំនួនពាក្យដែលឧស្សាហ៍ប្រើអាចត្រូវបានប្រមូលដើម្បីធ្វើឲ្យផលិតផលរបស់ពួកយើងប្រសើរជាងមុន។ ការប្រមូល និងការប្រើប្រាស់ព័ត៌មាន នឹងត្រូវអនុលោមតាម "<a href="https://www.google.com/policies/privacy">"គោលការណ៍ភាពឯកជនរបស់ Google"</a>"។"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"សូមបន្ថែមគណនី Google ទៅឧបករណ៍នេះដើម្បីបើកដំណើរការលក្ខណៈពិសេសនេះ"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ប្ដូរទៅវិធីសាស្ត្របញ្ចូលផ្សេងទៀត"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"គ្រាប់ចុចប្ដូរភាសាតាមវិធីសាស្ត្របញ្ចូលផ្សេងទៀត"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"គ្រាប់ចុចប្ដូរភាសា"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ល្មម"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"បំពាន"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"បំពានខ្លាំង"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"ការស្នើពាក្យបន្ទាប់"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"ប្រើពាក្យមុននៅពេលធ្វើការស្នើ"</string> <string name="gesture_input" msgid="826951152254563827">"បើកការបញ្ចូលកាយវិការ"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"បញ្ចូលពាក្យដោយរំកិលតាមអក្សរ"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"បង្ហាញដានកាយវិការ"</string> diff --git a/java/res/values-kn-rIN/strings.xml b/java/res/values-kn-rIN/strings.xml index 3ddda5f31..e63d574d9 100644 --- a/java/res/values-kn-rIN/strings.xml +++ b/java/res/values-kn-rIN/strings.xml @@ -37,17 +37,15 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google ಕೀಬೋರ್ಡ್ ಸಿಂಕ್"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"ಸಿಂಕ್ ಆನ್ ಆಗಿದೆ"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ನಿಘಂಟನ್ನು ಸಾಧನಗಳಲ್ಲಿ ಸಿಂಕ್ ಮಾಡಿ"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ಇದೀಗ ಸಿಂಕ್ ಮಾಡಿ"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"ಕೀಬೋರ್ಡ್ ಮೇಘ ಡೇಟಾವನ್ನು ಅಳಿಸಿ"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google ನಿಂದ ನಿಮ್ಮ ಸಿಂಕ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"ನಿಮ್ಮ ಸಿಂಕ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ಮೇಘದಿಂದ ಅಳಿಸಲಾಗುತ್ತದೆ. ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"ಅಳಿಸು"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"ರದ್ದುಮಾಡು"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <!-- unknown quoting pattern: original -1, translation 1 --> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ನಿಘಂಟನ್ನು Google ಸರ್ವರ್ಗಳಿಗೆ ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ &amp; ಬ್ಯಾಕಪ್ ಮಾಡಲಾಗುತ್ತದೆ. ನಮ್ಮ ಉತ್ಪನ್ನಗಳನ್ನು ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡಲು ಪದ ಆವರ್ತನೆ ಅಂಕಿಅಂಶವನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು. ಎಲ್ಲಾ ಮಾಹಿತಿಯ ಸಂಗ್ರಹಣೆ ಮತ್ತು ಬಳಕೆಯ "<a href="https://www.google.com/policies/privacy">"Google ನ ಗೌಪ್ಯತೆ ನೀತಿ"</a>" ಯ ಅಡಿಯಲ್ಲಿ ಅನುಸರಣೆ ಮಾಡಲಾಗುತ್ತದೆ."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"ಈ ಸಾಧನಕ್ಕೆ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ದಯವಿಟ್ಟು Google ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ಇತರೆ ಇನ್ಪುಟ್ ವಿಧಾನಗಳಿಗೆ ಬದಲಾಯಿಸು"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ಭಾಷಾ ಬದಲಾವಣೆ ಕೀಯು ಇತರೆ ಇನ್ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಕೂಡ ಒಳಗೊಂಡಿರುತ್ತದೆ"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"ಭಾಷೆ ಬದಲಾವಣೆ ಕೀ"</string> @@ -78,6 +76,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ಸಾಧಾರಣ"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"ಆಕ್ರಮಣಶೀಲ"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"ಹೆಚ್ಚು ಆಕ್ರಮಣಶೀಲ"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"ಮುಂದಿನ ಪದದ ಸಲಹೆಗಳು"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"ಸಲಹೆಗಳನ್ನು ಮಾಡುವಾಗ ಹಿಂದಿನ ಪದವನ್ನು ಬಳಸು"</string> <string name="gesture_input" msgid="826951152254563827">"ಗೆಶ್ಚರ್ ಟೈಪಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸು"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"ಅಕ್ಷರಗಳ ಮೇಲೆ ಸರಿಸುವ ಮೂಲಕ ಪದವೊಂದನ್ನು ನಮೂದಿಸಿ"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ಗೆಶ್ಚರ್ ಟ್ರಯಲ್ ತೋರಿಸು"</string> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index c7c8a836e..ac401f7db 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google 키보드 동기화"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"동기화가 사용 설정됩니다."</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"개인 사전을 기기 간에 동기화합니다."</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"지금 동기화"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"키보드 클라우드 데이터 삭제"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google에서 동기화된 데이터 삭제"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"동기화된 데이터가 클라우드에서 삭제됩니다. 계속하시겠습니까?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"삭제"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"취소"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"개인 사전이 Google 서버에 동기화되며 백업됩니다. Google의 제품 개선을 위해 단어 빈도에 관한 통계 정보가 수집될 수 있습니다. 모든 정보는 "<a href="https://www.google.com/policies/privacy">"Google 개인정보취급방침"</a>"에 따라 수집되고 사용됩니다."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"이 기능을 사용하려면 기기에 Google 계정을 추가하세요."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"다른 입력 방법으로 전환"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"언어 전환 키가 제공하는 기타 입력 방법"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"언어 전환 키"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"약"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"강력"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"매우 강력"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"다음 단어 추천"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"추천할 때 이전 단어를 사용"</string> <string name="gesture_input" msgid="826951152254563827">"제스처 타이핑 사용"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"문자를 슬라이드하여 단어 입력"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"제스처 흔적 표시"</string> diff --git a/java/res/values-ky-rKG/strings.xml b/java/res/values-ky-rKG/strings.xml index 3b48937fd..88d2f9590 100644 --- a/java/res/values-ky-rKG/strings.xml +++ b/java/res/values-ky-rKG/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google тергичин шайкештирүү"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Шайкештирүү өчүрүлгөн"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Жеке сөздүгүңүздү бардык түзмөктөрүңүздө шайкештириңиз"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Азыр шайкштр"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Ариптктнн булут дйндрн жок кыл"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Шайкештештирилген дайындарыңыз Google\'дан жок кылынат"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Шайкештирилген дайындарыңыз булуттан жок кылынат. Макулсузбу?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Жок кылуу"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Жокко чыгаруу"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Жеке сөздүгүңүз шайкештирилет жана Google серверлерине сакталат. Өндүрүмдөрүбүздү жакшыртууга жардамдашуу максатында сөз жыштыгынын статистикалык маалыматы топтолушу мүмкүн. Бардык маалыматты топтоо жана колдонуу "<a href="https://www.google.com/policies/privacy">"Google\'дун Купуялык Саясатына"</a>" ылайык болот."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Бул өзгөчөлүктү иштт ү-н ушул түзмөккө Google каттоо эсбн кошңз"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Башка киргзүү ыкмалрна которуу"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тил которуштуруу баскычында башка киргизүү ыкмалары дагы камтылган"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Тил которуштуруу баскычы"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Жөнөкөй"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Күжүрмөн"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Аябай күжүрмөн"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Кийинки сөздү сунуштоо"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Сунуштоодо мурунку сөздү пайдалануу"</string> <string name="gesture_input" msgid="826951152254563827">"Жаңсап терүүнү иштетүү"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Тамгаларды сүрүп сөз киргизүү"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Жаңсоо изи көрүнүп турсун"</string> diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml index f895c3dd8..e8d409f7f 100644 --- a/java/res/values-lo-rLA/strings.xml +++ b/java/res/values-lo-rLA/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"ການຊິງຄ໌ແປ້ນພິມ Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"ຊິງຄ໌ເປີດແລ້ວ"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ຊິງຄ໌ພົດຈະນານຸກົມສ່ວນຕົວຂອງທ່ານໃນທຸກອຸປະກອນ"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ຊິງຄ໌ດຽວນີ້"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"ລຶບຂໍ້ມູນຄລາວແປ້ນພິມ"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"ລຶບຂໍ້ມູນທີ່ຊິງຄ໌ແລ້ວຂອງທ່ານຈາກ Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"ຂໍ້ມູນທີ່ຊິງຄ໌ແລ້ວຂອງທ່ານຈະຖືກລຶບໄປຈາກຄລາວ. ທ່ານແນ່ໃຈບໍ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"ລຶບ"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"ຍົກເລີກ"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"ພົດຈະນານຸກົມສ່ວນຕົວຂອງທ່ານຈະຖືກຊິງຄ໌ ແລະສຳຮອງໄປໃສ່ເຊີບເວີ Google. ຂໍ້ມູນສະຖິຕິຂອງຄວາມຖີ່ຄຳເວົ້າອາດຈະຖືກເກັບກຳ ເພື່ອຊ່ວຍປັບປຸງຜະລິດຕະພັນຂອງທ່ານ. ການເກັບກຳ ແລະການນຳໃຊ້ທຸກຂໍ້ມູນຈະເປັນໄປຕາມ "<a href="https://www.google.com/policies/privacy">"ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວຂອງ Googl"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"ກະລຸນາເພີ່ມບັນຊີ Google ໃສ່ອຸປະກອນນີ້ ເພື່ອເປີດໃຊ້ງານຄຸນສົມບັດນີ້"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ປ່ຽນໄປໃຊ້ການປ້ອນຂໍ້ມູນແບບອື່ນ"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ໂຕປ່ຽນພາສາເປັນທັງໂຕປ່ຽນຮູບແບບການປ້ອນຂໍ້ມູນເຊັ່ນກັນ"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"ປຸ່ມປ່ຽນພາສາ"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ປານກາງ"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"ສູງ"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"ສູງສຸດ"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"ການແນະນຳຄຳຕໍ່ໄປ"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"ໃຊ້ຄຳທີ່ຜ່ານມາໃນການແນະນຳຄຳ"</string> <string name="gesture_input" msgid="826951152254563827">"ເປີດນຳໃຊ້ການພິມແບບ Gesture"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"ໃສ່ຄຳສັບລົງໄປໂດຍການສະໄລ້ຜ່ານໂຕອັກສອນ"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ສະແດງຫາງຂອງ Gesture"</string> diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index dbb7f2fca..61e8f14d4 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"„Google“ klaviatūros sinchroniz."</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinchronizavimas įjungtas"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sinchronizuokite asmeninį žodyną visuose įrenginiuose"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinchronizuoti dabar"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Ištrinti klaviat. duom. debesyje"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Ištrinami sinchronizuoti duomenys iš „Google“"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Sinchron. duomenys bus ištrinti iš debesies. Norite tai atlikti?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Ištrinti"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Atšaukti"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Asmeninis žodynas bus sinchronizuotas ir atsarginė kopija sukurta „Google“ serveriuose. Gali būti renkama statistinė žodžių dažnumo informacija, kad būtų galima patobulinti produktus. Visa informacija renkama ir naudojama laikantis "<a href="https://www.google.com/policies/privacy">"„Google“ privatumo politikos"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Pridėkite „Google“ paskyrą prie įreng., kad įgalint. šią funkciją"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Perj. į kt. įvesties būd."</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kalbos perjungimo klavišu taip pat perjungiami įvesties būdai"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Kalbos keitimo klavišas"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Vidutinis"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Atkakliai"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Labai atkakliai"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Kito žodžio pasiūlymai"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Sudarant pasiūlymus naudoti ankstesnį žodį"</string> <string name="gesture_input" msgid="826951152254563827">"Įgalinti teksto vedimą gestais"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Įvesti žodį slenkant raidėmis"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Rodyti gestų kelią"</string> diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index d3540c473..22b8df338 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google tastatūras sinhronizācija"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinhronizācija ir ieslēgta."</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sinhronizējiet savu personisko vārdnīcu vairākās ierīcēs."</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinhronizēt tūlīt"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Dzēst Tastatūras mākoņa datus"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Dzēš sinhronizētos datus no Google serveriem"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Sinhronizētie dati tiks dzēsti no mākoņa. Vai tiešām to vēlaties?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Dzēst"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Atcelt"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Jūsu personiskā vārdnīca tiks sinhronizēta un dublēta Google serveros. Mūsu produktu uzlabošanas nolūkos var tikt apkopota statistiskā informācija par vārdu biežumu. Visa informācija tiks apkopota un izmantota saskaņā ar "<a href="https://www.google.com/policies/privacy">"Google konfidencialitātes politiku"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Lai iespējotu šo funkciju, pievienojiet Google kontu šai ierīcei."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Pārsl. uz citām iev. met."</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Valodas pārslēgš. taustiņu var lietot arī citām ievades metodēm."</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Valodas pārslēgšanas taustiņš"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mērena"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresīvi"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Ļoti agresīvi"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Nākamā vārda ieteikumi"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Veidojot ieteikumus, izmantot iepriekšējo vārdu."</string> <string name="gesture_input" msgid="826951152254563827">"Iespējot ievadi ar žestiem"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Ievadiet vārdu, velkot ar pirkstu pa burtiem."</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Rādīt žesta pēdas"</string> diff --git a/java/res/values-mk-rMK/strings.xml b/java/res/values-mk-rMK/strings.xml index f7302db26..683595c5f 100644 --- a/java/res/values-mk-rMK/strings.xml +++ b/java/res/values-mk-rMK/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Синхронизирање на таст. на Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Синхронизирањето е вклучено"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Синхронизирајте го личниот речник низ уредите"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Синхронизирај сега"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Избриши под. за таст. на облак"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Ги брише синхронизираните податоци од Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Синхронизираните податоци ќе се избр. од облак. Дали сте сигурни?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Избриши"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Откажи"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Вашиот личен речник ќе се синхронизира и ќе се создаде резервна копија на серверите на Google. Може да се собираат статистички информации за честотата на зборовите за помош при подобрување на нашите производи. Собирањето и користењето на сите информации ќе биде во согласност со "<a href="https://www.google.com/policies/privacy">"Политиката за приватност на Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Додајте сметка на Google на уредов за овозможување на функцијава"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Префрли на други влезни методи"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Копчето за менување јазици покрива и други методи на внес"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Копче за промена на јазик"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Скромно"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Агресивна"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Многу агресивно"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Предлози за следен збор"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Употребете го претходниот збор за предлози"</string> <string name="gesture_input" msgid="826951152254563827">"Овозможи пишување со движење"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Внесете збор со лизгање низ буквите"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Покажи патека на движења"</string> diff --git a/java/res/values-ml-rIN/strings.xml b/java/res/values-ml-rIN/strings.xml index 0f98ea094..75472f346 100644 --- a/java/res/values-ml-rIN/strings.xml +++ b/java/res/values-ml-rIN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google കീബോർഡ് സമന്വയം"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"സമന്വയം ഓണാണ്"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ഉപകരണങ്ങളിലുടനീളം നിങ്ങളുടെ സ്വകാര്യ നിഘണ്ടു സമന്വയിപ്പിക്കുക"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ഇപ്പോൾ സമന്വയിപ്പിക്കുക"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"കീബോർഡ് ക്ലൗഡ് വിവരം ഇല്ലാതാക്കുക"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"നിങ്ങളുടെ സമന്വയിപ്പിച്ച വിവരം Google-ൽ നിന്ന് ഇല്ലാതാക്കുന്നു"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"നിങ്ങളുടെ സമന്വയിപ്പിച്ച വിവരം ക്ലൗഡിൽ നിന്ന് ഇല്ലാതാക്കും. തീർച്ചയാണോ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"ഇല്ലാതാക്കുക"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"റദ്ദാക്കുക"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"നിങ്ങളുടെ സ്വകാര്യ നിഘണ്ടു Google സെർവറുകളിലേക്ക് സമന്വയിപ്പിച്ച് ബാക്കപ്പുചെയ്യും. ഞങ്ങളുടെ ഉൽപ്പന്നങ്ങൾ മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നതിന് പദങ്ങളുടെ ആവർത്തനം സംബന്ധിച്ച സ്ഥിതിവിവരക്കണക്കുകൾ ശേഖരിച്ചേക്കാം. എല്ലാ വിവരങ്ങളും ശേഖരിക്കുന്നതും ഉപയോഗിക്കുന്നതും "<a href="https://www.google.com/policies/privacy">"Google-ന്റെ സ്വകാര്യത നയത്തിന്"</a>" വിധേയമായിട്ടായിരിക്കും."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"ഈ ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കാൻ ഈ ഉപകരണത്തിൽ Google അക്കൗണ്ട് ചേർക്കുക"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"മറ്റു ടൈപ്പുചെയ്യൽ രീതികളിലേക്ക് മാറുക"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ഭാഷ മാറൽ കീയിൽ മറ്റ് ടൈപ്പുചെയ്യൽ രീതികളും ഉൾപ്പെടുന്നു"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"ഭാഷ മാറൽ കീ"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"മിതമായി"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"നിർബന്ധിതമായി"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"വളരെ നിർബന്ധിതമായി"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"അടുത്ത-പദ നിർദ്ദേശങ്ങൾ"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"നിർദ്ദേശങ്ങൾ സൃഷ്ടിക്കാൻ മുമ്പത്തെ പദം ഉപയോഗിക്കുക"</string> <string name="gesture_input" msgid="826951152254563827">"ജെസ്റ്റർ ടൈപ്പുചെയ്യൽ പ്രവർത്തനക്ഷമമാക്കുക"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"അക്ഷരങ്ങളിലൂടെ സ്ലൈഡ് ചെയ്തുകൊണ്ട് ഒരു പദം ടൈപ്പുചെയ്യുക"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ജെസ്റ്റർ ട്രെയിൽ കാണിക്കുക"</string> diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml index ee60b91c7..df9c27303 100644 --- a/java/res/values-mn-rMN/strings.xml +++ b/java/res/values-mn-rMN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google-н гарны тохиргоо"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Тохиргоо хийгдэх үйлдлийг идэвхжүүлсэн байна"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Төхөөрөмжинд өөрийн хувийн толь бичгийг тохируулах"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Одоо синк хийх"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Гарэны Cloud мэдээллийг устгах"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Таны синк хийсэн мэдээллийг Google-ээс устгана."</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Таны мэдээллийг cloud-с устгах болно. Та итгэлтэй байна уу?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Устгах"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Цуцлах"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Таны хувийн толь бичгийг синк хийж, Google-ийн серверүүд дээр хадгалж авч үлдэнэ. Манай бүтээгдэхүүнүүдийг сайжруулахад туслах зорилгоор үгийн давтамжийн статистик мэдээллийг цуглуулж болно. Бүх мэдээллийг "<a href="https://www.google.com/policies/privacy">"Google-ийн Нууцлалын бодлогын дагуу"</a>" цуглуулж, ашиглана."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Энэ горимыг идэвхжүүлэхийн тулд энэ төхөөрөмж рүү Google акаунт нэмж оруулна уу"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Оруулах өөр арга руу шилжүүлэх"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Хэл солих түлхүүрт өөр оруулах аргууд мөн багтсан байгаа"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Хэл солих товч"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Хүлээцтэй"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Хүчтэй"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Маш хүчтэй"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Дараагийн-үг санал болгох"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Өмнөх үгийг үг санал болгоход ашиглах"</string> <string name="gesture_input" msgid="826951152254563827">"Зангаагаар бичихийг идэвхжүүлэх"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Үсгүүд дээр гулсуулах замаар үг оруулах"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Зангасан мөрийг харуулах"</string> diff --git a/java/res/values-mr-rIN/strings.xml b/java/res/values-mr-rIN/strings.xml index 1060695a8..e142c7890 100644 --- a/java/res/values-mr-rIN/strings.xml +++ b/java/res/values-mr-rIN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google कीबोर्ड संकालन"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"संकालन चालू केले आहे"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"डिव्हाइसेस वरून आपला वैयक्तिक शब्दकोश संकालित करा"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"आता संकालन करा"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"कीबोर्ड मेघ डेटा हटवा"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google वरून आपला संकालित केलेला डेटा हटविते"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"आपला संकालित केलेला डेटा मेघवरून हटविला जाईल. आपल्याला खात्री आहे?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"हटवा"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"रद्द करा"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"आपली वैयक्तिक निर्देशिका Google सर्व्हरवर संकालित केली जाईल आणि बॅकअप घेतला जाईल. आमचे उत्पादन सुधारित करण्यात मदत करण्यासाठी शब्दाच्या वारंवारतेची आकडेवारी माहिती गोळा केली जाऊ शकते. सर्व माहितीचे संकलन आणि वापर "<a href="https://www.google.com/policies/privacy">"Google चे गोपनीयता धोरण"</a>" शी सुसंगत असेल."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"या डिव्हाइसमध्ये हे वैशिष्ट्य सक्षम करण्यासाठी कृपया एक Google खाते जोडा"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्य इनपुट पद्धतींवर स्विच करा"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्विच की अन्य इनपुट पद्धती देखील समाविष्ट करते"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच की"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"मर्यादशील"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"आक्रमक"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"खूप आक्रमक"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"पुढील-शब्द सूचना"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"सूचना करताना मागील शब्द वापरा"</string> <string name="gesture_input" msgid="826951152254563827">"जेश्चर टायपिंग सक्षम करा"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"अक्षरांमधून स्लायडिंग करून एक शब्द इनपुट करा"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"जेश्चर अनुचिन्ह दर्शवा"</string> diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml index cf3cff3f8..79205b8e1 100644 --- a/java/res/values-ms-rMY/strings.xml +++ b/java/res/values-ms-rMY/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Penyegerakan Papan Kekunci Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Penyegerakan dihidupkan"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Segerakkan kamus peribadi anda merentas peranti"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Segerakkan sekarang"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Padamkan data Awan Papan Kekunci"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Memadam data disegerak anda dari Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Data yang disegerakkan akan dipadamkan daripada awan. Anda pasti?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Padam"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Batal"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Kamus peribadi anda akan disegerakkan dan disandarkan ke pelayan Google. Maklumat statistik kekerapan perkataan mungkin dikumpulkan untuk membantu mempertingkatkan produk kami. Pengumpulan dan penggunaan semua maklumat adalah selaras dengan "<a href="https://www.google.com/policies/privacy">"Dasar Privasi Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Sila tambahkan akaun Google pada peranti ini untuk mendayakan ciri ini"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Tukar ke kaedah input lain"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kunci pertukaran bahasa meliputi kaedah masukan lain juga"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Kekunci tukar bahasa"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Sederhana"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresif"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Sangat agresif"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Cadangan perkataan seterusnya"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Gunakan perkataan sebelumnya dalam membuat cadangan"</string> <string name="gesture_input" msgid="826951152254563827">"Dayakan taipan gerak isyarat"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Input perkataan dengan meluncur melalui huruf"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Tunjukkan jejak gerak isyarat"</string> diff --git a/java/res/values-my-rMM/strings.xml b/java/res/values-my-rMM/strings.xml index 8170bbec1..82078161f 100644 --- a/java/res/values-my-rMM/strings.xml +++ b/java/res/values-my-rMM/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google Keyboard စင့်လုပ်ရန်"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"စင့် ဖွင့်ထားသည်"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"သင့် ကိုယ်ပိုင်သုံး အဘိဓာန်အား စက်များအားလုံးတွင် စင့်လုပ်ရန်"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ထပ်တူညီအောင် ယခုပြုလုပ်နေပါပြီ…"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"လက်ကွက် Cloud ဒေတာ ဖျက်ရန်"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"သင်၏ စင့်က် လုပ်ပြီးသား ဒေတာ Google ထဲမှ ဖျက်ခံရမည်။"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"သင့် စင့်လုပ်ထားသော ဒေတာများအား cloud မှ ဖျက်လိမ့်မည်။ သေချာသလား?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"ဖျက်ရန်"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"ဖျက်သိမ်းရန်"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"သင့်ရဲ့ကိုယ်ပိုင်အဘိဓါန်ကို Google server များမှာ ထပ်တူညီအောင်လုပ် ပြီး မူလပုံစံ ပြန်သွားမည်။ အိုင်တီထုတ်ကုန်များ တိုးတက်မှုရှိအောင် စာလုံးရေ ကောက်ယူမှု အချက်အလက်ကို စုစည်းပါသည်။ အဆိုပါအချက်အလက်စုယူ သုံးစွဲမှုကို "<a href="https://www.google.com/policies/privacy">" Google၏မိမိအတွင်းရေးသီးသန့် မူဝါဒ "</a>" ဖြင့် စောဒကတက် နိုင်သည်။"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"ဒီအင်္ဂါရပ်တွေကို ရဖို့ဒီစက်မှာ Google account တစ်ခုကို ဖွင့်ပါ"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"အခြားထည့်သွင်းမည့် နည်းလမ်းများသို့ ပြောင်းရန်"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ဘာသာပြောင်းသည့် ကီးသည် အခြားထည့်သွင်းရန် နည်းလမ်းများလည်း ပါဝင်သည်"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"ဘာသာစကား ပြောင်းခလုတ်"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"သာမှန်"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"ထိထိရောက်ရောက်"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"အလွန်ထိရောက်"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"နောက်စကားလုံး အကြံပြုချက်များ"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"အကြံပြုချက်များပြုလုပ်ရာ၌ ပြီးခဲ့သည့် စကားလုံးကို အသုံးပြုရန်"</string> <string name="gesture_input" msgid="826951152254563827">"အမူယာစာရိုက်ခြင်း ဖွင့်ရန်"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"စာလုံးအား ဆွဲရွှေ့ကာ စာလုံးတစ်လုံး ရိုက်ထည့်ပါ"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"အမူအယာ အမြီးတန်းပြရန်"</string> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index a37d418d2..5f01d632f 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Syknronisering av Google-tastatur"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synkronisering er slått på"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synkroniser den personlige ordboken din på alle enheter"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synkroniser nå"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Slett tastaturdata i nettskyen"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Sletter de synkroniserte dataene dine fra Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"De synkroniserte dataene blir slettet fra skyen. Er du sikker?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Slett"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Avbryt"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Den personlige ordlisten din blir synkronisert og sikkerhetskopiert til Google-tjenere. For å bidra til å forbedre produktene våre, kan det hende vi samler inn informasjon om ordfrekvens. Innsamling og bruk av all informasjon skjer i henhold til "<a href="https://www.google.com/policies/privacy">"Googles personvernregler"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Legg en Google-konto til enheten for å aktivere denne funksjonen"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Bytt inndatametode"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasten for språkbytte dekker også andre inndatametoder"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Nøkkel for språkskifte"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderat"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Omfattende"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Veldig omfattende"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Forslag til neste ord"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Bruk forrige ord til å lage forslag"</string> <string name="gesture_input" msgid="826951152254563827">"Aktiver ordføring"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Skriv inn et ord ved å sveipe langsmed bokstavene"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Vis bevegelsesspor"</string> diff --git a/java/res/values-ne-rNP/strings.xml b/java/res/values-ne-rNP/strings.xml index f396cd975..5e8e7e277 100644 --- a/java/res/values-ne-rNP/strings.xml +++ b/java/res/values-ne-rNP/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google किबोर्ड सिंक गर्नुहोस्"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"सिंक सक्रिय गरिएको छ"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"तपाईंको व्यक्तिगत शब्दकोषलाई यन्त्रहरूमा सिंक गर्नुहोस्"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"अहिले सिंक गर्नुहोस्"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"किबोर्ड क्लाउड डेटा मेटाउनुहोस्"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google बाट तपाईँको सिङ्क गरिएको डाटा मेटाउँछ"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"तपाईंको सिंक गरिएको डेटालाई क्लाउडबाट मेटाइनेछ। के तपाईं निश्चित हुनुहुन्छ?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"मेटाउनुहोस्"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"रद्द गर्नुहोस्"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"तपाईँको व्यक्तिगत शब्दकोश सिंक गरेर Google सर्भरहरूमा जगेडा राखिने छ। शब्द आवृत्तिको तथ्याङ्क जानकारी हाम्रो उत्पादनहरू सुधार गर्न मद्दतका लागि संकलन हुन सक्छ। संग्रह र सबै जानकारीको प्रयोग "<a href="https://www.google.com/policies/privacy">" Google को गोपनीयता नीति "</a>" अनुरूप हुने छ।"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"कृपया यो सुविधा सक्षम गर्न यो यन्त्रमा एउटा Google खाता थप्नुहोस्"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्य इनपुट विधिमा स्विच गर्नुहोस्"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्विच किले अन्य इनपुट विधि पनि समेट्छ"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच कुञ्जी"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"सामान्य"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"आक्रामक"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"ज्यादै आक्रामक"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"अर्को शब्द सुझाव"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"सुझावहरू निर्माण गर्न अघिल्लो शब्द प्रयोग गर्नुहोस्"</string> <string name="gesture_input" msgid="826951152254563827">"इशारा टाइप गर्ने सक्षम पार्नुहोस्"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"अक्षर स्लाइड गरी शब्द इनपुट गर्नुहोस्"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"इशारा ट्रेल देखाउनुहोस्"</string> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index 8ec8195d7..a4531d618 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google-toetsenbordsynchronisatie"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synchronisatie is ingeschakeld"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Uw persoonlijke woordenboek synchroniseren op meerdere apparaten"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Nu synchroniseren"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Cloudgegev. toetsenb. verwijderen"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Hiermee worden uw gesynchroniseerde gegevens verwijderd van Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Wilt u gesynchroniseerde gegevens echt verwijderen uit de cloud?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Verwijderen"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Annuleren"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Uw persoonlijke woordenboek wordt gesynchroniseerd en er wordt een back-up gemaakt op servers van Google. De statistische gegevens voor woordfrequentie kunnen worden verzameld om onze producten te verbeteren. Het verzamelen en gebruik van alle gegevens is in overeenstemming met het "<a href="https://www.google.com/policies/privacy">"Privacybeleid van Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Voeg een Google-account toe om deze functie in te schakelen"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Invoermeth. overschakelen"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Schakelknop voor taal ook van toepassing op andere invoermethoden"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Schakelknop voor taal"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Normaal"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agressief"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Zeer agressief"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Suggesties voor volgend woord"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Het vorige woord gebruiken bij het doen van suggesties"</string> <string name="gesture_input" msgid="826951152254563827">"Typen via tekenen inschakelen"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Voer een woord in door van letter naar letter te schuiven"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Gebarenspoor weergeven"</string> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index 979b9cfb1..b7390005e 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synchronizacja klawiatury Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synchronizacja jest włączona"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synchronizuj słownik osobisty na swoich urządzeniach"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synchronizuj teraz"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Usuń dane klawiatury z chmury"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Usuwa zsynchronizowane dane z Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Twoje zsynchronizowane dane zostaną usunięte z chmury. Na pewno?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Usuń"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Anuluj"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Twój słownik osobisty będzie synchronizowany z serwerami Google i zostanie na nich utworzona jego kopia zapasowa. Aby ulepszać nasze usługi, możemy gromadzić informacje statystyczne dotyczące częstości występowania słów. Zbieranie i wykorzystywanie wszelkich informacji będzie się odbywać zgodnie z "<a href="https://www.google.com/policies/privacy">"Polityką prywatności Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Aby włączyć tę funkcję, dodaj konto Google do tego urządzenia"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Inne metody wprowadzania"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Klawisz zmiany języka obejmuje też inne metody wprowadzania"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Klawisz zmiany języka"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Umiarkowana"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresywna"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Bardzo agresywna"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Podpowiadanie kolejnego słowa"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Pokazuj podpowiedzi na podstawie poprzedniego słowa"</string> <string name="gesture_input" msgid="826951152254563827">"Włącz pisanie gestami"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Wpisz słowo, przesuwając palcem po literach"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Pokazuj ślad gestu"</string> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index 1216af4ef..b0d9e806d 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronização do Teclado Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"A sincronização está ativada"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincronizar o seu dicionário pessoal entre dispositivos"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizar agora"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Elim. dados do teclado na nuvem"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Elimina os seus dados sincronizados do Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Os seus dados sincr. serão eliminados da nuvem. Tem a certeza?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Eliminar"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancelar"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"O seu dicionário pessoal será sincronizado e será criada uma cópia de segurança do mesmo nos servidores da Google. As informações estatísticas de frequência das palavras podem ser recolhidas para ajudar a melhorar os nossos produtos. A recolha e a utilização de todas as informações são efetuadas em conformidade com a "<a href="https://www.google.com/policies/privacy">"Política de Privacidade da Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Adicione uma Conta Google a este disp. para ativar esta func."</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Mudar p/ outros mét. ent."</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla de mudança de idioma abrange outros métodos de entrada"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla alterar idioma"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderada"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agressiva"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Muito agressiva"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Sugestões da palavra seguinte"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Utilizar palavra anterior para fazer sugestões"</string> <string name="gesture_input" msgid="826951152254563827">"Ativar escrita por toque"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Introduzir uma palavra deslizando lentamente pelas letras"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percurso do gesto"</string> diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml index 96854502b..feec2ab28 100644 --- a/java/res/values-pt/strings.xml +++ b/java/res/values-pt/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronização Teclado do Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"A sincronização está ativada"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincronizar seu dicionário pessoal nos dispositivos"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizar agora"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Excluir dados do teclado na nuvem"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Exclui seus dados sincronizados do Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Seus dados sincronizados serão excluídos da nuvem. Tem certeza?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Excluir"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Cancelar"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Seu dicionário pessoal será sincronizado, e será feito backup dele nos servidores do Google. As informações estatísticas de frequência de palavras podem ser coletadas para ajudar a melhorar nossos produtos. A coleta e o uso de todas as informações cumprirão a "<a href="https://www.google.com/policies/privacy">"Política de Privacidade do Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Adicione uma Conta do Google ao dispositivo para ativar recurso"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Outros métodos de entrada"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla p/ mudar o idioma também cobre outros métodos de entrada"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de seleção de idioma"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderado"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agressivo"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Muito agressivo"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Sugerir palavra seguinte"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Usar a palavra anterior ao fazer sugestões"</string> <string name="gesture_input" msgid="826951152254563827">"Ativar a escrita com gestos"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Inserir uma palavra deslizando os dedos pelas letras"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Mostrar percurso do gesto"</string> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 30f47986a..1a227814a 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -37,19 +37,16 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sincronizare Tastatură Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sincronizarea este activată"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sincronizați dicționarul personal pe dispozitive"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sincronizați acum"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Ștergeți date tastatură din cloud"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Șterge datele sincronizate de pe Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Datele sincronizate vor fi șterse din cloud. Sunteți sigur(ă)?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Ștergeți"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Anulați"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Dicționarul personal va fi sincronizat și i se va face backup pe serverele Google. Informațiile statistice privind frecvența cuvintelor pot fi culese pentru a îmbunătăți produsele noastre. Culegerea și folosirea informațiilor vor respecta "<a href="https://www.google.com/policies/privacy">"Politica de confidențialitate Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Pentru a activa funcția, adăugați un cont Google pe dispozitiv"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Comut. alte metode de introd."</string> - <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasta de comutare între limbi include şi alte metode de introd."</string> + <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasta de comutare între limbi include și alte metode de introd."</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tastă comutare limbi"</string> <string name="show_language_switch_key_summary" msgid="7343403647474265713">"Afişaţi când sunt activate mai multe limbi de intrare"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Închidere pop-up taste"</string> @@ -58,7 +55,7 @@ <string name="abbreviation_unit_milliseconds" msgid="8700286094028323363">"<xliff:g id="MILLISECONDS">%s</xliff:g> msec."</string> <string name="settings_system_default" msgid="6268225104743331821">"Valoare prestabilită"</string> <string name="use_contacts_dict" msgid="4435317977804180815">"Sugeraţi nume din Agendă"</string> - <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizaţi numele din Agendă pentru sugestii şi corecţii"</string> + <string name="use_contacts_dict_summary" msgid="6599983334507879959">"Utilizaţi numele din Agendă pentru sugestii și corecţii"</string> <string name="use_personalized_dicts" msgid="5167396352105467626">"Sugestii personalizate"</string> <string name="enable_metrics_logging" msgid="5506372337118822837">"Îmbunătățiți <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string> <string name="use_double_space_period" msgid="8781529969425082860">"Inserează punct spațiu"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderată"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Exigentă"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Foarte agresivă"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Sugestii pentru cuvântul următor"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Utilizează cuvântul anterior pentru sugestii"</string> <string name="gesture_input" msgid="826951152254563827">"Activați tastarea gestuală"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Introduceţi un cuvânt glisând uşor între litere"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Se afişează urma gestului"</string> @@ -174,7 +173,7 @@ <string name="message_updating" msgid="4457761393932375219">"Se verifică existența actualizărilor"</string> <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> + <string name="cancel" msgid="6830980399865683324">"Anulați"</string> <string name="go_to_settings" msgid="3876892339342569259">"Setări"</string> <string name="install_dict" msgid="180852772562189365">"Instalați"</string> <string name="cancel_download_dict" msgid="7843340278507019303">"Anulați"</string> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 7dbfe3200..454296776 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Синхронизировать Клавиатуру"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Синхронизация включена"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Синхронизировать пользовательский словарь со всеми устройствами"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Синхронизировать"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Удалить данные с серверов Google"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Удаление синхронизированных данных из Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Синхронизированные данные будут удалены из облака. Продолжить?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Удалить"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Отменить"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Словарь будет сохраняться на серверах Google и синхронизироваться. Чтобы повысить качество наших сервисов, мы можем отслеживать статистику использования тех или иных слов. Вся информация обрабатывается в соответствии с "<a href="https://www.google.com/policies/privacy">"Политикой конфиденциальности"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Чтобы включить функцию, добавьте аккаунт Google на устройство"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Смена способов ввода"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавиша переключения языков также служит для смены способа ввода"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Клавиша смены языка"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умеренное"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Активно"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Очень активно"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Подсказывать слова"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Предлагать подсказки на основе предыдущего слова"</string> <string name="gesture_input" msgid="826951152254563827">"Включить функцию"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Вводите слова, не отрывая пальца от клавиатуры"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Рисовать линию"</string> diff --git a/java/res/values-si-rLK/strings.xml b/java/res/values-si-rLK/strings.xml index e3d15976f..3a78d6ed4 100644 --- a/java/res/values-si-rLK/strings.xml +++ b/java/res/values-si-rLK/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google යතුරු පුවරුව සමමුහුර්ත කිරීම"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"සමමුහුර්ත කිරීම් ක්රියාත්මකයි"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ඔබේ පෞද්ගලික ශබ්දකෝෂය ඔබේ උපකරණ සමඟ සමමුහුර්ත කරන්න"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"දැන් සමමුහුර්ත කරන්න"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"ක්ලවුඩ් යතුරු පුවරුවේ දත්ත මකා දමන්න"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"ඔබගේ සමමුහුර්ත කළ දත්ත Google වෙතින් මකා දමයි"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"ඔබගේ සමමුහුර්ත දත්ත සියල්ල ක්ලවුඩ් එකෙන් ඉවත් කරනු ඇත. ඔබට විශ්වාසද?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"මකන්න"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"අවලංගු කරන්න"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"ඔබගේ පෞද්ගලික ශබ්දකෝෂය Google සේවාදායකයන් වෙත සමමුහුර්ත කර උපස්ථය කෙරෙනු ඇත. අපගේ නිෂ්පාදන වැඩි දියුණු කිරීමට උදවු වනු පිණිස වචන භාවිතා වන වාර ගණන පිළිබඳ සංඛ්යාත්මක තොරතුරු සමුච්චය කිරීමට ඉඩ ඇත. සියලු දත්ත සමුච්චය කිරීම සහ භාවිතා කිරීම "<a href="https://www.google.com/policies/privacy">"Google හි රහස්යතා ප්රතිපත්තිය"</a>"අනුව සිදු කරනු ඇත."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"මෙම විශේෂාංගය සබල කිරීමට කරුණාකර Google ගිණුමක් එක් කරන්න"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"වෙනත් ආදාන ක්රම වෙත මාරුවන්න"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"භාෂා මාරු යතුර වෙනත් ආදාන ක්රමද ආවරණය කරයි"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"භාෂා මාරු යතුර"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"මධ්යස්"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"ආක්රමණකාරී"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"ඉතා ආක්රමණකාරී"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"ඊළඟ-වචනයේ යෝජනා"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"යෝජනා කිරීමේදී පෙර වචනය භාවිතා කරන්න"</string> <string name="gesture_input" msgid="826951152254563827">"ඉංගිතයෙන් ටයිප් කිරීම සබල කරන්න"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"අකුරු ඔස්සේ සර්පණය කිරීමෙන් වචනයක් ආදානය කරන්න"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"ඉංගිතයෙන් මඟ පෙන්වන්න"</string> diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index 9a31ff30e..ad5092add 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synchronizácia klávesnice Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synchronizácia je zapnutá"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synchronizovať osobný slovník na zariadeniach"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synchronizovať"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Odstrániť údaje klávesnice v cloude"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Odstráni vaše synchronizované údaje zo serverov Googlu"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Vaše synchronizované údaje budú odstránené z cloudu. Pokračovať?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Odstrániť"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Zrušiť"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Váš osobný slovník sa synchronizuje a zálohuje na servery Google. S cieľom zlepšiť naše služby môžeme zhromažďovať štatistické informácie o frekvencii slov. Zhromažďovanie informácií a ich použitie bude v súlade s "<a href="https://www.google.com/policies/privacy">"pravidlami ochrany osobných údajov spoločnosti Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Povoľte túto funkciu tak, že do zariadenia pridáte účet Google"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prepnúť na iné metódy vstupu"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kláves na prepnutie jazyka pokrýva aj ďalšie metódy vstupu"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Kľúč na prepínanie jazyka"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mierne"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresívne"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Veľmi agresívne"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Návrhy ďalšieho slova"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Návrhy podľa predchádzajúceho slova"</string> <string name="gesture_input" msgid="826951152254563827">"Povoliť písanie gestami"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Vkladanie slov prejdením prstom po písmenách"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Zobrazovať stopu gesta"</string> diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index 51679d92c..a643db128 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Sinhroniz. Googlove tipkovnice"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinhronizacija je vklopljena"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sinhronizacija osebnega slovarja po napravah"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sinhroniziraj"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Izbris podat. tipkovnice v oblaku"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Izbriše sinhronizirane podatke iz Googla"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Sinhronizirani podatki bodo izbrisani iz oblaka. Ste prepričani?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Izbriši"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Prekliči"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Osebni slovar bo sinhroniziran in varnostno kopiran v Googlove strežnike. Statistične podatke o pogostosti rabe besed bomo morda zbirali zaradi izboljšanja naših izdelkov. Zbiranje in uporaba vseh podatkov bo skladna z "<a href="https://www.google.com/policies/privacy">"Googlovim pravilnikom o zasebnosti"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"V napravi dodajte Google Račun, če želite omogočiti to funkcijo"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prekl. na drug nač. vnosa"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tipka za preklop jezika, ki vključuje tudi druge načine vnosa"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tipka za preklop med jeziki"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Zmerno"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresivno"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Zelo agresivno"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Predlogi za naslednjo besedo"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Pri predlogu upoštevaj prejšnjo besedo"</string> <string name="gesture_input" msgid="826951152254563827">"Omogoči vnos besedila s potezo"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Vnos besede s podrsavanjem od črke do črke"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Prikaži pot poteze"</string> diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 3d4b05941..01def225f 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Синхронизуј Google тастатуру"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Синхронизација је укључена"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Синхронизујте лични речник на свим уређајима"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Синхронизуј одмах"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Обриши податке тастатуре у клауду"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Брише синхронизоване податке са Google-а"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Избрисаћемо синхронизоване податке из клауда. Да ли сте сигурни?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Избриши"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Откажи"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Синхронизоваћемо лични речник и направићемо његову резервну копију на Google серверима. Можда ћемо прикупљати статистичке податке о учесталости речи да бисмо побољшали производе. Прикупљање и коришћење свих информација ће бити у складу са "<a href="https://www.google.com/policies/privacy">"Google-овом политиком приватности"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Додајте Google налог на уређај да бисте омогућили ову функцију"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Пребаци на друге методе уноса"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тастер за пребацивање језика обухвата и друге методе уноса"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Тастер за пребацивање језика"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умерено"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Агресивно"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Веома агресивно"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Предлози за следећу реч"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Користи претходну реч при давању предлога"</string> <string name="gesture_input" msgid="826951152254563827">"Омогући унос покретом"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Унесите реч превлачењем прста преко од слова до слова на екрану"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Прикажи траг покрета"</string> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index c76c5899c..f6a3a8d6e 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Synkronisera Googles tangentbord"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Synkroniseringen har aktiverats"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Synkronisera din personliga ordlista på dina enheter"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Synkronisera nu"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Radera tangentbordsdata i molnet"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Din synkroniserade data raderas från Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Din synkroniserade data raderas från molnet. Vill du fortsätta?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Radera"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Avbryt"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Den egna ordboken synkroniseras och säkerhetskopieras till Googles servrar. Statistisk information om ordfrekvens kan samlas in och användas för att förbättra våra produkter. Insamlingen och användningen av all information sker i enlighet med "<a href="https://www.google.com/policies/privacy">"Googles sekretesspolicy"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Lägg till ett Google-konto på enheten om du vill aktivera detta"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Byt till annan inmatning"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Språkbytesknappen omfattar även andra inmatningsmetoder"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Knapp för att byta språk"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Måttlig"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Aggressivt"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Mycket aggressivt"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Föreslå nästa ord"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Ge förslag utifrån föregående ord"</string> <string name="gesture_input" msgid="826951152254563827">"Aktivera svepskrivning"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Skriv genom att dra från tecken till tecken utan att lyfta handen"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Visa spår efter rörelse"</string> diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml index 74286c397..44d2a7a0e 100644 --- a/java/res/values-sw/strings.xml +++ b/java/res/values-sw/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Usawazishaji wa Kibodi ya Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Usawazishaji umewashwa"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Sawazisha kamusi yako binafsi katika vifaa vyote"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Sawazisha sasa"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Futa data ya Kibodi kwenye Wingu"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Hufuta data yako iliyosawazishwa kutoka Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Data yako iliyosawazishwa itafutwa kutoka kwenye wingu. Je, una uhakika?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Futa"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Ghairi"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Kamusi yako ya kibinafsi itasawazishwa na nakala ihifadhiwe kwenye seva za Google. Maelezo ya takwimu ya marudio ya maneno yanaweza kukusanywa ili kusaidia kuboresha bidhaa zetu. Ukusanyaji na matumizi ya maelezo haya yatatii "<a href="https://www.google.com/policies/privacy">"Sera ya Faragha ya Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Tafadhali ongeza akaunti ya Google kwenye kifaa hiki ili uwashe kipengele hiki"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Badilisha hadi kwa mbinu zingine za ingizo"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Ufunguo wa kubadilisha lugha unashughulikia mbinu zingine za ingizo pia"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Kitufe cha kubadilisha lugha"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Ya wastani"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Linalokaribia"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Linalokaribia sana"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Mapendekezo ya neno lifuatalo"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Tumia nelo la awali katika kufanya mapendekezo"</string> <string name="gesture_input" msgid="826951152254563827">"Washa kuandika kwa ishara"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Ingiza neno kwa kutelezesha juu ya herufi"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Onyesha njia ya ishara"</string> diff --git a/java/res/values-ta-rIN/strings.xml b/java/res/values-ta-rIN/strings.xml index ab3aa8ba8..55d00146b 100644 --- a/java/res/values-ta-rIN/strings.xml +++ b/java/res/values-ta-rIN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google விசைப்பலகை ஒத்திசைவு"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"ஒத்திசைவு இயக்கப்பட்டது"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"எல்லா சாதனங்களிலும் தனிப்பட்ட அகராதியை ஒத்திசைக்கவும்"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"இப்போது ஒத்திசைத்தல்"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"விசைப்பலகை மேகக்கணி தரவை நீக்கு"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google இலிருந்து ஒத்திசைத்த தரவை நீக்கும்"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"ஒத்திசைத்தத் தரவு மேகக்கணியிலிருந்து நீக்கப்படும். நிச்சயமாக நீக்கவா?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"நீக்கு"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"ரத்துசெய்"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"உங்கள் தனிப்பட்ட அகராதி ஒத்திசைக்கப்பட்டு, Google சேவையகங்களில் காப்புப் பிரதி எடுக்கப்படும். எங்கள் தயாரிப்புகளை மேம்படுத்த உதவ, சொல் உபயோகத்தின் புள்ளிவிவரத் தகவல் சேகரிக்கப்படலாம். எல்லா தகவல்களின் சேகரிப்பும், உபயோகமும் "<a href="https://www.google.com/policies/privacy">"Google இன் தனியுரிமைக் கொள்கைக்கு"</a>" இணங்கியபடியே இருக்கும்."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"இந்த அம்சத்தை இயக்க, சாதனத்தில் Google கணக்கைச் சேர்க்கவும்"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"பிற உள்ளீட்டு முறைகளுக்கு மாறு"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"மொழி மாற்றல் விசை பிற உள்ளீட்டு முறைகளையும் கட்டுப்படுத்துகிறது"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"மொழி மாற்ற விசை"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"மிதமாக"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"தீவிரமாக"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"மிகத் தீவிரமாக"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"அடுத்த வார்த்தை பரிந்துரைகள்"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"பரிந்துரைகளை உருவாக்க முந்தைய வார்த்தைகளைப் பயன்படுத்தும்"</string> <string name="gesture_input" msgid="826951152254563827">"சைகை உள்ளீட்டை இயக்கு"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"எழுத்துகள் வழியாக இழுப்பதன் மூலம் வார்த்தையை உள்ளிடலாம்"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"சைகை தடத்தைக் காட்டு"</string> diff --git a/java/res/values-te-rIN/strings.xml b/java/res/values-te-rIN/strings.xml index 98c7f0845..7e22f3a06 100644 --- a/java/res/values-te-rIN/strings.xml +++ b/java/res/values-te-rIN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google కీబోర్డ్ సమకాలీకరణ"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"సమకాలీకరణ ఆన్ చేయబడింది"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"పరికరాల్లో మీ వ్యక్తిగత నిఘంటువును సమకాలీకరించండి"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ఇప్పుడే సమకాలీకరించు"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"కీబోర్డ్ Cloud డేటాను తొలగించండి"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"మీ సమకాలీకృత డేటాను Google నుండి తొలగిస్తుంది"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"cloud నుండి మీ సమ. డేటా తొలగించబడుతుంది. మీరు చేయాలనుకుంటున్నారా?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"తొలగించు"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"రద్దు చేయి"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"మీ వ్యక్తిగత నిఘంటువు Google సర్వర్లకు సమకాలీకరించబడుతుంది మరియు బ్యాకప్ చేయబడుతుంది. మా ఉత్పత్తులను మెరుగుపరచడంలో సహాయకరంగా ఉండటానికి పదం తరచుదనానికి సంబంధించిన గణాంక సమాచారం సేకరించవచ్చు. మొత్తం సమాచార సేకరణ మరియు వినియోగం "<a href="https://www.google.com/policies/privacy">"Google గోప్యతా విధానం"</a>"కి లోబడి ఉంటుంది."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"దయచేసి ఈ లక్షణాన్ని ప్రారంభించడానికి ఈ పరికరానికి Google ఖాతాను జోడించండి"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ఇతర ఇన్పుట్ పద్ధతులకు మారండి"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"భాష మార్పు కీ ఇతర ఇన్పుట్ పద్ధతులను కూడా కవర్ చేస్తుంది"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"భాష మార్పు కీ"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"మధ్యస్థం"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"తీవ్రం"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"చాలా తీవ్రం"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"తదుపరి-పదం సూచనలు"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"సూచనలను రూపొందించడంలో మునుపటి పదాన్ని ఉపయోగించు"</string> <string name="gesture_input" msgid="826951152254563827">"సంజ్ఞ టైపింగ్ను ప్రారంభించండి"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"అక్షరాల గుండా స్లైడ్ చేయడం ద్వారా పదాన్ని ఇన్పుట్ చేయండి"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"సంజ్ఞ ట్రయిల్ను చూపు"</string> diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index 53e0375f7..7a549b580 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"การซิงค์แป้นพิมพ์ของ Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"การซิงค์เปิดอยู่"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"ซิงค์พจนานุกรมส่วนตัวในอุปกรณ์ต่างๆ"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ซิงค์เลย"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"ลบข้อมูลแป้นพิมพ์ในระบบคลาวด์"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"ลบข้อมูลที่ซิงค์ออกจาก Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"ข้อมูลที่ซิงค์จะลบออกจากระบบคลาวด์ คุณแน่ใจไหม"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"ลบ"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"ยกเลิก"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"พจนานุกรมส่วนตัวของคุณจะซิงค์และสำรองข้อมูลไปยังเซิร์ฟเวอร์ Google ข้อมูลเชิงสถิติของความถี่ในการใช้คำอาจได้รับการเก็บรวบรวมเพื่อใช้ปรับปรุงผลิตภัณฑ์ของเรา การเก็บรวบรวมและการใช้งานข้อมูลทั้งหมดจะเป็นไปอย่างสอดคล้องกับ"<a href="https://www.google.com/policies/privacy">"นโยบายส่วนบุคคลของ Google"</a></string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"โปรดเพิ่มบัญชี Google ไปยังอุปกรณ์นี้เพื่อเปิดใช้คุณลักษณะนี้"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ใช้วิธีการป้อนข้อมูลอื่น"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"แป้นสลับภาษาครอบคลุมวิธีการป้อนข้อมูลอื่นๆ ด้วย"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"แป้นสลับภาษา"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ปานกลาง"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"เข้มงวด"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"เข้มงวดมาก"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"คำแนะนำสำหรับคำถัดไป"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"ใช้คำก่อนหน้าในการสร้างข้อเสนอแนะ"</string> <string name="gesture_input" msgid="826951152254563827">"เปิดการพิมพ์ด้วยท่าทางสัมผัส"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"ป้อนคำด้วยการเลื่อนผ่านตัวอักษร"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"แสดงรอยทางเดินของท่าทางสัมผัส"</string> diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index c1b635f4e..b1aa3fb94 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Pag-sync ng Google Keyboard"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Naka-on ang pag-sync"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"I-sync ang iyong personal na diksyunaryo sa mga device"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"I-sync ngayon"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"I-delete ang Keyboard Cloud data"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Dine-delete ang iyong naka-sync na data sa Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Ide-delete sa cloud ang iyong na-sync na data. Sigurado ka ba?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"I-delete"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Kanselahin"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Masi-sync at maba-back up ang iyong personal na dictionary sa mga server ng Google. Maaaring kolektahin ang istatistikal na impormasyon ng dalas ng salita upang makatulong na pahusayin ang aming mga produkto. Susunod ang pagkolekta at paggamit ng lahat ng impormasyon sa "<a href="https://www.google.com/policies/privacy">"Patakaran sa Privacy ng Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Mangyaring magdagdag ng Google account sa device na ito upang i-enable ang feature na ito"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Lipat iba paraan ng input"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Saklaw din ng key ng pagpalit ng wika ang ibang paraan ng input"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Key ng panlipat ng wika"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Agresibo"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Napaka-agresibo"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Mga suhestiyon sa susunod na salita"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Gamitin ang nakaraang salita sa paggawa ng mga suhestiyon"</string> <string name="gesture_input" msgid="826951152254563827">"Paganahin ang gesture na pag-type"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Mag-input ng salita sa pamamagitan ng pag-slide sa mga titik"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Ipakita ang trail ng galaw"</string> diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index 40f6cfe65..081c7a90c 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google Klavye Senkronizasyonu"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Senkronizasyon açık"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Kişisel sözlüğünüzü cihazlar arasında senkronize edin"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Şimdi senkronize et"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Klavye Bulut verilerini sil"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Senkronize edilmiş verilerinizi Google\'dan siler"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Senkronize edilmiş verileriniz buluttan silinecek. Emin misiniz?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Sil"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"İptal"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Kişisel sözlüğünüz senkronize edilecek ve Google sunucularına yedeklenecektir. Ürünlerimizi iyileştirmeye yardımcı olması için kelime sıklığına ilişkin istatistiksel bilgiler toplanabilir. Tüm bilgilerin toplanması ve kullanımı "<a href="https://www.google.com/policies/privacy">"Google\'ın Gizlilik Politikası"</a>"\'na uygun olarak gerçekleştirilir."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Bu özelliği etkinleştirmek için cihaza bir Google Hesabı ekleyin"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Diğer giriş yöntemine geç"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Dil geçiş tuşu diğer giriş yöntemlerini de kapsar"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Dil değiştirme tuşu"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Ölçülü"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Geniş ölçekte"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Çok geniş ölçekte"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Sonraki kelime önerileri"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Önerilerde bulunurken önceki kelimeyi kullan"</string> <string name="gesture_input" msgid="826951152254563827">"Hareketle yazmayı etkinleştir"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Harflerin üzerinden parmağınızı kaydırarak kelime girin"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Hareket izini göster"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index 76cd7bd1b..d9806d523 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Синхронізувати Клавіатуру Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Синхронізацію ввімкнено"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Синхронізувати особистий словник на різних пристроях"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Синхронізувати"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Видалити з хмари дані Клавіатури"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Видаляє з Google ваші синхронізовані дані"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Видалити з хмари синхронізовані дані?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Видалити"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Скасувати"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Ваш особистий словник буде синхронізовано із серверами Google. Ми можемо збирати статистичні дані про частоту пошуку слів, щоб покращити наші продукти. Ці дані збираються та використовуються відповідно до "<a href="https://www.google.com/policies/privacy">"Політики конфіденційності Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Щоб увімкнути функцію, додайте на пристрій обліковий запис Google"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Інші методи введення"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавіша зміни мови дозволяє змінювати методи введення"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Клавіша зміни мови"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Помірне"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Активне"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Дуже активне"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Пропозиції наступного слова"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Використовувати попереднє слово, щоб надавати пропозиції"</string> <string name="gesture_input" msgid="826951152254563827">"Увімкнути ввід жестами"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Вводити слово, пересуваючи палець по буквах"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Показувати слід жестів"</string> diff --git a/java/res/values-ur-rPK/strings.xml b/java/res/values-ur-rPK/strings.xml index 30917270c..2f566d3c8 100644 --- a/java/res/values-ur-rPK/strings.xml +++ b/java/res/values-ur-rPK/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google کی بورڈ کی مطابقت پذیری"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"مطابقت پذیری آن کر دی گئی"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"سبھی آلات پر اپنی ذاتی لغت کی مطابقت پذیری کریں"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"ابھی مطابقت پذیری کریں"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"کی بورڈ کلاؤڈ ڈیٹا حذف کریں"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google سے آپ کے مطابقت پذیر ڈیٹا کو حذف کر دیتا ہے"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"آپ کا مطابقت پذیر ڈيٹا کلاؤڈ سے حذف ہو جائے گا۔ کیا آپ تیار ہیں؟"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"حذف کریں"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"منسوخ کریں"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"آپ کی ذاتی لغت کی مطابقت پذیری کی جائے گی اور Google سرورز میں اس کا بیک اپ لیا جائے گا۔ ہمارے پروڈکٹس کو بہتر بنانے میں مدد کرنے کیلئے الفاظ کی فریکوئنسی کے اعداد و شمار کی معلومات کو جمع کیا جا سکتا ہے۔ سبھی معلومات کی جمع آوری اور استعمال "<a href="https://www.google.com/policies/privacy">"Google کی رازداری کی پالیسی"</a>" کے مطابق ہوگا۔"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"یہ خصوصیت فعال کرنے کیلئے اس آلہ پر ایک Google اکاؤنٹ شامل کریں"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"دیگر اندراج طریقوں پر سوئچ کریں"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"زبان سوئچ کرنے کی کلید اندراج کے دیگر طریقوں کا بھی احاطہ کرتی ہے"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"زبان سوئچ کرنے کی کلید"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"معتدل"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"پر جوش"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"بہت پر جوش"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"اگلے الفاظ کی تجاویز"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"تجاویز پیش کرتے وقت گزشتہ لفظ استعمال کریں"</string> <string name="gesture_input" msgid="826951152254563827">"اشارہ ٹائپنگ کو فعال کریں"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"حروف پر سلائیڈ کر کے ایک لفظ درج کریں"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"اشارہ ٹریل دکھائیں"</string> diff --git a/java/res/values-uz-rUZ/strings.xml b/java/res/values-uz-rUZ/strings.xml index dc71a737a..5abc05cc0 100644 --- a/java/res/values-uz-rUZ/strings.xml +++ b/java/res/values-uz-rUZ/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google klaviaturasini sinx-sh"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Sinxronlash yoqildi"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Shaxsiy lug‘atingizni qurilmalar bo‘ylab sinxronlang"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Hozir sinxronlash"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Bulutdagi ma’l-ni o‘chirish"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Google xizmatlaridagi sinxronlangan ma’lumotlaringizni o‘chirib tashlaydi"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Sinxronlangan ma’lumotlaringiz o‘chib ketadi. Davom etsinmi?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"O‘chirish"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Bekor qilish"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Sizning shaxsiy lug\'atingiz Google serverlarida sinxronlashadi va zahiraga nusxalanadi. So‘zning qayta uchrash ko‘rsatkichi statistik ma’lumotlari, bizga mahsulotlarimiz sifatini oshirishda ko‘maklashish uchun to‘planishi mumkin. Barcha ma’lumotlar yig‘ilishi va foydalanishi "<a href="https://www.google.com/policies/privacy">" Google maxfiylik siyosati "</a>" shartlari bo‘yicha amalga oshadi."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Ushbu imkoniyatni yoqish uchun, iltimos, Google hisobingizni qo‘shing"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Boshqa usullarga o‘tish"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tilni o‘zgartirish tugmasi matn kiritish usulini ham o‘zgartiradi"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Tilni o‘zgartirish tugmasi"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"O‘rtacha"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Juda faol"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Juda faol"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Keyingi so‘zni taklif qilish"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"So‘zlarni taklif qilishda avval yozilgan so‘zga asoslanish"</string> <string name="gesture_input" msgid="826951152254563827">"Imo-ishoralar bilan yozish"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"So‘zlarni barmog‘ingizni klaviaturadan uzmasdan yozing"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Chiziq chizish"</string> diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index 39549d76b..768cdc781 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Đồng bộ hóa Bàn phím Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Đã bật tính năng đồng bộ hóa"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Đồng bộ hóa từ điển cá nhân của bạn trên các thiết bị"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Đồng bộ hóa ngay bây giờ"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Xóa dữ liệu khỏi đám mây bằng bàn phím"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Xóa dữ liệu đã được đồng bộ hóa của bạn khỏi Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Dữ liệu đã đồng bộ hóa của bạn sẽ bị xóa khỏi đám mây. Bạn có chắc chắn không?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Xóa"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Hủy"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Từ điển cá nhân của bạn sẽ được đồng bộ hóa và sao lưu vào máy chủ Google. Chúng tôi có thể thu thập thông tin thống kê về tần suất của từ để giúp cải thiện sản phẩm của mình. Việc thu thập và sử dụng tất cả thông tin sẽ tuân thủ "<a href="https://www.google.com/policies/privacy">"Chính sách bảo mật của Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Vui lòng thêm một tài khoản Google vào thiết bị này để bật tính năng này"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Phương thức nhập khác"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Khóa chuyển ngôn ngữ bao gồm cả các phương thức nhập liệu khác"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Phím chuyển đổi ngôn ngữ"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Đơn giản"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Linh hoạt"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Rất linh hoạt"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Đề xuất từ tiếp theo"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Sử dụng từ trước đó khi đưa ra đề xuất"</string> <string name="gesture_input" msgid="826951152254563827">"Bật nhập bằng cử chỉ"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Nhập từ bằng cách trượt qua các chữ cái"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Hiển thị vệt cử chỉ"</string> diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml index a576cbece..dd7f848ac 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google 键盘同步"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"同步功能已开启"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"在设备间同步您的个人字典"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"立即同步"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"删除键盘云端数据"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"将您已同步的数据从 Google 删除"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"您已同步的数据将会从云端删除。确定要执行此操作吗?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"删除"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"取消"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"您的个人字典将会同步并备份到 Google 服务器。系统可能会收集字词出现频率的统计信息,来帮助改进我们的产品。所有信息的收集和使用都会遵守 "<a href="https://www.google.com/policies/privacy">"Google 隐私权政策"</a>"。"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"要启用此功能,请将 Google 帐户添加到此设备中"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切换到其他输入法"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"语言切换键也可用于切换其他输入法"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"语言切换键"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"小改"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"大幅改动"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"极大幅度改动"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"后续字词建议"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"根据上一个字词提供建议"</string> <string name="gesture_input" msgid="826951152254563827">"启用滑行输入"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"以滑行方式写出字词中字母来输入字词"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"显示滑行输入轨迹"</string> diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml index 28bee6b9f..33e649e18 100644 --- a/java/res/values-zh-rHK/strings.xml +++ b/java/res/values-zh-rHK/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google 鍵盤同步"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"同步功能已啟用"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"同步處理各裝置之間的個人字典"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"立即同步"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"刪除鍵盤雲端資料"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"刪除您來自 Google 的同步處理資料"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"您的同步處理資料將從雲端刪除,要確定嗎?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"刪除"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"取消"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"您的個人字典將同步處理並備份至 Google 伺服器。系統可能會收集字詞頻率的統計資料,以協助改善產品。所有資訊的收集和使用均遵循《"<a href="https://www.google.com/policies/privacy">"Google 私隱權政策"</a>"》。"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"請在這部裝置加入 Google 帳戶,以加入此功能。"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切換至其他輸入法"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"語言切換鍵包括其他輸入法"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"語言切換鍵"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"普通模式"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"加強模式"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"極度加強模式"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"建議下一個字詞"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"根據前一個字詞提出建議"</string> <string name="gesture_input" msgid="826951152254563827">"啟用手勢輸入"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"透過滑動手指寫出字母來輸入字詞"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"顯示手勢軌跡"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index f7891e22e..35d87b54b 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Google 鍵盤同步處理"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"同步處理功能已開啟"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"在各裝置上同步處理您的個人字典"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"立即同步處理"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"刪除 Google 鍵盤雲端資料"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"將已同步處理的資料從 Google 刪除"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"已同步處理的資料將從雲端中刪除。您確定嗎?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"刪除"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"取消"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"系統將會同步處理您的個人字典並備份至 Google 伺服器,同時也會收集字詞頻率的統計資訊,藉此改善我們的產品品質。所有資訊的收集和使用方式都會遵守《"<a href="https://www.google.com/policies/privacy">"Google 隱私權政策"</a>"》的規定。"</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"請將 Google 帳戶新增到這個裝置以啟用這項功能"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切換到其他輸入法"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"使語言切換鍵包含其他輸入法"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"語言切換鍵"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"更正範圍小"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"大幅更正"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"極大幅度更正"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"建議下一個字詞"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"根據前一個字詞提供建議"</string> <string name="gesture_input" msgid="826951152254563827">"啟用滑行輸入"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"以滑動方式寫出字詞中字母來輸入字詞"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"顯示手勢軌跡"</string> diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml index e762fd083..5a414ac1b 100644 --- a/java/res/values-zu/strings.xml +++ b/java/res/values-zu/strings.xml @@ -37,17 +37,14 @@ <string name="cloud_sync_title" msgid="8579271074443847055">"Ukuvumlanisa kwekhibhodi ye-Google"</string> <string name="cloud_sync_summary" msgid="7684887161145650857">"Ukuvumelanisa kuvuliwe"</string> <string name="cloud_sync_summary_disabled" msgid="4553338970382825796">"Vumelanisa isichazamazwi sakho kuwo wonke amadivayisi wakho"</string> - <!-- no translation found for sync_now_title (3088838136743277721) --> - <skip /> + <string name="sync_now_title" msgid="3088838136743277721">"Vumelanisa manje"</string> <string name="clear_sync_data_title" msgid="2041801164014550565">"Sula idata yamafu yekhibhodi"</string> <string name="clear_sync_data_summary" msgid="993477139012576584">"Susa idatha yakho evumelanisiwe esuka ku-Google"</string> <string name="clear_sync_data_confirmation" msgid="2811931135574727678">"Idatha yakho evumelanisiwe izosuswa emafini. Ingabe uqinisekile?"</string> <string name="clear_sync_data_ok" msgid="613104067705915132">"Susa"</string> <string name="cloud_sync_cancel" msgid="5877481252150919037">"Khansela"</string> - <!-- no translation found for cloud_sync_opt_in_text (9176039655776298248) --> - <skip /> - <!-- no translation found for add_account_to_enable_sync (7836932571852055265) --> - <skip /> + <string name="cloud_sync_opt_in_text" msgid="9176039655776298248">"Isichazamazwi sakho somuntu siqu sizovumelaniswa siphinde senziwe isipele kumaseva we-Google. Ulwazi lezibalo lemvamisa yegama lingaqoqwa ukusiza ukuthuthukisa imikhiqizo yethu. Ukuqoqwa nokusetshenziswa kwalo lonke ulwazi kuzohambisana ne-"<a href="https://www.google.com/policies/privacy">"Inqubomgomo Yobumfihlo ye-Google"</a>"."</string> + <string name="add_account_to_enable_sync" msgid="7836932571852055265">"Sicela ungeze i-akhawunti ye-Google kule divayisi ukuze unike amandla lesi sici"</string> <string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Shintshela kwezinye izindlela zokungena"</string> <string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Ukhiye wokushintsha ulimi ubandakanya ezinye izindlela zokungenayo"</string> <string name="show_language_switch_key" msgid="5915478828318774384">"Ukhiye wokushintsha ullimi"</string> @@ -78,6 +75,8 @@ <string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Thobekile"</string> <string name="auto_correction_threshold_mode_aggressive" msgid="7319007299148899623">"Bukhali"</string> <string name="auto_correction_threshold_mode_very_aggressive" msgid="1853309024129480416">"Bukhali kakhulu"</string> + <string name="bigram_prediction" msgid="1084449187723948550">"Iziphakamiso zegama elilandelayo"</string> + <string name="bigram_prediction_summary" msgid="3896362682751109677">"Sebenzisa igama langaphambilini ekwenzeni iziphakamiso"</string> <string name="gesture_input" msgid="826951152254563827">"Nika amandla okuthayipha ngokuthinta"</string> <string name="gesture_input_summary" msgid="9180350639305731231">"Faka igama ngokushelelisa ezinhlamvini"</string> <string name="gesture_preview_trail" msgid="3802333369335722221">"Bonisa i-trail yokuthinta"</string> diff --git a/java/res/values/config-common.xml b/java/res/values/config-common.xml index be22cceea..fb20f7c3a 100644 --- a/java/res/values/config-common.xml +++ b/java/res/values/config-common.xml @@ -20,6 +20,9 @@ <resources> <bool name="config_block_potentially_offensive">true</bool> + <!-- Default value for next word prediction: after entering a word and a space only, should we + look at input history to suggest a hopefully helpful suggestions for the next word? --> + <bool name="config_default_next_word_prediction">true</bool> <integer name="config_delay_in_milliseconds_to_update_shift_state">100</integer> <integer name="config_double_space_period_timeout">1100</integer> diff --git a/java/res/values/donottranslate-debug-settings.xml b/java/res/values/donottranslate-debug-settings.xml index 491043f1a..9df73ae4f 100644 --- a/java/res/values/donottranslate-debug-settings.xml +++ b/java/res/values/donottranslate-debug-settings.xml @@ -41,20 +41,10 @@ <string name="prefs_key_popup_dismiss_end_x_scale_settings">Key popup dismiss end X scale</string> <!-- Title of the settings for key popup dismiss animation end Y-scale (in percentile) [CHAR LIMIT=35] --> <string name="prefs_key_popup_dismiss_end_y_scale_settings">Key popup dismiss end Y scale</string> - <!-- Title of the settings for reading an external dictionary file --> - <string name="prefs_read_external_dictionary">Read external dictionary file</string> <!-- Title of the settings to enable keyboard resizing --> <string name="prefs_resize_keyboard">Enable keyboard resizing</string> <!-- Title of the settings for setting keyboard height --> <string name="prefs_keyboard_height_scale">Keyboard height scale</string> - <!-- Message to show when there are no files to install as an external dictionary [CHAR LIMIT=100] --> - <string name="read_external_dictionary_no_files_message">No dictionary files in the Downloads folder</string> - <!-- Title of the dialog that selects a file to install as an external dictionary [CHAR LIMIT=50] --> - <string name="read_external_dictionary_multiple_files_title">Select a dictionary file to install</string> - <!-- Title of the confirmation dialog to install a file as an external dictionary [CHAR LIMIT=50] --> - <string name="read_external_dictionary_confirm_install_message">Really install this file for <xliff:g id="LANGUAGE_NAME" example="English">%s</xliff:g>?</string> - <!-- Title for an error dialog that contains the details of the error in the body [CHAR LIMIT=80] --> - <string name="read_external_dictionary_error">There was an error</string> <!-- Title of the settings group for dumpping dictionary files that have been created on the device [CHAR LIMIT=35] --> <string name="prefs_dump_dynamic_dicts">Dump dictionary</string> </resources> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index 74966b01e..5655a5529 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -157,6 +157,11 @@ <!-- Option to suggest auto correction suggestions very aggressively. Auto-corrects to a word which has even large edit distance from typed word. [CHAR LIMIT=20] --> <string name="auto_correction_threshold_mode_very_aggressive">Very aggressive</string> + <!-- Option to enable using next word suggestions. After the user types a space, with this option on, the keyboard will try to predict the next word. --> + <string name="bigram_prediction">Next-word suggestions</string> + <!-- Description for "next word suggestion" option. This displays suggestions even when there is no input, based on the previous word. --> + <string name="bigram_prediction_summary">Use the previous word in making suggestions</string> + <!-- Option to enable gesture input. The user can input a word by tracing the letters of a word without releasing the finger from the screen. [CHAR LIMIT=30]--> <string name="gesture_input">Enable gesture typing</string> <!-- Description for "gesture_input" option. The user can input a word by tracing the letters of a word without releasing the finger from the screen. [CHAR LIMIT=65]--> diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml index 33a10fa8f..64929adf1 100644 --- a/java/res/xml/method.xml +++ b/java/res/xml/method.xml @@ -626,6 +626,7 @@ /> <!-- TODO: This Sinhala keyboard is a preliminary layout. This isn't based on the final specification. --> + <!-- si_LK is currently disabled due to lack of combination rules. <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0x5c6b3bde" @@ -634,6 +635,7 @@ android:imeSubtypeExtraValue="KeyboardLayoutSet=sinhala,EmojiCapable" android:isAsciiCapable="false" /> + --> <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0x8e94d413" @@ -693,6 +695,7 @@ android:isAsciiCapable="false" /> <!-- TODO: Enabling/Disabling ta_LK subtype must be aligned with si_LK subtype. --> + <!-- ta_LK disabled alongside si_LK subtype due to lack of combination rules. <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0x6ca12d84" @@ -701,6 +704,7 @@ android:imeSubtypeExtraValue="KeyboardLayoutSet=tamil,EmojiCapable" android:isAsciiCapable="false" /> + !--> <subtype android:icon="@drawable/ic_ime_switcher_dark" android:label="@string/subtype_generic" android:subtypeId="0x785abbd9" diff --git a/java/res/xml/prefs_screen_correction.xml b/java/res/xml/prefs_screen_correction.xml index 020d3afa6..a943dc1a3 100644 --- a/java/res/xml/prefs_screen_correction.xml +++ b/java/res/xml/prefs_screen_correction.xml @@ -41,13 +41,11 @@ android:summary="@string/prefs_block_potentially_offensive_summary" android:defaultValue="@bool/config_block_potentially_offensive" android:persistent="true" /> - <ListPreference - android:key="auto_correction_threshold" + <CheckBoxPreference + android:key="pref_key_auto_correction" android:title="@string/auto_correction" android:summary="@string/auto_correction_summary" - android:entryValues="@array/auto_correction_threshold_mode_indexes" - android:entries="@array/auto_correction_threshold_modes" - android:defaultValue="@string/auto_correction_threshold_mode_index_modest" + android:defaultValue="true" android:persistent="true" /> <CheckBoxPreference android:key="show_suggestions" @@ -67,4 +65,10 @@ android:summary="@string/use_contacts_dict_summary" android:defaultValue="true" android:persistent="true" /> + <CheckBoxPreference + android:key="next_word_prediction" + android:title="@string/bigram_prediction" + android:summary="@string/bigram_prediction_summary" + android:defaultValue="true" + android:persistent="true" /> </PreferenceScreen> diff --git a/java/res/xml/prefs_screen_debug.xml b/java/res/xml/prefs_screen_debug.xml index 905bc045c..1ae2d0e9f 100644 --- a/java/res/xml/prefs_screen_debug.xml +++ b/java/res/xml/prefs_screen_debug.xml @@ -87,9 +87,6 @@ android:title="@string/prefs_keyboard_height_scale" latin:minValue="50" latin:maxValue="120" /> <!-- percentage --> - <PreferenceScreen - android:key="read_external_dictionary" - android:title="@string/prefs_read_external_dictionary" /> <PreferenceCategory android:key="pref_key_dump_dictionaries" android:title="@string/prefs_dump_dynamic_dicts"> diff --git a/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java b/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java index 3aa026e77..12fdd69b9 100644 --- a/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java +++ b/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java @@ -172,6 +172,8 @@ public final class ActionBatch { final long downloadId = UpdateHandler.registerDownloadRequest(manager, request, db, mWordList.mId, mWordList.mVersion); + Log.i(TAG, String.format("Starting the dictionary download with version:" + + " %d and Url: %s" + mWordList.mVersion, uri)); DebugLogUtils.l("Starting download of", uri, "with id", downloadId); PrivateLog.log("Starting download of " + uri + ", id : " + downloadId); } diff --git a/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java b/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java index 73621f474..b00a811bb 100644 --- a/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java +++ b/java/src/com/android/inputmethod/dictionarypack/MetadataDbHelper.java @@ -48,7 +48,7 @@ public class MetadataDbHelper extends SQLiteOpenHelper { private static final int METADATA_DATABASE_VERSION_WITH_CLIENTID = 6; // The current database version. // This MUST be increased every time the dictionary pack metadata URL changes. - private static final int CURRENT_METADATA_DATABASE_VERSION = 12; + private static final int CURRENT_METADATA_DATABASE_VERSION = 14; private final static long NOT_A_DOWNLOAD_ID = -1; diff --git a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java index f4c4f1aab..a3b869d73 100644 --- a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java +++ b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java @@ -151,6 +151,9 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange tspec.setContent(R.id.emoji_keyboard_dummy); final ImageView iconView = (ImageView)LayoutInflater.from(getContext()).inflate( R.layout.emoji_keyboard_tab_icon, null); + // TODO: Replace background color with its own setting rather than using the + // category page indicator background as a workaround. + iconView.setBackgroundColor(mCategoryPageIndicatorBackground); iconView.setImageResource(mEmojiCategory.getCategoryTabIcon(categoryId)); iconView.setContentDescription(mEmojiCategory.getAccessibilityDescription(categoryId)); tspec.setIndicator(iconView); diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index c1015511b..9a3ac674e 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -27,7 +27,6 @@ import com.android.inputmethod.latin.common.Constants; import com.android.inputmethod.latin.common.FileUtils; import com.android.inputmethod.latin.common.InputPointers; import com.android.inputmethod.latin.common.StringUtils; -import com.android.inputmethod.latin.define.DecoderSpecificConstants; import com.android.inputmethod.latin.makedict.DictionaryHeader; import com.android.inputmethod.latin.makedict.FormatSpec; import com.android.inputmethod.latin.makedict.FormatSpec.DictionaryOptions; @@ -58,6 +57,9 @@ public final class BinaryDictionary extends Dictionary { // Must be equal to CONFIDENCE_TO_AUTO_COMMIT in native/jni/src/defines.h private static final int CONFIDENCE_TO_AUTO_COMMIT = 1000000; + public static final int DICTIONARY_MAX_WORD_LENGTH = 48; + public static final int MAX_PREV_WORD_COUNT_FOR_N_GRAM = 3; + @UsedForTesting public static final String UNIGRAM_COUNT_QUERY = "UNIGRAM_COUNT"; @UsedForTesting @@ -318,16 +320,18 @@ public final class BinaryDictionary extends Dictionary { final int count = session.mOutputSuggestionCount[0]; final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<>(); for (int j = 0; j < count; ++j) { - final int start = j * DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH; + final int start = j * DICTIONARY_MAX_WORD_LENGTH; int len = 0; - while (len < DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH + while (len < DICTIONARY_MAX_WORD_LENGTH && session.mOutputCodePoints[start + len] != 0) { ++len; } if (len > 0) { suggestions.add(new SuggestedWordInfo( new String(session.mOutputCodePoints, start, len), - (int)(session.mOutputScores[j] * weightForLocale), session.mOutputTypes[j], + "" /* prevWordsContext */, + (int)(session.mOutputScores[j] * weightForLocale), + session.mOutputTypes[j], this /* sourceDict */, session.mSpaceIndices[j] /* indexOfTouchPointOfSecondWord */, session.mOutputAutoCommitFirstWordConfidence[0])); @@ -389,7 +393,7 @@ public final class BinaryDictionary extends Dictionary { return null; } final int[] codePoints = StringUtils.toCodePointArray(word); - final int[] outCodePoints = new int[DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH]; + final int[] outCodePoints = new int[DICTIONARY_MAX_WORD_LENGTH]; final boolean[] outFlags = new boolean[FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT]; final int[] outProbabilityInfo = new int[FORMAT_WORD_PROPERTY_OUTPUT_PROBABILITY_INFO_COUNT]; @@ -428,7 +432,7 @@ public final class BinaryDictionary extends Dictionary { * If token is 0, this method newly starts iterating the dictionary. */ public GetNextWordPropertyResult getNextWordProperty(final int token) { - final int[] codePoints = new int[DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH]; + final int[] codePoints = new int[DICTIONARY_MAX_WORD_LENGTH]; final boolean[] isBeginningOfSentence = new boolean[1]; final int nextToken = getNextWordNative(mNativeDict, token, codePoints, isBeginningOfSentence); diff --git a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java index ba0f9b807..15a14e5af 100644 --- a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java @@ -125,7 +125,8 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary */ private void addNameLocked(final String name) { int len = StringUtils.codePointCount(name); - NgramContext ngramContext = NgramContext.EMPTY_PREV_WORDS_INFO; + NgramContext ngramContext = NgramContext.getEmptyPrevWordsContext( + BinaryDictionary.MAX_PREV_WORD_COUNT_FOR_N_GRAM); // TODO: Better tokenization for non-Latin writing systems for (int i = 0; i < len; i++) { if (Character.isLetter(name.codePointAt(i))) { diff --git a/java/src/com/android/inputmethod/latin/ContactsContentObserver.java b/java/src/com/android/inputmethod/latin/ContactsContentObserver.java index 4a8d1133b..5eb9b16d1 100644 --- a/java/src/com/android/inputmethod/latin/ContactsContentObserver.java +++ b/java/src/com/android/inputmethod/latin/ContactsContentObserver.java @@ -56,8 +56,8 @@ public class ContactsContentObserver implements Runnable { mContentObserver = new ContentObserver(null /* handler */) { @Override public void onChange(boolean self) { - // TODO(zivkovic): Schedule a separate task to reset the decoder. - ExecutorUtils.getBackgroundExecutor().execute(ContactsContentObserver.this); + ExecutorUtils.getBackgroundExecutor(ExecutorUtils.KEYBOARD) + .execute(ContactsContentObserver.this); } }; final ContentResolver contentResolver = mContext.getContentResolver(); diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java index 5f981a009..6b49f9aa6 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java @@ -89,6 +89,24 @@ public interface DictionaryFacilitator { void onUpdateMainDictionaryAvailability(boolean isMainDictionaryAvailable); } + /** + * Called every time {@link LatinIME} starts on a new text field. + * Dot not affect {@link AndroidSpellCheckerService}. + * + * WARNING: The service methods that call start/finish are very spammy. + */ + void onStartInput(); + + /** + * Called every time the {@link LatinIME} finishes with the current text field. + * May be followed by {@link #onStartInput} again in another text field, + * or it may be done for a while. + * Dot not affect {@link AndroidSpellCheckerService}. + * + * WARNING: The service methods that call start/finish are very spammy. + */ + void onFinishInput(); + boolean isActive(); Locale getLocale(); diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorImpl.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorImpl.java index 2f3c58251..e5d770aee 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorImpl.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorImpl.java @@ -202,6 +202,15 @@ public class DictionaryFacilitatorImpl implements DictionaryFacilitator { public DictionaryFacilitatorImpl() { } + @Override + public void onStartInput() { + } + + @Override + public void onFinishInput() { + } + + @Override public boolean isActive() { return mDictionaryGroup.mLocale != null; } @@ -338,7 +347,7 @@ public class DictionaryFacilitatorImpl implements DictionaryFacilitator { final Locale locale, final DictionaryInitializationListener listener) { final CountDownLatch latchForWaitingLoadingMainDictionary = new CountDownLatch(1); mLatchForWaitingLoadingMainDictionaries = latchForWaitingLoadingMainDictionary; - ExecutorUtils.getBackgroundExecutor().execute(new Runnable() { + ExecutorUtils.getBackgroundExecutor(ExecutorUtils.KEYBOARD).execute(new Runnable() { @Override public void run() { doReloadUninitializedMainDictionaries( diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java index 138a2ea5c..80daedd50 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -121,8 +121,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { private static boolean needsToMigrateDictionary(final int formatVersion) { // When we bump up the dictionary format version, the old version should be added to here // for supporting migration. Note that native code has to support reading such formats. - return formatVersion == FormatSpec.VERSION4_ONLY_FOR_TESTING - || formatVersion == FormatSpec.VERSION402; + return formatVersion == FormatSpec.VERSION402; } public boolean isValidDictionaryLocked() { @@ -168,7 +167,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { } private static void asyncExecuteTaskWithLock(final Lock lock, final Runnable task) { - ExecutorUtils.getBackgroundExecutor().execute(new Runnable() { + ExecutorUtils.getBackgroundExecutor(ExecutorUtils.KEYBOARD).execute(new Runnable() { @Override public void run() { lock.lock(); diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index a0e55c65f..330be377b 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -94,7 +94,6 @@ import com.android.inputmethod.latin.utils.ViewLayoutUtils; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.concurrent.TimeUnit; @@ -793,6 +792,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @SuppressWarnings("deprecation") void onStartInputViewInternal(final EditorInfo editorInfo, final boolean restarting) { super.onStartInputView(editorInfo, restarting); + + mDictionaryFacilitator.onStartInput(); // Switch to the null consumer to handle cases leading to early exit below, for which we // also wouldn't be consuming gesture data. mGestureConsumer = GestureConsumer.NULL_GESTURE_CONSUMER; @@ -971,6 +972,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen void onFinishInputInternal() { super.onFinishInput(); + mDictionaryFacilitator.onFinishInput(); final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView(); if (mainKeyboardView != null) { mainKeyboardView.closing(); @@ -1255,7 +1257,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener} @Override public void onClickSettingsOfImportantNoticeDialog(final int nextVersion) { - launchSettings(); + launchSettings(SettingsActivity.EXTRA_ENTRY_VALUE_NOTICE_DIALOG); } // Implement {@link ImportantNoticeDialog.ImportantNoticeDialogListener} @@ -1384,7 +1386,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen @Override public void onUpdateBatchInput(final InputPointers batchPointers) { - mInputLogic.onUpdateBatchInput(mSettings.getCurrent(), batchPointers, mKeyboardSwitcher); + mInputLogic.onUpdateBatchInput(batchPointers); } @Override @@ -1408,7 +1410,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen */ public void onTailBatchInputResultShown(final SuggestedWords suggestedWords) { mGestureConsumer.onImeSuggestionsProcessed(suggestedWords, - mInputLogic.getComposingStart(), mInputLogic.getComposingLength()); + mInputLogic.getComposingStart(), mInputLogic.getComposingLength(), + mDictionaryFacilitator); } // This method must run on the UI Thread. @@ -1451,7 +1454,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } final boolean shouldShowImportantNotice = - ImportantNoticeUtils.shouldShowImportantNotice(this); + ImportantNoticeUtils.shouldShowImportantNotice(this, currentSettingsValues); final boolean shouldShowSuggestionCandidates = currentSettingsValues.mInputAttributes.mShouldShowSuggestions && currentSettingsValues.isSuggestionsEnabledPerUserSettings(); @@ -1531,10 +1534,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // punctuation suggestions (if it's disabled). @Override public void setNeutralSuggestionStrip() { - setSuggestedWords(SuggestedWords.getEmptyInstance()); + final SettingsValues currentSettings = mSettings.getCurrent(); + final SuggestedWords neutralSuggestions = currentSettings.mBigramPredictionEnabled + ? SuggestedWords.getEmptyInstance() + : currentSettings.mSpacingAndPunctuations.mSuggestPuncList; + setSuggestedWords(neutralSuggestions); } - // TODO: Make this private // Outside LatinIME, only used by the {@link InputTestsBase} test suite. @UsedForTesting void loadKeyboard() { @@ -1692,7 +1698,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } }; - void launchSettings() { + void launchSettings(final String extraEntryValue) { mInputLogic.commitTyped(mSettings.getCurrent(), LastComposedWord.NOT_A_SEPARATOR); requestHideSelf(0); final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView(); @@ -1705,6 +1711,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra(SettingsActivity.EXTRA_SHOW_HOME_AS_UP, false); + intent.putExtra(SettingsActivity.EXTRA_ENTRY_KEY, extraEntryValue); startActivity(intent); } @@ -1732,7 +1739,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen startActivity(intent); break; case 1: - launchSettings(); + launchSettings(SettingsActivity.EXTRA_ENTRY_VALUE_LONG_PRESS_COMMA); break; } } @@ -1764,7 +1771,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen dialog.show(); } - // TODO: can this be removed somehow without breaking the tests? @UsedForTesting SuggestedWords getSuggestedWordsForTest() { // You may not use this method for anything else than debug diff --git a/java/src/com/android/inputmethod/latin/NgramContext.java b/java/src/com/android/inputmethod/latin/NgramContext.java index aeeff6126..9682fb8a4 100644 --- a/java/src/com/android/inputmethod/latin/NgramContext.java +++ b/java/src/com/android/inputmethod/latin/NgramContext.java @@ -43,6 +43,10 @@ public class NgramContext { public static final String CONTEXT_SEPARATOR = " "; + public static NgramContext getEmptyPrevWordsContext(int maxPrevWordCount) { + return new NgramContext(maxPrevWordCount, WordInfo.EMPTY_WORD_INFO); + } + /** * Word information used to represent previous words information. */ @@ -102,10 +106,17 @@ public class NgramContext { private final WordInfo[] mPrevWordsInfo; private final int mPrevWordsCount; + private final int mMaxPrevWordCount; + // Construct from the previous word information. public NgramContext(final WordInfo... prevWordsInfo) { + this(DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM, prevWordsInfo); + } + + public NgramContext(final int maxPrevWordCount, final WordInfo... prevWordsInfo) { mPrevWordsInfo = prevWordsInfo; mPrevWordsCount = prevWordsInfo.length; + mMaxPrevWordCount = maxPrevWordCount; } /** @@ -113,12 +124,11 @@ public class NgramContext { */ @Nonnull public NgramContext getNextNgramContext(final WordInfo wordInfo) { - final int nextPrevWordCount = Math.min( - DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM, mPrevWordsCount + 1); + final int nextPrevWordCount = Math.min(mMaxPrevWordCount, mPrevWordsCount + 1); final WordInfo[] prevWordsInfo = new WordInfo[nextPrevWordCount]; prevWordsInfo[0] = wordInfo; System.arraycopy(mPrevWordsInfo, 0, prevWordsInfo, 1, nextPrevWordCount - 1); - return new NgramContext(prevWordsInfo); + return new NgramContext(mMaxPrevWordCount, prevWordsInfo); } diff --git a/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java b/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java index c9b6d6b70..e2c562174 100644 --- a/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java +++ b/java/src/com/android/inputmethod/latin/PunctuationSuggestions.java @@ -114,7 +114,8 @@ public final class PunctuationSuggestions extends SuggestedWords { } private static SuggestedWordInfo newHardCodedWordInfo(final String keySpec) { - return new SuggestedWordInfo(keySpec, SuggestedWordInfo.MAX_SCORE, + return new SuggestedWordInfo(keySpec, "" /* prevWordsContext */, + SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_HARDCODED, Dictionary.DICTIONARY_HARDCODED, SuggestedWordInfo.NOT_AN_INDEX /* indexOfTouchPointOfSecondWord */, diff --git a/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java b/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java index c7bd88933..9d7849ffc 100644 --- a/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java +++ b/java/src/com/android/inputmethod/latin/RichInputMethodSubtype.java @@ -36,7 +36,8 @@ import javax.annotation.Nullable; * * Right now, this returns the extra value of its primary subtype. */ -public final class RichInputMethodSubtype { +// non final for easy mocking. +public class RichInputMethodSubtype { private static final String TAG = RichInputMethodSubtype.class.getSimpleName(); @Nonnull diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 6a0d6be9c..7ccefd2dd 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -19,6 +19,7 @@ package com.android.inputmethod.latin; import android.text.TextUtils; import static com.android.inputmethod.latin.define.DecoderSpecificConstants.SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION; +import static com.android.inputmethod.latin.define.DecoderSpecificConstants.SHOULD_REMOVE_PREVIOUSLY_REJECTED_SUGGESTION; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; @@ -35,7 +36,6 @@ import java.util.HashMap; import java.util.Locale; import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * This class loads a dictionary and provides a list of suggestions for a given sequence of @@ -147,18 +147,6 @@ public final class Suggest { return firstSuggestedWordInfo; } - // Quality constants for dictionary match - // In increasing order of quality - // This source dictionary does not match the typed word. - private static final int QUALITY_NO_MATCH = 0; - // This source dictionary has a null locale, and the preferred locale is also null. - private static final int QUALITY_MATCH_NULL = 1; - // This source dictionary has a non-null locale different from the preferred locale. The - // preferred locale may be null : this is still better than MATCH_NULL. - private static final int QUALITY_MATCH_OTHER_LOCALE = 2; - // This source dictionary matches the preferred locale. - private static final int QUALITY_MATCH_PREFERRED_LOCALE = 3; - // Retrieves suggestions for non-batch input (typing, recorrection, predictions...) // and calls the callback function with the suggestions. private void getSuggestedWordsForNonBatchInput(final WordComposer wordComposer, @@ -179,34 +167,18 @@ public final class Suggest { final Locale locale = mDictionaryFacilitator.getLocale(); final ArrayList<SuggestedWordInfo> suggestionsContainer = getTransformedSuggestedWordInfoList(wordComposer, suggestionResults, - trailingSingleQuotesCount, - // For transforming suggestions that don't come for any dictionary, we - // use the currently most probable locale as it's our best bet. - locale); - - boolean typedWordExistsInAnotherLanguage = false; - int qualityOfFoundSourceDictionary = QUALITY_NO_MATCH; - @Nullable Dictionary sourceDictionaryOfRemovedWord = null; + trailingSingleQuotesCount, locale); + + boolean foundInDictionary = false; + Dictionary sourceDictionaryOfRemovedWord = null; for (final SuggestedWordInfo info : suggestionsContainer) { // Search for the best dictionary, defined as the first one with the highest match // quality we can find. - if (typedWordString.equals(info.mWord)) { - if (locale.equals(info.mSourceDict.mLocale)) { - if (qualityOfFoundSourceDictionary < QUALITY_MATCH_PREFERRED_LOCALE) { - // Use this source if the old match had lower quality than this match - sourceDictionaryOfRemovedWord = info.mSourceDict; - qualityOfFoundSourceDictionary = QUALITY_MATCH_PREFERRED_LOCALE; - } - } else { - final int matchQuality = (null == info.mSourceDict.mLocale) - ? QUALITY_MATCH_NULL : QUALITY_MATCH_OTHER_LOCALE; - if (qualityOfFoundSourceDictionary < matchQuality) { - // Use this source if the old match had lower quality than this match - sourceDictionaryOfRemovedWord = info.mSourceDict; - qualityOfFoundSourceDictionary = matchQuality; - } - typedWordExistsInAnotherLanguage = true; - } + if (!foundInDictionary && typedWordString.equals(info.mWord)) { + // Use this source if the old match had lower quality than this match + sourceDictionaryOfRemovedWord = info.mSourceDict; + foundInDictionary = true; + break; } } @@ -215,22 +187,8 @@ public final class Suggest { final SuggestedWordInfo whitelistedWordInfo = getWhitelistedWordInfoOrNull(suggestionsContainer); - final String whitelistedWord; - if (null != whitelistedWordInfo && - (mDictionaryFacilitator.isForLocale(whitelistedWordInfo.mSourceDict.mLocale) - || (!typedWordExistsInAnotherLanguage - && !hasPlausibleCandidateInAnyOtherLanguage(suggestionsContainer, - consideredWord, whitelistedWordInfo)))) { - // We'll use the whitelist candidate if we are confident the user is typing in the - // language of the dictionary it's coming from, or if there is no plausible candidate - // coming from another language. - whitelistedWord = whitelistedWordInfo.mWord; - } else { - // If on the contrary we are not confident in the current language and we have - // at least a plausible candidate in any other language, then we don't use this - // whitelist candidate. - whitelistedWord = null; - } + final String whitelistedWord = whitelistedWordInfo == null + ? null : whitelistedWordInfo.mWord; final boolean resultsArePredictions = !wordComposer.isComposingWord(); // We allow auto-correction if whitelisting is not required or the word is whitelisted, @@ -290,7 +248,8 @@ public final class Suggest { } final SuggestedWordInfo typedWordInfo = new SuggestedWordInfo(typedWordString, - SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_TYPED, + "" /* prevWordsContext */, SuggestedWordInfo.MAX_SCORE, + SuggestedWordInfo.KIND_TYPED, null == sourceDictionaryOfRemovedWord ? Dictionary.DICTIONARY_USER_TYPED : sourceDictionaryOfRemovedWord, SuggestedWordInfo.NOT_AN_INDEX /* indexOfTouchPointOfSecondWord */, @@ -325,20 +284,6 @@ public final class Suggest { false /* isObsoleteSuggestions */, inputStyle, sequenceNumber)); } - private boolean hasPlausibleCandidateInAnyOtherLanguage( - final ArrayList<SuggestedWordInfo> suggestionsContainer, final String consideredWord, - final SuggestedWordInfo whitelistedWordInfo) { - for (final SuggestedWordInfo info : suggestionsContainer) { - if (whitelistedWordInfo.mSourceDict.mLocale.equals(info.mSourceDict.mLocale)) { - continue; - } - return AutoCorrectionUtils.suggestionExceedsThreshold(info, consideredWord, - mPlausibilityThreshold); - } - // No candidate in another language - return false; - } - // Retrieves suggestions for the batch input // and calls the callback function with the suggestions. private void getSuggestedWordsForBatchInput(final WordComposer wordComposer, @@ -367,8 +312,10 @@ public final class Suggest { } } - if (suggestionsContainer.size() > 1 && TextUtils.equals(suggestionsContainer.get(0).mWord, - wordComposer.getRejectedBatchModeSuggestion())) { + if (SHOULD_REMOVE_PREVIOUSLY_REJECTED_SUGGESTION + && suggestionsContainer.size() > 1 + && TextUtils.equals(suggestionsContainer.get(0).mWord, + wordComposer.getRejectedBatchModeSuggestion())) { final SuggestedWordInfo rejected = suggestionsContainer.remove(0); suggestionsContainer.add(1, rejected); } @@ -479,7 +426,8 @@ public final class Suggest { for (int i = quotesToAppend - 1; i >= 0; --i) { sb.appendCodePoint(Constants.CODE_SINGLE_QUOTE); } - return new SuggestedWordInfo(sb.toString(), wordInfo.mScore, wordInfo.mKindAndFlags, + return new SuggestedWordInfo(sb.toString(), wordInfo.mPrevWordsContext, + wordInfo.mScore, wordInfo.mKindAndFlags, wordInfo.mSourceDict, wordInfo.mIndexOfTouchPointOfSecondWord, wordInfo.mAutoCommitFirstWordConfidence); } diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java index 3816c0870..bcd4d5f69 100644 --- a/java/src/com/android/inputmethod/latin/SuggestedWords.java +++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java @@ -17,11 +17,9 @@ package com.android.inputmethod.latin; import android.text.TextUtils; -import android.util.Log; import android.view.inputmethod.CompletionInfo; import com.android.inputmethod.annotations.UsedForTesting; -import com.android.inputmethod.latin.common.Constants; import com.android.inputmethod.latin.common.StringUtils; import com.android.inputmethod.latin.define.DebugFlags; @@ -264,12 +262,14 @@ public class SuggestedWords { public static final int KIND_FLAG_APPROPRIATE_FOR_AUTO_CORRECTION = 0x10000000; public final String mWord; + public final String mPrevWordsContext; // The completion info from the application. Null for suggestions that don't come from // the application (including keyboard-computed ones, so this is almost always null) public final CompletionInfo mApplicationSpecifiedCompletionInfo; public final int mScore; public final int mKindAndFlags; public final int mCodePointCount; + @Deprecated public final Dictionary mSourceDict; // For auto-commit. This keeps track of the index inside the touch coordinates array // passed to native code to get suggestions for a gesture that corresponds to the first @@ -283,6 +283,7 @@ public class SuggestedWords { /** * Create a new suggested word info. * @param word The string to suggest. + * @param prevWordsContext previous words context. * @param score A measure of how likely this suggestion is. * @param kindAndFlags The kind of suggestion, as one of the above KIND_* constants with * flags. @@ -290,10 +291,12 @@ public class SuggestedWords { * @param indexOfTouchPointOfSecondWord See mIndexOfTouchPointOfSecondWord. * @param autoCommitFirstWordConfidence See mAutoCommitFirstWordConfidence. */ - public SuggestedWordInfo(final String word, final int score, final int kindAndFlags, + public SuggestedWordInfo(final String word, final String prevWordsContext, + final int score, final int kindAndFlags, final Dictionary sourceDict, final int indexOfTouchPointOfSecondWord, final int autoCommitFirstWordConfidence) { mWord = word; + mPrevWordsContext = prevWordsContext; mApplicationSpecifiedCompletionInfo = null; mScore = score; mKindAndFlags = kindAndFlags; @@ -310,6 +313,7 @@ public class SuggestedWords { */ public SuggestedWordInfo(final CompletionInfo applicationSpecifiedCompletion) { mWord = applicationSpecifiedCompletion.getText().toString(); + mPrevWordsContext = ""; mApplicationSpecifiedCompletionInfo = applicationSpecifiedCompletion; mScore = SuggestedWordInfo.MAX_SCORE; mKindAndFlags = SuggestedWordInfo.KIND_APP_DEFINED; @@ -360,6 +364,7 @@ public class SuggestedWords { return mWord; } + @Deprecated public Dictionary getSourceDictionary() { return mSourceDict; } @@ -427,27 +432,6 @@ public class SuggestedWords { return isPrediction(mInputStyle); } - // Creates a new SuggestedWordInfo from the currently suggested words that removes all but the - // last word of all suggestions, separated by a space. This is necessary because when we commit - // a multiple-word suggestion, the IME only retains the last word as the composing word, and - // we should only suggest replacements for this last word. - // TODO: make this work with languages without spaces. - public SuggestedWords getSuggestedWordsForLastWordOfPhraseGesture() { - final ArrayList<SuggestedWordInfo> newSuggestions = new ArrayList<>(); - for (int i = 0; i < mSuggestedWordInfoList.size(); ++i) { - final SuggestedWordInfo info = mSuggestedWordInfoList.get(i); - final int indexOfLastSpace = info.mWord.lastIndexOf(Constants.CODE_SPACE) + 1; - final String lastWord = info.mWord.substring(indexOfLastSpace); - newSuggestions.add(new SuggestedWordInfo(lastWord, info.mScore, info.mKindAndFlags, - info.mSourceDict, SuggestedWordInfo.NOT_AN_INDEX, - SuggestedWordInfo.NOT_A_CONFIDENCE)); - } - return new SuggestedWords(newSuggestions, null /* rawSuggestions */, - newSuggestions.isEmpty() ? null : newSuggestions.get(0) /* typedWordInfo */, - mTypedWordValid, mWillAutoCorrect, mIsObsoleteSuggestions, INPUT_STYLE_TAIL_BATCH, - NOT_A_SEQUENCE_NUMBER); - } - /** * @return the {@link SuggestedWordInfo} which corresponds to the word that is originally * typed by the user. Otherwise returns {@code null}. Note that gesture input is not diff --git a/java/src/com/android/inputmethod/latin/debug/ExternalDictionaryGetterForDebug.java b/java/src/com/android/inputmethod/latin/debug/ExternalDictionaryGetterForDebug.java deleted file mode 100644 index 8cc3552ed..000000000 --- a/java/src/com/android/inputmethod/latin/debug/ExternalDictionaryGetterForDebug.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.inputmethod.latin.debug; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.DialogInterface.OnCancelListener; -import android.content.DialogInterface.OnClickListener; -import android.os.Environment; - -import com.android.inputmethod.latin.BinaryDictionaryFileDumper; -import com.android.inputmethod.latin.BinaryDictionaryGetter; -import com.android.inputmethod.latin.R; -import com.android.inputmethod.latin.common.LocaleUtils; -import com.android.inputmethod.latin.makedict.DictionaryHeader; -import com.android.inputmethod.latin.utils.DialogUtils; -import com.android.inputmethod.latin.utils.DictionaryInfoUtils; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Locale; - -/** - * A class to read a local file as a dictionary for debugging purposes. - */ -public class ExternalDictionaryGetterForDebug { - static final String SOURCE_FOLDER = Environment.getExternalStorageDirectory().getPath() - + "/Download"; - - private static String[] findDictionariesInTheDownloadedFolder() { - final File[] files = new File(SOURCE_FOLDER).listFiles(); - final ArrayList<String> eligibleList = new ArrayList<>(); - for (File f : files) { - final DictionaryHeader header = DictionaryInfoUtils.getDictionaryFileHeaderOrNull(f); - if (null == header) continue; - eligibleList.add(f.getName()); - } - return eligibleList.toArray(new String[0]); - } - - public static void chooseAndInstallDictionary(final Context context) { - final String[] fileNames = findDictionariesInTheDownloadedFolder(); - if (0 == fileNames.length) { - showNoFileDialog(context); - } else if (1 == fileNames.length) { - askInstallFile(context, SOURCE_FOLDER, fileNames[0], null /* completeRunnable */); - } else { - showChooseFileDialog(context, fileNames); - } - } - - private static void showNoFileDialog(final Context context) { - new AlertDialog.Builder(DialogUtils.getPlatformDialogThemeContext(context)) - .setMessage(R.string.read_external_dictionary_no_files_message) - .setPositiveButton(android.R.string.ok, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - dialog.dismiss(); - } - }).create().show(); - } - - private static void showChooseFileDialog(final Context context, final String[] fileNames) { - new AlertDialog.Builder(DialogUtils.getPlatformDialogThemeContext(context)) - .setTitle(R.string.read_external_dictionary_multiple_files_title) - .setItems(fileNames, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - askInstallFile(context, SOURCE_FOLDER, fileNames[which], - null /* completeRunnable */); - } - }) - .create().show(); - } - - /** - * Shows a dialog which offers the user to install the external dictionary. - */ - public static void askInstallFile(final Context context, final String dirPath, - final String fileName, final Runnable completeRunnable) { - final File file = new File(dirPath, fileName.toString()); - final DictionaryHeader header = DictionaryInfoUtils.getDictionaryFileHeaderOrNull(file); - final StringBuilder message = new StringBuilder(); - final String localeString = header.mLocaleString; - for (final String key : header.mDictionaryOptions.mAttributes.keySet()) { - message.append(key + " = " + header.mDictionaryOptions.mAttributes.get(key)); - message.append("\n"); - } - final String languageName = LocaleUtils.constructLocaleFromString(localeString) - .getDisplayName(Locale.getDefault()); - final String title = String.format( - context.getString(R.string.read_external_dictionary_confirm_install_message), - languageName); - new AlertDialog.Builder(DialogUtils.getPlatformDialogThemeContext(context)) - .setTitle(title) - .setMessage(message) - .setNegativeButton(android.R.string.cancel, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - dialog.dismiss(); - if (completeRunnable != null) { - completeRunnable.run(); - } - } - }).setPositiveButton(android.R.string.ok, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - installFile(context, file, header); - dialog.dismiss(); - if (completeRunnable != null) { - completeRunnable.run(); - } - } - }).setOnCancelListener(new OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - // Canceled by the user by hitting the back key - if (completeRunnable != null) { - completeRunnable.run(); - } - } - }).create().show(); - } - - static void installFile(final Context context, final File file, final DictionaryHeader header) { - BufferedOutputStream outputStream = null; - File tempFile = null; - try { - final String localeString = header.mLocaleString; - // Create the id for a main dictionary for this locale - final String id = BinaryDictionaryGetter.MAIN_DICTIONARY_CATEGORY - + BinaryDictionaryGetter.ID_CATEGORY_SEPARATOR + localeString; - final String finalFileName = DictionaryInfoUtils.getCacheFileName( - id, localeString, context); - final String tempFileName = BinaryDictionaryGetter.getTempFileName(id, context); - tempFile = new File(tempFileName); - tempFile.delete(); - outputStream = new BufferedOutputStream(new FileOutputStream(tempFile)); - final BufferedInputStream bufferedStream = new BufferedInputStream( - new FileInputStream(file)); - BinaryDictionaryFileDumper.checkMagicAndCopyFileTo(bufferedStream, outputStream); - outputStream.flush(); - final File finalFile = new File(finalFileName); - finalFile.delete(); - if (!tempFile.renameTo(finalFile)) { - throw new IOException("Can't move the file to its final name"); - } - } catch (IOException e) { - // There was an error: show a dialog - new AlertDialog.Builder(DialogUtils.getPlatformDialogThemeContext(context)) - .setTitle(R.string.read_external_dictionary_error) - .setMessage(e.toString()) - .setPositiveButton(android.R.string.ok, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - dialog.dismiss(); - } - }).create().show(); - return; - } finally { - try { - if (null != outputStream) outputStream.close(); - if (null != tempFile) tempFile.delete(); - } catch (IOException e) { - // Don't do anything - } - } - } -} diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index f3840f74e..5b3b28d75 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -225,9 +225,7 @@ public final class InputLogic { * @return the complete transaction object */ public InputTransaction onTextInput(final SettingsValues settingsValues, final Event event, - final int keyboardShiftMode, - // TODO: remove this argument - final LatinIME.UIHandler handler) { + final int keyboardShiftMode, final LatinIME.UIHandler handler) { final String rawText = event.getTextToCommit().toString(); final InputTransaction inputTransaction = new InputTransaction(settingsValues, event, SystemClock.uptimeMillis(), mSpaceState, @@ -266,12 +264,14 @@ public final class InputLogic { // interface public InputTransaction onPickSuggestionManually(final SettingsValues settingsValues, final SuggestedWordInfo suggestionInfo, final int keyboardShiftState, - // TODO: remove these arguments final int currentKeyboardScriptId, final LatinIME.UIHandler handler) { 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 && suggestedWords.isPunctuationSuggestions()) { + // We still want to log a suggestion click. + StatsUtils.onPickSuggestionManually( + mSuggestedWords, suggestionInfo, mDictionaryFacilitator); // Word separators are suggested before the user inputs something. // Rely on onCodeInput to do the complicated swapping/stripping logic consistently. final Event event = Event.createPunctuationSuggestionPickedEvent(suggestionInfo); @@ -324,7 +324,8 @@ public final class InputLogic { // That's going to be predictions (or punctuation suggestions), so INPUT_STYLE_NONE. handler.postUpdateSuggestionStrip(SuggestedWords.INPUT_STYLE_NONE); - StatsUtils.onPickSuggestionManually(mSuggestedWords, suggestionInfo); + StatsUtils.onPickSuggestionManually( + mSuggestedWords, suggestionInfo, mDictionaryFacilitator); StatsUtils.onWordCommitSuggestionPickedManually( suggestionInfo.mWord, mWordComposer.isBatchMode()); return inputTransaction; @@ -418,7 +419,6 @@ public final class InputLogic { */ public InputTransaction onCodeInput(final SettingsValues settingsValues, @Nonnull final Event event, final int keyboardShiftMode, - // TODO: remove these arguments final int currentKeyboardScriptId, final LatinIME.UIHandler handler) { final Event processedEvent = mWordComposer.processEvent(event); final InputTransaction inputTransaction = new InputTransaction(settingsValues, @@ -465,7 +465,6 @@ public final class InputLogic { } public void onStartBatchInput(final SettingsValues settingsValues, - // TODO: remove these arguments final KeyboardSwitcher keyboardSwitcher, final LatinIME.UIHandler handler) { mInputLogicHandler.onStartBatchInput(); handler.showGesturePreviewAndSuggestionStrip( @@ -529,10 +528,7 @@ public final class InputLogic { * earlier sequence number. */ private int mAutoCommitSequenceNumber = 1; - public void onUpdateBatchInput(final SettingsValues settingsValues, - final InputPointers batchPointers, - // TODO: remove these arguments - final KeyboardSwitcher keyboardSwitcher) { + public void onUpdateBatchInput(final InputPointers batchPointers) { mInputLogicHandler.onUpdateBatchInput(batchPointers, mAutoCommitSequenceNumber); } @@ -541,7 +537,6 @@ public final class InputLogic { ++mAutoCommitSequenceNumber; } - // TODO: remove this argument public void onCancelBatchInput(final LatinIME.UIHandler handler) { mInputLogicHandler.onCancelBatchInput(); handler.showGesturePreviewAndSuggestionStrip( @@ -617,7 +612,6 @@ public final class InputLogic { * @param inputTransaction The transaction in progress. */ private void handleFunctionalEvent(final Event event, final InputTransaction inputTransaction, - // TODO: remove these arguments final int currentKeyboardScriptId, final LatinIME.UIHandler handler) { switch (event.mKeyCode) { case Constants.CODE_DELETE: @@ -669,7 +663,6 @@ public final class InputLogic { // handled in {@link KeyboardState#onEvent(Event,int)}. break; case Constants.CODE_SHIFT_ENTER: - // TODO: remove this object final Event tmpEvent = Event.createSoftwareKeypressEvent(Constants.CODE_ENTER, event.mKeyCode, event.mX, event.mY, event.isKeyRepeat()); handleNonSpecialCharacterEvent(tmpEvent, inputTransaction, handler); @@ -693,7 +686,6 @@ public final class InputLogic { */ private void handleNonFunctionalEvent(final Event event, final InputTransaction inputTransaction, - // TODO: remove this argument final LatinIME.UIHandler handler) { inputTransaction.setDidAffectContents(); switch (event.mCodePoint) { @@ -739,7 +731,6 @@ public final class InputLogic { */ private void handleNonSpecialCharacterEvent(final Event event, final InputTransaction inputTransaction, - // TODO: remove this argument final LatinIME.UIHandler handler) { final int codePoint = event.mCodePoint; mSpaceState = SpaceState.NONE; @@ -845,7 +836,6 @@ public final class InputLogic { * @param inputTransaction The transaction in progress. */ private void handleSeparatorEvent(final Event event, final InputTransaction inputTransaction, - // TODO: remove this argument final LatinIME.UIHandler handler) { final int codePoint = event.mCodePoint; final SettingsValues settingsValues = inputTransaction.mSettingsValues; @@ -953,7 +943,6 @@ public final class InputLogic { * @param inputTransaction The transaction in progress. */ private void handleBackspaceEvent(final Event event, final InputTransaction inputTransaction, - // TODO: remove this argument, put it into settingsValues final int currentKeyboardScriptId) { mSpaceState = SpaceState.NONE; mDeleteCount++; @@ -1157,7 +1146,6 @@ public final class InputLogic { settingsValues.mSpacingAndPunctuations, currentKeyboardScriptId); if (range == null) { - // TODO(zivkovic): Check for bad connection before getting this far. // Happens if we don't have an input connection at all. return false; } @@ -1395,6 +1383,11 @@ public final class InputLogic { return; } + if (!mWordComposer.isComposingWord() && !settingsValues.mBigramPredictionEnabled) { + mSuggestionStripViewAccessor.setNeutralSuggestionStrip(); + return; + } + final AsyncResultHolder<SuggestedWords> holder = new AsyncResultHolder<>(); mInputLogicHandler.getSuggestedWords(inputStyle, SuggestedWords.NOT_A_SEQUENCE_NUMBER, new OnGetSuggestedWordsCallback() { @@ -1402,7 +1395,8 @@ public final class InputLogic { public void onGetSuggestedWords(final SuggestedWords suggestedWords) { final String typedWordString = mWordComposer.getTypedWord(); final SuggestedWordInfo typedWordInfo = new SuggestedWordInfo( - typedWordString, SuggestedWordInfo.MAX_SCORE, + typedWordString, "" /* prevWordsContext */, + SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_TYPED, Dictionary.DICTIONARY_USER_TYPED, SuggestedWordInfo.NOT_AN_INDEX /* indexOfTouchPointOfSecondWord */, SuggestedWordInfo.NOT_A_CONFIDENCE); @@ -1435,7 +1429,6 @@ public final class InputLogic { * to a cursor move, for example). In ICS, there is a platform bug that we need to work * around only when we come here at input start time. */ - // TODO: make this private. public void restartSuggestionsOnWordTouchedByCursor(final SettingsValues settingsValues, final boolean forStartInput, // TODO: remove this argument, put it into settingsValues @@ -1486,7 +1479,7 @@ public final class InputLogic { final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<>(); final String typedWordString = range.mWord.toString(); final SuggestedWordInfo typedWordInfo = new SuggestedWordInfo(typedWordString, - SuggestedWords.MAX_SUGGESTIONS + 1, + "" /* prevWordsContext */, SuggestedWords.MAX_SUGGESTIONS + 1, SuggestedWordInfo.KIND_TYPED, Dictionary.DICTIONARY_USER_TYPED, SuggestedWordInfo.NOT_AN_INDEX /* indexOfTouchPointOfSecondWord */, SuggestedWordInfo.NOT_A_CONFIDENCE /* autoCommitFirstWordConfidence */); @@ -1501,7 +1494,7 @@ public final class InputLogic { ++i; if (!TextUtils.equals(s, typedWordString)) { suggestions.add(new SuggestedWordInfo(s, - SuggestedWords.MAX_SUGGESTIONS - i, + "" /* prevWordsContext */, SuggestedWords.MAX_SUGGESTIONS - i, SuggestedWordInfo.KIND_RESUMED, Dictionary.DICTIONARY_RESUMED, SuggestedWordInfo.NOT_AN_INDEX /* indexOfTouchPointOfSecondWord */, SuggestedWordInfo.NOT_A_CONFIDENCE @@ -1602,15 +1595,11 @@ public final class InputLogic { // First, add the committed word to the list of suggestions. suggestions.add(committedWordString); for (final Object span : spans) { - // If this is a suggestion span, we check that the locale is the right one, and - // that the word is not the committed word. That should mostly be the case. + // If this is a suggestion span, we check that the word is not the committed word. + // That should mostly be the case. // Given this, we add it to the list of suggestions, otherwise we discard it. if (span instanceof SuggestionSpan) { final SuggestionSpan suggestionSpan = (SuggestionSpan)span; - if (!suggestionSpan.getLocale().equals( - inputTransaction.mSettingsValues.mLocale.toString())) { - continue; - } for (final String suggestion : suggestionSpan.getSuggestions()) { if (!suggestion.equals(committedWordString)) { suggestions.add(suggestion); @@ -1719,7 +1708,6 @@ public final class InputLogic { * @param nthPreviousWord reverse index of the word to get (1-indexed) * @return the information of previous words */ - // TODO: Make this private public NgramContext getNgramContextFromNthPreviousWordForSuggestion( final SpacingAndPunctuations spacingAndPunctuations, final int nthPreviousWord) { if (spacingAndPunctuations.mCurrentLanguageHasSpaces) { @@ -1949,9 +1937,7 @@ public final class InputLogic { * @param suggestedWords suggestedWords to use. */ public void onUpdateTailBatchInputCompleted(final SettingsValues settingsValues, - final SuggestedWords suggestedWords, - // TODO: remove this argument - final KeyboardSwitcher keyboardSwitcher) { + final SuggestedWords suggestedWords, final KeyboardSwitcher keyboardSwitcher) { final String batchInputText = suggestedWords.isEmpty() ? null : suggestedWords.getWord(0); if (TextUtils.isEmpty(batchInputText)) { return; @@ -1984,7 +1970,6 @@ public final class InputLogic { * @param settingsValues the current values of the settings. * @param separatorString the separator that's causing the commit, or NOT_A_SEPARATOR if none. */ - // TODO: Make this private public void commitTyped(final SettingsValues settingsValues, final String separatorString) { if (!mWordComposer.isComposingWord()) return; final String typedWord = mWordComposer.getTypedWord(); @@ -2013,9 +1998,7 @@ public final class InputLogic { * @param separator the separator that's causing the commit to happen. */ private void commitCurrentAutoCorrection(final SettingsValues settingsValues, - final String separator, - // TODO: Remove this argument. - final LatinIME.UIHandler handler) { + final String separator, final LatinIME.UIHandler handler) { // Complete any pending suggestions query first if (handler.hasPendingUpdateSuggestions()) { handler.cancelUpdateSuggestionStrip(); @@ -2051,9 +2034,11 @@ public final class InputLogic { mConnection.commitCorrection(new CorrectionInfo( mConnection.getExpectedSelectionEnd() - stringToCommit.length(), typedWord, stringToCommit)); + String prevWordsContext = (autoCorrectionOrNull != null) + ? autoCorrectionOrNull.mPrevWordsContext + : ""; StatsUtils.onAutoCorrection(typedWord, stringToCommit, isBatchMode, - null == autoCorrectionOrNull - ? null : autoCorrectionOrNull.mSourceDict.mDictType); + mDictionaryFacilitator, prevWordsContext); StatsUtils.onWordCommitAutoCorrect(stringToCommit, isBatchMode); } else { StatsUtils.onWordCommitUserTyped(stringToCommit, isBatchMode); @@ -2102,11 +2087,8 @@ public final class InputLogic { * @param remainingTries How many times we may try again before giving up. * @return whether true if the caches were successfully reset, false otherwise. */ - // TODO: make this private public boolean retryResetCachesAndReturnSuccess(final boolean tryResumeSuggestions, - final int remainingTries, - // TODO: remove these arguments - final LatinIME.UIHandler handler) { + final int remainingTries, final LatinIME.UIHandler handler) { final boolean shouldFinishComposition = mConnection.hasSelection() || !mConnection.isCursorPositionKnown(); if (!mConnection.resetCachesUponCursorMoveAndReturnSuccess( diff --git a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java index 32a746d37..e422c4cd2 100644 --- a/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java +++ b/java/src/com/android/inputmethod/latin/makedict/FormatSpec.java @@ -174,17 +174,13 @@ public final class FormatSpec { public static final int VERSION202 = 202; // format version for Fava Dictionaries. public static final int VERSION_DELIGHT3 = 86736212; - public static final int MINIMUM_SUPPORTED_VERSION_OF_CODE_POINT_TABLE = VERSION201; - // Dictionary version used for testing. - public static final int VERSION4_ONLY_FOR_TESTING = 399; public static final int VERSION402 = 402; public static final int VERSION403 = 403; public static final int VERSION4 = VERSION403; - public static final int VERSION4_DEV = VERSION403; public static final int MINIMUM_SUPPORTED_STATIC_VERSION = VERSION202; public static final int MAXIMUM_SUPPORTED_STATIC_VERSION = VERSION_DELIGHT3; static final int MINIMUM_SUPPORTED_DYNAMIC_VERSION = VERSION4; - static final int MAXIMUM_SUPPORTED_DYNAMIC_VERSION = VERSION4_DEV; + static final int MAXIMUM_SUPPORTED_DYNAMIC_VERSION = VERSION403; // TODO: Make this value adaptative to content data, store it in the header, and // use it in the reading code. diff --git a/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java b/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java index 54ee68d65..cbf0829b5 100644 --- a/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java +++ b/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java @@ -20,6 +20,7 @@ import android.content.Context; import com.android.inputmethod.annotations.ExternallyReferenced; import com.android.inputmethod.annotations.UsedForTesting; +import com.android.inputmethod.latin.BinaryDictionary; import com.android.inputmethod.latin.Dictionary; import com.android.inputmethod.latin.ExpandableBinaryDictionary; import com.android.inputmethod.latin.NgramContext; @@ -98,7 +99,7 @@ public class UserHistoryDictionary extends ExpandableBinaryDictionary { public static void addToDictionary(final ExpandableBinaryDictionary userHistoryDictionary, @Nonnull final NgramContext ngramContext, final String word, final boolean isValid, final int timestamp) { - if (word.length() > DecoderSpecificConstants.DICTIONARY_MAX_WORD_LENGTH) { + if (word.length() > BinaryDictionary.DICTIONARY_MAX_WORD_LENGTH) { return; } userHistoryDictionary.updateEntriesForWord(ngramContext, word, diff --git a/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java index 9a8a7b9e0..48361bf8c 100644 --- a/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/AccountsSettingsFragment.java @@ -27,16 +27,13 @@ import android.content.SharedPreferences; import android.content.res.Resources; import android.os.AsyncTask; import android.os.Bundle; -import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; -import android.preference.SwitchPreference; import android.preference.TwoStatePreference; import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.widget.ListView; import android.widget.TextView; -import android.widget.Toast; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.latin.R; @@ -122,24 +119,34 @@ public final class AccountsSettingsFragment extends SubScreenFragment { removeSyncPreferences(); } else { disableSyncPreferences(); - final AsyncTask<Void, Void, Void> checkManagedProfileTask = - new AsyncTask<Void, Void, Void>() { - @Override - protected Void doInBackground(Void... params) { - if (ManagedProfileUtils.hasManagedWorkProfile(getActivity())) { - removeSyncPreferences(); - } else { - enableSyncPreferences(); - } - return null; - } - }; - checkManagedProfileTask.execute(); + new ManagedProfileCheckerTask(this).execute(); + } + } + + private static class ManagedProfileCheckerTask extends AsyncTask<Void, Void, Void> { + private final AccountsSettingsFragment mFragment; + + private ManagedProfileCheckerTask(final AccountsSettingsFragment fragment) { + mFragment = fragment; + } + + @Override + protected Void doInBackground(Void... params) { + if (ManagedProfileUtils.getInstance().hasManagedWorkProfile(mFragment.getActivity())) { + mFragment.removeSyncPreferences(); + } else { + mFragment.enableSyncPreferences(); + } + return null; } } private void enableSyncPreferences() { mAccountSwitcher = findPreference(PREF_ACCCOUNT_SWITCHER); + if (mAccountSwitcher == null) { + // Preference has been removed because the device has a managed profile. + return; + } mAccountSwitcher.setEnabled(true); mEnableSyncPreference = (TwoStatePreference) findPreference(PREF_ENABLE_SYNC_NOW); @@ -157,6 +164,10 @@ public final class AccountsSettingsFragment extends SubScreenFragment { private void disableSyncPreferences() { mAccountSwitcher = findPreference(PREF_ACCCOUNT_SWITCHER); + if (mAccountSwitcher == null) { + // Preference has been removed because the device has a managed profile. + return; + } mAccountSwitcher.setEnabled(false); mEnableSyncPreference = (TwoStatePreference) findPreference(PREF_ENABLE_SYNC_NOW); @@ -214,6 +225,9 @@ public final class AccountsSettingsFragment extends SubScreenFragment { if (accountsForLogin.length > 0) { enableSyncPreferences(); + if (mAccountSwitcher == null) { + return; + } mAccountSwitcher.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { diff --git a/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java index 44c47fdfa..f7c5f6760 100644 --- a/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java @@ -19,11 +19,13 @@ package com.android.inputmethod.latin.settings; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Build; import android.os.Bundle; import android.preference.Preference; +import android.preference.TwoStatePreference; import com.android.inputmethod.dictionarypack.DictionarySettingsActivity; import com.android.inputmethod.latin.R; @@ -59,6 +61,8 @@ public final class CorrectionSettingsFragment extends SubScreenFragment { final Context context = getActivity(); final PackageManager pm = context.getPackageManager(); + ensureConsistencyOfAutoCorrectionSettings(); + final Preference dictionaryLink = findPreference(Settings.PREF_CONFIGURE_DICTIONARIES_KEY); final Intent intent = dictionaryLink.getIntent(); intent.setClassName(context.getPackageName(), DictionarySettingsActivity.class.getName()); @@ -78,6 +82,19 @@ public final class CorrectionSettingsFragment extends SubScreenFragment { } } + @Override + public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { + ensureConsistencyOfAutoCorrectionSettings(); + } + + private void ensureConsistencyOfAutoCorrectionSettings() { + final TwoStatePreference autoCorrectionPref = (TwoStatePreference) + findPreference(Settings.PREF_AUTO_CORRECTION); + if (!autoCorrectionPref.isChecked()) { + setPreferenceEnabled(Settings.PREF_BIGRAM_PREDICTIONS, false); + } + } + private void overwriteUserDictionaryPreference(final Preference userDictionaryPreference) { final Activity activity = getActivity(); final TreeSet<String> localeList = UserDictionaryList.getUserDictionaryLocalesSet(activity); diff --git a/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java index a56de1f69..37855377d 100644 --- a/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/DebugSettingsFragment.java @@ -30,7 +30,6 @@ import android.preference.TwoStatePreference; import com.android.inputmethod.latin.DictionaryDumpBroadcastReceiver; import com.android.inputmethod.latin.DictionaryFacilitatorImpl; import com.android.inputmethod.latin.R; -import com.android.inputmethod.latin.debug.ExternalDictionaryGetterForDebug; import com.android.inputmethod.latin.utils.ApplicationUtils; import com.android.inputmethod.latin.utils.ResourceUtils; @@ -43,12 +42,10 @@ import java.util.Locale; */ public final class DebugSettingsFragment extends SubScreenFragment implements OnPreferenceClickListener { - private static final String PREF_READ_EXTERNAL_DICTIONARY = "read_external_dictionary"; private static final String PREF_KEY_DUMP_DICTS = "pref_key_dump_dictionaries"; private static final String PREF_KEY_DUMP_DICT_PREFIX = "pref_key_dump_dictionaries"; private boolean mServiceNeedsRestart = false; - private Preference mReadExternalDictionaryPref; private TwoStatePreference mDebugMode; @Override @@ -60,11 +57,6 @@ public final class DebugSettingsFragment extends SubScreenFragment removePreference(DebugSettings.PREF_SHOULD_SHOW_LXX_SUGGESTION_UI); } - mReadExternalDictionaryPref = findPreference(PREF_READ_EXTERNAL_DICTIONARY); - if (mReadExternalDictionaryPref != null) { - mReadExternalDictionaryPref.setOnPreferenceClickListener(this); - } - final PreferenceGroup dictDumpPreferenceGroup = (PreferenceGroup)findPreference(PREF_KEY_DUMP_DICTS); for (final String dictName : DictionaryFacilitatorImpl.DICT_TYPE_TO_CLASS.keySet()) { @@ -111,11 +103,6 @@ public final class DebugSettingsFragment extends SubScreenFragment @Override public boolean onPreferenceClick(final Preference pref) { final Context context = getActivity(); - if (pref == mReadExternalDictionaryPref) { - ExternalDictionaryGetterForDebug.chooseAndInstallDictionary(context); - mServiceNeedsRestart = true; - return true; - } if (pref instanceof DictDumpPreference) { final DictDumpPreference dictDumpPref = (DictDumpPreference)pref; final String dictName = dictDumpPref.mDictName; diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java index 5596c7fe9..715f7bb38 100644 --- a/java/src/com/android/inputmethod/latin/settings/Settings.java +++ b/java/src/com/android/inputmethod/latin/settings/Settings.java @@ -57,7 +57,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static final String PREF_VOICE_INPUT_KEY = "pref_voice_input_key"; public static final String PREF_EDIT_PERSONAL_DICTIONARY = "edit_personal_dictionary"; public static final String PREF_CONFIGURE_DICTIONARIES_KEY = "configure_dictionaries_key"; - public static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold"; + // PREF_AUTO_CORRECTION_THRESHOLD_OBSOLETE is obsolete. Use PREF_AUTO_CORRECTION instead. + public static final String PREF_AUTO_CORRECTION_THRESHOLD_OBSOLETE = + "auto_correction_threshold"; + public static final String PREF_AUTO_CORRECTION = "pref_key_auto_correction"; // PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE is obsolete. Use PREF_SHOW_SUGGESTIONS instead. public static final String PREF_SHOW_SUGGESTIONS_SETTING_OBSOLETE = "show_suggestions_setting"; public static final String PREF_SHOW_SUGGESTIONS = "show_suggestions"; @@ -80,6 +83,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang // TODO: consolidate key preview dismiss delay with the key preview animation parameters. public static final String PREF_KEY_PREVIEW_POPUP_DISMISS_DELAY = "pref_key_preview_popup_dismiss_delay"; + public static final String PREF_BIGRAM_PREDICTIONS = "next_word_prediction"; public static final String PREF_GESTURE_INPUT = "gesture_input"; public static final String PREF_VIBRATION_DURATION_SETTINGS = "pref_vibration_duration_settings"; @@ -139,6 +143,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang mRes = context.getResources(); mPrefs = PreferenceManager.getDefaultSharedPreferences(context); mPrefs.registerOnSharedPreferenceChangeListener(this); + upgradeAutocorrectionSettings(mPrefs, mRes); } public void onDestroy() { @@ -207,11 +212,9 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang res.getBoolean(R.bool.config_default_vibration_enabled)); } - public static boolean readAutoCorrectEnabled(final String currentAutoCorrectionSetting, + public static boolean readAutoCorrectEnabled(final SharedPreferences prefs, final Resources res) { - final String autoCorrectionOff = res.getString( - R.string.auto_correction_threshold_mode_index_off); - return !currentAutoCorrectionSetting.equals(autoCorrectionOff); + return prefs.getBoolean(PREF_AUTO_CORRECTION, true); } public static float readPlausibilityThreshold(final Resources res) { @@ -421,4 +424,21 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang final SharedPreferences prefs, final int defValue) { return prefs.getInt(PREF_LAST_SHOWN_EMOJI_CATEGORY_ID, defValue); } + + private void upgradeAutocorrectionSettings(final SharedPreferences prefs, final Resources res) { + final String thresholdSetting = + prefs.getString(PREF_AUTO_CORRECTION_THRESHOLD_OBSOLETE, null); + if (thresholdSetting != null) { + SharedPreferences.Editor editor = prefs.edit(); + editor.remove(PREF_AUTO_CORRECTION_THRESHOLD_OBSOLETE); + final String autoCorrectionOff = + res.getString(R.string.auto_correction_threshold_mode_index_off); + if (thresholdSetting.equals(autoCorrectionOff)) { + editor.putBoolean(PREF_AUTO_CORRECTION, false); + } else { + editor.putBoolean(PREF_AUTO_CORRECTION, true); + } + editor.commit(); + } + } } diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java b/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java index b0c494098..dee4811c9 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsActivity.java @@ -17,6 +17,8 @@ package com.android.inputmethod.latin.settings; import com.android.inputmethod.latin.utils.FragmentUtils; +import com.android.inputmethod.latin.utils.StatsUtils; +import com.android.inputmethod.latin.utils.StatsUtilsManager; import android.app.ActionBar; import android.content.Intent; @@ -25,19 +27,30 @@ import android.preference.PreferenceActivity; import android.view.MenuItem; public final class SettingsActivity extends PreferenceActivity { - public static final String EXTRA_SHOW_HOME_AS_UP = "show_home_as_up"; private static final String DEFAULT_FRAGMENT = SettingsFragment.class.getName(); + + public static final String EXTRA_SHOW_HOME_AS_UP = "show_home_as_up"; + public static final String EXTRA_ENTRY_KEY = "entry"; + public static final String EXTRA_ENTRY_VALUE_LONG_PRESS_COMMA = "long_press_comma"; + public static final String EXTRA_ENTRY_VALUE_APP_ICON = "app_icon"; + public static final String EXTRA_ENTRY_VALUE_NOTICE_DIALOG = "important_notice"; + public static final String EXTRA_ENTRY_VALUE_SYSTEM_SETTINGS = "system_settings"; + private boolean mShowHomeAsUp; @Override protected void onCreate(final Bundle savedState) { super.onCreate(savedState); final ActionBar actionBar = getActionBar(); + final Intent intent = getIntent(); if (actionBar != null) { - mShowHomeAsUp = getIntent().getBooleanExtra(EXTRA_SHOW_HOME_AS_UP, true); + mShowHomeAsUp = intent.getBooleanExtra(EXTRA_SHOW_HOME_AS_UP, true); actionBar.setDisplayHomeAsUpEnabled(mShowHomeAsUp); actionBar.setHomeButtonEnabled(mShowHomeAsUp); } + StatsUtils.onSettingsActivity( + intent.hasExtra(EXTRA_ENTRY_KEY) ? intent.getStringExtra(EXTRA_ENTRY_KEY) + : intent.getStringExtra(EXTRA_ENTRY_VALUE_SYSTEM_SETTINGS)); } @Override diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java index ed11de96e..d112e7200 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java @@ -73,12 +73,15 @@ public class SettingsValues { public final boolean mUsePersonalizedDicts; public final boolean mUseDoubleSpacePeriod; public final boolean mBlockPotentiallyOffensive; + // Use bigrams to predict the next word when there is no input for it yet + public final boolean mBigramPredictionEnabled; public final boolean mGestureInputEnabled; public final boolean mGestureTrailEnabled; public final boolean mGestureFloatingPreviewTextEnabled; public final boolean mSlidingKeyInputPreviewEnabled; public final int mKeyLongpressTimeout; public final boolean mEnableEmojiAltPhysicalKey; + public final boolean mCloudSyncEnabled; public final boolean mEnableMetricsLogging; public final boolean mShouldShowLxxSuggestionUi; // Use split layout for keyboard. @@ -135,9 +138,6 @@ public class SettingsValues { mShowsVoiceInputKey = needsToShowVoiceInputKey(prefs, res) && mInputAttributes.mShouldShowVoiceInputKey && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN; - final String autoCorrectionThresholdRawValue = prefs.getString( - Settings.PREF_AUTO_CORRECTION_THRESHOLD, - res.getString(R.string.auto_correction_threshold_mode_index_modest)); mIncludesOtherImesInLanguageSwitchList = Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS ? prefs.getBoolean(Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, false) : true /* forcibly */; @@ -148,7 +148,11 @@ public class SettingsValues { mUseDoubleSpacePeriod = prefs.getBoolean(Settings.PREF_KEY_USE_DOUBLE_SPACE_PERIOD, true) && inputAttributes.mIsGeneralTextInput; mBlockPotentiallyOffensive = Settings.readBlockPotentiallyOffensive(prefs, res); - mAutoCorrectEnabled = Settings.readAutoCorrectEnabled(autoCorrectionThresholdRawValue, res); + mAutoCorrectEnabled = Settings.readAutoCorrectEnabled(prefs, res); + final String autoCorrectionThresholdRawValue = mAutoCorrectEnabled + ? res.getString(R.string.auto_correction_threshold_mode_index_modest) + : res.getString(R.string.auto_correction_threshold_mode_index_off); + mBigramPredictionEnabled = readBigramPredictionEnabled(prefs, res); mDoubleSpacePeriodTimeout = res.getInteger(R.integer.config_double_space_period_timeout); mHasHardwareKeyboard = Settings.readHasHardwareKeyboard(res.getConfiguration()); mEnableMetricsLogging = prefs.getBoolean(Settings.PREF_ENABLE_METRICS_LOGGING, true); @@ -169,6 +173,7 @@ public class SettingsValues { mPlausibilityThreshold = Settings.readPlausibilityThreshold(res); mGestureInputEnabled = Settings.readGestureInputEnabled(prefs, res); mGestureTrailEnabled = prefs.getBoolean(Settings.PREF_GESTURE_PREVIEW_TRAIL, true); + mCloudSyncEnabled = prefs.getBoolean(LocalSettingsConstants.PREF_ENABLE_CLOUD_SYNC, false); mAccount = prefs.getString(LocalSettingsConstants.PREF_ACCOUNT_NAME, null /* default */); mGestureFloatingPreviewTextEnabled = !mInputAttributes.mDisableGestureFloatingPreviewText @@ -232,6 +237,10 @@ public class SettingsValues { return mSuggestionsEnabledPerUserSettings; } + public boolean isPersonalizationEnabled() { + return mUsePersonalizedDicts; + } + public boolean isWordSeparator(final int code) { return mSpacingAndPunctuations.isWordSeparator(code); } @@ -302,6 +311,12 @@ public class SettingsValues { return prefs.getBoolean(Settings.PREF_SHOW_SUGGESTIONS, true); } + private static boolean readBigramPredictionEnabled(final SharedPreferences prefs, + final Resources res) { + return prefs.getBoolean(Settings.PREF_BIGRAM_PREDICTIONS, res.getBoolean( + R.bool.config_default_next_word_prediction)); + } + private static float readAutoCorrectionThreshold(final Resources res, final String currentAutoCorrectionSetting) { final String[] autoCorrectionThresholdValues = res.getStringArray( @@ -379,6 +394,8 @@ public class SettingsValues { sb.append("" + mUseDoubleSpacePeriod); sb.append("\n mBlockPotentiallyOffensive = "); sb.append("" + mBlockPotentiallyOffensive); + sb.append("\n mBigramPredictionEnabled = "); + sb.append("" + mBigramPredictionEnabled); sb.append("\n mGestureInputEnabled = "); sb.append("" + mGestureInputEnabled); sb.append("\n mGestureTrailEnabled = "); diff --git a/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java b/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java index c3b30dcb4..bee22afd5 100644 --- a/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java +++ b/java/src/com/android/inputmethod/latin/setup/SetupWizardActivity.java @@ -265,6 +265,8 @@ public final class SetupWizardActivity extends Activity implements View.OnClickL intent.setClass(this, SettingsActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra(SettingsActivity.EXTRA_ENTRY_KEY, + SettingsActivity.EXTRA_ENTRY_VALUE_APP_ICON); startActivity(intent); } diff --git a/java/src/com/android/inputmethod/latin/spellcheck/UserDictionaryLookup.java b/java/src/com/android/inputmethod/latin/spellcheck/UserDictionaryLookup.java index 6ab741ca1..f2491f478 100644 --- a/java/src/com/android/inputmethod/latin/spellcheck/UserDictionaryLookup.java +++ b/java/src/com/android/inputmethod/latin/spellcheck/UserDictionaryLookup.java @@ -143,8 +143,8 @@ public class UserDictionaryLookup implements Closeable { } // Schedule a new reload after RELOAD_DELAY_MS. - mReloadFuture = ExecutorUtils.getBackgroundExecutor().schedule( - mLoader, RELOAD_DELAY_MS, TimeUnit.MILLISECONDS); + mReloadFuture = ExecutorUtils.getBackgroundExecutor(ExecutorUtils.SPELLING) + .schedule(mLoader, RELOAD_DELAY_MS, TimeUnit.MILLISECONDS); } } private final ContentObserver mObserver = new UserDictionaryContentObserver(); @@ -186,7 +186,7 @@ public class UserDictionaryLookup implements Closeable { // Schedule the initial load to run immediately. It's possible that the first call to // isValidWord occurs before the dictionary has actually loaded, so it should not // assume that the dictionary has been loaded. - ExecutorUtils.getBackgroundExecutor().execute(mLoader); + ExecutorUtils.getBackgroundExecutor(ExecutorUtils.SPELLING).execute(mLoader); // Register the observer to be notified on changes to the UserDictionary and all individual // items. diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java index 17525f650..7dd0f03df 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java @@ -213,7 +213,8 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick // it has been shown once already or not, and if in the setup wizard). If applicable, it shows // the notice. In all cases, it returns true if it was shown, false otherwise. public boolean maybeShowImportantNoticeTitle() { - if (!ImportantNoticeUtils.shouldShowImportantNotice(getContext())) { + final SettingsValues currentSettingsValues = Settings.getInstance().getCurrent(); + if (!ImportantNoticeUtils.shouldShowImportantNotice(getContext(), currentSettingsValues)) { return false; } if (getWidth() <= 0) { diff --git a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java index a78446103..8ce6eff92 100644 --- a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java @@ -33,17 +33,30 @@ public class ExecutorUtils { private static final String TAG = "ExecutorUtils"; - private static ScheduledExecutorService sExecutorService = - Executors.newSingleThreadScheduledExecutor(new ExecutorFactory()); + public static final String KEYBOARD = "Keyboard"; + public static final String SPELLING = "Spelling"; + + private static ScheduledExecutorService sKeyboardExecutorService = newExecutorService(KEYBOARD); + private static ScheduledExecutorService sSpellingExecutorService = newExecutorService(SPELLING); + + private static ScheduledExecutorService newExecutorService(final String name) { + return Executors.newSingleThreadScheduledExecutor(new ExecutorFactory(name)); + } private static class ExecutorFactory implements ThreadFactory { + private final String mName; + + private ExecutorFactory(final String name) { + mName = name; + } + @Override public Thread newThread(final Runnable runnable) { Thread thread = new Thread(runnable, TAG); thread.setUncaughtExceptionHandler(new UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, Throwable ex) { - Log.w(TAG + "-" + runnable.getClass().getSimpleName(), ex); + Log.w(mName + "-" + runnable.getClass().getSimpleName(), ex); } }); return thread; @@ -64,24 +77,44 @@ public class ExecutorUtils { // /** + * @param name Executor's name. * @return scheduled executor service used to run background tasks */ - public static ScheduledExecutorService getBackgroundExecutor() { + public static ScheduledExecutorService getBackgroundExecutor(final String name) { if (sExecutorServiceForTests != null) { return sExecutorServiceForTests; } - return sExecutorService; + switch (name) { + case KEYBOARD: + return sKeyboardExecutorService; + case SPELLING: + return sSpellingExecutorService; + default: + throw new IllegalArgumentException("Invalid executor: " + name); + } } - public static void killTasks() { - getBackgroundExecutor().shutdownNow(); + public static void killTasks(final String name) { + final ScheduledExecutorService executorService = getBackgroundExecutor(name); + executorService.shutdownNow(); try { - getBackgroundExecutor().awaitTermination(5, TimeUnit.SECONDS); + executorService.awaitTermination(5, TimeUnit.SECONDS); } catch (InterruptedException e) { - Log.wtf(TAG, "Failed to shut down background task."); - throw new IllegalStateException("Failed to shut down background task."); - } finally { - sExecutorService = Executors.newSingleThreadScheduledExecutor(new ExecutorFactory()); + Log.wtf(TAG, "Failed to shut down: " + name); + } + if (executorService == sExecutorServiceForTests) { + // Don't do anything to the test service. + return; + } + switch (name) { + case KEYBOARD: + sKeyboardExecutorService = newExecutorService(KEYBOARD); + break; + case SPELLING: + sSpellingExecutorService = newExecutorService(SPELLING); + break; + default: + throw new IllegalArgumentException("Invalid executor: " + name); } } diff --git a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java index 142548b25..df0cd8437 100644 --- a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java @@ -25,6 +25,7 @@ import android.util.Log; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.latin.R; +import com.android.inputmethod.latin.settings.SettingsValues; import java.util.concurrent.TimeUnit; @@ -105,7 +106,12 @@ public final class ImportantNoticeUtils { return elapsedTime >= TIMEOUT_OF_IMPORTANT_NOTICE; } - public static boolean shouldShowImportantNotice(final Context context) { + public static boolean shouldShowImportantNotice(final Context context, + final SettingsValues settingsValues) { + // Check to see whether personalization is enabled by the user. + if (!settingsValues.isPersonalizationEnabled()) { + return false; + } if (!hasNewImportantNotice(context)) { return false; } diff --git a/java/src/com/android/inputmethod/latin/utils/ManagedProfileUtils.java b/java/src/com/android/inputmethod/latin/utils/ManagedProfileUtils.java index f0d6d081e..1bd8f314c 100644 --- a/java/src/com/android/inputmethod/latin/utils/ManagedProfileUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ManagedProfileUtils.java @@ -23,6 +23,8 @@ import android.os.UserHandle; import android.os.UserManager; import android.util.Log; +import com.android.inputmethod.annotations.UsedForTesting; + import java.util.List; /** @@ -32,16 +34,28 @@ public class ManagedProfileUtils { private static final boolean DEBUG = false; private static final String TAG = ManagedProfileUtils.class.getSimpleName(); + private static ManagedProfileUtils INSTANCE = new ManagedProfileUtils(); + private static ManagedProfileUtils sTestInstance; + private ManagedProfileUtils() { // This utility class is not publicly instantiable. } + @UsedForTesting + public static void setTestInstance(final ManagedProfileUtils testInstance) { + sTestInstance = testInstance; + } + + public static ManagedProfileUtils getInstance() { + return sTestInstance == null ? INSTANCE : sTestInstance; + } + /** * Note that {@link UserManager#getUserProfiles} has been introduced * in API level 21 (Build.VERSION_CODES.LOLLIPOP). */ @TargetApi(Build.VERSION_CODES.LOLLIPOP) - public static boolean hasManagedWorkProfile(final Context context) { + public boolean hasManagedWorkProfile(final Context context) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { return false; } diff --git a/java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java b/java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java index 727df1a93..c05ffd693 100644 --- a/java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java @@ -31,6 +31,7 @@ public final class NgramContextUtils { // Intentional empty constructor for utility class. } + private static final Pattern NEWLINE_REGEX = Pattern.compile("[\\r\\n]+"); private static final Pattern SPACE_REGEX = Pattern.compile("\\s+"); // Get context information from nth word before the cursor. n = 1 retrieves the words // immediately before the cursor, n = 2 retrieves the words before that, and so on. This splits @@ -58,7 +59,11 @@ public final class NgramContextUtils { public static NgramContext getNgramContextFromNthPreviousWord(final CharSequence prev, final SpacingAndPunctuations spacingAndPunctuations, final int n) { if (prev == null) return NgramContext.EMPTY_PREV_WORDS_INFO; - final String[] w = SPACE_REGEX.split(prev); + final String[] lines = NEWLINE_REGEX.split(prev); + if (lines.length == 0) { + return new NgramContext(WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO); + } + final String[] w = SPACE_REGEX.split(lines[lines.length - 1]); final WordInfo[] prevWordsInfo = new WordInfo[DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM]; Arrays.fill(prevWordsInfo, WordInfo.EMPTY_WORD_INFO); @@ -81,16 +86,17 @@ public final class NgramContextUtils { prevWordsInfo[i] = WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO; break; } + final String focusedWord = w[focusedWordIndex]; - // If the word is, the context is beginning-of-sentence. + // If the word is empty, the context is beginning-of-sentence. final int length = focusedWord.length(); if (length <= 0) { prevWordsInfo[i] = WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO; break; } - // If ends in a sentence separator, the context is beginning-of-sentence. + // If the word ends in a sentence terminator, the context is beginning-of-sentence. final char lastChar = focusedWord.charAt(length - 1); - if (spacingAndPunctuations.isSentenceSeparator(lastChar)) { + if (spacingAndPunctuations.isSentenceTerminator(lastChar)) { prevWordsInfo[i] = WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO; break; } |