Merge remote-tracking branch 'goog/master' into merge
This commit is contained in:
commit
31da2ea24b
67 changed files with 1047 additions and 311 deletions
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"صوت عند الضغط على مفتاح"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"انبثاق عند الضغط على المفاتيح"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"عام"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"تصحيح النص"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"استخدام الأحرف الكبيرة تلقائيًا"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"إصلاحات سريعة"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"تصحيح الأخطاء المكتوبة الشائعة"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"عرض دومًا"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"عرض في وضع رأسي"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"إخفاء دومًا"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"عرض مفتاح الإعدادات"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"تلقائي"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"إظهار بشكل دائم"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"إيقاف"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"معتدل"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"حاد"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"اقتراحات ثنائية"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"اقتراحات ثنائية"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"استخدام الكلمة السابقة لتحسين الاقتراح"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : تم الحفظ"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"تنفيذ"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"التالي"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натискане на клавиш"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Изскачащ прозорец при натискане на клавиш"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Общи"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Корекция на текста"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Автоматично поставяне на главни букви"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Бързи корекции"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Коригира най-честите грешки при въвеждане"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Винаги да се показва"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Показване с вертикална ориентация"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Винаги да се скрива"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Показване на клавиша за настройки"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Автоматично"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Да се показва винаги"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Изкл."</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умерено"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Агресивно"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Предложения за биграми"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Предложения за биграми"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Използване на предишната дума за подобряване на предложението"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Запазено"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Старт"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Напред"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"So en prémer una tecla"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Finestra emergent en prémer un botó"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"General"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Correcció de text"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Majúscules automàtiques"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Correccions ràpides"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corregeix els errors d\'ortografia habituals"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostra sempre"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostra en mode vertical"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Amaga sempre"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Mostra la tecla de configuració"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automàtic"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mostra sempre"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desactiva"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderada"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Total"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Suggeriments Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Suggeriments Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Utilitza la paraula anterior per millorar el suggeriment"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: desada"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Vés"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Següent"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk při stisku klávesy"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Zobrazit znaky při stisku klávesy"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Obecné"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Oprava textu"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Velká písmena automaticky"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Rychlé opravy"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Opravuje nejčastější chyby při psaní"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vždy zobrazovat"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Zobrazit v režimu na výšku"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vždy skrývat"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Zobrazit klávesu Nastavení"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automaticky"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Vždy zobrazovat"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Vypnuto"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mírné"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivní"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Návrh Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Návrh Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Použít předchozí slovo ke zlepšení návrhu"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Uloženo"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Přejít"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Další"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetryk"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Popup ved tastetryk"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Generelt"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Tekstkorrigering"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Skriv aut. med stort"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Hurtige løsninger"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Retter almindelige stavefejl"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vis altid"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Vis i portrættilstand"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Skjul altid"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Vis indstillingsnøgle"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatisk"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Vis altid"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Fra"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Beskeden"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Aggressiv"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram-forslag"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram-forslag"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Brug forrige ord for at forbedre forslag"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Gemt"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Gå"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Næste"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Ton bei Tastendruck"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bei Tastendruck"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Allgemein"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Textkorrektur"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Autom. Groß-/Kleinschr."</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Quick Fixes"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Korrigiert gängige Tippfehler"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Immer anzeigen"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Im Hochformat anzeigen"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Immer ausblenden"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Einstellungstaste anz."</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatisch"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Immer anzeigen"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Aus"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mäßig"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Stark"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigramm-Vorschläge"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigramm-Vorschläge"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Zur Verbesserung des Vorschlags vorheriges Wort verwenden"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: gespeichert"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Los"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Weiter"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Ήχος κατά το πάτημα πλήκτρων"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Εμφάνιση με το πάτημα πλήκτρου"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Γενικά"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Διόρθωση κειμένου"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Αυτόματη χρήση κεφαλαίων"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Γρήγορες διορθώσεις"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Διορθώνει συνηθισμένα λάθη πληκτρολόγησης"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Να εμφανίζεται πάντα"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Εμφάνιση σε λειτουργία κατακόρυφης προβολής"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Πάντα απόκρυψη"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Εμφάνιση πλήκτρου ρυθμίσεων"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Αυτόματο"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Να εμφανίζεται πάντα"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Απενεργοποίηση"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Μέτρια"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Υψηλή"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Προτάσεις bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Προτάσεις bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Χρήση προηγούμενης λέξης για τη βελτίωση πρότασης"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Αποθηκεύτηκε"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Μετ."</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Επόμενο"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Sound on key-press"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up on key press"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"General"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Text correction"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalisation"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Quick fixes"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corrects commonly typed mistakes"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Always show"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Show on portrait mode"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Always hide"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Show settings key"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatic"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Always show"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<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_aggeressive" msgid="3524029103734923819">"Aggressive"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram Suggestions"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram Suggestions"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Use previous word to improve suggestion"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Saved"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Go"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Next"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Sonar al pulsar las teclas"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Aviso emergente al pulsar tecla"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"General"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Corrección de texto"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Arreglos rápidos"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corrige errores de escritura comunes"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar siempre"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar en modo retrato"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ocultar siempre"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Mostrar tecla de configuración"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automático"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mostrar siempre"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desactivado"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderado"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Total"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Sugerencias de Vigoran"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Sugerencias de bigramas"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Utiliza la palabra anterior para mejorar la sugerencia"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Siguiente"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Sonido al pulsar tecla"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Popup al pulsar tecla"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"General"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Corrección ortográfica"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Mayúsculas automáticas"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Correcciones rápidas"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corrige los errores tipográficos que se cometen con más frecuencia."</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar siempre"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar en modo vertical"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ocultar siempre"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Mostrar tecla de ajustes"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automáticamente"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mostrar siempre"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desactivada"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Parcial"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Total"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Sugerencias de bigramas"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Sugerencias de bigramas"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Usar palabra anterior para mejorar sugerencias"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Sig."</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"صدا با فشار کلید"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"بازشو با فشار کلید"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"کلی"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"تصحیح متن"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"نوشتن با حروف بزرگ خودکار"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"راه حل های سریع"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"تصحیح خطاهای تایپی رایج"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"همیشه نمایش داده شود"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"نمایش در حالت عمودی"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"همیشه پنهان شود"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"نمایش کلید تنظیمات"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"خودکار"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"همیشه نمایش"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"خاموش"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"متوسط"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"فعال"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"توضیحات بیگرام"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"پیشنهادات بیگرام"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"برای بهبود پیشنهاد از کلمه قبلی استفاده شود"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : ذخیره شد"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"برو"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"بعدی"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Toista ääni näppäimiä painettaessa"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Ponnahdusikkuna painalluksella"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Yleinen"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Tekstin korjaus"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Automaattiset isot kirjaimet"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Pikakorjaukset"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Korjaa yleiset kirjoitusvirheet"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Näytä aina"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Näytä pystysuunnassa"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Piilota aina"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Näytä asetukset-näppäin"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automaattinen"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Näytä aina"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Älä käytä"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Osittainen"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Täysi"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram-ehdotukset"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram-ehdotukset"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Paranna ehdotusta aiemman sanan avulla"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Tallennettu"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Siirry"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Seuraava"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Son à chaque touche"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Agrandir les caractères"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Général"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Correction du texte"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Majuscules auto"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Corrections rapides"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corrige les fautes de frappe courantes"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Toujours afficher"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Afficher en mode Portrait"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Toujours masquer"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Afficher touche param."</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatique"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Toujours afficher"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Désactiver"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Simple"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Proactive"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Suggestions de type bigramme"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Suggestions de type bigramme"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Améliorer la suggestion en fonction du mot précédent"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : enregistré"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"OK"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Suivant"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri pritisku tipke"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Povećanja na pritisak tipke"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Općenito"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Ispravak teksta"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Automatsko pisanje velikih slova"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Brzi popravci"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Ispravlja uobičajene pogreške u pisanju"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Uvijek prikaži"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Prikaži u portretnom načinu"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Uvijek sakrij"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Prikaži tipku postavki"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatski"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Uvijek prikaži"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Isključeno"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Skromno"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivno"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram prijedlozi"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram prijedlozi"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Upotrijebi prethodnu riječ radi poboljšanja prijedloga"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Spremljeno"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Idi"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Dalje"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Hangjelzés billentyű megnyomása esetén"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Legyen nagyobb billentyű lenyomásakor"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Általános"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Szövegjavítás"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Automatikusan nagy kezdőbetű"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Gyorsjavítások"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Kijavítja a gyakori gépelési hibákat"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mindig látszik"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Megjelenítés álló tájolásban"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Mindig rejtve"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Beállítások billentyű megjelenítése"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatikus"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mindig látszik"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Ki"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mérsékelt"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresszív"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram javaslatok"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram javaslatok"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Előző szó használata a javaslatok javításához"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : mentve"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Ugrás"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Tovább"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Berbunyi jika tombol ditekan"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Muncul saat tombol ditekan"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Umum"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Koreksi teks"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Kapitalisasi otomatis"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Perbaikan cepat"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Memperbaiki kesalahan ketik umum"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Selalu tampilkan"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Tampilkan pada mode potret"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Selalu sembunyikan"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Lihat tombol setelan"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Otomatis"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Selalu tampilkan"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Mati"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Sederhana"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresif"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Saran Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Saran Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Gunakan kata sebelumnya untuk meningkatkan sara"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Telah disimpan"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Buka"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Berikutnya"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Suono tasti"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Popup sui tasti"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Generali"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Correzione testo"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Maiuscole automatiche"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Correzioni veloci"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corregge gli errori di digitazione più comuni"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostra sempre"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostra in modalità verticale"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Nascondi sempre"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Mostra tasto impostaz."</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatico"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mostra sempre"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Off"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Media"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Massima"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Suggerimenti sui bigrammi"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Suggerimenti sui bigrammi"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Utilizza parola precedente per migliorare il suggerimento"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : parola salvata"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Vai"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Avanti"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"צלילים עם לחיצה על מקשים"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"חלון קופץ עם לחיצה על מקשים"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"כללי"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"תיקון טקסט"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"הפיכה אוטומטית של אותיות לרישיות"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"תיקונים מהירים"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"מתקן שגיאות הקלדה נפוצות"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"הצג תמיד"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"הצג בפריסה לאורך"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"הסתר תמיד"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"הצג מקש הגדרות"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"אוטומטי"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"הצג תמיד"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"כבוי"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"מצומצם"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"מחמיר"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"הצעות של צמדי אותיות (Bigram)"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"הצעות של צמדי אותיות (Bigram)"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"השתמש במילה הקודמת כדי לשפר את ההצעה"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : נשמרה"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"בצע"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"הבא"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"キー操作音"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"キー押下時ポップアップ"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"全般"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"テキストの修正"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"自動大文字変換"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"クイックフィックス"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"よくある誤字・脱字を修正します"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"常に表示"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"縦向きで表示"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"常に非表示"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"設定キーを表示"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"自動"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"常に表示"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"OFF"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"中"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"強"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"バイグラム入力候補表示"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"バイグラム入力候補表示"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"直前の単語から入力候補を予測します"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:保存しました"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"実行"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"次へ"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"키를 누를 때 소리 발생"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"키를 누를 때 팝업"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"일반"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"텍스트 수정"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"자동 대문자화"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"빠른 수정"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"자주 발생하는 오타를 수정합니다."</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"항상 표시"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"세로 모드로 표시"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"항상 숨기기"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"설정 키 표시"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"자동"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"항상 표시"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"사용 안함"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"보통"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"적극적"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram 추천"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram 추천"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"이전 단어를 사용하여 추천 기능 개선"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: 저장됨"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"이동"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"다음"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Klavišo paspaudimo garsas"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Iššoka paspaudus klavišą"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Bendra"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Teksto taisymas"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Automatinis didžiųjų raidžių rašymas"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Greiti pataisymai"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Taiso dažnai padarytas rašybos klaidas"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Visada rodyti"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Rodyti stačiuoju režimu"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Visada slėpti"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Rodyti nustatymų raktą"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatinis"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Visada rodyti"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Išjungta"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Vidutinis"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Atkaklus"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Digramų pasiūlymai"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigramų pasiūlymai"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Naudoti ankstesnį žodį pasiūlymui patobulinti"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: išsaugota"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Pradėti"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Kitas"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Skaņa, nospiežot taustiņu"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Nospiežot taustiņu, parādīt uznirstošo izvēlni"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Vispārīgi"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Teksta korekcija"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Automātiska lielo burtu lietošana"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Ātrie labojumi"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Nodrošina izplatītu drukas kļūdu labošanu."</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vienmēr rādīt"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Rādīt portreta režīmā"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vienmēr slēpt"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Rādīt iestatījumu taustiņu"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automātiski"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Vienmēr rādīt"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Izslēgta"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mērena"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresīva"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram ieteikumi"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram ieteikumi"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Ieteikuma uzlabošanai izmantot iepriekšējo vārdu"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: saglabāts"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Sākt"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Tālāk"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetrykk"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Hurtigvindu ved tastetrykk"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Generelt"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Tekstkorrigering"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Stor forbokstav"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Autokorrektur"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Retter vanlige stavefeil"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vis alltid"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Vis i stående modus"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Skjul alltid"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Vis innstillingsnøkkel"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatisk"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Vis alltid"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Av"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderat"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Omfattende"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram-forslag"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram-forslag"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Bruk forrige ord til å forbedre forslaget"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: Lagret"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Gå"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Neste"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Geluid bij toetsaanslag"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bij toetsaanslag"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Algemeen"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Tekstcorrectie"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Auto-hoofdlettergebruik"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Snelle oplossingen"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Hiermee worden veelvoorkomende typefouten gecorrigeerd"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Altijd weergeven"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Weergeven in staande modus"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Altijd verbergen"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Instellingscode weergeven"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatisch"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Altijd weergeven"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Uitgeschakeld"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Normaal"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressief"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Digram-suggesties"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Digram-suggesties"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Vorig woord gebruiken om suggestie te verbeteren"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: opgeslagen"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Start"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Volgende"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Dźwięk przy naciśnięciu"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Powiększ po naciśnięciu"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Ogólne"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Korekta tekstu"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Wstawiaj wielkie litery"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Szybkie poprawki"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Poprawia częste błędy wpisywania"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Zawsze pokazuj"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Pokaż w trybie pionowym"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Zawsze ukrywaj"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Pokaż klawisz ustawień"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatycznie"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Zawsze pokazuj"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Wyłącz"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Umiarkowana"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresywna"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Sugestie dla bigramów"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Sugestie dla bigramów"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Używaj poprzedniego wyrazu, aby polepszyć sugestię"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Zapisano"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"OK"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Dalej"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao premir as teclas"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Mostrar popup ao premir tecla"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Geral"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Correcção de texto"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Letras maiúsculas automáticas"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Correcções rápidas"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corrige os erros de escrita comuns"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar sempre"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar no modo de retrato"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ocultar sempre"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Mostrar tecla das definições"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automático"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mostrar sempre"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desligar"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderada"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressiva"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Sugestões Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Sugestões Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Utilizar a palavra anterior para melhorar a sugestão"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: guardada"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Seguinte"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao tocar a tecla"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Exibir pop-up ao digitar"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Geral"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Correção de texto"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Capitaliz. automática"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Reparos rápidos"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corrige erros comuns de digitação"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Mostrar sempre"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Mostrar em modo retrato"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Sempre ocultar"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Mostrar tecla de config."</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automático"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Mostrar sempre"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Desativado"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderado"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agressivo"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Sugestões de bigrama"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Sugestões de bigrama"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Usar palavra anterior para melhorar a sugestão"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Salvo"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Ir"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Avançar"</string>
|
||||
|
|
|
@ -29,7 +29,12 @@
|
|||
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up cun smatgar ina tasta"</string>
|
||||
<!-- no translation found for general_category (1859088467017573195) -->
|
||||
<skip />
|
||||
<!-- outdated translation 7027100625580696660 --> <string name="prediction_category" msgid="6361242011806282176">"Parameters da las propostas per pleds"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Maiusclas automaticas"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Correcturas sveltas"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Curregia sbagls da tippar currents"</string>
|
||||
|
@ -43,6 +48,8 @@
|
|||
<skip />
|
||||
<!-- no translation found for prefs_suggestion_visibility_hide_name (6309143926422234673) -->
|
||||
<skip />
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<!-- no translation found for prefs_settings_key (4623341240804046498) -->
|
||||
<skip />
|
||||
<!-- no translation found for settings_key_mode_auto_name (2993460277873684680) -->
|
||||
|
@ -59,8 +66,12 @@
|
|||
<skip />
|
||||
<!-- no translation found for auto_correction_threshold_mode_aggeressive (3524029103734923819) -->
|
||||
<skip />
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Propostas da tip bigram"</string>
|
||||
<!-- outdated translation 1323347224043514969 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Propostas da tip bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Meglierar la proposta cun agid dal pled precedent"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Memorisà"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Dai"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Vinavant"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Sunet la apăsarea tastei"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Fereastră pop-up la apăsarea tastei"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"General"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Corectare text"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalizare"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Remedieri rapide"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Corectează greşelile introduse frecvent"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Afişaţi întotdeauna"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Afişaţi în modul Portret"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Ascundeţi întotdeauna"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Afişaţi tasta setări"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automat"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Afişaţi întotdeauna"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Dezactivată"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Moderată"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivă"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Sugestii pentru cuvinte de două litere"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Sugestii pentru cuvinte de două litere"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Utilizaţi cuvântul anterior pentru a îmbunătăţi sugestia"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: salvat"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"OK"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Înainte"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук клавиш"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Увеличение нажатых"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Общие"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Коррекция текста"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Заглавные автоматически"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Быстрое исправление"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Исправлять распространенные опечатки"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Всегда показывать"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Показать вертикально"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Всегда скрывать"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Кнопка настроек"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Автоматически"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Всегда показывать"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Откл."</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умеренное"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Активное"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Биграммные подсказки"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Биграммные подсказки"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Используйте предыдущее слово, чтобы исправить подсказку"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: сохранено"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Поиск"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Далее"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri stlačení klávesu"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Zobraziť znaky pri stlačení klávesu"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Všeobecné"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Oprava textu"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Veľké písmená automaticky"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Rýchle opravy"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Opravuje najčastejšie chyby pri písaní"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vždy zobrazovať"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Zobraziť v režime na výšku"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vždy skrývať"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Zobraziť kláves Nastavenia"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automaticky"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Vždy zobrazovať"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Vypnuté"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Mierne"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresívne"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Návrh Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Návrhy Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Na zlepšenie návrhu použiť predchádzajúce slovo"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Uložené"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Hľadať"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Ďalej"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvok ob pritisku tipke"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Pojavno okno ob pritisku tipke"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Splošno"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Popravek besedila"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Samodejne velike začetnice"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Hitri popravki"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Popravi pogoste tipkarske napake"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Vedno pokaži"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Pokaži v pokončnem načinu"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Vedno skrij"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Pokaži tipko za nastavitve"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Samodejno"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Vedno pokaži"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Izklopljeno"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Zmerno"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresivno"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigramni predlogi"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigramni predlogi"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Predlog izboljšaj s prejšnjo besedo"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: shranjeno"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Pojdi"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Naprej"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук на притисак тастера"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Искачући прозор приликом притиска тастера"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Опште"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Исправљање текста"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Аутоматски унос великих слова"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Брзе исправке"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Исправља честе грешке у куцању"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Увек прикажи"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Прикажи у усправном режиму"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Увек сакриј"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Прикажи тастер за подешавања"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Аутоматски"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Увек прикажи"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Искључи"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Умерено"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Агресивно"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram предлози"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram предлози"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Користи претходну реч за побољшање предлога"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Сачувано"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Иди"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Следеће"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Knappljud"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Popup vid knapptryck"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Allmänt"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Textkorrigering"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Automatiska versaler"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Snabba lösningar"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Åtgärdar automatiskt vanliga misstag"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Visa alltid"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Visa stående"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Dölj alltid"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Visa inställningsknapp"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Automatiskt"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Visa alltid"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Av"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Måttlig"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Aggressiv"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigramförslag"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigramförslag"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Förbättra förslaget med föregående ord"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>: sparat"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Kör"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Nästa"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"ส่งเสียงเมื่อกดปุ่ม"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"ป๊อปอัปเมื่อกดแป้น"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"ทั่วไป"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"การแก้ไขข้อความ"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"ปรับเป็นตัวพิมพ์ใหญ่อัตโนมัติ"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"แก้ไขด่วน"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"แก้ไขข้อผิดพลาดในการพิมพ์ที่พบบ่อย"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"แสดงทุกครั้ง"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"แสดงในโหมดแนวตั้ง"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"ซ่อนทุกครั้ง"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"แสดงแป้นการตั้งค่า"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"อัตโนมัติ"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"แสดงตลอดเวลา"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"ปิด"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"ปานกลาง"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"เข้มงวด"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"คำแนะนำ Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"คำแนะนำ Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"ใช้คำก่อนหน้านี้เพื่อปรับปรุงคำแนะนำ"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : บันทึกแล้ว"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"ไป"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"ถัดไป"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Tunog sa keypress"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Popup sa keypress"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Pangkalahatan"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Pagwawasto ng teksto"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Auto-capitalization"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Mga mabilisang pagsasaayos"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Itinatama ang mga karaniwang na-type na mali"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Palaging ipakita"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Ipakita sa portrait mode"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Palaging itago"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Ipakita ang key ng mga setting"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Awtomatiko"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Palaging ipakita"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Naka-off"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Modest"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresibo"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Mga Suhestiyon na Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Mga Suhestiyon na Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Gamitin ang nakaraang salita upang pahusayin ang suhestiyon"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Na-save"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Punta"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Susunod"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Tuşa basıldığında ses çıkar"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Tuşa basıldığında pop-up aç"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Genel"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Metin düzeltme"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Otomatik olarak büyük harf yap"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Hızlı onarımlar"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Yaygın olarak yapılan yazım hatalarını düzeltir"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Her zaman göster"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Dikey modda göster"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Her zaman gizle"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Ayarları göster tuşu"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Otomatik"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Her zaman göster"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Kapalı"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Ölçülü"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Agresif"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Bigram Önerileri"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Bigram Önerileri"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Öneriyi geliştirmek için önceki kelimeyi kullanın"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Kaydedildi"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Git"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"İleri"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натиску клав."</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Сплив. при нат.клав."</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Загальні"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Виправлення тексту"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Авто викор. вел. літер"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Шв. виправлення"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Виправляє поширені помилки"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Завжди показувати"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Показувати в книжковому режимі"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Завжди ховати"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Показ. клав. налашт."</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Автоматично"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Завжди показ."</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Вимк."</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Середнє"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Повне"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Двобуквені пропозиції"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Двобуквені пропозиції"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Викор. попер. слово для покращ. пропозиції"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : збережено"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Іти"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Далі"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"Âm thanh khi nhấn phím"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"Cửa sổ bật lên khi nhấn phím"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"Chung"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"Sửa văn bản"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"Tự động viết hoa"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"Sửa nhanh"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"Sửa lỗi nhập thông thường"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"Luôn hiển thị"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"Hiển thị trên chế độ khổ đứng"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"Luôn ẩn"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"Hiển thị phím cài đặt"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"Tự động"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"Luôn hiển thị"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"Tắt"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"Đơn giản"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"Linh hoạt"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"Đề xuất Bigram"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"Đề xuất Bigram"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"Sử dụng từ trước đó để cải tiến đề xuất"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g> : Đã lưu"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"Đến"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"Tiếp theo"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"按键时播放音效"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"按键时显示弹出窗口"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"常规"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"文本更正"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"自动大写"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"快速纠正"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"纠正常见的输入错误"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"始终显示"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"以纵向模式显示"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"始终隐藏"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"显示设置键"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"自动"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"始终显示"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"关闭"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"部分"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"全部"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"双连词建议"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"双连词建议"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"使用以前的字词改进建议"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已保存"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"开始"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"下一步"</string>
|
||||
|
|
|
@ -27,7 +27,12 @@
|
|||
<string name="sound_on_keypress" msgid="6093592297198243644">"按鍵時播放音效"</string>
|
||||
<string name="popup_on_keypress" msgid="123894815723512944">"按鍵時顯示彈出式視窗"</string>
|
||||
<string name="general_category" msgid="1859088467017573195">"一般設定"</string>
|
||||
<string name="prediction_category" msgid="6361242011806282176">"文字修正"</string>
|
||||
<!-- no translation found for correction_category (2236750915056607613) -->
|
||||
<skip />
|
||||
<!-- no translation found for ngram_category (5337109164339320257) -->
|
||||
<skip />
|
||||
<!-- no translation found for misc_category (6894192814868233453) -->
|
||||
<skip />
|
||||
<string name="auto_cap" msgid="1719746674854628252">"自動大寫"</string>
|
||||
<string name="quick_fixes" msgid="5353213327680897927">"快速修正"</string>
|
||||
<string name="quick_fixes_summary" msgid="3405028402510332373">"修正一般打字錯誤"</string>
|
||||
|
@ -36,6 +41,8 @@
|
|||
<string name="prefs_suggestion_visibility_show_name" msgid="3219916594067551303">"一律顯示"</string>
|
||||
<string name="prefs_suggestion_visibility_show_only_portrait_name" msgid="3551821800439659812">"以垂直模式顯示"</string>
|
||||
<string name="prefs_suggestion_visibility_hide_name" msgid="6309143926422234673">"永遠隱藏"</string>
|
||||
<!-- no translation found for prefs_use_spacebar_language_switch (8828538114550634449) -->
|
||||
<skip />
|
||||
<string name="prefs_settings_key" msgid="4623341240804046498">"顯示設定金鑰"</string>
|
||||
<string name="settings_key_mode_auto_name" msgid="2993460277873684680">"自動"</string>
|
||||
<string name="settings_key_mode_always_show_name" msgid="3047567041784760575">"一律顯示"</string>
|
||||
|
@ -45,8 +52,12 @@
|
|||
<string name="auto_correction_threshold_mode_off" msgid="8470882665417944026">"關閉"</string>
|
||||
<string name="auto_correction_threshold_mode_modest" msgid="8788366690620799097">"部分"</string>
|
||||
<string name="auto_correction_threshold_mode_aggeressive" msgid="3524029103734923819">"全部"</string>
|
||||
<string name="bigram_suggestion" msgid="1323347224043514969">"雙連詞建議"</string>
|
||||
<!-- outdated translation 7146707435859263625 --> <string name="bigram_suggestion" msgid="2636414079905220518">"雙連詞建議"</string>
|
||||
<string name="bigram_suggestion_summary" msgid="4383845146070101531">"根據前一個字詞自動找出更適合的建議"</string>
|
||||
<!-- no translation found for bigram_prediction (8914273444762259739) -->
|
||||
<skip />
|
||||
<!-- no translation found for bigram_prediction_summary (1747261921174300098) -->
|
||||
<skip />
|
||||
<string name="added_word" msgid="8993883354622484372">"<xliff:g id="WORD">%s</xliff:g>:已儲存"</string>
|
||||
<string name="label_go_key" msgid="1635148082137219148">"開始"</string>
|
||||
<string name="label_next_key" msgid="362972844525672568">"繼續"</string>
|
||||
|
|
|
@ -211,9 +211,10 @@
|
|||
latin:keyLabel="-" />
|
||||
</case>
|
||||
<default>
|
||||
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
|
||||
<Key
|
||||
latin:keyLabel="""
|
||||
latin:popupCharacters="“,”,«,»,˝" />
|
||||
latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛" />
|
||||
<Key
|
||||
latin:keyLabel="_" />
|
||||
</default>
|
||||
|
|
|
@ -99,7 +99,8 @@
|
|||
latin:popupCharacters="↑,↓,←,→" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="°" />
|
||||
latin:keyLabel="°"
|
||||
latin:popupCharacters="′,″" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="±"
|
||||
|
|
|
@ -312,4 +312,27 @@
|
|||
latin:popupCharacters="@string/alternates_for_smiley"
|
||||
latin:maxPopupKeyboardColumn="5"
|
||||
latin:parentStyle="functionalKeyStyle" />
|
||||
<switch>
|
||||
<case
|
||||
latin:passwordInput="true"
|
||||
>
|
||||
<key-style
|
||||
latin:styleName="nonPasswordSymbolKeyStyle"
|
||||
latin:enabled="false" />
|
||||
<key-style
|
||||
latin:styleName="nonPasswordFunctionalKeyStyle"
|
||||
latin:enabled="false"
|
||||
latin:parentStyle="functionalKeyStyle" />
|
||||
</case>
|
||||
<!-- latin:passwordInput="false" -->
|
||||
<default>
|
||||
<key-style
|
||||
latin:styleName="nonPasswordSymbolKeyStyle"
|
||||
latin:enabled="true" />
|
||||
<key-style
|
||||
latin:styleName="nonPasswordFunctionalKeyStyle"
|
||||
latin:enabled="true"
|
||||
latin:parentStyle="functionalKeyStyle" />
|
||||
</default>
|
||||
</switch>
|
||||
</merge>
|
|
@ -105,12 +105,14 @@
|
|||
<Key
|
||||
latin:keyLabel="!"
|
||||
latin:popupCharacters="¡" />
|
||||
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
|
||||
<Key
|
||||
latin:keyLabel="""
|
||||
latin:popupCharacters="“,”,«,»,˝" />
|
||||
latin:popupCharacters="“,”,„,‟,«,»"
|
||||
latin:maxPopupKeyboardColumn="6" />
|
||||
<Key
|
||||
latin:keyLabel="\'"
|
||||
latin:popupCharacters="‘,’" />
|
||||
latin:popupCharacters="‘,’,‚,‛,´" />
|
||||
<Key
|
||||
latin:keyLabel=":" />
|
||||
<Key
|
||||
|
|
|
@ -42,16 +42,21 @@
|
|||
<Key
|
||||
latin:keyLabel="|" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="•"
|
||||
latin:popupCharacters="♪,♥,♠,♦,♣" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="√" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="π"
|
||||
latin:popupCharacters="Π" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="÷" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="×" />
|
||||
<Key
|
||||
latin:keyLabel="{" />
|
||||
|
@ -64,13 +69,18 @@
|
|||
latin:keyStyle="nonSpecialBackgroundTabKeyStyle"
|
||||
latin:keyEdgeFlags="left" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="£" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="¢" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="€" />
|
||||
<Key
|
||||
latin:keyLabel="°" />
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="°"
|
||||
latin:popupCharacters="′,″" />
|
||||
<Key
|
||||
latin:keyLabel="^"
|
||||
latin:popupCharacters="↑,↓,←,→" />
|
||||
|
@ -92,12 +102,16 @@
|
|||
latin:visualInsetsRight="1%p"
|
||||
latin:keyEdgeFlags="left" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="™" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="®" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="©" />
|
||||
<Key
|
||||
latin:keyStyle="nonPasswordSymbolKeyStyle"
|
||||
latin:keyLabel="¶"
|
||||
latin:popupCharacters="§" />
|
||||
<Key
|
||||
|
|
|
@ -34,13 +34,14 @@
|
|||
latin:keyEdgeFlags="left" />
|
||||
<Key
|
||||
latin:keyLabel="„"
|
||||
latin:keyStyle="functionalKeyStyle" />
|
||||
latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛"
|
||||
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="spaceKeyStyle"
|
||||
latin:keyWidth="40%p" />
|
||||
<Key
|
||||
latin:keyLabel="…"
|
||||
latin:keyStyle="functionalKeyStyle" />
|
||||
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
|
||||
<switch>
|
||||
<case
|
||||
latin:mode="im"
|
||||
|
@ -69,13 +70,14 @@
|
|||
latin:keyStyle="settingsKeyStyle" />
|
||||
<Key
|
||||
latin:keyLabel="„"
|
||||
latin:keyStyle="functionalKeyStyle" />
|
||||
latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛"
|
||||
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
|
||||
<Key
|
||||
latin:keyStyle="spaceKeyStyle"
|
||||
latin:keyWidth="30%p" />
|
||||
<Key
|
||||
latin:keyLabel="…"
|
||||
latin:keyStyle="functionalKeyStyle" />
|
||||
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
|
||||
<switch>
|
||||
<case
|
||||
latin:mode="im"
|
||||
|
|
|
@ -118,7 +118,7 @@ public class InputMethodManagerCompatWrapper {
|
|||
}
|
||||
Object retval = CompatUtils.invoke(mImm, null, METHOD_getEnabledInputMethodSubtypeList,
|
||||
(imi != null ? imi.getInputMethodInfo() : null), allowsImplicitlySelectedSubtypes);
|
||||
if (retval == null || !(retval instanceof List) || ((List<?>)retval).isEmpty()) {
|
||||
if (retval == null || !(retval instanceof List<?>) || ((List<?>)retval).isEmpty()) {
|
||||
if (!FORCE_ENABLE_VOICE_EVEN_WITH_NO_VOICE_SUBTYPES) {
|
||||
// Returns an empty list
|
||||
return Collections.emptyList();
|
||||
|
@ -137,7 +137,7 @@ public class InputMethodManagerCompatWrapper {
|
|||
}
|
||||
return subtypeList;
|
||||
}
|
||||
return CompatUtils.copyInputMethodSubtypeListToWrapper((List<?>)retval);
|
||||
return CompatUtils.copyInputMethodSubtypeListToWrapper(retval);
|
||||
}
|
||||
|
||||
private InputMethodInfoCompatWrapper getLatinImeInputMethodInfo() {
|
||||
|
@ -159,7 +159,7 @@ public class InputMethodManagerCompatWrapper {
|
|||
public Map<InputMethodInfoCompatWrapper, List<InputMethodSubtypeCompatWrapper>>
|
||||
getShortcutInputMethodsAndSubtypes() {
|
||||
Object retval = CompatUtils.invoke(mImm, null, METHOD_getShortcutInputMethodsAndSubtypes);
|
||||
if (retval == null || !(retval instanceof Map) || ((Map<?, ?>)retval).isEmpty()) {
|
||||
if (retval == null || !(retval instanceof Map<?, ?>) || ((Map<?, ?>)retval).isEmpty()) {
|
||||
if (!FORCE_ENABLE_VOICE_EVEN_WITH_NO_VOICE_SUBTYPES) {
|
||||
// Returns an empty map
|
||||
return Collections.emptyMap();
|
||||
|
|
|
@ -754,15 +754,15 @@ public class VoiceProxy implements VoiceInput.UiListener {
|
|||
}
|
||||
|
||||
public static class VoiceLoggerWrapper {
|
||||
private static final VoiceLoggerWrapper sInstance = new VoiceLoggerWrapper();
|
||||
private static final VoiceLoggerWrapper sLoggerWrapperInstance = new VoiceLoggerWrapper();
|
||||
private VoiceInputLogger mLogger;
|
||||
|
||||
public static VoiceLoggerWrapper getInstance(Context context) {
|
||||
if (sInstance.mLogger == null) {
|
||||
if (sLoggerWrapperInstance.mLogger == null) {
|
||||
// Not thread safe, but it's ok.
|
||||
sInstance.mLogger = VoiceInputLogger.getLogger(context);
|
||||
sLoggerWrapperInstance.mLogger = VoiceInputLogger.getLogger(context);
|
||||
}
|
||||
return sInstance;
|
||||
return sLoggerWrapperInstance;
|
||||
}
|
||||
|
||||
// private for the singleton
|
||||
|
@ -795,10 +795,10 @@ public class VoiceProxy implements VoiceInput.UiListener {
|
|||
}
|
||||
|
||||
public static class VoiceInputWrapper {
|
||||
private static final VoiceInputWrapper sInstance = new VoiceInputWrapper();
|
||||
private static final VoiceInputWrapper sInputWrapperInstance = new VoiceInputWrapper();
|
||||
private VoiceInput mVoiceInput;
|
||||
public static VoiceInputWrapper getInstance() {
|
||||
return sInstance;
|
||||
return sInputWrapperInstance;
|
||||
}
|
||||
public void setVoiceInput(VoiceInput voiceInput, SubtypeSwitcher switcher) {
|
||||
if (mVoiceInput == null && voiceInput != null) {
|
||||
|
|
|
@ -17,19 +17,17 @@
|
|||
package com.android.inputmethod.deprecated.languageswitcher;
|
||||
|
||||
import com.android.inputmethod.keyboard.KeyboardParser;
|
||||
import com.android.inputmethod.latin.BinaryDictionary;
|
||||
import com.android.inputmethod.latin.DictionaryFactory;
|
||||
import com.android.inputmethod.latin.R;
|
||||
import com.android.inputmethod.latin.Settings;
|
||||
import com.android.inputmethod.latin.SharedPreferencesCompat;
|
||||
import com.android.inputmethod.latin.SubtypeSwitcher;
|
||||
import com.android.inputmethod.latin.Suggest;
|
||||
import com.android.inputmethod.latin.Utils;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.SharedPreferences.Editor;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
|
@ -123,24 +121,11 @@ public class InputLanguageSelection extends PreferenceActivity {
|
|||
private Pair<Boolean, Boolean> hasDictionaryOrLayout(Locale locale) {
|
||||
if (locale == null) return new Pair<Boolean, Boolean>(false, false);
|
||||
final Resources res = getResources();
|
||||
final Configuration conf = res.getConfiguration();
|
||||
final Locale saveLocale = conf.locale;
|
||||
conf.locale = locale;
|
||||
res.updateConfiguration(conf, res.getDisplayMetrics());
|
||||
boolean hasDictionary = false;
|
||||
final Locale saveLocale = Utils.setSystemLocale(res, locale);
|
||||
final boolean hasDictionary = DictionaryFactory.isDictionaryAvailable(this, locale);
|
||||
boolean hasLayout = false;
|
||||
|
||||
try {
|
||||
BinaryDictionary bd = BinaryDictionary.initDictionaryFromManager(this, Suggest.DIC_MAIN,
|
||||
locale, Utils.getMainDictionaryResourceId(res));
|
||||
|
||||
// Is the dictionary larger than a placeholder? Arbitrarily chose a lower limit of
|
||||
// 4000-5000 words, whereas the LARGE_DICTIONARY is about 20000+ words.
|
||||
if (bd.getSize() > Suggest.LARGE_DICTIONARY_THRESHOLD / 4) {
|
||||
hasDictionary = true;
|
||||
}
|
||||
bd.close();
|
||||
|
||||
final String localeStr = locale.toString();
|
||||
final String[] layoutCountryCodes = KeyboardParser.parseKeyboardLocale(
|
||||
this, R.xml.kbd_qwerty).split(",", -1);
|
||||
|
@ -155,8 +140,7 @@ public class InputLanguageSelection extends PreferenceActivity {
|
|||
} catch (XmlPullParserException e) {
|
||||
} catch (IOException e) {
|
||||
}
|
||||
conf.locale = saveLocale;
|
||||
res.updateConfiguration(conf, res.getDisplayMetrics());
|
||||
Utils.setSystemLocale(res, saveLocale);
|
||||
return new Pair<Boolean, Boolean>(hasDictionary, hasLayout);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
package com.android.inputmethod.deprecated.languageswitcher;
|
||||
|
||||
import com.android.inputmethod.compat.InputMethodSubtypeCompatWrapper;
|
||||
import com.android.inputmethod.latin.LatinIME;
|
||||
import com.android.inputmethod.latin.LatinImeLogger;
|
||||
import com.android.inputmethod.latin.Settings;
|
||||
|
@ -38,6 +37,7 @@ import java.util.Locale;
|
|||
public class LanguageSwitcher {
|
||||
private static final String TAG = LanguageSwitcher.class.getSimpleName();
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static final String KEYBOARD_MODE = "keyboard";
|
||||
private static final String[] EMPTY_STIRNG_ARRAY = new String[0];
|
||||
|
||||
|
@ -154,7 +154,6 @@ public class LanguageSwitcher {
|
|||
/**
|
||||
* Returns the currently selected input locale, or the display locale if no specific
|
||||
* locale was selected for input.
|
||||
* @return
|
||||
*/
|
||||
public Locale getInputLocale() {
|
||||
if (getLocaleCount() == 0) return mDefaultInputLocale;
|
||||
|
@ -175,7 +174,6 @@ public class LanguageSwitcher {
|
|||
/**
|
||||
* Returns the next input locale in the list. Wraps around to the beginning of the
|
||||
* list if we're at the end of the list.
|
||||
* @return
|
||||
*/
|
||||
public Locale getNextInputLocale() {
|
||||
if (getLocaleCount() == 0) return mDefaultInputLocale;
|
||||
|
@ -201,7 +199,6 @@ public class LanguageSwitcher {
|
|||
/**
|
||||
* Returns the previous input locale in the list. Wraps around to the end of the
|
||||
* list if we're at the beginning of the list.
|
||||
* @return
|
||||
*/
|
||||
public Locale getPrevInputLocale() {
|
||||
if (getLocaleCount() == 0) return mDefaultInputLocale;
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
package com.android.inputmethod.deprecated.voice;
|
||||
|
||||
import com.android.common.speech.LoggingEvents;
|
||||
import com.android.common.userhappiness.UserHappinessSignals;
|
||||
import com.android.inputmethod.deprecated.compat.VoiceInputLoggerCompatUtils;
|
||||
|
||||
import android.content.Context;
|
||||
|
|
|
@ -57,6 +57,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
private LatinKeyboardView mInputView;
|
||||
private LatinIME mInputMethodService;
|
||||
|
||||
// TODO: Combine these key state objects with auto mode switch state.
|
||||
private ShiftKeyState mShiftKeyState = new ShiftKeyState("Shift");
|
||||
private ModifierKeyState mSymbolKeyState = new ModifierKeyState("Symbol");
|
||||
|
||||
|
@ -75,13 +76,17 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
private boolean mVoiceKeyEnabled;
|
||||
private boolean mVoiceButtonOnPrimary;
|
||||
|
||||
private static final int AUTO_MODE_SWITCH_STATE_ALPHA = 0;
|
||||
private static final int AUTO_MODE_SWITCH_STATE_SYMBOL_BEGIN = 1;
|
||||
private static final int AUTO_MODE_SWITCH_STATE_SYMBOL = 2;
|
||||
// TODO: Encapsulate these state handling to separate class and combine with ShiftKeyState
|
||||
// and ModifierKeyState.
|
||||
private static final int SWITCH_STATE_ALPHA = 0;
|
||||
private static final int SWITCH_STATE_SYMBOL_BEGIN = 1;
|
||||
private static final int SWITCH_STATE_SYMBOL = 2;
|
||||
// The following states are used only on the distinct multi-touch panel devices.
|
||||
private static final int AUTO_MODE_SWITCH_STATE_MOMENTARY = 3;
|
||||
private static final int AUTO_MODE_SWITCH_STATE_CHORDING = 4;
|
||||
private int mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_ALPHA;
|
||||
private static final int SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL = 3;
|
||||
private static final int SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE = 4;
|
||||
private static final int SWITCH_STATE_CHORDING_ALPHA = 5;
|
||||
private static final int SWITCH_STATE_CHORDING_SYMBOL = 6;
|
||||
private int mSwitchState = SWITCH_STATE_ALPHA;
|
||||
|
||||
// Indicates whether or not we have the settings key in option of settings
|
||||
private boolean mSettingsKeyEnabledInSettings;
|
||||
|
@ -124,7 +129,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
|
||||
public void loadKeyboard(EditorInfo attribute, boolean voiceKeyEnabled,
|
||||
boolean voiceButtonOnPrimary) {
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_ALPHA;
|
||||
mSwitchState = SWITCH_STATE_ALPHA;
|
||||
try {
|
||||
loadKeyboardInternal(attribute, voiceKeyEnabled, voiceButtonOnPrimary, false);
|
||||
} catch (RuntimeException e) {
|
||||
|
@ -164,7 +169,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
final SoftReference<LatinKeyboard> ref = mKeyboardCache.get(id);
|
||||
LatinKeyboard keyboard = (ref == null) ? null : ref.get();
|
||||
if (keyboard == null) {
|
||||
final Locale savedLocale = mSubtypeSwitcher.changeSystemLocale(
|
||||
final Resources res = mInputMethodService.getResources();
|
||||
final Locale savedLocale = Utils.setSystemLocale(res,
|
||||
mSubtypeSwitcher.getInputLocale());
|
||||
|
||||
keyboard = new LatinKeyboard(mInputMethodService, id);
|
||||
|
@ -178,7 +184,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
Log.d(TAG, "keyboard cache size=" + mKeyboardCache.size() + ": "
|
||||
+ ((ref == null) ? "LOAD" : "GCed") + " id=" + id);
|
||||
|
||||
mSubtypeSwitcher.changeSystemLocale(savedLocale);
|
||||
Utils.setSystemLocale(res, savedLocale);
|
||||
} else if (DEBUG) {
|
||||
Log.d(TAG, "keyboard cache size=" + mKeyboardCache.size() + ": HIT id=" + id);
|
||||
}
|
||||
|
@ -465,6 +471,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
// In symbol mode, just toggle symbol and symbol more keyboard.
|
||||
shiftKeyState.onPress();
|
||||
toggleShift();
|
||||
mSwitchState = SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -486,6 +493,10 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
} else if (isShiftLocked() && !shiftKeyState.isIgnoring() && !withSliding) {
|
||||
// Shift has been pressed without chording while caps lock state.
|
||||
toggleCapsLock();
|
||||
// To be able to turn off caps lock by "double tap" on shift key, we should ignore
|
||||
// the second tap of the "double tap" from now for a while because we just have
|
||||
// already turned off caps lock above.
|
||||
mInputView.startIgnoringDoubleTap();
|
||||
} else if (isShiftedOrShiftLocked() && shiftKeyState.isPressingOnShifted()
|
||||
&& !withSliding) {
|
||||
// Shift has been pressed without chording while shifted state.
|
||||
|
@ -496,6 +507,12 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
// transited from automatic temporary upper case.
|
||||
toggleShift();
|
||||
}
|
||||
} else {
|
||||
// In symbol mode, snap back to the previous keyboard mode if the user chords the shift
|
||||
// key and another key, then releases the shift key.
|
||||
if (mSwitchState == SWITCH_STATE_CHORDING_SYMBOL) {
|
||||
toggleShift();
|
||||
}
|
||||
}
|
||||
shiftKeyState.onRelease();
|
||||
}
|
||||
|
@ -510,7 +527,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
+ " symbolKeyState=" + mSymbolKeyState);
|
||||
changeKeyboardMode();
|
||||
mSymbolKeyState.onPress();
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_MOMENTARY;
|
||||
mSwitchState = SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL;
|
||||
}
|
||||
|
||||
public void onReleaseSymbol() {
|
||||
|
@ -522,9 +539,10 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
+ " keyboard=" + getLatinKeyboard().getKeyboardShiftState()
|
||||
+ " symbolKeyState=" + mSymbolKeyState);
|
||||
// Snap back to the previous keyboard mode if the user chords the mode change key and
|
||||
// other key, then released the mode change key.
|
||||
if (mAutoModeSwitchState == AUTO_MODE_SWITCH_STATE_CHORDING)
|
||||
// another key, then releases the mode change key.
|
||||
if (mSwitchState == SWITCH_STATE_CHORDING_ALPHA) {
|
||||
changeKeyboardMode();
|
||||
}
|
||||
mSymbolKeyState.onRelease();
|
||||
}
|
||||
|
||||
|
@ -543,8 +561,13 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
|
||||
public void onCancelInput() {
|
||||
// Snap back to the previous keyboard mode if the user cancels sliding input.
|
||||
if (mAutoModeSwitchState == AUTO_MODE_SWITCH_STATE_MOMENTARY && getPointerCount() == 1)
|
||||
if (getPointerCount() == 1) {
|
||||
if (mSwitchState == SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL) {
|
||||
changeKeyboardMode();
|
||||
} else if (mSwitchState == SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE) {
|
||||
toggleShift();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void toggleShiftInSymbol() {
|
||||
|
@ -567,8 +590,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
setKeyboard(keyboard);
|
||||
}
|
||||
|
||||
public boolean isInMomentaryAutoModeSwitchState() {
|
||||
return mAutoModeSwitchState == AUTO_MODE_SWITCH_STATE_MOMENTARY;
|
||||
public boolean isInMomentarySwitchState() {
|
||||
return mSwitchState == SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL
|
||||
|| mSwitchState == SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE;
|
||||
}
|
||||
|
||||
public boolean isVibrateAndSoundFeedbackRequired() {
|
||||
|
@ -582,9 +606,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
private void toggleKeyboardMode() {
|
||||
loadKeyboardInternal(mAttribute, mVoiceKeyEnabled, mVoiceButtonOnPrimary, !mIsSymbols);
|
||||
if (mIsSymbols) {
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_SYMBOL_BEGIN;
|
||||
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
|
||||
} else {
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_ALPHA;
|
||||
mSwitchState = SWITCH_STATE_ALPHA;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -596,28 +620,52 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
return mInputView != null && mInputView.hasDistinctMultitouch();
|
||||
}
|
||||
|
||||
private static boolean isSpaceCharacter(int c) {
|
||||
return c == Keyboard.CODE_SPACE || c == Keyboard.CODE_ENTER;
|
||||
}
|
||||
|
||||
private static boolean isQuoteCharacter(int c) {
|
||||
// Apostrophe, quotation mark.
|
||||
if (c == '\'' || c == '"')
|
||||
return true;
|
||||
// \u2018: Left single quotation mark
|
||||
// \u2019: Right single quotation mark
|
||||
// \u201a: Single low-9 quotation mark
|
||||
// \u201b: Single high-reversed-9 quotation mark
|
||||
// \u201c: Left double quotation mark
|
||||
// \u201d: Right double quotation mark
|
||||
// \u201e: Double low-9 quotation mark
|
||||
// \u201f: Double high-reversed-9 quotation mark
|
||||
if (c >= '\u2018' && c <= '\u201f')
|
||||
return true;
|
||||
// \u00ab: Left-pointing double angle quotation mark
|
||||
// \u00bb: Right-pointing double angle quotation mark
|
||||
if (c == '\u00ab' || c == '\u00bb')
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates state machine to figure out when to automatically snap back to the previous mode.
|
||||
*/
|
||||
public void onKey(int key) {
|
||||
public void onKey(int code) {
|
||||
if (DEBUG_STATE)
|
||||
Log.d(TAG, "onKey: code=" + key + " autoModeSwitchState=" + mAutoModeSwitchState
|
||||
Log.d(TAG, "onKey: code=" + code + " switchState=" + mSwitchState
|
||||
+ " pointers=" + getPointerCount());
|
||||
switch (mAutoModeSwitchState) {
|
||||
case AUTO_MODE_SWITCH_STATE_MOMENTARY:
|
||||
switch (mSwitchState) {
|
||||
case SWITCH_STATE_MOMENTARY_ALPHA_AND_SYMBOL:
|
||||
// Only distinct multi touch devices can be in this state.
|
||||
// On non-distinct multi touch devices, mode change key is handled by
|
||||
// {@link LatinIME#onCodeInput}, not by {@link LatinIME#onPress} and
|
||||
// {@link LatinIME#onRelease}. So, on such devices, {@link #mAutoModeSwitchState} starts
|
||||
// from {@link #AUTO_MODE_SWITCH_STATE_SYMBOL_BEGIN}, or
|
||||
// {@link #AUTO_MODE_SWITCH_STATE_ALPHA}, not from
|
||||
// {@link #AUTO_MODE_SWITCH_STATE_MOMENTARY}.
|
||||
if (key == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) {
|
||||
// {@link LatinIME#onRelease}. So, on such devices, {@link #mSwitchState} starts
|
||||
// from {@link #SWITCH_STATE_SYMBOL_BEGIN}, or {@link #SWITCH_STATE_ALPHA}, not from
|
||||
// {@link #SWITCH_STATE_MOMENTARY}.
|
||||
if (code == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) {
|
||||
// Detected only the mode change key has been pressed, and then released.
|
||||
if (mIsSymbols) {
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_SYMBOL_BEGIN;
|
||||
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
|
||||
} else {
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_ALPHA;
|
||||
mSwitchState = SWITCH_STATE_ALPHA;
|
||||
}
|
||||
} else if (getPointerCount() == 1) {
|
||||
// Snap back to the previous keyboard mode if the user pressed the mode change key
|
||||
|
@ -628,18 +676,34 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
} else {
|
||||
// Chording input is being started. The keyboard mode will be snapped back to the
|
||||
// previous mode in {@link onReleaseSymbol} when the mode change key is released.
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_CHORDING;
|
||||
mSwitchState = SWITCH_STATE_CHORDING_ALPHA;
|
||||
}
|
||||
break;
|
||||
case AUTO_MODE_SWITCH_STATE_SYMBOL_BEGIN:
|
||||
if (key != Keyboard.CODE_SPACE && key != Keyboard.CODE_ENTER && key >= 0) {
|
||||
mAutoModeSwitchState = AUTO_MODE_SWITCH_STATE_SYMBOL;
|
||||
case SWITCH_STATE_MOMENTARY_SYMBOL_AND_MORE:
|
||||
if (code == Keyboard.CODE_SHIFT) {
|
||||
// Detected only the shift key has been pressed on symbol layout, and then released.
|
||||
mSwitchState = SWITCH_STATE_SYMBOL_BEGIN;
|
||||
} else if (getPointerCount() == 1) {
|
||||
// Snap back to the previous keyboard mode if the user pressed the shift key on
|
||||
// symbol mode and slid to other key, then released the finger.
|
||||
toggleShift();
|
||||
mSwitchState = SWITCH_STATE_SYMBOL;
|
||||
} else {
|
||||
// Chording input is being started. The keyboard mode will be snapped back to the
|
||||
// previous mode in {@link onReleaseShift} when the shift key is released.
|
||||
mSwitchState = SWITCH_STATE_CHORDING_SYMBOL;
|
||||
}
|
||||
break;
|
||||
case AUTO_MODE_SWITCH_STATE_SYMBOL:
|
||||
case SWITCH_STATE_SYMBOL_BEGIN:
|
||||
if (!isSpaceCharacter(code) && code >= 0) {
|
||||
mSwitchState = SWITCH_STATE_SYMBOL;
|
||||
}
|
||||
break;
|
||||
case SWITCH_STATE_SYMBOL:
|
||||
case SWITCH_STATE_CHORDING_SYMBOL:
|
||||
// Snap back to alpha keyboard mode if user types one or more non-space/enter
|
||||
// characters followed by a space/enter.
|
||||
if (key == Keyboard.CODE_ENTER || key == Keyboard.CODE_SPACE) {
|
||||
// characters followed by a space/enter or quotation mark.
|
||||
if (isSpaceCharacter(code) || isQuoteCharacter(code)) {
|
||||
changeKeyboardMode();
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -44,6 +44,7 @@ import android.view.Gravity;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewConfiguration;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
|
@ -73,7 +74,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
|
|||
private static final boolean DEBUG_SHOW_ALIGN = false;
|
||||
private static final boolean DEBUG_KEYBOARD_GRID = false;
|
||||
|
||||
private static final boolean ENABLE_CAPSLOCK_BY_LONGPRESS = false;
|
||||
private static final boolean ENABLE_CAPSLOCK_BY_LONGPRESS = true;
|
||||
private static final boolean ENABLE_CAPSLOCK_BY_DOUBLETAP = true;
|
||||
|
||||
public static final int COLOR_SCHEME_WHITE = 0;
|
||||
|
@ -189,6 +190,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
|
|||
private static final int MSG_REPEAT_KEY = 3;
|
||||
private static final int MSG_LONGPRESS_KEY = 4;
|
||||
private static final int MSG_LONGPRESS_SHIFT_KEY = 5;
|
||||
private static final int MSG_IGNORE_DOUBLE_TAP = 6;
|
||||
|
||||
private boolean mInKeyRepeat;
|
||||
|
||||
|
@ -286,6 +288,16 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
|
|||
public void cancelKeyTimers() {
|
||||
cancelKeyRepeatTimer();
|
||||
cancelLongPressTimers();
|
||||
removeMessages(MSG_IGNORE_DOUBLE_TAP);
|
||||
}
|
||||
|
||||
public void startIgnoringDoubleTap() {
|
||||
sendMessageDelayed(obtainMessage(MSG_IGNORE_DOUBLE_TAP),
|
||||
ViewConfiguration.getDoubleTapTimeout());
|
||||
}
|
||||
|
||||
public boolean isIgnoringDoubleTap() {
|
||||
return hasMessages(MSG_IGNORE_DOUBLE_TAP);
|
||||
}
|
||||
|
||||
public void cancelAllMessages() {
|
||||
|
@ -449,6 +461,11 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
|
|||
final PointerTracker tracker = getPointerTracker(id);
|
||||
// If the second down event is also on shift key.
|
||||
if (tracker.isOnShiftKey((int)secondDown.getX(), (int)secondDown.getY())) {
|
||||
// Detected a double tap on shift key. If we are in the ignoring double tap
|
||||
// mode, it means we have already turned off caps lock in
|
||||
// {@link KeyboardSwitcher#onReleaseShift} .
|
||||
final boolean ignoringDoubleTap = mHandler.isIgnoringDoubleTap();
|
||||
if (!ignoringDoubleTap)
|
||||
onDoubleTapShiftKey(tracker);
|
||||
return true;
|
||||
}
|
||||
|
@ -468,6 +485,11 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
|
|||
mKeyRepeatInterval = res.getInteger(R.integer.config_key_repeat_interval);
|
||||
}
|
||||
|
||||
public void startIgnoringDoubleTap() {
|
||||
if (ENABLE_CAPSLOCK_BY_DOUBLETAP)
|
||||
mHandler.startIgnoringDoubleTap();
|
||||
}
|
||||
|
||||
public void setOnKeyboardActionListener(KeyboardActionListener listener) {
|
||||
mKeyboardActionListener = listener;
|
||||
for (PointerTracker tracker : mPointerTrackers) {
|
||||
|
|
|
@ -662,7 +662,7 @@ public class PointerTracker {
|
|||
// We need not start long press timer on the key which has manual temporary upper case
|
||||
// code defined and the keyboard is in manual temporary upper case mode.
|
||||
return;
|
||||
} else if (mKeyboardSwitcher.isInMomentaryAutoModeSwitchState()) {
|
||||
} else if (mKeyboardSwitcher.isInMomentarySwitchState()) {
|
||||
// We use longer timeout for sliding finger input started from the symbols mode key.
|
||||
mHandler.startLongPressTimer(mLongPressKeyTimeout * 3, keyIndex, this);
|
||||
} else {
|
||||
|
|
|
@ -21,12 +21,8 @@ import com.android.inputmethod.keyboard.KeyboardSwitcher;
|
|||
import com.android.inputmethod.keyboard.ProximityInfo;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Implements a static, compacted, binary dictionary of standard words.
|
||||
|
@ -45,16 +41,15 @@ public class BinaryDictionary extends Dictionary {
|
|||
public static final int MAX_WORD_LENGTH = 48;
|
||||
public static final int MAX_WORDS = 18;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static final String TAG = "BinaryDictionary";
|
||||
private static final int MAX_PROXIMITY_CHARS_SIZE = ProximityInfo.MAX_PROXIMITY_CHARS_SIZE;
|
||||
private static final int MAX_BIGRAMS = 60;
|
||||
|
||||
private static final int TYPED_LETTER_MULTIPLIER = 2;
|
||||
|
||||
private static final BinaryDictionary sInstance = new BinaryDictionary();
|
||||
private int mDicTypeId;
|
||||
private int mNativeDict;
|
||||
private long mDictLength;
|
||||
private final int[] mInputCodes = new int[MAX_WORD_LENGTH * MAX_PROXIMITY_CHARS_SIZE];
|
||||
private final char[] mOutputChars = new char[MAX_WORD_LENGTH * MAX_WORDS];
|
||||
private final char[] mOutputChars_bigrams = new char[MAX_WORD_LENGTH * MAX_BIGRAMS];
|
||||
|
@ -79,95 +74,32 @@ public class BinaryDictionary extends Dictionary {
|
|||
|
||||
private int mFlags = 0;
|
||||
|
||||
private BinaryDictionary() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes a dictionary from a raw resource file
|
||||
* @param context application context for reading resources
|
||||
* @param resId the resource containing the raw binary dictionary
|
||||
* @param dicTypeId the type of the dictionary being created, out of the list in Suggest.DIC_*
|
||||
* @return an initialized instance of BinaryDictionary
|
||||
* Constructor for the binary dictionary. This is supposed to be called from the
|
||||
* dictionary factory.
|
||||
* All implementations should pass null into flagArray, except for testing purposes.
|
||||
* @param context the context to access the environment from.
|
||||
* @param filename the name of the file to read through native code.
|
||||
* @param offset the offset of the dictionary data within the file.
|
||||
* @param length the length of the binary data.
|
||||
* @param flagArray the flags to limit the dictionary to, or null for default.
|
||||
*/
|
||||
public static BinaryDictionary initDictionary(Context context, int resId, int dicTypeId) {
|
||||
synchronized (sInstance) {
|
||||
sInstance.closeInternal();
|
||||
try {
|
||||
final AssetFileDescriptor afd = context.getResources().openRawResourceFd(resId);
|
||||
if (afd == null) {
|
||||
Log.e(TAG, "Found the resource but it is compressed. resId=" + resId);
|
||||
return null;
|
||||
}
|
||||
final String sourceDir = context.getApplicationInfo().sourceDir;
|
||||
final File packagePath = new File(sourceDir);
|
||||
// TODO: Come up with a way to handle a directory.
|
||||
if (!packagePath.isFile()) {
|
||||
Log.e(TAG, "sourceDir is not a file: " + sourceDir);
|
||||
return null;
|
||||
}
|
||||
sInstance.loadDictionary(sourceDir, afd.getStartOffset(), afd.getLength());
|
||||
sInstance.mDicTypeId = dicTypeId;
|
||||
} catch (android.content.res.Resources.NotFoundException e) {
|
||||
Log.e(TAG, "Could not find the resource. resId=" + resId);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
sInstance.mFlags = Flag.initFlags(ALL_FLAGS, context, SubtypeSwitcher.getInstance());
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
/* package for test */ static BinaryDictionary initDictionary(Context context, File dictionary,
|
||||
long startOffset, long length, int dicTypeId, Flag[] flagArray) {
|
||||
synchronized (sInstance) {
|
||||
sInstance.closeInternal();
|
||||
if (dictionary.isFile()) {
|
||||
sInstance.loadDictionary(dictionary.getAbsolutePath(), startOffset, length);
|
||||
sInstance.mDicTypeId = dicTypeId;
|
||||
} else {
|
||||
Log.e(TAG, "Could not find the file. path=" + dictionary.getAbsolutePath());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
sInstance.mFlags = Flag.initFlags(flagArray, context, null);
|
||||
return sInstance;
|
||||
public BinaryDictionary(final Context context,
|
||||
final String filename, final long offset, final long length, Flag[] flagArray) {
|
||||
// Note: at the moment a binary dictionary is always of the "main" type.
|
||||
// Initializing this here will help transitioning out of the scheme where
|
||||
// the Suggest class knows everything about every single dictionary.
|
||||
mDicTypeId = Suggest.DIC_MAIN;
|
||||
// TODO: Stop relying on the state of SubtypeSwitcher, get it as a parameter
|
||||
mFlags = Flag.initFlags(null == flagArray ? ALL_FLAGS : flagArray, context,
|
||||
SubtypeSwitcher.getInstance());
|
||||
loadDictionary(filename, offset, length);
|
||||
}
|
||||
|
||||
static {
|
||||
Utils.loadNativeLibrary();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes a dictionary from a dictionary pack.
|
||||
*
|
||||
* This searches for a content provider providing a dictionary pack for the specified
|
||||
* locale. If none is found, it falls back to using the resource passed as fallBackResId
|
||||
* as a dictionary.
|
||||
* @param context application context for reading resources
|
||||
* @param dicTypeId the type of the dictionary being created, out of the list in Suggest.DIC_*
|
||||
* @param locale the locale for which to create the dictionary
|
||||
* @param fallBackResId the id of the resource to use as a fallback if no pack is found
|
||||
* @return an initialized instance of BinaryDictionary
|
||||
*/
|
||||
public static BinaryDictionary initDictionaryFromManager(Context context, int dicTypeId,
|
||||
Locale locale, int fallbackResId) {
|
||||
if (null == locale) {
|
||||
Log.e(TAG, "No locale defined for dictionary");
|
||||
return initDictionary(context, fallbackResId, dicTypeId);
|
||||
}
|
||||
synchronized (sInstance) {
|
||||
sInstance.closeInternal();
|
||||
|
||||
final AssetFileAddress dictFile = BinaryDictionaryGetter.getDictionaryFile(locale,
|
||||
context, fallbackResId);
|
||||
if (null != dictFile) {
|
||||
sInstance.loadDictionary(dictFile.mFilename, dictFile.mOffset, dictFile.mLength);
|
||||
sInstance.mDicTypeId = dicTypeId;
|
||||
}
|
||||
}
|
||||
sInstance.mFlags = Flag.initFlags(ALL_FLAGS, context, SubtypeSwitcher.getInstance());
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
private native int openNative(String sourceDir, long dictOffset, long dictSize,
|
||||
int typedLetterMultiplier, int fullWordMultiplier, int maxWordLength,
|
||||
int maxWords, int maxAlternatives);
|
||||
|
@ -184,7 +116,6 @@ public class BinaryDictionary extends Dictionary {
|
|||
mNativeDict = openNative(path, startOffset, length,
|
||||
TYPED_LETTER_MULTIPLIER, FULL_WORD_SCORE_MULTIPLIER,
|
||||
MAX_WORD_LENGTH, MAX_WORDS, MAX_PROXIMITY_CHARS_SIZE);
|
||||
mDictLength = length;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -278,10 +209,6 @@ public class BinaryDictionary extends Dictionary {
|
|||
return isValidWordNative(mNativeDict, chars, chars.length);
|
||||
}
|
||||
|
||||
public long getSize() {
|
||||
return mDictLength; // This value is initialized in loadDictionary()
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void close() {
|
||||
closeInternal();
|
||||
|
@ -291,7 +218,6 @@ public class BinaryDictionary extends Dictionary {
|
|||
if (mNativeDict != 0) {
|
||||
closeNative(mNativeDict);
|
||||
mNativeDict = 0;
|
||||
mDictLength = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,9 +65,6 @@ class BinaryDictionaryGetter {
|
|||
* If that fails:
|
||||
* - Returns null.
|
||||
* @return The address of a valid file, or null.
|
||||
* @throws FileNotFoundException if a dictionary provider returned a file name, but the
|
||||
* file cannot be found.
|
||||
* @throws IOException if there was an I/O problem reading or copying a file.
|
||||
*/
|
||||
public static AssetFileAddress getDictionaryFile(Locale locale, Context context,
|
||||
int fallbackResId) {
|
||||
|
|
|
@ -95,6 +95,14 @@ public class ContactsDictionary extends ExpandableDictionary {
|
|||
mLastLoadedContacts = SystemClock.uptimeMillis();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBigrams(final WordComposer codes, final CharSequence previousWord,
|
||||
final WordCallback callback) {
|
||||
// Do not return bigrams from Contacts when nothing was typed.
|
||||
if (codes.size() <= 0) return;
|
||||
super.getBigrams(codes, previousWord, callback);
|
||||
}
|
||||
|
||||
private void addWords(Cursor cursor) {
|
||||
clearDictionary();
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ public abstract class Dictionary {
|
|||
* words are added through the callback object.
|
||||
* @param composer the key sequence to match
|
||||
* @param callback the callback object to send matched words to as possible candidates
|
||||
* @see WordCallback#addWord(char[], int, int)
|
||||
* @see WordCallback#addWord(char[], int, int, int, int, DataType)
|
||||
*/
|
||||
abstract public void getWords(final WordComposer composer, final WordCallback callback);
|
||||
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
|
||||
package com.android.inputmethod.latin;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
* Class for a collection of dictionaries that behave like one dictionary.
|
||||
*/
|
||||
public class DictionaryCollection extends Dictionary {
|
||||
|
||||
protected final List<Dictionary> mDictionaries;
|
||||
|
||||
public DictionaryCollection() {
|
||||
mDictionaries = new CopyOnWriteArrayList<Dictionary>();
|
||||
}
|
||||
|
||||
public DictionaryCollection(Dictionary... dictionaries) {
|
||||
mDictionaries = new CopyOnWriteArrayList<Dictionary>(dictionaries);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWords(final WordComposer composer, final WordCallback callback) {
|
||||
for (final Dictionary dict : mDictionaries)
|
||||
dict.getWords(composer, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBigrams(final WordComposer composer, final CharSequence previousWord,
|
||||
final WordCallback callback) {
|
||||
for (final Dictionary dict : mDictionaries)
|
||||
dict.getBigrams(composer, previousWord, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidWord(CharSequence word) {
|
||||
for (final Dictionary dict : mDictionaries)
|
||||
if (dict.isValidWord(word)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
for (final Dictionary dict : mDictionaries)
|
||||
dict.close();
|
||||
}
|
||||
|
||||
public void addDictionary(Dictionary newDict) {
|
||||
mDictionaries.add(newDict);
|
||||
}
|
||||
}
|
155
java/src/com/android/inputmethod/latin/DictionaryFactory.java
Normal file
155
java/src/com/android/inputmethod/latin/DictionaryFactory.java
Normal file
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
|
||||
package com.android.inputmethod.latin;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.AssetFileDescriptor;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Factory for dictionary instances.
|
||||
*/
|
||||
public class DictionaryFactory {
|
||||
|
||||
private static String TAG = DictionaryFactory.class.getSimpleName();
|
||||
|
||||
/**
|
||||
* Initializes a dictionary from a dictionary pack.
|
||||
*
|
||||
* This searches for a content provider providing a dictionary pack for the specified
|
||||
* locale. If none is found, it falls back to using the resource passed as fallBackResId
|
||||
* as a dictionary.
|
||||
* @param context application context for reading resources
|
||||
* @param locale the locale for which to create the dictionary
|
||||
* @param fallbackResId the id of the resource to use as a fallback if no pack is found
|
||||
* @return an initialized instance of Dictionary
|
||||
*/
|
||||
public static Dictionary createDictionaryFromManager(Context context, Locale locale,
|
||||
int fallbackResId) {
|
||||
if (null == locale) {
|
||||
Log.e(TAG, "No locale defined for dictionary");
|
||||
return new DictionaryCollection(createBinaryDictionary(context, fallbackResId));
|
||||
}
|
||||
|
||||
final AssetFileAddress dictFile = BinaryDictionaryGetter.getDictionaryFile(locale,
|
||||
context, fallbackResId);
|
||||
if (null == dictFile) return null;
|
||||
return new DictionaryCollection(new BinaryDictionary(context,
|
||||
dictFile.mFilename, dictFile.mOffset, dictFile.mLength, null));
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes a dictionary from a raw resource file
|
||||
* @param context application context for reading resources
|
||||
* @param resId the resource containing the raw binary dictionary
|
||||
* @return an initialized instance of BinaryDictionary
|
||||
*/
|
||||
protected static BinaryDictionary createBinaryDictionary(Context context, int resId) {
|
||||
AssetFileDescriptor afd = null;
|
||||
try {
|
||||
// TODO: IMPORTANT: Do not create a dictionary from a placeholder.
|
||||
afd = context.getResources().openRawResourceFd(resId);
|
||||
if (afd == null) {
|
||||
Log.e(TAG, "Found the resource but it is compressed. resId=" + resId);
|
||||
return null;
|
||||
}
|
||||
if (!isFullDictionary(afd)) return null;
|
||||
final String sourceDir = context.getApplicationInfo().sourceDir;
|
||||
final File packagePath = new File(sourceDir);
|
||||
// TODO: Come up with a way to handle a directory.
|
||||
if (!packagePath.isFile()) {
|
||||
Log.e(TAG, "sourceDir is not a file: " + sourceDir);
|
||||
return null;
|
||||
}
|
||||
return new BinaryDictionary(context,
|
||||
sourceDir, afd.getStartOffset(), afd.getLength(), null);
|
||||
} catch (android.content.res.Resources.NotFoundException e) {
|
||||
Log.e(TAG, "Could not find the resource. resId=" + resId);
|
||||
return null;
|
||||
} finally {
|
||||
if (null != afd) {
|
||||
try {
|
||||
afd.close();
|
||||
} catch (java.io.IOException e) {
|
||||
/* IOException on close ? What am I supposed to do ? */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a dictionary from passed data. This is intended for unit tests only.
|
||||
* @param context the test context to create this data from.
|
||||
* @param dictionary the file to read
|
||||
* @param startOffset the offset in the file where the data starts
|
||||
* @param length the length of the data
|
||||
* @param flagArray the flags to use with this data for testing
|
||||
* @return the created dictionary, or null.
|
||||
*/
|
||||
public static Dictionary createDictionaryForTest(Context context, File dictionary,
|
||||
long startOffset, long length, Flag[] flagArray) {
|
||||
if (dictionary.isFile()) {
|
||||
return new BinaryDictionary(context, dictionary.getAbsolutePath(), startOffset, length,
|
||||
flagArray);
|
||||
} else {
|
||||
Log.e(TAG, "Could not find the file. path=" + dictionary.getAbsolutePath());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find out whether a dictionary is available for this locale.
|
||||
* @param context the context on which to check resources.
|
||||
* @param locale the locale to check for.
|
||||
* @return whether a (non-placeholder) dictionary is available or not.
|
||||
*/
|
||||
public static boolean isDictionaryAvailable(Context context, Locale locale) {
|
||||
final Resources res = context.getResources();
|
||||
final Locale saveLocale = Utils.setSystemLocale(res, locale);
|
||||
|
||||
final int resourceId = Utils.getMainDictionaryResourceId(res);
|
||||
final AssetFileDescriptor afd = res.openRawResourceFd(resourceId);
|
||||
final boolean hasDictionary = isFullDictionary(afd);
|
||||
try {
|
||||
if (null != afd) afd.close();
|
||||
} catch (java.io.IOException e) {
|
||||
/* Um, what can we do here exactly? */
|
||||
}
|
||||
|
||||
Utils.setSystemLocale(res, saveLocale);
|
||||
return hasDictionary;
|
||||
}
|
||||
|
||||
// TODO: Find the Right Way to find out whether the resource is a placeholder or not.
|
||||
// Suggestion : strip the locale, open the placeholder file and store its offset.
|
||||
// Upon opening the file, if it's the same offset, then it's the placeholder.
|
||||
private static final long PLACEHOLDER_LENGTH = 34;
|
||||
/**
|
||||
* Finds out whether the data pointed out by an AssetFileDescriptor is a full
|
||||
* dictionary (as opposed to null, or to a place holder).
|
||||
* @param afd the file descriptor to test, or null
|
||||
* @return true if the dictionary is a real full dictionary, false if it's null or a placeholder
|
||||
*/
|
||||
protected static boolean isFullDictionary(final AssetFileDescriptor afd) {
|
||||
return (afd != null && afd.getLength() > PLACEHOLDER_LENGTH);
|
||||
}
|
||||
}
|
|
@ -73,7 +73,7 @@ public class EditingUtils {
|
|||
|
||||
/**
|
||||
* @param connection connection to the current text field.
|
||||
* @param sep characters which may separate words
|
||||
* @param separators characters which may separate words
|
||||
* @return the word that surrounds the cursor, including up to one trailing
|
||||
* separator. For example, if the field contains "he|llo world", where |
|
||||
* represents the cursor, then "hello " will be returned.
|
||||
|
|
|
@ -112,7 +112,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
|
||||
private static final int DELAY_UPDATE_SUGGESTIONS = 180;
|
||||
private static final int DELAY_UPDATE_OLD_SUGGESTIONS = 300;
|
||||
private static final int DELAY_UPDATE_SHIFT_STATE = 300;
|
||||
private static final int DELAY_UPDATE_SHIFT_STATE = 100;
|
||||
private static final int EXTENDED_TOUCHABLE_REGION_HEIGHT = 100;
|
||||
|
||||
// How many continuous deletes at which to start deleting at a higher speed.
|
||||
|
@ -470,14 +470,14 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
final String localeStr = mSubtypeSwitcher.getInputLocaleStr();
|
||||
final Locale keyboardLocale = new Locale(localeStr);
|
||||
|
||||
final Locale savedLocale = mSubtypeSwitcher.changeSystemLocale(keyboardLocale);
|
||||
final Resources res = mResources;
|
||||
final Locale savedLocale = Utils.setSystemLocale(res, keyboardLocale);
|
||||
if (mSuggest != null) {
|
||||
mSuggest.close();
|
||||
}
|
||||
final SharedPreferences prefs = mPrefs;
|
||||
mQuickFixes = isQuickFixesEnabled(prefs);
|
||||
|
||||
final Resources res = mResources;
|
||||
int mainDicResId = Utils.getMainDictionaryResourceId(res);
|
||||
mSuggest = new Suggest(this, mainDicResId, keyboardLocale);
|
||||
loadAndSetAutoCorrectionThreshold(prefs);
|
||||
|
@ -499,7 +499,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
mWordSeparators = res.getString(R.string.word_separators);
|
||||
mSentenceSeparators = res.getString(R.string.sentence_separators);
|
||||
|
||||
mSubtypeSwitcher.changeSystemLocale(savedLocale);
|
||||
Utils.setSystemLocale(res, savedLocale);
|
||||
}
|
||||
|
||||
/* package private */ void resetSuggestMainDict() {
|
||||
|
|
|
@ -475,19 +475,6 @@ public class SubtypeSwitcher {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change system locale for this application
|
||||
* @param newLocale
|
||||
* @return oldLocale
|
||||
*/
|
||||
public Locale changeSystemLocale(Locale newLocale) {
|
||||
Configuration conf = mResources.getConfiguration();
|
||||
Locale oldLocale = conf.locale;
|
||||
conf.locale = newLocale;
|
||||
mResources.updateConfiguration(conf, mResources.getDisplayMetrics());
|
||||
return oldLocale;
|
||||
}
|
||||
|
||||
public boolean isKeyboardMode() {
|
||||
return KEYBOARD_MODE.equals(getCurrentSubtypeMode());
|
||||
}
|
||||
|
@ -608,7 +595,7 @@ public class SubtypeSwitcher {
|
|||
}
|
||||
|
||||
public static String getMiddleDisplayLanguage(Locale locale) {
|
||||
return toTitleCase(locale.getDisplayLanguage(new Locale(locale.getLanguage())));
|
||||
return toTitleCase((new Locale(locale.getLanguage()).getDisplayLanguage(locale)));
|
||||
}
|
||||
|
||||
public static String getShortDisplayLanguage(Locale locale) {
|
||||
|
|
|
@ -56,7 +56,7 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
|
||||
/**
|
||||
* Maximum possible bigram frequency. Will depend on how many bits are being used in data
|
||||
* structure. Maximum bigram freqeuncy will get the BIGRAM_MULTIPLIER_MAX as the multiplier.
|
||||
* structure. Maximum bigram frequency will get the BIGRAM_MULTIPLIER_MAX as the multiplier.
|
||||
*/
|
||||
public static final int MAXIMUM_BIGRAM_FREQUENCY = 127;
|
||||
|
||||
|
@ -75,13 +75,11 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
public static final String DICT_KEY_USER_BIGRAM = "user_bigram";
|
||||
public static final String DICT_KEY_WHITELIST ="whitelist";
|
||||
|
||||
public static final int LARGE_DICTIONARY_THRESHOLD = 200 * 1000;
|
||||
|
||||
private static final boolean DBG = LatinImeLogger.sDBG;
|
||||
|
||||
private AutoCorrection mAutoCorrection;
|
||||
|
||||
private BinaryDictionary mMainDict;
|
||||
private Dictionary mMainDict;
|
||||
private WhitelistDictionary mWhiteListDictionary;
|
||||
private final Map<String, Dictionary> mUnigramDictionaries = new HashMap<String, Dictionary>();
|
||||
private final Map<String, Dictionary> mBigramDictionaries = new HashMap<String, Dictionary>();
|
||||
|
@ -108,17 +106,17 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
private int mCorrectionMode = CORRECTION_BASIC;
|
||||
|
||||
public Suggest(Context context, int dictionaryResId, Locale locale) {
|
||||
init(context, BinaryDictionary.initDictionaryFromManager(context, DIC_MAIN, locale,
|
||||
init(context, DictionaryFactory.createDictionaryFromManager(context, locale,
|
||||
dictionaryResId));
|
||||
}
|
||||
|
||||
/* package for test */ Suggest(Context context, File dictionary, long startOffset, long length,
|
||||
Flag[] flagArray) {
|
||||
init(null, BinaryDictionary.initDictionary(context, dictionary, startOffset, length,
|
||||
DIC_MAIN, flagArray));
|
||||
init(null, DictionaryFactory.createDictionaryForTest(context, dictionary, startOffset,
|
||||
length, flagArray));
|
||||
}
|
||||
|
||||
private void init(Context context, BinaryDictionary mainDict) {
|
||||
private void init(Context context, Dictionary mainDict) {
|
||||
if (mainDict != null) {
|
||||
mMainDict = mainDict;
|
||||
mUnigramDictionaries.put(DICT_KEY_MAIN, mainDict);
|
||||
|
@ -133,8 +131,8 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
}
|
||||
|
||||
public void resetMainDict(Context context, int dictionaryResId, Locale locale) {
|
||||
final BinaryDictionary newMainDict = BinaryDictionary.initDictionaryFromManager(context,
|
||||
DIC_MAIN, locale, dictionaryResId);
|
||||
final Dictionary newMainDict = DictionaryFactory.createDictionaryFromManager(
|
||||
context, locale, dictionaryResId);
|
||||
mMainDict = newMainDict;
|
||||
if (null == newMainDict) {
|
||||
mUnigramDictionaries.remove(DICT_KEY_MAIN);
|
||||
|
@ -165,7 +163,7 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
}
|
||||
|
||||
public boolean hasMainDictionary() {
|
||||
return mMainDict != null && mMainDict.getSize() > LARGE_DICTIONARY_THRESHOLD;
|
||||
return mMainDict != null;
|
||||
}
|
||||
|
||||
public Map<String, Dictionary> getUnigramDictionaries() {
|
||||
|
|
|
@ -23,6 +23,7 @@ import com.android.inputmethod.keyboard.Keyboard;
|
|||
import com.android.inputmethod.keyboard.KeyboardId;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.inputmethodservice.InputMethodService;
|
||||
import android.os.AsyncTask;
|
||||
|
@ -43,11 +44,13 @@ import java.io.IOException;
|
|||
import java.io.PrintWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class Utils {
|
||||
private static final String TAG = Utils.class.getSimpleName();
|
||||
private static final int MINIMUM_SAFETY_NET_CHAR_LENGTH = 4;
|
||||
private static boolean DBG = LatinImeLogger.sDBG;
|
||||
private static boolean DBG_EDIT_DISTANCE = false;
|
||||
|
||||
private Utils() {
|
||||
// Intentional empty constructor for utility class.
|
||||
|
@ -289,7 +292,7 @@ public class Utils {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (LatinImeLogger.sDBG) {
|
||||
if (DBG_EDIT_DISTANCE) {
|
||||
Log.d(TAG, "editDistance:" + s + "," + t);
|
||||
for (int i = 0; i < dp.length; ++i) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
@ -338,6 +341,7 @@ public class Utils {
|
|||
private static final int MAX_INITIAL_SCORE = 255;
|
||||
private static final int TYPED_LETTER_MULTIPLIER = 2;
|
||||
private static final int FULL_WORD_MULTIPLIER = 2;
|
||||
private static final int S_INT_MAX = 2147483647;
|
||||
public static double calcNormalizedScore(CharSequence before, CharSequence after, int score) {
|
||||
final int beforeLength = before.length();
|
||||
final int afterLength = after.length();
|
||||
|
@ -352,7 +356,7 @@ public class Utils {
|
|||
}
|
||||
}
|
||||
if (spaceCount == afterLength) return 0;
|
||||
final double maximumScore = MAX_INITIAL_SCORE
|
||||
final double maximumScore = score == S_INT_MAX ? S_INT_MAX : MAX_INITIAL_SCORE
|
||||
* Math.pow(
|
||||
TYPED_LETTER_MULTIPLIER, Math.min(beforeLength, afterLength - spaceCount))
|
||||
* FULL_WORD_MULTIPLIER;
|
||||
|
@ -648,6 +652,14 @@ public class Utils {
|
|||
|
||||
/** Convert pixel to DIP */
|
||||
public static int dipToPixel(float scale, int dip) {
|
||||
return (int) ((float) dip * scale + 0.5);
|
||||
return (int) (dip * scale + 0.5);
|
||||
}
|
||||
|
||||
public static Locale setSystemLocale(Resources res, Locale newLocale) {
|
||||
final Configuration conf = res.getConfiguration();
|
||||
final Locale saveLocale = conf.locale;
|
||||
conf.locale = newLocale;
|
||||
res.updateConfiguration(conf, res.getDisplayMetrics());
|
||||
return saveLocale;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -300,7 +300,7 @@ bool UnigramDictionary::addWord(unsigned short *word, int length, int frequency)
|
|||
if (DEBUG_DICT) {
|
||||
char s[length + 1];
|
||||
for (int i = 0; i <= length; i++) s[i] = word[i];
|
||||
LOGI("Added word = %s, freq = %d", s, frequency);
|
||||
LOGI("Added word = %s, freq = %d, %d", s, frequency, S_INT_MAX);
|
||||
}
|
||||
memmove((char*) mFrequencies + (insertAt + 1) * sizeof(mFrequencies[0]),
|
||||
(char*) mFrequencies + insertAt * sizeof(mFrequencies[0]),
|
||||
|
@ -409,11 +409,44 @@ void UnigramDictionary::getSuggestionCandidates(const int skipPos,
|
|||
}
|
||||
}
|
||||
|
||||
inline static void multiplyRate(const int rate, int *freq) {
|
||||
if (rate > 1000000) {
|
||||
*freq = (*freq / 100) * rate;
|
||||
static const int TWO_31ST_DIV_255 = S_INT_MAX / 255;
|
||||
static inline int capped255MultForFullMatchAccentsOrCapitalizationDifference(const int num) {
|
||||
return (num < TWO_31ST_DIV_255 ? 255 * num : S_INT_MAX);
|
||||
}
|
||||
|
||||
static const int TWO_31ST_DIV_2 = S_INT_MAX / 2;
|
||||
inline static void multiplyIntCapped(const int multiplier, int *base) {
|
||||
const int temp = *base;
|
||||
if (temp != S_INT_MAX) {
|
||||
// Branch if multiplier == 2 for the optimization
|
||||
if (multiplier == 2) {
|
||||
*base = TWO_31ST_DIV_2 >= temp ? temp << 1 : S_INT_MAX;
|
||||
} else {
|
||||
*freq = *freq * rate / 100;
|
||||
const int tempRetval = temp * multiplier;
|
||||
*base = tempRetval >= temp ? tempRetval : S_INT_MAX;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline static int powerIntCapped(const int base, const int n) {
|
||||
if (base == 2) {
|
||||
return n < 31 ? 1 << n : S_INT_MAX;
|
||||
} else {
|
||||
int ret = base;
|
||||
for (int i = 1; i < n; ++i) multiplyIntCapped(base, &ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
inline static void multiplyRate(const int rate, int *freq) {
|
||||
if (*freq != S_INT_MAX) {
|
||||
if (*freq > 1000000) {
|
||||
*freq /= 100;
|
||||
multiplyIntCapped(rate, freq);
|
||||
} else {
|
||||
multiplyIntCapped(rate, freq);
|
||||
*freq /= 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -449,9 +482,7 @@ inline static int calcFreqForSplitTwoWords(
|
|||
// (firstFreq * (1 - 1 / (firstWordLength + 1)) + secondFreq * (1 - 1 / (secondWordLength + 1)))
|
||||
// * (1 - 1 / totalLength) / (1 - 1 / (totalLength + 1))
|
||||
|
||||
for (int i = 0; i < totalLength; ++i) {
|
||||
totalFreq *= typedLetterMultiplier;
|
||||
}
|
||||
multiplyIntCapped(powerIntCapped(typedLetterMultiplier, totalLength), &totalFreq);
|
||||
|
||||
// This is another workaround to offset the demotion which will be done in
|
||||
// calcNormalizedScore in Utils.java.
|
||||
|
@ -499,7 +530,7 @@ bool UnigramDictionary::getSplitTwoWordsSuggestion(const int inputLength,
|
|||
int pairFreq = calcFreqForSplitTwoWords(
|
||||
TYPED_LETTER_MULTIPLIER, firstWordLength, secondWordLength, firstFreq, secondFreq);
|
||||
if (DEBUG_DICT) {
|
||||
LOGI("Missing space: %d, %d, %d, %d, %d", firstFreq, secondFreq, pairFreq, inputLength,
|
||||
LOGI("Split two words: %d, %d, %d, %d, %d", firstFreq, secondFreq, pairFreq, inputLength,
|
||||
TYPED_LETTER_MULTIPLIER);
|
||||
}
|
||||
addWord(word, newWordLength, pairFreq);
|
||||
|
@ -559,10 +590,6 @@ void UnigramDictionary::getWordsRec(const int childrenCount, const int pos, cons
|
|||
}
|
||||
}
|
||||
|
||||
static const int TWO_31ST_DIV_255 = S_INT_MAX / 255;
|
||||
static inline int capped255MultForFullMatchAccentsOrCapitalizationDifference(const int num) {
|
||||
return (num < TWO_31ST_DIV_255 ? 255 * num : S_INT_MAX);
|
||||
}
|
||||
inline int UnigramDictionary::calculateFinalFreq(const int inputIndex, const int depth,
|
||||
const int matchWeight, const int skipPos, const int excessivePos, const int transposedPos,
|
||||
const int freq, const bool sameLength) const {
|
||||
|
@ -591,7 +618,7 @@ inline int UnigramDictionary::calculateFinalFreq(const int inputIndex, const int
|
|||
}
|
||||
}
|
||||
int lengthFreq = TYPED_LETTER_MULTIPLIER;
|
||||
for (int i = 0; i < depth; ++i) lengthFreq *= TYPED_LETTER_MULTIPLIER;
|
||||
multiplyIntCapped(powerIntCapped(TYPED_LETTER_MULTIPLIER, depth), &lengthFreq);
|
||||
if (lengthFreq == matchWeight) {
|
||||
// Full exact match
|
||||
if (depth > 1) {
|
||||
|
@ -608,13 +635,13 @@ inline int UnigramDictionary::calculateFinalFreq(const int inputIndex, const int
|
|||
if (DEBUG_DICT) {
|
||||
LOGI("Found one proximity correction.");
|
||||
}
|
||||
finalFreq *= 2;
|
||||
multiplyIntCapped(TYPED_LETTER_MULTIPLIER, &finalFreq);
|
||||
multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq);
|
||||
}
|
||||
if (DEBUG_DICT) {
|
||||
LOGI("calc: %d, %d", depth, sameLength);
|
||||
}
|
||||
if (sameLength) finalFreq *= FULL_WORD_MULTIPLIER;
|
||||
if (sameLength) multiplyIntCapped(FULL_WORD_MULTIPLIER, &finalFreq);
|
||||
return finalFreq;
|
||||
}
|
||||
|
||||
|
@ -767,7 +794,7 @@ inline bool UnigramDictionary::processCurrentNode(const int pos, const int depth
|
|||
// If inputIndex is greater than mInputLength, that means there is no
|
||||
// proximity chars. So, we don't need to check proximity.
|
||||
if (SAME_OR_ACCENTED_OR_CAPITALIZED_CHAR == matchedProximityCharId) {
|
||||
matchWeight = matchWeight * TYPED_LETTER_MULTIPLIER;
|
||||
multiplyIntCapped(TYPED_LETTER_MULTIPLIER, &matchWeight);
|
||||
}
|
||||
bool isSameAsUserTypedLength = mInputLength == inputIndex + 1
|
||||
|| (excessivePos == mInputLength - 1 && inputIndex == mInputLength - 2);
|
||||
|
|
Loading…
Reference in a new issue