diff options
Diffstat (limited to 'java')
90 files changed, 522 insertions, 592 deletions
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml index 6cf420300..b57a9e860 100644 --- a/java/res/values-am/strings.xml +++ b/java/res/values-am/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"ፅሁፍ አስተካክል"</string> <string name="misc_category" msgid="6894192814868233453">"ሌሎች አማራጮች"</string> <string name="advanced_settings" msgid="362895144495591463">"የላቁ ቅንብሮች"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"ለብቁ ተጠቃሚዎች አማራጮች"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"የቁልፍ ብቅ ባይ መዘግየትን ያስወገዳል"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"የዘገየ የለም"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ነባሪ"</string> diff --git a/java/res/values-ar/donottranslate-more-keys.xml b/java/res/values-ar/donottranslate-more-keys.xml index bb36af2e4..ecad0bb0d 100644 --- a/java/res/values-ar/donottranslate-more-keys.xml +++ b/java/res/values-ar/donottranslate-more-keys.xml @@ -18,27 +18,25 @@ */ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- U+060C: "،" ARABIC COMMA - U+061B: "؛" ARABIC SEMICOLON - U+061F: "؟" ARABIC QUESTION MARK --> + <!-- U+061F: "؟" ARABIC QUESTION MARK + U+060C: "،" ARABIC COMMA + U+061B: "؛" ARABIC SEMICOLON --> <!-- U+0650: "ِ" ARABIC KASRA U+064E: "َ" ARABIC FATHA - U+064B: "ً" ARABIC FATHATAN - U+0640: "ـ" ARABIC TATWEEL U+064D: "ٍ" ARABIC KASRATAN - U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF + U+064B: "ً" ARABIC FATHATAN U+0656: "ٖ" ARABIC SUBSCRIPT ALEF - U+0654: "ٔ" ARABIC HAMZA ABOVE - U+0655: "ٕ" ARABIC HAMZA BELOW --> - <!-- U+0651: "ّ" ARABIC SHADDA - U+0652: "ْ" ARABIC SUKUN + U+0670: "ٰ" ARABIC LETTER SUPERSCRIPT ALEF + U+0655: "ٕ" ARABIC HAMZA BELOW + U+0654: "ٔ" ARABIC HAMZA ABOVE --> + <!-- U+064F: "ُ" ARABIC DAMMA U+064C: "ٌ" ARABIC DAMMATAN + U+0651: "ّ" ARABIC SHADDA + U+0652: "ْ" ARABIC SUKUN U+0653: "ٓ" ARABIC MADDAH ABOVE - U+064F: "ُ" ARABIC DAMMA --> + U+0640: "ـ" ARABIC TATWEEL --> <!-- In order to make Tatweel easily distinguishable from other punctuations, we use consecutive Tatweels only for its displayed label. --> - <!-- TODO: Will introduce "grouping marks" to the more characters specification. --> - <string name="more_keys_for_punctuation">"،,؛,؟,!,:,-,/,\',\",ـــ|ـ,َ,ِ,ً,ٍ,ٰ,ٖ,ٕ,ٔ,ٓ,ْ,ّ,ٌ,ُ"</string> - <integer name="more_keys_keyboard_column_for_punctuation">9</integer> + <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',-,:,!,؟,،,؛,ِ,َ,ٍ,ً,ٖ,ٰ,ٕ,ٔ,ُ,ٌ,ّ,ْ,ٓ,ـــ|ـ,/"</string> <string name="keyhintlabel_for_punctuation">ً</string> <!-- U+0661: "١" ARABIC-INDIC DIGIT ONE --> <string name="keylabel_for_symbols_1">١</string> @@ -72,16 +70,13 @@ <!-- U+066B: "٫" ARABIC DECIMAL SEPARATOR U+066C: "٬" ARABIC THOUSANDS SEPARATOR --> <string name="additional_more_keys_for_symbols_0">0,٫,٬</string> + <!-- U+060C: "،" ARABIC COMMA --> <string name="keylabel_for_comma">،</string> - <string name="keylabel_for_f1">،</string> + <string name="more_keys_for_comma">"\\,"</string> <string name="keylabel_for_symbols_question">؟</string> <string name="keylabel_for_symbols_semicolon">؛</string> <!-- U+066A: "٪" ARABIC PERCENT SIGN --> <string name="keylabel_for_symbols_percent">٪</string> - <string name="more_keys_for_comma">,</string> - <string name="more_keys_for_f1">,</string> - <string name="more_keys_for_f1_settings">\\,,\@icon/settingsKey|\@integer/key_settings</string> - <string name="more_keys_for_f1_navigate">\\,,\@icon/tabKey|\@integer/key_tab</string> <string name="more_keys_for_symbols_question">\?</string> <string name="more_keys_for_symbols_semicolon">;</string> <!-- U+2030: "‰" PER MILLE SIGN --> @@ -125,8 +120,8 @@ U+FD3F: "﴿" ORNATE RIGHT PARENTHESIS --> <!-- TODO: DroidSansArabic lacks the glyph of U+FD3E ORNATE LEFT PARENTHESIS --> <!-- TODO: DroidSansArabic lacks the glyph of U+FD3F ORNATE RIGHT PARENTHESIS --> - <string name="more_keys_for_left_parenthesis">[|],{|},<|>,﴾|﴿</string> - <string name="more_keys_for_right_parenthesis">]|[,}|{,>|<,﴿|﴾</string> + <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!4,﴾|﴿,<|>,{|},[|]</string> + <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!4,﴿|﴾,>|<,}|{,]|[</string> <!-- U+003E: ">" GREATER-THAN SIGN --> <integer name="keycode_for_less_than">0x003E</integer> <!-- U+003C: "<" LESS-THAN SIGN --> @@ -146,8 +141,8 @@ U+201D: "”" RIGHT DOUBLE QUOTATION MARK U+201E: "„" DOUBLE LOW-9 QUOTATION MARK U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> - <string name="more_keys_for_less_than">≤|≥,«|»,‹|›</string> - <string name="more_keys_for_greater_than">≥|≤,»|«,›|‹</string> + <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹|›,≤|≥,«|»</string> + <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›|‹,≥|≤,»|«</string> <!-- U+005D: "]" RIGHT SQUARE BRACKET --> <integer name="keycode_for_left_square_bracket">0x005D</integer> <!-- U+005B: "[" LEFT SQUARE BRACKET --> @@ -157,11 +152,9 @@ <!-- U+007B: "{" LEFT CURLY BRACKET --> <integer name="keycode_for_right_curly_bracket">0x007B</integer> <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> - <!-- <string name="more_keys_for_double_quote">“,”,„,‟,«,»</string> --> - <!-- The 4-more keys will be displayed in order of "3,1,2,4". --> - <string name="more_keys_for_double_quote">”,«|»,“,»|«</string> + <!-- <string name="more_keys_for_double_quote">“,”,„,‟,«|»,»|«</string> --> + <string name="more_keys_for_double_quote">!fixedColumnOrder!4,“,”,«|»,»|«</string> <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> - <!-- <string name="more_keys_for_tablet_double_quote">“,”,„,‟,«,»,‘,’,‚,‛</string> --> - <!-- The 8-more keys with maxMoreKeysColumn=4 will be displayed in order of "3,1,2,4|7,5,6,8". --> - <string name="more_keys_for_tablet_double_quote">”,«|»,“,»|«,’,‚,‘,‛</string> + <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,“,”,„,‟,«|»,»|«;,‘,’,‚,‛</string> --> + <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,“,”,«|»,»|«,‘,’,‚,‛</string> </resources> diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml index 9f570ab16..e182f1cf6 100644 --- a/java/res/values-ar/strings.xml +++ b/java/res/values-ar/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"تصحيح النص"</string> <string name="misc_category" msgid="6894192814868233453">"خيارات أخرى"</string> <string name="advanced_settings" msgid="362895144495591463">"الإعدادات المتقدمة"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"خيارات للخبراء"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"تأخير إزالة النافذة المنبثقة الأساسية"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"بلا تأخير"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"افتراضي"</string> diff --git a/java/res/values-be/strings.xml b/java/res/values-be/strings.xml index 53507e7a3..415ea3d7f 100644 --- a/java/res/values-be/strings.xml +++ b/java/res/values-be/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Выпраўленне тэксту"</string> <string name="misc_category" msgid="6894192814868233453">"Іншыя параметры"</string> <string name="advanced_settings" msgid="362895144495591463">"Адмысловыя налады"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Функцыi для спецыялістаў"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Затрым. скр. падк. клав."</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Няма затрымкі"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Па змаўчанні"</string> diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml index 6f80a8095..18977e42b 100644 --- a/java/res/values-bg/strings.xml +++ b/java/res/values-bg/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Корекция на текста"</string> <string name="misc_category" msgid="6894192814868233453">"Други опции"</string> <string name="advanced_settings" msgid="362895144495591463">"Разширени настройки"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Опции за експерти"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Отхвърляне на подсказката"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без задържане"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"По подразбиране"</string> diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml index 1faac5348..679ced43a 100644 --- a/java/res/values-cs/strings.xml +++ b/java/res/values-cs/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Oprava textu"</string> <string name="misc_category" msgid="6894192814868233453">"Další možnosti"</string> <string name="advanced_settings" msgid="362895144495591463">"Pokročilá nastavení"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Možnosti pro odborníky"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Prodleva vysk. okna kláv."</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez prodlevy"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Výchozí"</string> diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml index ee2d63c06..d3b3e031b 100644 --- a/java/res/values-el/strings.xml +++ b/java/res/values-el/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Διόρθωση κειμένου"</string> <string name="misc_category" msgid="6894192814868233453">"Άλλες επιλογές"</string> <string name="advanced_settings" msgid="362895144495591463">"Σύνθετες ρυθμίσεις"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Επιλογές για έμπειρους χρήστες"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Χρόνος εξαφ. αναδ. παραθ."</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Χωρίς καθυστέρ."</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Προεπιλογή"</string> @@ -79,10 +78,8 @@ <string name="spoken_no_text_entered" msgid="7479685225597344496">"Δεν υπάρχει κείμενο"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Κωδικός πλήκτρου %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> - <!-- no translation found for spoken_description_shift_shifted (1681877323344195035) --> - <skip /> - <!-- no translation found for spoken_description_caps_lock (3276478269526304432) --> - <skip /> + <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Το Shift είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"</string> + <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Το Caps lock είναι ενεργοποιημένο (πατήστε για απενεργοποίηση)"</string> <string name="spoken_description_delete" msgid="8740376944276199801">"Πλήκτρο Delete"</string> <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Σύμβολα"</string> <string name="spoken_description_to_alpha" msgid="23129338819771807">"Γράμματα:"</string> @@ -94,20 +91,13 @@ <string name="spoken_description_smiley" msgid="2256309826200113918">"Smiley"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Πλήκτρο Return"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Κουκκίδα"</string> - <!-- no translation found for spoken_description_shiftmode_on (5700440798609574589) --> - <skip /> - <!-- no translation found for spoken_description_shiftmode_locked (593175803181701830) --> - <skip /> - <!-- no translation found for spoken_description_shiftmode_off (657219998449174808) --> - <skip /> - <!-- no translation found for spoken_description_mode_symbol (7183343879909747642) --> - <skip /> - <!-- no translation found for spoken_description_mode_alpha (3528307674390156956) --> - <skip /> - <!-- no translation found for spoken_description_mode_phone (6520207943132026264) --> - <skip /> - <!-- no translation found for spoken_description_mode_phone_shift (5499629753962641227) --> - <skip /> + <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Το Shift ενεργοποιημένο"</string> + <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Το Caps lock είναι ενεργοποιημένο"</string> + <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Το Shift είναι απενεργοποιημένο"</string> + <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Λειτουργία συμβόλων"</string> + <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Λειτουργία γραμμάτων"</string> + <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Λειτουργία τηλεφώνου"</string> + <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Λειτουργία συμβόλων τηλεφώνου"</string> <string name="voice_warning_title" msgid="4419354150908395008">"Φωνητική είσοδος"</string> <string name="voice_warning_locale_not_supported" msgid="637923019716442333">"Η φωνητική είσοδος δεν υποστηρίζεται αυτή τη στιγμή για τη γλώσσα σας, ωστόσο λειτουργεί στα Αγγλικά."</string> <string name="voice_warning_may_not_understand" msgid="5596289095878251072">"Οι φωνητικές εντολές χρησιμοποιούν την τεχνολογία αναγνώρισης φωνής της Google. Ισχύει "<a href="http://m.google.com/privacy">"η Πολιτική Απορρήτου για κινητά"</a>"."</string> diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml index 1d01a1f52..ce0040fa4 100644 --- a/java/res/values-es-rUS/strings.xml +++ b/java/res/values-es-rUS/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Corrección de texto"</string> <string name="misc_category" msgid="6894192814868233453">"Otras opciones"</string> <string name="advanced_settings" msgid="362895144495591463">"Configuración avanzada"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opciones para expertos"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Retraso en rechazo de alerta de tecla"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sin demora"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predeterminada"</string> @@ -79,8 +78,8 @@ <string name="spoken_no_text_entered" msgid="7479685225597344496">"No se ingresó texto."</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Clave de código %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Mayús"</string> - <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Se activó el modo Alternancia (toca para inhabilitarlo)."</string> - <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Se activó el bloqueo de mayúsculas (toca para inhabilitarlo)."</string> + <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Se activó el modo Mayúscula (toca para desactivarlo)."</string> + <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Se activó el bloqueo de mayúsculas (toca para desactivarlo)."</string> <string name="spoken_description_delete" msgid="8740376944276199801">"Borrar"</string> <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Símbolos"</string> <string name="spoken_description_to_alpha" msgid="23129338819771807">"Letras"</string> @@ -92,9 +91,9 @@ <string name="spoken_description_smiley" msgid="2256309826200113918">"Carita sonriente"</string> <string name="spoken_description_return" msgid="8178083177238315647">"Volver"</string> <string name="spoken_description_dot" msgid="40711082435231673">"Punto"</string> - <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Se habilitó el modo Alternancia."</string> - <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Se habilitó el bloqueo de mayúsculas."</string> - <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Se inhabilitó el modo Alternancia."</string> + <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Se activó el modo Mayúscula."</string> + <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Se activó el bloqueo de mayúsculas."</string> + <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Se desactivó el modo Mayúscula"</string> <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Modo Símbolos"</string> <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Modo Letras"</string> <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Modo Teléfono"</string> diff --git a/java/res/values-es/donottranslate-more-keys.xml b/java/res/values-es/donottranslate-more-keys.xml index ec8b6e4ed..4833d6970 100644 --- a/java/res/values-es/donottranslate-more-keys.xml +++ b/java/res/values-es/donottranslate-more-keys.xml @@ -67,7 +67,7 @@ U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE U+010D: "č" LATIN SMALL LETTER C WITH CARON --> <string name="more_keys_for_c">ç,ć,č</string> - <!-- U+00BF: "¿" INVERTED QUESTION MARK - U+00A1: "¡" INVERTED EXCLAMATION MARK --> - <string name="more_keys_for_punctuation">"\\,,\?,!,¿,¡,:,-,\',\",),(,/,;,+,&,\@"</string> + <!-- U+00A1: "¡" INVERTED EXCLAMATION MARK + U+00BF: "¿" INVERTED QUESTION MARK --> + <string name="more_keys_for_punctuation">"!fixedColumnOrder!8,\",\',-,¡,!,¿,\\,,\?,\@,&,+,;,:,/,(,)"</string> </resources> diff --git a/java/res/values-et/strings.xml b/java/res/values-et/strings.xml index ce7935c80..08bfb8387 100644 --- a/java/res/values-et/strings.xml +++ b/java/res/values-et/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Teksti parandamine"</string> <string name="misc_category" msgid="6894192814868233453">"Muud valikud"</string> <string name="advanced_settings" msgid="362895144495591463">"Täpsemad seaded"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Valikud ekspertidele"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Hüpiku loobumisviivitus"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Viivituseta"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Vaikeseade"</string> diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml index 954fe9951..61abde7cd 100644 --- a/java/res/values-fa/strings.xml +++ b/java/res/values-fa/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"تصحیح متن"</string> <string name="misc_category" msgid="6894192814868233453">"سایر گزینه ها"</string> <string name="advanced_settings" msgid="362895144495591463">"تنظیمات پیشرفته"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"گزینههایی برای حرفهایها"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"تأخیر در رد کردن کلید نمایشی"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"بدون تأخیر"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"پیش فرض"</string> diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml index 39110dd48..8f2add569 100644 --- a/java/res/values-fi/strings.xml +++ b/java/res/values-fi/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Tekstin korjaus"</string> <string name="misc_category" msgid="6894192814868233453">"Muut vaihtoehdot"</string> <string name="advanced_settings" msgid="362895144495591463">"Lisäasetukset"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Valinnat asiantuntijoille"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Näppäimen hylkäysviive"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Ei viivettä"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Oletus"</string> diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml index fc3e9fdfe..37fce3979 100644 --- a/java/res/values-hi/strings.xml +++ b/java/res/values-hi/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"पाठ सुधार"</string> <string name="misc_category" msgid="6894192814868233453">"अन्य विकल्प"</string> <string name="advanced_settings" msgid="362895144495591463">"उन्नत सेटिंग"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"विशेषज्ञों के लिए विकल्प"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"कुंजी पॉपअप खारिज़ विलंब"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"कोई विलंब नहीं"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"डिफ़ॉल्ट"</string> @@ -92,9 +91,9 @@ <string name="spoken_description_smiley" msgid="2256309826200113918">"मुस्कुराता चेहरा"</string> <string name="spoken_description_return" msgid="8178083177238315647">"रिटर्न"</string> <string name="spoken_description_dot" msgid="40711082435231673">"बिंदु"</string> - <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift सक्षम किया गया है"</string> - <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock सक्षम किया गया है"</string> - <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift अक्षम किया गया है"</string> + <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift सक्षम किया गया"</string> + <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps lock सक्षम किया गया"</string> + <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift अक्षम किया गया"</string> <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"प्रतीक मोड"</string> <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"अक्षर मोड"</string> <string name="spoken_description_mode_phone" msgid="6520207943132026264">"फ़ोन मोड"</string> diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml index b537caf15..0c6e32c5c 100644 --- a/java/res/values-hr/strings.xml +++ b/java/res/values-hr/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Ispravak teksta"</string> <string name="misc_category" msgid="6894192814868233453">"Ostale opcije"</string> <string name="advanced_settings" msgid="362895144495591463">"Napredne postavke"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcije za stručnjake"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Odgoda prikaza tipki"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez odgode"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Zadano"</string> diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml index dc094cb3b..2a313214e 100644 --- a/java/res/values-hu/strings.xml +++ b/java/res/values-hu/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Szövegjavítás"</string> <string name="misc_category" msgid="6894192814868233453">"Egyéb beállítások"</string> <string name="advanced_settings" msgid="362895144495591463">"Speciális beállítások"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Beállítások gyakorlott felhasználóknak"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Gombeltüntetés késése"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Nincs késés"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Alapbeállítás"</string> diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml index 364e360d3..5ebf834c9 100644 --- a/java/res/values-in/strings.xml +++ b/java/res/values-in/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Koreksi teks"</string> <string name="misc_category" msgid="6894192814868233453">"Opsi lain"</string> <string name="advanced_settings" msgid="362895144495591463">"Setelan lanjutan"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opsi untuk ahli"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Tundaan singkir munculan kunci"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Tanpa penundaan"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Bawaan"</string> @@ -97,8 +96,8 @@ <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift dinonaktifkan"</string> <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Mode simbol"</string> <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Mode huruf"</string> - <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode ponsel"</string> - <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode simbol ponsel"</string> + <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Mode telepon"</string> + <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Mode simbol telepon"</string> <string name="voice_warning_title" msgid="4419354150908395008">"Masukan suara"</string> <string name="voice_warning_locale_not_supported" msgid="637923019716442333">"Masukan suara saat ini tidak didukung untuk bahasa Anda, tetapi bekerja dalam Bahasa Inggris."</string> <string name="voice_warning_may_not_understand" msgid="5596289095878251072">"Masukan suara menggunakan pengenalan ucapan Google. "<a href="http://m.google.com/privacy">"Kebijakan Privasi Seluler"</a>" berlaku."</string> diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml index dae8944e0..6fb011923 100644 --- a/java/res/values-it/strings.xml +++ b/java/res/values-it/strings.xml @@ -65,7 +65,7 @@ <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> - <string name="label_previous_key" msgid="1211868118071386787">"Prec."</string> + <string name="label_previous_key" msgid="1211868118071386787">"Indietro"</string> <string name="label_done_key" msgid="2441578748772529288">"Fine"</string> <string name="label_send_key" msgid="2815056534433717444">"Invia"</string> <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string> diff --git a/java/res/values-iw/donottranslate-more-keys.xml b/java/res/values-iw/donottranslate-more-keys.xml index 865aac6fc..c5431b612 100644 --- a/java/res/values-iw/donottranslate-more-keys.xml +++ b/java/res/values-iw/donottranslate-more-keys.xml @@ -29,8 +29,8 @@ <integer name="keycode_for_left_parenthesis">0x0029</integer> <!-- U+0028: "(" LEFT PARENTHESIS --> <integer name="keycode_for_right_parenthesis">0x0028</integer> - <string name="more_keys_for_left_parenthesis">[|],{|},<|></string> - <string name="more_keys_for_right_parenthesis">]|[,}|{,>|<</string> + <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!3,<|>,{|},[|]</string> + <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!3,>|<,}|{,]|[</string> <!-- U+003E: ">" GREATER-THAN SIGN --> <integer name="keycode_for_less_than">0x003E</integer> <!-- U+003C: "<" LESS-THAN SIGN --> @@ -50,8 +50,8 @@ U+201D: "”" RIGHT DOUBLE QUOTATION MARK U+201E: "„" DOUBLE LOW-9 QUOTATION MARK U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> - <string name="more_keys_for_less_than">≤|≥,«|»,‹|›</string> - <string name="more_keys_for_greater_than">≥|≤,»|«,›|‹</string> + <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹|›,≤|≥,«|»</string> + <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›|‹,≥|≤,»|«</string> <!-- U+005D: "]" RIGHT SQUARE BRACKET --> <integer name="keycode_for_left_square_bracket">0x005D</integer> <!-- U+005B: "[" LEFT SQUARE BRACKET --> @@ -60,12 +60,10 @@ <integer name="keycode_for_left_curly_bracket">0x007D</integer> <!-- U+007B: "{" LEFT CURLY BRACKET --> <integer name="keycode_for_right_curly_bracket">0x007B</integer> - <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. --> - <!-- <string name="more_keys_for_double_quote">“,”,„,‟,«,»</string> --> - <!-- The 4-more keys will be displayed in order of "3,1,2,4". --> - <string name="more_keys_for_double_quote">”,«|»,“,»|«</string> - <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. --> - <!-- <string name="more_keys_for_tablet_double_quote">“,”,„,‟,«,»,‘,’,‚,‛</string> --> - <!-- The 8-more keys with maxMoreKeysColumn=4 will be displayed in order of "3,1,2,4|7,5,6,8". --> - <string name="more_keys_for_tablet_double_quote">”,«|»,“,»|«,’,‚,‘,‛</string> + <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> + <!-- <string name="more_keys_for_double_quote">“,”,„,‟,«|»,»|«</string> --> + <string name="more_keys_for_double_quote">!fixedColumnOrder!4,“,”,«|»,»|«</string> + <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> + <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,“,”,„,‟,«|»,»|«;,‘,’,‚,‛</string> --> + <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,“,”,«|»,»|«,‘,’,‚,‛</string> </resources> diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml index baca298ce..bd0e17d0e 100644 --- a/java/res/values-iw/strings.xml +++ b/java/res/values-iw/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"תיקון טקסט"</string> <string name="misc_category" msgid="6894192814868233453">"אפשרויות אחרות"</string> <string name="advanced_settings" msgid="362895144495591463">"הגדרות מתקדמות"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"אפשרויות למומחים"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"עיכוב סגירת חלון קופץ של מקש"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"ללא עיכוב"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ברירת מחדל"</string> diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml index ea4718a71..491d27251 100644 --- a/java/res/values-ja/strings.xml +++ b/java/res/values-ja/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"テキストの修正"</string> <string name="misc_category" msgid="6894192814868233453">"他のオプション"</string> <string name="advanced_settings" msgid="362895144495591463">"詳細設定"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"上級者向けオプション"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"キーのポップアップ時間"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"すぐに消去"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"デフォルト"</string> diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml index 40bb4dfc7..b8fa29dec 100644 --- a/java/res/values-ko/strings.xml +++ b/java/res/values-ko/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"텍스트 수정"</string> <string name="misc_category" msgid="6894192814868233453">"기타 옵션"</string> <string name="advanced_settings" msgid="362895144495591463">"고급 설정"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"전문가용 옵션"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"키 팝업 해제 지연"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"지연 없음"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"기본값"</string> @@ -97,7 +96,7 @@ <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift 사용중지"</string> <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"기호 모드"</string> <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"문자 모드"</string> - <string name="spoken_description_mode_phone" msgid="6520207943132026264">"전화 모드"</string> + <string name="spoken_description_mode_phone" msgid="6520207943132026264">"다이얼 모드"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"전화 기호 모드"</string> <string name="voice_warning_title" msgid="4419354150908395008">"음성 입력"</string> <string name="voice_warning_locale_not_supported" msgid="637923019716442333">"음성 입력은 현재 자국어로 지원되지 않으며 영어로 작동됩니다."</string> diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml index 9ab696780..20080451d 100644 --- a/java/res/values-lt/strings.xml +++ b/java/res/values-lt/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Teksto taisymas"</string> <string name="misc_category" msgid="6894192814868233453">"Kitos parinktys"</string> <string name="advanced_settings" msgid="362895144495591463">"Išplėstiniai nustatymai"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Parinktys ekspertams"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Pagr. išš. l. atsis. d."</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Be delsos"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Numatytasis"</string> diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml index d380b5eeb..b41dd90b0 100644 --- a/java/res/values-lv/strings.xml +++ b/java/res/values-lv/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Teksta korekcija"</string> <string name="misc_category" msgid="6894192814868233453">"Citas opcijas"</string> <string name="advanced_settings" msgid="362895144495591463">"Papildu iestatījumi"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcijas ekspertiem"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Taust. uzn. loga noraid. aizk."</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez aizkaves"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Noklusējums"</string> diff --git a/java/res/values-ms/strings.xml b/java/res/values-ms/strings.xml index de9a2159d..2dfb62721 100644 --- a/java/res/values-ms/strings.xml +++ b/java/res/values-ms/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Pembetulan teks"</string> <string name="misc_category" msgid="6894192814868233453">"Pilihan lain"</string> <string name="advanced_settings" msgid="362895144495591463">"Tetapan terperinci"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Pilihan untuk pakar"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Pop tmbl knci ketpkn lengah"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Tiada lengah"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Lalai"</string> diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml index 19cc23012..47cafdae0 100644 --- a/java/res/values-nb/strings.xml +++ b/java/res/values-nb/strings.xml @@ -79,8 +79,8 @@ <string name="spoken_no_text_entered" msgid="7479685225597344496">"Ingen tekst er skrevet inn"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Tastaturkode %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> - <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift er slått på (trykk for å deaktivere)"</string> - <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock er slått på (trykk for å deaktivere)"</string> + <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Shift er på (trykk for å deaktivere)"</string> + <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Caps Lock er på (trykk for å deaktivere)"</string> <string name="spoken_description_delete" msgid="8740376944276199801">"Slett"</string> <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Symboler"</string> <string name="spoken_description_to_alpha" msgid="23129338819771807">"Bokstaver"</string> diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml index 4e7cd53f5..5e93e0415 100644 --- a/java/res/values-nl/strings.xml +++ b/java/res/values-nl/strings.xml @@ -94,10 +94,10 @@ <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Shift ingeschakeld"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock ingeschakeld"</string> <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Shift uitgeschakeld"</string> - <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolenmodus"</string> - <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Brievenmodus"</string> - <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Telefoonmodus"</string> - <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefoonsymbolenmodus"</string> + <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Symbolen"</string> + <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Alfanumeriek toetsenbord"</string> + <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Toetsenbord telefoon"</string> + <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Telefoonsymbolen"</string> <string name="voice_warning_title" msgid="4419354150908395008">"Spraakinvoer"</string> <string name="voice_warning_locale_not_supported" msgid="637923019716442333">"Spraakinvoer wordt momenteel niet ondersteund in uw taal, maar is wel beschikbaar in het Engels."</string> <string name="voice_warning_may_not_understand" msgid="5596289095878251072">"Spraakinvoer maakt gebruik van de spraakherkenning van Google. Het "<a href="http://m.google.com/privacy">"Privacybeleid van Google Mobile"</a>" is van toepassing."</string> diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml index c0e313243..4fc54d8c0 100644 --- a/java/res/values-pl/strings.xml +++ b/java/res/values-pl/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Poprawianie tekstu"</string> <string name="misc_category" msgid="6894192814868233453">"Inne opcje"</string> <string name="advanced_settings" msgid="362895144495591463">"Ustawienia zaawansowane"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opcje dla ekspertów"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Opóźnienie znikania klawiszy"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez opóźnienia"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Wartość domyślna"</string> @@ -66,7 +65,7 @@ <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> - <string name="label_previous_key" msgid="1211868118071386787">"Poprz"</string> + <string name="label_previous_key" msgid="1211868118071386787">"Wstecz"</string> <string name="label_done_key" msgid="2441578748772529288">"OK"</string> <string name="label_send_key" msgid="2815056534433717444">"Wyślij"</string> <string name="label_to_alpha_key" msgid="4793983863798817523">"ABC"</string> diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml index be6544b7d..a77190f30 100644 --- a/java/res/values-pt-rPT/strings.xml +++ b/java/res/values-pt-rPT/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Correção de texto"</string> <string name="misc_category" msgid="6894192814868233453">"Outras opções"</string> <string name="advanced_settings" msgid="362895144495591463">"Definições avançadas"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opções para especialistas"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Atraso p/ ignorar pop-up"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Sem atraso"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predefinido"</string> diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml index 4ed4956bf..6eae66435 100644 --- a/java/res/values-ro/strings.xml +++ b/java/res/values-ro/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Corectare text"</string> <string name="misc_category" msgid="6894192814868233453">"Alte opţiuni"</string> <string name="advanced_settings" msgid="362895144495591463">"Setări avansate"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Opţiuni pentru experţi"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Înt. înch. pop-up esenţ."</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Fără întârziere"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Prestabilit"</string> @@ -79,8 +78,8 @@ <string name="spoken_no_text_entered" msgid="7479685225597344496">"Nu a fost introdus text"</string> <string name="spoken_description_unknown" msgid="3197434010402179157">"Tasta cu codul %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> - <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Tasta Shift este activată (apăsaţi pentru a dezactiva)"</string> - <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Tasta Caps Lock este activată (apăsaţi pentru a dezactiva)"</string> + <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"Tasta Shift este activată (apăsaţi pentru a o dezactiva)"</string> + <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Tasta Caps Lock este activată (apăsaţi pentru a o dezactiva)"</string> <string name="spoken_description_delete" msgid="8740376944276199801">"Delete"</string> <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Simboluri"</string> <string name="spoken_description_to_alpha" msgid="23129338819771807">"Litere"</string> diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml index 0571073a7..3632062a3 100644 --- a/java/res/values-ru/strings.xml +++ b/java/res/values-ru/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Исправление текста"</string> <string name="misc_category" msgid="6894192814868233453">"Другие варианты"</string> <string name="advanced_settings" msgid="362895144495591463">"Расширенные настройки"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Для опытных пользователей"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Задержка закрытия"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без задержки"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"По умолчанию"</string> @@ -95,8 +94,8 @@ <string name="spoken_description_shiftmode_on" msgid="5700440798609574589">"Верхний регистр включен"</string> <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Caps Lock включен"</string> <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"Верхний регистр отключен"</string> - <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Режим символов"</string> - <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Режим ввода букв"</string> + <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Режим добавления символов"</string> + <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Режим ввода текста"</string> <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Режим набора номера"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Режим телефонных символов"</string> <string name="voice_warning_title" msgid="4419354150908395008">"Голосовой ввод"</string> diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml index 34cf27847..16c30b560 100644 --- a/java/res/values-sk/strings.xml +++ b/java/res/values-sk/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Oprava textu"</string> <string name="misc_category" msgid="6894192814868233453">"Ďalšie možnosti"</string> <string name="advanced_settings" msgid="362895144495591463">"Rozšírené nastavenia"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Možnosti pre odborníkov"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Onesk. zrušenia kľúč. kon. okna"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Bez oneskorenia"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Predvolená"</string> diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml index e29107b2c..586b0e239 100644 --- a/java/res/values-sl/strings.xml +++ b/java/res/values-sl/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Popravljanje besedila"</string> <string name="misc_category" msgid="6894192814868233453">"Druge možnosti"</string> <string name="advanced_settings" msgid="362895144495591463">"Dodatne nastavitve"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Možnosti za strokovnjake"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Trajanje povečanja tipke"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Brez zakasnitve"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Privzeto"</string> diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml index 6e04ebfc8..54b64dcc2 100644 --- a/java/res/values-sr/strings.xml +++ b/java/res/values-sr/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Исправљање текста"</string> <string name="misc_category" msgid="6894192814868233453">"Друге опције"</string> <string name="advanced_settings" msgid="362895144495591463">"Напредна подешавања"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Опције за стручњаке"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Одложи одбац. иск. прозора тастера"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без одлагања"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Подразумевано"</string> diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml index 17cb5abd9..33964d071 100644 --- a/java/res/values-sv/strings.xml +++ b/java/res/values-sv/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Textkorrigering"</string> <string name="misc_category" msgid="6894192814868233453">"Andra alternativ"</string> <string name="advanced_settings" msgid="362895144495591463">"Avancerade inställningar"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Alternativ för experter"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Ta bort popup-fördröjning"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Fördröj inte"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Standard"</string> diff --git a/java/res/values-sw600dp/config.xml b/java/res/values-sw600dp/config.xml index ecc5b7136..689b209c3 100644 --- a/java/res/values-sw600dp/config.xml +++ b/java/res/values-sw600dp/config.xml @@ -19,8 +19,6 @@ --> <resources> - <bool name="config_enable_show_settings_key_option">true</bool> - <bool name="config_default_show_settings_key">false</bool> <bool name="config_enable_show_voice_key_option">false</bool> <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool> diff --git a/java/res/values-sw768dp/config.xml b/java/res/values-sw768dp/config.xml index c1f9179ee..d46e5f134 100644 --- a/java/res/values-sw768dp/config.xml +++ b/java/res/values-sw768dp/config.xml @@ -19,8 +19,6 @@ --> <resources> - <bool name="config_enable_show_settings_key_option">false</bool> - <bool name="config_default_show_settings_key">true</bool> <bool name="config_enable_show_voice_key_option">false</bool> <bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool> diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml index 815273b78..42b8643af 100644 --- a/java/res/values-th/strings.xml +++ b/java/res/values-th/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"การแก้ไขข้อความ"</string> <string name="misc_category" msgid="6894192814868233453">"ตัวเลือกอื่นๆ"</string> <string name="advanced_settings" msgid="362895144495591463">"การตั้งค่าขั้นสูง"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"ตัวเลือกสำหรับผู้เชี่ยวชาญ"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"หน่วงเวลาก่อนปิดป๊อปอัพหลัก"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"ไม่มีการหน่วงเวลา"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"ค่าเริ่มต้น"</string> diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml index f83d8b3e4..8828af96a 100644 --- a/java/res/values-tl/strings.xml +++ b/java/res/values-tl/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Pagwawasto ng teksto"</string> <string name="misc_category" msgid="6894192814868233453">"Iba pang mga pagpipilian"</string> <string name="advanced_settings" msgid="362895144495591463">"Mga advanced na setting"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Mga pagpipilian para sa mga dalubhasa"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Balewala antala key popup"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Walang antala"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Default"</string> diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml index 56424b05a..8e9dafaac 100644 --- a/java/res/values-tr/strings.xml +++ b/java/res/values-tr/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Metin düzeltme"</string> <string name="misc_category" msgid="6894192814868233453">"Diğer seçenekler"</string> <string name="advanced_settings" msgid="362895144495591463">"Gelişmiş ayarlar"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Uzmanlar için seçenekler"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Tuş popup içn kaptm ertlm"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Gecikme yok"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Varsayılan"</string> diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml index 8d4fbe031..e5e2ca46b 100644 --- a/java/res/values-uk/strings.xml +++ b/java/res/values-uk/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Виправлення тексту"</string> <string name="misc_category" msgid="6894192814868233453">"Інші опції"</string> <string name="advanced_settings" msgid="362895144495591463">"Розширені налаштування"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Налаштування для досвідчених користувачів"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Затримка клавіши закриття"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Без затримки"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"За умовчанням"</string> diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml index ab3d1b1b0..cf9f25da1 100644 --- a/java/res/values-vi/strings.xml +++ b/java/res/values-vi/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"Sửa văn bản"</string> <string name="misc_category" msgid="6894192814868233453">"Tùy chọn khác"</string> <string name="advanced_settings" msgid="362895144495591463">"Cài đặt nâng cao"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"Tùy chọn dành cho chuyên gia"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"Loại bỏ hiển thị phím trễ"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"Không có tgian trễ"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"Mặc định"</string> diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml index a3edc5ab2..0d54a2ebb 100644 --- a/java/res/values-zh-rCN/strings.xml +++ b/java/res/values-zh-rCN/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"文本更正"</string> <string name="misc_category" msgid="6894192814868233453">"其他选项"</string> <string name="advanced_settings" msgid="362895144495591463">"高级设置"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"高级选项"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"关闭弹出键时的延迟"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"无延迟"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"默认"</string> diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml index 302aa83fb..24c3de637 100644 --- a/java/res/values-zh-rTW/strings.xml +++ b/java/res/values-zh-rTW/strings.xml @@ -35,8 +35,7 @@ <string name="correction_category" msgid="2236750915056607613">"文字修正"</string> <string name="misc_category" msgid="6894192814868233453">"其他選項"</string> <string name="advanced_settings" msgid="362895144495591463">"進階設定"</string> - <!-- no translation found for advanced_settings_summary (4487980456152830271) --> - <skip /> + <string name="advanced_settings_summary" msgid="4487980456152830271">"專家選項"</string> <string name="key_preview_popup_dismiss_delay" msgid="6213164897443068248">"關閉彈出式鍵盤的延遲時間"</string> <string name="key_preview_popup_dismiss_no_delay" msgid="2096123151571458064">"不延遲"</string> <string name="key_preview_popup_dismiss_default_delay" msgid="2166964333903906734">"預設"</string> diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml index 5129dfd98..6fbb1a941 100644 --- a/java/res/values-zu/strings.xml +++ b/java/res/values-zu/strings.xml @@ -80,7 +80,7 @@ <string name="spoken_description_unknown" msgid="3197434010402179157">"Ikhodi yokhiye %d"</string> <string name="spoken_description_shift" msgid="244197883292549308">"Shift"</string> <string name="spoken_description_shift_shifted" msgid="1681877323344195035">"U-Shift uvuliwe (thepha ukuwuvimbela)"</string> - <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Ofeleba Bavuliwe (thepha ukubavimbela)"</string> + <string name="spoken_description_caps_lock" msgid="3276478269526304432">"Ofeleba bavuliwe (thepha ukubavimbela)"</string> <string name="spoken_description_delete" msgid="8740376944276199801">"Susa"</string> <string name="spoken_description_to_symbol" msgid="5486340107500448969">"Amasimbuli"</string> <string name="spoken_description_to_alpha" msgid="23129338819771807">"Imbhalo"</string> @@ -96,7 +96,7 @@ <string name="spoken_description_shiftmode_locked" msgid="593175803181701830">"Ofeleba bavunyelwe"</string> <string name="spoken_description_shiftmode_off" msgid="657219998449174808">"U-Shift uvimbelwe"</string> <string name="spoken_description_mode_symbol" msgid="7183343879909747642">"Imodi yezimpawu"</string> - <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Imodi yamagama"</string> + <string name="spoken_description_mode_alpha" msgid="3528307674390156956">"Imodi yezinhlamvu"</string> <string name="spoken_description_mode_phone" msgid="6520207943132026264">"Imodi yefoni"</string> <string name="spoken_description_mode_phone_shift" msgid="5499629753962641227">"Imodi yezimpawu zefoni"</string> <string name="voice_warning_title" msgid="4419354150908395008">"Okufakwa ngezwi"</string> diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 2dea8fbb4..f91b0a3db 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -357,14 +357,6 @@ </attr> <attr name="navigateAction" format="boolean" /> <attr name="passwordInput" format="boolean" /> - <attr name="hasSettingsKey" format="boolean" /> - <!-- This should be aligned with KeyboardID.F2KEY_MODE_* --> - <attr name="f2KeyMode" format="enum"> - <enum name="none" value="0" /> - <enum name="settings" value="1" /> - <enum name="shortcutIme" value="2" /> - <enum name="shortcutImeOrSettings" value="3" /> - </attr> <attr name="clobberSettingsKey" format="boolean" /> <attr name="shortcutKeyEnabled" format="boolean" /> <attr name="hasShortcutKey" format="boolean" /> diff --git a/java/res/values/config.xml b/java/res/values/config.xml index cb13ba30b..9e962ee99 100644 --- a/java/res/values/config.xml +++ b/java/res/values/config.xml @@ -20,8 +20,6 @@ <resources> <bool name="config_use_fullscreen_mode">false</bool> - <bool name="config_enable_show_settings_key_option">true</bool> - <bool name="config_default_show_settings_key">false</bool> <bool name="config_enable_show_voice_key_option">true</bool> <bool name="config_enable_show_popup_on_keypress_option">true</bool> <bool name="config_enable_bigram_suggestions_option">true</bool> diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml index c04e6d0dc..f1c2d2bfc 100644 --- a/java/res/values/donottranslate-more-keys.xml +++ b/java/res/values/donottranslate-more-keys.xml @@ -64,9 +64,8 @@ <string name="more_keys_for_currency_euro">¢,£,$,¥,₱</string> <string name="more_keys_for_currency_pound">¢,$,€,¥,₱</string> <string name="more_keys_for_currency_general">¢,$,€,£,¥,₱</string> - <string name="more_keys_for_smiley">":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\|:-\\\\ ,:\'(|:\'( ,:-D|:-D "</string> - <string name="more_keys_for_punctuation">"\\,,\?,!,:,-,\',\",(,),/,;,+,&,\@"</string> - <integer name="more_keys_keyboard_column_for_punctuation">7</integer> + <string name="more_keys_for_smiley">"!fixedColumnOrder!5,=-O|=-O ,:-P|:-P ,;-)|;-) ,:-(|:-( ,:-)|:-) ,:-!|:-! ,:-$|:-$ ,B-)|B-) ,:O|:O ,:-*|:-* ,:-D|:-D ,:\'(|:\'( ,:-\\\\|:-\\\\ ,O:-)|O:-) ,:-[|:-[ "</string> + <string name="more_keys_for_punctuation">"!fixedColumnOrder!7,\",\',-,:,!,\\,,\?,\@,&,+,;,/,(,)"</string> <string name="keyhintlabel_for_punctuation"></string> <string name="keylabel_for_popular_domain">".com"</string> <!-- popular web domains for the locale - most popular, displayed on the keyboard --> @@ -116,15 +115,12 @@ <!-- U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N U+2205: "∅" EMPTY SET --> <string name="more_keys_for_symbols_0">ⁿ,∅</string> + <string name="settings_as_more_key">\@icon/settingsKey|\@integer/key_settings</string> <string name="keylabel_for_comma">,</string> - <string name="keylabel_for_f1">,</string> + <string name="more_keys_for_comma"></string> <string name="keylabel_for_symbols_question">\?</string> <string name="keylabel_for_symbols_semicolon">;</string> <string name="keylabel_for_symbols_percent">%</string> - <string name="more_keys_for_comma"></string> - <string name="more_keys_for_f1"></string> - <string name="more_keys_for_f1_settings">\@icon/settingsKey|\@integer/key_settings</string> - <string name="more_keys_for_f1_navigate">\@icon/tabKey|\@integer/key_tab</string> <!-- U+00BF: "¿" INVERTED QUESTION MARK --> <string name="more_keys_for_symbols_question">¿</string> <string name="more_keys_for_symbols_semicolon"></string> @@ -154,18 +150,18 @@ <integer name="keycode_for_left_parenthesis">0x0028</integer> <!-- U+0029: ")" RIGHT PARENTHESIS --> <integer name="keycode_for_right_parenthesis">0x0029</integer> - <string name="more_keys_for_left_parenthesis">[,{,<</string> - <string name="more_keys_for_right_parenthesis">],},></string> + <string name="more_keys_for_left_parenthesis">!fixedColumnOrder!3,<,{,[</string> + <string name="more_keys_for_right_parenthesis">!fixedColumnOrder!3,>,},]</string> <!-- U+003C: "<" LESS-THAN SIGN --> <integer name="keycode_for_less_than">0x003C</integer> <!-- U+003E: ">" GREATER-THAN SIGN --> <integer name="keycode_for_greater_than">0x003E</integer> - <!-- U+2264: "≤" LESS-THAN OR EQUAL TO + <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK + U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + U+2264: "≤" LESS-THAN OR EQUAL TO U+2265: "≥" GREATER-THAN EQUAL TO U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK - U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK The following characters don't need BIDI mirroring. U+2018: "‘" LEFT SINGLE QUOTATION MARK U+2019: "’" RIGHT SINGLE QUOTATION MARK @@ -175,8 +171,8 @@ U+201D: "”" RIGHT DOUBLE QUOTATION MARK U+201E: "„" DOUBLE LOW-9 QUOTATION MARK U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> - <string name="more_keys_for_less_than">≤,«,‹</string> - <string name="more_keys_for_greater_than">≥,»,›</string> + <string name="more_keys_for_less_than">!fixedColumnOrder!3,‹,≤,«</string> + <string name="more_keys_for_greater_than">!fixedColumnOrder!3,›,≥,»</string> <!-- U+005B: "[" LEFT SQUARE BRACKET --> <integer name="keycode_for_left_square_bracket">0x005B</integer> <!-- U+005D: "]" RIGHT SQUARE BRACKET --> @@ -185,14 +181,11 @@ <integer name="keycode_for_left_curly_bracket">0x007B</integer> <!-- U+007D: "}" RIGHT CURLY BRACKET --> <integer name="keycode_for_right_curly_bracket">0x007D</integer> - <!-- The 4-more keys will be displayed in order of "3,1,2,4". --> - <string name="more_keys_for_single_quote">’,‚,‘,‛</string> + <string name="more_keys_for_single_quote">!fixedColumnOrder!4,‘,’,‚,‛</string> <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. --> - <!-- <string name="more_keys_for_double_quote">“,”,„,‟,«,»</string> --> - <!-- The 4-more keys will be displayed in order of "3,1,2,4". --> - <string name="more_keys_for_double_quote">”,«,“,»</string> + <!-- <string name="more_keys_for_double_quote">!fixedColumnOrder!6,“,”,„,‟,«,»</string> --> + <string name="more_keys_for_double_quote">!fixedColumnOrder!4,“,”,«,»</string> <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. --> - <!-- <string name="more_keys_for_tablet_double_quote">“,”,„,‟,«,»,‘,’,‚,‛</string> --> - <!-- The 8-more keys with maxMoreKeysColumn=4 will be displayed in order of "3,1,2,4|7,5,6,8". --> - <string name="more_keys_for_tablet_double_quote">”,«,“,»,’,‚,‘,‛</string> + <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,“,”,„,‟,«,»,‘,’,‚,‛</string> --> + <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!4,“,”,«,»,‘,’,‚,‛</string> </resources> diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index c8b642112..516c60731 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -95,9 +95,6 @@ <string name="prefs_suggestion_visibility_show_only_portrait_name">Show on portrait mode</string> <string name="prefs_suggestion_visibility_hide_name">Always hide</string> - <!-- Option to show/hide the settings key --> - <string name="prefs_settings_key">Show settings key</string> - <!-- Option to decide the auto correction threshold score --> <!-- Option to enable auto correction [CHAR LIMIT=20]--> <string name="auto_correction">Auto correction</string> diff --git a/java/res/xml-sw600dp/key_f2.xml b/java/res/xml-sw600dp/key_f2.xml deleted file mode 100644 index b25afc12f..000000000 --- a/java/res/xml-sw600dp/key_f2.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** -** Copyright 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. -*/ ---> - -<merge - xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" -> - <switch> - <case - latin:f2KeyMode="settings" - > - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="fillBoth" /> - </case> - <case - latin:f2KeyMode="shortcutIme" - > - <switch> - <case - latin:shortcutKeyEnabled="true" - > - <Key - latin:keyStyle="shortcutKeyStyle" - latin:keyWidth="fillBoth" /> - </case> - <!-- shortcutKeyEnabled="false" --> - <default> - <Spacer /> - </default> - </switch> - </case> - <case - latin:f2KeyMode="shortcutImeOrSettings" - > - <switch> - <case - latin:shortcutKeyEnabled="true" - > - <Key - latin:keyStyle="shortcutKeyStyle" - latin:keyWidth="fillBoth" /> - </case> - <!-- shortcutKeyEnabled="false" --> - <default> - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="fillBoth" /> - </default> - </switch> - </case> - <!-- f2KeyMode="none" --> - <default> - <Spacer /> - </default> - </switch> -</merge> diff --git a/java/res/xml-sw600dp/key_shortcut.xml b/java/res/xml-sw600dp/key_shortcut.xml new file mode 100644 index 000000000..8869ab930 --- /dev/null +++ b/java/res/xml-sw600dp/key_shortcut.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2012, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <switch> + <case + latin:shortcutKeyEnabled="true" + latin:clobberSettingsKey="false" + > + <Key + latin:keyStyle="shortcutKeyStyle" + latin:keyLabelFlags="hasPopupHint" + latin:moreKeys="@string/settings_as_more_key" + latin:keyWidth="fillBoth" /> + </case> + <case + latin:shortcutKeyEnabled="true" + latin:clobberSettingsKey="true" + > + <Key + latin:keyStyle="shortcutKeyStyle" + latin:keyWidth="fillBoth" /> + </case> + <case + latin:shortcutKeyEnabled="false" + latin:clobberSettingsKey="false" + > + <Key + latin:keyStyle="settingsKeyStyle" + latin:keyWidth="fillBoth" /> + </case> + <!-- shortcutKeyEnabled="false" clobberSettingsKey="true" --> + <default> + <Spacer /> + </default> + </switch> +</merge> diff --git a/java/res/xml-sw600dp/key_styles_common.xml b/java/res/xml-sw600dp/key_styles_common.xml index e524aa381..bb75b1c82 100644 --- a/java/res/xml-sw600dp/key_styles_common.xml +++ b/java/res/xml-sw600dp/key_styles_common.xml @@ -21,23 +21,6 @@ <merge xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" > - <!-- Base key style for the key which may have settings key as popup key --> - <switch> - <case - latin:clobberSettingsKey="true" - > - <key-style - latin:styleName="f2PopupStyle" - latin:backgroundType="functional" /> - </case> - <default> - <key-style - latin:styleName="f2PopupStyle" - latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="\@icon/settingsKey|\@integer/key_settings" - latin:backgroundType="functional" /> - </default> - </switch> <switch> <case latin:keyboardSetElement="alphabetManualShifted|alphabetShiftLockShifted" @@ -104,8 +87,7 @@ latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="@string/more_keys_for_smiley" - latin:maxMoreKeysColumn="5" /> + latin:moreKeys="@string/more_keys_for_smiley" /> <key-style latin:styleName="shortcutKeyStyle" latin:code="@integer/key_shortcut" @@ -113,7 +95,7 @@ latin:keyIconDisabled="iconDisabledShortcutKey" latin:keyLabelFlags="preserveCase" latin:keyActionFlags="noKeyPreview|altCodeWhileTyping" - latin:parentStyle="f2PopupStyle" /> + latin:backgroundType="functional" /> <key-style latin:styleName="settingsKeyStyle" latin:code="@integer/key_settings" diff --git a/java/res/xml-sw600dp/row_qwerty4.xml b/java/res/xml-sw600dp/row_qwerty4.xml index b06508e37..3c2f06d02 100644 --- a/java/res/xml-sw600dp/row_qwerty4.xml +++ b/java/res/xml-sw600dp/row_qwerty4.xml @@ -71,6 +71,6 @@ latin:keyXPos="-10.00%p" latin:keyWidth="0%p" /> <include - latin:keyboardLayout="@xml/key_f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_number_normal.xml b/java/res/xml-sw600dp/rows_number_normal.xml index 3141bbdc7..1c38a6265 100644 --- a/java/res/xml-sw600dp/rows_number_normal.xml +++ b/java/res/xml-sw600dp/rows_number_normal.xml @@ -133,6 +133,6 @@ latin:keyXPos="-11.00%p" latin:keyWidth="0%p" /> <include - latin:keyboardLayout="@xml/key_f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_number_password.xml b/java/res/xml-sw600dp/rows_number_password.xml index 0a71f74d7..59279fb3b 100644 --- a/java/res/xml-sw600dp/rows_number_password.xml +++ b/java/res/xml-sw600dp/rows_number_password.xml @@ -76,6 +76,6 @@ latin:keyXPos="-11.00%p" latin:keyWidth="0%p" /> <include - latin:keyboardLayout="@xml/key_f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_phone.xml b/java/res/xml-sw600dp/rows_phone.xml index d61b4b2ad..4c896e962 100644 --- a/java/res/xml-sw600dp/rows_phone.xml +++ b/java/res/xml-sw600dp/rows_phone.xml @@ -127,6 +127,6 @@ latin:keyXPos="-11.00%p" latin:keyWidth="0%p" /> <include - latin:keyboardLayout="@xml/key_f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml index 448e3bb85..96695e837 100644 --- a/java/res/xml-sw600dp/rows_symbols.xml +++ b/java/res/xml-sw600dp/rows_symbols.xml @@ -160,14 +160,13 @@ latin:keyWidth="39.750%p" /> <Key latin:keyLabel=""" - latin:moreKeys="@string/more_keys_for_tablet_double_quote" - latin:maxMoreKeysColumn="4" /> + latin:moreKeys="@string/more_keys_for_tablet_double_quote" /> <Key latin:keyLabel="_" /> <Spacer latin:keyXPos="-10.00%p" latin:keyWidth="0%p" /> <include - latin:keyboardLayout="@xml/key_f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw600dp/rows_symbols_shift.xml b/java/res/xml-sw600dp/rows_symbols_shift.xml index 05824b936..c5eee6251 100644 --- a/java/res/xml-sw600dp/rows_symbols_shift.xml +++ b/java/res/xml-sw600dp/rows_symbols_shift.xml @@ -148,6 +148,6 @@ latin:keyXPos="-10.00%p" latin:keyWidth="0%p" /> <include - latin:keyboardLayout="@xml/key_f2" /> + latin:keyboardLayout="@xml/key_shortcut" /> </Row> </merge> diff --git a/java/res/xml-sw768dp/key_settings.xml b/java/res/xml-sw768dp/key_settings.xml new file mode 100644 index 000000000..0359a99c5 --- /dev/null +++ b/java/res/xml-sw768dp/key_settings.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** +** Copyright 2012, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<merge + xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" +> + <switch> + <case + latin:clobberSettingsKey="false" + > + <Key + latin:keyStyle="settingsKeyStyle" /> + </case> + <default> + <Spacer /> + </default> + </switch> + </merge> diff --git a/java/res/xml-sw768dp/key_styles_common.xml b/java/res/xml-sw768dp/key_styles_common.xml index 07bdd7b18..9da0d1f1a 100644 --- a/java/res/xml-sw768dp/key_styles_common.xml +++ b/java/res/xml-sw768dp/key_styles_common.xml @@ -86,8 +86,7 @@ latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelFlags="hasPopupHint|preserveCase" - latin:moreKeys="@string/more_keys_for_smiley" - latin:maxMoreKeysColumn="5" /> + latin:moreKeys="@string/more_keys_for_smiley" /> <key-style latin:styleName="shortcutKeyStyle" latin:code="@integer/key_shortcut" diff --git a/java/res/xml-sw768dp/row_qwerty4.xml b/java/res/xml-sw768dp/row_qwerty4.xml index 84c4a37f0..24c081eb7 100644 --- a/java/res/xml-sw768dp/row_qwerty4.xml +++ b/java/res/xml-sw768dp/row_qwerty4.xml @@ -24,15 +24,8 @@ <Row latin:keyWidth="8.047%p" > - <switch> - <case - latin:hasSettingsKey="true" - > - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.047%p" /> - </case> - </switch> + <include + latin:keyboardLayout="@xml/key_settings" /> <Spacer latin:keyXPos="15.157%p" latin:keyWidth="0%p" /> diff --git a/java/res/xml-sw768dp/rows_number_normal.xml b/java/res/xml-sw768dp/rows_number_normal.xml index cf947abd2..60674cd17 100644 --- a/java/res/xml-sw768dp/rows_number_normal.xml +++ b/java/res/xml-sw768dp/rows_number_normal.xml @@ -115,18 +115,9 @@ latin:keyWidth="0%p" /> </Row> <Row> - <switch> - <case latin:hasSettingsKey="true"> - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.047%p" /> - </case> - <default> - <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> - <Spacer - latin:keyWidth="8.047%p" /> - </default> - </switch> + <include + latin:keyboardLayout="@xml/key_settings" + latin:keyWidth="8.047%p" /> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" latin:keyXPos="13.829%p" diff --git a/java/res/xml-sw768dp/rows_phone.xml b/java/res/xml-sw768dp/rows_phone.xml index 0404bb1fb..69c9e86ff 100644 --- a/java/res/xml-sw768dp/rows_phone.xml +++ b/java/res/xml-sw768dp/rows_phone.xml @@ -110,18 +110,9 @@ latin:keyWidth="0%p" /> </Row> <Row> - <switch> - <case latin:hasSettingsKey="true"> - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.047%p" /> - </case> - <default> - <!-- Note: This Spacer prevents the below key from being marked as a left edge key. --> - <Spacer - latin:keyWidth="8.047%p" /> - </default> - </switch> + <include + latin:keyboardLayout="@xml/key_settings" + latin:keyWidth="8.047%p" /> <Key latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" latin:keyXPos="13.829%p" diff --git a/java/res/xml-sw768dp/rows_symbols.xml b/java/res/xml-sw768dp/rows_symbols.xml index d82f20b5d..96a86ec7c 100644 --- a/java/res/xml-sw768dp/rows_symbols.xml +++ b/java/res/xml-sw768dp/rows_symbols.xml @@ -155,15 +155,8 @@ <Row latin:keyWidth="8.047%p" > - <switch> - <case - latin:hasSettingsKey="true" - > - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.047%p" /> - </case> - </switch> + <include + latin:keyboardLayout="@xml/key_settings" /> <Key latin:keyLabel="/" latin:keyXPos="15.157%p" /> @@ -175,8 +168,7 @@ latin:keyWidth="37.500%p" /> <Key latin:keyLabel=""" - latin:moreKeys="@string/more_keys_for_tablet_double_quote" - latin:maxMoreKeysColumn="4" /> + latin:moreKeys="@string/more_keys_for_tablet_double_quote" /> <Key latin:keyLabel="_" /> <switch> diff --git a/java/res/xml-sw768dp/rows_symbols_shift.xml b/java/res/xml-sw768dp/rows_symbols_shift.xml index 4c80771aa..8c1bef434 100644 --- a/java/res/xml-sw768dp/rows_symbols_shift.xml +++ b/java/res/xml-sw768dp/rows_symbols_shift.xml @@ -145,13 +145,8 @@ <Row latin:keyWidth="8.047%p" > - <switch> - <case latin:hasSettingsKey="true"> - <Key - latin:keyStyle="settingsKeyStyle" - latin:keyWidth="8.047%p" /> - </case> - </switch> + <include + latin:keyboardLayout="@xml/key_settings" /> <Key latin:keyStyle="spaceKeyStyle" latin:keyXPos="31.250%p" diff --git a/java/res/xml/key_f1.xml b/java/res/xml/key_f1.xml index 83b6ecc8d..6068d258a 100644 --- a/java/res/xml/key_f1.xml +++ b/java/res/xml/key_f1.xml @@ -23,7 +23,6 @@ > <switch> <case - latin:hasSettingsKey="false" latin:navigateAction="false" > <switch> @@ -51,11 +50,14 @@ <default> <Key latin:keyLabel="@string/keylabel_for_comma" + latin:keyLabelFlags="hasPopupHint" + latin:additionalMoreKeys="@string/more_keys_for_comma" latin:keyStyle="f1PopupStyle" /> </default> </switch> </case> - <!-- hasSettingsKey="true" or navigateAction="true" --> + <!-- TODO: Remove dedicated navigation tab key. --> + <!-- navigateAction="true" --> <default> <switch> <case @@ -85,9 +87,10 @@ <default> <Key latin:keyLabel="@string/keylabel_for_comma" - latin:keyWidth="9.2%p" - latin:keyStyle="f1PopupStyle" /> - </default> + latin:additionalMoreKeys="@string/more_keys_for_comma" + latin:keyStyle="f1PopupStyle" + latin:keyWidth="9.2%p" /> + </default> </switch> </default> </switch> diff --git a/java/res/xml/key_settings_or_tab.xml b/java/res/xml/key_navigation_tab.xml index 2d35e3b4a..c77189fda 100644 --- a/java/res/xml/key_settings_or_tab.xml +++ b/java/res/xml/key_navigation_tab.xml @@ -23,17 +23,6 @@ > <switch> <case - latin:hasSettingsKey="true" - > - <!-- Because this settings key is not adjacent to the space key, this key should be - just ignored while typing (altCode=CODE_UNSPECIFIED). --> - <Key - latin:keyStyle="settingsKeyStyle" - latin:altCode="@integer/key_unspecified" - latin:keyWidth="9.2%p" /> - </case> - <!-- hasSettingsKey="false" --> - <case latin:navigateAction="true" > <Key diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml index 0e31bcb31..eabbdb399 100644 --- a/java/res/xml/key_styles_common.xml +++ b/java/res/xml/key_styles_common.xml @@ -28,36 +28,14 @@ > <key-style latin:styleName="f1PopupStyle" - latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="@string/more_keys_for_f1" - latin:backgroundType="functional" /> - </case> - <!-- clobberSettingsKey="false --> - <case - latin:hasSettingsKey="false" - > - <key-style - latin:styleName="f1PopupStyle" - latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="@string/more_keys_for_f1_settings" - latin:backgroundType="functional" /> - </case> - <!-- clobberSettingsKey="false" hasSettingsKey="true" --> - <case - latin:navigateAction="true" - > - <key-style - latin:styleName="f1PopupStyle" - latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="@string/more_keys_for_f1_navigate" latin:backgroundType="functional" /> </case> - <!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" --> + <!-- clobberSettingsKey="false" --> <default> <key-style latin:styleName="f1PopupStyle" latin:keyLabelFlags="hasPopupHint" - latin:moreKeys="@string/more_keys_for_f1" + latin:moreKeys="@string/settings_as_more_key" latin:backgroundType="functional" /> </default> </switch> @@ -188,6 +166,5 @@ latin:keyHintLabel="@string/keyhintlabel_for_punctuation" latin:keyLabelFlags="hasPopupHint|preserveCase" latin:moreKeys="@string/more_keys_for_punctuation" - latin:maxMoreKeysColumn="@integer/more_keys_keyboard_column_for_punctuation" latin:backgroundType="functional" /> </merge> diff --git a/java/res/xml/key_styles_enter_phone.xml b/java/res/xml/key_styles_enter_phone.xml index 6af81fb7b..af34cb858 100644 --- a/java/res/xml/key_styles_enter_phone.xml +++ b/java/res/xml/key_styles_enter_phone.xml @@ -55,7 +55,6 @@ latin:keyOutputText=":-) " latin:keyLabelFlags="hasPopupHint" latin:moreKeys="@string/more_keys_for_smiley" - latin:maxMoreKeysColumn="5" latin:backgroundType="functional" /> </case> <case diff --git a/java/res/xml/key_symbols_f1.xml b/java/res/xml/key_symbols_f1.xml index 0dd3d9109..ac4031fcc 100644 --- a/java/res/xml/key_symbols_f1.xml +++ b/java/res/xml/key_symbols_f1.xml @@ -23,7 +23,6 @@ > <switch> <case - latin:hasSettingsKey="false" latin:navigateAction="false" > <switch> @@ -36,12 +35,14 @@ <!-- latin:hasShortcutKey="false" --> <default> <Key - latin:keyLabel="@string/keylabel_for_f1" + latin:keyLabel="@string/keylabel_for_comma" + latin:keyLabelFlags="hasPopupHint" + latin:additionalMoreKeys="@string/more_keys_for_comma" latin:keyStyle="f1PopupStyle" /> </default> </switch> </case> - <!-- hasSettingsKey="true" or navigateAction="true" --> + <!-- navigateAction="true" --> <default> <switch> <case @@ -54,10 +55,12 @@ <!-- latin:hasShortcutKey="false" --> <default> <Key - latin:keyLabel="@string/keylabel_for_f1" - latin:keyWidth="9.2%p" - latin:keyStyle="f1PopupStyle" /> - </default> + latin:keyLabel="@string/keylabel_for_comma" + latin:keyLabelFlags="hasPopupHint" + latin:additionalMoreKeys="@string/more_keys_for_comma" + latin:keyStyle="f1PopupStyle" + latin:keyWidth="9.2%p" /> + </default> </switch> </default> </switch> diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml index 77f46502e..f826ef006 100644 --- a/java/res/xml/prefs.xml +++ b/java/res/xml/prefs.xml @@ -44,11 +44,6 @@ android:title="@string/popup_on_keypress" android:persistent="true" android:defaultValue="@bool/config_default_popup_preview" /> - <CheckBoxPreference - android:key="show_settings_key" - android:title="@string/prefs_settings_key" - android:persistent="true" - android:defaultValue="@bool/config_default_show_settings_key" /> <ListPreference android:key="voice_mode" android:title="@string/voice_input" diff --git a/java/res/xml/row_qwerty4.xml b/java/res/xml/row_qwerty4.xml index 8c20a72dc..2f8b82c3a 100644 --- a/java/res/xml/row_qwerty4.xml +++ b/java/res/xml/row_qwerty4.xml @@ -26,7 +26,6 @@ > <switch> <case - latin:hasSettingsKey="false" latin:navigateAction="false" > <Key @@ -43,13 +42,14 @@ latin:keyStyle="enterKeyStyle" latin:keyWidth="fillRight" /> </case> - <!-- hasSettingsKey="true" or navigateAction="true" --> + <!-- TODO: Remove dedicated navigation tab key. --> + <!-- navigateAction="true" --> <default> <Key latin:keyStyle="toSymbolKeyStyle" latin:keyWidth="13.75%p" /> <include - latin:keyboardLayout="@xml/key_settings_or_tab" /> + latin:keyboardLayout="@xml/key_navigation_tab" /> <include latin:keyboardLayout="@xml/key_f1" /> <Key diff --git a/java/res/xml/row_symbols4.xml b/java/res/xml/row_symbols4.xml index be0c94ffa..ef77bc3cd 100644 --- a/java/res/xml/row_symbols4.xml +++ b/java/res/xml/row_symbols4.xml @@ -26,7 +26,6 @@ > <switch> <case - latin:hasSettingsKey="false" latin:navigateAction="false" > <Key @@ -43,13 +42,14 @@ latin:keyStyle="enterKeyStyle" latin:keyWidth="fillRight" /> </case> - <!-- hasSettingsKey="true" or navigateAction="true" --> + <!-- TODO: Remove dedicated navigation tab key. --> + <!-- navigateAction="true" --> <default> <Key latin:keyStyle="toAlphaKeyStyle" latin:keyWidth="13.75%p" /> <include - latin:keyboardLayout="@xml/key_settings_or_tab" /> + latin:keyboardLayout="@xml/key_navigation_tab" /> <include latin:keyboardLayout="@xml/key_f1" /> <Key diff --git a/java/res/xml/row_symbols_shift4.xml b/java/res/xml/row_symbols_shift4.xml index 5cb6512f0..632aafc74 100644 --- a/java/res/xml/row_symbols_shift4.xml +++ b/java/res/xml/row_symbols_shift4.xml @@ -26,7 +26,6 @@ > <switch> <case - latin:hasSettingsKey="false" latin:navigateAction="false" > <Key @@ -51,13 +50,14 @@ latin:keyStyle="enterKeyStyle" latin:keyWidth="fillRight" /> </case> - <!-- hasSettingsKey="true" or navigateAction="true" --> + <!-- TODO: Remove dedicated navigation tab key. --> + <!-- navigateAction="true" --> <default> <Key latin:keyStyle="toAlphaKeyStyle" latin:keyWidth="13.75%p" /> <include - latin:keyboardLayout="@xml/key_settings_or_tab" /> + latin:keyboardLayout="@xml/key_navigation_tab" /> <!-- U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK --> <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. --> <!-- latin:keyLabelFlags="hasPopupHint" --> diff --git a/java/res/xml/rows_azerty.xml b/java/res/xml/rows_azerty.xml index 6f607cbe1..bd3ff6f4b 100644 --- a/java/res/xml/rows_azerty.xml +++ b/java/res/xml/rows_azerty.xml @@ -130,13 +130,9 @@ <Key latin:keyLabel="n" latin:moreKeys="@string/more_keys_for_n" /> - <!-- TODO: Introduce a flag, such as strinctMoreKeysOrder, to control moreKeys display - order more precisely. --> - <!-- This key is close enough to right edge, so that the 4-more keys will be displayed in - order of "4,3,1,2". See @string/more_keys_for_single_quote --> <Key latin:keyLabel="\'" - latin:moreKeys="‘,’,‛,‚" /> + latin:moreKeys="@string/more_keys_for_single_quote" /> <Key latin:keyStyle="deleteKeyStyle" latin:keyWidth="fillRight" diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml index 05699e0e1..27f75b564 100644 --- a/java/res/xml/rows_symbols.xml +++ b/java/res/xml/rows_symbols.xml @@ -109,8 +109,7 @@ latin:moreKeys="¡" /> <Key latin:keyLabel=""" - latin:moreKeys="@string/more_keys_for_double_quote" - latin:maxMoreKeysColumn="4" /> + latin:moreKeys="@string/more_keys_for_double_quote" /> <Key latin:keyLabel="\'" latin:moreKeys="@string/more_keys_for_single_quote" /> diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index cf3a437cf..f839376c0 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -105,6 +105,9 @@ public class Key { public final String[] mMoreKeys; /** More keys maximum column number */ public final int mMaxMoreKeysColumn; + public static final int MORE_KEYS_FIXED_COLUMN_ORDER = 0x80000000; + private static final String AUTO_COLUMN_ORDER = "!autoColumnOrder!"; + private static final String FIXED_COLUMN_ORDER = "!fixedColumnOrder!"; /** Background type that represents different key background visual than normal one. */ public final int mBackgroundType; @@ -232,10 +235,19 @@ public class Key { mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags); final boolean preserveCase = (mLabelFlags & LABEL_FLAGS_PRESERVE_CASE) != 0; int actionFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyActionFlags); + String[] moreKeys = style.getStringArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); + int column; + if ((column = parseMoreKeysColumnOrder(moreKeys, AUTO_COLUMN_ORDER)) > 0) { + mMaxMoreKeysColumn = column; + } else if ((column = parseMoreKeysColumnOrder(moreKeys, FIXED_COLUMN_ORDER)) > 0) { + mMaxMoreKeysColumn = column | MORE_KEYS_FIXED_COLUMN_ORDER; + } else { + mMaxMoreKeysColumn = style.getInt(keyAttr, + R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMoreKeysKeyboardColumn); + } final String[] additionalMoreKeys = style.getStringArray( keyAttr, R.styleable.Keyboard_Key_additionalMoreKeys); - final String[] moreKeys = KeySpecParser.insertAddtionalMoreKeys(style.getStringArray( - keyAttr, R.styleable.Keyboard_Key_moreKeys), additionalMoreKeys); + moreKeys = KeySpecParser.insertAddtionalMoreKeys(moreKeys, additionalMoreKeys); if (moreKeys != null) { actionFlags |= ACTION_FLAGS_ENABLE_LONG_PRESS; for (int i = 0; i < moreKeys.length; i++) { @@ -245,8 +257,6 @@ public class Key { } mActionFlags = actionFlags; mMoreKeys = moreKeys; - mMaxMoreKeysColumn = style.getInt(keyAttr, - R.styleable.Keyboard_Key_maxMoreKeysColumn, params.mMaxMoreKeysKeyboardColumn); if ((mLabelFlags & LABEL_FLAGS_FROM_CUSTOM_ACTION_LABEL) != 0) { mLabel = params.mId.mCustomActionLabel; @@ -301,6 +311,21 @@ public class Key { } } + private static int parseMoreKeysColumnOrder(String[] moreKeys, String key) { + if (moreKeys == null || moreKeys.length == 0 || moreKeys[0] == null + || !moreKeys[0].startsWith(key)) { + return -1; + } + try { + final int column = Integer.parseInt(moreKeys[0].substring(key.length())); + moreKeys[0] = null; + return column; + } catch (NumberFormatException e) { + Log.w(TAG, "column number should follow after " + key); + return 0; + } + } + private static int adjustCaseOfCodeForKeyboardId(int code, boolean preserveCase, KeyboardId id) { if (!Keyboard.isLetterCode(code) || preserveCase) return code; diff --git a/java/src/com/android/inputmethod/keyboard/KeyDetector.java b/java/src/com/android/inputmethod/keyboard/KeyDetector.java index bff491ffd..0ce98d2f1 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyDetector.java +++ b/java/src/com/android/inputmethod/keyboard/KeyDetector.java @@ -180,32 +180,34 @@ public class KeyDetector { if (maxCodesSize <= numCodes) { return; } - if (primaryCode != NOT_A_CODE) { - final List<Integer> additionalChars = - mKeyboard.getAdditionalProximityChars().get(primaryCode); - if (additionalChars == null || additionalChars.size() == 0) { - return; - } - int currentCodesSize = numCodes; - allCodes[numCodes++] = ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE; - if (maxCodesSize <= numCodes) { - return; - } - // TODO: This is O(N^2). Assuming additionalChars.size() is up to 4 or 5. - for (int i = 0; i < additionalChars.size(); ++i) { - final int additionalChar = additionalChars.get(i); - boolean contains = false; - for (int j = 0; j < currentCodesSize; ++j) { - if (additionalChar == allCodes[j]) { - contains = true; - break; - } + + final int code = (primaryCode == NOT_A_CODE) ? allCodes[0] : primaryCode; + if (code == NOT_A_CODE) { + return; + } + final List<Integer> additionalChars = mKeyboard.getAdditionalProximityChars().get(code); + if (additionalChars == null || additionalChars.size() == 0) { + return; + } + int currentCodesSize = numCodes; + allCodes[numCodes++] = ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE; + if (maxCodesSize <= numCodes) { + return; + } + // TODO: This is O(N^2). Assuming additionalChars.size() is up to 4 or 5. + for (int i = 0; i < additionalChars.size(); ++i) { + final int additionalChar = additionalChars.get(i); + boolean contains = false; + for (int j = 0; j < currentCodesSize; ++j) { + if (additionalChar == allCodes[j]) { + contains = true; + break; } - if (!contains) { - allCodes[numCodes++] = additionalChar; - if (maxCodesSize <= numCodes) { - return; - } + } + if (!contains) { + allCodes[numCodes++] = additionalChar; + if (maxCodesSize <= numCodes) { + return; } } } @@ -257,10 +259,17 @@ public class KeyDetector { public static String printableCodes(int[] codes) { final StringBuilder sb = new StringBuilder(); + boolean addDelimiter = false; for (final int code : codes) { if (code == NOT_A_CODE) break; - if (sb.length() > 0) sb.append(", "); - sb.append(code); + if (code == ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE) { + sb.append(" | "); + addDelimiter = false; + } else { + if (addDelimiter) sb.append(", "); + sb.append(code); + addDelimiter = true; + } } return "[" + sb + "]"; } diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java index 28f71f443..60e506914 100644 --- a/java/src/com/android/inputmethod/keyboard/Keyboard.java +++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java @@ -1073,10 +1073,6 @@ public class Keyboard { R.styleable.Keyboard_Case_navigateAction, id.navigateAction()); final boolean passwordInputMatched = matchBoolean(a, R.styleable.Keyboard_Case_passwordInput, id.passwordInput()); - final boolean hasSettingsKeyMatched = matchBoolean(a, - R.styleable.Keyboard_Case_hasSettingsKey, id.hasSettingsKey()); - final boolean f2KeyModeMatched = matchInteger(a, - R.styleable.Keyboard_Case_f2KeyMode, id.f2KeyMode()); final boolean clobberSettingsKeyMatched = matchBoolean(a, R.styleable.Keyboard_Case_clobberSettingsKey, id.mClobberSettingsKey); final boolean shortcutKeyEnabledMatched = matchBoolean(a, @@ -1094,14 +1090,13 @@ public class Keyboard { final boolean countryCodeMatched = matchString(a, R.styleable.Keyboard_Case_countryCode, id.mLocale.getCountry()); final boolean selected = keyboardSetElementMatched && modeMatched - && navigateActionMatched && passwordInputMatched && hasSettingsKeyMatched - && f2KeyModeMatched && clobberSettingsKeyMatched - && shortcutKeyEnabledMatched && hasShortcutKeyMatched && isMultiLineMatched - && imeActionMatched && localeCodeMatched && languageCodeMatched - && countryCodeMatched; + && navigateActionMatched && passwordInputMatched + && clobberSettingsKeyMatched && shortcutKeyEnabledMatched + && hasShortcutKeyMatched && isMultiLineMatched && imeActionMatched + && localeCodeMatched && languageCodeMatched && countryCodeMatched; if (DEBUG) { - startTag("<%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s>%s", TAG_CASE, + startTag("<%s%s%s%s%s%s%s%s%s%s%s%s%s>%s", TAG_CASE, textAttr(a.getString(R.styleable.Keyboard_Case_keyboardSetElement), "keyboardSetElement"), textAttr(a.getString(R.styleable.Keyboard_Case_mode), "mode"), @@ -1109,11 +1104,6 @@ public class Keyboard { "navigateAction"), booleanAttr(a, R.styleable.Keyboard_Case_passwordInput, "passwordInput"), - booleanAttr(a, R.styleable.Keyboard_Case_hasSettingsKey, - "hasSettingsKey"), - textAttr(KeyboardId.f2KeyModeName( - a.getInt(R.styleable.Keyboard_Case_f2KeyMode, -1)), - "f2KeyMode"), booleanAttr(a, R.styleable.Keyboard_Case_clobberSettingsKey, "clobberSettingsKey"), booleanAttr(a, R.styleable.Keyboard_Case_shortcutKeyEnabled, diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java index 3ab24933c..a75caf262 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java @@ -48,11 +48,6 @@ public class KeyboardId { public static final int ELEMENT_PHONE_SYMBOLS = 8; public static final int ELEMENT_NUMBER = 9; - private static final int F2KEY_MODE_NONE = 0; - private static final int F2KEY_MODE_SETTINGS = 1; - private static final int F2KEY_MODE_SHORTCUT_IME = 2; - private static final int F2KEY_MODE_SHORTCUT_IME_OR_SETTINGS = 3; - private static final int IME_ACTION_CUSTOM_LABEL = EditorInfo.IME_MASK_ACTION + 1; public final Locale mLocale; @@ -61,7 +56,6 @@ public class KeyboardId { public final int mMode; public final int mElementId; private final EditorInfo mEditorInfo; - private final boolean mSettingsKeyEnabled; public final boolean mClobberSettingsKey; public final boolean mShortcutKeyEnabled; public final boolean mHasShortcutKey; @@ -70,15 +64,14 @@ public class KeyboardId { private final int mHashCode; public KeyboardId(int elementId, Locale locale, int orientation, int width, int mode, - EditorInfo editorInfo, boolean settingsKeyEnabled, boolean clobberSettingsKey, - boolean shortcutKeyEnabled, boolean hasShortcutKey) { + EditorInfo editorInfo, boolean clobberSettingsKey, boolean shortcutKeyEnabled, + boolean hasShortcutKey) { this.mLocale = locale; this.mOrientation = orientation; this.mWidth = width; this.mMode = mode; this.mElementId = elementId; this.mEditorInfo = editorInfo; - this.mSettingsKeyEnabled = settingsKeyEnabled; this.mClobberSettingsKey = clobberSettingsKey; this.mShortcutKeyEnabled = shortcutKeyEnabled; this.mHasShortcutKey = hasShortcutKey; @@ -96,7 +89,6 @@ public class KeyboardId { id.mWidth, id.navigateAction(), id.passwordInput(), - id.mSettingsKeyEnabled, id.mClobberSettingsKey, id.mShortcutKeyEnabled, id.mHasShortcutKey, @@ -116,7 +108,6 @@ public class KeyboardId { && other.mWidth == this.mWidth && other.navigateAction() == this.navigateAction() && other.passwordInput() == this.passwordInput() - && other.mSettingsKeyEnabled == this.mSettingsKeyEnabled && other.mClobberSettingsKey == this.mClobberSettingsKey && other.mShortcutKeyEnabled == this.mShortcutKeyEnabled && other.mHasShortcutKey == this.mHasShortcutKey @@ -183,25 +174,6 @@ public class KeyboardId { } } - public boolean hasSettingsKey() { - return mSettingsKeyEnabled && !mClobberSettingsKey; - } - - public int f2KeyMode() { - if (mClobberSettingsKey) { - // Never shows the Settings key - return KeyboardId.F2KEY_MODE_SHORTCUT_IME; - } - - if (mSettingsKeyEnabled) { - return KeyboardId.F2KEY_MODE_SETTINGS; - } else { - // It should be alright to fall back to the Settings key on 7-inch layouts - // even when the Settings key is not explicitly enabled. - return KeyboardId.F2KEY_MODE_SHORTCUT_IME_OR_SETTINGS; - } - } - @Override public boolean equals(Object other) { return other instanceof KeyboardId && equals((KeyboardId) other); @@ -214,17 +186,15 @@ public class KeyboardId { @Override public String toString() { - return String.format("[%s %s %s%d %s %s %s%s%s%s%s%s%s]", + return String.format("[%s %s %s%d %s %s %s%s%s%s%s]", elementIdToName(mElementId), mLocale, (mOrientation == 1 ? "port" : "land"), mWidth, modeName(mMode), imeAction(), - f2KeyModeName(f2KeyMode()), (mClobberSettingsKey ? " clobberSettingsKey" : ""), (navigateAction() ? " navigateAction" : ""), (passwordInput() ? " passwordInput" : ""), - (hasSettingsKey() ? " hasSettingsKey" : ""), (mShortcutKeyEnabled ? " shortcutKeyEnabled" : ""), (mHasShortcutKey ? " hasShortcutKey" : "") ); @@ -270,14 +240,4 @@ public class KeyboardId { return (actionId == IME_ACTION_CUSTOM_LABEL) ? "actionCustomLabel" : EditorInfoCompatUtils.imeActionName(actionId); } - - public static String f2KeyModeName(int f2KeyMode) { - switch (f2KeyMode) { - case F2KEY_MODE_NONE: return "none"; - case F2KEY_MODE_SETTINGS: return "settings"; - case F2KEY_MODE_SHORTCUT_IME: return "shortcutIme"; - case F2KEY_MODE_SHORTCUT_IME_OR_SETTINGS: return "shortcutImeOrSettings"; - default: return null; - } - } } diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java index f27170a89..6e62f743b 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSet.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSet.java @@ -98,7 +98,6 @@ public class KeyboardSet { int mMode; EditorInfo mEditorInfo; boolean mTouchPositionCorrectionEnabled; - boolean mSettingsKeyEnabled; boolean mVoiceKeyEnabled; boolean mVoiceKeyOnMain; boolean mNoSettingsKey; @@ -193,8 +192,8 @@ public class KeyboardSet { final boolean hasShortcutKey = params.mVoiceKeyEnabled && (isSymbols != params.mVoiceKeyOnMain); return new KeyboardId(keyboardSetElementId, params.mLocale, params.mOrientation, - params.mWidth, params.mMode, params.mEditorInfo, params.mSettingsKeyEnabled, - params.mNoSettingsKey, params.mVoiceKeyEnabled, hasShortcutKey); + params.mWidth, params.mMode, params.mEditorInfo, params.mNoSettingsKey, + params.mVoiceKeyEnabled, hasShortcutKey); } public static class Builder { @@ -237,9 +236,7 @@ public class KeyboardSet { return this; } - public Builder setOptions(boolean settingsKeyEnabled, boolean voiceKeyEnabled, - boolean voiceKeyOnMain) { - mParams.mSettingsKeyEnabled = settingsKeyEnabled; + public Builder setOptions(boolean voiceKeyEnabled, boolean voiceKeyOnMain) { @SuppressWarnings("deprecation") final boolean deprecatedNoMicrophone = Utils.inPrivateImeOptions( null, LatinIME.IME_OPTION_NO_MICROPHONE_COMPAT, mEditorInfo); diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index 5ba560d72..622e5831f 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -35,7 +35,6 @@ import com.android.inputmethod.latin.InputView; import com.android.inputmethod.latin.LatinIME; import com.android.inputmethod.latin.LatinImeLogger; import com.android.inputmethod.latin.R; -import com.android.inputmethod.latin.Settings; import com.android.inputmethod.latin.SettingsValues; import com.android.inputmethod.latin.SubtypeSwitcher; import com.android.inputmethod.latin.Utils; @@ -133,7 +132,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, mSubtypeSwitcher.currentSubtypeContainsExtraValueKey( LatinIME.SUBTYPE_EXTRA_VALUE_SUPPORT_TOUCH_POSITION_CORRECTION)); builder.setOptions( - settingsValues.isSettingsKeyEnabled(), settingsValues.isVoiceKeyEnabled(editorInfo), settingsValues.isVoiceKeyOnMain()); mKeyboardSet = builder.build(); @@ -268,6 +266,16 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, // Implements {@link KeyboardState.SwitchActions}. @Override + public void cancelDoubleTapTimer() { + final LatinKeyboardView keyboardView = getKeyboardView(); + if (keyboardView != null) { + final TimerProxy timer = keyboardView.getTimerProxy(); + timer.cancelDoubleTapTimer(); + } + } + + // Implements {@link KeyboardState.SwitchActions}. + @Override public boolean isInDoubleTapTimeout() { final LatinKeyboardView keyboardView = getKeyboardView(); return (keyboardView != null) @@ -286,6 +294,16 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, // Implements {@link KeyboardState.SwitchActions}. @Override + public void cancelLongPressTimer() { + final LatinKeyboardView keyboardView = getKeyboardView(); + if (keyboardView != null) { + final TimerProxy timer = keyboardView.getTimerProxy(); + timer.cancelLongPressTimer(); + } + } + + // Implements {@link KeyboardState.SwitchActions}. + @Override public void hapticAndAudioFeedback(int code) { mInputMethodService.hapticAndAudioFeedback(code); } @@ -384,8 +402,6 @@ public class KeyboardSwitcher implements KeyboardState.SwitchActions, if (PREF_KEYBOARD_LAYOUT.equals(key)) { final int themeIndex = getKeyboardThemeIndex(mInputMethodService, sharedPreferences); postSetInputView(createInputView(themeIndex, false)); - } else if (Settings.PREF_SHOW_SETTINGS_KEY.equals(key)) { - postSetInputView(createInputView(mThemeIndex, true)); } } diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java index 88a41579d..9a0fe1efa 100644 --- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java @@ -233,6 +233,11 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke } @Override + public void cancelDoubleTapTimer() { + removeMessages(MSG_DOUBLE_TAP); + } + + @Override public boolean isInDoubleTapTimeout() { return hasMessages(MSG_DOUBLE_TAP); } diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java index 1597b1ebb..7d8181dda 100644 --- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboard.java @@ -37,9 +37,11 @@ public class MoreKeysKeyboard extends Keyboard { private final String[] mMoreKeys; public static class MoreKeysKeyboardParams extends Keyboard.Params { + public boolean mIsFixedOrder; /* package */int mTopRowAdjustment; public int mNumRows; public int mNumColumns; + public int mTopKeys; public int mLeftKeys; public int mRightKeys; // includes default key. @@ -58,14 +60,17 @@ public class MoreKeysKeyboard extends Keyboard { * Set keyboard parameters of more keys keyboard. * * @param numKeys number of keys in this more keys keyboard. - * @param maxColumns number of maximum columns of this more keys keyboard. + * @param maxColumnsAndFlags number of maximum columns of this more keys keyboard. + * This might have {@link Key#MORE_KEYS_FIXED_COLUMN_ORDER} flag. * @param keyWidth more keys keyboard key width in pixel, including horizontal gap. * @param rowHeight more keys keyboard row height in pixel, including vertical gap. * @param coordXInParent coordinate x of the key preview in parent keyboard. * @param parentKeyboardWidth parent keyboard width in pixel. */ - public void setParameters(int numKeys, int maxColumns, int keyWidth, int rowHeight, - int coordXInParent, int parentKeyboardWidth) { + public void setParameters(int numKeys, int maxColumnsAndFlags, int keyWidth, + int rowHeight, int coordXInParent, int parentKeyboardWidth) { + mIsFixedOrder = (maxColumnsAndFlags & Key.MORE_KEYS_FIXED_COLUMN_ORDER) != 0; + final int maxColumns = maxColumnsAndFlags & ~Key.MORE_KEYS_FIXED_COLUMN_ORDER; if (parentKeyboardWidth / keyWidth < maxColumns) { throw new IllegalArgumentException( "Keyboard is too small to hold more keys keyboard: " @@ -76,8 +81,11 @@ public class MoreKeysKeyboard extends Keyboard { final int numRows = (numKeys + maxColumns - 1) / maxColumns; mNumRows = numRows; - final int numColumns = getOptimizedColumns(numKeys, maxColumns); + final int numColumns = mIsFixedOrder ? Math.min(numKeys, maxColumns) + : getOptimizedColumns(numKeys, maxColumns); mNumColumns = numColumns; + final int topKeys = numKeys % numColumns; + mTopKeys = topKeys == 0 ? numColumns : topKeys; final int numLeftKeys = (numColumns - 1) / 2; final int numRightKeys = numColumns - numLeftKeys; // including default key. @@ -110,28 +118,68 @@ public class MoreKeysKeyboard extends Keyboard { mLeftKeys = leftKeys; mRightKeys = rightKeys; - // Centering of the top row. - if (numRows < 2 || getTopRowEmptySlots(numKeys, numColumns) % 2 == 0) { - mTopRowAdjustment = 0; - } else if (mLeftKeys < mRightKeys - 1) { - mTopRowAdjustment = 1; - } else { - mTopRowAdjustment = -1; - } - + // Adjustment of the top row. + mTopRowAdjustment = mIsFixedOrder ? getFixedOrderTopRowAdjustment() + : getAutoOrderTopRowAdjustment(); mBaseWidth = mOccupiedWidth = mNumColumns * mDefaultKeyWidth; // Need to subtract the bottom row's gutter only. mBaseHeight = mOccupiedHeight = mNumRows * mDefaultRowHeight - mVerticalGap + mTopPadding + mBottomPadding; } + private int getFixedOrderTopRowAdjustment() { + if (mNumRows == 1 || mTopKeys % 2 == 1 || mTopKeys == mNumColumns + || mLeftKeys == 0 || mRightKeys == 1) { + return 0; + } + return -1; + } + + private int getAutoOrderTopRowAdjustment() { + if (mNumRows == 1 || mTopKeys == 1 || mNumColumns % 2 == mTopKeys % 2 + || mLeftKeys == 0 || mRightKeys == 1) { + return 0; + } + return -1; + } + // Return key position according to column count (0 is default). /* package */int getColumnPos(int n) { + return mIsFixedOrder ? getFixedOrderColumnPos(n) : getAutomaticColumnPos(n); + } + + private int getFixedOrderColumnPos(int n) { + final int col = n % mNumColumns; + final int row = n / mNumColumns; + if (!isTopRow(row)) { + return col - mLeftKeys; + } + final int rightSideKeys = mTopKeys / 2; + final int leftSideKeys = mTopKeys - (rightSideKeys + 1); + final int pos = col - leftSideKeys; + final int numLeftKeys = mLeftKeys + mTopRowAdjustment; + final int numRightKeys = mRightKeys - 1; + if (numRightKeys >= rightSideKeys && numLeftKeys >= leftSideKeys) { + return pos; + } else if (numRightKeys < rightSideKeys) { + return pos - (rightSideKeys - numRightKeys); + } else { // numLeftKeys < leftSideKeys + return pos + (leftSideKeys - numLeftKeys); + } + } + + private int getAutomaticColumnPos(int n) { final int col = n % mNumColumns; + final int row = n / mNumColumns; + int leftKeys = mLeftKeys; + if (isTopRow(row)) { + leftKeys += mTopRowAdjustment; + } if (col == 0) { // default position. return 0; } + int pos = 0; int right = 1; // include default position key. int left = 0; @@ -146,7 +194,7 @@ public class MoreKeysKeyboard extends Keyboard { if (i >= col) break; // Assign left key if available. - if (left < mLeftKeys) { + if (left < leftKeys) { left++; pos = -left; i++; @@ -158,12 +206,8 @@ public class MoreKeysKeyboard extends Keyboard { } private static int getTopRowEmptySlots(int numKeys, int numColumns) { - final int remainingKeys = numKeys % numColumns; - if (remainingKeys == 0) { - return 0; - } else { - return numColumns - remainingKeys; - } + final int remainings = numKeys % numColumns; + return remainings == 0 ? 0 : numColumns - remainings; } private int getOptimizedColumns(int numKeys, int maxColumns) { @@ -198,7 +242,7 @@ public class MoreKeysKeyboard extends Keyboard { } private boolean isTopRow(int rowCount) { - return rowCount == mNumRows - 1; + return mNumRows > 1 && rowCount == mNumRows - 1; } } diff --git a/java/src/com/android/inputmethod/keyboard/PointerTracker.java b/java/src/com/android/inputmethod/keyboard/PointerTracker.java index 110f7f6ae..c45308419 100644 --- a/java/src/com/android/inputmethod/keyboard/PointerTracker.java +++ b/java/src/com/android/inputmethod/keyboard/PointerTracker.java @@ -77,6 +77,7 @@ public class PointerTracker { public void startLongPressTimer(int code); public void cancelLongPressTimer(); public void startDoubleTapTimer(); + public void cancelDoubleTapTimer(); public boolean isInDoubleTapTimeout(); public void cancelKeyTimers(); @@ -96,6 +97,8 @@ public class PointerTracker { @Override public void startDoubleTapTimer() {} @Override + public void cancelDoubleTapTimer() {} + @Override public boolean isInDoubleTapTimeout() { return false; } @Override public void cancelKeyTimers() {} diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java index 1626a140b..f61eefda5 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java @@ -206,9 +206,51 @@ public class KeySpecParser { return KeyboardIconsSet.ICON_UNDEFINED; } - public static String[] insertAddtionalMoreKeys(String[] moreKeys, String[] additionalMoreKeys) { - final int moreKeysCount = (moreKeys != null) ? moreKeys.length : 0; - final int additionalCount = (additionalMoreKeys != null) ? additionalMoreKeys.length : 0; + private static <T> ArrayList<T> arrayAsList(T[] array, int start, int end) { + if (array == null) { + throw new NullPointerException(); + } + if (start < 0 || start > end || end > array.length) { + throw new IllegalArgumentException(); + } + + final ArrayList<T> list = new ArrayList<T>(end - start); + for (int i = start; i < end; i++) { + list.add(array[i]); + } + return list; + } + + private static final String[] EMPTY_STRING_ARRAY = new String[0]; + + private static String[] filterOutEmptyString(String[] array) { + if (array == null) { + return EMPTY_STRING_ARRAY; + } + ArrayList<String> out = null; + for (int i = 0; i < array.length; i++) { + final String entry = array[i]; + if (TextUtils.isEmpty(entry)) { + if (out == null) { + out = arrayAsList(array, 0, i); + } + } else if (out != null) { + out.add(entry); + } + } + if (out == null) { + return array; + } else { + return out.toArray(new String[out.size()]); + } + } + + public static String[] insertAddtionalMoreKeys(String[] moreKeySpecs, + String[] additionalMoreKeySpecs) { + final String[] moreKeys = filterOutEmptyString(moreKeySpecs); + final String[] additionalMoreKeys = filterOutEmptyString(additionalMoreKeySpecs); + final int moreKeysCount = moreKeys.length; + final int additionalCount = additionalMoreKeys.length; ArrayList<String> out = null; int additionalIndex = 0; for (int moreKeyIndex = 0; moreKeyIndex < moreKeysCount; moreKeyIndex++) { @@ -226,10 +268,7 @@ public class KeySpecParser { } else { // Filter out excessive '%' marker. if (out == null) { - out = new ArrayList<String>(moreKeyIndex); - for (int i = 0; i < moreKeyIndex; i++) { - out.add(moreKeys[i]); - } + out = arrayAsList(moreKeys, 0, moreKeyIndex); } } } else { @@ -246,10 +285,7 @@ public class KeySpecParser { + " moreKeys=" + Arrays.toString(moreKeys) + " additionalMoreKeys=" + Arrays.toString(additionalMoreKeys)); } - out = new ArrayList<String>(additionalCount + moreKeysCount); - for (int i = additionalIndex; i < additionalCount; i++) { - out.add(additionalMoreKeys[i]); - } + out = arrayAsList(additionalMoreKeys, additionalIndex, additionalCount); for (int i = 0; i < moreKeysCount; i++) { out.add(moreKeys[i]); } @@ -261,18 +297,17 @@ public class KeySpecParser { + " moreKeys=" + Arrays.toString(moreKeys) + " additionalMoreKeys=" + Arrays.toString(additionalMoreKeys)); } - out = new ArrayList<String>(moreKeysCount); - for (int i = 0; i < moreKeysCount; i++) { - out.add(moreKeys[i]); - } + out = arrayAsList(moreKeys, 0, moreKeysCount); for (int i = additionalIndex; i < additionalCount; i++) { out.add(additionalMoreKeys[additionalIndex]); } } - if (out != null) { - return out.size() > 0 ? out.toArray(new String[out.size()]) : null; - } else { + if (out == null && moreKeysCount > 0) { return moreKeys; + } else if (out != null && out.size() > 0) { + return out.toArray(new String[out.size()]); + } else { + return null; } } diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java index cb8b4f05c..6a8a03677 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java @@ -54,7 +54,9 @@ public class KeyboardState { public void startDoubleTapTimer(); public boolean isInDoubleTapTimeout(); + public void cancelDoubleTapTimer(); public void startLongPressTimer(int code); + public void cancelLongPressTimer(); public void hapticAndAudioFeedback(int code); } @@ -300,6 +302,8 @@ public class KeyboardState { } else if (code == Keyboard.CODE_SWITCH_ALPHA_SYMBOL) { onPressSymbol(); } else { + mSwitchActions.cancelDoubleTapTimer(); + mSwitchActions.cancelLongPressTimer(); mShiftKeyState.onOtherKeyPressed(); mSymbolKeyState.onOtherKeyPressed(); } @@ -348,7 +352,7 @@ public class KeyboardState { // state. And mark as if shift key is released. mShiftKeyState.onRelease(); } else { - // Shift key is long pressed while shift unloked state. + // Shift key is long pressed while shift unlocked state. setShiftLocked(true); } mSwitchActions.hapticAndAudioFeedback(code); @@ -364,6 +368,11 @@ public class KeyboardState { private void updateAlphabetShiftState(boolean autoCaps) { if (!mIsAlphabetMode) return; + if (!mShiftKeyState.isReleasing()) { + // Ignore update shift state event while the shift key is being pressed (including + // chording). + return; + } if (!mAlphabetShiftState.isShiftLocked() && !mShiftKeyState.isIgnoring()) { if (mShiftKeyState.isReleasing() && autoCaps) { // Only when shift key is releasing, automatic temporary upper case will be set. diff --git a/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java b/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java index d9181f786..5db65c660 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java +++ b/java/src/com/android/inputmethod/keyboard/internal/PointerTrackerQueue.java @@ -16,12 +16,18 @@ package com.android.inputmethod.keyboard.internal; +import android.util.Log; + +import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.PointerTracker; import java.util.Iterator; import java.util.LinkedList; public class PointerTrackerQueue { + private static final String TAG = PointerTrackerQueue.class.getSimpleName(); + private static final boolean DEBUG = false; + private final LinkedList<PointerTracker> mQueue = new LinkedList<PointerTracker>(); public synchronized void add(PointerTracker tracker) { @@ -32,7 +38,11 @@ public class PointerTrackerQueue { mQueue.remove(tracker); } - public synchronized void releaseAllPointersOlderThan(PointerTracker tracker, long eventTime) { + public synchronized void releaseAllPointersOlderThan(PointerTracker tracker, + long eventTime) { + if (DEBUG) { + Log.d(TAG, "releaseAllPoniterOlderThan: [" + tracker.mPointerId + "] " + this); + } if (!mQueue.contains(tracker)) { return; } @@ -54,6 +64,13 @@ public class PointerTrackerQueue { } public synchronized void releaseAllPointersExcept(PointerTracker tracker, long eventTime) { + if (DEBUG) { + if (tracker == null) { + Log.d(TAG, "releaseAllPoniters: " + this); + } else { + Log.d(TAG, "releaseAllPoniterExcept: [" + tracker.mPointerId + "] " + this); + } + } final Iterator<PointerTracker> it = mQueue.iterator(); while (it.hasNext()) { final PointerTracker t = it.next(); @@ -79,8 +96,9 @@ public class PointerTrackerQueue { for (final PointerTracker tracker : mQueue) { if (sb.length() > 0) sb.append(" "); - sb.append(tracker.mPointerId); + sb.append("[" + tracker.mPointerId + " " + + Keyboard.printableCode(tracker.getKey().mCode) + "]"); } - return "[" + sb + "]"; + return sb.toString(); } } diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 1cb79e707..730992b13 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -325,7 +325,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar return hasMessages(MSG_UPDATE_SUGGESTIONS); } - public void postUpdateShiftKeyState() { + public void postUpdateShiftState() { removeMessages(MSG_UPDATE_SHIFT_STATE); sendMessageDelayed(obtainMessage(MSG_UPDATE_SHIFT_STATE), mDelayUpdateShiftState); } @@ -898,9 +898,10 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar resetComposingState(true /* alsoResetLastComposedWord */); updateSuggestions(); } + + mHandler.postUpdateShiftState(); } mExpectingUpdateSelection = false; - mHandler.postUpdateShiftKeyState(); // TODO: Decide to call restartSuggestionsOnWordBeforeCursorIfAtEndOfWord() or not // here. It would probably be too expensive to call directly here but we may want to post a // message to delay it. The point would be to unify behavior between backspace to the @@ -1391,7 +1392,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar mVoiceProxy.handleBackspace(); // In many cases, we may have to put the keyboard in auto-shift state again. - mHandler.postUpdateShiftKeyState(); + mHandler.postUpdateShiftState(); if (mEnteredText != null && sameAsTextBeforeCursor(ic, mEnteredText)) { // Cancel multi-character input: remove the text we just entered. diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java index d32310096..dfcb6450e 100644 --- a/java/src/com/android/inputmethod/latin/Settings.java +++ b/java/src/com/android/inputmethod/latin/Settings.java @@ -65,7 +65,6 @@ public class Settings extends InputMethodSettingsActivity public static final String PREF_VIBRATE_ON = "vibrate_on"; public static final String PREF_SOUND_ON = "sound_on"; public static final String PREF_POPUP_ON = "popup_on"; - public static final String PREF_SHOW_SETTINGS_KEY = "show_settings_key"; public static final String PREF_VOICE_MODE = "voice_mode"; public static final String PREF_CORRECTION_SETTINGS = "correction_settings"; public static final String PREF_CONFIGURE_DICTIONARIES_KEY = "configure_dictionaries_key"; @@ -96,7 +95,6 @@ public class Settings extends InputMethodSettingsActivity private PreferenceScreen mKeypressVibrationDurationSettingsPref; private PreferenceScreen mKeypressSoundVolumeSettingsPref; private ListPreference mVoicePreference; - private CheckBoxPreference mShowSettingsKeyPreference; private ListPreference mShowCorrectionSuggestionsPreference; private ListPreference mAutoCorrectionThresholdPreference; private ListPreference mKeyPreviewPopupDismissDelay; @@ -147,7 +145,6 @@ public class Settings extends InputMethodSettingsActivity mInputLanguageSelection = (PreferenceScreen) findPreference(PREF_SUBTYPES_SETTINGS); mInputLanguageSelection.setOnPreferenceClickListener(this); mVoicePreference = (ListPreference) findPreference(PREF_VOICE_MODE); - mShowSettingsKeyPreference = (CheckBoxPreference) findPreference(PREF_SHOW_SETTINGS_KEY); mShowCorrectionSuggestionsPreference = (ListPreference) findPreference(PREF_SHOW_SUGGESTIONS_SETTING); SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); @@ -178,10 +175,6 @@ public class Settings extends InputMethodSettingsActivity final PreferenceGroup miscSettings = (PreferenceGroup) findPreference(PREF_MISC_SETTINGS); - if (!SettingsValues.isShowSettingsKeyOptionEnabled(res)) { - generalSettings.removePreference(mShowSettingsKeyPreference); - } - final boolean showVoiceKeyOption = res.getBoolean( R.bool.config_enable_show_voice_key_option); if (!showVoiceKeyOption) { diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java index 6b652313c..7a43cb827 100644 --- a/java/src/com/android/inputmethod/latin/SettingsValues.java +++ b/java/src/com/android/inputmethod/latin/SettingsValues.java @@ -49,7 +49,6 @@ public class SettingsValues { public final boolean mVibrateOn; public final boolean mSoundOn; public final boolean mKeyPreviewPopupOn; - private final boolean mShowSettingsKey; private final String mVoiceMode; private final String mAutoCorrectionThresholdRawValue; public final String mShowSuggestionsSetting; @@ -118,7 +117,6 @@ public class SettingsValues { mSoundOn = prefs.getBoolean(Settings.PREF_SOUND_ON, res.getBoolean(R.bool.config_default_sound_enabled)); mKeyPreviewPopupOn = isKeyPreviewPopupEnabled(prefs, res); - mShowSettingsKey = isSettingsKeyShown(prefs, res); final String voiceModeMain = res.getString(R.string.voice_mode_main); final String voiceModeOff = res.getString(R.string.voice_mode_off); mVoiceMode = prefs.getString(Settings.PREF_VOICE_MODE, voiceModeMain); @@ -202,19 +200,6 @@ public class SettingsValues { return wordSeparators; } - private static boolean isSettingsKeyShown(final SharedPreferences prefs, final Resources res) { - final boolean defaultShowSettingsKey = res.getBoolean( - R.bool.config_default_show_settings_key); - return isShowSettingsKeyOptionEnabled(res) - ? prefs.getBoolean(Settings.PREF_SHOW_SETTINGS_KEY, defaultShowSettingsKey) - : defaultShowSettingsKey; - } - - public static boolean isShowSettingsKeyOptionEnabled(final Resources resources) { - // TODO: Read this once and for all into a public final member - return resources.getBoolean(R.bool.config_enable_show_settings_key_option); - } - private static boolean isVibrateOn(final Context context, final SharedPreferences prefs, final Resources res) { final boolean hasVibrator = VibratorCompatWrapper.getInstance(context).hasVibrator(); @@ -306,10 +291,6 @@ public class SettingsValues { return autoCorrectionThreshold; } - public boolean isSettingsKeyEnabled() { - return mShowSettingsKey; - } - public boolean isVoiceKeyEnabled(final EditorInfo editorInfo) { final boolean shortcutImeEnabled = SubtypeSwitcher.getInstance().isShortcutImeEnabled(); final int inputType = (editorInfo != null) ? editorInfo.inputType : 0; |