aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java5
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/utils/StatsUtilsManager.java6
-rw-r--r--java/res/values-af/strings.xml30
-rw-r--r--java/res/values-am/strings.xml30
-rw-r--r--java/res/values-ar/strings.xml30
-rw-r--r--java/res/values-az-rAZ/strings.xml31
-rw-r--r--java/res/values-bg/strings.xml30
-rw-r--r--java/res/values-bn-rBD/strings.xml34
-rw-r--r--java/res/values-ca/strings-emoji-descriptions.xml10
-rw-r--r--java/res/values-ca/strings-talkback-descriptions.xml2
-rw-r--r--java/res/values-ca/strings.xml32
-rw-r--r--java/res/values-cs/strings.xml30
-rw-r--r--java/res/values-da/strings.xml34
-rw-r--r--java/res/values-de/strings.xml30
-rw-r--r--java/res/values-el/strings.xml30
-rw-r--r--java/res/values-en-rGB/strings.xml22
-rw-r--r--java/res/values-en-rIN/strings.xml22
-rw-r--r--java/res/values-es-rUS/strings.xml30
-rw-r--r--java/res/values-es/strings.xml36
-rw-r--r--java/res/values-et-rEE/strings.xml30
-rw-r--r--java/res/values-eu-rES/strings.xml30
-rw-r--r--java/res/values-fa/strings.xml30
-rw-r--r--java/res/values-fi/strings.xml31
-rw-r--r--java/res/values-fr-rCA/strings.xml30
-rw-r--r--java/res/values-fr/strings.xml30
-rw-r--r--java/res/values-gl-rES/strings-emoji-descriptions.xml2
-rw-r--r--java/res/values-gl-rES/strings.xml32
-rw-r--r--java/res/values-hi/strings-action-keys.xml2
-rw-r--r--java/res/values-hi/strings-letter-descriptions.xml2
-rw-r--r--java/res/values-hi/strings-talkback-descriptions.xml8
-rw-r--r--java/res/values-hi/strings.xml46
-rw-r--r--java/res/values-hr/strings.xml30
-rw-r--r--java/res/values-hu/strings.xml30
-rw-r--r--java/res/values-hy-rAM/strings.xml31
-rw-r--r--java/res/values-in/strings.xml30
-rw-r--r--java/res/values-is-rIS/strings.xml30
-rw-r--r--java/res/values-it/strings.xml30
-rw-r--r--java/res/values-iw/strings-emoji-descriptions.xml4
-rw-r--r--java/res/values-iw/strings.xml30
-rw-r--r--java/res/values-ja/strings.xml30
-rw-r--r--java/res/values-ka-rGE/strings.xml30
-rw-r--r--java/res/values-kk-rKZ/strings.xml30
-rw-r--r--java/res/values-km-rKH/strings.xml30
-rw-r--r--java/res/values-kn-rIN/strings.xml30
-rw-r--r--java/res/values-ko/strings.xml30
-rw-r--r--java/res/values-ky-rKG/strings.xml30
-rw-r--r--java/res/values-lo-rLA/strings.xml23
-rw-r--r--java/res/values-lt/strings.xml30
-rw-r--r--java/res/values-lv/strings.xml30
-rw-r--r--java/res/values-mk-rMK/strings.xml30
-rw-r--r--java/res/values-ml-rIN/strings.xml32
-rw-r--r--java/res/values-mn-rMN/strings.xml22
-rw-r--r--java/res/values-mr-rIN/strings.xml30
-rw-r--r--java/res/values-ms-rMY/strings.xml31
-rw-r--r--java/res/values-my-rMM/strings.xml30
-rw-r--r--java/res/values-nb/strings.xml30
-rw-r--r--java/res/values-ne-rNP/strings.xml30
-rw-r--r--java/res/values-nl/strings.xml30
-rw-r--r--java/res/values-pl/strings.xml30
-rw-r--r--java/res/values-pt-rPT/strings.xml30
-rw-r--r--java/res/values-pt/strings.xml37
-rw-r--r--java/res/values-ro/strings.xml31
-rw-r--r--java/res/values-ru/strings.xml30
-rw-r--r--java/res/values-si-rLK/strings.xml31
-rw-r--r--java/res/values-sk/strings.xml30
-rw-r--r--java/res/values-sl/strings.xml30
-rw-r--r--java/res/values-sr/strings.xml30
-rw-r--r--java/res/values-sv/strings.xml30
-rw-r--r--java/res/values-sw/strings.xml30
-rw-r--r--java/res/values-ta-rIN/strings.xml30
-rw-r--r--java/res/values-te-rIN/strings.xml30
-rw-r--r--java/res/values-th/strings.xml30
-rw-r--r--java/res/values-tl/strings.xml30
-rw-r--r--java/res/values-tr/strings.xml30
-rw-r--r--java/res/values-uk/strings.xml30
-rw-r--r--java/res/values-ur-rPK/strings.xml30
-rw-r--r--java/res/values-uz-rUZ/strings.xml30
-rw-r--r--java/res/values-vi/strings.xml30
-rw-r--r--java/res/values-zh-rCN/strings.xml31
-rw-r--r--java/res/values-zh-rHK/strings.xml36
-rw-r--r--java/res/values-zh-rTW/strings.xml30
-rw-r--r--java/res/values-zu/strings.xml30
-rw-r--r--java/res/xml/key_styles_number.xml1
-rw-r--r--java/src/com/android/inputmethod/keyboard/TextDecorator.java22
-rw-r--r--java/src/com/android/inputmethod/keyboard/TextDecoratorUi.java42
-rw-r--r--java/src/com/android/inputmethod/keyboard/TextDecoratorUiOperator.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/DrawingHandler.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java926
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java17
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java17
-rw-r--r--java/src/com/android/inputmethod/latin/PrevWordsInfo.java7
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestedWords.java6
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java26
-rw-r--r--java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java35
-rw-r--r--java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java2
-rw-r--r--java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java10
-rw-r--r--java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java14
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java41
-rw-r--r--native/jni/src/suggest/core/dictionary/dictionary.cpp6
-rw-r--r--native/jni/src/suggest/core/dictionary/property/unigram_property.h5
-rw-r--r--native/jni/src/suggest/core/dictionary/property/word_property.h7
-rw-r--r--native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h5
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp25
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h5
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp9
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.h3
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp30
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h8
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.cpp17
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.h3
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/probability_entry.h30
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp3
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.h3
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp14
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.h3
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp59
-rw-r--r--native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h5
-rw-r--r--native/jni/tests/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp8
-rw-r--r--tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelBase.java145
-rw-r--r--tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelKlpTests.java91
-rw-r--r--tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelLxxTests.java25
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKey.java15
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java24
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyVisual.java84
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java2
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/EnglishSplitCustomizer.java35
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsAzerbaijaniAZ.java54
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSplitLayoutQwertyEnglishUS.java17
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTurkish.java48
-rw-r--r--tests/src/com/android/inputmethod/keyboard/layout/tests/TurkicCustomizer.java85
-rw-r--r--tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java76
-rw-r--r--tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java4
-rw-r--r--tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java88
-rw-r--r--tests/src/com/android/inputmethod/latin/utils/ImportantNoticeUtilsTests.java222
-rw-r--r--tools/make-keyboard-text/res/values-az-rAZ/donottranslate-more-keys.xml18
-rw-r--r--tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml16
137 files changed, 3246 insertions, 1483 deletions
diff --git a/java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java b/java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java
index 6543003e8..a18d582a7 100644
--- a/java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java
+++ b/java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java
@@ -18,8 +18,7 @@ package com.android.inputmethod.latin.settings;
import android.content.Context;
import android.content.SharedPreferences;
-
-import com.android.inputmethodcommon.InputMethodSettingsFragment;
+import android.preference.PreferenceFragment;
/**
* Utility class for managing additional features settings.
@@ -32,7 +31,7 @@ public class AdditionalFeaturesSettingUtils {
}
public static void addAdditionalFeaturesPreferences(
- final Context context, final InputMethodSettingsFragment settingsFragment) {
+ final Context context, final PreferenceFragment settingsFragment) {
// do nothing.
}
diff --git a/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtilsManager.java b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtilsManager.java
index 120b105d7..138f70f4c 100644
--- a/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtilsManager.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtilsManager.java
@@ -38,6 +38,12 @@ public class StatsUtilsManager {
public void onLoadSettings(final SettingsValues settingsValues) {
}
+ public void onStartInputView() {
+ }
+
+ public void onFinishInputView() {
+ }
+
public void onDestroy() {
}
}
diff --git a/java/res/values-af/strings.xml b/java/res/values-af/strings.xml
index 1647a4ed3..3b5354743 100644
--- a/java/res/values-af/strings.xml
+++ b/java/res/values-af/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibreer met sleuteldruk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Klank met sleuteldruk"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Opspring met sleuteldruk"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Invoervoorkeure"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Voorkoms"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Veeltalige opsies"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Gebaarinvoervoorkeure"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Voorkeure"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Voorkoms en uitlegte"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Veeltalige opsies"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Gebaarinvoer"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Tekskorrigering"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Gevorderd"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Aktiveer verdeelde sleutelbord"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skakel oor na die ander invoermetodes"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Taal-wisselsleutel dek ook ander invoermetodes"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Taal-wisselsleutel"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Steminvoerinstellings"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Geen steminvoermetodes geaktiveer nie. Gaan taal- en invoerinstellings na."</string>
<string name="configure_input_method" msgid="373356270290742459">"Stel invoermetodes op"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Invoertale"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Tale"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Hulp en terugvoering"</string>
- <string name="select_language" msgid="3693815588777926848">"Invoertale"</string>
+ <string name="select_language" msgid="5709487854987078367">"Tale"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Raak weer om te stoor"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Raak hier om te stoor"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Woordeboek beskikbaar"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Sleutelbordtema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Engels (VK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spaans (VS)"</string>
diff --git a/java/res/values-am/strings.xml b/java/res/values-am/strings.xml
index 753e67256..1575f456e 100644
--- a/java/res/values-am/strings.xml
+++ b/java/res/values-am/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"በቁልፍመጫንጊዜ አንዝር"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"በቁልፍ መጫን ላይ የሚወጣ ድምፅ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ቁልፍ ጫን ላይ ብቅ ባይ"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"የግቤት ምርጫዎች"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"ገጽታ"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"ባለብዙ ቋንቋ አማራጮች"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"የመተየብ እንቅስቃሴ ምልክት ምርጫዎች"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ምርጫዎች"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"መልክ እና አቀማመጦች"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"ባለብዙ ቋንቋ አማራጮች"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"በጣት ምልክት መተየብ"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"ፅሁፍ ማስተካከያ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"የላቀ"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"ገፅታ"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"የተከፈለ ቁልፍ ሰሌዳ አንቃ"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ወደ ሌሎች የግቤት ስልቶች ቀይር"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"የቋንቋ መቀየሪያ ቁልፍ ሌሎች የግቤት ስልቶችንም ይሸፍናል"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"የቋንቋ መቀየሪያ ቁልፍ"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"የድምፅ ግቤት ቁልፍ"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"ምንም የግቤት ስልቶች አልነቁም። የቋንቋ እና የግቤት ቅንብሮችን ይፈትሹ።"</string>
<string name="configure_input_method" msgid="373356270290742459">"ግቤት ሜተዶችን አዋቀር"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ቋንቋዎች አግቤት"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ቋንቋዎች"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"እገዛ እና ግብረመልስ"</string>
- <string name="select_language" msgid="3693815588777926848">"ቋንቋዎች አግቤት"</string>
+ <string name="select_language" msgid="5709487854987078367">"ቋንቋዎች"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"ለማስቀመጥ እንደገና ንካ"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"ለማስቀመጥ እዚህ ይንኩ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"መዝገበ ቃላት አለ"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"የቁልፍ ሰሌዳ ገጽታ"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"እንግሊዘኛ (የታላቋ ብሪታንያ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"እንግሊዘኛ (ዩ.ኤስ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ስፓኒሽኛ (ዩኤስ)"</string>
diff --git a/java/res/values-ar/strings.xml b/java/res/values-ar/strings.xml
index c45924b59..3192bf2db 100644
--- a/java/res/values-ar/strings.xml
+++ b/java/res/values-ar/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"اهتزاز عند ضغط مفتاح"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"صوت عند الضغط على مفتاح"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"انبثاق عند ضغط مفتاح"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"تفضيلات الإدخال"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"المظهر"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"خيارات تعدد اللغات"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"تفضيلات كتابة الإيماءات"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"التفضيلات"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"المظهر والتنسيقات"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"خيارات اللغات المتعددة"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"الكتابة بالإشارة"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"تصحيح النص"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"الإعدادات المتقدمة"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"المظهر"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"هل تريد تمكين لوحة المفاتيح المقسمة"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"التبديل إلى أسلوب إدخال آخر"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"يغطي مفتاح تبديل اللغات أساليب الإدخال الأخرى أيضًا"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"مفتاح تبديل اللغة"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"مفتاح الإدخال الصوتي"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"لم يتم تمكين أي أساليب إدخال صوتي. تحقق من إعدادات اللغة والإدخال."</string>
<string name="configure_input_method" msgid="373356270290742459">"تهيئة طرق الإدخال"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"لغات الإدخال"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"اللغات"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"المساعدة والتعليقات"</string>
- <string name="select_language" msgid="3693815588777926848">"لغات الإدخال"</string>
+ <string name="select_language" msgid="5709487854987078367">"اللغات"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"المس مرة أخرى للحفظ"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"المس هنا للحفظ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"القاموس متاح"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"مظهر لوحة المفاتيح"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"الإنجليزية (المملكة المتحدة)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"الإنجليزية (الولايات المتحدة)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"الإسبانية (الأميركية)"</string>
diff --git a/java/res/values-az-rAZ/strings.xml b/java/res/values-az-rAZ/strings.xml
index fb01d725d..f32bd729c 100644
--- a/java/res/values-az-rAZ/strings.xml
+++ b/java/res/values-az-rAZ/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrasiyalı klikləmə"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Klikləmə səsi"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Klikləmədə popup"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Daxiletmə tərcihləri"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Görünüş"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Çoxdilli seçimlər"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Jest ilə yazı tərcihləri"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Seçimlər"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Görünüş və düzənlər"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Çoxdilli seçimlər"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Jest ilə yazma"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Mətn korreksiyası"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Qabaqcıl"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Digər daxiletmə metodlarına keçin"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Dil keçid düyməsi başqa daxiletmə metodlarını da əhatə edir"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Dil keçidi düyməsi"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"Səs daxiletmə klavişi"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Heç bir səs daxiletmə metodu aktiv deyil. Dil və daxiletmə ayarlarını yoxlayın."</string>
<string name="configure_input_method" msgid="373356270290742459">"Daxiletmə üsullarını sazla"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Daxiletmə dilləri"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Dillər"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Yardım və geri əlaqə"</string>
- <string name="select_language" msgid="3693815588777926848">"Daxiletmə dilləri"</string>
+ <string name="select_language" msgid="5709487854987078367">"Dillər"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Yadda saxlamaq üçün yenidən toxunun"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Yadda saxlamaq üçün buraya toxunun"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Lüğət mövcuddur"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klaviatura teması"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"İngilis (BK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"İngilis (ABŞ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"İspan (ABŞ)"</string>
diff --git a/java/res/values-bg/strings.xml b/java/res/values-bg/strings.xml
index 0c449ba34..68b774f86 100644
--- a/java/res/values-bg/strings.xml
+++ b/java/res/values-bg/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Да вибрира при натискане на клавиш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натискане на клавиш"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Изскачащ прозорец при натискане на клавиш"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Въвеждане: Предпочитания"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Облик"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Опции за няколко езика"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Въвежд. чрез жест: Предпоч."</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Предпочитания"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Облик и оформления"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Опции за няколко езика"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Въвеждане чрез жест"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Коригиране на текст"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Разширени"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тема"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Активиране на разделената клавиатура"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Други методи за въвеждане"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавишът за превкл. на езика обхваща и други методи за въвеждане"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Клавиш за превкл. на езика"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Клавиш за гласово въвеждане"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Няма активирани методи на гласово въвеждане. Проверете настройките за език и въвеждане."</string>
<string name="configure_input_method" msgid="373356270290742459">"Конфигуриране на въвеждането"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Входни езици"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Езици"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Помощ и отзиви"</string>
- <string name="select_language" msgid="3693815588777926848">"Езици за въвеждане"</string>
+ <string name="select_language" msgid="5709487854987078367">"Езици"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Докоснете отново, за да запазите"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Докоснете тук, за да запазите"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Има достъп до речник"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Тема на клавиатурата"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"английски (Великобритания)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"английски (САЩ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"испански (САЩ)"</string>
diff --git a/java/res/values-bn-rBD/strings.xml b/java/res/values-bn-rBD/strings.xml
index f3030d84d..6b8224676 100644
--- a/java/res/values-bn-rBD/strings.xml
+++ b/java/res/values-bn-rBD/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"কীপ্রেস এর সময় কম্পন"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"কীপ্রেস এর সময়ের শব্দ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"কীপ্রেস এর ফলে পপআপ"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ইনপুট পছন্দগুলি"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"উপস্থিতি"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"একাধিক ভাষা বিকল্পগুলি"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"অঙ্গভঙ্গি টাইপিং অভিরুচি"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"পছন্দসমূহ"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"চেহারা ও লেআউটগুলি"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"বহুভাষিক বিকল্পগুলি"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"অঙ্গভঙ্গি টাইপিং"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"পাঠ্য সংশোধন"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"উন্নত"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"থিম"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"বিভক্ত কীবোর্ড সক্ষম করুন"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"অন্য ইনপুট পদ্ধতিতে স্যুইচ করুন"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ভাষা স্যুইচ কীতে অন্যান্য ইনপুট পদ্ধতি পাওয়া যায়"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"ভাষা স্যুইচ কী"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"ভয়েস ইনপুট কী"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"কোনো ভয়েস ইনপুট পদ্ধতি সক্ষম নয়। ভাষা &amp; ইনপুট সেটিংস পরীক্ষা করুন।"</string>
<string name="configure_input_method" msgid="373356270290742459">"ইনপুট পদ্ধতি কনফিগার করুন"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ইনপুট ভাষাগুলি"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ভাষাগুলি"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"সহায়তা এবং প্রতিক্রিয়া"</string>
- <string name="select_language" msgid="3693815588777926848">"ইনপুট ভাষাগুলি"</string>
+ <string name="select_language" msgid="5709487854987078367">"ভাষাগুলি"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"সংরক্ষণ করতে আবার ছোঁন"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"সংরক্ষণ করতে এখানে স্পর্শ করুন"</string>
<string name="has_dictionary" msgid="6071847973466625007">"অভিধান উপলব্ধ"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"কীবোর্ড থিম"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ইংরেজি (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ইংরেজি (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"স্প্যানিশ (US)"</string>
@@ -121,8 +139,8 @@
<string name="setup_next_action" msgid="371821437915144603">"পরবর্তী পদক্ষেপ"</string>
<string name="setup_steps_title" msgid="6400373034871816182">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> সেট আপ হচ্ছে"</string>
<string name="setup_step1_title" msgid="3147967630253462315">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> সক্ষম করুন"</string>
- <string name="setup_step1_instruction" msgid="2578631936624637241">"দয়া করে আপনার ভাষা ও ইনপুট সেটিংস <xliff:g id="APPLICATION_NAME">%s</xliff:g> পরীক্ষা করুন। এর ফলে এটি আপনার ডিভাইসে চলার জন্য অনুমোদন পাবে।"</string>
- <string name="setup_step1_finished_instruction" msgid="10761482004957994">"আপনার ভাষা ও ইনপুট সেটিংসে ইতোমধ্যে <xliff:g id="APPLICATION_NAME">%s</xliff:g> সক্ষম করা হয়েছে, তাই এই পদক্ষেপটি সমাপ্ত। পরবর্তীটিতে এগোন!"</string>
+ <string name="setup_step1_instruction" msgid="2578631936624637241">"দয়া করে আপনার ভাষা ও কিবোর্ড সেটিংস <xliff:g id="APPLICATION_NAME">%s</xliff:g> পরীক্ষা করুন। এর ফলে এটি আপনার ডিভাইসে চলার জন্য অনুমোদন পাবে।"</string>
+ <string name="setup_step1_finished_instruction" msgid="10761482004957994">"আপনার ভাষা ও কিবোর্ড সেটিংসে ইতোমধ্যে <xliff:g id="APPLICATION_NAME">%s</xliff:g> সক্ষম করা হয়েছে, তাই এই পদক্ষেপটি সমাপ্ত। পরবর্তীটিতে এগোন!"</string>
<string name="setup_step1_action" msgid="4366513534999901728">"সেটিংসে সক্ষম করুন"</string>
<string name="setup_step2_title" msgid="6860725447906690594">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> এ স্যুইচ করুন"</string>
<string name="setup_step2_instruction" msgid="9141481964870023336">"এখন, সক্রিয় পাঠ্য-ইনপুট পদ্ধতি হিসেবে \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" নির্বাচন করুন।"</string>
diff --git a/java/res/values-ca/strings-emoji-descriptions.xml b/java/res/values-ca/strings-emoji-descriptions.xml
index 7e4beae3c..0a356f8e2 100644
--- a/java/res/values-ca/strings-emoji-descriptions.xml
+++ b/java/res/values-ca/strings-emoji-descriptions.xml
@@ -84,7 +84,7 @@
<string name="spoken_emoji_267B" msgid="21716857176812762">"Símbol universal de reciclatge negre"</string>
<string name="spoken_emoji_267F" msgid="8833496533226475443">"Símbol de cadira de rodes"</string>
<string name="spoken_emoji_2693" msgid="7443148847598433088">"Àncora"</string>
- <string name="spoken_emoji_26A0" msgid="6272635532992727510">"Senyal de perill"</string>
+ <string name="spoken_emoji_26A0" msgid="6272635532992727510">"Senyal d\'advertiment"</string>
<string name="spoken_emoji_26A1" msgid="5604749644693339145">"Senyal d\'alt voltatge"</string>
<string name="spoken_emoji_26AA" msgid="8005748091690377153">"Cercle blanc mitjà"</string>
<string name="spoken_emoji_26AB" msgid="1655910278422753244">"Cercle negre mitjà"</string>
@@ -578,7 +578,7 @@
<string name="spoken_emoji_1F4D8" msgid="7189799718984979521">"Llibre blau"</string>
<string name="spoken_emoji_1F4D9" msgid="3874664073186440225">"Llibre taronja"</string>
<string name="spoken_emoji_1F4DA" msgid="872212072924287762">"Llibres"</string>
- <string name="spoken_emoji_1F4DB" msgid="2015183603583392969">"Insígnia de nom"</string>
+ <string name="spoken_emoji_1F4DB" msgid="2015183603583392969">"Etiqueta identificativa"</string>
<string name="spoken_emoji_1F4DC" msgid="5075845110932456783">"Desplaça"</string>
<string name="spoken_emoji_1F4DD" msgid="2494006707147586786">"Nota"</string>
<string name="spoken_emoji_1F4DE" msgid="7883008605002117671">"Auricular del telèfon"</string>
@@ -591,7 +591,7 @@
<string name="spoken_emoji_1F4E5" msgid="3232462702926143576">"Safata d\'entrada"</string>
<string name="spoken_emoji_1F4E6" msgid="3399454337197561635">"Paquet"</string>
<string name="spoken_emoji_1F4E7" msgid="5557136988503873238">"Símbol de correu electrònic"</string>
- <string name="spoken_emoji_1F4E8" msgid="30698793974124123">"Sobre entrant"</string>
+ <string name="spoken_emoji_1F4E8" msgid="30698793974124123">"Correu entrant"</string>
<string name="spoken_emoji_1F4E9" msgid="5947550337678643166">"Sobre amb una fletxa cap avall al damunt"</string>
<string name="spoken_emoji_1F4EA" msgid="772614045207213751">"Bústia tancada amb la bandera baixada"</string>
<string name="spoken_emoji_1F4EB" msgid="6491414165464146137">"Bústia tancada amb la bandera aixecada"</string>
@@ -616,8 +616,8 @@
<string name="spoken_emoji_1F502" msgid="2361976580513178391">"Fletxes cap a la dreta i l\'esquerra que formen un cercle obert en sentit horari i un número u encerclat"</string>
<string name="spoken_emoji_1F503" msgid="8936283551917858793">"Fletxes cap avall i cap amunt que formen un cercle obert en sentit horari"</string>
<string name="spoken_emoji_1F504" msgid="708290317843535943">"Fletxes cap avall i cap amunt que formen un cercle obert en sentit antihorari"</string>
- <string name="spoken_emoji_1F505" msgid="6348909939004951860">"Signe de brillantor baixa"</string>
- <string name="spoken_emoji_1F506" msgid="4449609297521280173">"Signe de brillantor alta"</string>
+ <string name="spoken_emoji_1F505" msgid="6348909939004951860">"Símbol de brillantor baixa"</string>
+ <string name="spoken_emoji_1F506" msgid="4449609297521280173">"Símbol de brillantor alta"</string>
<string name="spoken_emoji_1F507" msgid="7136386694923708448">"Altaveu amb barra de cancel·lació"</string>
<string name="spoken_emoji_1F508" msgid="5063567689831527865">"Altaveu"</string>
<string name="spoken_emoji_1F509" msgid="3948050077992370791">"Altaveu amb una ona de so"</string>
diff --git a/java/res/values-ca/strings-talkback-descriptions.xml b/java/res/values-ca/strings-talkback-descriptions.xml
index 9b01c75ed..a77db8b94 100644
--- a/java/res/values-ca/strings-talkback-descriptions.xml
+++ b/java/res/values-ca/strings-talkback-descriptions.xml
@@ -57,7 +57,7 @@
<string name="announce_keyboard_mode" msgid="6698257917367823205">"Es mostra el teclat per a <xliff:g id="KEYBOARD_MODE">%s</xliff:g>."</string>
<string name="keyboard_mode_date" msgid="6597407244976713364">"data"</string>
<string name="keyboard_mode_date_time" msgid="3642804408726668808">"data i hora"</string>
- <string name="keyboard_mode_email" msgid="1239682082047693644">"correu electrònic"</string>
+ <string name="keyboard_mode_email" msgid="1239682082047693644">"adreça electrònica"</string>
<string name="keyboard_mode_im" msgid="3812086215529493501">"missatgeria"</string>
<string name="keyboard_mode_number" msgid="5395042245837996809">"número"</string>
<string name="keyboard_mode_phone" msgid="2486230278064523665">"telèfon"</string>
diff --git a/java/res/values-ca/strings.xml b/java/res/values-ca/strings.xml
index cc8c71d80..f5cfcf564 100644
--- a/java/res/values-ca/strings.xml
+++ b/java/res/values-ca/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibra en prémer tecles"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"So en prémer tecles"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Amplia en prémer tecles"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferències d\'entrada"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aparença"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opcions diversos idiomes"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Ajust escriptura gestual"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferències"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aparença i dissenys"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opcions de diversos idiomes"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Escriptura gestual"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correcció de textos"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avançat"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Activa el teclat partit"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altres mètodes d\'introducció"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de canvi d\'idioma serveix també per a altres mètodes d\'entrada"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de canvi d\'idioma"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tecla d\'entrada de veu"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"No hi ha cap mètode d\'introducció activat. Comprova la configuració d\'Idioma i introducció de text."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configura mètodes d\'entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomes"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Idiomes"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Ajuda i opinió"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomes d\'introducció"</string>
+ <string name="select_language" msgid="5709487854987078367">"Idiomes"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Torna a tocar per desar"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Toca aquí per desar."</string>
<string name="has_dictionary" msgid="6071847973466625007">"Diccionari disponible"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema del teclat"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Anglès (Regne Unit)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglès (EUA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Espanyol (EUA)"</string>
@@ -102,7 +120,7 @@
<string name="subtype_emoji" msgid="7483586578074549196">"Emoji"</string>
<string name="keyboard_theme" msgid="4909551808526178852">"Tema del teclat"</string>
<string name="custom_input_styles_title" msgid="8429952441821251512">"Estils d\'entrada personalitzats"</string>
- <string name="add_style" msgid="6163126614514489951">"Afeg. estil"</string>
+ <string name="add_style" msgid="6163126614514489951">"Afegeix estil"</string>
<string name="add" msgid="8299699805688017798">"Afegeix"</string>
<string name="remove" msgid="4486081658752944606">"Elimina"</string>
<string name="save" msgid="7646738597196767214">"Desa"</string>
diff --git a/java/res/values-cs/strings.xml b/java/res/values-cs/strings.xml
index 978c21148..5972be483 100644
--- a/java/res/values-cs/strings.xml
+++ b/java/res/values-cs/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Při stisku klávesy vibrovat"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk při stisku klávesy"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Detail znaku při stisku klávesy"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Předvolby pro zadávání"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Vzhled"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Možnosti pro více jazyků"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Předvolby pro psaní gesty"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Předvolby"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Vzhled a rozvržení"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Možnosti pro více jazyků"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Psaní gesty"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Oprava textu"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Rozšířená nastavení"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Motiv"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Aktivovat rozdělenou klávesnici"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Přepínat metody zadávání"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Klávesa pro přepínání jazyka ovládá i další metody zadávání"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Klávesa přepínání jazyka"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Klávesa hlasového vstupu"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nejsou povoleny žádné metody hlasového vstupu. Zkontrolujte nastavení Jazyk a vstup."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurace metod zadávání"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Vstupní jazyky"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Jazyky"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Nápověda a zpětná vazba"</string>
- <string name="select_language" msgid="3693815588777926848">"Vstupní jazyky"</string>
+ <string name="select_language" msgid="5709487854987078367">"Jazyky"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Opětovným dotykem provedete uložení"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Klepnutím sem položku uložíte"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Slovník k dispozici"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Motiv klávesnice"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"angličtina (Velká Británie)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angličtina (USA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"španělština (USA)"</string>
diff --git a/java/res/values-da/strings.xml b/java/res/values-da/strings.xml
index fc396e4da..7143af588 100644
--- a/java/res/values-da/strings.xml
+++ b/java/res/values-da/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibration ved tastetryk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetryk"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop op ved tastetryk"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Indstillinger for input"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Udseende"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Indst. for flere sprog"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Indstillinger for Glidende indtastning"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Præferencer"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Udseende og layouts"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Indstillinger for flere sprog"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Glidende indtastning"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Tekstkorrigering"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avanceret"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Aktivér delt tastatur"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skift inputmetode"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasten til sprogskift gælder også for andre inputmetoder"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Knap til sprogskift"</string>
@@ -65,22 +69,36 @@
<string name="bigram_prediction" msgid="1084449187723948550">"Forslag til næste ord"</string>
<string name="bigram_prediction_summary" msgid="3896362682751109677">"Brug det forrige ord til at give forslag"</string>
<string name="gesture_input" msgid="826951152254563827">"Aktivér glidende indtastning"</string>
- <string name="gesture_input_summary" msgid="9180350639305731231">"Skriv et ord ved at glide mellem bogstaverne"</string>
+ <string name="gesture_input_summary" msgid="9180350639305731231">"Skriv et ord ved at trække fingeren rundt mellem bogstaverne"</string>
<string name="gesture_preview_trail" msgid="3802333369335722221">"Vis glidende trykspor"</string>
<string name="gesture_floating_preview_text" msgid="4443240334739381053">"Dynamiske ordeksempler"</string>
<string name="gesture_floating_preview_text_summary" msgid="4472696213996203533">"Se ordforslag ved glidende indtastning"</string>
- <string name="gesture_space_aware" msgid="2078291600664682496">"Bevægelse for udtryk"</string>
+ <string name="gesture_space_aware" msgid="2078291600664682496">"Glidende mellemrum"</string>
<string name="gesture_space_aware_summary" msgid="4371385818348528538">"Tilføj mellemrum ved at glide til mellemrumstasten"</string>
<string name="voice_input" msgid="3583258583521397548">"Knap til taleinput"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Der er ingen aktiverede stemmeinputmetoder. Kontrollér Indstillinger for sprog og input."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurer inputmetoder"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Inputsprog"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Sprog"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Hjælp og feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Inputsprog"</string>
+ <string name="select_language" msgid="5709487854987078367">"Sprog"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Tryk igen for at gemme"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Klik her for at gemme"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Ordbog er tilgængelig"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tastaturtema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Engelsk (Storbritannien)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engelsk (USA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spansk (USA)"</string>
diff --git a/java/res/values-de/strings.xml b/java/res/values-de/strings.xml
index f2873e68c..b6b21af03 100644
--- a/java/res/values-de/strings.xml
+++ b/java/res/values-de/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Bei Tastendruck vibrieren"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Ton bei Tastendruck"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bei Tastendruck"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Eingabeeinstellungen"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Darstellung"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Mehrsprachige Optionen"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Bewegungseingabe-Einst."</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Einstellungen"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Darstellung &amp; Layouts"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Mehrsprachige Optionen"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Bewegungseingabe"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Textkorrektur"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Erweitert"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Design"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Geteilte Tastatur aktivieren"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Eingabemethoden wechseln"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Sprachwechseltaste umfasst auch andere Eingabemethoden."</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Sprachwechsel"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Taste für Spracheingabe"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Keine Spracheingabemethoden aktiviert. Rufen Sie die Einstellungen für \"Sprache &amp; Eingabe\" auf."</string>
<string name="configure_input_method" msgid="373356270290742459">"Eingabemethoden konfigurieren"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Eingabesprachen"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Sprachen"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Hilfe &amp; Feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Eingabesprachen"</string>
+ <string name="select_language" msgid="5709487854987078367">"Sprachen"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Zum Speichern erneut berühren"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Tippen Sie hier zum Speichern."</string>
<string name="has_dictionary" msgid="6071847973466625007">"Wörterbuch verfügbar"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tastaturdesign"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Englisch (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Englisch (USA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spanisch (USA)"</string>
diff --git a/java/res/values-el/strings.xml b/java/res/values-el/strings.xml
index 2daeb81f1..4bebe3ec2 100644
--- a/java/res/values-el/strings.xml
+++ b/java/res/values-el/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Δόνηση κατά το πάτημα πλήκτρων"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Ήχος κατά το πάτημα πλήκτρων"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Εμφάνιση με το πάτημα πλήκτρου"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Προτιμήσεις εισαγωγής"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Εμφάνιση"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Πολυγλωσσικές επιλογές"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Προτιμήσεις πληκτρολόγησης χειρονομιών"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Προτιμήσεις"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Εμφάνιση και διάταξη"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Επιλογές για πολλές γλώσσες"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Πληκτρολόγηση με κίνηση"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Διόρθωση κειμένου"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Σύνθετες"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Θέμα"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Ενεργοποίηση διαχωρισμού πληκτρολογίου"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Άλλη μέθοδος εισόδου"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Το κλειδί αλλαγής γλώσσας καλύπτει και άλλες μεθόδους εισόδου"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Πλήκτρο εναλλαγής γλώσσας"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Κλειδί φωνητικής εξόδου"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Δεν έχουν ενεργοποιηθεί μέθοδοι φωνητικής εισαγωγής. Ελέγξτε τις Ρυθμίσεις Γλώσσας και εισαγωγής."</string>
<string name="configure_input_method" msgid="373356270290742459">"Διαμόρφωση μεθόδων εισαγωγής"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Γλώσσες εισόδου"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Γλώσσες"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Βοήθεια και σχόλια"</string>
- <string name="select_language" msgid="3693815588777926848">"Γλώσσες εισόδου"</string>
+ <string name="select_language" msgid="5709487854987078367">"Γλώσσες"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Αγγίξτε ξανά για αποθήκευση"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Αγγίξτε εδώ για αποθήκευση"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Λεξικό διαθέσιμο"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Θέμα πληκτρολογίου"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Αγγλικά (Η.Β.)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Αγγλικά (Η.Π.Α)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Ισπανικά (ΗΠΑ)"</string>
diff --git a/java/res/values-en-rGB/strings.xml b/java/res/values-en-rGB/strings.xml
index 271b837be..14ddafcee 100644
--- a/java/res/values-en-rGB/strings.xml
+++ b/java/res/values-en-rGB/strings.xml
@@ -26,12 +26,15 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrate on keypress"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sound on keypress"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up on key press"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Input preferences"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Appearance"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Multilingual options"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Gesture typing preferences"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferences"</string>
+ <string name="settings_screen_accounts" msgid="7570397912370223287">"Accounts &amp; privacy"</string>
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Appearance &amp; layouts"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Multilingual options"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Gesture Typing"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Text correction"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Advanced"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Theme"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Enable split keyboard"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Switch to other input methods"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Language switch key also covers other input methods"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Language switch key"</string>
@@ -74,13 +77,20 @@
<string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"No voice input methods enabled. Check Language &amp; input settings."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Input languages"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Languages"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Help &amp; feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Input languages"</string>
+ <string name="select_language" msgid="5709487854987078367">"Languages"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Touch again to save"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Touch here to save"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dictionary available"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Keyboard theme"</string>
+ <string name="switch_accounts" msgid="3321216593719006162">"Change accounts"</string>
+ <string name="no_accounts_selected" msgid="2073821619103904330">"No accounts selected"</string>
+ <string name="account_selected" msgid="2846876462199625974">"Currently using <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>"</string>
+ <string name="account_select_ok" msgid="9141195141763227797">"OK"</string>
+ <string name="account_select_cancel" msgid="5181012062618504340">"Cancel"</string>
+ <string name="account_select_sign_out" msgid="3299651159390187933">"Sign out"</string>
+ <string name="account_select_title" msgid="6279711684772922649">"Select an account to use"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"English (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"English (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spanish (US)"</string>
diff --git a/java/res/values-en-rIN/strings.xml b/java/res/values-en-rIN/strings.xml
index 271b837be..14ddafcee 100644
--- a/java/res/values-en-rIN/strings.xml
+++ b/java/res/values-en-rIN/strings.xml
@@ -26,12 +26,15 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrate on keypress"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sound on keypress"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up on key press"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Input preferences"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Appearance"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Multilingual options"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Gesture typing preferences"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferences"</string>
+ <string name="settings_screen_accounts" msgid="7570397912370223287">"Accounts &amp; privacy"</string>
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Appearance &amp; layouts"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Multilingual options"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Gesture Typing"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Text correction"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Advanced"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Theme"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Enable split keyboard"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Switch to other input methods"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Language switch key also covers other input methods"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Language switch key"</string>
@@ -74,13 +77,20 @@
<string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"No voice input methods enabled. Check Language &amp; input settings."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configure input methods"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Input languages"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Languages"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Help &amp; feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Input languages"</string>
+ <string name="select_language" msgid="5709487854987078367">"Languages"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Touch again to save"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Touch here to save"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dictionary available"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Keyboard theme"</string>
+ <string name="switch_accounts" msgid="3321216593719006162">"Change accounts"</string>
+ <string name="no_accounts_selected" msgid="2073821619103904330">"No accounts selected"</string>
+ <string name="account_selected" msgid="2846876462199625974">"Currently using <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>"</string>
+ <string name="account_select_ok" msgid="9141195141763227797">"OK"</string>
+ <string name="account_select_cancel" msgid="5181012062618504340">"Cancel"</string>
+ <string name="account_select_sign_out" msgid="3299651159390187933">"Sign out"</string>
+ <string name="account_select_title" msgid="6279711684772922649">"Select an account to use"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"English (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"English (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spanish (US)"</string>
diff --git a/java/res/values-es-rUS/strings.xml b/java/res/values-es-rUS/strings.xml
index 31219a752..a7fb3aef1 100644
--- a/java/res/values-es-rUS/strings.xml
+++ b/java/res/values-es-rUS/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar al pulsar teclas"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sonar al pulsar las teclas"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Aviso emergente al pulsar tecla"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferencias de entrada"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Apariencia"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opciones multilingües"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Pref. escritura gestual"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferencias"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Apariencia y diseños"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opciones multilingües"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Escritura gestual"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Corrección ortográfica"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avanzada"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Habilitar teclado dividido"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de entrada"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de cambio de idioma abarca otros métodos de entrada."</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de selección de idioma"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tecla de entrada por voz"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"No hay métodos de entrada de voz habilitados. Comprueba la configuración de Teclado e idioma."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Idiomas"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Ayuda y comentarios"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string>
+ <string name="select_language" msgid="5709487854987078367">"Idiomas"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Vuelve a tocar para guardar."</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Tocar aquí para guardar."</string>
<string name="has_dictionary" msgid="6071847973466625007">"Diccionario disponible"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema del teclado"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Inglés (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglés (EE.UU.)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Español (EE.UU.)"</string>
diff --git a/java/res/values-es/strings.xml b/java/res/values-es/strings.xml
index 8c5216447..56079f100 100644
--- a/java/res/values-es/strings.xml
+++ b/java/res/values-es/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar al pulsar tecla"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sonar al pulsar tecla"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ampliar al pulsar tecla"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferencias de entrada"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aspecto"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opciones multilingües"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Opciones escritura gestual"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferencias"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aspecto y diseño"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opciones multilingües"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Escritura gestual"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Corrección ortográfica"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Opciones avanzadas"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Habilitar teclado dividido"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Otros métodos de introducción"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La tecla de cambio de idioma sirve también para otros métodos"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tecla para cambiar de idioma"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tecla de entrada de voz"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Sin métodos de introducción de voz habilitados. Comprueba ajustes de Idioma e introducción de texto."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas"</string>
- <string name="help_and_feedback" msgid="5328219371839879161">"Ayuda y opiniones"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de introducción"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Idiomas"</string>
+ <string name="help_and_feedback" msgid="5328219371839879161">"Ayuda y sugerencias"</string>
+ <string name="select_language" msgid="5709487854987078367">"Idiomas"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Toca otra vez para guardar"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Toca aquí para guardar"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Hay un diccionario disponible"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema de teclado"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"inglés (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"inglés (EE.UU.)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Español (EE.UU.)"</string>
@@ -112,7 +130,7 @@
<string name="enable" msgid="5031294444630523247">"Habilitar"</string>
<string name="not_now" msgid="6172462888202790482">"Ahora no"</string>
<string name="custom_input_style_already_exists" msgid="8008728952215449707">"Ya existe el estilo de entrada <xliff:g id="INPUT_STYLE_NAME">%s</xliff:g>."</string>
- <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Duración vibración al pulsar"</string>
+ <string name="prefs_keypress_vibration_duration_settings" msgid="7918341459947439226">"Duración de vibración al pulsar"</string>
<string name="prefs_keypress_sound_volume_settings" msgid="6027007337036891623">"Volumen sonido al pulsar tecla"</string>
<string name="button_default" msgid="3988017840431881491">"Predeterminado"</string>
<string name="setup_welcome_title" msgid="6112821709832031715">"Te damos la bienvenida a <xliff:g id="APPLICATION_NAME">%s</xliff:g>"</string>
@@ -175,7 +193,7 @@
<string name="user_dict_settings_add_shortcut_option_name" msgid="3094731590655523777">"Acceso directo:"</string>
<string name="user_dict_settings_add_locale_option_name" msgid="4738643440987277705">"Idioma:"</string>
<string name="user_dict_settings_add_word_hint" msgid="4902434148985906707">"Escribe una palabra"</string>
- <string name="user_dict_settings_add_shortcut_hint" msgid="2265453012555060178">"Acceso directo opcional"</string>
+ <string name="user_dict_settings_add_shortcut_hint" msgid="2265453012555060178">"Introducir"</string>
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"Editar palabra"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"Editar"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"Eliminar"</string>
diff --git a/java/res/values-et-rEE/strings.xml b/java/res/values-et-rEE/strings.xml
index 869fdd97b..bb9c78ffd 100644
--- a/java/res/values-et-rEE/strings.xml
+++ b/java/res/values-et-rEE/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibreeri klahvivajutusel"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Heli klahvivajutusel"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Klahvivajutusel kuva hüpik"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Sisestuseelistused"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Ilme"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Mitme keele valikud"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Viipesisestuseelistused"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Eelistused"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Välimus ja paigutused"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Mitmekeelsed valikud"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Joonistusega sisestamine"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Tekstiparandus"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Täpsem"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Teema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Luba kaheks jaotatud klaviatuur"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Vaheta sisestusmeetodit"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Keelevahetuse võti hõlmab ka muid sisestusmeetodeid"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Keelevahetuse nupp"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Häälesisendi klahv"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ühtegi häälsisendmeetodit pole lubatud. Kontrollige keele- ja sisendiseadeid."</string>
<string name="configure_input_method" msgid="373356270290742459">"Sisestusmeetodite seadistamine"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Sisestuskeeled"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Keeled"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Abi ja tagasiside"</string>
- <string name="select_language" msgid="3693815588777926848">"Sisestuskeeled"</string>
+ <string name="select_language" msgid="5709487854987078367">"Keeled"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Salvestamiseks puudutage uuesti"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Salvestamiseks puudutage siin"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Sõnastik saadaval"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klaviatuuri teema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Inglise (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglise (USA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"hispaania (USA)"</string>
diff --git a/java/res/values-eu-rES/strings.xml b/java/res/values-eu-rES/strings.xml
index 0be6ddf95..9b2e5f56c 100644
--- a/java/res/values-eu-rES/strings.xml
+++ b/java/res/values-eu-rES/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Egin dar-dar sakatzean"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Egin soinua tekla sakatzean"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Handitu teklak, sakatzean"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Idazketa-hobespenak"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Itxura"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Aukera eleanitzak"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Keinu-idazketaren hobespenak"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Hobespenak"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Itxura eta diseinuak"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Aukera eleanitzak"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Keinu bidezko idazketa"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Testu-zuzenketa"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Ezarpen aurreratuak"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Gaia"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Gaitu teklatu banatua"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Aldatu idazketa-metodoa"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Hizkuntza aldatzeko teklak beste idazketa-metodoetarako ere balio du"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Hizkuntza aldatzeko tekla"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Ahots bidezko idazketaren tekla"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ez da ahots bidezko idazketa-metodorik gaitu. Egiaztatu Hizkuntza eta idazketa ataleko ezarpenak."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfiguratu idazketa-metodoak"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idazketa-hizkuntzak"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Hizkuntzak"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Laguntza eta iritziak"</string>
- <string name="select_language" msgid="3693815588777926848">"Idazketa-hizkuntzak"</string>
+ <string name="select_language" msgid="5709487854987078367">"Hizkuntzak"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Gordetzeko, ukitu berriro"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Gordetzeko, ukitu hau"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Hiztegia erabilgarri"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Teklatuaren gaia"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Ingelesa (Erresuma Batua)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Ingelesa (AEB)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Gaztelania (AEB)"</string>
diff --git a/java/res/values-fa/strings.xml b/java/res/values-fa/strings.xml
index ac2c8f62a..70f481a62 100644
--- a/java/res/values-fa/strings.xml
+++ b/java/res/values-fa/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"لرزش با فشار کلید"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"صدا با فشار کلید"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"بازشدن با فشار کلید"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"اولویت‌های ورودی"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"ظاهر"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"انتخاب‌های چندزبانه"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"موارد ترجیحی تایپ با اشاره"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"تنظیمات ترجیحی"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"ظاهر و طرح‌بندی‌ها"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"گزینه‌های چندزبانی"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"ورودی اشاره‌ای"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"اصلاح نوشتار"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"پیشرفته"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"طرح‌زمینه"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"فعال کردن دونیم‌کردن صفحه‌کلید"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"تغییر به دیگر روش‌های ورودی"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"کلید تغییر زبان، سایر ورودی‌های زبان را نیز پوشش می‌دهد"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"کلید تغییر زبان"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"کلید ورودی صدا"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"هیچ روش ورودی صوتی فعال نشده است. تنظیمات زبان و ورودی را بررسی کنید."</string>
<string name="configure_input_method" msgid="373356270290742459">"پیکربندی روش‌های ورودی"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"زبان‌های ورودی"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"زبان‌ها"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"راهنما و بازخورد"</string>
- <string name="select_language" msgid="3693815588777926848">"زبان‌های ورودی"</string>
+ <string name="select_language" msgid="5709487854987078367">"زبان‌ها"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"برای ذخیره دوباره لمس کنید"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"برای ذخیره اینجا را لمس کنید"</string>
<string name="has_dictionary" msgid="6071847973466625007">"دیکشنری موجود است"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"طرح زمینه صفحه‌کلید"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"انگلیسی (بریتانیا)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"انگلیسی (امریکا)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"اسپانیایی (آمریکا)"</string>
diff --git a/java/res/values-fi/strings.xml b/java/res/values-fi/strings.xml
index a94f5737c..da7014647 100644
--- a/java/res/values-fi/strings.xml
+++ b/java/res/values-fi/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Käytä värinää näppäimiä painettaessa"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Toista ääni näppäimiä painettaessa"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ponnahdusikkuna painalluksella"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Syöttöasetukset"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Ulkonäkö"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Kieliasetukset"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Piirtokirjoitusasetukset"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Asetukset"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Ulkoasu ja asettelut"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Monikielisyysasetukset"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Piirtokirjoitus"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Tekstin korjaus"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Lisäasetukset"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Teema"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Käytä toista syöttötapaa"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kielenvaihtonäppäin kattaa myös muut syöttötavat"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Kielenvaihtonäppäin"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"Äänisyöteavain"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Äänen syöttötapoja ei ole otettu käyttöön. Tarkista Kieli ja syöttötapa -asetukset."</string>
<string name="configure_input_method" msgid="373356270290742459">"Määritä syöttötavat"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Syöttökielet"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Kielet"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Ohje ja palaute"</string>
- <string name="select_language" msgid="3693815588777926848">"Syöttökielet"</string>
+ <string name="select_language" msgid="5709487854987078367">"Kielet"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Tallenna koskettamalla uudelleen"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Tallenna koskettamalla tätä"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Sanakirja saatavilla"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Näppäimistöteema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"englanti (Iso-Britannia)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"englanti (Yhdysvallat)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"espanja (Yhdysvallat)"</string>
diff --git a/java/res/values-fr-rCA/strings.xml b/java/res/values-fr-rCA/strings.xml
index 8b6afcbc5..2773c3b19 100644
--- a/java/res/values-fr-rCA/strings.xml
+++ b/java/res/values-fr-rCA/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer à chaque touche"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Son à chaque touche"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Agrandir les caractères"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Préférences d\'entrée"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Apparence"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Options multilingues"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Préfér. entrée gestuelle"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Préférences"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Apparence et dispositions"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Options multilingues"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Entrée gestuelle"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correction du texte"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avancés"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Thème"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Activer le clavier en deux parties"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Autres modes de saisie"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La touche de sélection de langue couvre d\'autres modes de saisie"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Touche de sélection de langue"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Touche de saisie vocale"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Aucun mode d\'entrée vocale n\'a été activé. Vérifiez les paramètres de langues et d\'entrée de texte."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurer les modes de saisie"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Langues de saisie"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Langues"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Aide et commentaires"</string>
- <string name="select_language" msgid="3693815588777926848">"Langues de saisie"</string>
+ <string name="select_language" msgid="5709487854987078367">"Langues"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Appuyer de nouveau pour enregistrer"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Touchez ici pour enregistrer le mot dans le dictionnaire"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dictionnaire disponible"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Thème du clavier"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Anglais (britannique)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglais (États-Unis)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Espagnol (États-Unis)"</string>
diff --git a/java/res/values-fr/strings.xml b/java/res/values-fr/strings.xml
index 79dc431fa..fd945fbed 100644
--- a/java/res/values-fr/strings.xml
+++ b/java/res/values-fr/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer à chaque touche"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Son à chaque touche"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Agrandir les caractères"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Préférences de saisie"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Apparence"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Options multilingues"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Préf. saisie gestuelle"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Préférences"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Apparence et dispositions"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Options multilingues"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Saisie gestuelle"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correction du texte"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Paramètres avancés"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Thème"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Activer le clavier en deux parties"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Autres modes de saisie"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"La touche de sélection de langue couvre d\'autres modes de saisie."</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Touche de sélection de langue"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Touche de saisie vocale"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Aucun mode de saisie vocale activé. Vérifiez les paramètres de langue et de saisie."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurer les modes de saisie"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Langues de saisie"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Langues"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Aide et commentaires"</string>
- <string name="select_language" msgid="3693815588777926848">"Langues de saisie"</string>
+ <string name="select_language" msgid="5709487854987078367">"Langues"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Appuyer de nouveau pour enregistrer"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Appuyez ici pour enregistrer."</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dictionnaire disponible"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Thème du clavier"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Anglais (Royaume-Uni)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglais (États-Unis)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Espagnol (États-Unis)"</string>
diff --git a/java/res/values-gl-rES/strings-emoji-descriptions.xml b/java/res/values-gl-rES/strings-emoji-descriptions.xml
index ec179780f..cdb67fa45 100644
--- a/java/res/values-gl-rES/strings-emoji-descriptions.xml
+++ b/java/res/values-gl-rES/strings-emoji-descriptions.xml
@@ -804,7 +804,7 @@
<string name="spoken_emoji_1F697" msgid="7978399334396733790">"Automóbil"</string>
<string name="spoken_emoji_1F698" msgid="7006050861129732018">"Automóbil próximo"</string>
<string name="spoken_emoji_1F699" msgid="630317052666590607">"Caravana"</string>
- <string name="spoken_emoji_1F69A" msgid="4739797891735823577">"Camión de reparto"</string>
+ <string name="spoken_emoji_1F69A" msgid="4739797891735823577">"Camión de entrega"</string>
<string name="spoken_emoji_1F69B" msgid="4715997280786620649">"Camión articulado"</string>
<string name="spoken_emoji_1F69C" msgid="5557395610750818161">"Tractor"</string>
<string name="spoken_emoji_1F69D" msgid="5467164189942951047">"Monorraíl"</string>
diff --git a/java/res/values-gl-rES/strings.xml b/java/res/values-gl-rES/strings.xml
index 7f087e9eb..fc8773a0b 100644
--- a/java/res/values-gl-rES/strings.xml
+++ b/java/res/values-gl-rES/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao tocar as teclas"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Son ao premer as teclas"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ventás emerxentes ao premer as teclas"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferencias de entrada"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aparencia"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opcións multilingües"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Preferencias de escritura de xestos"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferencias"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aparencia e deseños"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opcións multilingües"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Escritura mediante xestos"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Corrección de texto"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avanzada"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Activar teclado dividido"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Outros métodos de entrada"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla de cambio de idioma inclúe outros métodos de entrada"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de cambio de idioma"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tecla de entrada de voz"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Non hai ningún método de entrada de voz activado. Comproba a configuración de Idioma e entrada de texto."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
- <string name="help_and_feedback" msgid="5328219371839879161">"Axuda e opinións"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Idiomas"</string>
+ <string name="help_and_feedback" msgid="5328219371839879161">"Axuda e suxerencias"</string>
+ <string name="select_language" msgid="5709487854987078367">"Idiomas"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Toca de novo para gardar"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Toca aquí para gardar"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dicionario dispoñible"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema do teclado"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Inglés (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglés (EUA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Español (EUA)"</string>
diff --git a/java/res/values-hi/strings-action-keys.xml b/java/res/values-hi/strings-action-keys.xml
index 7237c24bb..8768ee7da 100644
--- a/java/res/values-hi/strings-action-keys.xml
+++ b/java/res/values-hi/strings-action-keys.xml
@@ -21,7 +21,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="label_go_key" msgid="4033615332628671065">"जाएं"</string>
- <string name="label_next_key" msgid="5586407279258592635">"अगला"</string>
+ <string name="label_next_key" msgid="5586407279258592635">"आगे"</string>
<string name="label_previous_key" msgid="1421141755779895275">"पिछला"</string>
<string name="label_done_key" msgid="7564866296502630852">"पूर्ण"</string>
<string name="label_send_key" msgid="482252074224462163">"भेजें"</string>
diff --git a/java/res/values-hi/strings-letter-descriptions.xml b/java/res/values-hi/strings-letter-descriptions.xml
index ecf589ab7..1e817fd98 100644
--- a/java/res/values-hi/strings-letter-descriptions.xml
+++ b/java/res/values-hi/strings-letter-descriptions.xml
@@ -200,7 +200,7 @@
<string name="spoken_symbol_2105" msgid="7289404939366976829">"द्वारा"</string>
<string name="spoken_symbol_2192" msgid="827804523596125414">"दायां तीर"</string>
<string name="spoken_symbol_2193" msgid="2659541693445985717">"नीचे तीर"</string>
- <string name="spoken_symbol_2205" msgid="4457188084269117343">"रिक्त सेट"</string>
+ <string name="spoken_symbol_2205" msgid="4457188084269117343">"खाली सेट"</string>
<string name="spoken_symbol_2206" msgid="4856786565708380687">"वृद्धि"</string>
<string name="spoken_symbol_2264" msgid="5092061257745123554">"इससे कम या इसके बराबर"</string>
<string name="spoken_symbol_2265" msgid="1907966479878036357">"इससे अधिक या इसके बराबर"</string>
diff --git a/java/res/values-hi/strings-talkback-descriptions.xml b/java/res/values-hi/strings-talkback-descriptions.xml
index aba2592b8..6a55f292e 100644
--- a/java/res/values-hi/strings-talkback-descriptions.xml
+++ b/java/res/values-hi/strings-talkback-descriptions.xml
@@ -21,8 +21,8 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="spoken_use_headphones" msgid="4313642710742229868">"जोर से बोली जाने वाली पासवर्ड कुंजियां सुनने के लिए हैडसेट प्‍लग करें."</string>
- <string name="spoken_current_text_is" msgid="4240549866156675799">"वर्तमान पाठ %s है"</string>
- <string name="spoken_no_text_entered" msgid="1711276837961785646">"कोई पाठ नहीं डाला गया"</string>
+ <string name="spoken_current_text_is" msgid="4240549866156675799">"वर्तमान लेख %s है"</string>
+ <string name="spoken_no_text_entered" msgid="1711276837961785646">"कोई लेख नहीं डाला गया"</string>
<string name="spoken_auto_correct" msgid="8989324692167993804">"<xliff:g id="KEY_NAME">%1$s</xliff:g> <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> को सुधार कर <xliff:g id="CORRECTED_WORD">%3$s</xliff:g> करता है"</string>
<string name="spoken_auto_correct_obscured" msgid="7769449372355268412">"<xliff:g id="KEY_NAME">%1$s</xliff:g> स्वत: सुधार करता है"</string>
<string name="spoken_description_unknown" msgid="5139930082759824442">"अज्ञात वर्ण"</string>
@@ -44,7 +44,7 @@
<string name="spoken_description_search" msgid="5099937658231911288">"खोजें"</string>
<string name="spoken_description_dot" msgid="5644176501632325560">"डॉट"</string>
<string name="spoken_description_language_switch" msgid="6818666779313544553">"भाषा स्विच करें"</string>
- <string name="spoken_description_action_next" msgid="431761808119616962">"अगला"</string>
+ <string name="spoken_description_action_next" msgid="431761808119616962">"आगे"</string>
<string name="spoken_description_action_previous" msgid="2919072174697865110">"पिछला"</string>
<string name="spoken_description_shiftmode_on" msgid="5107180516341258979">"शिफ़्ट सक्षम किया गया"</string>
<string name="spoken_description_shiftmode_locked" msgid="7307477738053606881">"कैप्स लॉक सक्षम किया गया"</string>
@@ -61,7 +61,7 @@
<string name="keyboard_mode_im" msgid="3812086215529493501">"संदेश सेवा"</string>
<string name="keyboard_mode_number" msgid="5395042245837996809">"संख्या"</string>
<string name="keyboard_mode_phone" msgid="2486230278064523665">"फ़ोन"</string>
- <string name="keyboard_mode_text" msgid="9138789594969187494">"पाठ"</string>
+ <string name="keyboard_mode_text" msgid="9138789594969187494">"लेख"</string>
<string name="keyboard_mode_time" msgid="8558297845514402675">"समय"</string>
<string name="keyboard_mode_url" msgid="8072011652949962550">"URL"</string>
<string name="spoken_descrption_emoji_category_recents" msgid="4185344945205590692">"हाल ही के"</string>
diff --git a/java/res/values-hi/strings.xml b/java/res/values-hi/strings.xml
index 35b09d69f..3453b44c9 100644
--- a/java/res/values-hi/strings.xml
+++ b/java/res/values-hi/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"कुंजी दबाने पर कंपन करता है"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"कुंजी दबाने पर आवाज"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"कुंजी दबाने पर पॉपअप दिखाएं"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"इनपुट प्राथमिकताएं"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"प्रकटन"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"बहुभाषी विकल्प"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"हावभाव लेखन वरीयताएं"</string>
- <string name="settings_screen_correction" msgid="1616818407747682955">"पाठ सुधार"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"प्राथमिकताएं"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"प्रकटन और लेआउट"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"बहुभाषीय विकल्प"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"हावभाव लेखन"</string>
+ <string name="settings_screen_correction" msgid="1616818407747682955">"लेख सुधार"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"अतिरिक्त सेटिंग"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"थीम"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"स्प्लिट कीबोर्ड सक्षम करें"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्‍य इनपुट पद्धतियों पर जाएं"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्‍विच कुंजी में अन्‍य इनपुट पद्धतियां भी शामिल हैं"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच कुंजी"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"ध्‍वनि‍ इनपुट कुंजी"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"कोई ध्वनि इनपुट पद्धति सक्षम नहीं है. भाषा और इनपुट सेटिंग जांचें."</string>
<string name="configure_input_method" msgid="373356270290742459">"इनपुट पद्धति कॉन्‍फ़िगर करें"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषा"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"भाषाएं"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"सहायता और फ़ीडबैक"</string>
- <string name="select_language" msgid="3693815588777926848">"इनपुट भाषाएं"</string>
+ <string name="select_language" msgid="5709487854987078367">"भाषाएं"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"सहेजने के लिए पुन: स्‍पर्श करें"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"सहेजने के लिए यहां स्पर्श करें"</string>
<string name="has_dictionary" msgid="6071847973466625007">"शब्‍दकोश उपलब्‍ध है"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"कीबोर्ड थीम"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"अंग्रेज़ी (यूके)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"अंग्रेज़ी (यूएस)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"स्पेनिश (यूएस)"</string>
@@ -105,7 +123,7 @@
<string name="add_style" msgid="6163126614514489951">"शैली जोड़ें"</string>
<string name="add" msgid="8299699805688017798">"जोड़ें"</string>
<string name="remove" msgid="4486081658752944606">"निकालें"</string>
- <string name="save" msgid="7646738597196767214">"सहेजें"</string>
+ <string name="save" msgid="7646738597196767214">"जोड़ें"</string>
<string name="subtype_locale" msgid="8576443440738143764">"भाषा"</string>
<string name="keyboard_layout_set" msgid="4309233698194565609">"लेआउट"</string>
<string name="custom_input_style_note_message" msgid="8826731320846363423">"कस्‍टम इनपुट शैली का उपयोग करने से पहले सक्षम करना होगा. उसे सक्षम करना चाहते हैं?"</string>
@@ -121,11 +139,11 @@
<string name="setup_next_action" msgid="371821437915144603">"अगला चरण"</string>
<string name="setup_steps_title" msgid="6400373034871816182">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> सेट करना"</string>
<string name="setup_step1_title" msgid="3147967630253462315">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> को सक्षम करें"</string>
- <string name="setup_step1_instruction" msgid="2578631936624637241">"कृपया अपनी भाषा और अक्षर सेटिंग में \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" को चेक करें. इससे वह आपके उपकरण पर चलने के लिए अधिकृत हो जाएगा."</string>
+ <string name="setup_step1_instruction" msgid="2578631936624637241">"कृपया अपनी भाषा और अक्षर सेटिंग में \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" को चेक करें. इससे वह आपके डिवाइस पर चलने के लिए अधिकृत हो जाएगा."</string>
<string name="setup_step1_finished_instruction" msgid="10761482004957994">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> आपकी भाषा और अक्षर सेटिंग में पहले से सक्षम है, इसलिए यह चरण पूर्ण हो गया है. अगले चरण पर जाएं!"</string>
<string name="setup_step1_action" msgid="4366513534999901728">"सेटिंग में सक्षम करें"</string>
<string name="setup_step2_title" msgid="6860725447906690594">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> पर स्विच करें"</string>
- <string name="setup_step2_instruction" msgid="9141481964870023336">"इसके बाद, \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" को अपनी सक्रिय पाठ-इनपुट पद्धति के रूप में चुनें."</string>
+ <string name="setup_step2_instruction" msgid="9141481964870023336">"इसके बाद, \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" को अपनी सक्रिय लेख-इनपुट पद्धति के रूप में चुनें."</string>
<string name="setup_step2_action" msgid="1660330307159824337">"इनपुट पद्धतियां स्विच करें"</string>
<string name="setup_step3_title" msgid="3154757183631490281">"बधाई हो, आप बिल्कुल तैयार हैं!"</string>
<string name="setup_step3_instruction" msgid="8025981829605426000">"अब आप <xliff:g id="APPLICATION_NAME">%s</xliff:g> के साथ अपने सभी पसंदीदा ऐप्स में लिख सकते हैं."</string>
@@ -153,18 +171,18 @@
<string name="message_updating" msgid="4457761393932375219">"नई जानकारी देखा जा रहा हैं"</string>
<string name="message_loading" msgid="5638680861387748936">"लोड हो रहा है…"</string>
<string name="main_dict_description" msgid="3072821352793492143">"मुख्‍य डिक्‍शनरी"</string>
- <string name="cancel" msgid="6830980399865683324">"रद्द करें"</string>
+ <string name="cancel" msgid="6830980399865683324">"रहने दें"</string>
<string name="go_to_settings" msgid="3876892339342569259">"सेटिंग"</string>
<string name="install_dict" msgid="180852772562189365">"इंस्टॉल करें"</string>
- <string name="cancel_download_dict" msgid="7843340278507019303">"रद्द करें"</string>
+ <string name="cancel_download_dict" msgid="7843340278507019303">"रहने दें"</string>
<string name="delete_dict" msgid="756853268088330054">"हटाएं"</string>
- <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"आपके मोबाइल पर चयनित भाषा के लिए शब्‍दकोश उपलब्‍ध है.&lt;br/&gt; हम आपके लेखन अनुभव को बेहतर बनाने के लिए <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> शब्‍दकोश &lt;b&gt;डाउनलोड करने&lt;/b&gt; की सुझाव देते हैं.&lt;br/&gt; &lt;br/&gt; 3G में डाउनलोड करने पर एक या दो मिनट लगेंगे. यदि आपके पास &lt;b&gt;असीमित डेटा योजना&lt;/b&gt; नहीं है, तो शुल्क लागू हो सकते हैं.&lt;br/&gt; यदि आप अपनी डेटा योजना के बारे में सुनिश्चित नहीं हैं, तो हम अपने आप डाउनलोड प्रारंभ करने के लिए वाई-फ़ाई कनेक्‍शन ढूंढने की सुझाव देते हैं.&lt;br/&gt; &lt;br/&gt; युक्ति: आप अपने मोबाइल उपकरण के &lt;b&gt;सेटिंग&lt;/b&gt; मेनू में &lt;b&gt;भाषा और इनपुट&lt;/b&gt; पर जाकर शब्‍दकोशों को डाउनलोड कर सकते हैं और निकाल सकते हैं."</string>
+ <string name="should_download_over_metered_prompt" msgid="1583881200688185508">"आपके मोबाइल पर चयनित भाषा के लिए शब्‍दकोश उपलब्‍ध है.&lt;br/&gt; हम आपके लेखन अनुभव को बेहतर बनाने के लिए <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> शब्‍दकोश &lt;b&gt;डाउनलोड करने&lt;/b&gt; की सुझाव देते हैं.&lt;br/&gt; &lt;br/&gt; 3G में डाउनलोड करने पर एक या दो मिनट लगेंगे. यदि आपके पास &lt;b&gt;असीमित डेटा योजना&lt;/b&gt; नहीं है, तो शुल्क लागू हो सकते हैं.&lt;br/&gt; यदि आप अपनी डेटा योजना के बारे में सुनिश्चित नहीं हैं, तो हम अपने आप डाउनलोड प्रारंभ करने के लिए वाई-फ़ाई कनेक्‍शन ढूंढने की सुझाव देते हैं.&lt;br/&gt; &lt;br/&gt; युक्ति: आप अपने मोबाइल डिवाइस के &lt;b&gt;सेटिंग&lt;/b&gt; मेनू में &lt;b&gt;भाषा और इनपुट&lt;/b&gt; पर जाकर शब्‍दकोशों को डाउनलोड कर सकते हैं और निकाल सकते हैं."</string>
<string name="download_over_metered" msgid="1643065851159409546">"अभी डाउनलोड करें (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>MB)"</string>
<string name="do_not_download_over_metered" msgid="2176209579313941583">"वाई-फ़ाई से डाउनलोड करें"</string>
<string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> के लिए एक शब्‍दकोश उपलब्‍ध है"</string>
<string name="dict_available_notification_description" msgid="1075194169443163487">"समीक्षा करने और डाउनलोड करने के लिए दबाएं"</string>
<string name="toast_downloading_suggestions" msgid="6128155879830851739">"डाउनलोड प्रारंभ हो रहा है: <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> के लिए सुझाव जल्दी ही उपलब्ध होंगे."</string>
- <string name="version_text" msgid="2715354215568469385">"संस्करण <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string>
+ <string name="version_text" msgid="2715354215568469385">"वर्शन <xliff:g id="VERSION_NUMBER">%1$s</xliff:g>"</string>
<string name="user_dict_settings_add_menu_title" msgid="1254195365689387076">"जोड़ें"</string>
<string name="user_dict_settings_add_dialog_title" msgid="4096700390211748168">"शब्दकोश में जोड़ें"</string>
<string name="user_dict_settings_add_screen_title" msgid="5818914331629278758">"वाक्यांश"</string>
diff --git a/java/res/values-hr/strings.xml b/java/res/values-hr/strings.xml
index 6ffc79983..45a78abfd 100644
--- a/java/res/values-hr/strings.xml
+++ b/java/res/values-hr/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibracija pri pritisku na tipku"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri pritisku tipke"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Povećanja na pritisak tipke"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Postavke unosa"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Izgled"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Višejezične opcije"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Postavke pisanja kretnjama"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Postavke"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Prikaz i izgled"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Višejezične opcije"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Pisanje kretnjama"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Ispravljanje teksta"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Napredno"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Omogući razdvojenu tipkovnicu"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prebaci na druge unose"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tipka za prebacivanje jezika pokriva i druge načine unosa"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tipka za izmjenjivanje jezika"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tipka za glasovni unos"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nije omogućen nijedan način glasovnog unosa. Provjerite postavke jezika i unosa."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfiguriraj načine ulaza"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Jezici unosa"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Jezici"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Pomoć i povratne informacije"</string>
- <string name="select_language" msgid="3693815588777926848">"Jezici unosa"</string>
+ <string name="select_language" msgid="5709487854987078367">"Jezici"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Dodirnite ponovo za spremanje"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Dodirnite ovdje za spremanje"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Rječnik je dostupan"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Engleski (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engleski (SAD)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"španjolski (SAD)"</string>
diff --git a/java/res/values-hu/strings.xml b/java/res/values-hu/strings.xml
index f77fa120f..5b082d4f5 100644
--- a/java/res/values-hu/strings.xml
+++ b/java/res/values-hu/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Rezgés gombnyomásra"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Hangjelzés gombnyomásra"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Nagyobb billentyű gombnyomásra"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Beviteli preferenciák"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Megjelenés"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Többnyelvű beállítások"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Kézmozdulatokkal gépelés"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Beállítások"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Megjelenés és elrendezés"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Többnyelvű beállítások"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Kézmozdulatokkal történő gépelés"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Szövegjavítás"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Speciális"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Téma"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Megosztott billentyűzet bekapcsolása"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Váltás más beviteli módra"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A nyelvkapcsoló gomb egyéb beviteli módokat is tartalmaz"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"A nyelvkapcsoló"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Hangbeviteli gomb"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nincs engedélyezett hangbeviteli módszer. Nézze meg a Nyelvi és beviteli beállításokat."</string>
<string name="configure_input_method" msgid="373356270290742459">"Beviteli módok beállítása"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Beviteli nyelvek"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Nyelvek"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Súgó és visszajelzés"</string>
- <string name="select_language" msgid="3693815588777926848">"Beviteli nyelvek"</string>
+ <string name="select_language" msgid="5709487854987078367">"Nyelvek"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Érintse meg újból a mentéshez"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"A mentéshez érintse meg itt"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Van elérhető szótár"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Billentyűzettéma"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"angol (brit)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angol (amerikai)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"spanyol (USA)"</string>
diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml
index 68f39f511..ac277bb8b 100644
--- a/java/res/values-hy-rAM/strings.xml
+++ b/java/res/values-hy-rAM/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Թրթռալ սեղմման ժամանակ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Ձայնը սեղմման ժամանակ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ելնող պատուհան՝ ստեղնի հպման դեպքում"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Ներածման նախընտրանքներ"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Արտաքին տեսք"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Լեզվի ընտրանքներ"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Ժեստերով ներածում"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Նախընտրանքներ"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Արտաքին տեսք և դասավորություն"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Բազմալեզու ընտրանքներ"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Ժեստերով մուտքագրում"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Տեքստի ուղղում"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Հավելյալ"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Թեմա"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Անցնել մուտքագրման այլ եղանակների"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Լեզվի փոխարկման բանալին ընդգրկում է այլ մուտքագրման եղանակներ ևս"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Լեզվի փոխարկման ստեղն"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"Ձայնային մուտքագրման ստեղն"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ձայնային ներածման որևէ եղանակ միացված չէ։ Ստուգեք Լեզվի և ներածման կարգավորումները։"</string>
<string name="configure_input_method" msgid="373356270290742459">"Կարգավորել մուտքագրման մեթոդները"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Մուտքագրման լեզուներ"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Լեզուներ"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Օգնություն և հետադարձ կապ"</string>
- <string name="select_language" msgid="3693815588777926848">"Մուտքագրման լեզուներ"</string>
+ <string name="select_language" msgid="5709487854987078367">"Լեզուներ"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Պահպանելու համար կրկին հպեք"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Պահելու համար հպեք այստեղ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Բառարանն առկա է"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Ստեղնաշարի թեման"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Անգլերեն (ՄԹ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Անգլերեն (ԱՄՆ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Իսպաներեն (ԱՄՆ)"</string>
diff --git a/java/res/values-in/strings.xml b/java/res/values-in/strings.xml
index b19b971bf..8a6d47e75 100644
--- a/java/res/values-in/strings.xml
+++ b/java/res/values-in/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar jika tombol ditekan"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Berbunyi jika tombol ditekan"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Muncul saat tombol ditekan"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferensi masukan"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Tampilan"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opsi multi bahasa"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Preferensi ketikan isyarat"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferensi"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Tampilan &amp; tata letak"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opsi multibahasa"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Ketikan Isyarat"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Koreksi teks"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Lanjutan"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Aktifkan keyboard terpisah"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Beralih ke metode masukan lain"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tombol beralih bahasa juga mencakup metode masukan lain"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tombol pengalih bahasa"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tombol masukan suara"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Tidak ada metode masukan suara yang diaktifkan. Periksa setelan Bahasan &amp; masukan."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan metode masukan"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Bahasa masukan"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Bahasa"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Bantuan &amp; masukan"</string>
- <string name="select_language" msgid="3693815588777926848">"Bahasa masukan"</string>
+ <string name="select_language" msgid="5709487854987078367">"Bahasa"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Sentuh lagi untuk menyimpan"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Sentuh di sini untuk menyimpan"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Kamus yang tersedia"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema keyboard"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Inggris (Inggris)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inggris (AS)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spanyol (AS)"</string>
diff --git a/java/res/values-is-rIS/strings.xml b/java/res/values-is-rIS/strings.xml
index 6cb9f8acb..a525f2bc0 100644
--- a/java/res/values-is-rIS/strings.xml
+++ b/java/res/values-is-rIS/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Titringur þegar ýtt er á lykla"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Hljóð þegar ýtt er á lykil"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Stækkaðir stafir við innslátt"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Inntaksvalkostir"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Útlit"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Tungumálavalkostir"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Still. bendingainnsláttar"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Kjörstillingar"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Útlit og skipulag"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Fjölmálavalkostir"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Bendingainnsláttur"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Textaleiðrétting"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Ítarlegt"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Þema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Virkja skipt lyklaborð"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Skipta um innsláttaraðferð"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Lykill til að skipta um mál inniheldur aðrar innsláttaraðferðir"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Lykill til að breyta tungumáli"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Raddinntakslykill"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Engar innsláttaraðferðir fyrir rödd virkar. Kannaðu stillingar tungumáls og innsláttar."</string>
<string name="configure_input_method" msgid="373356270290742459">"Stilla innsláttaraðferðir"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Innsláttartungumál"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Tungumál"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Hjálp og ábendingar"</string>
- <string name="select_language" msgid="3693815588777926848">"Innsláttartungumál"</string>
+ <string name="select_language" msgid="5709487854987078367">"Tungumál"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Snertu aftur til að vista"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Snertu hér til að vista"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Orðabók í boði"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Þema lyklaborðs"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Enskt (Bretland)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Enskt (Bandaríkin)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spænskt (US)"</string>
diff --git a/java/res/values-it/strings.xml b/java/res/values-it/strings.xml
index d01724f90..ff6cefc03 100644
--- a/java/res/values-it/strings.xml
+++ b/java/res/values-it/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrazione tasti"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Suono tasti"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup sui tasti"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferenze di immissione"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aspetto"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opzioni multilingue"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Pref digitazione testuale"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferenze"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aspetto e layout"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opzioni multilingue"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Digitazione gestuale"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correzione testo"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avanzate"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Attiva tastiera divisa"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Altri metodi immissione"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Il tasto per cambiare lingua offre altri metodi di immissione"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tasto cambio lingua"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tasto input vocale"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nessun metodo di immissione vocale abilitato. Controlla le impostazioni Lingua e input."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configura metodi di immissione"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Lingue comandi"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Lingue"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Guida e feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Lingue comandi"</string>
+ <string name="select_language" msgid="5709487854987078367">"Lingue"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Tocca di nuovo per salvare"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Tocca qui per salvare"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dizionario disponibile"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema della tastiera"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Inglese (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglese (USA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spagnolo (USA)"</string>
diff --git a/java/res/values-iw/strings-emoji-descriptions.xml b/java/res/values-iw/strings-emoji-descriptions.xml
index 975ca10a8..d8ef20f53 100644
--- a/java/res/values-iw/strings-emoji-descriptions.xml
+++ b/java/res/values-iw/strings-emoji-descriptions.xml
@@ -556,8 +556,8 @@
<string name="spoken_emoji_1F4C2" msgid="8095638715523765338">"תיקיית קבצים פתוחה"</string>
<string name="spoken_emoji_1F4C3" msgid="3727274466173970142">"דף עם גלילה מלמטה"</string>
<string name="spoken_emoji_1F4C4" msgid="4382570710795501612">"דף פונה כלפי מעלה"</string>
- <string name="spoken_emoji_1F4C5" msgid="8693944622627762487">"לוח שנה"</string>
- <string name="spoken_emoji_1F4C6" msgid="8469908708708424640">"לוח שנה נתלש"</string>
+ <string name="spoken_emoji_1F4C5" msgid="8693944622627762487">"יומן"</string>
+ <string name="spoken_emoji_1F4C6" msgid="8469908708708424640">"יומן נתלש"</string>
<string name="spoken_emoji_1F4C7" msgid="2665313547987324495">"כרטסת"</string>
<string name="spoken_emoji_1F4C8" msgid="8007686702282833600">"תרשים עם מגמת עלייה"</string>
<string name="spoken_emoji_1F4C9" msgid="2271951411192893684">"תרשים עם מגמת ירידה"</string>
diff --git a/java/res/values-iw/strings.xml b/java/res/values-iw/strings.xml
index d6c398ed6..d6e51111b 100644
--- a/java/res/values-iw/strings.xml
+++ b/java/res/values-iw/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"רטט בלחיצה על מקשים"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"צלילים בעת לחיצה על מקשים"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"חלון קופץ בלחיצה על מקש"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"העדפות קלט"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"מראה"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"אפשרויות ריבוי שפות"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"העדפות של הקלדת החלקה"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"העדפות"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"מראה ופריסות"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"אפשרויות לריבוי שפות"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"הקלדת החלקה"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"תיקון טקסט"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"מתקדם"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"עיצוב"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"הפעל מקלדת מפוצלת"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"עבור לשיטות קלט אחרות"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"מתג החלפת השפה מכסה גם שיטות קלט אחרות"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"מתג החלפת שפה"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"מקש קלט קולי"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"לא הופעלו שיטות של קלט קולי. בדוק את הגדרות השפה והקלט."</string>
<string name="configure_input_method" msgid="373356270290742459">"הגדרת שיטות קלט"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"שפות קלט"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"שפות"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"עזרה ומשוב"</string>
- <string name="select_language" msgid="3693815588777926848">"שפות קלט"</string>
+ <string name="select_language" msgid="5709487854987078367">"שפות"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"גע שוב כדי לשמור"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"גע כאן כדי לשמור"</string>
<string name="has_dictionary" msgid="6071847973466625007">"מילון זמין"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"עיצוב מקלדת"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"אנגלית (בריטניה)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"אנגלית (ארה\"ב)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ספרדית (ארצות הברית)"</string>
diff --git a/java/res/values-ja/strings.xml b/java/res/values-ja/strings.xml
index ccb2bcadf..cee8c16cb 100644
--- a/java/res/values-ja/strings.xml
+++ b/java/res/values-ja/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"キー操作バイブ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"キー操作音"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"キー押下時ポップアップ"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"入力設定"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"デザイン"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"複数言語オプション"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"ジェスチャー入力の設定"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"設定"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"外観とレイアウト"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"多言語オプション"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"ジェスチャー入力"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"テキストの修正"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"詳細設定"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"テーマ"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"スプリットキーボードを有効にする"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"他の入力方法に切り替え"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"言語切り替えキーは他の入力方法にも対応しています"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"言語切り替えキー"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"音声入力キー"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"有効になっている音声入力方法がありません。[言語と入力]設定をご確認ください。"</string>
<string name="configure_input_method" msgid="373356270290742459">"入力方法を設定"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"入力言語"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"言語"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"ヘルプとフィードバック"</string>
- <string name="select_language" msgid="3693815588777926848">"入力言語"</string>
+ <string name="select_language" msgid="5709487854987078367">"言語"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"保存するにはもう一度タップ"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"ここをタップして保存します"</string>
<string name="has_dictionary" msgid="6071847973466625007">"辞書を利用できます"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"キーボードのテーマ"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"英語 (英国)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英語 (米国)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"スペイン語 (米国)"</string>
diff --git a/java/res/values-ka-rGE/strings.xml b/java/res/values-ka-rGE/strings.xml
index 1ef53ac50..656b32067 100644
--- a/java/res/values-ka-rGE/strings.xml
+++ b/java/res/values-ka-rGE/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ვიბრაცია კლავიშზე დაჭერისას"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ხმა კლავიშზე დაჭერისას"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"გადიდება ღილაკზე დაჭერისას"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"შეყვანის პარამეტრები"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"იერსახე"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"მრავალენობრივი ვარიანტები"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"ჟესტით შეყვ. პარამეტრები"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"პარამეტრები"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"იერსახე &amp; განლაგებები"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"მრავალენობრივი ვარიანტები"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"ჟესტებით წერა"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"ტექსტის კორექცია"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"გაფართოებული"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"თემა"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"გაყოფილი კლავიატურის გააქტიურება"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"შეყვანის სხვა მეთოდებზე გადართვა"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ენის გადართვის ღილაკს შეყვანის სხვა მეთოდებსაც შეიცავს"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"ენის გადართვის კლავიში"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"ხმოვანი შეყვანის კლავიში"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"ხმოვანი შეყვანის მეთოდები ჩართული არ არის. შეამოწმეთ ენის &amp; შეყვანის პარამეტრები."</string>
<string name="configure_input_method" msgid="373356270290742459">"შეყვანის მეთოდების კონფიგურაცია"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"შეყვანის ენები"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ენები"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"დახმარება და უკუკავშირი"</string>
- <string name="select_language" msgid="3693815588777926848">"შეყვანის ენები"</string>
+ <string name="select_language" msgid="5709487854987078367">"ენები"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"შეეხეთ ისევ შესანახად"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"აქ შეეხეთ, რომ შეინახოს"</string>
<string name="has_dictionary" msgid="6071847973466625007">"ხელმისაწვდომია ლექსიკონი"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"კლავიატურის თემა"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ინგლისური (გართ. სამ.)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ინგლისური (აშშ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ესპანური (აშშ)"</string>
diff --git a/java/res/values-kk-rKZ/strings.xml b/java/res/values-kk-rKZ/strings.xml
index 7e07ca7b2..f3d49e3f1 100644
--- a/java/res/values-kk-rKZ/strings.xml
+++ b/java/res/values-kk-rKZ/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Пернені басқан кездегі діріл"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Пернені басу кезіндегі дыбыс"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Пернені басқан кездегі ашылмалы мәзір"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Енгізу параметрлері"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Сыртқы түр"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Көп тілді опциялар"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Қимыл арқылы теру параметрлері"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Қалауларыңыз"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Сыртқы түр және орналасулар"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Көп тілдік опциялар"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Қимыл арқылы теру"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Мәтінді түзету"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Кеңейтілген"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тақырып"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Бөлінген пернетақтаны қосу"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Басқа енгізу әдістеріне ауыстырыңыз"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тілді ауыстыру пернесі басқа енгізу әдістерін де қамтиды"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Тілді ауыстыру пернесі"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Дауыстық енгізу пернесі"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Дауыспен енгізу әдістері қосылмаған. «Тіл және енгізу параметрлері» тармағын тексеріңіз."</string>
<string name="configure_input_method" msgid="373356270290742459">"Енгізу әдістерін теңшеу"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Енгізу тілдері"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Тілдер"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Анықтама және кері байланыс"</string>
- <string name="select_language" msgid="3693815588777926848">"Енгізу тілдері"</string>
+ <string name="select_language" msgid="5709487854987078367">"Тілдер"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Сақтау үшін қайта түртіңіз"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Сақтау үшін осы жерді түртіңіз"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Сөздік қолжетімді"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Пернетақта тақырыбы"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ағылшын (ҰБ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ағылшын (АҚШ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Испан (АҚШ)"</string>
diff --git a/java/res/values-km-rKH/strings.xml b/java/res/values-km-rKH/strings.xml
index 96dd08c0b..0188b3ee2 100644
--- a/java/res/values-km-rKH/strings.xml
+++ b/java/res/values-km-rKH/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ញ័រ​នៅ​ពេល​ចុច​គ្រាប់ចុច"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"សំឡេង​នៅ​ពេល​ចុច​គ្រាប់ចុច"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"លេច​ឡើង​នៅ​​ពេល​ចុច​គ្រាប់​ចុច"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ចំណូលចិត្ត​បញ្ចូល"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"រូបរាង"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"ជម្រើស​ភាសា​​ច្រើន"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"ចំណូលចិត្តបញ្ចូលកាយវិការ"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ចំណូលចិត្ត"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"រូបរាង &amp; ប្លង់"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"ជម្រើស​ច្រើន​ភាសា"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"កាយវិការ​បញ្ចូល"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"ការ​កែ​​អត្ថបទ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"កម្រិត​ខ្ពស់"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"រូបរាង"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"បើក​ការ​បំបែក​ក្ដារចុច"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ប្ដូរ​ទៅ​​​វិធីសាស្ត្រ​បញ្ចូល​​​ផ្សេង​ទៀត"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"គ្រាប់ចុច​ប្ដូរ​ភាសា​តាម​វិធីសាស្ត្រ​បញ្ចូល​ផ្សេងទៀត"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"គ្រាប់​ចុច​ប្ដូរ​​ភាសា"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"គ្រាប់​ចុច​បញ្ចូល​​សំឡេង"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"គ្មាន​វិធីសាស្ត្រ​បញ្ចូល​សំឡេង​បាន​បើក។ ពិនិត្យ​មើល​ការ​កំណត់​ភាសា &amp; ការ​បញ្ចូល។"</string>
<string name="configure_input_method" msgid="373356270290742459">"កំណត់​រចនាសម្ព័ន្ធ​វិធីសាស្ត្រ​បញ្ចូល"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"បញ្ចូល​ភាសា"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ភាសា"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"ជំនួយ &amp; មតិ​ត្រឡប់"</string>
- <string name="select_language" msgid="3693815588777926848">"​​បញ្ចូល​ភាសា"</string>
+ <string name="select_language" msgid="5709487854987078367">"ភាសា"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"ប៉ះ​ម្ដង​ទៀត​ ដើម្បី​រក្សា​ទុក"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"ប៉ះ​ទីនេះ​ដើម្បី​រក្សាទុក"</string>
<string name="has_dictionary" msgid="6071847973466625007">"មាន​វចនានុក្រម"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"រូបរាង​ក្ដារចុច"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"អង់គ្លេស (​អង់គ្លេស)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"អង់គ្លេស (សហរដ្ឋ​អាមេរិក)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"អេស្ប៉ាញ (សហរដ្ឋ​អាមេរិក​)"</string>
diff --git a/java/res/values-kn-rIN/strings.xml b/java/res/values-kn-rIN/strings.xml
index 7febef86f..0560787d4 100644
--- a/java/res/values-kn-rIN/strings.xml
+++ b/java/res/values-kn-rIN/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ಕೀಲಿಯನ್ನು ಒತ್ತಿದಾಗ ವೈಬ್ರೇಷನ್‌"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ಕೀಲಿಯನ್ನು ಒತ್ತಿದಾಗ ಶಬ್ದಮಾಡು"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ಕೀ ಒತ್ತಿದಾಗ ಪಾಪ್ ಅಪ್‌ ಮಾಡು"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ಇನ್‌ಪುಟ್ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"ಗೋಚರತೆ"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"ಬಹು ಭಾಷಾ ಆಯ್ಕೆಗಳು"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"ಗೆಶ್ಚರ್ ಟೈಪಿಂಗ್ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ಆದ್ಯತೆಗಳು"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"ಗೋಚರತೆ &amp; ಲೇಔಟ್‌ಗಳು"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"ಬಹುಭಾಷೆ ಆಯ್ಕೆಗಳು"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"ಗೆಸ್ಚರ್ ಟೈಪಿಂಗ್"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"ಪಠ್ಯ ತಿದ್ದುಪಡಿ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"ಸುಧಾರಿತ"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"ಥೀಮ್"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"ಬೇರ್ಪಡೆ ಕೀಬೋರ್ಡ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ಇತರೆ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳಿಗೆ ಬದಲಾಯಿಸು"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ಭಾಷಾ ಬದಲಾವಣೆ ಕೀಯು ಇತರೆ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಕೂಡ ಒಳಗೊಂಡಿರುತ್ತದೆ"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"ಭಾಷೆ ಬದಲಾವಣೆ ಕೀ"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"ಧ್ವನಿ ಇನ್‌ಪುಟ್ ಕೀ"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"ಯಾವುದೇ ಧ್ವನಿ ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿಲ್ಲ. ಭಾಷೆ &amp; ಇನ್‌ಪುಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
<string name="configure_input_method" msgid="373356270290742459">"ಇನ್‌ಪುಟ್ ವಿಧಾನಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ಇನ್‌ಪುಟ್ ಭಾಷೆಗಳು"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ಭಾಷೆಗಳು"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"ಸಹಾಯ &amp; ಪ್ರತಿಕ್ರಿಯೆ"</string>
- <string name="select_language" msgid="3693815588777926848">"ಇನ್‌ಪುಟ್ ಭಾಷೆಗಳು"</string>
+ <string name="select_language" msgid="5709487854987078367">"ಭಾಷೆಗಳು"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"ಉಳಿಸಲು ಮತ್ತೆ ಸ್ಪರ್ಶಿಸಿ"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"ಉಳಿಸಲು ಇಲ್ಲಿ ಸ್ಪರ್ಶಿಸಿ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"ನಿಘಂಟು ಲಭ್ಯವಿದೆ"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"ಕೀಬೋರ್ಡ್ ಥೀಮ್"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ಇಂಗ್ಲಿಷ್ (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ಇಂಗ್ಲಿಷ್ (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ಸ್ಪ್ಯಾನಿಷ್ (US)"</string>
diff --git a/java/res/values-ko/strings.xml b/java/res/values-ko/strings.xml
index 44d4c780b..0698b2b0e 100644
--- a/java/res/values-ko/strings.xml
+++ b/java/res/values-ko/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"키를 누를 때 진동 발생"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"키를 누를 때 소리 발생"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"키를 누를 때 팝업"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"입력 환경설정"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"디자인"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"다중 언어 옵션"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"제스처 타이핑 환경설정"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"환경설정"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"모양 및 레이아웃"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"다국어 옵션"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"제스처 타이핑"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"텍스트 수정"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"고급"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"테마"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"분할 키보드 사용"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"다른 입력 방법으로 전환"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"언어 전환 키가 제공하는 기타 입력 방법"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"언어 전환 키"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"음성 입력 키"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"사용 설정된 음성 입력 방법이 없습니다. 언어 및 입력 설정을 확인하세요."</string>
<string name="configure_input_method" msgid="373356270290742459">"입력 방법 설정"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"입력 언어"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"언어"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"도움말 및 의견"</string>
- <string name="select_language" msgid="3693815588777926848">"입력 언어"</string>
+ <string name="select_language" msgid="5709487854987078367">"언어"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"저장하려면 다시 터치"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"저장하려면 여기를 터치하세요."</string>
<string name="has_dictionary" msgid="6071847973466625007">"사전 사용 가능"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"키보드 테마"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"영어(영국)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"영어(미국)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"스페인어(미국)"</string>
diff --git a/java/res/values-ky-rKG/strings.xml b/java/res/values-ky-rKG/strings.xml
index 3f8ac905a..7deb72c0d 100644
--- a/java/res/values-ky-rKG/strings.xml
+++ b/java/res/values-ky-rKG/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Баскыч басылганда дирилдесин"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Баскыч басылганда чыккан үн"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Баскыч басылганда калкып чыкма"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Киргизүү жеке жөндөөлөрү"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Сырткы көрүнүшү"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Көп тилдүү параметрлер"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Жаңсп терүү жеке жөндлөрү"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Мүмкүнчүлүктөрдү тандоо"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Көрүнүш &amp; жайгашуулар"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Көп тилдүү параметрлер"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Жаңсап терүү"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Текстти оңдоо"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Өркүндөтүлгөн"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тема"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Баскычтопту бөлүүнү иштетүү"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Башка киргзүү ыкмалрна которуу"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тил которуштуруу баскычында башка киргизүү ыкмалары дагы камтылган"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Тил которуштуруу баскычы"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Үн менен киргизүү баскычы"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Үн менен киргизүү ыкмаларынын бири да иштетилген эмес. Тил &amp; киргизүү жөндөөлөрүн текшериңиз."</string>
<string name="configure_input_method" msgid="373356270290742459">"Дайндрд киргзүү ыкмалрн конфигрцлоо"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Киргизүү тилдери"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Тилдер"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Жардам &amp; жооп пикир"</string>
- <string name="select_language" msgid="3693815588777926848">"Киргизүү тилдери"</string>
+ <string name="select_language" msgid="5709487854987078367">"Тилдер"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Сактоо үчүн кайра тийип коюңуз"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Сактоо үчүн бул жерди басыңыз"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Сөздүк бар"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Баскычтоп темасы"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Англисче (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Англисче (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Испанча (US)"</string>
diff --git a/java/res/values-lo-rLA/strings.xml b/java/res/values-lo-rLA/strings.xml
index 9bf3b63fe..f9a917101 100644
--- a/java/res/values-lo-rLA/strings.xml
+++ b/java/res/values-lo-rLA/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ສັ່ນເຕືອນເມື່ອພິມ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ສຽງໃນການກົດປຸ່ມ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ໂຕອັກສອນເວລາພິມ"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"​ການ​ຕັ້ງ​ຄ່າ​ການ​ປ້ອນ​ຂໍ້​ມູນ"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"​ຮູບ​ແບບ​ໜ້າ​ຕາ"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"​ໂຕ​ເລືອກ​ລະ​ບົບຫຼາຍ​ພາ​ສາ"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"​ການ​ຕັ້ງ​ຄ່າ​ການ​ພິມ​ດ້ວຍ​ທ່າ​ທາງ"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"​​ການ​ຕັ້ງ​ຄ່າ"</string>
+ <string name="settings_screen_accounts" msgid="7570397912370223287">"ບັນຊີ &amp; ​ຄວາມ​ເປັນ​ສ່ວນ​ໂຕ"</string>
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"​ລັກ​ສະ​ນະ &amp; ໂຄງ​ຮ່າງ"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"ຕົວເລືອກຫຼາຍພາສາ"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"​ກາ​ນ​ພິມ​ແບບ​ລາກ​ນິ້ວ"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"​ການ​ແປງ​ຄຳ​ໃຫ້​ຖືກ​ຕ້ອງ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"​ຂັ້ນ​ສູງ"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"ຮູບແບບສີສັນ"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ປ່ຽນໄປໃຊ້ການປ້ອນຂໍ້ມູນແບບອື່ນ"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ໂຕປ່ຽນພາສາເປັນທັງໂຕປ່ຽນຮູບແບບການປ້ອນຂໍ້ມູນເຊັ່ນກັນ"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"ປຸ່ມປ່ຽນພາສາ"</string>
@@ -74,13 +78,20 @@
<string name="voice_input" msgid="3583258583521397548">"ປຸ່ມປ້ອນຂໍ້ມູນດ້ວຍສຽງ"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"ບໍ່ມີວິທີການປ້ອນສຽງເປີດນໍາໃຊ້. ໃຫ້ກວດເບິ່ງການຕັ້ງຄ່າໃນເມນູ ພາສາ &amp; ການປ້ອນຂໍ້ມູນ."</string>
<string name="configure_input_method" msgid="373356270290742459">"ຕັ້ງຄ່າຮູບແບບການປ້ອນຂໍ້ມູນ"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ພາສາການປ້ອນຂໍ້ມູນ"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ພາ​ສາ"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"ຊ່ວຍ​ເຫຼືອ &amp; ຄຳ​ຕິ​ຊົມ"</string>
- <string name="select_language" msgid="3693815588777926848">"ພາສາການປ້ອນຂໍ້ມູນ"</string>
+ <string name="select_language" msgid="5709487854987078367">"ພາ​ສາ"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"ກົດອີກຄັ້ງເພື່ອບັນທຶກ"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"ແຕະ​ບ່ອນ​ນີ້​ເພື່ອ​ບັນ​ທຶກ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"ມີວັດຈະນານຸກົມ"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"ສີສັນແປ້ນພິມ"</string>
+ <string name="switch_accounts" msgid="3321216593719006162">"ສະລັບບັນຊີ"</string>
+ <string name="no_accounts_selected" msgid="2073821619103904330">"​ບໍ່​ໄດ້​ເລືອກ​ບັນ​ຊີ​ເທື່ອ"</string>
+ <string name="account_selected" msgid="2846876462199625974">"ຕອນ​ນີ້​ກຳ​ລັງ​ໃຊ້ <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>"</string>
+ <string name="account_select_ok" msgid="9141195141763227797">"ຕົກລົງ"</string>
+ <string name="account_select_cancel" msgid="5181012062618504340">"​ຍົກ​ເລີກ"</string>
+ <string name="account_select_sign_out" msgid="3299651159390187933">"ອອກຈາກລະບົບ"</string>
+ <string name="account_select_title" msgid="6279711684772922649">"​ເລືອກ​ບັນ​ຊີ​ທີ່​ຈະ​ໃຊ້"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"ອັງກິດ (ສະຫະລາດຊະອານາຈັກ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ອັງກິດ (ສະຫະລັດຯ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ສະເປນ (ອາເມລິກາ)"</string>
diff --git a/java/res/values-lt/strings.xml b/java/res/values-lt/strings.xml
index 42eaace9c..c8a212d34 100644
--- a/java/res/values-lt/strings.xml
+++ b/java/res/values-lt/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibruoti, kai paspaudžiami klavišai"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Klavišo paspaudimo garsas"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Iššoka paspaudus klavišą"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Įvesties nuostatos"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Išvaizda"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Kelių kalbų parinktys"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Įvesties gestais nuostat."</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Nuostatos"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Išvaizda ir išdėstymai"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Kelių kalbų parinktys"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Įvestis gestais"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Teksto taisymas"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Išplėstiniai"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Įgalinti suskaidytą klaviatūrą"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Perj. į kt. įvesties būd."</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kalbos perjungimo klavišu taip pat perjungiami įvesties būdai"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Kalbos keitimo klavišas"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Įvesties balsu klavišas"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nėra jokių įgalintų įvesties balsu metodų. Patikrinkite kalbos ir įvesties nustatymus."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigūruoti įvesties metodus"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Įvesties kalbos"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Kalbos"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Pagalba ir atsiliepimai"</string>
- <string name="select_language" msgid="3693815588777926848">"Įvesties kalbos"</string>
+ <string name="select_language" msgid="5709487854987078367">"Kalbos"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Jei norite išsaugoti, palieskite dar kartą"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Palieskite čia, kad išsaugotumėte"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Žodynas galimas"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klaviatūros tema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Anglų k. (JK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglų k. (JAV)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Ispanų k. (JAV)"</string>
diff --git a/java/res/values-lv/strings.xml b/java/res/values-lv/strings.xml
index 90ed36666..ecb7270ed 100644
--- a/java/res/values-lv/strings.xml
+++ b/java/res/values-lv/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrēt, nospiežot taustiņu"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Skaņa, nospiežot taustiņu"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Nospiežot taustiņu, parādīt uznirstošo izvēlni"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Ievades preferences"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Izskats"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Vairāku valodu opcijas"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Ievade ar žestiem"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferences"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Izskats un izkārtojumi"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Vairākvalodu opcijas"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Ievade ar žestiem"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Teksta korekcija"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Papildu"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Motīvs"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Iespējot dalīto tastatūru"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Pārsl. uz citām iev. met."</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Valodas pārslēgš. taustiņu var lietot arī citām ievades metodēm."</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Valodas pārslēgšanas taustiņš"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Balss ievades atslēga"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nav iespējota neviena balss ievades metode. Pārbaudiet valodas un ievades iestatījumus."</string>
<string name="configure_input_method" msgid="373356270290742459">"Ievades metožu konfigurēšana"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Ievades valodas"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Valodas"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Palīdzība un atsauksmes"</string>
- <string name="select_language" msgid="3693815588777926848">"Ievades valodas"</string>
+ <string name="select_language" msgid="5709487854987078367">"Valodas"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Pieskarieties vēlreiz, lai saglabātu."</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Lai saglabātu, pieskarieties šeit"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Ir pieejama vārdnīca."</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tastatūras motīvs"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Angļu valoda (Lielbritānija)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Angļu valoda (ASV)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spāņu (ASV)"</string>
diff --git a/java/res/values-mk-rMK/strings.xml b/java/res/values-mk-rMK/strings.xml
index 53f0ec6c0..cce837a4e 100644
--- a/java/res/values-mk-rMK/strings.xml
+++ b/java/res/values-mk-rMK/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вибрирање при притисок на копче"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук на притискање копче"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Појавен прозорец на притискање копче"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Приоритети за внесување"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Изглед"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Повеќејазични опции"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Параметри за пишување"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Претпочитани поставки"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Изглед и распоред"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Повеќејазични опции"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Пишување со движење"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Корекција на текст"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Напредни"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тема"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Овозможи поделена тастатура"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Префрли на други влезни методи"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Копчето за менување јазици покрива и други методи на внес"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Копче за промена на јазик"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Копче за влез на глас"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Не се овозможени методи за гласовно внесување. Проверете ги поставките за Јазик и внесување."</string>
<string name="configure_input_method" msgid="373356270290742459">"Конфигурирај методи на влез"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Влезни јазици"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Јазици"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Помош и повратни информации"</string>
- <string name="select_language" msgid="3693815588777926848">"Влезни јазици"</string>
+ <string name="select_language" msgid="5709487854987078367">"Јазици"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Допрете повторно за да се зачува"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Допри тука да се зачува"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Речникот е достапен"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Тема на тастатурата"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"англиски (ОК)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"англиски (САД)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"шпански (САД)"</string>
diff --git a/java/res/values-ml-rIN/strings.xml b/java/res/values-ml-rIN/strings.xml
index 3a3d008a9..521dc1bc0 100644
--- a/java/res/values-ml-rIN/strings.xml
+++ b/java/res/values-ml-rIN/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"കീ അമർത്തുമ്പോൾ വൈബ്രേറ്റുചെയ്യുക"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"കീ അമർത്തുമ്പോഴുള്ള ശബ്‌ദമുണ്ടാക്കുക"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"കീ അമർത്തുമ്പോൾ പോപ്പ്അപ്പ് ചെയ്യുക"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ഇൻപുട്ട് മുൻഗണനകൾ"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"കാഴ്ച്ച"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"ഒന്നിലധികം ഭാഷകൾക്കുള്ള ഓ‌പ്ഷനുകൾ"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"ടൈപ്പുചെയ്യുന്നതിന് മുൻഗണന നൽകുന്ന സവിശേഷത"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"മുൻഗണനകൾ"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"രൂപഭാവവും ലേഔട്ടുകളും"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"മൾട്ടിലിംഗ്വൽ ഓപ്‌ഷനുകൾ"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"ഗെസ്ചർ ടൈപ്പിംഗ്"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"വാചകം തിരുത്തൽ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"വിപുലമായ"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"തീം"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"സ്‌പ്‌ലിറ്റ് കീബോർഡ് പ്രവർത്തനക്ഷമമാക്കുക"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"മറ്റു ടൈപ്പുചെയ്യൽ രീതികളിലേക്ക് മാറുക"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ഭാഷ മാറൽ കീയിൽ മറ്റ് ടൈപ്പുചെയ്യൽ രീതികളും ഉൾപ്പെടുന്നു"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"ഭാഷ മാറൽ കീ"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"വോയ്‌സ് ടൈപ്പുചെയ്യൽ കീ"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"വോയ്‌സ് ടൈപ്പുചെയ്യൽ രീതികളൊന്നും പ്രവർത്തനക്ഷമമല്ല. ഭാഷ &amp; ടൈപ്പു ചെയ്യൽ ക്രമീകരണങ്ങൾ പരിശോധിക്കുക."</string>
<string name="configure_input_method" msgid="373356270290742459">"ടൈപ്പുചെയ്യൽ രീതികൾ കോൺഫിഗർ ചെയ്യുക"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ടൈപ്പുചെയ്യൽ ഭാഷകൾ"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ഭാഷകള്‍‌"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"സഹായവും ഫീഡ്‌ബാക്കും"</string>
- <string name="select_language" msgid="3693815588777926848">"ടൈപ്പുചെയ്യൽ ഭാഷകൾ"</string>
+ <string name="select_language" msgid="5709487854987078367">"ഭാഷകള്‍‌"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"സംരക്ഷിക്കുന്നതിനായി വീണ്ടും സ്‌പർശിക്കുക"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"സംരക്ഷിക്കാൻ ഇവിടെ സ്‌പർശിക്കുക"</string>
<string name="has_dictionary" msgid="6071847973466625007">"നിഘണ്ടു ലഭ്യമാണ്"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"കീബോർഡ് തീം"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ഇംഗ്ലീഷ് (യുകെ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ഇംഗ്ലീഷ് (യുഎസ്)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"സ്‌പാനിഷ് (യുഎസ്)"</string>
@@ -102,7 +120,7 @@
<string name="subtype_emoji" msgid="7483586578074549196">"ഇമോജി"</string>
<string name="keyboard_theme" msgid="4909551808526178852">"കീബോർഡ് തീം"</string>
<string name="custom_input_styles_title" msgid="8429952441821251512">"ഇഷ്‌ടാനുസൃത ടൈപ്പുചെയ്യൽ ശൈലികൾ"</string>
- <string name="add_style" msgid="6163126614514489951">"ശൈലി ചേർക്കുക"</string>
+ <string name="add_style" msgid="6163126614514489951">"സ്റ്റൈൽ ചേർക്കുക"</string>
<string name="add" msgid="8299699805688017798">"ചേര്‍ക്കുക"</string>
<string name="remove" msgid="4486081658752944606">"നീക്കംചെയ്യുക"</string>
<string name="save" msgid="7646738597196767214">"സംരക്ഷിക്കുക"</string>
diff --git a/java/res/values-mn-rMN/strings.xml b/java/res/values-mn-rMN/strings.xml
index 4d9de5741..5dcf1f216 100644
--- a/java/res/values-mn-rMN/strings.xml
+++ b/java/res/values-mn-rMN/strings.xml
@@ -26,12 +26,15 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Товч дарахад чичрэх"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Товч дарахад дуу гаргах"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Товч дарахад попап гарна"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Оруулгын тохируулга"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Харагдац"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Олон хэлний сонголтууд"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Зангалтын бичих тохируулга"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Тохируулга"</string>
+ <string name="settings_screen_accounts" msgid="7570397912370223287">"Акаунт &amp; нууцлал"</string>
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Харагдац &amp; байрлал"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Олон хэлний сонголт"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Зангаагаар бичих"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Текст залруулалт"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Дэлгэрэнгүй"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Загвар"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Хуваагдмал гарыг идэвхжүүлэх"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Оруулах өөр арга руу шилжүүлэх"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Хэл солих түлхүүрт өөр оруулах аргууд мөн багтсан байгаа"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Хэл солих товч"</string>
@@ -74,13 +77,20 @@
<string name="voice_input" msgid="3583258583521397548">"Дуун оруулгын товч"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ямар ч дуу оруулах хэрэглүүр идэвхжээгүй байна. Хэл болон оруулалтын тохиргоог шалгана уу."</string>
<string name="configure_input_method" msgid="373356270290742459">"Оруулах аргуудын тохиргоо"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Оруулах хэл"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Хэл"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Тусламж &amp; санал хүсэлт"</string>
- <string name="select_language" msgid="3693815588777926848">"Оруулах хэл"</string>
+ <string name="select_language" msgid="5709487854987078367">"Хэл"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Хадгалахын тулд дахин хүрнэ үү"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Хадгалахын тулд хүрнэ үү"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Толь бичиг байна"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Гарын загвар"</string>
+ <string name="switch_accounts" msgid="3321216593719006162">"Акаунт сэлгэх"</string>
+ <string name="no_accounts_selected" msgid="2073821619103904330">"Акаунт сонгогдоогүй"</string>
+ <string name="account_selected" msgid="2846876462199625974">"Одоо <xliff:g id="EMAIL_ADDRESS">%1$s</xliff:g>-г ашиглаж байна"</string>
+ <string name="account_select_ok" msgid="9141195141763227797">"ТИЙМ"</string>
+ <string name="account_select_cancel" msgid="5181012062618504340">"Цуцлах"</string>
+ <string name="account_select_sign_out" msgid="3299651159390187933">"Гарах"</string>
+ <string name="account_select_title" msgid="6279711684772922649">"Ашиглах акаунтаа сонгоно уу"</string>
<string name="subtype_en_GB" msgid="88170601942311355">"Англи (ИБ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Англи (АНУ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Испани (АНУ)"</string>
diff --git a/java/res/values-mr-rIN/strings.xml b/java/res/values-mr-rIN/strings.xml
index 3561996c9..ee89e1744 100644
--- a/java/res/values-mr-rIN/strings.xml
+++ b/java/res/values-mr-rIN/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"कीप्रेस करताना होणारे कंपन"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"कीप्रेस करताना होणारा ध्वनी"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"कीप्रेस करताना पॉपअप"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"इनपुट प्राधान्ये"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"दिसणे"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"बहुभाषिक पर्याय"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"हावभाग टायपिंग प्राधान्ये"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"प्राधान्ये"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"स्वरूप आणि लेआउट"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"बहुभाषिक पर्याय"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"जेश्चर टायपिंग"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"मजकूर दुरुस्ती"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"प्रगत"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"थीम"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"विभाजित कीबोर्ड सक्षम करा"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्य इनपुट पद्धतींवर स्विच करा"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्विच की अन्य इनपुट पद्धती देखील समाविष्ट करते"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच की"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"व्हॉइस इनपुट की"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"व्हॉइस इनपुट पद्धती सक्षम केल्या नाहीत. भाषा आणि इनपुट सेटिंग्ज तपासा."</string>
<string name="configure_input_method" msgid="373356270290742459">"इनपुट पद्धती कॉन्फिगर करा"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषा"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"भाषा"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"मदत आणि अभिप्राय"</string>
- <string name="select_language" msgid="3693815588777926848">"इनपुट भाषा"</string>
+ <string name="select_language" msgid="5709487854987078367">"भाषा"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"जतन करण्यासाठी पुन्हा स्पर्श करा"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"जतन करण्यासाठी येथे स्पर्श करा"</string>
<string name="has_dictionary" msgid="6071847973466625007">"शब्दकोश उपलब्ध"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"कीबोर्ड थीम"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"इंग्रजी (यूके)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"इंग्रजी (यूएस)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"स्पॅनिश (यूएस)"</string>
diff --git a/java/res/values-ms-rMY/strings.xml b/java/res/values-ms-rMY/strings.xml
index 471fe5e31..26d9d8ca6 100644
--- a/java/res/values-ms-rMY/strings.xml
+++ b/java/res/values-ms-rMY/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Getar pada tekanan kekunci"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Bunyi pada tekanan kekunci"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop timbul pada tekanan kunci"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Pilihan input"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Tampilan"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Pilihan berbilang bahasa"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Plhn taipan gerak isyarat"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Pilihan"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Rupa &amp; reka letak"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Pilihan berbilang bahasa"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Taipan Gerak Isyarat"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Pembetulan teks"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Lanjutan"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Tukar ke kaedah input lain"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kunci pertukaran bahasa meliputi kaedah masukan lain juga"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Kekunci tukar bahasa"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"Kunci input suara"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Tiada kaedah input suara didayakan. Semak Bahasa &amp; tetapan input."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurasikan kaedah input"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Bahasa input"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Bahasa"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Bantuan &amp; m/balas"</string>
- <string name="select_language" msgid="3693815588777926848">"Bahasa input"</string>
+ <string name="select_language" msgid="5709487854987078367">"Bahasa"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Sentuh lagi untuk menyimpan"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Sentuh di sini untuk menyimpan"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Kamus tersedia"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema papan kekunci"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Bahasa Inggeris (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Bahasa Inggeris (Australia)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Bahasa Sepanyol (AS)"</string>
diff --git a/java/res/values-my-rMM/strings.xml b/java/res/values-my-rMM/strings.xml
index ed0de4eeb..35bc2cfd9 100644
--- a/java/res/values-my-rMM/strings.xml
+++ b/java/res/values-my-rMM/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"ခလုတ်နှိပ်သည်နှင့် တုံခါစေပါ"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ခလုတ်နှိပ်လျှင် အသံမြည်"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ကီးနှိပ်လိုက်သည်နှင့် ပေါ်လာရန်"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"စာရိုက်ထည့်မှု ရွေးစရာ"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"အပြင်အဆင်"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"ဘာသာများစွာ ရွေးချယ်မှု"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"အမူယာစာရိုက်ခြင်း စိတ်ကြိုက်များ"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ရွေးချယ်စရာများ"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"အပြင်ပန်း &amp; အပြင်အဆင်များ"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"ဘာသာစကားစုံ ရွေးချယ်စရာများ"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"လှုပ်ရှားမှုဖြင့်စာရိုက်ခြင်း"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"စာအမှားပြပြင်ခြင်း"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"အဆင့်မြင့်"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"အပြင်အဆင်"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"ကီးဘုတ် ခွဲခြမ်းမှု ဖွင့်ထားရန်"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"အခြားထည့်သွင်းမည့် နည်းလမ်းများသို့ ပြောင်းရန်"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"ဘာသာပြောင်းသည့် ကီးသည် အခြားထည့်သွင်းရန် နည်းလမ်းများလည်း ပါဝင်သည်"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"ဘာသာစကား ပြောင်းခလုတ်"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"အသံထည့်သွင်းရန် ခလုတ်"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"မည်သည့် Check Language &amp; input settings."</string>
<string name="configure_input_method" msgid="373356270290742459">"ထည့်သွင်းရန် နည်းလမ်းကို ပြုပြင်မည်"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"စာရိုက်ထည့် ဘာသာ"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ဘာသာစကားများ"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"အကူအညီ &amp; တုံ့ပြန်ချက်"</string>
- <string name="select_language" msgid="3693815588777926848">"စာရိုက်ထည့် ဘာသာ"</string>
+ <string name="select_language" msgid="5709487854987078367">"ဘာသာစကားများ"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"သိမ်းရန် နောက်တစ်ကြိမ်နှိပ်ပါ"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"သိမ်းရန် ဤနေရာကို ထိပါ"</string>
<string name="has_dictionary" msgid="6071847973466625007">"အဘိဓါန်ရနိုင်"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"ကီးဘုတ်အရောင်"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"အင်္ဂလိပ်(ယူကေ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"အင်္ဂလိပ် (ယူအက်စ်)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"စပိန် (ယူအက်စ်)"</string>
diff --git a/java/res/values-nb/strings.xml b/java/res/values-nb/strings.xml
index 8a875bc93..d30912698 100644
--- a/java/res/values-nb/strings.xml
+++ b/java/res/values-nb/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrer ved tastetrykk"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Lyd ved tastetrykk"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Hurtigvindu ved tastetrykk"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Inndatainnstillinger"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Utseende"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Flerspråksalternativer"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Innstillinger for ordføring"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Innstillinger"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Utseende og utforming"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Flerspråksalternativer"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Ordføring"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Tekstkorrigering"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avansert"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Aktivér delt tastatur"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Bytt inndatametode"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasten for språkbytte dekker også andre inndatametoder"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Nøkkel for språkskifte"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tast for taleinndata"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ingen taleinndatametoder er aktivert. Sjekk Språk og inndata-innstillingene."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurer inndatametoder"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Inndataspråk"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Språk"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Hjelp og tilbakemelding"</string>
- <string name="select_language" msgid="3693815588777926848">"Inndataspråk"</string>
+ <string name="select_language" msgid="5709487854987078367">"Språk"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Trykk på nytt for å lagre"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Trykk her for å lagre"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Ordbok tilgjengelig"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tastaturtema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Engelsk (Storbritannia)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engelsk (USA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spansk (USA)"</string>
diff --git a/java/res/values-ne-rNP/strings.xml b/java/res/values-ne-rNP/strings.xml
index 514510b3f..bb9060822 100644
--- a/java/res/values-ne-rNP/strings.xml
+++ b/java/res/values-ne-rNP/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"कुञ्जी थिच्दा भाइब्रेट"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"कुञ्जी थिच्दा आवाज"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"कुञ्जी दबाउँदा पपअप"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"निवेश प्राथमिकता"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"उपस्थिति"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"बहुभाषी विकल्प"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"इशारा टाइप प्राथमिकता"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"प्राथमिकताहरू"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"देखिने; रूपरेखा"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"बहुभाषी विकल्पहरू"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"इशारा टाइपिङ"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"पाठ सुधार"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"उन्नत"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"विषयवस्तु"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"विभाजित कुञ्जीपाटी सक्षम गर्नुहोस्"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"अन्य इनपुट विधिमा स्विच गर्नुहोस्"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"भाषा स्विच किले अन्य इनपुट विधि पनि समेट्छ"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"भाषा स्विच कुञ्जी"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"आवाज इनपुट कुञ्जी"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"कुनै आवाज इनपुट विधिहरू सक्षम गरिएका छैनन्। भाषा र इनपुट सेटिङहरूको जाँच गर्नुहोस्।"</string>
<string name="configure_input_method" msgid="373356270290742459">"इनपुट विधिहरू कन्फिगर गर्नुहोस्"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"इनपुट भाषाहरू"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"भाषाहरू"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"मद्दत र प्रतिक्रिया"</string>
- <string name="select_language" msgid="3693815588777926848">"इनपुट भाषाहरू"</string>
+ <string name="select_language" msgid="5709487854987078367">"भाषाहरू"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"बचत गर्न पुनः छुनुहोस्"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"सुरक्षित गर्न यहाँ छुनुहोस्"</string>
<string name="has_dictionary" msgid="6071847973466625007">"उपलब्ध शब्दकोश"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"किबोर्ड थिम"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"अंग्रेजी (युके)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"अंग्रेजी (युएस्)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"स्पेनिस (युएस्)"</string>
diff --git a/java/res/values-nl/strings.xml b/java/res/values-nl/strings.xml
index 9b3d1f0a2..26b1ff30a 100644
--- a/java/res/values-nl/strings.xml
+++ b/java/res/values-nl/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Trillen bij toetsaanslag"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Geluid bij toetsaanslag"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up bij toetsaanslag"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Invoervoorkeuren"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Weergave"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Meertalige opties"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Voorkeuren voor Invoer met bewegingen"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Voorkeuren"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Uiterlijk en indelingen"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Meertalige opties"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Invoer met bewegingen"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Tekstcorrectie"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Geavanceerd"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Thema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Gesplitst toetsenbord inschakelen"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Invoermeth. overschakelen"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Schakelknop voor taal ook van toepassing op andere invoermethoden"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Schakelknop voor taal"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Toets voor spraakinvoer"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Geen spraakinvoermethoden ingeschakeld. Ga naar \'Instellingen voor taal en invoer\'."</string>
<string name="configure_input_method" msgid="373356270290742459">"Invoermethoden configureren"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Invoertalen"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Talen"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Help en feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Invoertalen"</string>
+ <string name="select_language" msgid="5709487854987078367">"Talen"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Tik nogmaals om op te slaan"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Tik hier om op te slaan"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Woordenboek beschikbaar"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Toetsenbordthema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Engels (GB)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engels (VS)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spaans (VS)"</string>
diff --git a/java/res/values-pl/strings.xml b/java/res/values-pl/strings.xml
index e9c6e2c10..29e255e88 100644
--- a/java/res/values-pl/strings.xml
+++ b/java/res/values-pl/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Wibracja przy naciśnięciu"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Dźwięk przy naciśnięciu"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Powiększ po naciśnięciu"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Opcje wprowadzania"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Wygląd"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opcje obsługi wielu języków"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Ustawienia pisania gestami"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Ustawienia"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Wygląd i układy"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opcje obsługi wielu języków"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Pisanie gestami"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Korekta tekstu"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Zaawansowane"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Motyw"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Włącz podzieloną klawiaturę"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Inne metody wprowadzania"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Klawisz zmiany języka obejmuje też inne metody wprowadzania"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Klawisz zmiany języka"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Klawisz rozpoznawania mowy"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nie włączono żadnych metod wprowadzania głosowego. Sprawdź ustawienia języka i wprowadzania."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfiguruj metody wprowadzania"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Języki wprowadzania"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Języki"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Pomoc i opinie"</string>
- <string name="select_language" msgid="3693815588777926848">"Języki wprowadzania"</string>
+ <string name="select_language" msgid="5709487854987078367">"Języki"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Dotknij ponownie, aby zapisać"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Kliknij tutaj, by zapisać"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Słownik dostępny"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Motyw klawiatury"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"angielski (Wielka Brytania)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angielski (Stany Zjednoczone)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"hiszpański (USA)"</string>
diff --git a/java/res/values-pt-rPT/strings.xml b/java/res/values-pt-rPT/strings.xml
index 678b38f53..bf180bfba 100644
--- a/java/res/values-pt-rPT/strings.xml
+++ b/java/res/values-pt-rPT/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao primir as teclas"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao premir as teclas"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Mostrar popup ao premir tecla"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferências introdução"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aspeto"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opções p/ vários idiomas"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Pref. de intr. de gestos"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferências"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aspeto e esquemas"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opções para vários idiomas"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Escrita com gestos"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correção de texto"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avançadas"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Ativar teclado dividido"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Mudar p/ outros mét. ent."</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla de mudança de idioma abrange outros métodos de entrada"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tecla alterar idioma"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Chave de entrada de voz"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nenhum método de entrada de texto por voz ativado. Verifique as definições de Idioma e introdução."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de introdução"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Idiomas"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Ajuda e comentários"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de introdução"</string>
+ <string name="select_language" msgid="5709487854987078367">"Idiomas"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Toque novamente para guardar"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Toque aqui para guardar"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dicionário disponível"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema do teclado"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Inglês (RU)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Inglês (EUA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Espanhol (EUA)"</string>
diff --git a/java/res/values-pt/strings.xml b/java/res/values-pt/strings.xml
index 9e0b6e46e..d3ea70b0e 100644
--- a/java/res/values-pt/strings.xml
+++ b/java/res/values-pt/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrar ao tocar a tecla"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Som ao tocar a tecla"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Exibir pop-up ao digitar"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferências de entrada"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aparência"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opções multilíngues"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Pref. da entr. por gestos"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferências"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aparência e layouts"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opções multilíngues"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Escrita com gestos"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Correção de texto"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avançadas"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Outros métodos de entrada"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"A tecla p/ mudar o idioma também cobre outros métodos de entrada"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tecla de seleção de idioma"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tecla p/ inserir texto por voz"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nenhum método de entrada de texto por voz ativado. Verifique as configurações \"Idioma e entrada\"."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configurar métodos de entrada"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Idiomas de entrada"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Idiomas"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Ajuda e feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Idiomas de entrada"</string>
+ <string name="select_language" msgid="5709487854987078367">"Idiomas"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Toque novamente para salvar"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Toque aqui para salvar"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dicionário disponível"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema do teclado"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"inglês (Reino Unido)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"inglês (EUA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"espanhol (EUA)"</string>
@@ -128,11 +147,11 @@
<string name="setup_step2_instruction" msgid="9141481964870023336">"Em seguida, selecione \"<xliff:g id="APPLICATION_NAME">%s</xliff:g>\" como o método de entrada de texto ativo."</string>
<string name="setup_step2_action" msgid="1660330307159824337">"Alternar métodos de entrada"</string>
<string name="setup_step3_title" msgid="3154757183631490281">"Parabéns, você terminou!"</string>
- <string name="setup_step3_instruction" msgid="8025981829605426000">"Agora você pode digitar em todos os seus aplicativos favoritos com o <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
+ <string name="setup_step3_instruction" msgid="8025981829605426000">"Agora você pode digitar em todos os seus apps favoritos com o <xliff:g id="APPLICATION_NAME">%s</xliff:g>."</string>
<string name="setup_step3_action" msgid="600879797256942259">"Configurar idiomas adicionais"</string>
<string name="setup_finish_action" msgid="276559243409465389">"Concluído"</string>
- <string name="show_setup_wizard_icon" msgid="5008028590593710830">"Mostrar ícone do aplicativo"</string>
- <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Mostrar ícone do aplicativo no iniciador"</string>
+ <string name="show_setup_wizard_icon" msgid="5008028590593710830">"Mostrar ícone do app"</string>
+ <string name="show_setup_wizard_icon_summary" msgid="4119998322536880213">"Mostrar ícone do app no iniciador"</string>
<string name="app_name" msgid="6320102637491234792">"Provedor de dicionário"</string>
<string name="dictionary_provider_name" msgid="3027315045397363079">"Provedor de dicionário"</string>
<string name="dictionary_service_name" msgid="6237472350693511448">"Serviço de dicionário"</string>
diff --git a/java/res/values-ro/strings.xml b/java/res/values-ro/strings.xml
index bd537a1fe..9eaf0f57f 100644
--- a/java/res/values-ro/strings.xml
+++ b/java/res/values-ro/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrare la apăsarea tastei"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Sunet la apăsarea tastei"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Pop-up la apăsarea tastei"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Preferințe pentru intrare"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Aspect"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opțiuni pt. diverse limbi"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Prefer. tastare gestuală"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Preferinţe"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Aspect"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opțiuni multilingve"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Tastare gestuală"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Corectare text"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Setări avansate"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Temă"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Comut. alte metode de introd."</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tasta de comutare între limbi include şi alte metode de introd."</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tastă comutare limbi"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tastă pentru intrarea vocală"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nicio metodă de intrare vocală activată. Verificați setările pentru limbă și introducere de text."</string>
<string name="configure_input_method" msgid="373356270290742459">"Configuraţi metodele de intrare"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Selectaţi limba"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Limbi"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Ajutor și feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Limbi de introducere de text"</string>
+ <string name="select_language" msgid="5709487854987078367">"Limbi"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Atingeţi din nou pentru a salva"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Atingeți aici pentru a salva"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Dicţionar disponibil"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Temă pentru tastatură"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"engleză (Regatul Unit)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"engleză (S.U.A.)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"spaniolă (S.U.A.)"</string>
diff --git a/java/res/values-ru/strings.xml b/java/res/values-ru/strings.xml
index 491e180ca..23e84b1b5 100644
--- a/java/res/values-ru/strings.xml
+++ b/java/res/values-ru/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Виброотклик клавиш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук клавиш"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Увеличение нажатых"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Параметры ввода"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Внешний вид"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Языковые параметры"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Непрерывный ввод"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Настройки"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Вид и раскладки"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Дополнительные языки"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Непрерывный ввод"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Исправление текста"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Дополнительные настройки"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тема"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Включить разделенную клавиатуру"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Смена способов ввода"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавиша переключения языков также служит для смены способа ввода"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Клавиша смены языка"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Кнопка голосового ввода"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Голосовой способ ввода не включен. Проверьте раздел настроек \"Язык и ввод\"."</string>
<string name="configure_input_method" msgid="373356270290742459">"Настройка способов ввода"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Языки ввода"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Выберите язык"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Справка/отзыв"</string>
- <string name="select_language" msgid="3693815588777926848">"Языки ввода"</string>
+ <string name="select_language" msgid="5709487854987078367">"Язык"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Нажмите, чтобы сохранить"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Нажмите, чтобы сохранить"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Доступен словарь"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Тема клавиатуры"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"английский (Великобритания)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"английский (США)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Испанский (США)"</string>
diff --git a/java/res/values-si-rLK/strings.xml b/java/res/values-si-rLK/strings.xml
index 72a44374e..7324c28ed 100644
--- a/java/res/values-si-rLK/strings.xml
+++ b/java/res/values-si-rLK/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"යතුර එබීමට කම්පනය කිරීම සක්‍රියයි"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"යතුරු එබිම මත හඬ"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"යතුරු එබීම මත උත්පතනය"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ආදාන මනාපය"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"පෙනුම"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"බහු මූර්ධජ අක්ෂර විකල්ප"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"ඉංගිතයෙන් ටයිප් කිරීමේ මනාපය"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"අභිරුචි"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"පෙනුම සහ පිරිසැලසුම්"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"බහු භාෂා විකල්ප"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"ඉංගිත ටයිප් කිරීම"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"පෙළ නිවැරදි කිරීම"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"උසස්"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"තේමාව"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"වෙනත් ආදාන ක්‍රම වෙත මාරුවන්න"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"භාෂා මාරු යතුර වෙනත් ආදාන ක්‍රමද ආවරණය කරයි"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"භාෂා මාරු යතුර"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"හඬ ආදාන යතුර"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"හඬ ආදාන සබල කර නැත. භාෂාව සහ ආදාන සැකසීම් පරීක්ෂා කරන්න."</string>
<string name="configure_input_method" msgid="373356270290742459">"ආදාන ක්‍රම වින්‍යාස කරන්න"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ආදාන භාෂා"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"භාෂා"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"උදවු සහ ප්‍රතිපෝෂණ"</string>
- <string name="select_language" msgid="3693815588777926848">"ආදාන භාෂා"</string>
+ <string name="select_language" msgid="5709487854987078367">"භාෂා"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"සුරැකීමට නැවත ස්පර්ශ කරන්න"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"සුරැකීමට මෙතැන ස්පර්ෂ කරන්න"</string>
<string name="has_dictionary" msgid="6071847973466625007">"ශබ්ද කෝෂය ලබාගත හැක"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"යතුරු පුවරු තේමාව"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ඉංග්‍රීසි (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ඉංග්‍රීසි (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ස්පාඤ්ඤ (US)"</string>
diff --git a/java/res/values-sk/strings.xml b/java/res/values-sk/strings.xml
index b9c2b0e2f..77e718cf8 100644
--- a/java/res/values-sk/strings.xml
+++ b/java/res/values-sk/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Pri stlačení klávesu vibrovať"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvuk pri stlačení klávesu"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Zobraziť znaky pri stlačení klávesu"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Predvoľby vstupu"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Vzhľad"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Možnosti viacer. jazykov"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Predvoľby písania gestami"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Predvoľby"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Vzhľad a rozloženia"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Možnosti viacerých jazykov"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Písanie gestami"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Oprava textu"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Rozšírené"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Motív"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Povoliť rozdelenie klávesnice"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prepnúť na iné metódy vstupu"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Kláves na prepnutie jazyka pokrýva aj ďalšie metódy vstupu"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Kľúč na prepínanie jazyka"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Kľúč hlasového vstupu"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Nie sú povolené žiadne metódy hlasového vstupu. Skontrolujte nastavenia položky Jazyk a vstup."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurovať metódy vstupu"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Jazyky vstupu"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Jazyky"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Pomocník a spätná väzba"</string>
- <string name="select_language" msgid="3693815588777926848">"Jazyky vstupu"</string>
+ <string name="select_language" msgid="5709487854987078367">"Jazyky"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Opätovným dotykom uložíte"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Klepnutím tu uložíte"</string>
<string name="has_dictionary" msgid="6071847973466625007">"K dispozícii je slovník"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Motív klávesnice"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Anglická klávesnica (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Anglická klávesnica (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"španielčina (USA)"</string>
diff --git a/java/res/values-sl/strings.xml b/java/res/values-sl/strings.xml
index 39179d1ff..d44fd0a48 100644
--- a/java/res/values-sl/strings.xml
+++ b/java/res/values-sl/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibriranje ob pritisku tipke"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Zvok ob pritisku tipke"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Povečaj črko ob pritisku"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Nastavitve vnosa"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Videz"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Večjezikovne možnosti"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Nastavitve pisanja s kretnjami"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Nastavitve"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Videz in postavitve"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Večjezikovne možnosti"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Pisanje s kretnjami"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Popravki besedila"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Dodatno"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Omogoči razdeljeno tipkovnico"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Prekl. na drug nač. vnosa"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tipka za preklop jezika, ki vključuje tudi druge načine vnosa"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tipka za preklop med jeziki"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Tipka za glasovni vnos"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ni omogočenih glasovnih načinov vnosa. Preverite nastavitve v razdelku »Jezik in vnos«."</string>
<string name="configure_input_method" msgid="373356270290742459">"Nastavitev načinov vnosa"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Jeziki vnosa"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Jeziki"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Pomoč in povratne informacije"</string>
- <string name="select_language" msgid="3693815588777926848">"Jeziki vnosa"</string>
+ <string name="select_language" msgid="5709487854987078367">"Jeziki"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Dotaknite se še enkrat, da shranite"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Če želite shraniti, se dotaknite tukaj"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Slovar je na voljo"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema tipkovnice"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"angleščina (Združeno kraljestvo)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"angleščina (ZDA)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"španščina (ZDA)"</string>
diff --git a/java/res/values-sr/strings.xml b/java/res/values-sr/strings.xml
index 2b69a6c74..1e86769a4 100644
--- a/java/res/values-sr/strings.xml
+++ b/java/res/values-sr/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вибрирај на притисак тастера"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук на притисак тастера"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Искачући прозор приликом притиска тастера"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Подешавања уноса"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Изглед"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Опције за више језика"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Подешавања за унос покретима"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Подешавања"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Изглед и распореди"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Опције за више језика"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Куцање покретима"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Исправљање текста"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Напредно"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тема"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Омогући подељену тастатуру"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Пребаци на друге методе уноса"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Тастер за пребацивање језика обухвата и друге методе уноса"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Тастер за пребацивање језика"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Тастер за гласовни унос"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ниједан метод гласовног уноса није омогућен. Проверите Подешавања језика и уноса."</string>
<string name="configure_input_method" msgid="373356270290742459">"Конфигурисање метода уноса"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Језици за унос"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Језици"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Помоћ и повратне информације"</string>
- <string name="select_language" msgid="3693815588777926848">"Језици уноса"</string>
+ <string name="select_language" msgid="5709487854987078367">"Језици"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Поново додирните да бисте сачували"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Додирните овде да бисте сачували"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Речник је доступан"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Тема тастатуре"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"енглески (УК)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"енглески (САД)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"шпански (САД)"</string>
diff --git a/java/res/values-sv/strings.xml b/java/res/values-sv/strings.xml
index e5c6d3bb7..d66c6c8d8 100644
--- a/java/res/values-sv/strings.xml
+++ b/java/res/values-sv/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Vibrera vid tangenttryck"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Knappljud"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Popup vid knapptryck"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Inmatningsinställningar"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Utseende"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Flerspråkiga alternativ"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Inställningar för att skriva in gester"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Inställningar"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Utseende och layouter"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Alternativ för flera språk"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Svepskrivning"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Textkorrigering"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Avancerat"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Aktivera delat tangentbord"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Byt till annan inmatning"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Språkbytesknappen omfattar även andra inmatningsmetoder"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Knapp för att byta språk"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Röstinmatningsknapp"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ingen röstinmatningsmetod har aktiverats. Kontrollera språk- och inmatningsinställningarna."</string>
<string name="configure_input_method" msgid="373356270290742459">"Konfigurera inmatningsmetoder"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Inmatningsspråk"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Språk"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Hjälp och feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Inmatningsspråk"</string>
+ <string name="select_language" msgid="5709487854987078367">"Språk"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Spara genom att trycka igen"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Tryck här om du vill spara"</string>
<string name="has_dictionary" msgid="6071847973466625007">"En ordlista är tillgänglig"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tangentbordstema"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Engelskt (brittiskt)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Engelskt (amerikanskt)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"spanska (USA)"</string>
diff --git a/java/res/values-sw/strings.xml b/java/res/values-sw/strings.xml
index b2f4d41c7..761d0b326 100644
--- a/java/res/values-sw/strings.xml
+++ b/java/res/values-sw/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Tetema unabofya kitufe"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Toa sauti unapobofya kitufe"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ibuka kitufe kinapobonyezwa"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Andika mapendeleo"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Mwonekano"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Chaguo za lugha nyingi"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Mapendeleo ya kuchapa kwa ishara"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Mapendeleo"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Mwonekano na mipangilio"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Chaguo za lugha nyingi"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Kuandika kwa Ishara"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Masahihisho ya maandishi"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Mahiri"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Mandhari"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Washa muundo wa kibodi inayogawanyika"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Badilisha hadi kwa mbinu zingine za ingizo"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Ufunguo wa kubadilisha lugha unashughulikia mbinu zingine za ingizo pia"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Kitufe cha kubadilisha lugha"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Kibao cha kuweka data kwa kutamka"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Hakuna mbinu ya kuweka data kwa kutamka iliyowashwa. Angalia Lugha na mipangilio ya kuingiza data."</string>
<string name="configure_input_method" msgid="373356270290742459">"Sanidi mbinu za uingizaji"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Lugha za uingizaji"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Lugha"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Usaidizi na maoni"</string>
- <string name="select_language" msgid="3693815588777926848">"Lugha zinazoruhusiwa"</string>
+ <string name="select_language" msgid="5709487854987078367">"Lugha"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Gusa tena ili kuhifadhi"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Gusa hapa ili uhifadhi"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Kamusi inapatikana"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Maandhari ya kibodi"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Kiingereza cha (Uingereza)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Kiingereza cha (Marekani)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Kihispania (Marekani)"</string>
diff --git a/java/res/values-ta-rIN/strings.xml b/java/res/values-ta-rIN/strings.xml
index d0a71c1d6..93282278e 100644
--- a/java/res/values-ta-rIN/strings.xml
+++ b/java/res/values-ta-rIN/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"விசையழுத்தின்போது அதிர்வுரு"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"விசையழுத்தத்தின்போது ஒலியெழுப்பு"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"விழை அழுத்தத்தின்போது பாப்அப் செய்"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"உள்ளீட்டு விருப்பங்கள்"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"தோற்றம்"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"பல மொழி விருப்பங்கள்"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"சைகைத்தட்டச்சு விருப்பம்"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"விருப்பங்கள்"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"தோற்றம் &amp; தளவமைப்புகள்"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"பன்மொழி தேர்வுகள்"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"சைகைத் தட்டச்சு"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"உரை திருத்தம்"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"மேம்பட்டவை"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"தீம்"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"பிரிக்கப்பட்ட விசைப்பலகையை இயக்கு"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"பிற உள்ளீட்டு முறைகளுக்கு மாறு"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"மொழி மாற்றல் விசை பிற உள்ளீட்டு முறைகளையும் கட்டுப்படுத்துகிறது"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"மொழி மாற்ற விசை"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"குரல் உள்ளீட்டு விசை"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"குரல் உள்ளீட்டு முறைகள் எதுவும் இயக்கப்படவில்லை. மொழி &amp; உள்ளீட்டு அமைப்புகளைச் சரிபார்க்கவும்."</string>
<string name="configure_input_method" msgid="373356270290742459">"உள்ளீட்டு முறைகளை உள்ளமைத்தல்"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"உள்ளீட்டு மொழிகள்"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"மொழிகள்"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"உதவி &amp; கருத்து"</string>
- <string name="select_language" msgid="3693815588777926848">"உள்ளீட்டு மொழிகள்"</string>
+ <string name="select_language" msgid="5709487854987078367">"மொழிகள்"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"சேமிக்க தொடவும்"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"சேமிக்க இங்கு தொடவும்"</string>
<string name="has_dictionary" msgid="6071847973466625007">"அகராதி உள்ளது"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"விசைப்பலகை தீம்"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ஆங்கிலம் (யூகே)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ஆங்கிலம் (யூஎஸ்)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ஸ்பானிஷ் (யூஎஸ்)"</string>
diff --git a/java/res/values-te-rIN/strings.xml b/java/res/values-te-rIN/strings.xml
index b4bcf2c2e..7b18342f1 100644
--- a/java/res/values-te-rIN/strings.xml
+++ b/java/res/values-te-rIN/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"కీని నొక్కినప్పుడు వైబ్రేట్"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"కీని నొక్కినప్పుడు ధ్వని"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"కీని నొక్కినప్పుడు పాప్‌అప్ చూపు"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ఇన్‌పుట్ ప్రాధాన్యతలు"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"కనిపించే తీరు"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"బహుళ భాషా ఎంపికలు"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"సంజ్ఞ టైపింగ్ ప్రాధాన్యతలు"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ప్రాధాన్యతలు"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"కనిపించే తీరు &amp; లేఅవుట్‌లు"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"బహుభాషా ఎంపికలు"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"సంజ్ఞ టైపింగ్"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"వచన సవరణ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"అధునాతనం"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"థీమ్"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"విభజన కీబోర్డ్‌ను ప్రారంభించు"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ఇతర ఇన్‌పుట్ పద్ధతులకు మారండి"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"భాష మార్పు కీ ఇతర ఇన్‌పుట్ పద్ధతులను కూడా కవర్ చేస్తుంది"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"భాష మార్పు కీ"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"వాయిస్ ఇన్‌పుట్ కీ"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"వాయిస్ ఇన్‌పుట్ పద్ధతులు ఏవీ ప్రారంభించబడలేదు. భాష &amp; ఇన్‌పుట్ సెట్టింగ్‌లను తనిఖీ చేయండి."</string>
<string name="configure_input_method" msgid="373356270290742459">"ఇన్‌పుట్ పద్ధతులను కాన్ఫిగర్ చేయండి"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ఇన్‌పుట్ భాషలు"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"భాషలు"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"సహాయం &amp; అభిప్రాయం"</string>
- <string name="select_language" msgid="3693815588777926848">"ఇన్‌పుట్ భాషలు"</string>
+ <string name="select_language" msgid="5709487854987078367">"భాషలు"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"సేవ్ చేయడానికి మళ్లీ తాకండి"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"సేవ్ చేయడానికి ఇక్కడ తాకండి"</string>
<string name="has_dictionary" msgid="6071847973466625007">"నిఘంటువు అందుబాటులో ఉంది"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"కీబోర్డ్ థీమ్"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"ఆంగ్లం (యుకె)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"ఆంగ్లం (యుఎస్)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"స్పానిష్ (యుఎస్)"</string>
diff --git a/java/res/values-th/strings.xml b/java/res/values-th/strings.xml
index e32a15593..8c6701d0a 100644
--- a/java/res/values-th/strings.xml
+++ b/java/res/values-th/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"สั่นเมื่อกดปุ่ม"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"ส่งเสียงเมื่อกดปุ่ม"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"ป๊อปอัปเมื่อกดแป้น"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ค่ากำหนดการป้อนข้อมูล"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"ลักษณะที่ปรากฏ"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"ตัวเลือกหลายภาษา"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"การป้อนข้อมูลด้วยท่าทาง"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ค่ากำหนด"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"ลักษณะที่ปรากฏและรูปแบบ"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"ตัวเลือกหลายภาษา"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"การป้อนข้อมูลด้วยท่าทาง"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"การแก้ไขข้อความ"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"ขั้นสูง"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"ธีม"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"เปิดใช้แป้นพิมพ์แยก"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"ใช้วิธีการป้อนข้อมูลอื่น"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"แป้นสลับภาษาครอบคลุมวิธีการป้อนข้อมูลอื่นๆ ด้วย"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"แป้นสลับภาษา"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"แป้นการป้อนข้อมูลด้วยเสียง"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"ไม่ได้เปิดใช้วิธีการป้อนข้อมูลด้วยเสียง ตรวจสอบภาษาและการตั้งค่าการป้อนข้อมูล"</string>
<string name="configure_input_method" msgid="373356270290742459">"กำหนดค่าวิธีการป้อนข้อมูล"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ภาษาในการป้อนข้อมูล"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"ภาษา"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"ความช่วยเหลือและความคิดเห็น"</string>
- <string name="select_language" msgid="3693815588777926848">"ภาษาสำหรับการป้อนข้อมูล"</string>
+ <string name="select_language" msgid="5709487854987078367">"ภาษา"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"แตะอีกครั้งเพื่อบัน​​ทึก"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"แตะที่นี่เพื่อบันทึก"</string>
<string name="has_dictionary" msgid="6071847973466625007">"มีพจนานุกรมให้ใช้งาน"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"ชุดรูปแบบแป้นพิมพ์"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"อังกฤษ (สหราชอาณาจักร)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"อังกฤษ (อเมริกัน)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"สเปน (สหรัฐอเมริกา)"</string>
diff --git a/java/res/values-tl/strings.xml b/java/res/values-tl/strings.xml
index 056d55299..2329c7b48 100644
--- a/java/res/values-tl/strings.xml
+++ b/java/res/values-tl/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Mag-vibrate sa keypress"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tumunog sa keypress"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Mag-popup sa keypress"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Mga kagustuhan sa input"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Hitsura"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Opsyon sa maraming wika"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Gustong gesture typing"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Mga Kagustuhan"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Hitsura at mga layout"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Opsyon na pangmaraming wika"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Pagta-type Gamit ang Galaw"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Pagwawasto ng text"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Advanced"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"I-enable ang split keyboard"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Lipat iba paraan ng input"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Saklaw din ng key ng pagpalit ng wika ang ibang paraan ng input"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Key ng panlipat ng wika"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Voice input key"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Walang naka-enable na pamamaraan ng pag-input ng boses. Suriin ang mga setting ng Pag-input ng wika."</string>
<string name="configure_input_method" msgid="373356270290742459">"I-configure ang mga pamamaraan ng pag-input"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Mag-input ng mga wika"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Mga Wika"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Tulong at feedback"</string>
- <string name="select_language" msgid="3693815588777926848">"Mga wika ng input"</string>
+ <string name="select_language" msgid="5709487854987078367">"Mga Wika"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Pinduting muli upang i-save"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Pumindot dito upang mag-save"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Available ang diksyunaryo"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Tema ng keyboard"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Ingles (UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Ingles (Estados Unidos)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Spanish (US)"</string>
diff --git a/java/res/values-tr/strings.xml b/java/res/values-tr/strings.xml
index 66d6c2439..8bba7936b 100644
--- a/java/res/values-tr/strings.xml
+++ b/java/res/values-tr/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Tuşa basıldığında titret"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tuşa basıldığında ses çıkar"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Tuşa basıldığında pop-up aç"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Giriş tercihleri"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Görünüm"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Çok dilli seçenekler"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Hareketle yazma tercihleri"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Tercihler"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Görünüm ve düzen"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Çok dilli seçenekler"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Hareketle Yazma"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Metin düzeltme"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Gelişmiş"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Tema"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Bölünmüş klavyeyi etkinleştir"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Diğer giriş yöntemine geç"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Dil geçiş tuşu diğer giriş yöntemlerini de kapsar"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Dil değiştirme tuşu"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Ses girişi tuşu"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Hiçbir ses girişi yöntemi etkinleştirilmedi. Dil ve giriş ayarlarını kontrol edin."</string>
<string name="configure_input_method" msgid="373356270290742459">"Giriş yöntemlerini yapılandır"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Giriş dilleri"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Diller"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Yardım ve geri bildirim"</string>
- <string name="select_language" msgid="3693815588777926848">"Giriş dilleri"</string>
+ <string name="select_language" msgid="5709487854987078367">"Diller"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Kaydetmek için tekrar dokunun"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Kaydetmek için buraya dokunun"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Sözlük kullanılabilir"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klavye teması"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"İngilizce (BK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"İngilizce (ABD)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"İspanyolca (ABD)"</string>
diff --git a/java/res/values-uk/strings.xml b/java/res/values-uk/strings.xml
index 7fe07563e..850efc0c9 100644
--- a/java/res/values-uk/strings.xml
+++ b/java/res/values-uk/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Вібр. при натисканні клавіш"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Звук при натиску клав."</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Сплив. при нат.клав."</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Параметри введення"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Вигляд"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Параметри кількома мовами"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Параметри вводу жестами"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Параметри"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Вигляд і макети"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Опції кількома мовами"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Введення тексту жестами"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Виправлення тексту"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Додатково"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Тема"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Увімкнути розділену клавіатуру"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Інші методи введення"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Клавіша зміни мови дозволяє змінювати методи введення"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Клавіша зміни мови"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Ключ голосового вводу"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Способи голосового вводу не ввімкнено. Перейдіть у налаштування \"Мова та введення\"."</string>
<string name="configure_input_method" msgid="373356270290742459">"Налаштування методів введення"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Мови вводу"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Мови"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Довідка й відгуки"</string>
- <string name="select_language" msgid="3693815588777926848">"Мови введення"</string>
+ <string name="select_language" msgid="5709487854987078367">"Мови"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Торкніться знову, щоб зберегти"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Торкніться тут, щоб зберегти"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Словник доступний"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Тема клавіатури"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Англійська (Великобританія)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Англійська (США)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"іспанська (США)"</string>
diff --git a/java/res/values-ur-rPK/strings.xml b/java/res/values-ur-rPK/strings.xml
index 2e8c9deb5..971a7099d 100644
--- a/java/res/values-ur-rPK/strings.xml
+++ b/java/res/values-ur-rPK/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"کلید دبانے پر وائبریٹ کریں"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"کلید دبانے پر آواز"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"کلید دبانے پر پاپ اپ"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"ان پٹ کی ترجیحات"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"موجودگی"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"کثیر لسانی اختیارات"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"اشارہ ٹائپنگ کی ترجیحات"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"ترجیحات"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"ظہور اور لے آؤٹس"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"کثیر لسانی اختیارات"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"اشارہ جاتی ٹائپنگ"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"متن کی اصلاح"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"جدید ترین"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"تھیم"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"الگ ہونے والا کی بورڈ فعال کریں"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"دیگر اندراج طریقوں پر سوئچ کریں"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"زبان سوئچ کرنے کی کلید اندراج کے دیگر طریقوں کا بھی احاطہ کرتی ہے"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"زبان سوئچ کرنے کی کلید"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"صوتی ان پٹ کلید"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"کوئی صوتی اندراج کے طریقے فعال نہیں ہیں۔ زبان اور ان پٹ ترتیبات کو چیک کریں۔"</string>
<string name="configure_input_method" msgid="373356270290742459">"اندراج کے طریقے کنفیگر کریں"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"ان پٹ زبانیں"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"زبانیں"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"مدد اور تاثرات"</string>
- <string name="select_language" msgid="3693815588777926848">"ان پٹ زبانیں"</string>
+ <string name="select_language" msgid="5709487854987078367">"زبانیں"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"محفوظ کرنے کیلئے دوبارہ ٹچ کریں"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"محفوظ کرنے کیلئے یہاں ٹچ کریں"</string>
<string name="has_dictionary" msgid="6071847973466625007">"لغت دستیاب ہے"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"کی بورڈ تھیم"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"انگریزی (برطانیہ)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"انگریزی (امریکہ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"ہسپانوی (امریکہ)"</string>
diff --git a/java/res/values-uz-rUZ/strings.xml b/java/res/values-uz-rUZ/strings.xml
index 0eb2c165f..eee56ea9c 100644
--- a/java/res/values-uz-rUZ/strings.xml
+++ b/java/res/values-uz-rUZ/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Tugma bosilganda tebranish"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Tugma bosilganda ovoz"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Tugma bosilganda qalqib chiqish"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Matn kiritish sozlamalari"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Tashqi ko‘rinishi"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Ko‘p tilli tanlamalar"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Ishora b-n yozish soz-ri"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Shaxsiy sozlamalar"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Tashqi ko‘rinishi va joylashuvi"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Ko‘p tilli tanlamalar"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Imo-ishoralar bilan yozish"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Matnni tuzatish"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Qo‘shimcha"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Mavzu"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Ikkiga ajratiladigan klaviaturani yoqish"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Boshqa usullarga o‘tish"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Tilni o‘zgartirish tugmasi matn kiritish usulini ham o‘zgartiradi"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Tilni o‘zgartirish tugmasi"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Ovoz bilan kiritish tugmasi"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Ovoz bilan yozish usuli yoqilmagan. Til va matn kiritish sozlamalarini tekshiring."</string>
<string name="configure_input_method" msgid="373356270290742459">"Matn kiritish usullarini sozlash"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Matn kiritish tillari"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Tillar"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Yordam va fikr-mulohaza"</string>
- <string name="select_language" msgid="3693815588777926848">"Matn kiritish tillari"</string>
+ <string name="select_language" msgid="5709487854987078367">"Tillar"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Saqlash uchun yana bosing"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Saqlash uchun bu yerga bosing"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Lug‘at mavjud"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Klaviatura mavzusi"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Ingliz (Buyuk Britaniya)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Ingliz (AQSH)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Ispan (AQSH)"</string>
diff --git a/java/res/values-vi/strings.xml b/java/res/values-vi/strings.xml
index 6447a2d74..de0d011b1 100644
--- a/java/res/values-vi/strings.xml
+++ b/java/res/values-vi/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Rung khi nhấn phím"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Âm thanh khi nhấn phím"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Cửa sổ bật lên khi nhấn phím"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Tùy chọn nhập"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Giao diện"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Tùy chọn đa ngôn ngữ"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Tùy chọn nhập bằng cử chỉ"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Tùy chọn"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Giao diện và bố cục"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Tùy chọn đa ngôn ngữ"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Nhập bằng cử chỉ"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Sửa văn bản"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Nâng cao"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Chủ đề"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Bật chia bàn phím"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Phương thức nhập khác"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Khóa chuyển ngôn ngữ bao gồm cả các phương thức nhập liệu khác"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Phím chuyển đổi ngôn ngữ"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Khóa nhập giọng nói"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Không có phương thức nhập bằng giọng nói nào được bật. Kiểm tra cài đặt Ngôn ngữ và phương thức nhập."</string>
<string name="configure_input_method" msgid="373356270290742459">"Định cấu hình phương thức nhập"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Ngôn ngữ nhập"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Ngôn ngữ"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Trợ giúp và phản hồi"</string>
- <string name="select_language" msgid="3693815588777926848">"Ngôn ngữ nhập"</string>
+ <string name="select_language" msgid="5709487854987078367">"Ngôn ngữ"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Chạm lại để lưu"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Chạm vào đây để lưu"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Có sẵn từ điển"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Chủ đề bàn phím"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"Tiếng Anh (Anh)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"Tiếng Anh (Mỹ)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"Tiếng Tây Ban Nha (Mỹ)"</string>
diff --git a/java/res/values-zh-rCN/strings.xml b/java/res/values-zh-rCN/strings.xml
index df2acc762..a1c8d181f 100644
--- a/java/res/values-zh-rCN/strings.xml
+++ b/java/res/values-zh-rCN/strings.xml
@@ -26,12 +26,17 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按键振动"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按键音效"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"按键时弹出显示字符"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"输入偏好设置"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"外观"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"多语言选项"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"滑行输入偏好设置"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"偏好设置"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"外观和布局"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"多语言选项"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"滑行输入"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"文字更正"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"高级"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"主题背景"</string>
+ <!-- no translation found for enable_split_keyboard (4177264923999493614) -->
+ <skip />
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切换到其他输入法"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"语言切换键也可用于切换其他输入法"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"语言切换键"</string>
@@ -74,13 +79,27 @@
<string name="voice_input" msgid="3583258583521397548">"语音输入键"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"未启用任何语音输入法。请检查“语言和输入法”设置。"</string>
<string name="configure_input_method" msgid="373356270290742459">"配置输入法"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"输入语言"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"语言"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"帮助和反馈"</string>
- <string name="select_language" msgid="3693815588777926848">"输入语言"</string>
+ <string name="select_language" msgid="5709487854987078367">"语言"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"再次触摸即可保存"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"触摸此处即可保存"</string>
<string name="has_dictionary" msgid="6071847973466625007">"有可用字典"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"键盘主题"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"英语(英国)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英语(美国)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"西班牙语(美国)"</string>
diff --git a/java/res/values-zh-rHK/strings.xml b/java/res/values-zh-rHK/strings.xml
index 4a8ed6937..475ae0a2a 100644
--- a/java/res/values-zh-rHK/strings.xml
+++ b/java/res/values-zh-rHK/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按鍵時震動"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按鍵時播放音效"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"按鍵時顯示彈出式視窗"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"輸入偏好設定"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"外觀"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"多語言選項"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"觸控輸入偏好設定"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"偏好設定"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"外觀和版面配置"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"多語選項"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"手勢輸入"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"文字更正"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"進階"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"主題背景"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"啟用分離式鍵盤"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切換至其他輸入法"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"語言切換鍵包括其他輸入法"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"語言切換鍵"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"語音輸入鍵"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"尚未啟用語音輸入法,請檢查語言和輸入設定。"</string>
<string name="configure_input_method" msgid="373356270290742459">"設定輸入法"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"輸入語言"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"語言"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"說明與意見反映"</string>
- <string name="select_language" msgid="3693815588777926848">"輸入語言"</string>
+ <string name="select_language" msgid="5709487854987078367">"語言"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"再次輕觸即可儲存"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"輕觸即可儲存"</string>
<string name="has_dictionary" msgid="6071847973466625007">"可使用字典"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"鍵盤主題"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"英文 (英國)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英文 (美國)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"西班牙文 (美國)"</string>
@@ -140,8 +158,8 @@
<string name="dictionary_settings_title" msgid="8091417676045693313">"附加字典"</string>
<string name="dictionary_install_over_metered_network_prompt" msgid="3587517870006332980">"可使用字典"</string>
<string name="dictionary_settings_summary" msgid="5305694987799824349">"字典設定"</string>
- <string name="user_dictionaries" msgid="3582332055892252845">"用戶字典"</string>
- <string name="default_user_dict_pref_name" msgid="1625055720489280530">"用戶字典"</string>
+ <string name="user_dictionaries" msgid="3582332055892252845">"使用者字典"</string>
+ <string name="default_user_dict_pref_name" msgid="1625055720489280530">"使用者字典"</string>
<string name="dictionary_available" msgid="4728975345815214218">"可使用字典"</string>
<string name="dictionary_downloading" msgid="2982650524622620983">"目前下載中"</string>
<string name="dictionary_installed" msgid="8081558343559342962">"已安裝"</string>
@@ -179,7 +197,7 @@
<string name="user_dict_settings_edit_dialog_title" msgid="3765774633869590352">"編輯字詞"</string>
<string name="user_dict_settings_context_menu_edit_title" msgid="6812255903472456302">"編輯"</string>
<string name="user_dict_settings_context_menu_delete_title" msgid="8142932447689461181">"刪除"</string>
- <string name="user_dict_settings_empty_text" msgid="558499587532668203">"您的用戶字典中沒有任何字詞。輕觸 [新增] (+) 按鈕即可新增字詞。"</string>
+ <string name="user_dict_settings_empty_text" msgid="558499587532668203">"您的使用者字典中沒有任何字詞。輕觸 [新增] (+) 按鈕即可新增字詞。"</string>
<string name="user_dict_settings_all_languages" msgid="8276126583216298886">"所有語言"</string>
<string name="user_dict_settings_more_languages" msgid="7131268499685180461">"更多語言..."</string>
<string name="user_dict_settings_delete" msgid="110413335187193859">"刪除"</string>
diff --git a/java/res/values-zh-rTW/strings.xml b/java/res/values-zh-rTW/strings.xml
index 120b8da84..316f3f786 100644
--- a/java/res/values-zh-rTW/strings.xml
+++ b/java/res/values-zh-rTW/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"按鍵時震動"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"按鍵聲音"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"按鍵時彈出"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"輸入偏好設定"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"外觀"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"多語言選項"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"手勢輸入偏好設定"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"偏好設定"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"外觀與版面配置"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"多語選項"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"手勢輸入"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"文字修正"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"進階"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"主題"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"啟用分離式鍵盤"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"切換到其他輸入法"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"使語言切換鍵包含其他輸入法"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"語言切換鍵"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"語音輸入按鍵"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"尚未啟動語音輸入法,請檢查語言與輸入設定。"</string>
<string name="configure_input_method" msgid="373356270290742459">"設定輸入法"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"輸入語言"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"語言"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"說明與意見回饋"</string>
- <string name="select_language" msgid="3693815588777926848">"輸入語言"</string>
+ <string name="select_language" msgid="5709487854987078367">"語言"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"再次輕觸即可儲存"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"輕觸這裡即可儲存"</string>
<string name="has_dictionary" msgid="6071847973466625007">"可用的字典"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"鍵盤主題"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"英文 (英國)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"英文 (美國)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"西班牙文 (美國)"</string>
diff --git a/java/res/values-zu/strings.xml b/java/res/values-zu/strings.xml
index d65b02e1c..607407e3f 100644
--- a/java/res/values-zu/strings.xml
+++ b/java/res/values-zu/strings.xml
@@ -26,12 +26,16 @@
<string name="vibrate_on_keypress" msgid="5258079494276955460">"Dlidlizelisa ngokucindezela inkinobho"</string>
<string name="sound_on_keypress" msgid="6093592297198243644">"Umsindo wokucindezela ukhiye"</string>
<string name="popup_on_keypress" msgid="123894815723512944">"Ugaxekile ngokucindezela ukhiye"</string>
- <string name="settings_screen_input" msgid="2808654300248306866">"Okuthandwayo kokokufaka"</string>
- <string name="settings_screen_appearances" msgid="3611951947835553700">"Ukubonakala"</string>
- <string name="settings_screen_multi_lingual" msgid="6829970893413937235">"Izinketho zezilimi eziningi"</string>
- <string name="settings_screen_gesture" msgid="9113437621722871665">"Okuthandwayo kokuthayipha kokuthinta"</string>
+ <string name="settings_screen_preferences" msgid="2696713156722014624">"Izintandokazi"</string>
+ <!-- no translation found for settings_screen_accounts (7570397912370223287) -->
+ <skip />
+ <string name="settings_screen_appearance" msgid="9153102634339912029">"Ukubonakala nezakhiwo"</string>
+ <string name="settings_screen_multilingual" msgid="1391301621464509659">"Izinketho zezilimi eziningi"</string>
+ <string name="settings_screen_gesture" msgid="8826372746901183556">"Ukuthayipha ngokuthinta"</string>
<string name="settings_screen_correction" msgid="1616818407747682955">"Ukulungisa umbhalo"</string>
<string name="settings_screen_advanced" msgid="7472408607625972994">"Okuthuthukisiwe"</string>
+ <string name="settings_screen_theme" msgid="2137262503543943871">"Itimu"</string>
+ <string name="enable_split_keyboard" msgid="4177264923999493614">"Nika amandla ikhibhodi yokuhlukanisa"</string>
<string name="include_other_imes_in_language_switch_list" msgid="4533689960308565519">"Shintshela kwezinye izindlela zokungena"</string>
<string name="include_other_imes_in_language_switch_list_summary" msgid="840637129103317635">"Ukhiye wokushintsha ulimi ubandakanya ezinye izindlela zokungenayo"</string>
<string name="show_language_switch_key" msgid="5915478828318774384">"Ukhiye wokushintsha ullimi"</string>
@@ -74,13 +78,27 @@
<string name="voice_input" msgid="3583258583521397548">"Inkinobho yokufaka izwi"</string>
<string name="voice_input_disabled_summary" msgid="8141750303464726129">"Azikho izindlela zokufaka zezwi ezinikwe amandla. Hlola izilungiselelo zolimi kanye nezokufaka."</string>
<string name="configure_input_method" msgid="373356270290742459">"Misa izindlela zokufakwayo"</string>
- <string name="language_selection_title" msgid="1651299598555326750">"Izilimi zokufakwayo"</string>
+ <string name="language_selection_title" msgid="3666971864764478269">"Izilimi"</string>
<string name="help_and_feedback" msgid="5328219371839879161">"Usizo nempendulo"</string>
- <string name="select_language" msgid="3693815588777926848">"Izilimi zokufakwayo"</string>
+ <string name="select_language" msgid="5709487854987078367">"Izilimi"</string>
<string name="hint_add_to_dictionary" msgid="573678656946085380">"Thinta futhi ukuze ulondoloze"</string>
<string name="hint_add_to_dictionary_without_word" msgid="3040385779511255101">"Thinta lapha ukuze ulondoloze"</string>
<string name="has_dictionary" msgid="6071847973466625007">"Isichazamazwi siyatholakala"</string>
<string name="keyboard_layout" msgid="8451164783510487501">"Indikimba yekhibhodi"</string>
+ <!-- no translation found for switch_accounts (3321216593719006162) -->
+ <skip />
+ <!-- no translation found for no_accounts_selected (2073821619103904330) -->
+ <skip />
+ <!-- no translation found for account_selected (2846876462199625974) -->
+ <skip />
+ <!-- no translation found for account_select_ok (9141195141763227797) -->
+ <skip />
+ <!-- no translation found for account_select_cancel (5181012062618504340) -->
+ <skip />
+ <!-- no translation found for account_select_sign_out (3299651159390187933) -->
+ <skip />
+ <!-- no translation found for account_select_title (6279711684772922649) -->
+ <skip />
<string name="subtype_en_GB" msgid="88170601942311355">"i-English(UK)"</string>
<string name="subtype_en_US" msgid="6160452336634534239">"i-English (US)"</string>
<string name="subtype_es_US" msgid="5583145191430180200">"I-Spanish (US)"</string>
diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml
index 97ae6c6c3..847b43610 100644
--- a/java/res/xml/key_styles_number.xml
+++ b/java/res/xml/key_styles_number.xml
@@ -44,6 +44,7 @@
<key-style
latin:styleName="num0KeyStyle"
latin:keySpec="0"
+ latin:keyHintLabel="+"
latin:parentStyle="numberKeyStyle" />
<key-style
latin:styleName="num1KeyStyle"
diff --git a/java/src/com/android/inputmethod/keyboard/TextDecorator.java b/java/src/com/android/inputmethod/keyboard/TextDecorator.java
index 315d36313..6e4e3281e 100644
--- a/java/src/com/android/inputmethod/keyboard/TextDecorator.java
+++ b/java/src/com/android/inputmethod/keyboard/TextDecorator.java
@@ -49,7 +49,7 @@ public class TextDecorator {
private int mMode = MODE_MONITOR;
private String mLastComposingText = null;
- private RectF mIndicatorBoundsForLastComposingText = new RectF();
+ private boolean mHasRtlCharsInLastComposingText = false;
private RectF mComposingTextBoundsForLastComposingText = new RectF();
private boolean mIsFullScreenMode = false;
@@ -241,20 +241,8 @@ public class TextDecorator {
right = Math.max(characterBounds.right, right);
}
mLastComposingText = composingTextString;
+ mHasRtlCharsInLastComposingText = useRtlLayout;
mComposingTextBoundsForLastComposingText.set(left, top, right, bottom);
- // The height and width of the indicator is the same as the height of the composing
- // text.
- final float indicatorSize = bottom - top;
- mIndicatorBoundsForLastComposingText.set(0.0f, 0.0f, indicatorSize, indicatorSize);
- // The horizontal position of the indicator depends on the text direction.
- final float indicatorTop = top;
- final float indicatorLeft;
- if (useRtlLayout) {
- indicatorLeft = left - indicatorSize;
- } else {
- indicatorLeft = right;
- }
- mIndicatorBoundsForLastComposingText.offset(indicatorLeft, indicatorTop);
}
final int selectionStart = info.getSelectionStart();
@@ -295,8 +283,8 @@ public class TextDecorator {
return;
}
- mUiOperator.layoutUi(matrix, mIndicatorBoundsForLastComposingText,
- mComposingTextBoundsForLastComposingText);
+ mUiOperator.layoutUi(matrix, mComposingTextBoundsForLastComposingText,
+ mHasRtlCharsInLastComposingText);
}
private void onClickIndicator() {
@@ -374,7 +362,7 @@ public class TextDecorator {
public void setOnClickListener(Runnable listener) {
}
@Override
- public void layoutUi(Matrix matrix, RectF indicatorBounds, RectF composingTextBounds) {
+ public void layoutUi(Matrix matrix, RectF composingTextBounds, boolean useRtlLayout) {
}
};
}
diff --git a/java/src/com/android/inputmethod/keyboard/TextDecoratorUi.java b/java/src/com/android/inputmethod/keyboard/TextDecoratorUi.java
index b67d17789..d87dc1bfa 100644
--- a/java/src/com/android/inputmethod/keyboard/TextDecoratorUi.java
+++ b/java/src/com/android/inputmethod/keyboard/TextDecoratorUi.java
@@ -26,6 +26,7 @@ import android.graphics.Path;
import android.graphics.RectF;
import android.graphics.drawable.ColorDrawable;
import android.inputmethodservice.InputMethodService;
+import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
@@ -50,6 +51,7 @@ public final class TextDecoratorUi implements TextDecoratorUiOperator {
private final PopupWindow mTouchEventWindow;
private final View mTouchEventWindowClickListenerView;
private final float mHitAreaMarginInPixels;
+ private final RectF mDisplayRect;
/**
* This constructor is designed to be called from {@link InputMethodService#setInputView(View)}.
@@ -64,6 +66,9 @@ public final class TextDecoratorUi implements TextDecoratorUiOperator {
R.integer.text_decorator_hit_area_margin_in_dp);
mHitAreaMarginInPixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
hitAreaMarginInDP, resources.getDisplayMetrics());
+ final DisplayMetrics displayMetrics = resources.getDisplayMetrics();
+ mDisplayRect = new RectF(0.0f, 0.0f, displayMetrics.widthPixels,
+ displayMetrics.heightPixels);
mLocalRootView = new RelativeLayout(context);
mLocalRootView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
@@ -111,17 +116,40 @@ public final class TextDecoratorUi implements TextDecoratorUiOperator {
mTouchEventWindow.dismiss();
}
+ private static final RectF getIndicatorBoundsInScreenCoordinates(final Matrix matrix,
+ final RectF composingTextBounds, final boolean showAtLeftSide) {
+ final float indicatorSize = composingTextBounds.height();
+ final RectF indicatorBounds;
+ if (showAtLeftSide) {
+ indicatorBounds = new RectF(composingTextBounds.left - indicatorSize,
+ composingTextBounds.top, composingTextBounds.left,
+ composingTextBounds.top + indicatorSize);
+ } else {
+ indicatorBounds = new RectF(composingTextBounds.right, composingTextBounds.top,
+ composingTextBounds.right + indicatorSize,
+ composingTextBounds.top + indicatorSize);
+ }
+ matrix.mapRect(indicatorBounds);
+ return indicatorBounds;
+ }
+
@Override
- public void layoutUi(final Matrix matrix, final RectF indicatorBounds,
- final RectF composingTextBounds) {
- final RectF indicatorBoundsInScreenCoordinates = new RectF();
- matrix.mapRect(indicatorBoundsInScreenCoordinates, indicatorBounds);
+ public void layoutUi(final Matrix matrix, final RectF composingTextBounds,
+ final boolean useRtlLayout) {
+ RectF indicatorBoundsInScreenCoordinates = getIndicatorBoundsInScreenCoordinates(matrix,
+ composingTextBounds, useRtlLayout /* showAtLeftSide */);
+ if (indicatorBoundsInScreenCoordinates.left < mDisplayRect.left ||
+ mDisplayRect.right < indicatorBoundsInScreenCoordinates.right) {
+ // The indicator is clipped by the screen. Show the indicator at the opposite side.
+ indicatorBoundsInScreenCoordinates = getIndicatorBoundsInScreenCoordinates(matrix,
+ composingTextBounds, !useRtlLayout /* showAtLeftSide */);
+ }
+
mAddToDictionaryIndicatorView.setBounds(indicatorBoundsInScreenCoordinates);
- final RectF hitAreaBounds = new RectF(composingTextBounds);
- hitAreaBounds.union(indicatorBounds);
final RectF hitAreaBoundsInScreenCoordinates = new RectF();
- matrix.mapRect(hitAreaBoundsInScreenCoordinates, hitAreaBounds);
+ matrix.mapRect(hitAreaBoundsInScreenCoordinates, composingTextBounds);
+ hitAreaBoundsInScreenCoordinates.union(indicatorBoundsInScreenCoordinates);
hitAreaBoundsInScreenCoordinates.inset(-mHitAreaMarginInPixels, -mHitAreaMarginInPixels);
final int[] originScreen = new int[2];
diff --git a/java/src/com/android/inputmethod/keyboard/TextDecoratorUiOperator.java b/java/src/com/android/inputmethod/keyboard/TextDecoratorUiOperator.java
index 9c0b64ad4..9e30e417e 100644
--- a/java/src/com/android/inputmethod/keyboard/TextDecoratorUiOperator.java
+++ b/java/src/com/android/inputmethod/keyboard/TextDecoratorUiOperator.java
@@ -17,7 +17,6 @@
package com.android.inputmethod.keyboard;
import android.graphics.Matrix;
-import android.graphics.PointF;
import android.graphics.RectF;
/**
@@ -45,9 +44,8 @@ public interface TextDecoratorUiOperator {
/**
* Called when the layout should be updated.
* @param matrix The matrix that transforms the local coordinates into the screen coordinates.
- * @param indicatorBounds The bounding box of the indicator, in local coordinates.
* @param composingTextBounds The bounding box of the composing text, in local coordinates.
+ * @param useRtlLayout {@code true} if the indicator should be optimized for RTL layout.
*/
- void layoutUi(final Matrix matrix, final RectF indicatorBounds,
- final RectF composingTextBounds);
+ void layoutUi(final Matrix matrix, final RectF composingTextBounds, final boolean useRtlLayout);
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/DrawingHandler.java b/java/src/com/android/inputmethod/keyboard/internal/DrawingHandler.java
index df82becae..4f8a105d5 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/DrawingHandler.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/DrawingHandler.java
@@ -49,7 +49,7 @@ public class DrawingHandler extends LeakGuardHandlerWrapper<Callbacks> {
callbacks.dismissKeyPreviewWithoutDelay((Key)msg.obj);
break;
case MSG_DISMISS_GESTURE_FLOATING_PREVIEW_TEXT:
- callbacks.showGestureFloatingPreviewText(SuggestedWords.EMPTY);
+ callbacks.showGestureFloatingPreviewText(SuggestedWords.getEmptyInstance());
break;
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java b/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java
index fd84856b7..37ea0f17b 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/GestureFloatingTextDrawingPreview.java
@@ -98,7 +98,7 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview {
private final RectF mGesturePreviewRectangle = new RectF();
private int mPreviewTextX;
private int mPreviewTextY;
- private SuggestedWords mSuggestedWords = SuggestedWords.EMPTY;
+ private SuggestedWords mSuggestedWords = SuggestedWords.getEmptyInstance();
private final int[] mLastPointerCoords = CoordinateUtils.newInstance();
public GestureFloatingTextDrawingPreview(final TypedArray mainKeyboardViewAttr) {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index aae134ec6..3c33320ea 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -85,19 +85,19 @@ public final class KeyboardTextsTable {
// /* index:histogram */ "name",
/* 0:32 */ "morekeys_a",
/* 1:32 */ "morekeys_o",
- /* 2:30 */ "morekeys_u",
- /* 3:30 */ "keylabel_to_alpha",
- /* 4:29 */ "morekeys_e",
+ /* 2:30 */ "morekeys_e",
+ /* 3:30 */ "morekeys_u",
+ /* 4:30 */ "keylabel_to_alpha",
/* 5:28 */ "morekeys_i",
- /* 6:23 */ "morekeys_c",
- /* 7:23 */ "double_quotes",
- /* 8:22 */ "morekeys_n",
+ /* 6:24 */ "morekeys_n",
+ /* 7:23 */ "morekeys_c",
+ /* 8:23 */ "double_quotes",
/* 9:22 */ "single_quotes",
/* 10:20 */ "morekeys_s",
/* 11:18 */ "keyspec_currency",
- /* 12:14 */ "morekeys_y",
- /* 13:13 */ "morekeys_d",
- /* 14:12 */ "morekeys_z",
+ /* 12:16 */ "morekeys_y",
+ /* 13:14 */ "morekeys_z",
+ /* 14:13 */ "morekeys_d",
/* 15:10 */ "morekeys_t",
/* 16:10 */ "morekeys_l",
/* 17: 9 */ "morekeys_g",
@@ -258,15 +258,14 @@ public final class KeyboardTextsTable {
/* Default texts */
private static final String[] TEXTS_DEFAULT = {
/* morekeys_a ~ */
- EMPTY, EMPTY, EMPTY,
+ EMPTY, EMPTY, EMPTY, EMPTY,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
/* keylabel_to_alpha */ "ABC",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
EMPTY, EMPTY, EMPTY,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_lqm_rqm",
- /* morekeys_n */ EMPTY,
/* single_quotes */ "!text/single_lqm_rqm",
/* morekeys_s */ EMPTY,
/* keyspec_currency */ "$",
@@ -488,13 +487,6 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F4,\u00F6,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FB,\u00FC,\u00F9,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
@@ -503,6 +495,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FB,\u00FC,\u00F9,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -511,13 +510,11 @@ public final class KeyboardTextsTable {
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_i */ "\u00ED,\u00EC,\u00EF,\u00EE,\u012F,\u012B,\u0133",
- /* morekeys_c */ null,
- /* double_quotes */ null,
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
/* morekeys_n */ "\u00F1,\u0144",
- /* single_quotes ~ */
- null, null, null,
+ /* morekeys_c ~ */
+ null, null, null, null, null,
/* ~ keyspec_currency */
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+0133: "ij" LATIN SMALL LIGATURE IJ
@@ -527,7 +524,7 @@ public final class KeyboardTextsTable {
/* Locale ar: Arabic */
private static final String[] TEXTS_ar = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
@@ -535,9 +532,9 @@ public final class KeyboardTextsTable {
// U+0628: "ب" ARABIC LETTER BEH
// U+062C: "ج" ARABIC LETTER JEEM
/* keylabel_to_alpha */ "\u0623\u200C\u0628\u200C\u062C",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_cyrillic_soft_sign */
// U+0661: "١" ARABIC-INDIC DIGIT ONE
/* keyspec_symbols_1 */ "\u0661",
@@ -659,7 +656,9 @@ public final class KeyboardTextsTable {
/* Locale az_AZ: Azerbaijani (Azerbaijan) */
private static final String[] TEXTS_az_AZ = {
// U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
- /* morekeys_a */ "\u00E2",
+ // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+ /* morekeys_a */ "\u00E2,\u00E4,\u00E1",
// U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
// U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
// U+0153: "œ" LATIN SMALL LIGATURE OE
@@ -669,6 +668,9 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D",
+ // U+0259: "ə" LATIN SMALL LETTER SCHWA
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ /* morekeys_e */ "\u0259,\u00E9",
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
@@ -676,8 +678,6 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
/* keylabel_to_alpha */ null,
- // U+0259: "ə" LATIN SMALL LETTER SCHWA
- /* morekeys_e */ "\u0259",
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -686,20 +686,27 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+ // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ /* morekeys_n */ "\u0148,\u00F1",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes ~ */
- null, null, null,
- /* ~ single_quotes */
+ /* double_quotes */ null,
+ /* single_quotes */ null,
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u015F,\u00DF,\u015B,\u0161",
- /* keyspec_currency ~ */
- null, null, null, null, null, null,
+ /* keyspec_currency */ null,
+ // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ /* morekeys_y */ "\u00FD",
+ // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+ /* morekeys_z */ "\u017E",
+ /* morekeys_d ~ */
+ null, null, null,
/* ~ morekeys_l */
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u011F",
@@ -708,18 +715,17 @@ public final class KeyboardTextsTable {
/* Locale be_BY: Belarusian (Belarus) */
private static final String[] TEXTS_be_BY = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null,
@@ -744,14 +750,14 @@ public final class KeyboardTextsTable {
/* Locale bg: Bulgarian */
private static final String[] TEXTS_bg = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
// single_quotes of Bulgarian is default single_quotes_right_left.
@@ -761,15 +767,15 @@ public final class KeyboardTextsTable {
/* Locale bn_IN: Bengali (India) */
private static final String[] TEXTS_bn_IN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0995: "क" BENGALI LETTER KA
// U+0996: "ख" BENGALI LETTER KHA
// U+0997: "ग" BENGALI LETTER GA
/* keylabel_to_alpha */ "\u0995\u0996\u0997",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
@@ -798,13 +804,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F2,\u00F3,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
@@ -813,6 +812,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E8,\u00E9,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -820,16 +826,15 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u00F1,\u0144",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u00F1,\u0144",
- /* single_quotes ~ */
- null, null, null, null, null, null, null,
+ /* double_quotes ~ */
+ null, null, null, null, null, null, null, null,
/* ~ morekeys_t */
// U+00B7: "·" MIDDLE DOT
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
@@ -871,14 +876,6 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+011B: "ě" LATIN SMALL LETTER E WITH CARON
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
@@ -888,6 +885,14 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -895,15 +900,15 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B",
+ // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u0148,\u00F1,\u0144",
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
/* morekeys_c */ "\u010D,\u00E7,\u0107",
/* double_quotes */ "!text/double_9qm_lqm",
- // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u0148,\u00F1,\u0144",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -913,12 +918,12 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- /* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
/* morekeys_z */ "\u017E,\u017A,\u017C",
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ /* morekeys_d */ "\u010F",
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
/* morekeys_t */ "\u0165",
/* morekeys_l */ null,
@@ -945,6 +950,9 @@ public final class KeyboardTextsTable {
// U+0153: "œ" LATIN SMALL LIGATURE OE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F4,\u00F2,\u00F5,\u0153,\u014D",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ /* morekeys_e */ "\u00E9,\u00EB",
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
@@ -952,17 +960,14 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- /* morekeys_e */ "\u00E9,\u00EB",
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
/* morekeys_i */ "\u00ED,\u00EF",
- /* morekeys_c */ null,
- /* double_quotes */ "!text/double_9qm_lqm",
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
/* morekeys_n */ "\u00F1,\u0144",
+ /* morekeys_c */ null,
+ /* double_quotes */ "!text/double_9qm_lqm",
/* single_quotes */ "!text/single_9qm_lqm",
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -972,9 +977,9 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
+ /* morekeys_z */ null,
// U+00F0: "ð" LATIN SMALL LETTER ETH
/* morekeys_d */ "\u00F0",
- /* morekeys_z */ null,
/* morekeys_t */ null,
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u0142",
@@ -1020,6 +1025,12 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F6,%,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u00F8,\u014D",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117",
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
@@ -1027,18 +1038,12 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FC,%,\u00FB,\u00F9,\u00FA,\u016B",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117",
/* morekeys_i */ null,
- /* morekeys_c */ null,
- /* double_quotes */ "!text/double_9qm_lqm",
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
/* morekeys_n */ "\u00F1,\u0144",
+ /* morekeys_c */ null,
+ /* double_quotes */ "!text/double_9qm_lqm",
/* single_quotes */ "!text/single_9qm_lqm",
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -1071,7 +1076,7 @@ public final class KeyboardTextsTable {
/* Locale el: Greek */
private static final String[] TEXTS_el = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0391: "Α" GREEK CAPITAL LETTER ALPHA
@@ -1100,6 +1105,12 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
/* morekeys_o */ "\u00F3,\u00F4,\u00F6,\u00F2,\u0153,\u00F8,\u014D,\u00F5",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0113",
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
@@ -1107,23 +1118,17 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FA,\u00FB,\u00FC,\u00F9,\u016B",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0113",
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ /* morekeys_n */ "\u00F1",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
/* morekeys_c */ "\u00E7",
/* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- /* morekeys_n */ "\u00F1",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
@@ -1154,6 +1159,15 @@ public final class KeyboardTextsTable {
// U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D,\u0151,\u00BA",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ /* morekeys_e */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
@@ -1166,15 +1180,6 @@ public final class KeyboardTextsTable {
// U+00B5: "µ" MICRO SIGN
/* morekeys_u */ "\u00FA,\u016F,\u00FB,\u00FC,\u00F9,\u016B,\u0169,\u0171,\u0173,\u00B5",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- /* morekeys_e */ "\u00E9,\u011B,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -1185,12 +1190,6 @@ public final class KeyboardTextsTable {
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u0129,\u00EC,\u012F,\u012B,\u0131,\u0133",
- // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
- // U+010D: "č" LATIN SMALL LETTER C WITH CARON
- // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
- // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
- /* morekeys_c */ "\u0107,\u010D,\u00E7,\u010B",
- /* double_quotes */ null,
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
// U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
@@ -1198,6 +1197,12 @@ public final class KeyboardTextsTable {
// U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
// U+014B: "ŋ" LATIN SMALL LETTER ENG
/* morekeys_n */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B",
+ // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+ // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
+ /* morekeys_c */ "\u0107,\u010D,\u00E7,\u010B",
+ /* double_quotes */ null,
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
@@ -1211,14 +1216,14 @@ public final class KeyboardTextsTable {
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
// U+00FE: "þ" LATIN SMALL LETTER THORN
/* morekeys_y */ "y,\u00FD,\u0177,\u00FF,\u00FE",
- // U+00F0: "ð" LATIN SMALL LETTER ETH
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
- /* morekeys_d */ "\u00F0,\u010F,\u0111",
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
/* morekeys_z */ "\u017A,\u017C,\u017E",
+ // U+00F0: "ð" LATIN SMALL LETTER ETH
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+ /* morekeys_d */ "\u00F0,\u010F,\u0111",
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
// U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
// U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
@@ -1300,13 +1305,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
@@ -1315,6 +1313,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -1322,18 +1327,18 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u00F1,\u0144",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u00F1,\u0144",
- /* single_quotes ~ */
+ /* double_quotes ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null,
/* ~ morekeys_nordic_row2_11 */
// U+00A1: "¡" INVERTED EXCLAMATION MARK
// U+00BF: "¿" INVERTED QUESTION MARK
@@ -1361,6 +1366,15 @@ public final class KeyboardTextsTable {
// U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
/* morekeys_o */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8",
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+ /* morekeys_e */ "\u0113,\u00E8,\u0117,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
// U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
@@ -1371,15 +1385,6 @@ public final class KeyboardTextsTable {
// U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
/* morekeys_u */ "\u00FC,\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u016F,\u0171",
/* keylabel_to_alpha */ null,
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
- /* morekeys_e */ "\u0113,\u00E8,\u0117,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
@@ -1388,15 +1393,15 @@ public final class KeyboardTextsTable {
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
/* morekeys_i */ "\u012B,\u00EC,\u012F,\u00ED,\u00EE,\u00EF,\u0131",
+ // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u0146,\u00F1,\u0144",
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
/* morekeys_c */ "\u010D,\u00E7,\u0107",
/* double_quotes */ "!text/double_9qm_lqm",
- // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u0146,\u00F1,\u0144",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -1407,12 +1412,12 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- /* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
/* morekeys_z */ "\u017E,\u017C,\u017A",
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ /* morekeys_d */ "\u010F",
// U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
/* morekeys_t */ "\u0163,\u0165",
@@ -1466,13 +1471,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
@@ -1481,6 +1479,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -1488,20 +1493,19 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u00F1,\u0144",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u00F1,\u0144",
};
/* Locale fa: Persian */
private static final String[] TEXTS_fa = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0627: "ا" ARABIC LETTER ALEF
@@ -1509,8 +1513,8 @@ public final class KeyboardTextsTable {
// U+0628: "ب" ARABIC LETTER BEH
// U+067E: "پ" ARABIC LETTER PEH
/* keylabel_to_alpha */ "\u0627\u200C\u0628\u200C\u067E",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+FDFC: "﷼" RIAL SIGN
/* keyspec_currency */ "\uFDFC",
@@ -1659,24 +1663,24 @@ public final class KeyboardTextsTable {
// U+0153: "œ" LATIN SMALL LIGATURE OE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F8,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u014D",
+ /* morekeys_e */ null,
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
/* morekeys_u */ "\u00FC",
/* keylabel_to_alpha ~ */
- null, null, null, null, null, null, null,
+ null, null, null, null, null, null,
/* ~ single_quotes */
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
/* morekeys_s */ "\u0161,\u00DF,\u015B",
- /* keyspec_currency ~ */
- null, null, null,
- /* ~ morekeys_d */
+ /* keyspec_currency */ null,
+ /* morekeys_y */ null,
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
/* morekeys_z */ "\u017E,\u017A,\u017C",
- /* morekeys_t ~ */
- null, null, null, null, null, null, null, null,
+ /* morekeys_d ~ */
+ null, null, null, null, null, null, null, null, null,
/* ~ morekeys_cyrillic_ie */
// U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
/* keyspec_nordic_row1_11 */ "\u00E5",
@@ -1716,13 +1720,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F4,\u0153,%,\u00F6,\u00F2,\u00F3,\u00F5,\u00F8,\u014D,\u00BA",
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00F9,\u00FB,%,\u00FC,\u00FA,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
@@ -1731,6 +1728,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,%,\u0119,\u0117,\u0113",
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00F9,\u00FB,%,\u00FC,\u00FA,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -1738,16 +1742,17 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00EE,%,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+ /* morekeys_n */ null,
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,%,\u0107,\u010D",
/* double_quotes ~ */
- null, null, null, null, null,
+ null, null, null, null,
/* ~ keyspec_currency */
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "%,\u00FF",
- /* morekeys_d ~ */
+ /* morekeys_z ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -1789,13 +1794,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
@@ -1804,6 +1802,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -1811,28 +1816,27 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u00F1,\u0144",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u00F1,\u0144",
};
/* Locale hi: Hindi */
private static final String[] TEXTS_hi = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0915: "क" DEVANAGARI LETTER KA
// U+0916: "ख" DEVANAGARI LETTER KHA
// U+0917: "ग" DEVANAGARI LETTER GA
/* keylabel_to_alpha */ "\u0915\u0916\u0917",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
@@ -1888,14 +1892,14 @@ public final class KeyboardTextsTable {
/* morekeys_a ~ */
null, null, null, null, null, null,
/* ~ morekeys_i */
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u00F1,\u0144",
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
/* morekeys_c */ "\u010D,\u0107,\u00E7",
/* double_quotes */ "!text/double_9qm_rqm",
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u00F1,\u0144",
/* single_quotes */ "!text/single_9qm_rqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -1903,12 +1907,12 @@ public final class KeyboardTextsTable {
/* morekeys_s */ "\u0161,\u015B,\u00DF",
/* keyspec_currency */ null,
/* morekeys_y */ null,
- // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
- /* morekeys_d */ "\u0111",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
/* morekeys_z */ "\u017E,\u017A,\u017C",
+ // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+ /* morekeys_d */ "\u0111",
/* morekeys_t ~ */
null, null, null,
/* ~ morekeys_g */
@@ -1937,14 +1941,6 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F6,\u0151,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u0171,\u00FB,\u00F9,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
@@ -1953,6 +1949,14 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u0171,\u00FB,\u00F9,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -1960,9 +1964,9 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u00EC,\u012F,\u012B",
+ /* morekeys_n */ null,
/* morekeys_c */ null,
/* double_quotes */ "!text/double_9qm_rqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null,
@@ -1974,18 +1978,18 @@ public final class KeyboardTextsTable {
/* Locale hy_AM: Armenian (Armenia) */
private static final String[] TEXTS_hy_AM = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0531: "Ա" ARMENIAN CAPITAL LETTER AYB
// U+0532: "Բ" ARMENIAN CAPITAL LETTER BEN
// U+0533: "Գ" ARMENIAN CAPITAL LETTER GIM
/* keylabel_to_alpha */ "\u0531\u0532\u0533",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null,
+ null, null, null, null,
/* ~ morekeys_nordic_row2_11 */
// U+055E: "՞" ARMENIAN QUESTION MARK
// U+055C: "՜" ARMENIAN EXCLAMATION MARK
@@ -2052,13 +2056,6 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
@@ -2067,6 +2064,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00EB,\u00E8,\u00EA,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
@@ -2074,18 +2078,18 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EF,\u00EE,\u00EC,\u012F,\u012B",
+ /* morekeys_n */ null,
/* morekeys_c */ null,
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s */ null,
/* keyspec_currency */ null,
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
+ /* morekeys_z */ null,
// U+00F0: "ð" LATIN SMALL LETTER ETH
/* morekeys_d */ "\u00F0",
- /* morekeys_z */ null,
// U+00FE: "þ" LATIN SMALL LETTER THORN
/* morekeys_t */ "\u00FE",
};
@@ -2112,13 +2116,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F2,\u00F3,\u00F4,\u00F6,\u00F5,\u0153,\u00F8,\u014D,\u00BA",
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00F9,\u00FA,\u00FB,\u00FC,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
@@ -2127,6 +2124,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u0117,\u0113",
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00F9,\u00FA,\u00FB,\u00FC,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
@@ -2134,7 +2138,7 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00EC,\u00ED,\u00EE,\u00EF,\u012F,\u012B",
- /* morekeys_c ~ */
+ /* morekeys_n ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2157,18 +2161,17 @@ public final class KeyboardTextsTable {
/* Locale iw: Hebrew */
private static final String[] TEXTS_iw = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+05D0: "א" HEBREW LETTER ALEF
// U+05D1: "ב" HEBREW LETTER BET
// U+05D2: "ג" HEBREW LETTER GIMEL
/* keylabel_to_alpha */ "\u05D0\u05D1\u05D2",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_rqm_9qm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_rqm_9qm",
/* morekeys_s */ null,
// U+20AA: "₪" NEW SHEQEL SIGN
@@ -2216,34 +2219,33 @@ public final class KeyboardTextsTable {
/* Locale ka_GE: Georgian (Georgia) */
private static final String[] TEXTS_ka_GE = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+10D0: "ა" GEORGIAN LETTER AN
// U+10D1: "ბ" GEORGIAN LETTER BAN
// U+10D2: "გ" GEORGIAN LETTER GAN
/* keylabel_to_alpha */ "\u10D0\u10D1\u10D2",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
};
/* Locale kk: Kazakh */
private static final String[] TEXTS_kk = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null,
+ null, null,
/* ~ morekeys_k */
// U+0451: "ё" CYRILLIC SMALL LETTER IO
/* morekeys_cyrillic_ie */ "\u0451",
@@ -2292,14 +2294,14 @@ public final class KeyboardTextsTable {
/* Locale km_KH: Khmer (Cambodia) */
private static final String[] TEXTS_km_KH = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+1780: "ក" KHMER LETTER KA
// U+1781: "ខ" KHMER LETTER KHA
// U+1782: "គ" KHMER LETTER KO
/* keylabel_to_alpha */ "\u1780\u1781\u1782",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2307,7 +2309,7 @@ public final class KeyboardTextsTable {
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null,
/* ~ morekeys_cyrillic_a */
// U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL
/* morekeys_currency_dollar */ "\u17DB,\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
@@ -2316,15 +2318,15 @@ public final class KeyboardTextsTable {
/* Locale kn_IN: Kannada (India) */
private static final String[] TEXTS_kn_IN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0C85: "ಅ" KANNADA LETTER A
// U+0C86: "ಆ" KANNADA LETTER AA
// U+0C87: "ಇ" KANNADA LETTER I
/* keylabel_to_alpha */ "\u0C85\u0C86\u0C87",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
@@ -2333,16 +2335,16 @@ public final class KeyboardTextsTable {
/* Locale ky: Kirghiz */
private static final String[] TEXTS_ky = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null,
+ null, null,
/* ~ morekeys_k */
// U+0451: "ё" CYRILLIC SMALL LETTER IO
/* morekeys_cyrillic_ie */ "\u0451",
@@ -2377,15 +2379,15 @@ public final class KeyboardTextsTable {
/* Locale lo_LA: Lao (Laos) */
private static final String[] TEXTS_lo_LA = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0E81: "ກ" LAO LETTER KO
// U+0E82: "ຂ" LAO LETTER KHO SUNG
// U+0E84: "ຄ" LAO LETTER KHO TAM
/* keylabel_to_alpha */ "\u0E81\u0E82\u0E84",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20AD: "₭" KIP SIGN
/* keyspec_currency */ "\u20AD",
@@ -2412,6 +2414,15 @@ public final class KeyboardTextsTable {
// U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
/* morekeys_o */ "\u00F6,\u00F5,\u00F2,\u00F3,\u00F4,\u0153,\u0151,\u00F8",
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+ /* morekeys_e */ "\u0117,\u0119,\u0113,\u00E8,\u00E9,\u00EA,\u00EB,\u011B",
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
// U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
@@ -2423,15 +2434,6 @@ public final class KeyboardTextsTable {
// U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
/* morekeys_u */ "\u016B,\u0173,\u00FC,\u016B,\u00F9,\u00FA,\u00FB,\u016F,\u0171",
/* keylabel_to_alpha */ null,
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
- /* morekeys_e */ "\u0117,\u0119,\u0113,\u00E8,\u00E9,\u00EA,\u00EB,\u011B",
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -2440,15 +2442,15 @@ public final class KeyboardTextsTable {
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
/* morekeys_i */ "\u012F,\u012B,\u00EC,\u00ED,\u00EE,\u00EF,\u0131",
+ // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u0146,\u00F1,\u0144",
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
/* morekeys_c */ "\u010D,\u00E7,\u0107",
/* double_quotes */ "!text/double_9qm_lqm",
- // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u0146,\u00F1,\u0144",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -2459,12 +2461,12 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- /* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
/* morekeys_z */ "\u017E,\u017C,\u017A",
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ /* morekeys_d */ "\u010F",
// U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
/* morekeys_t */ "\u0163,\u0165",
@@ -2507,6 +2509,15 @@ public final class KeyboardTextsTable {
// U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
/* morekeys_o */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u0153,\u0151,\u00F8",
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+ /* morekeys_e */ "\u0113,\u0117,\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
// U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
@@ -2517,15 +2528,6 @@ public final class KeyboardTextsTable {
// U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
/* morekeys_u */ "\u016B,\u0173,\u00F9,\u00FA,\u00FB,\u00FC,\u016F,\u0171",
/* keylabel_to_alpha */ null,
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
- /* morekeys_e */ "\u0113,\u0117,\u00E8,\u00E9,\u00EA,\u00EB,\u0119,\u011B",
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -2534,15 +2536,15 @@ public final class KeyboardTextsTable {
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
/* morekeys_i */ "\u012B,\u012F,\u00EC,\u00ED,\u00EE,\u00EF,\u0131",
+ // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u0146,\u00F1,\u0144",
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
/* morekeys_c */ "\u010D,\u00E7,\u0107",
/* double_quotes */ "!text/double_9qm_lqm",
- // U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u0146,\u00F1,\u0144",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -2553,12 +2555,12 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- /* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
/* morekeys_z */ "\u017E,\u017C,\u017A",
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ /* morekeys_d */ "\u010F",
// U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
/* morekeys_t */ "\u0163,\u0165",
@@ -2583,18 +2585,17 @@ public final class KeyboardTextsTable {
/* Locale mk: Macedonian */
private static final String[] TEXTS_mk = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2623,13 +2624,13 @@ public final class KeyboardTextsTable {
/* Locale ml_IN: Malayalam (India) */
private static final String[] TEXTS_ml_IN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0D05: "അ" MALAYALAM LETTER A
/* keylabel_to_alpha */ "\u0D05",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
@@ -2638,15 +2639,15 @@ public final class KeyboardTextsTable {
/* Locale mn_MN: Mongolian (Mongolia) */
private static final String[] TEXTS_mn_MN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20AE: "₮" TUGRIK SIGN
/* keyspec_currency */ "\u20AE",
@@ -2655,15 +2656,15 @@ public final class KeyboardTextsTable {
/* Locale mr_IN: Marathi (India) */
private static final String[] TEXTS_mr_IN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0915: "क" DEVANAGARI LETTER KA
// U+0916: "ख" DEVANAGARI LETTER KHA
// U+0917: "ग" DEVANAGARI LETTER GA
/* keylabel_to_alpha */ "\u0915\u0916\u0917",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
@@ -2708,18 +2709,18 @@ public final class KeyboardTextsTable {
/* Locale my_MM: Burmese (Myanmar) */
private static final String[] TEXTS_my_MM = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+1000: "က" MYANMAR LETTER KA
// U+1001: "ခ" MYANMAR LETTER KHA
// U+1002: "ဂ" MYANMAR LETTER GA
/* keylabel_to_alpha */ "\u1000\u1001\u1002",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
- null, null, null, null, null,
+ null, null, null, null,
/* ~ morekeys_nordic_row2_11 */
/* morekeys_punctuation */ "!autoColumnOrder!9,\u104A,.,?,!,#,),(,/,;,...,',@,:,-,\",+,\\%,&",
// U+104A: "၊" MYANMAR SIGN LITTLE SECTION
@@ -2760,13 +2761,6 @@ public final class KeyboardTextsTable {
// U+0153: "œ" LATIN SMALL LIGATURE OE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F4,\u00F2,\u00F3,\u00F6,\u00F5,\u0153,\u014D",
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
@@ -2775,10 +2769,16 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119,\u0117,\u0113",
- /* morekeys_i */ null,
- /* morekeys_c */ null,
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
+ /* keylabel_to_alpha ~ */
+ null, null, null, null,
+ /* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_rqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2802,15 +2802,15 @@ public final class KeyboardTextsTable {
/* Locale ne_NP: Nepali (Nepal) */
private static final String[] TEXTS_ne_NP = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0915: "क" DEVANAGARI LETTER KA
// U+0916: "ख" DEVANAGARI LETTER KHA
// U+0917: "ग" DEVANAGARI LETTER GA
/* keylabel_to_alpha */ "\u0915\u0916\u0917",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+0930/U+0941/U+002E "रु." NEPALESE RUPEE SIGN
/* keyspec_currency */ "\u0930\u0941.",
@@ -2872,13 +2872,6 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
@@ -2887,6 +2880,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00EB,\u00EA,\u00E8,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00FB,\u00F9,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -2895,11 +2895,11 @@ public final class KeyboardTextsTable {
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B,\u0133",
- /* morekeys_c */ null,
- /* double_quotes */ "!text/double_9qm_rqm",
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
/* morekeys_n */ "\u00F1,\u0144",
+ /* morekeys_c */ null,
+ /* double_quotes */ "!text/double_9qm_rqm",
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s */ null,
/* keyspec_currency */ null,
@@ -2928,8 +2928,6 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F6,\u00F4,\u00F2,\u00F5,\u0153,\u00F8,\u014D",
- /* morekeys_u */ null,
- /* keylabel_to_alpha */ null,
// U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
@@ -2938,27 +2936,29 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u0119,\u00E8,\u00E9,\u00EA,\u00EB,\u0117,\u0113",
- /* morekeys_i */ null,
+ /* morekeys_u ~ */
+ null, null, null,
+ /* ~ morekeys_i */
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ /* morekeys_n */ "\u0144,\u00F1",
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u0107,\u00E7,\u010D",
/* double_quotes */ "!text/double_9qm_rqm",
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- /* morekeys_n */ "\u0144,\u00F1",
/* single_quotes */ "!text/single_9qm_rqm",
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u015B,\u00DF,\u0161",
- /* keyspec_currency ~ */
- null, null, null,
- /* ~ morekeys_d */
+ /* keyspec_currency */ null,
+ /* morekeys_y */ null,
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
/* morekeys_z */ "\u017C,\u017A,\u017E",
+ /* morekeys_d */ null,
/* morekeys_t */ null,
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u0142",
@@ -2985,13 +2985,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F3,\u00F5,\u00F4,\u00F2,\u00F6,\u0153,\u00F8,\u014D,\u00BA",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
@@ -3000,6 +2993,13 @@ public final class KeyboardTextsTable {
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
/* morekeys_e */ "\u00E9,\u00EA,\u00E8,\u0119,\u0117,\u0113,\u00EB",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -3007,6 +3007,7 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EE,\u00EC,\u00EF,\u012F,\u012B",
+ /* morekeys_n */ null,
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
@@ -3040,7 +3041,7 @@ public final class KeyboardTextsTable {
/* morekeys_a */ "\u0103,\u00E2,\u00E3,\u00E0,\u00E1,\u00E4,\u00E6,\u00E5,\u0101",
/* morekeys_o ~ */
null, null, null, null,
- /* ~ morekeys_e */
+ /* ~ keylabel_to_alpha */
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -3048,9 +3049,9 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+ /* morekeys_n */ null,
/* morekeys_c */ null,
/* double_quotes */ "!text/double_9qm_rqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_rqm",
// U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -3059,7 +3060,7 @@ public final class KeyboardTextsTable {
/* morekeys_s */ "\u0219,\u00DF,\u015B,\u0161",
/* keyspec_currency ~ */
null, null, null, null,
- /* ~ morekeys_z */
+ /* ~ morekeys_d */
// U+021B: "ț" LATIN SMALL LETTER T WITH COMMA BELOW
/* morekeys_t */ "\u021B",
};
@@ -3067,18 +3068,17 @@ public final class KeyboardTextsTable {
/* Locale ru: Russian */
private static final String[] TEXTS_ru = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null,
@@ -3103,14 +3103,14 @@ public final class KeyboardTextsTable {
/* Locale si_LK: Sinhalese (Sri Lanka) */
private static final String[] TEXTS_si_LK = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0D85: "අ" SINHALA LETTER AYANNA
// U+0D86: "ආ" SINHALA LETTER AAYANNA
/* keylabel_to_alpha */ "\u0D85,\u0D86",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+0DBB/U+0DD4: "රු" SINHALA LETTER RAYANNA/SINHALA VOWEL SIGN KETTI PAA-PILLA
/* keyspec_currency */ "\u0DBB\u0DD4",
@@ -3137,6 +3137,15 @@ public final class KeyboardTextsTable {
// U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
/* morekeys_o */ "\u00F4,\u00F3,\u00F6,\u00F2,\u00F5,\u0153,\u0151,\u00F8",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ /* morekeys_e */ "\u00E9,\u011B,\u0113,\u0117,\u00E8,\u00EA,\u00EB,\u0119",
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
@@ -3147,15 +3156,6 @@ public final class KeyboardTextsTable {
// U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
/* morekeys_u */ "\u00FA,\u016F,\u00FC,\u016B,\u0173,\u00F9,\u00FB,\u0171",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- /* morekeys_e */ "\u00E9,\u011B,\u0113,\u0117,\u00E8,\u00EA,\u00EB,\u0119",
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
@@ -3164,16 +3164,16 @@ public final class KeyboardTextsTable {
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
/* morekeys_i */ "\u00ED,\u012B,\u012F,\u00EC,\u00EE,\u00EF,\u0131",
- // U+010D: "č" LATIN SMALL LETTER C WITH CARON
- // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
- // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
- /* morekeys_c */ "\u010D,\u00E7,\u0107",
- /* double_quotes */ "!text/double_9qm_lqm",
// U+0148: "ň" LATIN SMALL LETTER N WITH CARON
// U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
/* morekeys_n */ "\u0148,\u0146,\u00F1,\u0144",
+ // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+ /* morekeys_c */ "\u010D,\u00E7,\u0107",
+ /* double_quotes */ "!text/double_9qm_lqm",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -3184,12 +3184,12 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- /* morekeys_d */ "\u010F",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
/* morekeys_z */ "\u017E,\u017C,\u017A",
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ /* morekeys_d */ "\u010F",
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
// U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
/* morekeys_t */ "\u0165,\u0163",
@@ -3214,22 +3214,21 @@ public final class KeyboardTextsTable {
/* Locale sl: Slovenian */
private static final String[] TEXTS_sl = {
/* morekeys_a ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_i */
+ null, null, null, null, null, null, null,
+ /* ~ morekeys_n */
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
/* morekeys_c */ "\u010D,\u0107",
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u0161",
/* keyspec_currency */ null,
/* morekeys_y */ null,
- // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
- /* morekeys_d */ "\u0111",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
/* morekeys_z */ "\u017E",
+ // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+ /* morekeys_d */ "\u0111",
/* morekeys_t ~ */
null, null, null,
/* ~ morekeys_g */
@@ -3240,7 +3239,7 @@ public final class KeyboardTextsTable {
/* Locale sr: Serbian */
private static final String[] TEXTS_sr = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// END: More keys definitions for Serbian (Cyrillic)
// Label for "switch to alphabetic" key.
@@ -3248,11 +3247,10 @@ public final class KeyboardTextsTable {
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null,
@@ -3314,6 +3312,12 @@ public final class KeyboardTextsTable {
// U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F3,\u00F2,\u00F4,\u00F5,\u014D",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119",
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
@@ -3321,26 +3325,20 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FC,\u00FA,\u00F9,\u00FB,\u016B",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0119",
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
/* morekeys_i */ "\u00ED,\u00EC,\u00EE,\u00EF",
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ /* morekeys_n */ "\u0144,\u00F1,\u0148",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
/* double_quotes */ null,
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
- /* morekeys_n */ "\u0144,\u00F1,\u0148",
/* single_quotes */ null,
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
@@ -3351,13 +3349,13 @@ public final class KeyboardTextsTable {
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "\u00FD,\u00FF",
- // U+00F0: "ð" LATIN SMALL LETTER ETH
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- /* morekeys_d */ "\u00F0,\u010F",
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
/* morekeys_z */ "\u017A,\u017E,\u017C",
+ // U+00F0: "ð" LATIN SMALL LETTER ETH
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ /* morekeys_d */ "\u00F0,\u010F",
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
// U+00FE: "þ" LATIN SMALL LETTER THORN
/* morekeys_t */ "\u0165,\u00FE",
@@ -3408,6 +3406,12 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
/* morekeys_o */ "\u00F4,\u00F6,\u00F2,\u00F3,\u0153,\u00F8,\u014D,\u00F5",
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ /* morekeys_e */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113",
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
@@ -3415,23 +3419,17 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FB,\u00FC,\u00F9,\u00FA,\u016B",
/* keylabel_to_alpha */ null,
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- /* morekeys_e */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113",
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
/* morekeys_i */ "\u00EE,\u00EF,\u00ED,\u012B,\u00EC",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ /* morekeys_n */ "\u00F1",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
/* morekeys_c */ "\u00E7",
/* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- /* morekeys_n */ "\u00F1",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
@@ -3444,15 +3442,15 @@ public final class KeyboardTextsTable {
/* Locale ta_IN: Tamil (India) */
private static final String[] TEXTS_ta_IN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0BA4: "த" TAMIL LETTER TA
// U+0BAE/U+0BBF: "மி" TAMIL LETTER MA/TAMIL VOWEL SIGN I
// U+0BB4/U+0BCD: "ழ்" TAMIL LETTER LLLA/TAMIL SIGN VIRAMA
/* keylabel_to_alpha */ "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+0BF9: "௹" TAMIL RUPEE SIGN
/* keyspec_currency */ "\u0BF9",
@@ -3461,15 +3459,15 @@ public final class KeyboardTextsTable {
/* Locale ta_LK: Tamil (Sri Lanka) */
private static final String[] TEXTS_ta_LK = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0BA4: "த" TAMIL LETTER TA
// U+0BAE/U+0BBF: "மி" TAMIL LETTER MA/TAMIL VOWEL SIGN I
// U+0BB4/U+0BCD: "ழ்" TAMIL LETTER LLLA/TAMIL SIGN VIRAMA
/* keylabel_to_alpha */ "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+0DBB/U+0DD4: "රු" SINHALA LETTER RAYANNA/SINHALA VOWEL SIGN KETTI PAA-PILLA
/* keyspec_currency */ "\u0DBB\u0DD4",
@@ -3478,7 +3476,7 @@ public final class KeyboardTextsTable {
/* Locale ta_SG: Tamil (Singapore) */
private static final String[] TEXTS_ta_SG = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0BA4: "த" TAMIL LETTER TA
@@ -3490,15 +3488,15 @@ public final class KeyboardTextsTable {
/* Locale te_IN: Telugu (India) */
private static final String[] TEXTS_te_IN = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0C05: "అ" TELUGU LETTER A
// U+0C06: "ఆ" TELUGU LETTER AA
// U+0C07: "ఇ" TELUGU LETTER I
/* keylabel_to_alpha */ "\u0C05\u0C06\u0C07",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+20B9: "₹" INDIAN RUPEE SIGN
/* keyspec_currency */ "\u20B9",
@@ -3507,15 +3505,15 @@ public final class KeyboardTextsTable {
/* Locale th: Thai */
private static final String[] TEXTS_th = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0E01: "ก" THAI CHARACTER KO KAI
// U+0E02: "ข" THAI CHARACTER KHO KHAI
// U+0E04: "ค" THAI CHARACTER KHO KHWAI
/* keylabel_to_alpha */ "\u0E01\u0E02\u0E04",
- /* morekeys_e ~ */
- null, null, null, null, null, null, null,
+ /* morekeys_i ~ */
+ null, null, null, null, null, null,
/* ~ morekeys_s */
// U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT
/* keyspec_currency */ "\u0E3F",
@@ -3544,13 +3542,6 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F3,\u00F2,\u00F6,\u00F4,\u00F5,\u00F8,\u0153,\u014D,\u00BA",
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
- /* keylabel_to_alpha */ null,
// U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
// U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
@@ -3559,6 +3550,13 @@ public final class KeyboardTextsTable {
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EB,\u00EA,\u0119,\u0117,\u0113",
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ /* morekeys_u */ "\u00FA,\u00FC,\u00F9,\u00FB,\u016B",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -3566,20 +3564,21 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u00ED,\u00EF,\u00EC,\u00EE,\u012F,\u012B",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
+ /* morekeys_n */ "\u00F1,\u0144",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- // U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
- /* morekeys_n */ "\u00F1,\u0144",
};
/* Locale tr: Turkish */
private static final String[] TEXTS_tr = {
// U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
- /* morekeys_a */ "\u00E2",
+ // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+ /* morekeys_a */ "\u00E2,\u00E4,\u00E1",
// U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
// U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
// U+0153: "œ" LATIN SMALL LIGATURE OE
@@ -3589,6 +3588,9 @@ public final class KeyboardTextsTable {
// U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
/* morekeys_o */ "\u00F6,\u00F4,\u0153,\u00F2,\u00F3,\u00F5,\u00F8,\u014D",
+ // U+0259: "ə" LATIN SMALL LETTER SCHWA
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ /* morekeys_e */ "\u0259,\u00E9",
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
@@ -3596,7 +3598,6 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FC,\u00FB,\u00F9,\u00FA,\u016B",
/* keylabel_to_alpha */ null,
- /* morekeys_e */ null,
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -3605,20 +3606,27 @@ public final class KeyboardTextsTable {
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
/* morekeys_i */ "\u0131,\u00EE,\u00EF,\u00EC,\u00ED,\u012F,\u012B",
+ // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ /* morekeys_n */ "\u0148,\u00F1",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
// U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
// U+010D: "č" LATIN SMALL LETTER C WITH CARON
/* morekeys_c */ "\u00E7,\u0107,\u010D",
- /* double_quotes ~ */
- null, null, null,
- /* ~ single_quotes */
+ /* double_quotes */ null,
+ /* single_quotes */ null,
// U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
/* morekeys_s */ "\u015F,\u00DF,\u015B,\u0161",
- /* keyspec_currency ~ */
- null, null, null, null, null, null,
+ /* keyspec_currency */ null,
+ // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ /* morekeys_y */ "\u00FD",
+ // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+ /* morekeys_z */ "\u017E",
+ /* morekeys_d ~ */
+ null, null, null,
/* ~ morekeys_l */
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u011F",
@@ -3627,18 +3635,17 @@ public final class KeyboardTextsTable {
/* Locale uk: Ukrainian */
private static final String[] TEXTS_uk = {
/* morekeys_a ~ */
- null, null, null,
+ null, null, null, null,
/* ~ morekeys_u */
// Label for "switch to alphabetic" key.
// U+0410: "А" CYRILLIC CAPITAL LETTER A
// U+0411: "Б" CYRILLIC CAPITAL LETTER BE
// U+0412: "В" CYRILLIC CAPITAL LETTER VE
/* keylabel_to_alpha */ "\u0410\u0411\u0412",
- /* morekeys_e ~ */
+ /* morekeys_i ~ */
null, null, null,
/* ~ morekeys_c */
/* double_quotes */ "!text/double_9qm_lqm",
- /* morekeys_n */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s */ null,
// U+20B4: "₴" HRYVNIA SIGN
@@ -3708,6 +3715,18 @@ public final class KeyboardTextsTable {
// U+1EE1: "ỡ" LATIN SMALL LETTER O WITH HORN AND TILDE
// U+1EE3: "ợ" LATIN SMALL LETTER O WITH HORN AND DOT BELOW
/* morekeys_o */ "\u00F2,\u00F3,\u1ECF,\u00F5,\u1ECD,\u00F4,\u1ED3,\u1ED1,\u1ED5,\u1ED7,\u1ED9,\u01A1,\u1EDD,\u1EDB,\u1EDF,\u1EE1,\u1EE3",
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE
+ // U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE
+ // U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+ // U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+ // U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+ // U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+ // U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+ /* morekeys_e */ "\u00E8,\u00E9,\u1EBB,\u1EBD,\u1EB9,\u00EA,\u1EC1,\u1EBF,\u1EC3,\u1EC5,\u1EC7",
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+1EE7: "ủ" LATIN SMALL LETTER U WITH HOOK ABOVE
@@ -3721,25 +3740,13 @@ public final class KeyboardTextsTable {
// U+1EF1: "ự" LATIN SMALL LETTER U WITH HORN AND DOT BELOW
/* morekeys_u */ "\u00F9,\u00FA,\u1EE7,\u0169,\u1EE5,\u01B0,\u1EEB,\u1EE9,\u1EED,\u1EEF,\u1EF1",
/* keylabel_to_alpha */ null,
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+1EBB: "ẻ" LATIN SMALL LETTER E WITH HOOK ABOVE
- // U+1EBD: "ẽ" LATIN SMALL LETTER E WITH TILDE
- // U+1EB9: "ẹ" LATIN SMALL LETTER E WITH DOT BELOW
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+1EC1: "ề" LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
- // U+1EBF: "ế" LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
- // U+1EC3: "ể" LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
- // U+1EC5: "ễ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
- // U+1EC7: "ệ" LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
- /* morekeys_e */ "\u00E8,\u00E9,\u1EBB,\u1EBD,\u1EB9,\u00EA,\u1EC1,\u1EBF,\u1EC3,\u1EC5,\u1EC7",
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+1EC9: "ỉ" LATIN SMALL LETTER I WITH HOOK ABOVE
// U+0129: "ĩ" LATIN SMALL LETTER I WITH TILDE
// U+1ECB: "ị" LATIN SMALL LETTER I WITH DOT BELOW
/* morekeys_i */ "\u00EC,\u00ED,\u1EC9,\u0129,\u1ECB",
- /* morekeys_c ~ */
+ /* morekeys_n ~ */
null, null, null, null, null,
/* ~ morekeys_s */
// U+20AB: "₫" DONG SIGN
@@ -3750,6 +3757,7 @@ public final class KeyboardTextsTable {
// U+1EF9: "ỹ" LATIN SMALL LETTER Y WITH TILDE
// U+1EF5: "ỵ" LATIN SMALL LETTER Y WITH DOT BELOW
/* morekeys_y */ "\u1EF3,\u00FD,\u1EF7,\u1EF9,\u1EF5",
+ /* morekeys_z */ null,
// U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
/* morekeys_d */ "\u0111",
};
@@ -3775,6 +3783,12 @@ public final class KeyboardTextsTable {
// U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
// U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
/* morekeys_o */ "\u00F3,\u00F4,\u00F6,\u00F2,\u0153,\u00F8,\u014D,\u00F5",
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0113",
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
@@ -3782,23 +3796,17 @@ public final class KeyboardTextsTable {
// U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
/* morekeys_u */ "\u00FA,\u00FB,\u00FC,\u00F9,\u016B",
/* keylabel_to_alpha */ null,
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0113",
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC",
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ /* morekeys_n */ "\u00F1",
// U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
/* morekeys_c */ "\u00E7",
/* double_quotes */ null,
- // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
- /* morekeys_n */ "\u00F1",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
@@ -3830,6 +3838,16 @@ public final class KeyboardTextsTable {
// U+0153: "œ" LATIN SMALL LIGATURE OE
// U+00BA: "º" MASCULINE ORDINAL INDICATOR
/* morekeys_o */ "\u00F2,\u00F3,\u00F4,\u00F5,\u00F6,\u00F8,\u014D,\u014F,\u0151,\u0153,\u00BA",
+ // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
+ // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
+ // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
+ // U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE
+ // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
+ // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
+ // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
+ /* morekeys_e */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113,\u0115,\u0117,\u0119,\u011B",
// U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
@@ -3842,16 +3860,6 @@ public final class KeyboardTextsTable {
// U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
/* morekeys_u */ "\u00F9,\u00FA,\u00FB,\u00FC,\u0169,\u016B,\u016D,\u016F,\u0171,\u0173",
/* keylabel_to_alpha */ null,
- // U+00E8: "è" LATIN SMALL LETTER E WITH GRAVE
- // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
- // U+00EA: "ê" LATIN SMALL LETTER E WITH CIRCUMFLEX
- // U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
- // U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
- // U+0115: "ĕ" LATIN SMALL LETTER E WITH BREVE
- // U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- // U+0119: "ę" LATIN SMALL LETTER E WITH OGONEK
- // U+011B: "ě" LATIN SMALL LETTER E WITH CARON
- /* morekeys_e */ "\u00E8,\u00E9,\u00EA,\u00EB,\u0113,\u0115,\u0117,\u0119,\u011B",
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
@@ -3863,13 +3871,6 @@ public final class KeyboardTextsTable {
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_i */ "\u00EC,\u00ED,\u00EE,\u00EF,\u0129,\u012B,\u012D,\u012F,\u0131,\u0133",
- // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
- // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
- // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
- // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
- // U+010D: "č" LATIN SMALL LETTER C WITH CARON
- /* morekeys_c */ "\u00E7,\u0107,\u0109,\u010B,\u010D",
- /* double_quotes */ null,
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
// U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE
// U+0146: "ņ" LATIN SMALL LETTER N WITH CEDILLA
@@ -3877,6 +3878,13 @@ public final class KeyboardTextsTable {
// U+0149: "ʼn" LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
// U+014B: "ŋ" LATIN SMALL LETTER ENG
/* morekeys_n */ "\u00F1,\u0144,\u0146,\u0148,\u0149,\u014B",
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+ // U+0109: "ĉ" LATIN SMALL LETTER C WITH CIRCUMFLEX
+ // U+010B: "ċ" LATIN SMALL LETTER C WITH DOT ABOVE
+ // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+ /* morekeys_c */ "\u00E7,\u0107,\u0109,\u010B,\u010D",
+ /* double_quotes */ null,
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -3891,14 +3899,14 @@ public final class KeyboardTextsTable {
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
// U+0133: "ij" LATIN SMALL LIGATURE IJ
/* morekeys_y */ "\u00FD,\u0177,\u00FF,\u0133",
- // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
- // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
- // U+00F0: "ð" LATIN SMALL LETTER ETH
- /* morekeys_d */ "\u010F,\u0111,\u00F0",
// U+017A: "ź" LATIN SMALL LETTER Z WITH ACUTE
// U+017C: "ż" LATIN SMALL LETTER Z WITH DOT ABOVE
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
/* morekeys_z */ "\u017A,\u017C,\u017E",
+ // U+010F: "ď" LATIN SMALL LETTER D WITH CARON
+ // U+0111: "đ" LATIN SMALL LETTER D WITH STROKE
+ // U+00F0: "ð" LATIN SMALL LETTER ETH
+ /* morekeys_d */ "\u010F,\u0111,\u00F0",
// U+00FE: "þ" LATIN SMALL LETTER THORN
// U+0163: "ţ" LATIN SMALL LETTER T WITH CEDILLA
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
@@ -3947,24 +3955,24 @@ public final class KeyboardTextsTable {
"DEFAULT", TEXTS_DEFAULT, /* 168/168 DEFAULT */
"af" , TEXTS_af, /* 7/ 13 Afrikaans */
"ar" , TEXTS_ar, /* 55/110 Arabic */
- "az_AZ" , TEXTS_az_AZ, /* 8/ 18 Azerbaijani (Azerbaijan) */
+ "az_AZ" , TEXTS_az_AZ, /* 11/ 18 Azerbaijani (Azerbaijan) */
"be_BY" , TEXTS_be_BY, /* 9/ 32 Belarusian (Belarus) */
- "bg" , TEXTS_bg, /* 2/ 8 Bulgarian */
+ "bg" , TEXTS_bg, /* 2/ 9 Bulgarian */
"bn_IN" , TEXTS_bn_IN, /* 2/ 12 Bengali (India) */
"ca" , TEXTS_ca, /* 11/ 96 Catalan */
"cs" , TEXTS_cs, /* 17/ 21 Czech */
"da" , TEXTS_da, /* 19/ 54 Danish */
"de" , TEXTS_de, /* 16/ 62 German */
- "el" , TEXTS_el, /* 1/ 4 Greek */
+ "el" , TEXTS_el, /* 1/ 5 Greek */
"en" , TEXTS_en, /* 8/ 11 English */
"eo" , TEXTS_eo, /* 26/118 Esperanto */
"es" , TEXTS_es, /* 8/ 55 Spanish */
"et_EE" , TEXTS_et_EE, /* 22/ 27 Estonian (Estonia) */
- "eu_ES" , TEXTS_eu_ES, /* 7/ 9 Basque (Spain) */
+ "eu_ES" , TEXTS_eu_ES, /* 7/ 8 Basque (Spain) */
"fa" , TEXTS_fa, /* 58/125 Persian */
"fi" , TEXTS_fi, /* 10/ 54 Finnish */
"fr" , TEXTS_fr, /* 13/ 62 French */
- "gl_ES" , TEXTS_gl_ES, /* 7/ 9 Gallegan (Spain) */
+ "gl_ES" , TEXTS_gl_ES, /* 7/ 8 Gallegan (Spain) */
"hi" , TEXTS_hi, /* 23/ 53 Hindi */
"hi_ZZ" , TEXTS_hi_ZZ, /* 1/ 12 Hindi (ZZ) */
"hr" , TEXTS_hr, /* 9/ 20 Croatian */
@@ -3990,7 +3998,7 @@ public final class KeyboardTextsTable {
"ne_NP" , TEXTS_ne_NP, /* 23/ 53 Nepali (Nepal) */
"nl" , TEXTS_nl, /* 9/ 13 Dutch */
"pl" , TEXTS_pl, /* 10/ 17 Polish */
- "pt" , TEXTS_pt, /* 6/ 7 Portuguese */
+ "pt" , TEXTS_pt, /* 6/ 8 Portuguese */
"rm" , TEXTS_rm, /* 1/ 2 Raeto-Romance */
"ro" , TEXTS_ro, /* 6/ 16 Romanian */
"ru" , TEXTS_ru, /* 9/ 32 Russian */
@@ -4002,13 +4010,13 @@ public final class KeyboardTextsTable {
"sw" , TEXTS_sw, /* 9/ 18 Swahili */
"ta_IN" , TEXTS_ta_IN, /* 2/ 12 Tamil (India) */
"ta_LK" , TEXTS_ta_LK, /* 2/ 12 Tamil (Sri Lanka) */
- "ta_SG" , TEXTS_ta_SG, /* 1/ 4 Tamil (Singapore) */
+ "ta_SG" , TEXTS_ta_SG, /* 1/ 5 Tamil (Singapore) */
"te_IN" , TEXTS_te_IN, /* 2/ 12 Telugu (India) */
"th" , TEXTS_th, /* 2/ 12 Thai */
- "tl" , TEXTS_tl, /* 7/ 9 Tagalog */
- "tr" , TEXTS_tr, /* 7/ 18 Turkish */
+ "tl" , TEXTS_tl, /* 7/ 8 Tagalog */
+ "tr" , TEXTS_tr, /* 11/ 18 Turkish */
"uk" , TEXTS_uk, /* 11/ 88 Ukrainian */
- "vi" , TEXTS_vi, /* 8/ 14 Vietnamese */
+ "vi" , TEXTS_vi, /* 8/ 15 Vietnamese */
"zu" , TEXTS_zu, /* 8/ 11 Zulu */
"zz" , TEXTS_zz, /* 19/112 Alphabet */
};
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index ad967c133..53abd2ecc 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -27,6 +27,7 @@ import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
import com.android.inputmethod.latin.makedict.WordProperty;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.settings.SettingsValuesForSuggestion;
+import com.android.inputmethod.latin.utils.AsyncResultHolder;
import com.android.inputmethod.latin.utils.CombinedFormatUtils;
import com.android.inputmethod.latin.utils.DistracterFilter;
import com.android.inputmethod.latin.utils.ExecutorUtils;
@@ -645,13 +646,15 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
public DictionaryStats getDictionaryStats() {
reloadDictionaryIfRequired();
- mLock.readLock().lock();
- try {
- // TODO: Get stats form the dictionary.
- return new DictionaryStats(mLocale, mDictName, mDictFile);
- } finally {
- mLock.readLock().unlock();
- }
+ final AsyncResultHolder<DictionaryStats> result = new AsyncResultHolder<>();
+ asyncExecuteTaskWithLock(mLock.readLock(), mDictName /* executorName */, new Runnable() {
+ @Override
+ public void run() {
+ // TODO: Get stats from the dictionary.
+ result.set(new DictionaryStats(mLocale, mDictName, mDictFile));
+ }
+ });
+ return result.get(null /* defaultValue */, TIMEOUT_FOR_READ_OPS_IN_MILLISECONDS);
}
@UsedForTesting
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 69fe6de9a..5aae010ac 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -793,12 +793,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@Override
public void onStartInputView(final EditorInfo editorInfo, final boolean restarting) {
mHandler.onStartInputView(editorInfo, restarting);
+ mStatsUtilsManager.onStartInputView();
}
@Override
public void onFinishInputView(final boolean finishingInput) {
StatsUtils.onFinishInputView();
mHandler.onFinishInputView(finishingInput);
+ mStatsUtilsManager.onFinishInputView();
}
@Override
@@ -1491,7 +1493,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final boolean isEmptyApplicationSpecifiedCompletions =
currentSettingsValues.isApplicationSpecifiedCompletionsOn()
&& suggestedWords.isEmpty();
- final boolean noSuggestionsFromDictionaries = (SuggestedWords.EMPTY == suggestedWords)
+ final boolean noSuggestionsFromDictionaries = suggestedWords.isEmpty()
|| suggestedWords.isPunctuationSuggestions()
|| isEmptyApplicationSpecifiedCompletions;
final boolean isBeginningOfSentencePrediction = (suggestedWords.mInputStyle
@@ -1518,7 +1520,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final OnGetSuggestedWordsCallback callback) {
final Keyboard keyboard = mKeyboardSwitcher.getKeyboard();
if (keyboard == null) {
- callback.onGetSuggestedWords(SuggestedWords.EMPTY);
+ callback.onGetSuggestedWords(SuggestedWords.getEmptyInstance());
return;
}
mInputLogic.getSuggestedWords(mSettings.getCurrent(), keyboard.getProximityInfo(),
@@ -1526,10 +1528,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
}
@Override
- public void showSuggestionStrip(final SuggestedWords sourceSuggestedWords) {
- final SuggestedWords suggestedWords =
- sourceSuggestedWords.isEmpty() ? SuggestedWords.EMPTY : sourceSuggestedWords;
- if (SuggestedWords.EMPTY == suggestedWords) {
+ public void showSuggestionStrip(final SuggestedWords suggestedWords) {
+ if (suggestedWords.isEmpty()) {
setNeutralSuggestionStrip();
} else {
setSuggestedWords(suggestedWords);
@@ -1537,7 +1537,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Cache the auto-correction in accessibility code so we can speak it if the user
// touches a key that will insert it.
AccessibilityUtils.getInstance().setAutoCorrection(suggestedWords,
- sourceSuggestedWords.mTypedWord);
+ suggestedWords.mTypedWord);
}
// Called from {@link SuggestionStripView} through the {@link SuggestionStripView#Listener}
@@ -1572,7 +1572,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
public void setNeutralSuggestionStrip() {
final SettingsValues currentSettings = mSettings.getCurrent();
final SuggestedWords neutralSuggestions = currentSettings.mBigramPredictionEnabled
- ? SuggestedWords.EMPTY : currentSettings.mSpacingAndPunctuations.mSuggestPuncList;
+ ? SuggestedWords.getEmptyInstance()
+ : currentSettings.mSpacingAndPunctuations.mSuggestPuncList;
setSuggestedWords(neutralSuggestions);
}
diff --git a/java/src/com/android/inputmethod/latin/PrevWordsInfo.java b/java/src/com/android/inputmethod/latin/PrevWordsInfo.java
index 76d4f57da..1b7e8f96d 100644
--- a/java/src/com/android/inputmethod/latin/PrevWordsInfo.java
+++ b/java/src/com/android/inputmethod/latin/PrevWordsInfo.java
@@ -126,6 +126,13 @@ public class PrevWordsInfo {
}
}
+ public PrevWordsInfo getTrimmedPrevWordsInfo(final int maxPrevWordCount) {
+ final int newSize = Math.min(maxPrevWordCount, mPrevWordsInfo.length);
+ // TODO: Quit creating a new array.
+ final WordInfo[] prevWordsInfo = Arrays.copyOf(mPrevWordsInfo, newSize);
+ return new PrevWordsInfo(prevWordsInfo);
+ }
+
public int getPrevWordCount() {
return mPrevWordsInfo.length;
}
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 3eefafc1f..e6fd43a07 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -45,7 +45,7 @@ public class SuggestedWords {
public static final int MAX_SUGGESTIONS = 18;
private static final ArrayList<SuggestedWordInfo> EMPTY_WORD_INFO_LIST = new ArrayList<>(0);
- public static final SuggestedWords EMPTY = new SuggestedWords(
+ private static final SuggestedWords EMPTY = new SuggestedWords(
EMPTY_WORD_INFO_LIST, null /* rawSuggestions */, false /* typedWordValid */,
false /* willAutoCorrect */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE);
@@ -196,6 +196,10 @@ public class SuggestedWords {
return result;
}
+ public static final SuggestedWords getEmptyInstance() {
+ return SuggestedWords.EMPTY;
+ }
+
// Should get rid of the first one (what the user typed previously) from suggestions
// and replace it with what the user currently typed.
public static ArrayList<SuggestedWordInfo> getTypedWordAndPreviousSuggestions(
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index 8eccd5cee..46427e5ca 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -86,7 +86,7 @@ public final class InputLogic {
// Current space state of the input method. This can be any of the above constants.
private int mSpaceState;
// Never null
- public SuggestedWords mSuggestedWords = SuggestedWords.EMPTY;
+ public SuggestedWords mSuggestedWords = SuggestedWords.getEmptyInstance();
public final Suggest mSuggest;
private final DictionaryFacilitator mDictionaryFacilitator;
@@ -145,13 +145,20 @@ public final class InputLogic {
*/
public void startInput(final String combiningSpec, final SettingsValues settingsValues) {
mEnteredText = null;
+ if (!mWordComposer.getTypedWord().isEmpty()) {
+ // For messaging apps that offer send button, the IME does not get the opportunity
+ // to capture the last word. This block should capture those uncommitted words.
+ // The timestamp at which it is captured is not accurate but close enough.
+ StatsUtils.onWordCommitUserTyped(
+ mWordComposer.getTypedWord(), mWordComposer.isBatchMode());
+ }
mWordComposer.restartCombining(combiningSpec);
resetComposingState(true /* alsoResetLastComposedWord */);
mDeleteCount = 0;
mSpaceState = SpaceState.NONE;
mRecapitalizeStatus.disable(); // Do not perform recapitalize until the cursor is moved once
mCurrentlyPressedHardwareKeys.clear();
- mSuggestedWords = SuggestedWords.EMPTY;
+ mSuggestedWords = SuggestedWords.getEmptyInstance();
// In some cases (namely, after rotation of the device) editorInfo.initialSelStart is lying
// so we try using some heuristics to find out about these and fix them.
mConnection.tryFixLyingCursorPosition();
@@ -325,7 +332,7 @@ public final class InputLogic {
// however need to reset the suggestion strip right away, because we know we can't take
// the risk of calling commitCompletion twice because we don't know how the app will react.
if (suggestionInfo.isKindOf(SuggestedWordInfo.KIND_APP_DEFINED)) {
- mSuggestedWords = SuggestedWords.EMPTY;
+ mSuggestedWords = SuggestedWords.getEmptyInstance();
mSuggestionStripViewAccessor.setNeutralSuggestionStrip();
inputTransaction.requireShiftUpdate(InputTransaction.SHIFT_UPDATE_NOW);
resetComposingState(true /* alsoResetLastComposedWord */);
@@ -501,7 +508,7 @@ public final class InputLogic {
final KeyboardSwitcher keyboardSwitcher, final LatinIME.UIHandler handler) {
mInputLogicHandler.onStartBatchInput();
handler.showGesturePreviewAndSuggestionStrip(
- SuggestedWords.EMPTY, false /* dismissGestureFloatingPreviewText */);
+ SuggestedWords.getEmptyInstance(), false /* dismissGestureFloatingPreviewText */);
handler.cancelUpdateSuggestionStrip();
++mAutoCommitSequenceNumber;
mConnection.beginBatchEdit();
@@ -600,14 +607,14 @@ public final class InputLogic {
public void onCancelBatchInput(final LatinIME.UIHandler handler) {
mInputLogicHandler.onCancelBatchInput();
handler.showGesturePreviewAndSuggestionStrip(
- SuggestedWords.EMPTY, true /* dismissGestureFloatingPreviewText */);
+ SuggestedWords.getEmptyInstance(), true /* dismissGestureFloatingPreviewText */);
}
// TODO: on the long term, this method should become private, but it will be difficult.
// Especially, how do we deal with InputMethodService.onDisplayCompletions?
public void setSuggestedWords(final SuggestedWords suggestedWords,
final SettingsValues settingsValues, final LatinIME.UIHandler handler) {
- if (SuggestedWords.EMPTY != suggestedWords) {
+ if (!suggestedWords.isEmpty()) {
final String autoCorrection;
final String dictType;
if (suggestedWords.mWillAutoCorrect) {
@@ -1393,7 +1400,7 @@ public final class InputLogic {
+ "requested!");
}
// Clear the suggestions strip.
- mSuggestionStripViewAccessor.showSuggestionStrip(SuggestedWords.EMPTY);
+ mSuggestionStripViewAccessor.showSuggestionStrip(SuggestedWords.getEmptyInstance());
return;
}
@@ -1885,9 +1892,8 @@ public final class InputLogic {
*/
private SuggestedWords retrieveOlderSuggestions(final String typedWord,
final SuggestedWords previousSuggestedWords) {
- final SuggestedWords oldSuggestedWords =
- previousSuggestedWords.isPunctuationSuggestions() ? SuggestedWords.EMPTY
- : previousSuggestedWords;
+ final SuggestedWords oldSuggestedWords = previousSuggestedWords.isPunctuationSuggestions()
+ ? SuggestedWords.getEmptyInstance() : previousSuggestedWords;
final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions =
SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords);
return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */,
diff --git a/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java b/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java
index 34d4d4ed7..d1486f630 100644
--- a/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/personalization/UserHistoryDictionary.java
@@ -35,6 +35,7 @@ import java.util.Locale;
*/
public class UserHistoryDictionary extends DecayingExpandableBinaryDictionaryBase {
/* package */ static final String NAME = UserHistoryDictionary.class.getSimpleName();
+ private final static int SUPPORTED_NGRAM = 2; // TODO: 3
// TODO: Make this constructor private
/* package */ UserHistoryDictionary(final Context context, final Locale locale) {
@@ -61,9 +62,7 @@ public class UserHistoryDictionary extends DecayingExpandableBinaryDictionaryBas
public static void addToDictionary(final ExpandableBinaryDictionary userHistoryDictionary,
final PrevWordsInfo prevWordsInfo, final String word, final boolean isValid,
final int timestamp, final DistracterFilter distracterFilter) {
- final CharSequence prevWord = prevWordsInfo.mPrevWordsInfo[0].mWord;
- if (word.length() > Constants.DICTIONARY_MAX_WORD_LENGTH ||
- (prevWord != null && prevWord.length() > Constants.DICTIONARY_MAX_WORD_LENGTH)) {
+ if (word.length() > Constants.DICTIONARY_MAX_WORD_LENGTH) {
return;
}
final int frequency = isValid ?
@@ -71,17 +70,29 @@ public class UserHistoryDictionary extends DecayingExpandableBinaryDictionaryBas
userHistoryDictionary.addUnigramEntryWithCheckingDistracter(word, frequency,
null /* shortcutTarget */, 0 /* shortcutFreq */, false /* isNotAWord */,
false /* isBlacklisted */, timestamp, distracterFilter);
- // Do not insert a word as a bigram of itself
- if (TextUtils.equals(word, prevWord)) {
- return;
- }
- if (null != prevWord) {
- if (prevWordsInfo.mPrevWordsInfo[0].mIsBeginningOfSentence) {
- // Beginning-of-Sentence n-gram entry is treated as a n-gram entry of invalid word.
- userHistoryDictionary.addNgramEntry(prevWordsInfo, word,
+
+ final boolean isBeginningOfSentenceContext =
+ prevWordsInfo.mPrevWordsInfo[0].mIsBeginningOfSentence;
+ final PrevWordsInfo prevWordsInfoToBeSaved =
+ prevWordsInfo.getTrimmedPrevWordsInfo(SUPPORTED_NGRAM - 1);
+ for (int i = 0; i < prevWordsInfoToBeSaved.getPrevWordCount(); i++) {
+ final CharSequence prevWord = prevWordsInfoToBeSaved.mPrevWordsInfo[i].mWord;
+ if (prevWord == null || (prevWord.length() > Constants.DICTIONARY_MAX_WORD_LENGTH)) {
+ return;
+ }
+ // Do not insert a word as a bigram of itself
+ if (i == 0 && TextUtils.equals(word, prevWord)) {
+ return;
+ }
+ if (isBeginningOfSentenceContext) {
+ // Beginning-of-Sentence n-gram entry is added as an n-gram entry of an OOV word.
+ userHistoryDictionary.addNgramEntry(
+ prevWordsInfoToBeSaved.getTrimmedPrevWordsInfo(i + 1), word,
FREQUENCY_FOR_WORDS_NOT_IN_DICTS, timestamp);
} else {
- userHistoryDictionary.addNgramEntry(prevWordsInfo, word, frequency, timestamp);
+ userHistoryDictionary.addNgramEntry(
+ prevWordsInfoToBeSaved.getTrimmedPrevWordsInfo(i + 1), word, frequency,
+ timestamp);
}
}
}
diff --git a/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java
index a6cb55db1..3303ab093 100644
--- a/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java
@@ -109,6 +109,8 @@ public final class AdvancedSettingsFragment extends SubScreenFragment {
removePreference(Settings.PREF_ENABLE_METRICS_LOGGING);
}
+ AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(context, this);
+
setupKeypressVibrationDurationSettings();
setupKeypressSoundVolumeSettings();
refreshEnablingsOfKeypressSoundAndVibrationSettings();
diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
index f7b6f919d..907e3fa42 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java
@@ -40,6 +40,8 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
public abstract void onSuggestionSelected(final SuggestedWordInfo info);
}
+ private boolean mIsInModalMode;
+
public MoreSuggestionsView(final Context context, final AttributeSet attrs) {
this(context, attrs, R.attr.moreKeysKeyboardViewStyle);
}
@@ -53,6 +55,7 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
@Override
public void setKeyboard(final Keyboard keyboard) {
super.setKeyboard(keyboard);
+ mIsInModalMode = false;
// With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the
// above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call.
// With accessibility mode on, {@link #mAccessibilityDelegate} is set to a
@@ -74,12 +77,17 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView {
updateKeyDrawParams(keyHeight);
}
- public void adjustVerticalCorrectionForModalMode() {
+ public void setModalMode() {
+ mIsInModalMode = true;
// Set vertical correction to zero (Reset more keys keyboard sliding allowance
// {@link R#dimen.config_more_keys_keyboard_slide_allowance}).
mKeyDetector.setKeyboard(getKeyboard(), -getPaddingLeft(), -getPaddingTop());
}
+ public boolean isInModalMode() {
+ return mIsInModalMode;
+ }
+
@Override
protected void onKeyInput(final Key key, final int x, final int y) {
if (!(key instanceof MoreSuggestionKey)) {
diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
index 33745a846..43f6175ca 100644
--- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
+++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java
@@ -82,7 +82,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
private final ArrayList<View> mDividerViews = new ArrayList<>();
Listener mListener;
- private SuggestedWords mSuggestedWords = SuggestedWords.EMPTY;
+ private SuggestedWords mSuggestedWords = SuggestedWords.getEmptyInstance();
private int mStartIndexOfMoreSuggestions;
private final SuggestionStripLayoutHelper mLayoutHelper;
@@ -131,6 +131,10 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
mImportantNoticeStrip.setVisibility(VISIBLE);
}
+ public boolean isShowingImportantNoticeStrip() {
+ return mImportantNoticeStrip.getVisibility() == VISIBLE;
+ }
+
public boolean isShowingAddToDictionaryStrip() {
return mAddToDictionaryStrip.getVisibility() == VISIBLE;
}
@@ -393,11 +397,17 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
@Override
public boolean onInterceptTouchEvent(final MotionEvent me) {
+ if (mStripVisibilityGroup.isShowingImportantNoticeStrip()) {
+ return false;
+ }
if (!mMoreSuggestionsView.isShowingInParent()) {
mLastX = (int)me.getX();
mLastY = (int)me.getY();
return mMoreSuggestionsSlidingDetector.onTouchEvent(me);
}
+ if (mMoreSuggestionsView.isInModalMode()) {
+ return false;
+ }
final int action = me.getAction();
final int index = me.getActionIndex();
@@ -416,7 +426,7 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick
if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP) {
// Decided to be in the modal input mode.
- mMoreSuggestionsView.adjustVerticalCorrectionForModalMode();
+ mMoreSuggestionsView.setModalMode();
}
return false;
}
diff --git a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java
index 8b7077879..ea406fa75 100644
--- a/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ImportantNoticeUtils.java
@@ -23,15 +23,24 @@ import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
import android.util.Log;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.R;
+import java.util.concurrent.TimeUnit;
+
public final class ImportantNoticeUtils {
private static final String TAG = ImportantNoticeUtils.class.getSimpleName();
// {@link SharedPreferences} name to save the last important notice version that has been
// displayed to users.
private static final String PREFERENCE_NAME = "important_notice_pref";
- private static final String KEY_IMPORTANT_NOTICE_VERSION = "important_notice_version";
+ @UsedForTesting
+ static final String KEY_IMPORTANT_NOTICE_VERSION = "important_notice_version";
+ @UsedForTesting
+ static final String KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE =
+ "timestamp_of_first_important_notice";
+ @UsedForTesting
+ static final long TIMEOUT_OF_IMPORTANT_NOTICE = TimeUnit.HOURS.toMillis(23);
public static final int VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS = 1;
// Copy of the hidden {@link Settings.Secure#USER_SETUP_COMPLETE} settings key.
@@ -56,15 +65,18 @@ public final class ImportantNoticeUtils {
}
}
- private static SharedPreferences getImportantNoticePreferences(final Context context) {
+ @UsedForTesting
+ static SharedPreferences getImportantNoticePreferences(final Context context) {
return context.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
}
- private static int getCurrentImportantNoticeVersion(final Context context) {
+ @UsedForTesting
+ static int getCurrentImportantNoticeVersion(final Context context) {
return context.getResources().getInteger(R.integer.config_important_notice_version);
}
- private static int getLastImportantNoticeVersion(final Context context) {
+ @UsedForTesting
+ static int getLastImportantNoticeVersion(final Context context) {
return getImportantNoticePreferences(context).getInt(KEY_IMPORTANT_NOTICE_VERSION, 0);
}
@@ -77,6 +89,20 @@ public final class ImportantNoticeUtils {
return getCurrentImportantNoticeVersion(context) > lastVersion;
}
+ @UsedForTesting
+ static boolean hasTimeoutPassed(final Context context, final long currentTimeInMillis) {
+ final SharedPreferences prefs = getImportantNoticePreferences(context);
+ if (!prefs.contains(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE)) {
+ prefs.edit()
+ .putLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE, currentTimeInMillis)
+ .apply();
+ }
+ final long firstDisplayTimeInMillis = prefs.getLong(
+ KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE, currentTimeInMillis);
+ final long elapsedTime = currentTimeInMillis - firstDisplayTimeInMillis;
+ return elapsedTime >= TIMEOUT_OF_IMPORTANT_NOTICE;
+ }
+
public static boolean shouldShowImportantNotice(final Context context) {
if (!hasNewImportantNotice(context)) {
return false;
@@ -88,6 +114,10 @@ public final class ImportantNoticeUtils {
if (isInSystemSetupWizard(context)) {
return false;
}
+ if (hasTimeoutPassed(context, System.currentTimeMillis())) {
+ updateLastImportantNoticeVersion(context);
+ return false;
+ }
return true;
}
@@ -95,11 +125,12 @@ public final class ImportantNoticeUtils {
getImportantNoticePreferences(context)
.edit()
.putInt(KEY_IMPORTANT_NOTICE_VERSION, getNextImportantNoticeVersion(context))
+ .remove(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE)
.apply();
}
public static String getNextImportantNoticeTitle(final Context context) {
- final int nextVersion = getCurrentImportantNoticeVersion(context);
+ final int nextVersion = getNextImportantNoticeVersion(context);
final String[] importantNoticeTitleArray = context.getResources().getStringArray(
R.array.important_notice_title_array);
if (nextVersion > 0 && nextVersion < importantNoticeTitleArray.length) {
diff --git a/native/jni/src/suggest/core/dictionary/dictionary.cpp b/native/jni/src/suggest/core/dictionary/dictionary.cpp
index e4084b0f5..a3bb408c3 100644
--- a/native/jni/src/suggest/core/dictionary/dictionary.cpp
+++ b/native/jni/src/suggest/core/dictionary/dictionary.cpp
@@ -77,10 +77,8 @@ void Dictionary::NgramListenerForPrediction::onVisitEntry(const int ngramProbabi
return;
}
int targetWordCodePoints[MAX_WORD_LENGTH];
- int unigramProbability = 0;
- const int codePointCount = mDictStructurePolicy->
- getCodePointsAndProbabilityAndReturnCodePointCount(targetWordId, MAX_WORD_LENGTH,
- targetWordCodePoints, &unigramProbability);
+ const int codePointCount = mDictStructurePolicy->getCodePointsAndReturnCodePointCount(
+ targetWordId, MAX_WORD_LENGTH, targetWordCodePoints);
if (codePointCount <= 0) {
return;
}
diff --git a/native/jni/src/suggest/core/dictionary/property/unigram_property.h b/native/jni/src/suggest/core/dictionary/property/unigram_property.h
index 902eb000f..65c8333bb 100644
--- a/native/jni/src/suggest/core/dictionary/property/unigram_property.h
+++ b/native/jni/src/suggest/core/dictionary/property/unigram_property.h
@@ -71,6 +71,11 @@ class UnigramProperty {
return mIsBlacklisted;
}
+ bool isPossiblyOffensive() const {
+ // TODO: Have dedicated flag.
+ return mProbability == 0;
+ }
+
bool hasShortcuts() const {
return !mShortcuts.empty();
}
diff --git a/native/jni/src/suggest/core/dictionary/property/word_property.h b/native/jni/src/suggest/core/dictionary/property/word_property.h
index aa3e0b68a..f78380e15 100644
--- a/native/jni/src/suggest/core/dictionary/property/word_property.h
+++ b/native/jni/src/suggest/core/dictionary/property/word_property.h
@@ -23,6 +23,7 @@
#include "jni.h"
#include "suggest/core/dictionary/property/bigram_property.h"
#include "suggest/core/dictionary/property/unigram_property.h"
+#include "utils/int_array_view.h"
namespace latinime {
@@ -33,10 +34,10 @@ class WordProperty {
WordProperty()
: mCodePoints(), mUnigramProperty(), mBigrams() {}
- WordProperty(const std::vector<int> *const codePoints,
- const UnigramProperty *const unigramProperty,
+ WordProperty(const CodePointArrayView codePoints, const UnigramProperty *const unigramProperty,
const std::vector<BigramProperty> *const bigrams)
- : mCodePoints(*codePoints), mUnigramProperty(*unigramProperty), mBigrams(*bigrams) {}
+ : mCodePoints(codePoints.begin(), codePoints.end()), mUnigramProperty(*unigramProperty),
+ mBigrams(*bigrams) {}
void outputProperties(JNIEnv *const env, jintArray outCodePoints, jbooleanArray outFlags,
jintArray outProbabilityInfo, jobject outBigramTargets, jobject outBigramProbabilities,
diff --git a/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h b/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h
index a498b6f65..1546b2610 100644
--- a/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h
+++ b/native/jni/src/suggest/core/policy/dictionary_structure_with_buffer_policy.h
@@ -51,9 +51,8 @@ class DictionaryStructureWithBufferPolicy {
virtual void createAndGetAllChildDicNodes(const DicNode *const dicNode,
DicNodeVector *const childDicNodes) const = 0;
- virtual int getCodePointsAndProbabilityAndReturnCodePointCount(
- const int wordId, const int maxCodePointCount, int *const outCodePoints,
- int *const outUnigramProbability) const = 0;
+ virtual int getCodePointsAndReturnCodePointCount(const int wordId, const int maxCodePointCount,
+ int *const outCodePoints) const = 0;
virtual int getWordId(const CodePointArrayView wordCodePoints,
const bool forceLowerCaseSearch) const = 0;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp
index ee1403739..3187aa9ac 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.cpp
@@ -87,14 +87,13 @@ void Ver4PatriciaTriePolicy::createAndGetAllChildDicNodes(const DicNode *const d
}
}
-int Ver4PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
- const int wordId, const int maxCodePointCount, int *const outCodePoints,
- int *const outUnigramProbability) const {
+int Ver4PatriciaTriePolicy::getCodePointsAndReturnCodePointCount(const int wordId,
+ const int maxCodePointCount, int *const outCodePoints) const {
DynamicPtReadingHelper readingHelper(&mNodeReader, &mPtNodeArrayReader);
const int ptNodePos = getTerminalPtNodePosFromWordId(wordId);
readingHelper.initWithPtNodePos(ptNodePos);
- const int codePointCount = readingHelper.getCodePointsAndProbabilityAndReturnCodePointCount(
- maxCodePointCount, outCodePoints, outUnigramProbability);
+ const int codePointCount = readingHelper.getCodePointsAndReturnCodePointCount(
+ maxCodePointCount, outCodePoints);
if (readingHelper.isError()) {
mIsCorrupted = true;
AKLOGE("Dictionary reading error in getCodePointsAndProbabilityAndReturnCodePointCount().");
@@ -495,8 +494,6 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
return WordProperty();
}
const PtNodeParams ptNodeParams = mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(ptNodePos);
- std::vector<int> codePointVector(ptNodeParams.getCodePoints(),
- ptNodeParams.getCodePoints() + ptNodeParams.getCodePointCount());
const ProbabilityEntry probabilityEntry =
mBuffers->getProbabilityDictContent()->getProbabilityEntry(
ptNodeParams.getTerminalId());
@@ -521,11 +518,9 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
if (word1TerminalPtNodePos == NOT_A_DICT_POS) {
continue;
}
- // Word (unigram) probability
- int word1Probability = NOT_A_PROBABILITY;
- const int codePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
+ const int codePointCount = getCodePointsAndReturnCodePointCount(
getWordIdFromTerminalPtNodePos(word1TerminalPtNodePos), MAX_WORD_LENGTH,
- bigramWord1CodePoints, &word1Probability);
+ bigramWord1CodePoints);
const std::vector<int> word1(bigramWord1CodePoints,
bigramWord1CodePoints + codePointCount);
const HistoricalInfo *const historicalInfo = bigramEntry.getHistoricalInfo();
@@ -559,7 +554,7 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
ptNodeParams.isNotAWord(), ptNodeParams.isBlacklisted(), ptNodeParams.getProbability(),
historicalInfo->getTimeStamp(), historicalInfo->getLevel(),
historicalInfo->getCount(), &shortcuts);
- return WordProperty(&codePointVector, &unigramProperty, &bigrams);
+ return WordProperty(wordCodePoints, &unigramProperty, &bigrams);
}
int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints,
@@ -580,10 +575,8 @@ int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const
return 0;
}
const int terminalPtNodePos = mTerminalPtNodePositionsForIteratingWords[token];
- int unigramProbability = NOT_A_PROBABILITY;
- *outCodePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
- getWordIdFromTerminalPtNodePos(terminalPtNodePos), MAX_WORD_LENGTH, outCodePoints,
- &unigramProbability);
+ *outCodePointCount = getCodePointsAndReturnCodePointCount(
+ getWordIdFromTerminalPtNodePos(terminalPtNodePos), MAX_WORD_LENGTH, outCodePoints);
const int nextToken = token + 1;
if (nextToken >= terminalPtNodePositionsVectorSize) {
// All words have been iterated.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h
index 576d2abb5..8420c94d0 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/backward/v402/ver4_patricia_trie_policy.h
@@ -85,9 +85,8 @@ class Ver4PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy {
void createAndGetAllChildDicNodes(const DicNode *const dicNode,
DicNodeVector *const childDicNodes) const;
- int getCodePointsAndProbabilityAndReturnCodePointCount(
- const int wordId, const int maxCodePointCount, int *const outCodePoints,
- int *const outUnigramProbability) const;
+ int getCodePointsAndReturnCodePointCount(const int wordId, const int maxCodePointCount,
+ int *const outCodePoints) const;
int getWordId(const CodePointArrayView wordCodePoints, const bool forceLowerCaseSearch) const;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp
index 40782a44f..5e4a4b166 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.cpp
@@ -175,8 +175,8 @@ bool DynamicPtReadingHelper::traverseAllPtNodesInPtNodeArrayLevelPreorderDepthFi
return !isError();
}
-int DynamicPtReadingHelper::getCodePointsAndProbabilityAndReturnCodePointCount(
- const int maxCodePointCount, int *const outCodePoints, int *const outUnigramProbability) {
+int DynamicPtReadingHelper::getCodePointsAndReturnCodePointCount(const int maxCodePointCount,
+ int *const outCodePoints) {
// This method traverses parent nodes from the terminal by following parent pointers; thus,
// node code points are stored in the buffer in the reverse order.
int reverseCodePoints[maxCodePointCount];
@@ -184,11 +184,8 @@ int DynamicPtReadingHelper::getCodePointsAndProbabilityAndReturnCodePointCount(
// First, read the terminal node and get its probability.
if (!isValidTerminalNode(terminalPtNodeParams)) {
// Node at the ptNodePos is not a valid terminal node.
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
- // Store terminal node probability.
- *outUnigramProbability = terminalPtNodeParams.getProbability();
// Then, following parent node link to the dictionary root and fetch node code points.
int totalCodePointCount = 0;
while (!isEnd()) {
@@ -196,7 +193,6 @@ int DynamicPtReadingHelper::getCodePointsAndProbabilityAndReturnCodePointCount(
totalCodePointCount = getTotalCodePointCount(ptNodeParams);
if (!ptNodeParams.isValid() || totalCodePointCount > maxCodePointCount) {
// The ptNodePos is not a valid terminal node position in the dictionary.
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
// Store node code points to buffer in the reverse order.
@@ -207,7 +203,6 @@ int DynamicPtReadingHelper::getCodePointsAndProbabilityAndReturnCodePointCount(
}
if (isError()) {
// The node position or the dictionary is invalid.
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
// Reverse the stored code points to output them.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.h b/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.h
index 9a7abc97f..21c287fdc 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/pt_common/dynamic_pt_reading_helper.h
@@ -211,8 +211,7 @@ class DynamicPtReadingHelper {
bool traverseAllPtNodesInPtNodeArrayLevelPreorderDepthFirstManner(
TraversingEventListener *const listener);
- int getCodePointsAndProbabilityAndReturnCodePointCount(const int maxCodePointCount,
- int *const outCodePoints, int *const outUnigramProbability);
+ int getCodePointsAndReturnCodePointCount(const int maxCodePointCount, int *const outCodePoints);
int getTerminalPtNodePositionOfWord(const int *const inWord, const size_t length,
const bool forceLowerCaseSearch);
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp
index 6e7dba9ff..20e0e7476 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.cpp
@@ -58,6 +58,11 @@ void PatriciaTriePolicy::createAndGetAllChildDicNodes(const DicNode *const dicNo
}
}
+int PatriciaTriePolicy::getCodePointsAndReturnCodePointCount(const int wordId,
+ const int maxCodePointCount, int *const outCodePoints) const {
+ return getCodePointsAndProbabilityAndReturnCodePointCount(wordId, maxCodePointCount,
+ outCodePoints, nullptr /* outUnigramProbability */);
+}
// This retrieves code points and the probability of the word by its id.
// Due to the fact that words are ordered in the dictionary in a strict breadth-first order,
// it is possible to check for this with advantageous complexity. For each PtNode array, we search
@@ -82,6 +87,9 @@ int PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
int pos = getRootPosition();
int wordPos = 0;
const int *const codePointTable = mHeaderPolicy.getCodePointTable();
+ if (outUnigramProbability) {
+ *outUnigramProbability = NOT_A_PROBABILITY;
+ }
// One iteration of the outer loop iterates through PtNode arrays. As stated above, we will
// only traverse PtNodes that are actually a part of the terminal we are searching, so each
// time we enter this loop we are one depth level further than last time.
@@ -97,7 +105,6 @@ int PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
pos, mBuffer.size());
mIsCorrupted = true;
ASSERT(false);
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
for (int ptNodeCount = PatriciaTrieReadingUtils::getPtNodeArraySizeAndAdvancePosition(
@@ -107,7 +114,6 @@ int PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
AKLOGE("PtNode position is invalid. pos: %d, dict size: %zd", pos, mBuffer.size());
mIsCorrupted = true;
ASSERT(false);
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
const PatriciaTrieReadingUtils::NodeFlags flags =
@@ -130,9 +136,11 @@ int PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
mBuffer.data(), codePointTable, &pos);
}
}
- *outUnigramProbability =
- PatriciaTrieReadingUtils::readProbabilityAndAdvancePosition(mBuffer.data(),
- &pos);
+ if (outUnigramProbability) {
+ *outUnigramProbability =
+ PatriciaTrieReadingUtils::readProbabilityAndAdvancePosition(
+ mBuffer.data(), &pos);
+ }
return ++wordPos;
}
// We need to skip past this PtNode, so skip any remaining code points after the
@@ -234,7 +242,6 @@ int PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
pos);
mIsCorrupted = true;
ASSERT(false);
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
}
@@ -257,7 +264,6 @@ int PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
AKLOGE("Cannot skip bigrams. BufSize: %zd, pos: %d.", mBuffer.size(), pos);
mIsCorrupted = true;
ASSERT(false);
- *outUnigramProbability = NOT_A_PROBABILITY;
return 0;
}
}
@@ -429,8 +435,6 @@ const WordProperty PatriciaTriePolicy::getWordProperty(
const int ptNodePos = getTerminalPtNodePosFromWordId(wordId);
const PtNodeParams ptNodeParams =
mPtNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(ptNodePos);
- std::vector<int> codePointVector(ptNodeParams.getCodePoints(),
- ptNodeParams.getCodePoints() + ptNodeParams.getCodePointCount());
// Fetch bigram information.
std::vector<BigramProperty> bigrams;
const int bigramListPos = getBigramsPositionOfPtNode(ptNodePos);
@@ -475,7 +479,7 @@ const WordProperty PatriciaTriePolicy::getWordProperty(
const UnigramProperty unigramProperty(ptNodeParams.representsBeginningOfSentence(),
ptNodeParams.isNotAWord(), ptNodeParams.isBlacklisted(), ptNodeParams.getProbability(),
NOT_A_TIMESTAMP /* timestamp */, 0 /* level */, 0 /* count */, &shortcuts);
- return WordProperty(&codePointVector, &unigramProperty, &bigrams);
+ return WordProperty(wordCodePoints, &unigramProperty, &bigrams);
}
int PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints,
@@ -497,10 +501,8 @@ int PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outC
return 0;
}
const int terminalPtNodePos = mTerminalPtNodePositionsForIteratingWords[token];
- int unigramProbability = NOT_A_PROBABILITY;
- *outCodePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
- getWordIdFromTerminalPtNodePos(terminalPtNodePos), MAX_WORD_LENGTH, outCodePoints,
- &unigramProbability);
+ *outCodePointCount = getCodePointsAndReturnCodePointCount(
+ getWordIdFromTerminalPtNodePos(terminalPtNodePos), MAX_WORD_LENGTH, outCodePoints);
const int nextToken = token + 1;
if (nextToken >= terminalPtNodePositionsVectorSize) {
// All words have been iterated.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h
index 3cdf6cd16..0d679c5dc 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v2/patricia_trie_policy.h
@@ -58,9 +58,8 @@ class PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy {
void createAndGetAllChildDicNodes(const DicNode *const dicNode,
DicNodeVector *const childDicNodes) const;
- int getCodePointsAndProbabilityAndReturnCodePointCount(
- const int wordId, const int maxCodePointCount, int *const outCodePoints,
- int *const outUnigramProbability) const;
+ int getCodePointsAndReturnCodePointCount(const int wordId, const int maxCodePointCount,
+ int *const outCodePoints) const;
int getWordId(const CodePointArrayView wordCodePoints, const bool forceLowerCaseSearch) const;
@@ -155,6 +154,9 @@ class PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy {
std::vector<int> mTerminalPtNodePositionsForIteratingWords;
mutable bool mIsCorrupted;
+ int getCodePointsAndProbabilityAndReturnCodePointCount(const int wordId,
+ const int maxCodePointCount, int *const outCodePoints,
+ int *const outUnigramProbability) const;
int getShortcutPositionOfPtNode(const int ptNodePos) const;
int getBigramsPositionOfPtNode(const int ptNodePos) const;
int createAndGetLeavingChildNode(const DicNode *const dicNode, const int ptNodePos,
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.cpp
index 35f0f768f..89094c83a 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.cpp
@@ -38,7 +38,7 @@ bool LanguageModelDictContent::runGC(
0 /* nextLevelBitmapEntryIndex */, outNgramCount);
}
-int LanguageModelDictContent::getWordProbability(const WordIdArrayView prevWordIds,
+const WordAttributes LanguageModelDictContent::getWordAttributes(const WordIdArrayView prevWordIds,
const int wordId, const HeaderPolicy *const headerPolicy) const {
int bitmapEntryIndices[MAX_PREV_WORD_COUNT_FOR_N_GRAM + 1];
bitmapEntryIndices[0] = mTrieMap.getRootBitmapEntryIndex();
@@ -60,17 +60,24 @@ int LanguageModelDictContent::getWordProbability(const WordIdArrayView prevWordI
}
const ProbabilityEntry probabilityEntry =
ProbabilityEntry::decode(result.mValue, mHasHistoricalInfo);
+ int probability = NOT_A_PROBABILITY;
if (mHasHistoricalInfo) {
- const int probability = ForgettingCurveUtils::decodeProbability(
+ const int rawProbability = ForgettingCurveUtils::decodeProbability(
probabilityEntry.getHistoricalInfo(), headerPolicy)
+ ForgettingCurveUtils::getProbabilityBiasForNgram(i + 1 /* n */);
- return std::min(probability, MAX_PROBABILITY);
+ probability = std::min(rawProbability, MAX_PROBABILITY);
} else {
- return probabilityEntry.getProbability();
+ probability = probabilityEntry.getProbability();
}
+ // TODO: Some flags in unigramProbabilityEntry should be overwritten by flags in
+ // probabilityEntry.
+ const ProbabilityEntry unigramProbabilityEntry = getProbabilityEntry(wordId);
+ return WordAttributes(probability, unigramProbabilityEntry.isNotAWord(),
+ unigramProbabilityEntry.isBlacklisted(),
+ unigramProbabilityEntry.isPossiblyOffensive());
}
// Cannot find the word.
- return NOT_A_PROBABILITY;
+ return WordAttributes();
}
ProbabilityEntry LanguageModelDictContent::getNgramProbabilityEntry(
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.h
index a793af4be..b7e4af977 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content.h
@@ -21,6 +21,7 @@
#include <vector>
#include "defines.h"
+#include "suggest/core/dictionary/word_attributes.h"
#include "suggest/policyimpl/dictionary/structure/v4/content/probability_entry.h"
#include "suggest/policyimpl/dictionary/structure/v4/content/terminal_position_lookup_table.h"
#include "suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.h"
@@ -128,7 +129,7 @@ class LanguageModelDictContent {
const LanguageModelDictContent *const originalContent,
int *const outNgramCount);
- int getWordProbability(const WordIdArrayView prevWordIds, const int wordId,
+ const WordAttributes getWordAttributes(const WordIdArrayView prevWordIds, const int wordId,
const HeaderPolicy *const headerPolicy) const;
ProbabilityEntry getProbabilityEntry(const int wordId) const {
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/probability_entry.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/probability_entry.h
index f1bf12cb2..e1e10ca17 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/probability_entry.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/content/probability_entry.h
@@ -49,7 +49,9 @@ class ProbabilityEntry {
// Create from unigram property.
ProbabilityEntry(const UnigramProperty *const unigramProperty)
- : mFlags(createFlags(unigramProperty->representsBeginningOfSentence())),
+ : mFlags(createFlags(unigramProperty->representsBeginningOfSentence(),
+ unigramProperty->isNotAWord(), unigramProperty->isBlacklisted(),
+ unigramProperty->isPossiblyOffensive())),
mProbability(unigramProperty->getProbability()),
mHistoricalInfo(unigramProperty->getTimestamp(), unigramProperty->getLevel(),
unigramProperty->getCount()) {}
@@ -85,6 +87,18 @@ class ProbabilityEntry {
return (mFlags & Ver4DictConstants::FLAG_REPRESENTS_BEGINNING_OF_SENTENCE) != 0;
}
+ bool isNotAWord() const {
+ return (mFlags & Ver4DictConstants::FLAG_NOT_A_WORD) != 0;
+ }
+
+ bool isBlacklisted() const {
+ return (mFlags & Ver4DictConstants::FLAG_BLACKLISTED) != 0;
+ }
+
+ bool isPossiblyOffensive() const {
+ return (mFlags & Ver4DictConstants::FLAG_POSSIBLY_OFFENSIVE) != 0;
+ }
+
uint64_t encode(const bool hasHistoricalInfo) const {
uint64_t encodedEntry = static_cast<uint64_t>(mFlags);
if (hasHistoricalInfo) {
@@ -142,10 +156,20 @@ class ProbabilityEntry {
(encodedEntry >> (pos * CHAR_BIT)) & ((1ull << (size * CHAR_BIT)) - 1));
}
- static uint8_t createFlags(const bool representsBeginningOfSentence) {
+ static uint8_t createFlags(const bool representsBeginningOfSentence,
+ const bool isNotAWord, const bool isBlacklisted, const bool isPossiblyOffensive) {
uint8_t flags = 0;
if (representsBeginningOfSentence) {
- flags ^= Ver4DictConstants::FLAG_REPRESENTS_BEGINNING_OF_SENTENCE;
+ flags |= Ver4DictConstants::FLAG_REPRESENTS_BEGINNING_OF_SENTENCE;
+ }
+ if (isNotAWord) {
+ flags |= Ver4DictConstants::FLAG_NOT_A_WORD;
+ }
+ if (isBlacklisted) {
+ flags |= Ver4DictConstants::FLAG_BLACKLISTED;
+ }
+ if (isPossiblyOffensive) {
+ flags |= Ver4DictConstants::FLAG_POSSIBLY_OFFENSIVE;
}
return flags;
}
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp
index 39822b94a..8e6cb974b 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.cpp
@@ -54,6 +54,9 @@ const int Ver4DictConstants::WORD_COUNT_FIELD_SIZE = 1;
const uint8_t Ver4DictConstants::FLAG_REPRESENTS_BEGINNING_OF_SENTENCE = 0x1;
const uint8_t Ver4DictConstants::FLAG_NOT_A_VALID_ENTRY = 0x2;
+const uint8_t Ver4DictConstants::FLAG_NOT_A_WORD = 0x4;
+const uint8_t Ver4DictConstants::FLAG_BLACKLISTED = 0x8;
+const uint8_t Ver4DictConstants::FLAG_POSSIBLY_OFFENSIVE = 0x10;
const int Ver4DictConstants::SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE = 64;
const int Ver4DictConstants::SHORTCUT_ADDRESS_TABLE_DATA_SIZE = 4;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.h
index dfcdd4d6f..600b5ffe4 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_dict_constants.h
@@ -52,6 +52,9 @@ class Ver4DictConstants {
// Flags in probability entry.
static const uint8_t FLAG_REPRESENTS_BEGINNING_OF_SENTENCE;
static const uint8_t FLAG_NOT_A_VALID_ENTRY;
+ static const uint8_t FLAG_NOT_A_WORD;
+ static const uint8_t FLAG_BLACKLISTED;
+ static const uint8_t FLAG_POSSIBLY_OFFENSIVE;
static const int SHORTCUT_ADDRESS_TABLE_BLOCK_SIZE;
static const int SHORTCUT_ADDRESS_TABLE_DATA_SIZE;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp
index 75ec16912..a1a33d27a 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.cpp
@@ -191,7 +191,6 @@ bool Ver4PatriciaTrieNodeWriter::writePtNodeAndAdvancePosition(
ptNodeWritingPos);
}
-
bool Ver4PatriciaTrieNodeWriter::writeNewTerminalPtNodeAndAdvancePosition(
const PtNodeParams *const ptNodeParams, const UnigramProperty *const unigramProperty,
int *const ptNodeWritingPos) {
@@ -341,8 +340,8 @@ bool Ver4PatriciaTrieNodeWriter::writePtNodeAndGetTerminalIdAndAdvancePosition(
ptNodeParams->getChildrenPos(), ptNodeWritingPos)) {
return false;
}
- return updatePtNodeFlags(nodePos, ptNodeParams->isBlacklisted(), ptNodeParams->isNotAWord(),
- isTerminal, ptNodeParams->getCodePointCount() > 1 /* hasMultipleChars */);
+ return updatePtNodeFlags(nodePos, isTerminal,
+ ptNodeParams->getCodePointCount() > 1 /* hasMultipleChars */);
}
// TODO: Move probability handling code to LanguageModelDictContent.
@@ -361,14 +360,13 @@ const ProbabilityEntry Ver4PatriciaTrieNodeWriter::createUpdatedEntryFrom(
}
}
-bool Ver4PatriciaTrieNodeWriter::updatePtNodeFlags(const int ptNodePos,
- const bool isBlacklisted, const bool isNotAWord, const bool isTerminal,
+bool Ver4PatriciaTrieNodeWriter::updatePtNodeFlags(const int ptNodePos, const bool isTerminal,
const bool hasMultipleChars) {
// Create node flags and write them.
PatriciaTrieReadingUtils::NodeFlags nodeFlags =
- PatriciaTrieReadingUtils::createAndGetFlags(isBlacklisted, isNotAWord, isTerminal,
- false /* hasShortcutTargets */, false /* hasBigrams */, hasMultipleChars,
- CHILDREN_POSITION_FIELD_SIZE);
+ PatriciaTrieReadingUtils::createAndGetFlags(false /* isNotAWord */,
+ false /* isBlacklisted */, isTerminal, false /* hasShortcutTargets */,
+ false /* hasBigrams */, hasMultipleChars, CHILDREN_POSITION_FIELD_SIZE);
if (!DynamicPtWritingUtils::writeFlags(mTrieBuffer, nodeFlags, ptNodePos)) {
AKLOGE("Cannot write PtNode flags. flags: %x, pos: %d", nodeFlags, ptNodePos);
return false;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.h
index 08b7d3825..17915273b 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_node_writer.h
@@ -103,8 +103,7 @@ class Ver4PatriciaTrieNodeWriter : public PtNodeWriter {
const ProbabilityEntry *const originalProbabilityEntry,
const ProbabilityEntry *const probabilityEntry) const;
- bool updatePtNodeFlags(const int ptNodePos, const bool isBlacklisted, const bool isNotAWord,
- const bool isTerminal, const bool hasMultipleChars);
+ bool updatePtNodeFlags(const int ptNodePos, const bool isTerminal, const bool hasMultipleChars);
static const int CHILDREN_POSITION_FIELD_SIZE;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
index 8d4135679..0349ba4a0 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.cpp
@@ -63,14 +63,10 @@ void Ver4PatriciaTriePolicy::createAndGetAllChildDicNodes(const DicNode *const d
// valid terminal DicNode.
isTerminal = ptNodeParams.getProbability() != NOT_A_PROBABILITY;
}
- readingHelper.readNextSiblingNode(ptNodeParams);
- if (ptNodeParams.representsNonWordInfo()) {
- // Skip PtNodes that represent non-word information.
- continue;
- }
const int wordId = isTerminal ? ptNodeParams.getTerminalId() : NOT_A_WORD_ID;
childDicNodes->pushLeavingChild(dicNode, ptNodeParams.getChildrenPos(),
wordId, ptNodeParams.getCodePointArrayView());
+ readingHelper.readNextSiblingNode(ptNodeParams);
}
if (readingHelper.isError()) {
mIsCorrupted = true;
@@ -78,15 +74,14 @@ void Ver4PatriciaTriePolicy::createAndGetAllChildDicNodes(const DicNode *const d
}
}
-int Ver4PatriciaTriePolicy::getCodePointsAndProbabilityAndReturnCodePointCount(
- const int wordId, const int maxCodePointCount, int *const outCodePoints,
- int *const outUnigramProbability) const {
+int Ver4PatriciaTriePolicy::getCodePointsAndReturnCodePointCount(const int wordId,
+ const int maxCodePointCount, int *const outCodePoints) const {
DynamicPtReadingHelper readingHelper(&mNodeReader, &mPtNodeArrayReader);
const int ptNodePos =
mBuffers->getTerminalPositionLookupTable()->getTerminalPtNodePosition(wordId);
readingHelper.initWithPtNodePos(ptNodePos);
- const int codePointCount = readingHelper.getCodePointsAndProbabilityAndReturnCodePointCount(
- maxCodePointCount, outCodePoints, outUnigramProbability);
+ const int codePointCount = readingHelper.getCodePointsAndReturnCodePointCount(
+ maxCodePointCount, outCodePoints);
if (readingHelper.isError()) {
mIsCorrupted = true;
AKLOGE("Dictionary reading error in getCodePointsAndProbabilityAndReturnCodePointCount().");
@@ -117,13 +112,8 @@ const WordAttributes Ver4PatriciaTriePolicy::getWordAttributesInContext(
if (wordId == NOT_A_WORD_ID) {
return WordAttributes();
}
- const int ptNodePos =
- mBuffers->getTerminalPositionLookupTable()->getTerminalPtNodePosition(wordId);
- const PtNodeParams ptNodeParams = mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(ptNodePos);
- const int probability = mBuffers->getLanguageModelDictContent()->getWordProbability(
- prevWordIds, wordId, mHeaderPolicy);
- return WordAttributes(probability, ptNodeParams.isBlacklisted(), ptNodeParams.isNotAWord(),
- probability == 0);
+ return mBuffers->getLanguageModelDictContent()->getWordAttributes(prevWordIds, wordId,
+ mHeaderPolicy);
}
int Ver4PatriciaTriePolicy::getProbabilityOfWord(const WordIdArrayView prevWordIds,
@@ -131,15 +121,10 @@ int Ver4PatriciaTriePolicy::getProbabilityOfWord(const WordIdArrayView prevWordI
if (wordId == NOT_A_WORD_ID || prevWordIds.contains(NOT_A_WORD_ID)) {
return NOT_A_PROBABILITY;
}
- const int ptNodePos =
- mBuffers->getTerminalPositionLookupTable()->getTerminalPtNodePosition(wordId);
- const PtNodeParams ptNodeParams = mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(ptNodePos);
- if (ptNodeParams.isDeleted() || ptNodeParams.isBlacklisted() || ptNodeParams.isNotAWord()) {
- return NOT_A_PROBABILITY;
- }
const ProbabilityEntry probabilityEntry =
mBuffers->getLanguageModelDictContent()->getNgramProbabilityEntry(prevWordIds, wordId);
- if (!probabilityEntry.isValid()) {
+ if (!probabilityEntry.isValid() || probabilityEntry.isBlacklisted()
+ || probabilityEntry.isNotAWord()) {
return NOT_A_PROBABILITY;
}
if (mHeaderPolicy->hasHistoricalInfoOfWords()) {
@@ -166,6 +151,9 @@ void Ver4PatriciaTriePolicy::iterateNgramEntries(const WordIdArrayView prevWordI
for (const auto entry : languageModelDictContent->getProbabilityEntries(
prevWordIds.limit(i))) {
const ProbabilityEntry &probabilityEntry = entry.getProbabilityEntry();
+ if (!probabilityEntry.isValid()) {
+ continue;
+ }
const int probability = probabilityEntry.hasHistoricalInfo() ?
ForgettingCurveUtils::decodeProbability(
probabilityEntry.getHistoricalInfo(), mHeaderPolicy)
@@ -463,8 +451,6 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
const int ptNodePos =
mBuffers->getTerminalPositionLookupTable()->getTerminalPtNodePosition(wordId);
const PtNodeParams ptNodeParams = mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(ptNodePos);
- std::vector<int> codePointVector(ptNodeParams.getCodePoints(),
- ptNodeParams.getCodePoints() + ptNodeParams.getCodePointCount());
const ProbabilityEntry probabilityEntry =
mBuffers->getLanguageModelDictContent()->getProbabilityEntry(
ptNodeParams.getTerminalId());
@@ -476,10 +462,8 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
int bigramWord1CodePoints[MAX_WORD_LENGTH];
for (const auto entry : mBuffers->getLanguageModelDictContent()->getProbabilityEntries(
prevWordIds)) {
- // Word (unigram) probability
- int word1Probability = NOT_A_PROBABILITY;
- const int codePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
- entry.getWordId(), MAX_WORD_LENGTH, bigramWord1CodePoints, &word1Probability);
+ const int codePointCount = getCodePointsAndReturnCodePointCount(entry.getWordId(),
+ MAX_WORD_LENGTH, bigramWord1CodePoints);
const std::vector<int> word1(bigramWord1CodePoints,
bigramWord1CodePoints + codePointCount);
const ProbabilityEntry probabilityEntry = entry.getProbabilityEntry();
@@ -508,11 +492,11 @@ const WordProperty Ver4PatriciaTriePolicy::getWordProperty(
shortcuts.emplace_back(&target, shortcutProbability);
}
}
- const UnigramProperty unigramProperty(ptNodeParams.representsBeginningOfSentence(),
- ptNodeParams.isNotAWord(), ptNodeParams.isBlacklisted(), ptNodeParams.getProbability(),
- historicalInfo->getTimeStamp(), historicalInfo->getLevel(),
- historicalInfo->getCount(), &shortcuts);
- return WordProperty(&codePointVector, &unigramProperty, &bigrams);
+ const UnigramProperty unigramProperty(probabilityEntry.representsBeginningOfSentence(),
+ probabilityEntry.isNotAWord(), probabilityEntry.isBlacklisted(),
+ probabilityEntry.getProbability(), historicalInfo->getTimeStamp(),
+ historicalInfo->getLevel(), historicalInfo->getCount(), &shortcuts);
+ return WordProperty(wordCodePoints, &unigramProperty, &bigrams);
}
int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const outCodePoints,
@@ -535,9 +519,8 @@ int Ver4PatriciaTriePolicy::getNextWordAndNextToken(const int token, int *const
const int terminalPtNodePos = mTerminalPtNodePositionsForIteratingWords[token];
const PtNodeParams ptNodeParams =
mNodeReader.fetchPtNodeParamsInBufferFromPtNodePos(terminalPtNodePos);
- int unigramProbability = NOT_A_PROBABILITY;
- *outCodePointCount = getCodePointsAndProbabilityAndReturnCodePointCount(
- ptNodeParams.getTerminalId(), MAX_WORD_LENGTH, outCodePoints, &unigramProbability);
+ *outCodePointCount = getCodePointsAndReturnCodePointCount(ptNodeParams.getTerminalId(),
+ MAX_WORD_LENGTH, outCodePoints);
const int nextToken = token + 1;
if (nextToken >= terminalPtNodePositionsVectorSize) {
// All words have been iterated.
diff --git a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h
index a117a3614..758f8da80 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/structure/v4/ver4_patricia_trie_policy.h
@@ -62,9 +62,8 @@ class Ver4PatriciaTriePolicy : public DictionaryStructureWithBufferPolicy {
void createAndGetAllChildDicNodes(const DicNode *const dicNode,
DicNodeVector *const childDicNodes) const;
- int getCodePointsAndProbabilityAndReturnCodePointCount(
- const int wordId, const int maxCodePointCount, int *const outCodePoints,
- int *const outUnigramProbability) const;
+ int getCodePointsAndReturnCodePointCount(const int wordId, const int maxCodePointCount,
+ int *const outCodePoints) const;
int getWordId(const CodePointArrayView wordCodePoints, const bool forceLowerCaseSearch) const;
diff --git a/native/jni/tests/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp b/native/jni/tests/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp
index 06f82df52..daa32c348 100644
--- a/native/jni/tests/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp
+++ b/native/jni/tests/suggest/policyimpl/dictionary/structure/v4/content/language_model_dict_content_test.cpp
@@ -107,15 +107,15 @@ TEST(LanguageModelDictContentTest, TestGetWordProbability) {
languageModelDictContent.setProbabilityEntry(prevWordIds[0], &probabilityEntry);
languageModelDictContent.setNgramProbabilityEntry(prevWordIds.limit(1), wordId,
&bigramProbabilityEntry);
- EXPECT_EQ(bigramProbability, languageModelDictContent.getWordProbability(prevWordIds, wordId,
- nullptr /* headerPolicy */));
+ EXPECT_EQ(bigramProbability, languageModelDictContent.getWordAttributes(prevWordIds, wordId,
+ nullptr /* headerPolicy */).getProbability());
const ProbabilityEntry trigramProbabilityEntry(flag, trigramProbability);
languageModelDictContent.setNgramProbabilityEntry(prevWordIds.limit(1),
prevWordIds[1], &probabilityEntry);
languageModelDictContent.setNgramProbabilityEntry(prevWordIds.limit(2), wordId,
&trigramProbabilityEntry);
- EXPECT_EQ(trigramProbability, languageModelDictContent.getWordProbability(prevWordIds, wordId,
- nullptr /* headerPolicy */));
+ EXPECT_EQ(trigramProbability, languageModelDictContent.getWordAttributes(prevWordIds, wordId,
+ nullptr /* headerPolicy */).getProbability());
}
} // namespace
diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelBase.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelBase.java
index a25d6d6e7..17cee29b3 100644
--- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelBase.java
@@ -16,12 +16,14 @@
package com.android.inputmethod.keyboard;
+import android.content.Context;
import android.content.res.Resources;
import android.text.InputType;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
+import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyVisual;
import com.android.inputmethod.latin.Constants;
import com.android.inputmethod.latin.utils.RunInLocale;
import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
@@ -29,28 +31,70 @@ import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
import java.util.Locale;
abstract class KeyboardLayoutSetActionLabelBase extends KeyboardLayoutSetTestsBase {
+ static class ExpectedActionKey {
+ static ExpectedActionKey newIconKey(final String iconName) {
+ final int iconId = KeyboardIconsSet.getIconId(iconName);
+ return new ExpectedActionKey(ExpectedKeyVisual.newInstance(iconId));
+ }
+
+ static ExpectedActionKey newLabelKey(final String label) {
+ return new ExpectedActionKey(ExpectedKeyVisual.newInstance(label));
+ }
+
+ static ExpectedActionKey newLabelKey(final int labelResId,
+ final Locale labelLocale, final Context context) {
+ final RunInLocale<String> getString = new RunInLocale<String>() {
+ @Override
+ protected String job(final Resources res) {
+ return res.getString(labelResId);
+ }
+ };
+ return newLabelKey(getString.runInLocale(context.getResources(), labelLocale));
+ }
+
+ private final ExpectedKeyVisual mVisual;
+
+ private ExpectedActionKey(final ExpectedKeyVisual visual) {
+ mVisual = visual;
+ }
+
+ public int getIconId() { return mVisual.getIconId(); }
+
+ public String getLabel() { return mVisual.getLabel(); }
+ }
+
+ protected static Locale getLabelLocale(final InputMethodSubtype subtype) {
+ if (subtype.getLocale().equals(SubtypeLocaleUtils.NO_LANGUAGE)) {
+ return null;
+ }
+ return SubtypeLocaleUtils.getSubtypeLocale(subtype);
+ }
+
public void testActionUnspecified() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_ENTER_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "unspecifiled "
+ SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_UNSPECIFIED,
- KeyboardIconsSet.NAME_ENTER_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_UNSPECIFIED, expectedKey);
}
}
public void testActionNone() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_ENTER_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "none " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_NONE,
- KeyboardIconsSet.NAME_ENTER_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_NONE, expectedKey);
}
}
public void testActionSearch() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_SEARCH_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "search " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_SEARCH,
- KeyboardIconsSet.NAME_SEARCH_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_SEARCH, expectedKey);
}
}
@@ -63,94 +107,47 @@ abstract class KeyboardLayoutSetActionLabelBase extends KeyboardLayoutSetTestsBa
public void testActionCustom() {
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "custom " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- final CharSequence customLabel = "customLabel";
final EditorInfo editorInfo = new EditorInfo();
editorInfo.imeOptions = EditorInfo.IME_ACTION_UNSPECIFIED;
- editorInfo.actionLabel = customLabel;
- doTestActionKeyLabel(tag, subtype, editorInfo, customLabel);
+ editorInfo.actionLabel = "customLabel";
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newLabelKey("customLabel");
+ doTestActionKey(tag, subtype, editorInfo, expectedKey);
}
}
- private static void doTestActionKey(final String tag, final KeyboardLayoutSet layoutSet,
- final int elementId, final CharSequence label, final int iconId) {
+ private static void assertActionKey(final String tag, final KeyboardLayoutSet layoutSet,
+ final int elementId, final ExpectedActionKey expectedKey) {
final Keyboard keyboard = layoutSet.getKeyboard(elementId);
- final Key enterKey = keyboard.getKey(Constants.CODE_ENTER);
- assertNotNull(tag + " enter key on " + keyboard.mId, enterKey);
- assertEquals(tag + " enter label " + enterKey, label, enterKey.getLabel());
- assertEquals(tag + " enter icon " + enterKey, iconId, enterKey.getIconId());
+ final Key actualKey = keyboard.getKey(Constants.CODE_ENTER);
+ assertNotNull(tag + " enter key on " + keyboard.mId, actualKey);
+ assertEquals(tag + " label " + expectedKey, expectedKey.getLabel(), actualKey.getLabel());
+ assertEquals(tag + " icon " + expectedKey, expectedKey.getIconId(), actualKey.getIconId());
}
- protected void doTestActionKeyLabelResId(final String tag, final InputMethodSubtype subtype,
- final int actionId, final int labelResId) {
- final Locale labelLocale = subtype.getLocale().equals(SubtypeLocaleUtils.NO_LANGUAGE)
- ? null : SubtypeLocaleUtils.getSubtypeLocale(subtype);
- doTestActionKeyLabelResIdInLocale(tag, subtype, actionId, labelLocale, labelResId);
- }
-
- protected void doTestActionKeyLabelResIdInLocale(final String tag,
- final InputMethodSubtype subtype, final int actionId, final Locale labelLocale,
- final int labelResId) {
+ protected void doTestActionKey(final String tag, final InputMethodSubtype subtype,
+ final int actionId, final ExpectedActionKey expectedKey) {
final EditorInfo editorInfo = new EditorInfo();
editorInfo.imeOptions = actionId;
- final RunInLocale<String> job = new RunInLocale<String>() {
- @Override
- protected String job(final Resources res) {
- return res.getString(labelResId);
- }
- };
- final String label = job.runInLocale(getContext().getResources(), labelLocale);
- doTestActionKeyLabel(tag, subtype, editorInfo, label);
- }
-
- protected void doTestActionKeyLabel(final String tag, final InputMethodSubtype subtype,
- final EditorInfo editorInfo, final CharSequence label) {
- // Test text layouts.
- editorInfo.inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL;
- final KeyboardLayoutSet layoutSet = createKeyboardLayoutSet(subtype, editorInfo);
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_ALPHABET,
- label, KeyboardIconsSet.ICON_UNDEFINED);
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_SYMBOLS,
- label, KeyboardIconsSet.ICON_UNDEFINED);
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_SYMBOLS_SHIFTED,
- label, KeyboardIconsSet.ICON_UNDEFINED);
- // Test phone number layouts.
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_PHONE,
- label, KeyboardIconsSet.ICON_UNDEFINED);
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_PHONE_SYMBOLS,
- label, KeyboardIconsSet.ICON_UNDEFINED);
- // Test normal number layout.
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_NUMBER,
- label, KeyboardIconsSet.ICON_UNDEFINED);
- // Test number password layouts.
- editorInfo.inputType =
- InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD;
- final KeyboardLayoutSet passwordSet = createKeyboardLayoutSet(subtype, editorInfo);
- doTestActionKey(tag, passwordSet, KeyboardId.ELEMENT_NUMBER,
- label, KeyboardIconsSet.ICON_UNDEFINED);
+ doTestActionKey(tag, subtype, editorInfo, expectedKey);
}
- protected void doTestActionKeyIcon(final String tag, final InputMethodSubtype subtype,
- final int actionId, final String iconName) {
- final int iconId = KeyboardIconsSet.getIconId(iconName);
- final EditorInfo editorInfo = new EditorInfo();
- editorInfo.imeOptions = actionId;
+ protected void doTestActionKey(final String tag, final InputMethodSubtype subtype,
+ final EditorInfo editorInfo, final ExpectedActionKey expectedKey) {
// Test text layouts.
editorInfo.inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL;
final KeyboardLayoutSet layoutSet = createKeyboardLayoutSet(subtype, editorInfo);
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_ALPHABET, null /* label */, iconId);
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_SYMBOLS, null /* label */, iconId);
- doTestActionKey(
- tag, layoutSet, KeyboardId.ELEMENT_SYMBOLS_SHIFTED, null /* label */, iconId);
+ assertActionKey(tag, layoutSet, KeyboardId.ELEMENT_ALPHABET, expectedKey);
+ assertActionKey(tag, layoutSet, KeyboardId.ELEMENT_SYMBOLS, expectedKey);
+ assertActionKey(tag, layoutSet, KeyboardId.ELEMENT_SYMBOLS_SHIFTED, expectedKey);
// Test phone number layouts.
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_PHONE, null /* label */, iconId);
- doTestActionKey(
- tag, layoutSet, KeyboardId.ELEMENT_PHONE_SYMBOLS, null /* label */, iconId);
+ assertActionKey(tag, layoutSet, KeyboardId.ELEMENT_PHONE, expectedKey);
+ assertActionKey(tag, layoutSet, KeyboardId.ELEMENT_PHONE_SYMBOLS, expectedKey);
// Test normal number layout.
- doTestActionKey(tag, layoutSet, KeyboardId.ELEMENT_NUMBER, null /* label */, iconId);
+ assertActionKey(tag, layoutSet, KeyboardId.ELEMENT_NUMBER, expectedKey);
// Test number password layout.
editorInfo.inputType =
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD;
final KeyboardLayoutSet passwordSet = createKeyboardLayoutSet(subtype, editorInfo);
- doTestActionKey(tag, passwordSet, KeyboardId.ELEMENT_NUMBER, null /* label */, iconId);
+ assertActionKey(tag, passwordSet, KeyboardId.ELEMENT_NUMBER, expectedKey);
}
}
diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelKlpTests.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelKlpTests.java
index 322a344ff..07d47053a 100644
--- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelKlpTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelKlpTests.java
@@ -40,8 +40,9 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
public void testActionGo() {
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "go " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyLabelResId(tag, subtype, EditorInfo.IME_ACTION_GO,
- R.string.label_go_key);
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newLabelKey(
+ R.string.label_go_key, getLabelLocale(subtype), getContext());
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_GO, expectedKey);
}
}
@@ -49,8 +50,9 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
public void testActionSend() {
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "send " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyLabelResId(tag, subtype, EditorInfo.IME_ACTION_SEND,
- R.string.label_send_key);
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newLabelKey(
+ R.string.label_send_key, getLabelLocale(subtype), getContext());
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_SEND, expectedKey);
}
}
@@ -58,8 +60,9 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
public void testActionNext() {
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "next " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyLabelResId(tag, subtype, EditorInfo.IME_ACTION_NEXT,
- R.string.label_next_key);
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newLabelKey(
+ R.string.label_next_key, getLabelLocale(subtype), getContext());
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_NEXT, expectedKey);
}
}
@@ -67,8 +70,9 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
public void testActionDone() {
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "done " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyLabelResId(tag, subtype, EditorInfo.IME_ACTION_DONE,
- R.string.label_done_key);
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newLabelKey(
+ R.string.label_done_key, getLabelLocale(subtype), getContext());
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_DONE, expectedKey);
}
}
@@ -76,42 +80,59 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
public void testActionPrevious() {
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "previous " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyLabelResId(tag, subtype, EditorInfo.IME_ACTION_PREVIOUS,
- R.string.label_previous_key);
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newLabelKey(
+ R.string.label_previous_key, getLabelLocale(subtype), getContext());
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_PREVIOUS, expectedKey);
}
}
+ private void doTestActionKeys(final InputMethodSubtype subtype, final String tag,
+ final ExpectedActionKey unspecifiedKey, final ExpectedActionKey noneKey,
+ final ExpectedActionKey goKey, final ExpectedActionKey searchKey,
+ final ExpectedActionKey sendKey, final ExpectedActionKey nextKey,
+ final ExpectedActionKey doneKey, final ExpectedActionKey previousKey) {
+ doTestActionKey(
+ tag + " unspecified", subtype, EditorInfo.IME_ACTION_UNSPECIFIED, unspecifiedKey);
+ doTestActionKey(tag + " none", subtype, EditorInfo.IME_ACTION_NONE, noneKey);
+ doTestActionKey(tag + " go", subtype, EditorInfo.IME_ACTION_GO, goKey);
+ doTestActionKey(tag + " search", subtype, EditorInfo.IME_ACTION_SEARCH, searchKey);
+ doTestActionKey(tag + " send", subtype, EditorInfo.IME_ACTION_SEND, sendKey);
+ doTestActionKey(tag + " next", subtype, EditorInfo.IME_ACTION_NEXT, nextKey);
+ doTestActionKey(tag + " done", subtype, EditorInfo.IME_ACTION_DONE, doneKey);
+ doTestActionKey(tag + " previous", subtype, EditorInfo.IME_ACTION_PREVIOUS, previousKey);
+ }
+
// Working variable to simulate system locale changing.
private Locale mSystemLocale = Locale.getDefault();
- private void doTestActionLabelInLocale(final InputMethodSubtype subtype,
+ private void doTestActionKeysInLocale(final InputMethodSubtype subtype,
final Locale labelLocale, final Locale systemLocale) {
// Simulate system locale changing, see {@link SystemBroadcastReceiver}.
if (!systemLocale.equals(mSystemLocale)) {
KeyboardLayoutSet.onSystemLocaleChanged();
mSystemLocale = systemLocale;
}
+ final ExpectedActionKey enterKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_ENTER_KEY);
+ final ExpectedActionKey goKey = ExpectedActionKey.newLabelKey(
+ R.string.label_go_key, labelLocale, getContext());
+ final ExpectedActionKey searchKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_SEARCH_KEY);
+ final ExpectedActionKey sendKey = ExpectedActionKey.newLabelKey(
+ R.string.label_send_key, labelLocale, getContext());
+ final ExpectedActionKey nextKey = ExpectedActionKey.newLabelKey(
+ R.string.label_next_key, labelLocale, getContext());
+ final ExpectedActionKey doneKey = ExpectedActionKey.newLabelKey(
+ R.string.label_done_key, labelLocale, getContext());
+ final ExpectedActionKey previousKey = ExpectedActionKey.newLabelKey(
+ R.string.label_previous_key, labelLocale, getContext());
final String tag = "label=" + labelLocale + " system=" + systemLocale
+ " " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
final RunInLocale<Void> job = new RunInLocale<Void>() {
@Override
public Void job(final Resources res) {
- doTestActionKeyIcon(tag + " unspecified", subtype,
- EditorInfo.IME_ACTION_UNSPECIFIED, KeyboardIconsSet.NAME_ENTER_KEY);
- doTestActionKeyIcon(tag + " none", subtype,
- EditorInfo.IME_ACTION_NONE, KeyboardIconsSet.NAME_ENTER_KEY);
- doTestActionKeyLabelResIdInLocale(tag + " go", subtype,
- EditorInfo.IME_ACTION_GO, labelLocale, R.string.label_go_key);
- doTestActionKeyIcon(tag + " search", subtype,
- EditorInfo.IME_ACTION_SEARCH, KeyboardIconsSet.NAME_SEARCH_KEY);
- doTestActionKeyLabelResIdInLocale(tag + " send", subtype,
- EditorInfo.IME_ACTION_SEND, labelLocale, R.string.label_send_key);
- doTestActionKeyLabelResIdInLocale(tag + " next", subtype,
- EditorInfo.IME_ACTION_NEXT, labelLocale, R.string.label_next_key);
- doTestActionKeyLabelResIdInLocale(tag + " done", subtype,
- EditorInfo.IME_ACTION_DONE, labelLocale, R.string.label_done_key);
- doTestActionKeyLabelResIdInLocale(tag + " previous", subtype,
- EditorInfo.IME_ACTION_PREVIOUS, labelLocale, R.string.label_previous_key);
+ doTestActionKeys(subtype, tag, enterKey, enterKey, goKey, searchKey, sendKey,
+ nextKey, doneKey, previousKey);
return null;
}
};
@@ -123,10 +144,10 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
final InputMethodSubtype italian = richImm.findSubtypeByLocaleAndKeyboardLayoutSet(
Locale.ITALIAN.toString(), SubtypeLocaleUtils.QWERTY);
// An action label should be displayed in subtype's locale regardless of the system locale.
- doTestActionLabelInLocale(italian, Locale.ITALIAN, Locale.US);
- doTestActionLabelInLocale(italian, Locale.ITALIAN, Locale.FRENCH);
- doTestActionLabelInLocale(italian, Locale.ITALIAN, Locale.ITALIAN);
- doTestActionLabelInLocale(italian, Locale.ITALIAN, Locale.JAPANESE);
+ doTestActionKeysInLocale(italian, Locale.ITALIAN, Locale.US);
+ doTestActionKeysInLocale(italian, Locale.ITALIAN, Locale.FRENCH);
+ doTestActionKeysInLocale(italian, Locale.ITALIAN, Locale.ITALIAN);
+ doTestActionKeysInLocale(italian, Locale.ITALIAN, Locale.JAPANESE);
}
public void testNoLanguageSubtypeActionLabel() {
@@ -134,9 +155,9 @@ public class KeyboardLayoutSetActionLabelKlpTests extends KeyboardLayoutSetActio
final InputMethodSubtype noLanguage = richImm.findSubtypeByLocaleAndKeyboardLayoutSet(
SubtypeLocaleUtils.NO_LANGUAGE, SubtypeLocaleUtils.QWERTY);
// An action label of no language keyboard should be displayed in the system locale.
- doTestActionLabelInLocale(noLanguage, Locale.US, Locale.US);
- doTestActionLabelInLocale(noLanguage, Locale.FRENCH, Locale.FRENCH);
- doTestActionLabelInLocale(noLanguage, Locale.ITALIAN, Locale.ITALIAN);
- doTestActionLabelInLocale(noLanguage, Locale.JAPANESE, Locale.JAPANESE);
+ doTestActionKeysInLocale(noLanguage, Locale.US, Locale.US);
+ doTestActionKeysInLocale(noLanguage, Locale.FRENCH, Locale.FRENCH);
+ doTestActionKeysInLocale(noLanguage, Locale.ITALIAN, Locale.ITALIAN);
+ doTestActionKeysInLocale(noLanguage, Locale.JAPANESE, Locale.JAPANESE);
}
}
diff --git a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelLxxTests.java b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelLxxTests.java
index 028b3e400..fec501db1 100644
--- a/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelLxxTests.java
+++ b/tests/src/com/android/inputmethod/keyboard/KeyboardLayoutSetActionLabelLxxTests.java
@@ -32,46 +32,51 @@ public class KeyboardLayoutSetActionLabelLxxTests extends KeyboardLayoutSetActio
@Override
public void testActionGo() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_GO_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "go " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_GO,
- KeyboardIconsSet.NAME_GO_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_GO, expectedKey);
}
}
@Override
public void testActionSend() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_SEND_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "send " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_SEND,
- KeyboardIconsSet.NAME_SEND_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_SEND, expectedKey);
}
}
@Override
public void testActionNext() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_NEXT_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "next " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_NEXT,
- KeyboardIconsSet.NAME_NEXT_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_NEXT, expectedKey);
}
}
@Override
public void testActionDone() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_DONE_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "done " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_DONE,
- KeyboardIconsSet.NAME_DONE_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_DONE, expectedKey);
}
}
@Override
public void testActionPrevious() {
+ final ExpectedActionKey expectedKey = ExpectedActionKey.newIconKey(
+ KeyboardIconsSet.NAME_PREVIOUS_KEY);
for (final InputMethodSubtype subtype : getAllSubtypesList()) {
final String tag = "previous " + SubtypeLocaleUtils.getSubtypeNameForLogging(subtype);
- doTestActionKeyIcon(tag, subtype, EditorInfo.IME_ACTION_PREVIOUS,
- KeyboardIconsSet.NAME_PREVIOUS_KEY);
+ doTestActionKey(tag, subtype, EditorInfo.IME_ACTION_PREVIOUS, expectedKey);
}
}
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKey.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKey.java
index 2674a6a69..5c147a3b6 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKey.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKey.java
@@ -105,11 +105,11 @@ public class ExpectedKey {
// The expected output of this key.
private final ExpectedKeyOutput mOutput;
- public final ExpectedKeyVisual getVisual() {
+ protected final ExpectedKeyVisual getVisual() {
return mVisual;
}
- public final ExpectedKeyOutput getOutput() {
+ protected final ExpectedKeyOutput getOutput() {
return mOutput;
}
@@ -162,18 +162,19 @@ public class ExpectedKey {
public boolean equalsTo(final Key key) {
// This key has no "more keys".
- return mVisual.equalsTo(key) && mOutput.equalsTo(key) && key.getMoreKeys() == null;
+ return mVisual.hasSameKeyVisual(key) && mOutput.hasSameKeyOutput(key)
+ && key.getMoreKeys() == null;
}
public boolean equalsTo(final MoreKeySpec moreKeySpec) {
- return mVisual.equalsTo(moreKeySpec) && mOutput.equalsTo(moreKeySpec);
+ return mVisual.hasSameKeyVisual(moreKeySpec) && mOutput.hasSameKeyOutput(moreKeySpec);
}
@Override
public boolean equals(final Object object) {
if (object instanceof ExpectedKey) {
final ExpectedKey key = (ExpectedKey) object;
- return mVisual.equalsTo(key.mVisual) && mOutput.equalsTo(key.mOutput)
+ return mVisual.hasSameKeyVisual(key.mVisual) && mOutput.hasSameKeyOutput(key.mOutput)
&& Arrays.equals(getMoreKeys(), key.getMoreKeys());
}
return false;
@@ -190,7 +191,7 @@ public class ExpectedKey {
@Override
public String toString() {
- if (mVisual.equalsTo(mOutput)) {
+ if (mVisual.hasSameKeyVisual(mOutput)) {
return mVisual.toString();
}
return mVisual + "|" + mOutput;
@@ -274,7 +275,7 @@ public class ExpectedKey {
@Override
public boolean equalsTo(final Key key) {
- if (getVisual().equalsTo(key) && getOutput().equalsTo(key)) {
+ if (getVisual().hasSameKeyVisual(key) && getOutput().hasSameKeyOutput(key)) {
final MoreKeySpec[] moreKeySpecs = key.getMoreKeys();
final ExpectedKey[] moreKeys = getMoreKeys();
// This key should have at least one "more key".
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java
index 737d1695b..5c1a70fa3 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyOutput.java
@@ -43,10 +43,10 @@ abstract class ExpectedKeyOutput {
abstract ExpectedKeyOutput toUpperCase(final Locale locale);
abstract ExpectedKeyOutput preserveCase();
- abstract boolean equalsTo(final String text);
- abstract boolean equalsTo(final Key key);
- abstract boolean equalsTo(final MoreKeySpec moreKeySpec);
- abstract boolean equalsTo(final ExpectedKeyOutput output);
+ abstract boolean hasSameKeyOutput(final String text);
+ abstract boolean hasSameKeyOutput(final Key key);
+ abstract boolean hasSameKeyOutput(final MoreKeySpec moreKeySpec);
+ abstract boolean hasSameKeyOutput(final ExpectedKeyOutput output);
/**
* This class represents an integer code point.
@@ -75,22 +75,22 @@ abstract class ExpectedKeyOutput {
}
@Override
- boolean equalsTo(final String text) {
+ boolean hasSameKeyOutput(final String text) {
return StringUtils.codePointCount(text) == 1 && text.codePointAt(0) == mCode;
}
@Override
- boolean equalsTo(final Key key) {
+ boolean hasSameKeyOutput(final Key key) {
return mCode == key.getCode();
}
@Override
- boolean equalsTo(final MoreKeySpec moreKeySpec) {
+ boolean hasSameKeyOutput(final MoreKeySpec moreKeySpec) {
return mCode == moreKeySpec.mCode;
}
@Override
- boolean equalsTo(final ExpectedKeyOutput output) {
+ boolean hasSameKeyOutput(final ExpectedKeyOutput output) {
return (output instanceof Code) && mCode == ((Code)output).mCode;
}
@@ -130,24 +130,24 @@ abstract class ExpectedKeyOutput {
}
@Override
- boolean equalsTo(final String text) {
+ boolean hasSameKeyOutput(final String text) {
return text.equals(text);
}
@Override
- boolean equalsTo(final Key key) {
+ boolean hasSameKeyOutput(final Key key) {
return key.getCode() == Constants.CODE_OUTPUT_TEXT
&& mText.equals(key.getOutputText());
}
@Override
- boolean equalsTo(final MoreKeySpec moreKeySpec) {
+ boolean hasSameKeyOutput(final MoreKeySpec moreKeySpec) {
return moreKeySpec.mCode == Constants.CODE_OUTPUT_TEXT
&& mText.equals(moreKeySpec.mOutputText);
}
@Override
- boolean equalsTo(final ExpectedKeyOutput output) {
+ boolean hasSameKeyOutput(final ExpectedKeyOutput output) {
return (output instanceof Text) && mText == ((Text)output).mText;
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyVisual.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyVisual.java
index facdf7043..2f3a0c15f 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyVisual.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyVisual.java
@@ -27,22 +27,24 @@ import java.util.Locale;
*
* There are two types of expected visual, an integer icon id and a string label.
*/
-abstract class ExpectedKeyVisual {
- static ExpectedKeyVisual newInstance(final String label) {
+public abstract class ExpectedKeyVisual {
+ public static ExpectedKeyVisual newInstance(final String label) {
return new Label(label);
}
- static ExpectedKeyVisual newInstance(final int iconId) {
+ public static ExpectedKeyVisual newInstance(final int iconId) {
return new Icon(iconId);
}
+ public abstract int getIconId();
+ public abstract String getLabel();
abstract ExpectedKeyVisual toUpperCase(final Locale locale);
abstract ExpectedKeyVisual preserveCase();
- abstract boolean equalsTo(final String text);
- abstract boolean equalsTo(final Key key);
- abstract boolean equalsTo(final MoreKeySpec moreKeySpec);
- abstract boolean equalsTo(final ExpectedKeyOutput output);
- abstract boolean equalsTo(final ExpectedKeyVisual visual);
+ abstract boolean hasSameKeyVisual(final String text);
+ abstract boolean hasSameKeyVisual(final Key key);
+ abstract boolean hasSameKeyVisual(final MoreKeySpec moreKeySpec);
+ abstract boolean hasSameKeyVisual(final ExpectedKeyOutput output);
+ abstract boolean hasSameKeyVisual(final ExpectedKeyVisual visual);
/**
* This class represents an integer icon id.
@@ -55,6 +57,16 @@ abstract class ExpectedKeyVisual {
}
@Override
+ public int getIconId() {
+ return mIconId;
+ }
+
+ @Override
+ public String getLabel() {
+ return null;
+ }
+
+ @Override
ExpectedKeyVisual toUpperCase(final Locale locale) {
return this;
}
@@ -65,27 +77,32 @@ abstract class ExpectedKeyVisual {
}
@Override
- boolean equalsTo(final String text) {
+ boolean hasSameKeyVisual(final String text) {
return false;
}
@Override
- boolean equalsTo(final Key key) {
- return mIconId == key.getIconId();
+ boolean hasSameKeyVisual(final Key key) {
+ // If the actual key has an icon as its visual, a label has to be null.
+ // See {@link KeyboardView#onDrawKeyTopVisuals(Key,Canvas,Paint,KeyDrawParams).
+ return mIconId == key.getIconId() && key.getLabel() == null;
}
@Override
- boolean equalsTo(final MoreKeySpec moreKeySpec) {
- return mIconId == moreKeySpec.mIconId;
+ boolean hasSameKeyVisual(final MoreKeySpec moreKeySpec) {
+ // If the actual more key has an icon as its visual, a label has to be null.
+ // See {@link KeySpecParser#getIconId(String)} and
+ // {@link KeySpecParser#getLabel(String)}.
+ return mIconId == moreKeySpec.mIconId && moreKeySpec.mLabel == null;
}
@Override
- boolean equalsTo(final ExpectedKeyOutput output) {
+ boolean hasSameKeyVisual(final ExpectedKeyOutput output) {
return false;
}
@Override
- boolean equalsTo(final ExpectedKeyVisual visual) {
+ boolean hasSameKeyVisual(final ExpectedKeyVisual visual) {
return (visual instanceof Icon) && mIconId == ((Icon)visual).mIconId;
}
@@ -101,7 +118,19 @@ abstract class ExpectedKeyVisual {
private static class Label extends ExpectedKeyVisual {
private final String mLabel;
- Label(final String label) { mLabel = label; }
+ Label(final String label) {
+ mLabel = label;
+ }
+
+ @Override
+ public int getIconId() {
+ return KeyboardIconsSet.ICON_UNDEFINED;
+ }
+
+ @Override
+ public String getLabel() {
+ return mLabel;
+ }
@Override
ExpectedKeyVisual toUpperCase(final Locale locale) {
@@ -114,27 +143,34 @@ abstract class ExpectedKeyVisual {
}
@Override
- boolean equalsTo(final String text) {
+ boolean hasSameKeyVisual(final String text) {
return mLabel.equals(text);
}
@Override
- boolean equalsTo(final Key key) {
- return mLabel.equals(key.getLabel());
+ boolean hasSameKeyVisual(final Key key) {
+ // If the actual key has a label as its visual, an icon has to be undefined.
+ // See {@link KeyboardView#onDrawKeyTopVisuals(Key,Canvas,Paint,KeyDrawParams).
+ return mLabel.equals(key.getLabel())
+ && key.getIconId() == KeyboardIconsSet.ICON_UNDEFINED;
}
@Override
- boolean equalsTo(final MoreKeySpec moreKeySpec) {
- return mLabel.equals(moreKeySpec.mLabel);
+ boolean hasSameKeyVisual(final MoreKeySpec moreKeySpec) {
+ // If the actual more key has a label as its visual, an icon has to be undefined.
+ // See {@link KeySpecParser#getIconId(String)} and
+ // {@link KeySpecParser#getLabel(String)}.
+ return mLabel.equals(moreKeySpec.mLabel)
+ && moreKeySpec.mIconId == KeyboardIconsSet.ICON_UNDEFINED;
}
@Override
- boolean equalsTo(final ExpectedKeyOutput output) {
- return output.equalsTo(mLabel);
+ boolean hasSameKeyVisual(final ExpectedKeyOutput output) {
+ return output.hasSameKeyOutput(mLabel);
}
@Override
- boolean equalsTo(final ExpectedKeyVisual visual) {
+ boolean hasSameKeyVisual(final ExpectedKeyVisual visual) {
return (visual instanceof Label) && mLabel.equals(((Label)visual).mLabel);
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java
index 9b7de88ea..f5531c9e3 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/expected/ExpectedKeyboardBuilder.java
@@ -91,7 +91,7 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
ExpectedKey[] keys = getRowAt(row);
for (int columnIndex = 0; columnIndex < keys.length; /* nothing */) {
final ExpectedKey currentKey = keys[columnIndex];
- if (!currentKey.getVisual().equalsTo(visual)) {
+ if (!currentKey.getVisual().hasSameKeyVisual(visual)) {
columnIndex++;
continue;
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/EnglishSplitCustomizer.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/EnglishSplitCustomizer.java
deleted file mode 100644
index b6d57d33a..000000000
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/EnglishSplitCustomizer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.inputmethod.keyboard.layout.tests;
-
-import com.android.inputmethod.keyboard.layout.LayoutBase;
-import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
-
-import java.util.Locale;
-
-public class EnglishSplitCustomizer extends EnglishCustomizer {
-
- EnglishSplitCustomizer(Locale locale) {
- super(locale);
- }
-
- @Override
- public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
- return LayoutBase.joinKeys(
- LayoutBase.LANGUAGE_SWITCH_KEY, LayoutBase.SPACE_KEY, LayoutBase.SPACE_KEY);
- }
-}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsAzerbaijaniAZ.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsAzerbaijaniAZ.java
index f5317e269..8e0e2bbbd 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsAzerbaijaniAZ.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsAzerbaijaniAZ.java
@@ -19,9 +19,7 @@ package com.android.inputmethod.keyboard.layout.tests;
import android.test.suitebuilder.annotation.SmallTest;
import com.android.inputmethod.keyboard.layout.LayoutBase;
-import com.android.inputmethod.keyboard.layout.LayoutBase.LayoutCustomizer;
import com.android.inputmethod.keyboard.layout.Qwerty;
-import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
import java.util.Locale;
@@ -31,58 +29,8 @@ import java.util.Locale;
@SmallTest
public final class TestsAzerbaijaniAZ extends LayoutTestsBase {
private static final Locale LOCALE = new Locale("az", "AZ");
- private static final LayoutBase LAYOUT = new Qwerty(new AzerbaijaniAZCustomizer(LOCALE));
+ private static final LayoutBase LAYOUT = new Qwerty(new TurkicCustomizer(LOCALE));
@Override
LayoutBase getLayout() { return LAYOUT; }
-
- private static final class AzerbaijaniAZCustomizer extends LayoutCustomizer {
- public AzerbaijaniAZCustomizer(final Locale locale) { super(locale); }
-
- @Override
- public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) {
- return builder
- // U+0259: "ə" LATIN SMALL LETTER SCHWA
- .setMoreKeysOf("e", "\u0259")
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- .setMoreKeysOf("u", "\u00FC", "\u00FB", "\u00F9", "\u00FA", "\u016B")
- // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
- // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
- // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
- // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
- // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
- // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
- // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
- .setMoreKeysOf("i",
- "\u0131", "\u00EE", "\u00EF", "\u00EC", "\u00ED", "\u012F", "\u012B")
- // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
- // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
- // U+0153: "œ" LATIN SMALL LIGATURE OE
- // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
- // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
- // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
- // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
- // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
- .setMoreKeysOf("o",
- "\u00F6", "\u00F4", "\u0153", "\u00F2", "\u00F3", "\u00F5", "\u00F8",
- "\u014D")
- // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
- .setMoreKeysOf("a", "\u00E2")
- // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
- // U+00DF: "ß" LATIN SMALL LETTER SHARP S
- // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
- // U+0161: "š" LATIN SMALL LETTER S WITH CARON
- .setMoreKeysOf("s", "\u015F", "\u00DF", "\u015B", "\u0161")
- // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
- // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
- // U+010D: "č" LATIN SMALL LETTER C WITH CARON
- .setMoreKeysOf("c", "\u00E7", "\u0107", "\u010D")
- // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
- .setMoreKeysOf("g", "\u011F");
- }
- }
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSplitLayoutQwertyEnglishUS.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSplitLayoutQwertyEnglishUS.java
index b9e40e0e7..b3340aace 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSplitLayoutQwertyEnglishUS.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsSplitLayoutQwertyEnglishUS.java
@@ -23,6 +23,7 @@ import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.keyboard.KeyboardLayoutSet;
import com.android.inputmethod.keyboard.layout.LayoutBase;
import com.android.inputmethod.keyboard.layout.Qwerty;
+import com.android.inputmethod.keyboard.layout.expected.ExpectedKey;
import java.util.Locale;
@@ -44,4 +45,20 @@ public class TestsSplitLayoutQwertyEnglishUS extends LayoutTestsBase {
@Override
LayoutBase getLayout() { return LAYOUT; }
+
+ private static class EnglishSplitCustomizer extends EnglishCustomizer {
+ EnglishSplitCustomizer(Locale locale) {
+ super(locale);
+ }
+
+ @Override
+ public ExpectedKey[] getSpaceKeys(final boolean isPhone) {
+ if (isPhone) {
+ return super.getSpaceKeys(isPhone);
+ } else {
+ return LayoutBase.joinKeys(
+ LayoutBase.LANGUAGE_SWITCH_KEY, LayoutBase.SPACE_KEY, LayoutBase.SPACE_KEY);
+ }
+ }
+ }
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTurkish.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTurkish.java
index b35f8850a..bf427cdb0 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTurkish.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TestsTurkish.java
@@ -37,50 +37,16 @@ public final class TestsTurkish extends LayoutTestsBase {
LayoutBase getLayout() { return LAYOUT; }
private static class TurkishCustomizer extends EuroCustomizer {
- public TurkishCustomizer(final Locale locale) { super(locale); }
+ private final TurkicCustomizer mTurkicCustomizer;
+
+ public TurkishCustomizer(final Locale locale) {
+ super(locale);
+ mTurkicCustomizer = new TurkicCustomizer(locale);
+ }
@Override
public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) {
- return builder
- // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
- // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
- // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
- // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
- // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
- .setMoreKeysOf("u", "\u00FC", "\u00FB", "\u00F9", "\u00FA", "\u016B")
- // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
- // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
- // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
- // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
- // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
- // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
- // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
- .setMoreKeysOf("i",
- "\u0131", "\u00EE", "\u00EF", "\u00EC", "\u00ED", "\u012F", "\u012B")
- // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
- // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
- // U+0153: "œ" LATIN SMALL LIGATURE OE
- // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
- // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
- // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
- // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
- // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
- .setMoreKeysOf("o",
- "\u00F6", "\u00F4", "\u0153", "\u00F2", "\u00F3", "\u00F5", "\u00F8",
- "\u014D")
- // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
- .setMoreKeysOf("a", "\u00E2")
- // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
- // U+00DF: "ß" LATIN SMALL LETTER SHARP S
- // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
- // U+0161: "š" LATIN SMALL LETTER S WITH CARON
- .setMoreKeysOf("s", "\u015F", "\u00DF", "\u015B", "\u0161")
- // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
- .setMoreKeysOf("g", "\u011F")
- // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
- // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
- // U+010D: "č" LATIN SMALL LETTER C WITH CARON
- .setMoreKeysOf("c", "\u00E7", "\u0107", "\u010D");
+ return mTurkicCustomizer.setAccentedLetters(builder);
}
}
}
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/tests/TurkicCustomizer.java b/tests/src/com/android/inputmethod/keyboard/layout/tests/TurkicCustomizer.java
new file mode 100644
index 000000000..1a98f6ccf
--- /dev/null
+++ b/tests/src/com/android/inputmethod/keyboard/layout/tests/TurkicCustomizer.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.keyboard.layout.tests;
+
+import com.android.inputmethod.keyboard.layout.LayoutBase.LayoutCustomizer;
+import com.android.inputmethod.keyboard.layout.expected.ExpectedKeyboardBuilder;
+
+import java.util.Locale;
+
+/**
+ * Turkic languages layout customizer.
+ */
+class TurkicCustomizer extends LayoutCustomizer {
+ public TurkicCustomizer(final Locale locale) { super(locale); }
+
+ @Override
+ public ExpectedKeyboardBuilder setAccentedLetters(final ExpectedKeyboardBuilder builder) {
+ return builder
+ // U+0259: "ə" LATIN SMALL LETTER SCHWA
+ // U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE
+ .setMoreKeysOf("e", "\u0259", "\u00E9")
+ // U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
+ .setMoreKeysOf("y", "\u00FD")
+ // U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
+ // U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
+ // U+00F9: "ù" LATIN SMALL LETTER U WITH GRAVE
+ // U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
+ // U+016B: "ū" LATIN SMALL LETTER U WITH MACRON
+ .setMoreKeysOf("u", "\u00FC", "\u00FB", "\u00F9", "\u00FA", "\u016B")
+ // U+0131: "ı" LATIN SMALL LETTER DOTLESS I
+ // U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
+ // U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
+ // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
+ // U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
+ // U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
+ // U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
+ .setMoreKeysOf("i",
+ "\u0131", "\u00EE", "\u00EF", "\u00EC", "\u00ED", "\u012F", "\u012B")
+ // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+ // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+ // U+0153: "œ" LATIN SMALL LIGATURE OE
+ // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
+ // U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
+ // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
+ // U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+ // U+014D: "ō" LATIN SMALL LETTER O WITH MACRON
+ .setMoreKeysOf("o",
+ "\u00F6", "\u00F4", "\u0153", "\u00F2", "\u00F3", "\u00F5", "\u00F8",
+ "\u014D")
+ // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+ // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+ .setMoreKeysOf("a", "\u00E2", "\u00E4", "\u00E1")
+ // U+015F: "ş" LATIN SMALL LETTER S WITH CEDILLA
+ // U+00DF: "ß" LATIN SMALL LETTER SHARP S
+ // U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+ // U+0161: "š" LATIN SMALL LETTER S WITH CARON
+ .setMoreKeysOf("s", "\u015F", "\u00DF", "\u015B", "\u0161")
+ // U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
+ .setMoreKeysOf("g", "\u011F")
+ // U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
+ .setMoreKeysOf("z", "\u017E")
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ // U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
+ // U+010D: "č" LATIN SMALL LETTER C WITH CARON
+ .setMoreKeysOf("c", "\u00E7", "\u0107", "\u010D")
+ // U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ // U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ .setMoreKeysOf("n", "\u0148", "\u00F1");
+ }
+} \ No newline at end of file
diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
index 6ba18d665..dbe3e25b8 100644
--- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
@@ -55,6 +55,10 @@ public class BinaryDictionaryTests extends AndroidTestCase {
return formatVersion > FormatSpec.VERSION401;
}
+ private static boolean supportsNgram(final int formatVersion) {
+ return formatVersion >= FormatSpec.VERSION4_DEV;
+ }
+
private File createEmptyDictionaryAndGetFile(final String dictId,
final int formatVersion) throws IOException {
if (formatVersion == FormatSpec.VERSION4
@@ -208,6 +212,14 @@ public class BinaryDictionaryTests extends AndroidTestCase {
BinaryDictionary.NOT_A_VALID_TIMESTAMP /* timestamp */);
}
+ private static void addTrigramEntry(final BinaryDictionary binaryDictionary, final String word0,
+ final String word1, final String word2, final int probability) {
+ final PrevWordsInfo prevWordsInfo =
+ new PrevWordsInfo(new WordInfo[] { new WordInfo(word1), new WordInfo(word0) } );
+ binaryDictionary.addNgramEntry(prevWordsInfo, word2, probability,
+ BinaryDictionary.NOT_A_VALID_TIMESTAMP /* timestamp */);
+ }
+
private static boolean isValidBigram(final BinaryDictionary binaryDictionary,
final String word0, final String word1) {
return binaryDictionary.isValidNgram(new PrevWordsInfo(new WordInfo(word0)), word1);
@@ -218,11 +230,25 @@ public class BinaryDictionaryTests extends AndroidTestCase {
binaryDictionary.removeNgramEntry(new PrevWordsInfo(new WordInfo(word0)), word1);
}
+ private static void removeTrigramEntry(final BinaryDictionary binaryDictionary,
+ final String word0, final String word1, final String word2) {
+ final PrevWordsInfo prevWordsInfo =
+ new PrevWordsInfo(new WordInfo[] { new WordInfo(word1), new WordInfo(word0) } );
+ binaryDictionary.removeNgramEntry(prevWordsInfo, word2);
+ }
+
private static int getBigramProbability(final BinaryDictionary binaryDictionary,
final String word0, final String word1) {
return binaryDictionary.getNgramProbability(new PrevWordsInfo(new WordInfo(word0)), word1);
}
+ private static int getTrigramProbability(final BinaryDictionary binaryDictionary,
+ final String word0, final String word1, final String word2) {
+ final PrevWordsInfo prevWordsInfo =
+ new PrevWordsInfo(new WordInfo[] { new WordInfo(word1), new WordInfo(word0) } );
+ return binaryDictionary.getNgramProbability(prevWordsInfo, word2);
+ }
+
public void testAddUnigramWord() {
for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testAddUnigramWord(formatVersion);
@@ -500,6 +526,56 @@ public class BinaryDictionaryTests extends AndroidTestCase {
dictFile.delete();
}
+ public void testAddTrigramWords() {
+ for (final int formatVersion : DICT_FORMAT_VERSIONS) {
+ if (supportsNgram(formatVersion)) {
+ testAddTrigramWords(formatVersion);
+ }
+ }
+ }
+
+ private void testAddTrigramWords(final int formatVersion) {
+ File dictFile = null;
+ try {
+ dictFile = createEmptyDictionaryAndGetFile("TestBinaryDictionary", formatVersion);
+ } catch (IOException e) {
+ fail("IOException while writing an initial dictionary : " + e);
+ }
+ BinaryDictionary binaryDictionary = new BinaryDictionary(dictFile.getAbsolutePath(),
+ 0 /* offset */, dictFile.length(), true /* useFullEditDistance */,
+ Locale.getDefault(), TEST_LOCALE, true /* isUpdatable */);
+
+ final int unigramProbability = 100;
+ final int trigramProbability = 150;
+ final int updatedTrigramProbability = 200;
+ addUnigramWord(binaryDictionary, "aaa", unigramProbability);
+ addUnigramWord(binaryDictionary, "abb", unigramProbability);
+ addUnigramWord(binaryDictionary, "bcc", unigramProbability);
+
+ addBigramWords(binaryDictionary, "abb", "bcc", 10);
+ addBigramWords(binaryDictionary, "abb", "aaa", 10);
+
+ addTrigramEntry(binaryDictionary, "aaa", "abb", "bcc", trigramProbability);
+ addTrigramEntry(binaryDictionary, "bcc", "abb", "aaa", trigramProbability);
+
+ assertEquals(trigramProbability,
+ getTrigramProbability(binaryDictionary, "aaa", "abb", "bcc"));
+ assertEquals(trigramProbability,
+ getTrigramProbability(binaryDictionary, "bcc", "abb", "aaa"));
+ assertFalse(isValidBigram(binaryDictionary, "aaa", "abb"));
+
+ addTrigramEntry(binaryDictionary, "bcc", "abb", "aaa", updatedTrigramProbability);
+ assertEquals(updatedTrigramProbability,
+ getTrigramProbability(binaryDictionary, "bcc", "abb", "aaa"));
+
+ removeTrigramEntry(binaryDictionary, "aaa", "abb", "bcc");
+ assertEquals(Dictionary.NOT_A_PROBABILITY,
+ getTrigramProbability(binaryDictionary, "aaa", "abb", "bcc"));
+ assertTrue(isValidBigram(binaryDictionary, "abb", "bcc"));
+
+ dictFile.delete();
+ }
+
public void testFlushDictionary() {
for (final int formatVersion : DICT_FORMAT_VERSIONS) {
testFlushDictionary(formatVersion);
diff --git a/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java b/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java
index 869c550e0..563261f8f 100644
--- a/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java
+++ b/tests/src/com/android/inputmethod/latin/SuggestedWordsTests.java
@@ -147,7 +147,7 @@ public class SuggestedWordsTests extends AndroidTestCase {
assertNull(wordsWithoutTypedWord.getTypedWordInfoOrNull());
// Make sure getTypedWordInfoOrNull() returns null.
- assertNull(SuggestedWords.EMPTY.getTypedWordInfoOrNull());
+ assertNull(SuggestedWords.getEmptyInstance().getTypedWordInfoOrNull());
final SuggestedWords emptySuggestedWords = new SuggestedWords(
new ArrayList<SuggestedWordInfo>(), null /* rawSuggestions */,
@@ -157,6 +157,6 @@ public class SuggestedWordsTests extends AndroidTestCase {
SuggestedWords.INPUT_STYLE_NONE);
assertNull(emptySuggestedWords.getTypedWordInfoOrNull());
- assertNull(SuggestedWords.EMPTY.getTypedWordInfoOrNull());
+ assertNull(SuggestedWords.getEmptyInstance().getTypedWordInfoOrNull());
}
}
diff --git a/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java
index abb468fda..616209682 100644
--- a/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/personalization/UserHistoryDictionaryTests.java
@@ -74,9 +74,10 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
}
}
- private void checkExistenceAndRemoveDictFile(final Locale locale, final File dictFile) {
+ private void checkExistenceAndRemoveDictFile(final UserHistoryDictionary dict,
+ final File dictFile) {
Log.d(TAG, "waiting for writing ...");
- waitForWriting(locale);
+ dict.waitAllTasksForTests();
if (!dictFile.exists()) {
try {
Log.d(TAG, dictFile + " is not existing. Wait "
@@ -91,6 +92,10 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
FileUtils.deleteRecursively(dictFile);
}
+ private static Locale getDummyLocale(final String name) {
+ return new Locale(TEST_LOCALE_PREFIX + name + System.currentTimeMillis());
+ }
+
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -168,11 +173,9 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
* @param checkContents if true, checks whether written words are actually in the dictionary
* or not.
*/
- private void addAndWriteRandomWords(final Locale locale, final int numberOfWords,
- final Random random, final boolean checkContents) {
+ private void addAndWriteRandomWords(final UserHistoryDictionary dict,
+ final int numberOfWords, final Random random, final boolean checkContents) {
final List<String> words = generateWords(numberOfWords, random);
- final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary(
- mContext, locale);
// Add random words to the user history dictionary.
addToDict(dict, words);
if (checkContents) {
@@ -188,47 +191,31 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
/**
* Clear all entries in the user history dictionary.
- * @param locale dummy locale for testing.
+ * @param dict the user history dictionary.
*/
- private void clearHistory(final Locale locale) {
- final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary(
- mContext, locale);
+ private void clearHistory(final UserHistoryDictionary dict) {
dict.waitAllTasksForTests();
dict.clear();
dict.close();
dict.waitAllTasksForTests();
}
- /**
- * Shut down executer and wait until all operations of user history are done.
- * @param locale dummy locale for testing.
- */
- private void waitForWriting(final Locale locale) {
- final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary(
- mContext, locale);
- dict.waitAllTasksForTests();
- }
-
public void testRandomWords() {
Log.d(TAG, "This test can be used for profiling.");
Log.d(TAG, "Usage: please set UserHistoryDictionary.PROFILE_SAVE_RESTORE to true.");
- final Locale dummyLocale =
- new Locale(TEST_LOCALE_PREFIX + "random_words" + System.currentTimeMillis());
+ final Locale dummyLocale = getDummyLocale("random_words");
final String dictName = ExpandableBinaryDictionary.getDictName(
UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */);
final File dictFile = ExpandableBinaryDictionary.getDictFile(
mContext, dictName, null /* dictFile */);
+ final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary(
+ getContext(), dummyLocale);
final int numberOfWords = 1000;
final Random random = new Random(123456);
-
- try {
- clearHistory(dummyLocale);
- addAndWriteRandomWords(dummyLocale, numberOfWords, random,
- true /* checksContents */);
- } finally {
- checkExistenceAndRemoveDictFile(dummyLocale, dictFile);
- }
+ clearHistory(dict);
+ addAndWriteRandomWords(dict, numberOfWords, random, true /* checksContents */);
+ checkExistenceAndRemoveDictFile(dict, dictFile);
}
public void testStressTestForSwitchingLanguagesAndAddingWords() {
@@ -237,28 +224,30 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
final int numberOfWordsInsertedForEachLanguageSwitch = 100;
final File dictFiles[] = new File[numberOfLanguages];
- final Locale dummyLocales[] = new Locale[numberOfLanguages];
+ final UserHistoryDictionary dicts[] = new UserHistoryDictionary[numberOfLanguages];
+
try {
final Random random = new Random(123456);
// Create filename suffixes for this test.
for (int i = 0; i < numberOfLanguages; i++) {
- dummyLocales[i] = new Locale(TEST_LOCALE_PREFIX + "switching_languages" + i);
+ final Locale dummyLocale = getDummyLocale("switching_languages" + i);
final String dictName = ExpandableBinaryDictionary.getDictName(
- UserHistoryDictionary.NAME, dummyLocales[i], null /* dictFile */);
+ UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */);
dictFiles[i] = ExpandableBinaryDictionary.getDictFile(
mContext, dictName, null /* dictFile */);
- clearHistory(dummyLocales[i]);
+ dicts[i] = PersonalizationHelper.getUserHistoryDictionary(getContext(),
+ dummyLocale);
+ clearHistory(dicts[i]);
}
final long start = System.currentTimeMillis();
for (int i = 0; i < numberOfLanguageSwitching; i++) {
final int index = i % numberOfLanguages;
- // Switch languages to testFilenameSuffixes[index].
- addAndWriteRandomWords(dummyLocales[index],
- numberOfWordsInsertedForEachLanguageSwitch, random,
- false /* checksContents */);
+ // Switch to dicts[index].
+ addAndWriteRandomWords(dicts[index], numberOfWordsInsertedForEachLanguageSwitch,
+ random, false /* checksContents */);
}
final long end = System.currentTimeMillis();
@@ -266,38 +255,38 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
+ (end - start) + " ms");
} finally {
for (int i = 0; i < numberOfLanguages; i++) {
- checkExistenceAndRemoveDictFile(dummyLocales[i], dictFiles[i]);
+ checkExistenceAndRemoveDictFile(dicts[i], dictFiles[i]);
}
}
}
public void testAddManyWords() {
- final Locale dummyLocale =
- new Locale(TEST_LOCALE_PREFIX + "many_random_words" + System.currentTimeMillis());
+ final Locale dummyLocale = getDummyLocale("many_random_words");
final String dictName = ExpandableBinaryDictionary.getDictName(
UserHistoryDictionary.NAME, dummyLocale, null /* dictFile */);
final File dictFile = ExpandableBinaryDictionary.getDictFile(
mContext, dictName, null /* dictFile */);
final int numberOfWords = 10000;
final Random random = new Random(123456);
- clearHistory(dummyLocale);
+ final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary(
+ getContext(), dummyLocale);
+ clearHistory(dict);
try {
- addAndWriteRandomWords(dummyLocale, numberOfWords, random, true /* checksContents */);
+ addAndWriteRandomWords(dict, numberOfWords, random, true /* checksContents */);
} finally {
- checkExistenceAndRemoveDictFile(dummyLocale, dictFile);
+ checkExistenceAndRemoveDictFile(dict, dictFile);
}
}
public void testDecaying() {
- final Locale dummyLocale =
- new Locale(TEST_LOCALE_PREFIX + "decaying" + System.currentTimeMillis());
+ final Locale dummyLocale = getDummyLocale("decaying");
+ final UserHistoryDictionary dict = PersonalizationHelper.getUserHistoryDictionary(
+ getContext(), dummyLocale);
final int numberOfWords = 5000;
final Random random = new Random(123456);
resetCurrentTimeForTestMode();
- clearHistory(dummyLocale);
+ clearHistory(dict);
final List<String> words = generateWords(numberOfWords, random);
- final UserHistoryDictionary dict =
- PersonalizationHelper.getUserHistoryDictionary(getContext(), dummyLocale);
dict.waitAllTasksForTests();
PrevWordsInfo prevWordsInfo = PrevWordsInfo.EMPTY_PREV_WORDS_INFO;
for (final String word : words) {
@@ -319,5 +308,6 @@ public class UserHistoryDictionaryTests extends AndroidTestCase {
for (final String word : words) {
assertFalse(dict.isInDictionary(word));
}
+ stopTestModeInNativeCode();
}
}
diff --git a/tests/src/com/android/inputmethod/latin/utils/ImportantNoticeUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/ImportantNoticeUtilsTests.java
new file mode 100644
index 000000000..819d76328
--- /dev/null
+++ b/tests/src/com/android/inputmethod/latin/utils/ImportantNoticeUtilsTests.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin.utils;
+
+import static com.android.inputmethod.latin.utils.ImportantNoticeUtils.KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE;
+import static com.android.inputmethod.latin.utils.ImportantNoticeUtils.KEY_IMPORTANT_NOTICE_VERSION;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.text.TextUtils;
+
+import java.util.concurrent.TimeUnit;
+
+@SmallTest
+public class ImportantNoticeUtilsTests extends AndroidTestCase {
+ // This should be aligned with R.integer.config_important_notice_version.
+ private static final int CURRENT_IMPORTANT_NOTICE_VERSION = 1;
+
+ private ImportantNoticePreferences mImportantNoticePreferences;
+
+ private static class ImportantNoticePreferences {
+ private final SharedPreferences mPref;
+
+ private Integer mVersion;
+ private Long mLastTime;
+
+ public ImportantNoticePreferences(final Context context) {
+ mPref = ImportantNoticeUtils.getImportantNoticePreferences(context);
+ }
+
+ private Integer getInt(final String key) {
+ if (mPref.contains(key)) {
+ return mPref.getInt(key, 0);
+ }
+ return null;
+ }
+
+ public Long getLong(final String key) {
+ if (mPref.contains(key)) {
+ return mPref.getLong(key, 0);
+ }
+ return null;
+ }
+
+ private void putInt(final String key, final Integer value) {
+ if (value == null) {
+ removePreference(key);
+ } else {
+ mPref.edit().putInt(key, value).apply();
+ }
+ }
+
+ private void putLong(final String key, final Long value) {
+ if (value == null) {
+ removePreference(key);
+ } else {
+ mPref.edit().putLong(key, value).apply();
+ }
+ }
+
+ private void removePreference(final String key) {
+ mPref.edit().remove(key).apply();
+ }
+
+ public void save() {
+ mVersion = getInt(KEY_IMPORTANT_NOTICE_VERSION);
+ mLastTime = getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE);
+ }
+
+ public void restore() {
+ putInt(KEY_IMPORTANT_NOTICE_VERSION, mVersion);
+ putLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE, mLastTime);
+ }
+
+ public void clear() {
+ removePreference(KEY_IMPORTANT_NOTICE_VERSION);
+ removePreference(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE);
+ }
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ mImportantNoticePreferences = new ImportantNoticePreferences(getContext());
+ mImportantNoticePreferences.save();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ mImportantNoticePreferences.restore();
+ }
+
+ public void testCurrentVersion() {
+ assertEquals("Current version", CURRENT_IMPORTANT_NOTICE_VERSION,
+ ImportantNoticeUtils.getCurrentImportantNoticeVersion(getContext()));
+ }
+
+ public void testUpdateVersion() {
+ mImportantNoticePreferences.clear();
+
+ assertEquals("Current boolean before update", true,
+ ImportantNoticeUtils.shouldShowImportantNotice(getContext()));
+ assertEquals("Last version before update", 0,
+ ImportantNoticeUtils.getLastImportantNoticeVersion(getContext()));
+ assertEquals("Next version before update ", 1,
+ ImportantNoticeUtils.getNextImportantNoticeVersion(getContext()));
+ assertEquals("Current title before update", false, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeTitle(getContext())));
+ assertEquals("Current contents before update", false, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeContents(getContext())));
+
+ ImportantNoticeUtils.updateLastImportantNoticeVersion(getContext());
+
+ assertEquals("Current boolean after update", false,
+ ImportantNoticeUtils.shouldShowImportantNotice(getContext()));
+ assertEquals("Last version after update", 1,
+ ImportantNoticeUtils.getLastImportantNoticeVersion(getContext()));
+ assertEquals("Next version after update", 2,
+ ImportantNoticeUtils.getNextImportantNoticeVersion(getContext()));
+ assertEquals("Current title after update", true, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeTitle(getContext())));
+ assertEquals("Current contents after update", true, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeContents(getContext())));
+ }
+
+ private static void sleep(final long millseconds) {
+ try { Thread.sleep(millseconds); } catch (final Exception e) { /* ignore */ }
+ }
+
+ public void testTimeout() {
+ final long lastTime = System.currentTimeMillis()
+ - ImportantNoticeUtils.TIMEOUT_OF_IMPORTANT_NOTICE
+ + TimeUnit.MILLISECONDS.toMillis(1000);
+ mImportantNoticePreferences.clear();
+ assertEquals("Before set last time", null,
+ mImportantNoticePreferences.getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE));
+ assertEquals("Set last time", false,
+ ImportantNoticeUtils.hasTimeoutPassed(getContext(), lastTime));
+ assertEquals("After set last time", (Long)lastTime,
+ mImportantNoticePreferences.getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE));
+
+ // Call {@link ImportantNoticeUtils#shouldShowImportantNotice(Context)} before timeout.
+ assertEquals("Current boolean before timeout 1", true,
+ ImportantNoticeUtils.shouldShowImportantNotice(getContext()));
+ assertEquals("Last version before timeout 1", 0,
+ ImportantNoticeUtils.getLastImportantNoticeVersion(getContext()));
+ assertEquals("Next version before timeout 1", 1,
+ ImportantNoticeUtils.getNextImportantNoticeVersion(getContext()));
+ assertEquals("Last time before timeout 1", (Long)lastTime,
+ mImportantNoticePreferences.getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE));
+ assertEquals("Current title before timeout 1", false, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeTitle(getContext())));
+ assertEquals("Current contents before timeout 1", false, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeContents(getContext())));
+
+ sleep(TimeUnit.MILLISECONDS.toMillis(600));
+
+ // Call {@link ImportantNoticeUtils#shouldShowImportantNotice(Context)} before timeout
+ // again.
+ assertEquals("Current boolean before timeout 2", true,
+ ImportantNoticeUtils.shouldShowImportantNotice(getContext()));
+ assertEquals("Last version before timeout 2", 0,
+ ImportantNoticeUtils.getLastImportantNoticeVersion(getContext()));
+ assertEquals("Next version before timeout 2", 1,
+ ImportantNoticeUtils.getNextImportantNoticeVersion(getContext()));
+ assertEquals("Last time before timeout 2", (Long)lastTime,
+ mImportantNoticePreferences.getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE));
+ assertEquals("Current title before timeout 2", false, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeTitle(getContext())));
+ assertEquals("Current contents before timeout 2", false, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeContents(getContext())));
+
+ sleep(TimeUnit.MILLISECONDS.toMillis(600));
+
+ // Call {@link ImportantNoticeUtils#shouldShowImportantNotice(Context)} after timeout.
+ assertEquals("Current boolean after timeout 1", false,
+ ImportantNoticeUtils.shouldShowImportantNotice(getContext()));
+ assertEquals("Last version after timeout 1", 1,
+ ImportantNoticeUtils.getLastImportantNoticeVersion(getContext()));
+ assertEquals("Next version after timeout 1", 2,
+ ImportantNoticeUtils.getNextImportantNoticeVersion(getContext()));
+ assertEquals("Last time aflter timeout 1", null,
+ mImportantNoticePreferences.getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE));
+ assertEquals("Current title after timeout 1", true, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeTitle(getContext())));
+ assertEquals("Current contents after timeout 1", true, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeContents(getContext())));
+
+ sleep(TimeUnit.MILLISECONDS.toMillis(600));
+
+ // Call {@link ImportantNoticeUtils#shouldShowImportantNotice(Context)} after timeout again.
+ assertEquals("Current boolean after timeout 2", false,
+ ImportantNoticeUtils.shouldShowImportantNotice(getContext()));
+ assertEquals("Last version after timeout 2", 1,
+ ImportantNoticeUtils.getLastImportantNoticeVersion(getContext()));
+ assertEquals("Next version after timeout 2", 2,
+ ImportantNoticeUtils.getNextImportantNoticeVersion(getContext()));
+ assertEquals("Last time aflter timeout 2", null,
+ mImportantNoticePreferences.getLong(KEY_TIMESTAMP_OF_FIRST_IMPORTANT_NOTICE));
+ assertEquals("Current title after timeout 2", true, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeTitle(getContext())));
+ assertEquals("Current contents after timeout 2", true, TextUtils.isEmpty(
+ ImportantNoticeUtils.getNextImportantNoticeContents(getContext())));
+ }
+}
diff --git a/tools/make-keyboard-text/res/values-az-rAZ/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-az-rAZ/donottranslate-more-keys.xml
index 54aa570b6..a68de67cc 100644
--- a/tools/make-keyboard-text/res/values-az-rAZ/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-az-rAZ/donottranslate-more-keys.xml
@@ -18,10 +18,13 @@
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX -->
- <string name="morekeys_a">&#x00E2;</string>
- <!-- U+0259: "ə" LATIN SMALL LETTER SCHWA -->
- <string name="morekeys_e">&#x0259;</string>
+ <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+ U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE -->
+ <string name="morekeys_a">&#x00E2;,&#x00E4;,&#x00E1;</string>
+ <!-- U+0259: "ə" LATIN SMALL LETTER SCHWA
+ U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE -->
+ <string name="morekeys_e">&#x0259;,&#x00E9;</string>
<!-- U+0131: "ı" LATIN SMALL LETTER DOTLESS I
U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -52,8 +55,15 @@
<string name="morekeys_s">&#x015F;,&#x00DF;,&#x015B;,&#x0161;</string>
<!-- U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
<string name="morekeys_g">&#x011F;</string>
+ <!-- U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="morekeys_n">&#x0148;,&#x00F1;</string>
<!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
<string name="morekeys_c">&#x00E7;,&#x0107;,&#x010D;</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE -->
+ <string name="morekeys_y">&#x00FD;</string>
+ <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
+ <string name="morekeys_z">&#x017E;</string>
</resources>
diff --git a/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml
index db1108ff6..2398430e1 100644
--- a/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-tr/donottranslate-more-keys.xml
@@ -18,8 +18,13 @@
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX -->
- <string name="morekeys_a">&#x00E2;</string>
+ <!-- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+ U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE -->
+ <string name="morekeys_a">&#x00E2;,&#x00E4;,&#x00E1;</string>
+ <!-- U+0259: "ə" LATIN SMALL LETTER SCHWA
+ U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE -->
+ <string name="morekeys_e">&#x0259;,&#x00E9;</string>
<!-- U+0131: "ı" LATIN SMALL LETTER DOTLESS I
U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -50,8 +55,15 @@
<string name="morekeys_s">&#x015F;,&#x00DF;,&#x015B;,&#x0161;</string>
<!-- U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE -->
<string name="morekeys_g">&#x011F;</string>
+ <!-- U+0148: "ň" LATIN SMALL LETTER N WITH CARON
+ U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE -->
+ <string name="morekeys_n">&#x0148;,&#x00F1;</string>
<!-- U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
U+0107: "ć" LATIN SMALL LETTER C WITH ACUTE
U+010D: "č" LATIN SMALL LETTER C WITH CARON -->
<string name="morekeys_c">&#x00E7;,&#x0107;,&#x010D;</string>
+ <!-- U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE -->
+ <string name="morekeys_y">&#x00FD;</string>
+ <!-- U+017E: "ž" LATIN SMALL LETTER Z WITH CARON -->
+ <string name="morekeys_z">&#x017E;</string>
</resources>