summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dictionaries/en_AU_wordlist.combined.gzbin0 -> 860311 bytes
-rw-r--r--dictionaries/lb_wordlist.combined.gzbin0 -> 448492 bytes
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java1
-rw-r--r--java/AndroidManifest.xml2
-rw-r--r--java/res/layout/additional_subtype_dialog.xml4
-rw-r--r--java/res/layout/download_over_metered.xml4
-rw-r--r--java/res/layout/emoji_palettes_view.xml4
-rw-r--r--java/res/layout/setup_wizard.xml4
-rw-r--r--java/res/layout/suggestions_strip.xml12
-rw-r--r--java/res/values-ast-rES/strings-action-keys.xml30
-rw-r--r--java/res/values-ast-rES/strings-appname.xml26
-rw-r--r--java/res/values-ast-rES/strings-config-important-notice.xml24
-rw-r--r--java/res/values-ast-rES/strings-emoji-descriptions.xml849
-rw-r--r--java/res/values-ast-rES/strings-letter-descriptions.xml206
-rw-r--r--java/res/values-ast-rES/strings-talkback-descriptions.xml82
-rw-r--r--java/res/values-ast-rES/strings.xml191
-rw-r--r--java/res/values-be/strings-config-important-notice.xml23
-rw-r--r--java/res/values-br-rFR/strings-config-important-notice.xml23
-rw-r--r--java/res/values-cy/strings-config-important-notice.xml23
-rw-r--r--java/res/values-eo/strings-config-important-notice.xml23
-rw-r--r--java/res/values-fy-rNL/strings-config-important-notice.xml23
-rw-r--r--java/res/values-gd-rGB/strings-config-important-notice.xml23
-rw-r--r--java/res/values-ku/strings-action-keys.xml30
-rw-r--r--java/res/values-ku/strings-appname.xml26
-rw-r--r--java/res/values-ku/strings-config-important-notice.xml24
-rw-r--r--java/res/values-ku/strings-emoji-descriptions.xml42
-rw-r--r--java/res/values-ku/strings.xml191
-rw-r--r--java/res/values-lb/strings-action-keys.xml30
-rw-r--r--java/res/values-lb/strings-appname.xml26
-rw-r--r--java/res/values-lb/strings-config-important-notice.xml24
-rw-r--r--java/res/values-lb/strings-emoji-descriptions.xml849
-rw-r--r--java/res/values-lb/strings-letter-descriptions.xml206
-rw-r--r--java/res/values-lb/strings-talkback-descriptions.xml82
-rw-r--r--java/res/values-lb/strings.xml184
-rw-r--r--java/res/values-pa-rIN/strings-config-important-notice.xml23
-rw-r--r--java/res/values-ug/strings-action-keys.xml23
-rw-r--r--java/res/values-ug/strings-appname.xml26
-rw-r--r--java/res/values-ug/strings-config-important-notice.xml23
-rw-r--r--java/res/values-ug/strings.xml108
-rw-r--r--java/res/values-v21/platform-theme.xml9
-rw-r--r--java/res/values/bools.xml1
-rw-r--r--java/res/values/colors.xml5
-rw-r--r--java/res/values/customize.xml38
-rw-r--r--java/res/values/setup-styles-common.xml10
-rw-r--r--java/res/xml-sw600dp/rows_qwertz.xml2
-rw-r--r--java/res/xml/key_styles_enter.xml9
-rw-r--r--java/res/xml/method.xml16
-rw-r--r--java/res/xml/prefs_screen_correction.xml2
-rw-r--r--java/res/xml/rowkeys_east_slavic2.xml40
-rw-r--r--java/res/xml/rowkeys_east_slavic3.xml36
-rw-r--r--java/res/xml/rowkeys_greek2.xml36
-rw-r--r--java/res/xml/rowkeys_greek3.xml28
-rw-r--r--java/res/xml/rowkeys_qwerty2.xml20
-rw-r--r--java/res/xml/rowkeys_qwerty3.xml18
-rw-r--r--java/res/xml/rowkeys_qwertz2.xml64
-rw-r--r--java/res/xml/rowkeys_qwertz3.xml20
-rw-r--r--java/res/xml/rows_qwertz.xml2
-rw-r--r--java/res/xml/spellchecker.xml28
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardId.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java724
-rw-r--r--java/src/com/android/inputmethod/latin/settings/Settings.java4
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsValues.java2
-rw-r--r--java/src/com/android/inputmethod/latin/utils/JniUtils.java12
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ScriptUtils.java3
-rw-r--r--tools/dicttool/Android.mk1
-rw-r--r--tools/dicttool/compat/com/android/inputmethod/latin/utils/JniUtils.java41
-rw-r--r--tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml47
-rw-r--r--tools/make-keyboard-text/res/values-lb/donottranslate-more-keys.xml67
69 files changed, 4328 insertions, 459 deletions
diff --git a/dictionaries/en_AU_wordlist.combined.gz b/dictionaries/en_AU_wordlist.combined.gz
new file mode 100644
index 000000000..e08ff37b7
--- /dev/null
+++ b/dictionaries/en_AU_wordlist.combined.gz
Binary files differ
diff --git a/dictionaries/lb_wordlist.combined.gz b/dictionaries/lb_wordlist.combined.gz
new file mode 100644
index 000000000..9e0579b38
--- /dev/null
+++ b/dictionaries/lb_wordlist.combined.gz
Binary files differ
diff --git a/java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java b/java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java
index abfc36d39..83ed5eba3 100644
--- a/java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java
+++ b/java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java
@@ -22,4 +22,5 @@ public final class JniLibName {
}
public static final String JNI_LIB_NAME = "jni_latinime";
+ public static final String JNI_LIB_NAME2 = "jni_latinimegoogle";
}
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index 1797dc92c..08806c8d6 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -18,7 +18,7 @@
coreApp="true"
package="com.android.inputmethod.latin">
- <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
diff --git a/java/res/layout/additional_subtype_dialog.xml b/java/res/layout/additional_subtype_dialog.xml
index b7804f5df..4653b380b 100644
--- a/java/res/layout/additional_subtype_dialog.xml
+++ b/java/res/layout/additional_subtype_dialog.xml
@@ -42,7 +42,7 @@
android:layout_width="0dp"
android:layout_weight="70"
android:layout_height="wrap_content"
- android:layout_marginLeft="8dip"
+ android:layout_marginStart="8dip"
android:layout_marginBottom="8dip"
android:layout_marginTop="8dip"
android:layout_gravity="fill_horizontal|center_vertical"
@@ -67,7 +67,7 @@
android:layout_width="0dp"
android:layout_weight="70"
android:layout_height="wrap_content"
- android:layout_marginLeft="8dip"
+ android:layout_marginStart="8dip"
android:layout_marginBottom="8dip"
android:layout_marginTop="8dip"
android:layout_gravity="fill_horizontal|center_vertical"
diff --git a/java/res/layout/download_over_metered.xml b/java/res/layout/download_over_metered.xml
index dcde5edbd..376fba29b 100644
--- a/java/res/layout/download_over_metered.xml
+++ b/java/res/layout/download_over_metered.xml
@@ -42,8 +42,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:paddingLeft="16dip"
- android:paddingRight="16dip"
+ android:paddingStart="16dip"
+ android:paddingEnd="16dip"
android:paddingBottom="12dip" />
</ScrollView>
diff --git a/java/res/layout/emoji_palettes_view.xml b/java/res/layout/emoji_palettes_view.xml
index 26cc042ab..eae175280 100644
--- a/java/res/layout/emoji_palettes_view.xml
+++ b/java/res/layout/emoji_palettes_view.xml
@@ -113,8 +113,8 @@
android:id="@+id/emoji_keyboard_space_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginLeft="12dp"
- android:layout_marginRight="12dp"
+ android:layout_marginStart="12dp"
+ android:layout_marginEnd="12dp"
android:layout_centerInParent="true" />
</RelativeLayout>
<!-- TODO: Implement KeyView and replace this. -->
diff --git a/java/res/layout/setup_wizard.xml b/java/res/layout/setup_wizard.xml
index 87db4d012..7c88afa07 100644
--- a/java/res/layout/setup_wizard.xml
+++ b/java/res/layout/setup_wizard.xml
@@ -23,8 +23,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/setup_background"
- android:paddingLeft="@dimen/setup_horizontal_padding"
- android:paddingRight="@dimen/setup_horizontal_padding"
+ android:paddingStart="@dimen/setup_horizontal_padding"
+ android:paddingEnd="@dimen/setup_horizontal_padding"
android:paddingTop="@dimen/setup_vertical_padding"
android:paddingBottom="@dimen/setup_vertical_padding">
<include
diff --git a/java/res/layout/suggestions_strip.xml b/java/res/layout/suggestions_strip.xml
index aefdb8cad..a9effb189 100644
--- a/java/res/layout/suggestions_strip.xml
+++ b/java/res/layout/suggestions_strip.xml
@@ -27,8 +27,8 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="@dimen/config_suggestions_strip_horizontal_margin"
- android:layout_marginRight="@dimen/config_suggestions_strip_horizontal_margin"
+ android:layout_marginStart="@dimen/config_suggestions_strip_horizontal_margin"
+ android:layout_marginEnd="@dimen/config_suggestions_strip_horizontal_margin"
android:hapticFeedbackEnabled="false"
android:soundEffectsEnabled="false" />
<!-- Provide audio and haptic feedback by ourselves based on the keyboard settings.
@@ -38,8 +38,8 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="@dimen/config_suggestions_strip_horizontal_margin"
- android:layout_marginRight="@dimen/config_suggestions_strip_horizontal_margin"
+ android:layout_marginStart="@dimen/config_suggestions_strip_horizontal_margin"
+ android:layout_marginEnd="@dimen/config_suggestions_strip_horizontal_margin"
android:hapticFeedbackEnabled="false"
android:soundEffectsEnabled="false">
<TextView
@@ -64,8 +64,8 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="@dimen/config_suggestions_strip_horizontal_margin"
- android:layout_marginRight="@dimen/config_suggestions_strip_horizontal_margin"
+ android:layout_marginStart="@dimen/config_suggestions_strip_horizontal_margin"
+ android:layout_marginEnd="@dimen/config_suggestions_strip_horizontal_margin"
android:hapticFeedbackEnabled="false"
android:soundEffectsEnabled="false" >
<TextView
diff --git a/java/res/values-ast-rES/strings-action-keys.xml b/java/res/values-ast-rES/strings-action-keys.xml
new file mode 100644
index 000000000..aea370dfd
--- /dev/null
+++ b/java/res/values-ast-rES/strings-action-keys.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="label_go_key">Dir</string>
+ <string name="label_next_key">Siguiente</string>
+ <string name="label_previous_key">Anterior</string>
+ <string name="label_done_key">Fecho</string>
+ <string name="label_send_key">Unviar</string>
+ <string name="label_search_key">Guetar</string>
+ <string name="label_pause_key">Posar</string>
+ <string name="label_wait_key">Esperar</string>
+</resources>
diff --git a/java/res/values-ast-rES/strings-appname.xml b/java/res/values-ast-rES/strings-appname.xml
new file mode 100644
index 000000000..a8183f323
--- /dev/null
+++ b/java/res/values-ast-rES/strings-appname.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <string name="english_ime_name">Tecláu Android (AOSP)</string>
+ <string name="spell_checker_service_name">Correutor ortográficu Android (AOSP)</string>
+ <string name="english_ime_settings">Axustes tecláu Android (AOSP)</string>
+ <string name="android_spell_checker_settings">Axustes correutor ortográficu Android (AOSP)</string>
+</resources>
diff --git a/java/res/values-ast-rES/strings-config-important-notice.xml b/java/res/values-ast-rES/strings-config-important-notice.xml
new file mode 100644
index 000000000..eb5517c36
--- /dev/null
+++ b/java/res/values-ast-rES/strings-config-important-notice.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+ <string name="use_personalized_dicts_summary">Deprendi de les tos comunicaciones y datos p\'ameyorar suxerencies</string>
+</resources>
diff --git a/java/res/values-ast-rES/strings-emoji-descriptions.xml b/java/res/values-ast-rES/strings-emoji-descriptions.xml
new file mode 100644
index 000000000..2e67040ec
--- /dev/null
+++ b/java/res/values-ast-rES/strings-emoji-descriptions.xml
@@ -0,0 +1,849 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These Emoji symbols are unsupported by TTS.
+ TODO: Remove this file when TTS/TalkBack support these Emoji symbols.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_emoji_00A9">Copyright sign</string>
+ <string name="spoken_emoji_00AE">Registered sign</string>
+ <string name="spoken_emoji_203C">Marca de doble esclamación</string>
+ <string name="spoken_emoji_2049">Signu d\'esclamación</string>
+ <string name="spoken_emoji_2122">Trade mark sign</string>
+ <string name="spoken_emoji_2139">Fonte d\'información</string>
+ <string name="spoken_emoji_2194">Flecha esquierda drecha</string>
+ <string name="spoken_emoji_2195">Flecha arriba abaxo</string>
+ <string name="spoken_emoji_2196">Flecha Noroeste</string>
+ <string name="spoken_emoji_2197">Flecha Noreste</string>
+ <string name="spoken_emoji_2198">Flecha sureste</string>
+ <string name="spoken_emoji_2199">Flecha suroeste</string>
+ <string name="spoken_emoji_21A9">Flecha a manzorga</string>
+ <string name="spoken_emoji_21AA">Flecha a mandrecha</string>
+ <string name="spoken_emoji_231A">Reló</string>
+ <string name="spoken_emoji_231B">Reló de sable</string>
+ <string name="spoken_emoji_23E9">Black right-pointing double triangle</string>
+ <string name="spoken_emoji_23EA">Black left-pointing double triangle</string>
+ <string name="spoken_emoji_23EB">Black up-pointing double triangle</string>
+ <string name="spoken_emoji_23EC">Black down-pointing double triangle</string>
+ <string name="spoken_emoji_23F0">Alarma</string>
+ <string name="spoken_emoji_23F3">Reló de sable</string>
+ <string name="spoken_emoji_24C2">Lletra m en círculu</string>
+ <string name="spoken_emoji_25AA">Cuadru pequeñu prietu</string>
+ <string name="spoken_emoji_25AB">Cuadru pequeñu blancu</string>
+ <string name="spoken_emoji_25B6">Black right-pointing triangle</string>
+ <string name="spoken_emoji_25C0">Black left-pointing triangle</string>
+ <string name="spoken_emoji_25FB">Cuadru mediu blancu</string>
+ <string name="spoken_emoji_25FC">Cuadru mediu prietu</string>
+ <string name="spoken_emoji_25FD">White medium small square</string>
+ <string name="spoken_emoji_25FE">Black medium small square</string>
+ <string name="spoken_emoji_2600">Sol con rayos</string>
+ <string name="spoken_emoji_2601">Ñube</string>
+ <string name="spoken_emoji_260E">Teléfonu prietu</string>
+ <string name="spoken_emoji_2611">Caxellu de marcáu</string>
+ <string name="spoken_emoji_2614">Paragües con gotes</string>
+ <string name="spoken_emoji_2615">Bebía calecía</string>
+ <string name="spoken_emoji_261D">White up pointing index</string>
+ <string name="spoken_emoji_263A">Sonrisa</string>
+ <string name="spoken_emoji_2648">Aries</string>
+ <string name="spoken_emoji_2649">Tauru</string>
+ <string name="spoken_emoji_264A">Xéminis</string>
+ <string name="spoken_emoji_264B">Cáncer</string>
+ <string name="spoken_emoji_264C">Lleón</string>
+ <string name="spoken_emoji_264D">Virgu</string>
+ <string name="spoken_emoji_264E">Llibra</string>
+ <string name="spoken_emoji_264F">Escorpión</string>
+ <string name="spoken_emoji_2650">Saxitariu</string>
+ <string name="spoken_emoji_2651">Capricorniu</string>
+ <string name="spoken_emoji_2652">Acuariu</string>
+ <string name="spoken_emoji_2653">Pisces</string>
+ <string name="spoken_emoji_2660">Black spade suit</string>
+ <string name="spoken_emoji_2663">Black club suit</string>
+ <string name="spoken_emoji_2665">Black heart suit</string>
+ <string name="spoken_emoji_2666">Black diamond suit</string>
+ <string name="spoken_emoji_2668">Hot springs</string>
+ <string name="spoken_emoji_267B">Black universal recycling symbol</string>
+ <string name="spoken_emoji_267F">Wheelchair symbol</string>
+ <string name="spoken_emoji_2693">Anchor</string>
+ <string name="spoken_emoji_26A0">Warning sign</string>
+ <string name="spoken_emoji_26A1">High voltage sign</string>
+ <string name="spoken_emoji_26AA">Medium white circle</string>
+ <string name="spoken_emoji_26AB">Medium black circle</string>
+ <string name="spoken_emoji_26BD">Soccer ball</string>
+ <string name="spoken_emoji_26BE">Baseball</string>
+ <string name="spoken_emoji_26C4">Snowman without snow</string>
+ <string name="spoken_emoji_26C5">Sun behind cloud</string>
+ <string name="spoken_emoji_26CE">Ofiucus</string>
+ <string name="spoken_emoji_26D4">No entry</string>
+ <string name="spoken_emoji_26EA">Church</string>
+ <string name="spoken_emoji_26F2">Fountain</string>
+ <string name="spoken_emoji_26F3">Flag in hole</string>
+ <string name="spoken_emoji_26F5">Sailboat</string>
+ <string name="spoken_emoji_26FA">Tent</string>
+ <string name="spoken_emoji_26FD">Fuel pump</string>
+ <string name="spoken_emoji_2702">Black scissors</string>
+ <string name="spoken_emoji_2705">White heavy check mark</string>
+ <string name="spoken_emoji_2708">Airplane</string>
+ <string name="spoken_emoji_2709">Envelope</string>
+ <string name="spoken_emoji_270A">Raised fist</string>
+ <string name="spoken_emoji_270B">Raised hand</string>
+ <string name="spoken_emoji_270C">Victory hand</string>
+ <string name="spoken_emoji_270F">Pencil</string>
+ <string name="spoken_emoji_2712">Black nib</string>
+ <string name="spoken_emoji_2714">Heavy check mark</string>
+ <string name="spoken_emoji_2716">Heavy multiplication x</string>
+ <string name="spoken_emoji_2728">Sparkles</string>
+ <string name="spoken_emoji_2733">Eight spoked asterisk</string>
+ <string name="spoken_emoji_2734">Eight pointed black star</string>
+ <string name="spoken_emoji_2744">Snowflake</string>
+ <string name="spoken_emoji_2747">Sparkle</string>
+ <string name="spoken_emoji_274C">Cross mark</string>
+ <string name="spoken_emoji_274E">Negative squared cross mark</string>
+ <string name="spoken_emoji_2753">Black question mark ornament</string>
+ <string name="spoken_emoji_2754">White question mark ornament</string>
+ <string name="spoken_emoji_2755">White exclamation mark ornament</string>
+ <string name="spoken_emoji_2757">Heavy exclamation mark symbol</string>
+ <string name="spoken_emoji_2764">Heavy black heart</string>
+ <string name="spoken_emoji_2795">Heavy plus sign</string>
+ <string name="spoken_emoji_2796">Heavy minus sign</string>
+ <string name="spoken_emoji_2797">Heavy division sign</string>
+ <string name="spoken_emoji_27A1">Black rightwards arrow</string>
+ <string name="spoken_emoji_27B0">Curly loop</string>
+ <string name="spoken_emoji_27BF">Double curly loop</string>
+ <string name="spoken_emoji_2934">Arrow pointing rightwards then curving upwards</string>
+ <string name="spoken_emoji_2935">Arrow pointing rightwards then curving downwards</string>
+ <string name="spoken_emoji_2B05">Leftwards black arrow</string>
+ <string name="spoken_emoji_2B06">Upwards black arrow</string>
+ <string name="spoken_emoji_2B07">Downwards black arrow</string>
+ <string name="spoken_emoji_2B1B">Black large square</string>
+ <string name="spoken_emoji_2B1C">White large square</string>
+ <string name="spoken_emoji_2B50">White medium star</string>
+ <string name="spoken_emoji_2B55">Heavy large circle</string>
+ <string name="spoken_emoji_3030">Wavy dash</string>
+ <string name="spoken_emoji_303D">Part alternation mark</string>
+ <string name="spoken_emoji_3297">Circled ideograph congratulation</string>
+ <string name="spoken_emoji_3299">Circled ideograph secret</string>
+ <string name="spoken_emoji_1F004">Mahjong tile red dragon</string>
+ <string name="spoken_emoji_1F0CF">Playing card black joker</string>
+ <string name="spoken_emoji_1F170">Blood type A</string>
+ <string name="spoken_emoji_1F171">Blood type B</string>
+ <string name="spoken_emoji_1F17E">Blood type O</string>
+ <string name="spoken_emoji_1F17F">Parking lot</string>
+ <string name="spoken_emoji_1F18E">Blood type AB</string>
+ <string name="spoken_emoji_1F191">Squared CL</string>
+ <string name="spoken_emoji_1F192">Squared cool</string>
+ <string name="spoken_emoji_1F193">Squared free</string>
+ <string name="spoken_emoji_1F194">Squared ID</string>
+ <string name="spoken_emoji_1F195">Squared new</string>
+ <string name="spoken_emoji_1F196">Squared N G</string>
+ <string name="spoken_emoji_1F197">Squared OK</string>
+ <string name="spoken_emoji_1F198">Squared SOS</string>
+ <string name="spoken_emoji_1F199">Squared up with exclamation mark</string>
+ <string name="spoken_emoji_1F19A">Squared vs</string>
+ <string name="spoken_emoji_1F201">Squared katakana here</string>
+ <string name="spoken_emoji_1F202">Squared katakana service</string>
+ <string name="spoken_emoji_1F21A">Squared ideograph charge-free</string>
+ <string name="spoken_emoji_1F22F">Squared ideograph reserved-seat</string>
+ <string name="spoken_emoji_1F232">Squared ideograph prohibitation</string>
+ <string name="spoken_emoji_1F233">Squared ideograph vacancy</string>
+ <string name="spoken_emoji_1F234">Squared ideograph acceptance</string>
+ <string name="spoken_emoji_1F235">Squared ideograph full occupancy</string>
+ <string name="spoken_emoji_1F236">Squared ideograph paid</string>
+ <string name="spoken_emoji_1F237">Squared ideograph monthly</string>
+ <string name="spoken_emoji_1F238">Squared ideograph application</string>
+ <string name="spoken_emoji_1F239">Squared ideograph discount</string>
+ <string name="spoken_emoji_1F23A">Squared ideograph in business</string>
+ <string name="spoken_emoji_1F250">Circled ideograph advantage</string>
+ <string name="spoken_emoji_1F251">Circled ideograph accept</string>
+ <string name="spoken_emoji_1F300">Cyclone</string>
+ <string name="spoken_emoji_1F301">Foggy</string>
+ <string name="spoken_emoji_1F302">Closed umbrella</string>
+ <string name="spoken_emoji_1F303">Night with stars</string>
+ <string name="spoken_emoji_1F304">Sunrise over mountains</string>
+ <string name="spoken_emoji_1F305">Sunrise</string>
+ <string name="spoken_emoji_1F306">Cityscape at dusk</string>
+ <string name="spoken_emoji_1F307">Sunset over buildings</string>
+ <string name="spoken_emoji_1F308">Rainbow</string>
+ <string name="spoken_emoji_1F309">Bridge at night</string>
+ <string name="spoken_emoji_1F30A">Water wave</string>
+ <string name="spoken_emoji_1F30B">Volcano</string>
+ <string name="spoken_emoji_1F30C">Milky way</string>
+ <string name="spoken_emoji_1F30D">Earth globe europe-africa</string>
+ <string name="spoken_emoji_1F30E">Earth globe americas</string>
+ <string name="spoken_emoji_1F30F">Earth globe asia-australia</string>
+ <string name="spoken_emoji_1F310">Globe with meridians</string>
+ <string name="spoken_emoji_1F311">New moon symbol</string>
+ <string name="spoken_emoji_1F312">Waxing crescent moon symbol</string>
+ <string name="spoken_emoji_1F313">First quarter moon symbol</string>
+ <string name="spoken_emoji_1F314">Waxing gibbous moon symbol</string>
+ <string name="spoken_emoji_1F315">Full moon symbol</string>
+ <string name="spoken_emoji_1F316">Waning gibbous moon symbol</string>
+ <string name="spoken_emoji_1F317">Last quarter moon symbol</string>
+ <string name="spoken_emoji_1F318">Waning crescent moon symbol</string>
+ <string name="spoken_emoji_1F319">Crescent moon</string>
+ <string name="spoken_emoji_1F31A">New moon with face</string>
+ <string name="spoken_emoji_1F31B">First quarter moon with face</string>
+ <string name="spoken_emoji_1F31C">Last quarter moon with face</string>
+ <string name="spoken_emoji_1F31D">Full moon with face</string>
+ <string name="spoken_emoji_1F31E">Sun with face</string>
+ <string name="spoken_emoji_1F31F">Glowing star</string>
+ <string name="spoken_emoji_1F320">Shooting star</string>
+ <string name="spoken_emoji_1F330">Chestnut</string>
+ <string name="spoken_emoji_1F331">Seedling</string>
+ <string name="spoken_emoji_1F332">Evergreen tree</string>
+ <string name="spoken_emoji_1F333">Deciduous tree</string>
+ <string name="spoken_emoji_1F334">Palm tree</string>
+ <string name="spoken_emoji_1F335">Cactus</string>
+ <string name="spoken_emoji_1F337">Tulip</string>
+ <string name="spoken_emoji_1F338">Cherry blossom</string>
+ <string name="spoken_emoji_1F339">Rose</string>
+ <string name="spoken_emoji_1F33A">Hibiscus</string>
+ <string name="spoken_emoji_1F33B">Sunflower</string>
+ <string name="spoken_emoji_1F33C">Blossom</string>
+ <string name="spoken_emoji_1F33D">Ear of maize</string>
+ <string name="spoken_emoji_1F33E">Ear of rice</string>
+ <string name="spoken_emoji_1F33F">Herb</string>
+ <string name="spoken_emoji_1F340">Four leaf clover</string>
+ <string name="spoken_emoji_1F341">Maple leaf</string>
+ <string name="spoken_emoji_1F342">Fallen leaf</string>
+ <string name="spoken_emoji_1F343">Leaf fluttering in wind</string>
+ <string name="spoken_emoji_1F344">Fungu</string>
+ <string name="spoken_emoji_1F345">Tomate</string>
+ <string name="spoken_emoji_1F346">Aubergine</string>
+ <string name="spoken_emoji_1F347">Uves</string>
+ <string name="spoken_emoji_1F348">Melón</string>
+ <string name="spoken_emoji_1F349">Watermelon</string>
+ <string name="spoken_emoji_1F34A">Tangerine</string>
+ <string name="spoken_emoji_1F34B">Llimón</string>
+ <string name="spoken_emoji_1F34C">Plátanu</string>
+ <string name="spoken_emoji_1F34D">Piña</string>
+ <string name="spoken_emoji_1F34E">Mazana colorada</string>
+ <string name="spoken_emoji_1F34F">Mazana verde</string>
+ <string name="spoken_emoji_1F350">Pera</string>
+ <string name="spoken_emoji_1F351">Piescu</string>
+ <string name="spoken_emoji_1F352">Cherries</string>
+ <string name="spoken_emoji_1F353">Strawberry</string>
+ <string name="spoken_emoji_1F354">Hamburguesa</string>
+ <string name="spoken_emoji_1F355">Trozu pizza</string>
+ <string name="spoken_emoji_1F356">Meat on bone</string>
+ <string name="spoken_emoji_1F357">Poultry leg</string>
+ <string name="spoken_emoji_1F358">Rice cracker</string>
+ <string name="spoken_emoji_1F359">Rice ball</string>
+ <string name="spoken_emoji_1F35A">Cooked rice</string>
+ <string name="spoken_emoji_1F35B">Curry and rice</string>
+ <string name="spoken_emoji_1F35C">Steaming bowl</string>
+ <string name="spoken_emoji_1F35D">Spaghetti</string>
+ <string name="spoken_emoji_1F35E">Pan</string>
+ <string name="spoken_emoji_1F35F">French fries</string>
+ <string name="spoken_emoji_1F360">Roasted sweet potato</string>
+ <string name="spoken_emoji_1F361">Dango</string>
+ <string name="spoken_emoji_1F362">Oden</string>
+ <string name="spoken_emoji_1F363">Sushi</string>
+ <string name="spoken_emoji_1F364">Fried shrimp</string>
+ <string name="spoken_emoji_1F365">Fish cake with swirl design</string>
+ <string name="spoken_emoji_1F366">Soft ice cream</string>
+ <string name="spoken_emoji_1F367">Shaved ice</string>
+ <string name="spoken_emoji_1F368">Ice cream</string>
+ <string name="spoken_emoji_1F369">Doughnut</string>
+ <string name="spoken_emoji_1F36A">Cookie</string>
+ <string name="spoken_emoji_1F36B">Chocolate bar</string>
+ <string name="spoken_emoji_1F36C">Candy</string>
+ <string name="spoken_emoji_1F36D">Lollipop</string>
+ <string name="spoken_emoji_1F36E">Custard</string>
+ <string name="spoken_emoji_1F36F">Honey pot</string>
+ <string name="spoken_emoji_1F370">Shortcake</string>
+ <string name="spoken_emoji_1F371">Bento box</string>
+ <string name="spoken_emoji_1F372">Pot of food</string>
+ <string name="spoken_emoji_1F373">Cooking</string>
+ <string name="spoken_emoji_1F374">Fork and knife</string>
+ <string name="spoken_emoji_1F375">Teacup without handle</string>
+ <string name="spoken_emoji_1F376">Sake bottle and cup</string>
+ <string name="spoken_emoji_1F377">Wine glass</string>
+ <string name="spoken_emoji_1F378">Cocktail glass</string>
+ <string name="spoken_emoji_1F379">Tropical drink</string>
+ <string name="spoken_emoji_1F37A">Beer mug</string>
+ <string name="spoken_emoji_1F37B">Clinking beer mugs</string>
+ <string name="spoken_emoji_1F37C">Baby bottle</string>
+ <string name="spoken_emoji_1F380">Ribbon</string>
+ <string name="spoken_emoji_1F381">Wrapped present</string>
+ <string name="spoken_emoji_1F382">Birthday cake</string>
+ <string name="spoken_emoji_1F383">Jack-o-lantern</string>
+ <string name="spoken_emoji_1F384">Christmas tree</string>
+ <string name="spoken_emoji_1F385">Father christmas</string>
+ <string name="spoken_emoji_1F386">Fireworks</string>
+ <string name="spoken_emoji_1F387">Firework sparkler</string>
+ <string name="spoken_emoji_1F388">Balloon</string>
+ <string name="spoken_emoji_1F389">Party popper</string>
+ <string name="spoken_emoji_1F38A">Confetti ball</string>
+ <string name="spoken_emoji_1F38B">Tanabata tree</string>
+ <string name="spoken_emoji_1F38C">Crossed flags</string>
+ <string name="spoken_emoji_1F38D">Pine decoration</string>
+ <string name="spoken_emoji_1F38E">Japanese dolls</string>
+ <string name="spoken_emoji_1F38F">Carp streamer</string>
+ <string name="spoken_emoji_1F390">Wind chime</string>
+ <string name="spoken_emoji_1F391">Moon viewing ceremony</string>
+ <string name="spoken_emoji_1F392">School satchel</string>
+ <string name="spoken_emoji_1F393">Graduation cap</string>
+ <string name="spoken_emoji_1F3A0">Carousel horse</string>
+ <string name="spoken_emoji_1F3A1">Ferris wheel</string>
+ <string name="spoken_emoji_1F3A2">Roller coaster</string>
+ <string name="spoken_emoji_1F3A3">Fishing pole and fish</string>
+ <string name="spoken_emoji_1F3A4">Microphone</string>
+ <string name="spoken_emoji_1F3A5">Movie camera</string>
+ <string name="spoken_emoji_1F3A6">Cinema</string>
+ <string name="spoken_emoji_1F3A7">Headphone</string>
+ <string name="spoken_emoji_1F3A8">Artist palette</string>
+ <string name="spoken_emoji_1F3A9">Top hat</string>
+ <string name="spoken_emoji_1F3AA">Circus tent</string>
+ <string name="spoken_emoji_1F3AB">Ticket</string>
+ <string name="spoken_emoji_1F3AC">Clapper board</string>
+ <string name="spoken_emoji_1F3AD">Performing arts</string>
+ <string name="spoken_emoji_1F3AE">Video game</string>
+ <string name="spoken_emoji_1F3AF">Direct hit</string>
+ <string name="spoken_emoji_1F3B0">Slot machine</string>
+ <string name="spoken_emoji_1F3B1">Billiards</string>
+ <string name="spoken_emoji_1F3B2">Game die</string>
+ <string name="spoken_emoji_1F3B3">Bowling</string>
+ <string name="spoken_emoji_1F3B4">Flower playing cards</string>
+ <string name="spoken_emoji_1F3B5">Musical note</string>
+ <string name="spoken_emoji_1F3B6">Multiple musical notes</string>
+ <string name="spoken_emoji_1F3B7">Saxophone</string>
+ <string name="spoken_emoji_1F3B8">Guitar</string>
+ <string name="spoken_emoji_1F3B9">Musical keyboard</string>
+ <string name="spoken_emoji_1F3BA">Trumpet</string>
+ <string name="spoken_emoji_1F3BB">Violin</string>
+ <string name="spoken_emoji_1F3BC">Musical score</string>
+ <string name="spoken_emoji_1F3BD">Running shirt with sash</string>
+ <string name="spoken_emoji_1F3BE">Tennis racquet and ball</string>
+ <string name="spoken_emoji_1F3BF">Ski and ski boot</string>
+ <string name="spoken_emoji_1F3C0">Basketball and hoop</string>
+ <string name="spoken_emoji_1F3C1">Chequered flag</string>
+ <string name="spoken_emoji_1F3C2">Snowboarder</string>
+ <string name="spoken_emoji_1F3C3">Runner</string>
+ <string name="spoken_emoji_1F3C4">Surfer</string>
+ <string name="spoken_emoji_1F3C6">Trophy</string>
+ <string name="spoken_emoji_1F3C7">Horse racing</string>
+ <string name="spoken_emoji_1F3C8">American football</string>
+ <string name="spoken_emoji_1F3C9">Rugby football</string>
+ <string name="spoken_emoji_1F3CA">Swimmer</string>
+ <string name="spoken_emoji_1F3E0">House building</string>
+ <string name="spoken_emoji_1F3E1">House with garden</string>
+ <string name="spoken_emoji_1F3E2">Office building</string>
+ <string name="spoken_emoji_1F3E3">Japanese post office</string>
+ <string name="spoken_emoji_1F3E4">European post office</string>
+ <string name="spoken_emoji_1F3E5">Hospital</string>
+ <string name="spoken_emoji_1F3E6">Bank</string>
+ <string name="spoken_emoji_1F3E7">Automated teller machine</string>
+ <string name="spoken_emoji_1F3E8">Hotel</string>
+ <string name="spoken_emoji_1F3E9">Love hotel</string>
+ <string name="spoken_emoji_1F3EA">Convenience store</string>
+ <string name="spoken_emoji_1F3EB">School</string>
+ <string name="spoken_emoji_1F3EC">Department store</string>
+ <string name="spoken_emoji_1F3ED">Factory</string>
+ <string name="spoken_emoji_1F3EE">Izakaya lantern</string>
+ <string name="spoken_emoji_1F3EF">Japanese castle</string>
+ <string name="spoken_emoji_1F3F0">European castle</string>
+ <string name="spoken_emoji_1F400">Rat</string>
+ <string name="spoken_emoji_1F401">Mur</string>
+ <string name="spoken_emoji_1F402">Ox</string>
+ <string name="spoken_emoji_1F403">Water buffalo</string>
+ <string name="spoken_emoji_1F404">Cow</string>
+ <string name="spoken_emoji_1F406">Leopard</string>
+ <string name="spoken_emoji_1F407">Rabbit</string>
+ <string name="spoken_emoji_1F408">Cat</string>
+ <string name="spoken_emoji_1F409">Dragon</string>
+ <string name="spoken_emoji_1F40A">Crocodile</string>
+ <string name="spoken_emoji_1F40B">Whale</string>
+ <string name="spoken_emoji_1F40C">Snail</string>
+ <string name="spoken_emoji_1F40D">Snake</string>
+ <string name="spoken_emoji_1F40E">Horse</string>
+ <string name="spoken_emoji_1F40F">Ram</string>
+ <string name="spoken_emoji_1F410">Goat</string>
+ <string name="spoken_emoji_1F411">Sheep</string>
+ <string name="spoken_emoji_1F412">Monkey</string>
+ <string name="spoken_emoji_1F413">Rooster</string>
+ <string name="spoken_emoji_1F414">Chicken</string>
+ <string name="spoken_emoji_1F415">Dog</string>
+ <string name="spoken_emoji_1F416">Pig</string>
+ <string name="spoken_emoji_1F417">Boar</string>
+ <string name="spoken_emoji_1F418">Elephant</string>
+ <string name="spoken_emoji_1F419">Octopus</string>
+ <string name="spoken_emoji_1F41A">Spiral shell</string>
+ <string name="spoken_emoji_1F41B">Bug</string>
+ <string name="spoken_emoji_1F41C">Ant</string>
+ <string name="spoken_emoji_1F41D">Honeybee</string>
+ <string name="spoken_emoji_1F41E">Lady beetle</string>
+ <string name="spoken_emoji_1F41F">Fish</string>
+ <string name="spoken_emoji_1F420">Tropical fish</string>
+ <string name="spoken_emoji_1F421">Blowfish</string>
+ <string name="spoken_emoji_1F422">Turtle</string>
+ <string name="spoken_emoji_1F423">Hatching chick</string>
+ <string name="spoken_emoji_1F424">Baby chick</string>
+ <string name="spoken_emoji_1F425">Front-facing baby chick</string>
+ <string name="spoken_emoji_1F426">Bird</string>
+ <string name="spoken_emoji_1F427">Penguin</string>
+ <string name="spoken_emoji_1F428">Koala</string>
+ <string name="spoken_emoji_1F429">Poodle</string>
+ <string name="spoken_emoji_1F42A">Dromedary camel</string>
+ <string name="spoken_emoji_1F42B">Bactrian camel</string>
+ <string name="spoken_emoji_1F42C">Dolphin</string>
+ <string name="spoken_emoji_1F42D">Mouse face</string>
+ <string name="spoken_emoji_1F42E">Cow face</string>
+ <string name="spoken_emoji_1F42F">Tiger face</string>
+ <string name="spoken_emoji_1F430">Rabbit face</string>
+ <string name="spoken_emoji_1F431">Cat face</string>
+ <string name="spoken_emoji_1F432">Dragon face</string>
+ <string name="spoken_emoji_1F433">Spouting whale</string>
+ <string name="spoken_emoji_1F434">Horse face</string>
+ <string name="spoken_emoji_1F435">Monkey face</string>
+ <string name="spoken_emoji_1F436">Dog face</string>
+ <string name="spoken_emoji_1F437">Pig face</string>
+ <string name="spoken_emoji_1F438">Frog face</string>
+ <string name="spoken_emoji_1F439">Hamster face</string>
+ <string name="spoken_emoji_1F43A">Wolf face</string>
+ <string name="spoken_emoji_1F43B">Bear face</string>
+ <string name="spoken_emoji_1F43C">Panda face</string>
+ <string name="spoken_emoji_1F43D">Pig nose</string>
+ <string name="spoken_emoji_1F43E">Paw prints</string>
+ <string name="spoken_emoji_1F440">Eyes</string>
+ <string name="spoken_emoji_1F442">Ear</string>
+ <string name="spoken_emoji_1F443">Nose</string>
+ <string name="spoken_emoji_1F444">Mouth</string>
+ <string name="spoken_emoji_1F445">Tongue</string>
+ <string name="spoken_emoji_1F446">White up pointing backhand index</string>
+ <string name="spoken_emoji_1F447">White down pointing backhand index</string>
+ <string name="spoken_emoji_1F448">White left pointing backhand index</string>
+ <string name="spoken_emoji_1F449">White right pointing backhand index</string>
+ <string name="spoken_emoji_1F44A">Fisted hand sign</string>
+ <string name="spoken_emoji_1F44B">Waving hand sign</string>
+ <string name="spoken_emoji_1F44C">Ok hand sign</string>
+ <string name="spoken_emoji_1F44D">Thumbs up sign</string>
+ <string name="spoken_emoji_1F44E">Thumbs down sign</string>
+ <string name="spoken_emoji_1F44F">Clapping hands sign</string>
+ <string name="spoken_emoji_1F450">Open hands sign</string>
+ <string name="spoken_emoji_1F451">Crown</string>
+ <string name="spoken_emoji_1F452">Womans hat</string>
+ <string name="spoken_emoji_1F453">Eyeglasses</string>
+ <string name="spoken_emoji_1F454">Necktie</string>
+ <string name="spoken_emoji_1F455">T-shirt</string>
+ <string name="spoken_emoji_1F456">Jeans</string>
+ <string name="spoken_emoji_1F457">Dress</string>
+ <string name="spoken_emoji_1F458">Kimono</string>
+ <string name="spoken_emoji_1F459">Bikini</string>
+ <string name="spoken_emoji_1F45A">Womans clothes</string>
+ <string name="spoken_emoji_1F45B">Purse</string>
+ <string name="spoken_emoji_1F45C">Handbag</string>
+ <string name="spoken_emoji_1F45D">Pouch</string>
+ <string name="spoken_emoji_1F45E">Mans shoe</string>
+ <string name="spoken_emoji_1F45F">Athletic shoe</string>
+ <string name="spoken_emoji_1F460">High-heeled shoe</string>
+ <string name="spoken_emoji_1F461">Womans sandal</string>
+ <string name="spoken_emoji_1F462">Womans boots</string>
+ <string name="spoken_emoji_1F463">Footprints</string>
+ <string name="spoken_emoji_1F464">Bust in silhouette</string>
+ <string name="spoken_emoji_1F465">Busts in silhouette</string>
+ <string name="spoken_emoji_1F466">Boy</string>
+ <string name="spoken_emoji_1F467">Girl</string>
+ <string name="spoken_emoji_1F468">Man</string>
+ <string name="spoken_emoji_1F469">Woman</string>
+ <string name="spoken_emoji_1F46A">Family</string>
+ <string name="spoken_emoji_1F46B">Man and woman holding hands</string>
+ <string name="spoken_emoji_1F46C">Two men holding hands</string>
+ <string name="spoken_emoji_1F46D">Two women holding hands</string>
+ <string name="spoken_emoji_1F46E">Police officer</string>
+ <string name="spoken_emoji_1F46F">Woman with bunny ears</string>
+ <string name="spoken_emoji_1F470">Bride with veil</string>
+ <string name="spoken_emoji_1F471">Person with blond hair</string>
+ <string name="spoken_emoji_1F472">Man with gua pi mao</string>
+ <string name="spoken_emoji_1F473">Man with turban</string>
+ <string name="spoken_emoji_1F474">Older man</string>
+ <string name="spoken_emoji_1F475">Older woman</string>
+ <string name="spoken_emoji_1F476">Baby</string>
+ <string name="spoken_emoji_1F477">Construction worker</string>
+ <string name="spoken_emoji_1F478">Princess</string>
+ <string name="spoken_emoji_1F479">Japanese ogre</string>
+ <string name="spoken_emoji_1F47A">Japanese goblin</string>
+ <string name="spoken_emoji_1F47B">Ghost</string>
+ <string name="spoken_emoji_1F47C">Baby angel</string>
+ <string name="spoken_emoji_1F47D">Extraterrestrial alien</string>
+ <string name="spoken_emoji_1F47E">Alien monster</string>
+ <string name="spoken_emoji_1F47F">Imp</string>
+ <string name="spoken_emoji_1F480">Skull</string>
+ <string name="spoken_emoji_1F481">Information desk person</string>
+ <string name="spoken_emoji_1F482">Guardsman</string>
+ <string name="spoken_emoji_1F483">Dancer</string>
+ <string name="spoken_emoji_1F484">Lipstick</string>
+ <string name="spoken_emoji_1F485">Nail polish</string>
+ <string name="spoken_emoji_1F486">Face massage</string>
+ <string name="spoken_emoji_1F487">Haircut</string>
+ <string name="spoken_emoji_1F488">Barber pole</string>
+ <string name="spoken_emoji_1F489">Syringe</string>
+ <string name="spoken_emoji_1F48A">Pill</string>
+ <string name="spoken_emoji_1F48B">Kiss mark</string>
+ <string name="spoken_emoji_1F48C">Love letter</string>
+ <string name="spoken_emoji_1F48D">Ring</string>
+ <string name="spoken_emoji_1F48E">Gem stone</string>
+ <string name="spoken_emoji_1F48F">Kiss</string>
+ <string name="spoken_emoji_1F490">Bouquet</string>
+ <string name="spoken_emoji_1F491">Couple with heart</string>
+ <string name="spoken_emoji_1F492">Wedding</string>
+ <string name="spoken_emoji_1F493">Beating heart</string>
+ <string name="spoken_emoji_1F494">Broken heart</string>
+ <string name="spoken_emoji_1F495">Two hearts</string>
+ <string name="spoken_emoji_1F496">Sparkling heart</string>
+ <string name="spoken_emoji_1F497">Growing heart</string>
+ <string name="spoken_emoji_1F498">Heart with arrow</string>
+ <string name="spoken_emoji_1F499">Blue heart</string>
+ <string name="spoken_emoji_1F49A">Green heart</string>
+ <string name="spoken_emoji_1F49B">Yellow heart</string>
+ <string name="spoken_emoji_1F49C">Purple heart</string>
+ <string name="spoken_emoji_1F49D">Heart with ribbon</string>
+ <string name="spoken_emoji_1F49E">Revolving hearts</string>
+ <string name="spoken_emoji_1F49F">Heart decoration</string>
+ <string name="spoken_emoji_1F4A0">Diamond shape with a dot inside</string>
+ <string name="spoken_emoji_1F4A1">Electric light bulb</string>
+ <string name="spoken_emoji_1F4A2">Anger symbol</string>
+ <string name="spoken_emoji_1F4A3">Bomb</string>
+ <string name="spoken_emoji_1F4A4">Sleeping symbol</string>
+ <string name="spoken_emoji_1F4A5">Collision symbol</string>
+ <string name="spoken_emoji_1F4A6">Splashing sweat symbol</string>
+ <string name="spoken_emoji_1F4A7">Droplet</string>
+ <string name="spoken_emoji_1F4A8">Dash symbol</string>
+ <string name="spoken_emoji_1F4A9">Pile of poo</string>
+ <string name="spoken_emoji_1F4AA">Flexed biceps</string>
+ <string name="spoken_emoji_1F4AB">Dizzy symbol</string>
+ <string name="spoken_emoji_1F4AC">Speech balloon</string>
+ <string name="spoken_emoji_1F4AD">Thought balloon</string>
+ <string name="spoken_emoji_1F4AE">White flower</string>
+ <string name="spoken_emoji_1F4AF">Hundred points symbol</string>
+ <string name="spoken_emoji_1F4B0">Money bag</string>
+ <string name="spoken_emoji_1F4B1">Currency exchange</string>
+ <string name="spoken_emoji_1F4B2">Heavy dollar sign</string>
+ <string name="spoken_emoji_1F4B3">Credit card</string>
+ <string name="spoken_emoji_1F4B4">Banknote with yen sign</string>
+ <string name="spoken_emoji_1F4B5">Banknote with dollar sign</string>
+ <string name="spoken_emoji_1F4B6">Banknote with euro sign</string>
+ <string name="spoken_emoji_1F4B7">Banknote with pound sign</string>
+ <string name="spoken_emoji_1F4B8">Money with wings</string>
+ <string name="spoken_emoji_1F4B9">Chart with upwards trend and yen sign</string>
+ <string name="spoken_emoji_1F4BA">Seat</string>
+ <string name="spoken_emoji_1F4BB">Personal computer</string>
+ <string name="spoken_emoji_1F4BC">Briefcase</string>
+ <string name="spoken_emoji_1F4BD">Minidisc</string>
+ <string name="spoken_emoji_1F4BE">Floppy disk</string>
+ <string name="spoken_emoji_1F4BF">Optical disc</string>
+ <string name="spoken_emoji_1F4C0">Dvd</string>
+ <string name="spoken_emoji_1F4C1">File folder</string>
+ <string name="spoken_emoji_1F4C2">Open file folder</string>
+ <string name="spoken_emoji_1F4C3">Page with curl</string>
+ <string name="spoken_emoji_1F4C4">Page facing up</string>
+ <string name="spoken_emoji_1F4C5">Calendar</string>
+ <string name="spoken_emoji_1F4C6">Tear-off calendar</string>
+ <string name="spoken_emoji_1F4C7">Card index</string>
+ <string name="spoken_emoji_1F4C8">Chart with upwards trend</string>
+ <string name="spoken_emoji_1F4C9">Chart with downwards trend</string>
+ <string name="spoken_emoji_1F4CA">Bar chart</string>
+ <string name="spoken_emoji_1F4CB">Clipboard</string>
+ <string name="spoken_emoji_1F4CC">Pushpin</string>
+ <string name="spoken_emoji_1F4CD">Round pushpin</string>
+ <string name="spoken_emoji_1F4CE">Paperclip</string>
+ <string name="spoken_emoji_1F4CF">Straight ruler</string>
+ <string name="spoken_emoji_1F4D0">Triangular ruler</string>
+ <string name="spoken_emoji_1F4D1">Bookmark tabs</string>
+ <string name="spoken_emoji_1F4D2">Ledger</string>
+ <string name="spoken_emoji_1F4D3">Notebook</string>
+ <string name="spoken_emoji_1F4D4">Notebook with decorative cover</string>
+ <string name="spoken_emoji_1F4D5">Closed book</string>
+ <string name="spoken_emoji_1F4D6">Open book</string>
+ <string name="spoken_emoji_1F4D7">Green book</string>
+ <string name="spoken_emoji_1F4D8">Blue book</string>
+ <string name="spoken_emoji_1F4D9">Orange book</string>
+ <string name="spoken_emoji_1F4DA">Books</string>
+ <string name="spoken_emoji_1F4DB">Name badge</string>
+ <string name="spoken_emoji_1F4DC">Scroll</string>
+ <string name="spoken_emoji_1F4DD">Memo</string>
+ <string name="spoken_emoji_1F4DE">Telephone receiver</string>
+ <string name="spoken_emoji_1F4DF">Pager</string>
+ <string name="spoken_emoji_1F4E0">Fax machine</string>
+ <string name="spoken_emoji_1F4E1">Satellite antenna</string>
+ <string name="spoken_emoji_1F4E2">Public address loudspeaker</string>
+ <string name="spoken_emoji_1F4E3">Cheering megaphone</string>
+ <string name="spoken_emoji_1F4E4">Outbox tray</string>
+ <string name="spoken_emoji_1F4E5">Inbox tray</string>
+ <string name="spoken_emoji_1F4E6">Package</string>
+ <string name="spoken_emoji_1F4E7">E-mail symbol</string>
+ <string name="spoken_emoji_1F4E8">Incoming envelope</string>
+ <string name="spoken_emoji_1F4E9">Envelope with downwards arrow above</string>
+ <string name="spoken_emoji_1F4EA">Closed mailbox with lowered flag</string>
+ <string name="spoken_emoji_1F4EB">Closed mailbox with raised flag</string>
+ <string name="spoken_emoji_1F4EC">Open mailbox with raised flag</string>
+ <string name="spoken_emoji_1F4ED">Open mailbox with lowered flag</string>
+ <string name="spoken_emoji_1F4EE">Postbox</string>
+ <string name="spoken_emoji_1F4EF">Postal horn</string>
+ <string name="spoken_emoji_1F4F0">Newspaper</string>
+ <string name="spoken_emoji_1F4F1">Mobile phone</string>
+ <string name="spoken_emoji_1F4F2">Mobile phone with rightwards arrow at left</string>
+ <string name="spoken_emoji_1F4F3">Vibration mode</string>
+ <string name="spoken_emoji_1F4F4">Mobile phone off</string>
+ <string name="spoken_emoji_1F4F5">No mobile phones</string>
+ <string name="spoken_emoji_1F4F6">Antenna with bars</string>
+ <string name="spoken_emoji_1F4F7">Camera</string>
+ <string name="spoken_emoji_1F4F9">Video camera</string>
+ <string name="spoken_emoji_1F4FA">Television</string>
+ <string name="spoken_emoji_1F4FB">Radio</string>
+ <string name="spoken_emoji_1F4FC">Videocassette</string>
+ <string name="spoken_emoji_1F500">Twisted rightwards arrows</string>
+ <string name="spoken_emoji_1F501">Clockwise rightwards and leftwards open circle arrows</string>
+ <string name="spoken_emoji_1F502">Clockwise rightwards and leftwards open circle arrows with circled one overlay</string>
+ <string name="spoken_emoji_1F503">Clockwise downwards and upwards open circle arrows</string>
+ <string name="spoken_emoji_1F504">Anticlockwise downwards and upwards open circle arrows</string>
+ <string name="spoken_emoji_1F505">Low brightness symbol</string>
+ <string name="spoken_emoji_1F506">High brightness symbol</string>
+ <string name="spoken_emoji_1F507">Speaker with cancellation stroke</string>
+ <string name="spoken_emoji_1F508">Speaker</string>
+ <string name="spoken_emoji_1F509">Speaker with one sound wave</string>
+ <string name="spoken_emoji_1F50A">Speaker with three sound waves</string>
+ <string name="spoken_emoji_1F50B">Battery</string>
+ <string name="spoken_emoji_1F50C">Electric plug</string>
+ <string name="spoken_emoji_1F50D">Left-pointing magnifying glass</string>
+ <string name="spoken_emoji_1F50E">Right-pointing magnifying glass</string>
+ <string name="spoken_emoji_1F50F">Lock with ink pen</string>
+ <string name="spoken_emoji_1F510">Closed lock with key</string>
+ <string name="spoken_emoji_1F511">Key</string>
+ <string name="spoken_emoji_1F512">Lock</string>
+ <string name="spoken_emoji_1F513">Open lock</string>
+ <string name="spoken_emoji_1F514">Bell</string>
+ <string name="spoken_emoji_1F515">Bell with cancellation stroke</string>
+ <string name="spoken_emoji_1F516">Bookmark</string>
+ <string name="spoken_emoji_1F517">Link symbol</string>
+ <string name="spoken_emoji_1F518">Radio button</string>
+ <string name="spoken_emoji_1F519">Back with leftwards arrow above</string>
+ <string name="spoken_emoji_1F51A">End with leftwards arrow above</string>
+ <string name="spoken_emoji_1F51B">On with exclamation mark with left right arrow above</string>
+ <string name="spoken_emoji_1F51C">Soon with rightwards arrow above</string>
+ <string name="spoken_emoji_1F51D">Top with upwards arrow above</string>
+ <string name="spoken_emoji_1F51E">No one under eighteen symbol</string>
+ <string name="spoken_emoji_1F51F">Keycap ten</string>
+ <string name="spoken_emoji_1F520">Input symbol for latin capital letters</string>
+ <string name="spoken_emoji_1F521">Input symbol for latin small letters</string>
+ <string name="spoken_emoji_1F522">Input symbol for numbers</string>
+ <string name="spoken_emoji_1F523">Input symbol for symbols</string>
+ <string name="spoken_emoji_1F524">Input symbol for latin letters</string>
+ <string name="spoken_emoji_1F525">Fire</string>
+ <string name="spoken_emoji_1F526">Electric torch</string>
+ <string name="spoken_emoji_1F527">Wrench</string>
+ <string name="spoken_emoji_1F528">Hammer</string>
+ <string name="spoken_emoji_1F529">Nut and bolt</string>
+ <string name="spoken_emoji_1F52A">Hocho</string>
+ <string name="spoken_emoji_1F52B">Pistol</string>
+ <string name="spoken_emoji_1F52C">Microscope</string>
+ <string name="spoken_emoji_1F52D">Telescope</string>
+ <string name="spoken_emoji_1F52E">Crystal ball</string>
+ <string name="spoken_emoji_1F52F">Six pointed star with middle dot</string>
+ <string name="spoken_emoji_1F530">Japanese symbol for beginner</string>
+ <string name="spoken_emoji_1F531">Trident emblem</string>
+ <string name="spoken_emoji_1F532">Black square button</string>
+ <string name="spoken_emoji_1F533">White square button</string>
+ <string name="spoken_emoji_1F534">Large red circle</string>
+ <string name="spoken_emoji_1F535">Large blue circle</string>
+ <string name="spoken_emoji_1F536">Large orange diamond</string>
+ <string name="spoken_emoji_1F537">Large blue diamond</string>
+ <string name="spoken_emoji_1F538">Small orange diamond</string>
+ <string name="spoken_emoji_1F539">Small blue diamond</string>
+ <string name="spoken_emoji_1F53A">Up-pointing red triangle</string>
+ <string name="spoken_emoji_1F53B">Down-pointing red triangle</string>
+ <string name="spoken_emoji_1F53C">Up-pointing small red triangle</string>
+ <string name="spoken_emoji_1F53D">Down-pointing small red triangle</string>
+ <string name="spoken_emoji_1F550">Clock face one oclock</string>
+ <string name="spoken_emoji_1F551">Clock face two oclock</string>
+ <string name="spoken_emoji_1F552">Clock face three oclock</string>
+ <string name="spoken_emoji_1F553">Clock face four oclock</string>
+ <string name="spoken_emoji_1F554">Clock face five oclock</string>
+ <string name="spoken_emoji_1F555">Clock face six oclock</string>
+ <string name="spoken_emoji_1F556">Clock face seven oclock</string>
+ <string name="spoken_emoji_1F557">Clock face eight oclock</string>
+ <string name="spoken_emoji_1F558">Clock face nine oclock</string>
+ <string name="spoken_emoji_1F559">Clock face ten oclock</string>
+ <string name="spoken_emoji_1F55A">Clock face eleven oclock</string>
+ <string name="spoken_emoji_1F55B">Clock face twelve oclock</string>
+ <string name="spoken_emoji_1F55C">Clock face one-thirty</string>
+ <string name="spoken_emoji_1F55D">Clock face two-thirty</string>
+ <string name="spoken_emoji_1F55E">Clock face three-thirty</string>
+ <string name="spoken_emoji_1F55F">Clock face four-thirty</string>
+ <string name="spoken_emoji_1F560">Clock face five-thirty</string>
+ <string name="spoken_emoji_1F561">Clock face six-thirty</string>
+ <string name="spoken_emoji_1F562">Clock face seven-thirty</string>
+ <string name="spoken_emoji_1F563">Clock face eight-thirty</string>
+ <string name="spoken_emoji_1F564">Clock face nine-thirty</string>
+ <string name="spoken_emoji_1F565">Clock face ten-thirty</string>
+ <string name="spoken_emoji_1F566">Clock face eleven-thirty</string>
+ <string name="spoken_emoji_1F567">Clock face twelve-thirty</string>
+ <string name="spoken_emoji_1F5FB">Mount fuji</string>
+ <string name="spoken_emoji_1F5FC">Tokyo tower</string>
+ <string name="spoken_emoji_1F5FD">Statue of liberty</string>
+ <string name="spoken_emoji_1F5FE">Silhouette of japan</string>
+ <string name="spoken_emoji_1F5FF">Moyai</string>
+ <string name="spoken_emoji_1F600">Grinning face</string>
+ <string name="spoken_emoji_1F601">Grinning face with smiling eyes</string>
+ <string name="spoken_emoji_1F602">Face with tears of joy</string>
+ <string name="spoken_emoji_1F603">Smiling face with open mouth</string>
+ <string name="spoken_emoji_1F604">Smiling face with open mouth and smiling eyes</string>
+ <string name="spoken_emoji_1F605">Smiling face with open mouth and cold sweat</string>
+ <string name="spoken_emoji_1F606">Smiling face with open mouth and tightly-closed eyes</string>
+ <string name="spoken_emoji_1F607">Smiling face with halo</string>
+ <string name="spoken_emoji_1F608">Smiling face with horns</string>
+ <string name="spoken_emoji_1F609">Winking face</string>
+ <string name="spoken_emoji_1F60A">Smiling face with smiling eyes</string>
+ <string name="spoken_emoji_1F60B">Face savouring delicious food</string>
+ <string name="spoken_emoji_1F60C">Relieved face</string>
+ <string name="spoken_emoji_1F60D">Smiling face with heart-shaped eyes</string>
+ <string name="spoken_emoji_1F60E">Smiling face with sunglasses</string>
+ <string name="spoken_emoji_1F60F">Smirking face</string>
+ <string name="spoken_emoji_1F610">Neutral face</string>
+ <string name="spoken_emoji_1F611">Expressionless face</string>
+ <string name="spoken_emoji_1F612">Unamused face</string>
+ <string name="spoken_emoji_1F613">Face with cold sweat</string>
+ <string name="spoken_emoji_1F614">Pensive face</string>
+ <string name="spoken_emoji_1F615">Confused face</string>
+ <string name="spoken_emoji_1F616">Confounded face</string>
+ <string name="spoken_emoji_1F617">Kissing face</string>
+ <string name="spoken_emoji_1F618">Face throwing a kiss</string>
+ <string name="spoken_emoji_1F619">Kissing face with smiling eyes</string>
+ <string name="spoken_emoji_1F61A">Kissing face with closed eyes</string>
+ <string name="spoken_emoji_1F61B">Face with stuck-out tongue</string>
+ <string name="spoken_emoji_1F61C">Face with stuck-out tongue and winking eye</string>
+ <string name="spoken_emoji_1F61D">Face with stuck-out tongue and tightly-closed eyes</string>
+ <string name="spoken_emoji_1F61E">Disappointed face</string>
+ <string name="spoken_emoji_1F61F">Worried face</string>
+ <string name="spoken_emoji_1F620">Angry face</string>
+ <string name="spoken_emoji_1F621">Pouting face</string>
+ <string name="spoken_emoji_1F622">Crying face</string>
+ <string name="spoken_emoji_1F623">Persevering face</string>
+ <string name="spoken_emoji_1F624">Face with look of triumph</string>
+ <string name="spoken_emoji_1F625">Disappointed but relieved face</string>
+ <string name="spoken_emoji_1F626">Frowning face with open mouth</string>
+ <string name="spoken_emoji_1F627">Anguished face</string>
+ <string name="spoken_emoji_1F628">Fearful face</string>
+ <string name="spoken_emoji_1F629">Weary face</string>
+ <string name="spoken_emoji_1F62A">Sleepy face</string>
+ <string name="spoken_emoji_1F62B">Tired face</string>
+ <string name="spoken_emoji_1F62C">Grimacing face</string>
+ <string name="spoken_emoji_1F62D">Loudly crying face</string>
+ <string name="spoken_emoji_1F62E">Face with open mouth</string>
+ <string name="spoken_emoji_1F62F">Hushed face</string>
+ <string name="spoken_emoji_1F630">Face with open mouth and cold sweat</string>
+ <string name="spoken_emoji_1F631">Face screaming in fear</string>
+ <string name="spoken_emoji_1F632">Astonished face</string>
+ <string name="spoken_emoji_1F633">Flushed face</string>
+ <string name="spoken_emoji_1F634">Sleeping face</string>
+ <string name="spoken_emoji_1F635">Dizzy face</string>
+ <string name="spoken_emoji_1F636">Face without mouth</string>
+ <string name="spoken_emoji_1F637">Face with medical mask</string>
+ <string name="spoken_emoji_1F638">Grinning cat face with smiling eyes</string>
+ <string name="spoken_emoji_1F639">Cat face with tears of joy</string>
+ <string name="spoken_emoji_1F63A">Smiling cat face with open mouth</string>
+ <string name="spoken_emoji_1F63B">Smiling cat face with heart-shaped eyes</string>
+ <string name="spoken_emoji_1F63C">Cat face with wry smile</string>
+ <string name="spoken_emoji_1F63D">Kissing cat face with closed eyes</string>
+ <string name="spoken_emoji_1F63E">Pouting cat face</string>
+ <string name="spoken_emoji_1F63F">Crying cat face</string>
+ <string name="spoken_emoji_1F640">Weary cat face</string>
+ <string name="spoken_emoji_1F645">Face with no good gesture</string>
+ <string name="spoken_emoji_1F646">Face with ok gesture</string>
+ <string name="spoken_emoji_1F647">Person bowing deeply</string>
+ <string name="spoken_emoji_1F648">See-no-evil monkey</string>
+ <string name="spoken_emoji_1F649">Hear-no-evil monkey</string>
+ <string name="spoken_emoji_1F64A">Speak-no-evil monkey</string>
+ <string name="spoken_emoji_1F64B">Happy person raising one hand</string>
+ <string name="spoken_emoji_1F64C">Person raising both hands in celebration</string>
+ <string name="spoken_emoji_1F64D">Person frowning</string>
+ <string name="spoken_emoji_1F64E">Person with pouting face</string>
+ <string name="spoken_emoji_1F64F">Person with folded hands</string>
+ <string name="spoken_emoji_1F680">Rocket</string>
+ <string name="spoken_emoji_1F681">Helicopter</string>
+ <string name="spoken_emoji_1F682">Steam locomotive</string>
+ <string name="spoken_emoji_1F683">Railway car</string>
+ <string name="spoken_emoji_1F684">High-speed train</string>
+ <string name="spoken_emoji_1F685">High-speed train with bullet nose</string>
+ <string name="spoken_emoji_1F686">Train</string>
+ <string name="spoken_emoji_1F687">Metro</string>
+ <string name="spoken_emoji_1F688">Light rail</string>
+ <string name="spoken_emoji_1F689">Station</string>
+ <string name="spoken_emoji_1F68A">Tram</string>
+ <string name="spoken_emoji_1F68B">Tram car</string>
+ <string name="spoken_emoji_1F68C">Bus</string>
+ <string name="spoken_emoji_1F68D">Oncoming bus</string>
+ <string name="spoken_emoji_1F68E">Trolleybus</string>
+ <string name="spoken_emoji_1F68F">Bus stop</string>
+ <string name="spoken_emoji_1F690">Minibus</string>
+ <string name="spoken_emoji_1F691">Ambulance</string>
+ <string name="spoken_emoji_1F692">Fire engine</string>
+ <string name="spoken_emoji_1F693">Police car</string>
+ <string name="spoken_emoji_1F694">Oncoming police car</string>
+ <string name="spoken_emoji_1F695">Taxi</string>
+ <string name="spoken_emoji_1F696">Oncoming taxi</string>
+ <string name="spoken_emoji_1F697">Automobile</string>
+ <string name="spoken_emoji_1F698">Oncoming automobile</string>
+ <string name="spoken_emoji_1F699">Recreational vehicle</string>
+ <string name="spoken_emoji_1F69A">Delivery truck</string>
+ <string name="spoken_emoji_1F69B">Articulated lorry</string>
+ <string name="spoken_emoji_1F69C">Tractor</string>
+ <string name="spoken_emoji_1F69D">Monorail</string>
+ <string name="spoken_emoji_1F69E">Mountain railway</string>
+ <string name="spoken_emoji_1F69F">Suspension railway</string>
+ <string name="spoken_emoji_1F6A0">Mountain cableway</string>
+ <string name="spoken_emoji_1F6A1">Aerial tramway</string>
+ <string name="spoken_emoji_1F6A2">Ship</string>
+ <string name="spoken_emoji_1F6A3">Rowboat</string>
+ <string name="spoken_emoji_1F6A4">Speedboat</string>
+ <string name="spoken_emoji_1F6A5">Horizontal traffic light</string>
+ <string name="spoken_emoji_1F6A6">Vertical traffic light</string>
+ <string name="spoken_emoji_1F6A7">Construction sign</string>
+ <string name="spoken_emoji_1F6A8">Police cars revolving light</string>
+ <string name="spoken_emoji_1F6A9">Triangular flag on post</string>
+ <string name="spoken_emoji_1F6AA">Door</string>
+ <string name="spoken_emoji_1F6AB">No entry sign</string>
+ <string name="spoken_emoji_1F6AC">Smoking symbol</string>
+ <string name="spoken_emoji_1F6AD">No smoking symbol</string>
+ <string name="spoken_emoji_1F6AE">Put litter in its place symbol</string>
+ <string name="spoken_emoji_1F6AF">Do not litter symbol</string>
+ <string name="spoken_emoji_1F6B0">Potable water symbol</string>
+ <string name="spoken_emoji_1F6B1">Non-potable water symbol</string>
+ <string name="spoken_emoji_1F6B2">Bicycle</string>
+ <string name="spoken_emoji_1F6B3">No bicycles</string>
+ <string name="spoken_emoji_1F6B4">Bicyclist</string>
+ <string name="spoken_emoji_1F6B5">Mountain bicyclist</string>
+ <string name="spoken_emoji_1F6B6">Pedestrian</string>
+ <string name="spoken_emoji_1F6B7">No pedestrians</string>
+ <string name="spoken_emoji_1F6B8">Children crossing</string>
+ <string name="spoken_emoji_1F6B9">Mens symbol</string>
+ <string name="spoken_emoji_1F6BA">Womens symbol</string>
+ <string name="spoken_emoji_1F6BB">Restroom</string>
+ <string name="spoken_emoji_1F6BC">Baby symbol</string>
+ <string name="spoken_emoji_1F6BD">Toilet</string>
+ <string name="spoken_emoji_1F6BE">Water closet</string>
+ <string name="spoken_emoji_1F6BF">Shower</string>
+ <string name="spoken_emoji_1F6C0">Bath</string>
+ <string name="spoken_emoji_1F6C1">Bathtub</string>
+ <string name="spoken_emoji_1F6C2">Passport control</string>
+ <string name="spoken_emoji_1F6C3">Customs</string>
+ <string name="spoken_emoji_1F6C4">Baggage claim</string>
+ <string name="spoken_emoji_1F6C5">Left luggage</string>
+</resources>
diff --git a/java/res/values-ast-rES/strings-letter-descriptions.xml b/java/res/values-ast-rES/strings-letter-descriptions.xml
new file mode 100644
index 000000000..0da2e542b
--- /dev/null
+++ b/java/res/values-ast-rES/strings-letter-descriptions.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA">Feminine ordinal indicator</string>
+ <string name="spoken_accented_letter_00B5">Micro sign</string>
+ <string name="spoken_accented_letter_00BA">Masculine ordinal indicator</string>
+ <string name="spoken_accented_letter_00DF">Sharp S</string>
+ <string name="spoken_accented_letter_00E0">A, grave</string>
+ <string name="spoken_accented_letter_00E1">A, acute</string>
+ <string name="spoken_accented_letter_00E2">A, circumflex</string>
+ <string name="spoken_accented_letter_00E3">A, tilde</string>
+ <string name="spoken_accented_letter_00E4">A, diaeresis</string>
+ <string name="spoken_accented_letter_00E5">A, ring above</string>
+ <string name="spoken_accented_letter_00E6">A, E, ligature</string>
+ <string name="spoken_accented_letter_00E7">C, cedilla</string>
+ <string name="spoken_accented_letter_00E8">E, grave</string>
+ <string name="spoken_accented_letter_00E9">E, acute</string>
+ <string name="spoken_accented_letter_00EA">E, circumflex</string>
+ <string name="spoken_accented_letter_00EB">E, diaeresis</string>
+ <string name="spoken_accented_letter_00EC">I, grave</string>
+ <string name="spoken_accented_letter_00ED">I, acute</string>
+ <string name="spoken_accented_letter_00EE">I, circumflex</string>
+ <string name="spoken_accented_letter_00EF">I, diaeresis</string>
+ <string name="spoken_accented_letter_00F0">Eth</string>
+ <string name="spoken_accented_letter_00F1">N, tilde</string>
+ <string name="spoken_accented_letter_00F2">O, grave</string>
+ <string name="spoken_accented_letter_00F3">O, acute</string>
+ <string name="spoken_accented_letter_00F4">O, circumflex</string>
+ <string name="spoken_accented_letter_00F5">O, tilde</string>
+ <string name="spoken_accented_letter_00F6">O, diaeresis</string>
+ <string name="spoken_accented_letter_00F8">O, stroke</string>
+ <string name="spoken_accented_letter_00F9">U, grave</string>
+ <string name="spoken_accented_letter_00FA">U, acute</string>
+ <string name="spoken_accented_letter_00FB">U, circumflex</string>
+ <string name="spoken_accented_letter_00FC">U, diaeresis</string>
+ <string name="spoken_accented_letter_00FD">Y, acute</string>
+ <string name="spoken_accented_letter_00FE">Thorn</string>
+ <string name="spoken_accented_letter_00FF">Y, diaeresis</string>
+ <string name="spoken_accented_letter_0101">A, macron</string>
+ <string name="spoken_accented_letter_0103">A, breve</string>
+ <string name="spoken_accented_letter_0105">A, ogonek</string>
+ <string name="spoken_accented_letter_0107">C, acute</string>
+ <string name="spoken_accented_letter_0109">C, circumflex</string>
+ <string name="spoken_accented_letter_010B">C, dot above</string>
+ <string name="spoken_accented_letter_010D">C, caron</string>
+ <string name="spoken_accented_letter_010F">D, caron</string>
+ <string name="spoken_accented_letter_0111">D, stroke</string>
+ <string name="spoken_accented_letter_0113">E, macron</string>
+ <string name="spoken_accented_letter_0115">E, breve</string>
+ <string name="spoken_accented_letter_0117">E, dot above</string>
+ <string name="spoken_accented_letter_0119">E, ogonek</string>
+ <string name="spoken_accented_letter_011B">E, caron</string>
+ <string name="spoken_accented_letter_011D">G, circumflex</string>
+ <string name="spoken_accented_letter_011F">G, breve</string>
+ <string name="spoken_accented_letter_0121">G, dot above</string>
+ <string name="spoken_accented_letter_0123">G, cedilla</string>
+ <string name="spoken_accented_letter_0125">H, circumflex</string>
+ <string name="spoken_accented_letter_0127">H, stroke</string>
+ <string name="spoken_accented_letter_0129">I, tilde</string>
+ <string name="spoken_accented_letter_012B">I, macron</string>
+ <string name="spoken_accented_letter_012D">I, breve</string>
+ <string name="spoken_accented_letter_012F">I, ogonek</string>
+ <string name="spoken_accented_letter_0131">Dotless I</string>
+ <string name="spoken_accented_letter_0133">I, J, ligature</string>
+ <string name="spoken_accented_letter_0135">J, circumflex</string>
+ <string name="spoken_accented_letter_0137">K, cedilla</string>
+ <string name="spoken_accented_letter_0138">Kra</string>
+ <string name="spoken_accented_letter_013A">L, acute</string>
+ <string name="spoken_accented_letter_013C">L, cedilla</string>
+ <string name="spoken_accented_letter_013E">L, caron</string>
+ <string name="spoken_accented_letter_0140">L, middle dot</string>
+ <string name="spoken_accented_letter_0142">L, stroke</string>
+ <string name="spoken_accented_letter_0144">N, acute</string>
+ <string name="spoken_accented_letter_0146">N, cedilla</string>
+ <string name="spoken_accented_letter_0148">N, caron</string>
+ <string name="spoken_accented_letter_0149">N, preceded by apostrophe</string>
+ <string name="spoken_accented_letter_014B">Eng</string>
+ <string name="spoken_accented_letter_014D">O, macron</string>
+ <string name="spoken_accented_letter_014F">O, breve</string>
+ <string name="spoken_accented_letter_0151">O, double acute</string>
+ <string name="spoken_accented_letter_0153">O, E, ligature</string>
+ <string name="spoken_accented_letter_0155">R, acute</string>
+ <string name="spoken_accented_letter_0157">R, cedilla</string>
+ <string name="spoken_accented_letter_0159">R, caron</string>
+ <string name="spoken_accented_letter_015B">S, acute</string>
+ <string name="spoken_accented_letter_015D">S, circumflex</string>
+ <string name="spoken_accented_letter_015F">S, cedilla</string>
+ <string name="spoken_accented_letter_0161">S, caron</string>
+ <string name="spoken_accented_letter_0163">T, cedilla</string>
+ <string name="spoken_accented_letter_0165">T, caron</string>
+ <string name="spoken_accented_letter_0167">T, stroke</string>
+ <string name="spoken_accented_letter_0169">U, tilde</string>
+ <string name="spoken_accented_letter_016B">U, macron</string>
+ <string name="spoken_accented_letter_016D">U, breve</string>
+ <string name="spoken_accented_letter_016F">U, ring above</string>
+ <string name="spoken_accented_letter_0171">U, double acute</string>
+ <string name="spoken_accented_letter_0173">U, ogonek</string>
+ <string name="spoken_accented_letter_0175">W, circumflex</string>
+ <string name="spoken_accented_letter_0177">Y, circumflex</string>
+ <string name="spoken_accented_letter_017A">Z, acute</string>
+ <string name="spoken_accented_letter_017C">Z, dot above</string>
+ <string name="spoken_accented_letter_017E">Z, caron</string>
+ <string name="spoken_accented_letter_017F">Long S</string>
+ <string name="spoken_accented_letter_01A1">O, horn</string>
+ <string name="spoken_accented_letter_01B0">U, horn</string>
+ <string name="spoken_accented_letter_0219">S, comma below</string>
+ <string name="spoken_accented_letter_021B">T, comma below</string>
+ <string name="spoken_accented_letter_0259">Schwa</string>
+ <string name="spoken_accented_letter_1EA1">A, dot below</string>
+ <string name="spoken_accented_letter_1EA3">A, hook above</string>
+ <string name="spoken_accented_letter_1EA5">A, circumflex and acute</string>
+ <string name="spoken_accented_letter_1EA7">A, circumflex and grave</string>
+ <string name="spoken_accented_letter_1EA9">A, circumflex and hook above</string>
+ <string name="spoken_accented_letter_1EAB">A, circumflex and tilde</string>
+ <string name="spoken_accented_letter_1EAD">A, circumflex and dot below</string>
+ <string name="spoken_accented_letter_1EAF">A, breve and acute</string>
+ <string name="spoken_accented_letter_1EB1">A, breve and grave</string>
+ <string name="spoken_accented_letter_1EB3">A, breve and hook above</string>
+ <string name="spoken_accented_letter_1EB5">A, breve and tilde</string>
+ <string name="spoken_accented_letter_1EB7">A, breve and dot below</string>
+ <string name="spoken_accented_letter_1EB9">E, dot below</string>
+ <string name="spoken_accented_letter_1EBB">E, hook above</string>
+ <string name="spoken_accented_letter_1EBD">E, tilde</string>
+ <string name="spoken_accented_letter_1EBF">E, circumflex and acute</string>
+ <string name="spoken_accented_letter_1EC1">E, circumflex and grave</string>
+ <string name="spoken_accented_letter_1EC3">E, circumflex and hook above</string>
+ <string name="spoken_accented_letter_1EC5">E, circumflex and tilde</string>
+ <string name="spoken_accented_letter_1EC7">E, circumflex and dot below</string>
+ <string name="spoken_accented_letter_1EC9">I, hook above</string>
+ <string name="spoken_accented_letter_1ECB">I, dot below</string>
+ <string name="spoken_accented_letter_1ECD">O, dot below</string>
+ <string name="spoken_accented_letter_1ECF">O, hook above</string>
+ <string name="spoken_accented_letter_1ED1">O, circumflex and acute</string>
+ <string name="spoken_accented_letter_1ED3">O, circumflex and grave</string>
+ <string name="spoken_accented_letter_1ED5">O, circumflex and hook above</string>
+ <string name="spoken_accented_letter_1ED7">O, circumflex and tilde</string>
+ <string name="spoken_accented_letter_1ED9">O, circumflex and dot below</string>
+ <string name="spoken_accented_letter_1EDB">O, horn and acute</string>
+ <string name="spoken_accented_letter_1EDD">O, horn and grave</string>
+ <string name="spoken_accented_letter_1EDF">O, horn and hook above</string>
+ <string name="spoken_accented_letter_1EE1">O, horn and tilde</string>
+ <string name="spoken_accented_letter_1EE3">O, horn and dot below</string>
+ <string name="spoken_accented_letter_1EE5">U, dot below</string>
+ <string name="spoken_accented_letter_1EE7">U, hook above</string>
+ <string name="spoken_accented_letter_1EE9">U, horn and acute</string>
+ <string name="spoken_accented_letter_1EEB">U, horn and grave</string>
+ <string name="spoken_accented_letter_1EED">U, horn and hook above</string>
+ <string name="spoken_accented_letter_1EEF">U, horn and tilde</string>
+ <string name="spoken_accented_letter_1EF1">U, horn and dot below</string>
+ <string name="spoken_accented_letter_1EF3">Y, grave</string>
+ <string name="spoken_accented_letter_1EF5">Y, dot below</string>
+ <string name="spoken_accented_letter_1EF7">Y, hook above</string>
+ <string name="spoken_accented_letter_1EF9">Y, tilde</string>
+ <string name="spoken_symbol_00A1">Inverted exclamation mark</string>
+ <string name="spoken_symbol_00AB">Left-pointing double angle quotation mark</string>
+ <string name="spoken_symbol_00B7">Middle dot</string>
+ <string name="spoken_symbol_00B9">Superscript one</string>
+ <string name="spoken_symbol_00BB">Right-pointing double angle quotation mark</string>
+ <string name="spoken_symbol_00BF">Inverted question mark</string>
+ <string name="spoken_symbol_2018">Left single quotation mark</string>
+ <string name="spoken_symbol_2019">Right single quotation mark</string>
+ <string name="spoken_symbol_201A">Single low-9 quotation mark</string>
+ <string name="spoken_symbol_201C">Left double quotation mark</string>
+ <string name="spoken_symbol_201D">Right double quotation mark</string>
+ <string name="spoken_symbol_2020">Dagger</string>
+ <string name="spoken_symbol_2021">Double dagger</string>
+ <string name="spoken_symbol_2030">Per mille sign</string>
+ <string name="spoken_symbol_2032">Prime</string>
+ <string name="spoken_symbol_2033">Double prime</string>
+ <string name="spoken_symbol_2039">Single left-pointing angle quotation mark</string>
+ <string name="spoken_symbol_203A">Single right-pointing angle quotation mark</string>
+ <string name="spoken_symbol_2074">Superscript four</string>
+ <string name="spoken_symbol_207F">Superscript latin small letter n</string>
+ <string name="spoken_symbol_20B1">Peso sign</string>
+ <string name="spoken_symbol_2105">Care of</string>
+ <string name="spoken_symbol_2192">Rightwards arrow</string>
+ <string name="spoken_symbol_2193">Downwards arrow</string>
+ <string name="spoken_symbol_2205">Empty set</string>
+ <string name="spoken_symbol_2206">Increment</string>
+ <string name="spoken_symbol_2264">Less-than or equal to</string>
+ <string name="spoken_symbol_2265">Greater-than or equal to</string>
+ <string name="spoken_symbol_2605">Black star</string>
+</resources>
diff --git a/java/res/values-ast-rES/strings-talkback-descriptions.xml b/java/res/values-ast-rES/strings-talkback-descriptions.xml
new file mode 100644
index 000000000..4ee1049ba
--- /dev/null
+++ b/java/res/values-ast-rES/strings-talkback-descriptions.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_use_headphones">Coneuta un auricular pa escuchar les contraseñes en voz alta.</string>
+ <string name="spoken_current_text_is">El testu actual ye %s</string>
+ <string name="spoken_no_text_entered">Nun s\'introduxo testu</string>
+ <string name="spoken_auto_correct"><xliff:g id="KEY_NAME" example="Space">%1$s</xliff:g> corrixe <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> a <xliff:g id="CORRECTED_WORD">%3$s</xliff:g></string>
+ <string name="spoken_auto_correct_obscured"><xliff:g id="KEY_NAME" example="Space">%1$s</xliff:g> fai correición-auto</string>
+ <string name="spoken_description_unknown">Caráuter desconocíu</string>
+ <string name="spoken_description_shift">Mayús</string>
+ <string name="spoken_description_symbols_shift">Más símbolos</string>
+ <string name="spoken_description_shift_shifted">Mayús</string>
+ <string name="spoken_description_symbols_shift_shifted">Símbolos</string>
+ <string name="spoken_description_caps_lock">Mayús</string>
+ <string name="spoken_description_delete">Desaniciar</string>
+ <string name="spoken_description_to_symbol">Símbolos</string>
+ <string name="spoken_description_to_alpha">Lletres</string>
+ <string name="spoken_description_to_numeric">Númberos</string>
+ <string name="spoken_description_settings">Axustes</string>
+ <string name="spoken_description_tab">Tab</string>
+ <string name="spoken_description_space">Barra espaciadora</string>
+ <string name="spoken_description_mic">Entrada de voz</string>
+ <string name="spoken_description_emoji">Emoji</string>
+ <string name="spoken_description_return">Intro</string>
+ <string name="spoken_description_search">Guetar</string>
+ <string name="spoken_description_dot">Puntu</string>
+ <string name="spoken_description_language_switch">Cambiar llingua</string>
+ <string name="spoken_description_action_next">Siguiente</string>
+ <string name="spoken_description_action_previous">Anterior</string>
+ <string name="spoken_description_shiftmode_on">Mayúscules habilitaes</string>
+ <string name="spoken_description_shiftmode_locked">Bloquéu de mayúscules habilitáu</string>
+ <string name="spoken_description_mode_symbol">Mou de símbolos</string>
+ <string name="spoken_description_mode_symbol_shift">Mou más símbolos</string>
+ <string name="spoken_description_mode_alpha">Mou de lletres</string>
+ <string name="spoken_description_mode_phone">Mou de teléfonu</string>
+ <string name="spoken_description_mode_phone_shift">Mou de símbolos de teléfonu</string>
+ <string name="announce_keyboard_hidden">Tecláu tapecíu</string>
+ <string name="announce_keyboard_mode">Amosando tecláu <xliff:g id="KEYBOARD_MODE" example="email">%s</xliff:g></string>
+ <string name="keyboard_mode_date">data</string>
+ <string name="keyboard_mode_date_time">data y hora</string>
+ <string name="keyboard_mode_email">corréu-e</string>
+ <string name="keyboard_mode_im">mensaxes</string>
+ <string name="keyboard_mode_number">númberu</string>
+ <string name="keyboard_mode_phone">teléfonu</string>
+ <string name="keyboard_mode_text">testu</string>
+ <string name="keyboard_mode_time">hora</string>
+ <string name="keyboard_mode_url">URL</string>
+ <string name="spoken_descrption_emoji_category_recents">Recientes</string>
+ <string name="spoken_descrption_emoji_category_people">Persones</string>
+ <string name="spoken_descrption_emoji_category_objects">Oxetos</string>
+ <string name="spoken_descrption_emoji_category_nature">Natura</string>
+ <string name="spoken_descrption_emoji_category_places">Llugares</string>
+ <string name="spoken_descrption_emoji_category_symbols">Símbolos</string>
+ <string name="spoken_descrption_emoji_category_emoticons">Fustaxes</string>
+ <string name="spoken_description_upper_case">Mayúscula <xliff:g id="LOWER_LETTER" example="A, E, ligature">%s</xliff:g></string>
+ <string name="spoken_letter_0049">Mayúscula I</string>
+ <string name="spoken_letter_0130">Mayúscula I, puntu arriba</string>
+ <string name="spoken_symbol_unknown">Símbolu desconocíu</string>
+ <string name="spoken_emoji_unknown">Emoji desconocíu</string>
+ <string name="spoken_open_more_keys_keyboard">Caráuteres alternativos disponibles</string>
+ <string name="spoken_close_more_keys_keyboard">Caráuteres alternativos descartaos</string>
+ <string name="spoken_open_more_suggestions">Suxerencies alternatives disponibles</string>
+ <string name="spoken_close_more_suggestions">Suxerencies alternatives descartaes</string>
+</resources>
diff --git a/java/res/values-ast-rES/strings.xml b/java/res/values-ast-rES/strings.xml
new file mode 100644
index 000000000..e4f437ecc
--- /dev/null
+++ b/java/res/values-ast-rES/strings.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="english_ime_input_options">Opciones d\'entrada de testu</string>
+ <string name="use_contacts_for_spellchecking_option_title">Nomes de contautos</string>
+ <string name="use_contacts_for_spellchecking_option_summary">Amestar nomes de la llista de contautos al correutor</string>
+ <string name="vibrate_on_keypress">Vibrar al calcar tecla</string>
+ <string name="sound_on_keypress">Sonar al calcar tecla</string>
+ <string name="popup_on_keypress">Ampliar al calcar tecla</string>
+ <string name="settings_screen_preferences">Preferencies</string>
+ <string name="settings_screen_appearance">Aspeutu y distribuciones</string>
+ <string name="settings_screen_multilingual">Opciones multillingua</string>
+ <string name="settings_screen_gesture">Escritura xestual</string>
+ <string name="settings_screen_correction">Correición ortográfica</string>
+ <string name="settings_screen_advanced">Avanzaos</string>
+ <string name="settings_screen_theme">Tema</string>
+ <string name="include_other_imes_in_language_switch_list">Cambiar a otros métodos d\'introducción</string>
+ <string name="include_other_imes_in_language_switch_list_summary">La tecla de cambéu de llingua val tamién pa otros métodos</string>
+ <string name="show_language_switch_key">Tecla de cambéu de llingua</string>
+ <string name="show_language_switch_key_summary">Amosar cuando heba dellos idiomes d\'introducción habilitaos</string>
+ <string name="key_preview_popup_dismiss_delay">Retrasu p\'ampliar tecla</string>
+ <string name="key_preview_popup_dismiss_no_delay">Ensin retrasu</string>
+ <string name="key_preview_popup_dismiss_default_delay">Predetermináu</string>
+ <string name="abbreviation_unit_milliseconds"><xliff:g id="MILLISECONDS">%s</xliff:g>ms</string>
+ <string name="settings_system_default">Sistema por defeutu</string>
+ <string name="use_contacts_dict">Suxerir nomes de contautos</string>
+ <string name="use_contacts_dict_summary">Usar nomes de contautos pa suxerencies y correiciones</string>
+ <string name="use_personalized_dicts">Suxerencies personalizaes</string>
+ <string name="enable_metrics_logging">"Ameyorar <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="use_double_space_period">Doble-espaciu</string>
+ <string name="use_double_space_period_summary">Doble toque na barra espaciadora, inxerta un periodu siguíu d\'un espaciu</string>
+ <string name="auto_cap">Mayúscules automátiques</string>
+ <string name="auto_cap_summary">Escribir la primer lletra de cada pallabra en mayúscula</string>
+ <string name="edit_personal_dictionary">Diccionariu personal</string>
+ <string name="configure_dictionaries_title">Diccionarios complementarios</string>
+ <string name="main_dictionary">Diccionariu principal</string>
+ <string name="prefs_show_suggestions">Suxerencies de correiciones</string>
+ <string name="prefs_show_suggestions_summary">Amuesa les pallabres suxeríes mentanto s\'escribe</string>
+ <string name="prefs_block_potentially_offensive_title">Bloquiar pallabres ofensives</string>
+ <string name="prefs_block_potentially_offensive_summary">Nun suxerir pallabres ofensives</string>
+ <string name="auto_correction">Auto-correición</string>
+ <string name="auto_correction_summary">Primir la tecla d\'espaciu o puntu pa correxir fallos</string>
+ <string name="auto_correction_threshold_mode_off">Non</string>
+ <string name="auto_correction_threshold_mode_modest">Parcial</string>
+ <string name="auto_correction_threshold_mode_aggressive">Total</string>
+ <string name="auto_correction_threshold_mode_very_aggressive">Mui agresiva</string>
+ <string name="bigram_prediction">Suxerir pallabra siguiente</string>
+ <string name="bigram_prediction_summary">Usar la pallabra anterior pa facer suxerencies</string>
+ <string name="gesture_input">Habilitar escritura xestual</string>
+ <string name="gesture_input_summary">Inxertar una pallabra al eslizar el deu peles lletres</string>
+ <string name="gesture_preview_trail">Amosar recorríu del xestu</string>
+ <string name="gesture_floating_preview_text">Vista previa dinámica flotante</string>
+ <string name="gesture_floating_preview_text_summary">Ver pallabra suxerida al facer xestos</string>
+ <string name="gesture_space_aware">Xestu de frase</string>
+ <string name="gesture_space_aware_summary">Esliza\'l deu a Espaciu pa introducir espacios per aciu de xestos</string>
+ <string name="voice_input">Tecla d\'entrada de voz</string>
+ <string name="voice_input_disabled_summary">Nun hai métodos d\'entrada de voz habilitaos. Comprueba los axustes d\'Entrada y Testu.</string>
+ <string name="configure_input_method">Configurar métodos d\'entrada</string>
+ <string name="language_selection_title">Llingües</string>
+ <string name="help_and_feedback">Ayuda &amp; comentarios</string>
+ <string name="select_language">Llingües</string>
+ <string name="hint_add_to_dictionary">Toca otra vegada pa guardar</string>
+ <string name="hint_add_to_dictionary_without_word">Toca equí pa guardar</string>
+ <string name="has_dictionary">Hai un diccionariu disponible</string>
+ <string name="keyboard_layout">Tema de tecláu</string>
+ <string name="subtype_en_GB">Inglés (UK)</string>
+ <string name="subtype_en_US">Inglés (US)</string>
+ <string name="subtype_es_US">Español (US)</string>
+ <string name="subtype_with_layout_en_GB">English (UK) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_with_layout_en_US">English (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_with_layout_es_US">Spanish (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_generic_traditional"><xliff:g id="LANGUAGE_NAME" example="Nepali">%s</xliff:g> (Traditional)</string>
+ <string name="subtype_generic_cyrillic"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (Cyrillic)</string>
+ <string name="subtype_generic_latin"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (Latin)</string>
+ <string name="subtype_no_language">Nengún idioma</string>
+ <string name="subtype_no_language_qwerty">Alfabetu (QWERTY)</string>
+ <string name="subtype_no_language_qwertz">Alfabetu (QWERTZ)</string>
+ <string name="subtype_no_language_azerty">Alfabetu (AZERTY)</string>
+ <string name="subtype_no_language_dvorak">Alfabetu (Dvorak)</string>
+ <string name="subtype_no_language_colemak">Alfabetu (Colemak)</string>
+ <string name="subtype_no_language_pcqwerty">Alfabetu (PC)</string>
+ <string name="subtype_emoji">Emoji</string>
+ <string name="keyboard_theme">Tema de tecláu</string>
+ <string name="custom_input_styles_title">Personalizar estilos d\'entrada</string>
+ <string name="add_style">Amestar estilu</string>
+ <string name="add">Amestar</string>
+ <string name="remove">Desaniciar</string>
+ <string name="save">Guardar</string>
+ <string name="subtype_locale">Llingua</string>
+ <string name="keyboard_layout_set">Tipu</string>
+ <string name="custom_input_style_note_message">"Tienes d'habilitar los estilos d'entrada personalizaos pa usar un estilu personalizáu. ¿Quies facelo agora?"</string>
+ <string name="enable">Habilitar</string>
+ <string name="not_now">Agora non</string>
+ <string name="custom_input_style_already_exists">"Yá esiste el mesmu estilu d'entrada: <xliff:g id="INPUT_STYLE_NAME" example="English (Dvorak)">%s</xliff:g>"</string>
+ <string name="prefs_keypress_vibration_duration_settings">Duración vibración al primir</string>
+ <string name="prefs_keypress_sound_volume_settings">Volume soníu al primir tecla</string>
+ <string name="button_default">Predetermináu</string>
+ <string name="setup_welcome_title">"Bienllegáu a <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_welcome_additional_description">con escritura xestual</string>
+ <string name="setup_start_action">Entamar</string>
+ <string name="setup_next_action">Pasu siguiente</string>
+ <string name="setup_steps_title">"Configurando <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_step1_title">"Habilitar <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_step1_instruction">"Comprueba \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" nos tos axustes Llingua y tecláu. Esto autorizará la execución nel preséu."</string>
+ <string name="setup_step1_finished_instruction">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> yá s'habilitó nos tos axustes de Llingua y Testu, asina qu'esti pasu ta fechu. ¡Al siguiente!"</string>
+ <string name="setup_step1_action">Habilitar n\'Axustes</string>
+ <string name="setup_step2_title">"Cambiar a <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_step2_instruction">"Depués, esbilla \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" como'l to métodu d'entrada."</string>
+ <string name="setup_step2_action">Camudar métodu d\'entrada</string>
+ <string name="setup_step3_title">"Norabona, finó la configuración!"</string>
+ <string name="setup_step3_instruction">Agora pues escribir nes tos apps favorites con <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>.</string>
+ <string name="setup_step3_action">Configurar llingües adicionales</string>
+ <string name="setup_finish_action">Fecho</string>
+ <string name="show_setup_wizard_icon">Amosar iconu d\'aplicación</string>
+ <string name="show_setup_wizard_icon_summary">Amosar iconu d\'aplicación en menú d\'aplicaciones</string>
+ <string name="app_name">Fornidor del diccionariu</string>
+ <string name="dictionary_provider_name">Fornidor del diccionariu</string>
+ <string name="dictionary_service_name">Serviciu de diccionariu</string>
+ <string name="download_description">Información d\'anovamientu de diccionariu</string>
+ <string name="dictionary_settings_title">Diccionarios complementarios</string>
+ <string name="dictionary_install_over_metered_network_prompt">Hai un diccionariu disponible</string>
+ <string name="dictionary_settings_summary">Axustes pa diccionarios</string>
+ <string name="user_dictionaries">Diccionarios del usuariu</string>
+ <string name="default_user_dict_pref_name">Diccionariu del usuariu</string>
+ <string name="dictionary_available">Hai un diccionariu disponible</string>
+ <string name="dictionary_downloading">Descargando...</string>
+ <string name="dictionary_installed">Instalada</string>
+ <string name="dictionary_disabled">Instaláu (deshabilitáu)</string>
+ <string name="cannot_connect_to_dict_service">Problema al coneutar al serviciu de diccionariu</string>
+ <string name="no_dictionaries_available">Nun hai diccionarios disponibles</string>
+ <string name="check_for_updates_now">Anovar</string>
+ <string name="last_update">Caberu anovamientu</string>
+ <string name="message_updating">Comprobando anovamientos</string>
+ <string name="message_loading">Cargando&#8230;</string>
+ <string name="main_dict_description">Diccionariu principal</string>
+ <string name="cancel">Encaboxar</string>
+ <string name="go_to_settings">Axustes</string>
+ <string name="install_dict">Instalar</string>
+ <string name="cancel_download_dict">Encaboxar</string>
+ <string name="delete_dict">Desaniciar</string>
+ <string name="should_download_over_metered_prompt">La llingua esbillada nel to preséu móvil tien un diccionariu disponible.&lt;br/&gt;
+Aconseyámoste &lt;b&gt;baxar&lt;/b&gt; el diccionariu <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> p\'ameyorar la to esperiencia d\'escritura.&lt;br/&gt;
+&lt;br/&gt;
+La descarga podría tardar un minutu o dos sobro 3G. Podríen aplicase cargos si nun tienes un &lt;b&gt;plan de datos illimitáu&lt;/b&gt;.&lt;br/&gt;
+Si nun tas seguru de que plan de datos tienes, aconseyámoste alcontrar una conexón Wi-fi p\'aniciar la descarga automáticamente.&lt;br/&gt;
+&lt;br/&gt;
+Conseyu: Pues baxar y desaniciar diccionarios diendo a &lt;b&gt;Llingua y Entrada&lt;/b&gt; nel menú d\'&lt;b&gt;Axustes&lt;/b&gt; del to móvil.</string>
+ <string name="download_over_metered">Descarga agora (<xliff:g id="SIZE_IN_MEGABYTES" example="0.7">%1$.1f</xliff:g>MB)</string>
+ <string name="do_not_download_over_metered">Descargar con Wi-Fi</string>
+ <string name="dict_available_notification_title">Hai un diccionariu disponible <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g></string>
+ <string name="dict_available_notification_description">Primi pa comprobar y descargar</string>
+ <string name="toast_downloading_suggestions">Descargando: les suxerencies pa <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> van tar disponibles aína.</string>
+ <string name="version_text">Versión <xliff:g id="VERSION_NUMBER" example="1.0.1864.643521">%1$s</xliff:g></string>
+ <string name="user_dict_settings_add_menu_title">Amestar</string>
+ <string name="user_dict_settings_add_dialog_title">Amestar al diccionariu</string>
+ <string name="user_dict_settings_add_screen_title">Fras</string>
+ <string name="user_dict_settings_add_dialog_more_options">Más opciones</string>
+ <string name="user_dict_settings_add_dialog_less_options">Menos opciones</string>
+ <string name="user_dict_settings_add_dialog_confirm">Aceutar</string>
+ <string name="user_dict_settings_add_word_option_name">Pallabra:</string>
+ <string name="user_dict_settings_add_shortcut_option_name">Atayu:</string>
+ <string name="user_dict_settings_add_locale_option_name">Llingua:</string>
+ <string name="user_dict_settings_add_word_hint">Escribi una pallabra</string>
+ <string name="user_dict_settings_add_shortcut_hint">Atayu opcional</string>
+ <string name="user_dict_settings_edit_dialog_title">Editar pallabra</string>
+ <string name="user_dict_settings_context_menu_edit_title">Editar</string>
+ <string name="user_dict_settings_context_menu_delete_title">Desaniciar</string>
+ <string name="user_dict_settings_empty_text">Nun tienes nenguna pallabra nel diccionariu del usuariu. Toca\'l botón Amestar (+) p\'amestar una pallabra.</string>
+ <string name="user_dict_settings_all_languages">Pa toles llingües</string>
+ <string name="user_dict_settings_more_languages">Más llingües&#8230;</string>
+ <string name="user_dict_settings_delete">Desaniciar</string>
+ <string name="user_dict_fast_scroll_alphabet"> \u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
+</resources>
diff --git a/java/res/values-be/strings-config-important-notice.xml b/java/res/values-be/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-be/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-br-rFR/strings-config-important-notice.xml b/java/res/values-br-rFR/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-br-rFR/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-cy/strings-config-important-notice.xml b/java/res/values-cy/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-cy/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-eo/strings-config-important-notice.xml b/java/res/values-eo/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-eo/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-fy-rNL/strings-config-important-notice.xml b/java/res/values-fy-rNL/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-fy-rNL/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-gd-rGB/strings-config-important-notice.xml b/java/res/values-gd-rGB/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-gd-rGB/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-ku/strings-action-keys.xml b/java/res/values-ku/strings-action-keys.xml
new file mode 100644
index 000000000..28f2e2b59
--- /dev/null
+++ b/java/res/values-ku/strings-action-keys.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="label_go_key">بڕۆ</string>
+ <string name="label_next_key">دواتر</string>
+ <string name="label_previous_key">پێشوو</string>
+ <string name="label_done_key">ئه‌نجام درا</string>
+ <string name="label_send_key">ناردن</string>
+ <string name="label_search_key">گه‌ڕان</string>
+ <string name="label_pause_key">وه‌ستان</string>
+ <string name="label_wait_key">چاوەڕێ</string>
+</resources>
diff --git a/java/res/values-ku/strings-appname.xml b/java/res/values-ku/strings-appname.xml
new file mode 100644
index 000000000..12314682f
--- /dev/null
+++ b/java/res/values-ku/strings-appname.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <string name="english_ime_name">تەختەکلیلی ئەندرۆید(AOSP)</string>
+ <string name="spell_checker_service_name">پشکنەری ڕێنووسی ئەندرۆید(AOSP)</string>
+ <string name="english_ime_settings">ڕێکخستنی تەختەکلیلی ئەندرۆید (AOSP)</string>
+ <string name="android_spell_checker_settings">ڕێکخستنی پشکنەری ڕێنوسی ئەندرۆید(AOSP)</string>
+</resources>
diff --git a/java/res/values-ku/strings-config-important-notice.xml b/java/res/values-ku/strings-config-important-notice.xml
new file mode 100644
index 000000000..bc3386864
--- /dev/null
+++ b/java/res/values-ku/strings-config-important-notice.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+ <string name="use_personalized_dicts_summary">فێربوون لە پەیوەندییەکانت و دراوە نووسراوەکان بۆ باشترکردنی پێشنیارەکان</string>
+</resources>
diff --git a/java/res/values-ku/strings-emoji-descriptions.xml b/java/res/values-ku/strings-emoji-descriptions.xml
new file mode 100644
index 000000000..10b56b209
--- /dev/null
+++ b/java/res/values-ku/strings-emoji-descriptions.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These Emoji symbols are unsupported by TTS.
+ TODO: Remove this file when TTS/TalkBack support these Emoji symbols.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_emoji_00A9">هێمای مافی لەبەرگرتنەوە</string>
+ <string name="spoken_emoji_00AE">هێمای ناونووسیکراو</string>
+ <string name="spoken_emoji_203C">جووت هێمای سەرسووڕمان</string>
+ <string name="spoken_emoji_2049">هێمای سەرسووڕمان و پرسیار</string>
+ <string name="spoken_emoji_2122">هێمای بازرگانی</string>
+ <string name="spoken_emoji_2139">سەرچاوەی زانیاری</string>
+ <string name="spoken_emoji_2194">تیری چەپ ڕاست</string>
+ <string name="spoken_emoji_2195">تیری سەر خوار</string>
+ <string name="spoken_emoji_2196">تیری باکوور ڕۆژاوا</string>
+ <string name="spoken_emoji_2197">تیری باکوور ڕۆژهەڵات</string>
+ <string name="spoken_emoji_2198">تیری باشوور ڕۆژهەڵات</string>
+ <string name="spoken_emoji_2199">تیری باشوور ڕۆژاوا</string>
+ <string name="spoken_emoji_21A9">تیری لای چەپ بە قولاپەوە</string>
+ <string name="spoken_emoji_21AA">تیری لای ڕاست بە قولاپەوە</string>
+ <string name="spoken_emoji_231A">کاتژمێری دەستی</string>
+ <string name="spoken_emoji_231B">کاتژمێری خۆڵی</string>
+</resources>
diff --git a/java/res/values-ku/strings.xml b/java/res/values-ku/strings.xml
new file mode 100644
index 000000000..07dc78c15
--- /dev/null
+++ b/java/res/values-ku/strings.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="english_ime_input_options">بەربژاردەکانی نوسین</string>
+ <string name="use_contacts_for_spellchecking_option_title">گەڕان بە دوای ناوەکان</string>
+ <string name="use_contacts_for_spellchecking_option_summary">ڕاستکه‌ره‌وه‌ی وشه‌ به‌کاردێت بۆ هه‌موو لیستی په‌یوه‌ندییه‌کان</string>
+ <string name="vibrate_on_keypress">له‌رینه‌وه‌ له‌کاتی په‌نجه‌پێدانان</string>
+ <string name="sound_on_keypress">ده‌نگ ده‌رکردن له‌کاتی په‌نجه‌پێدانان</string>
+ <string name="popup_on_keypress">گه‌وره‌کردن له‌کاتی په‌نجه‌پێدانان</string>
+ <string name="settings_screen_preferences">ڕێکخستنەکان</string>
+ <string name="settings_screen_appearance">دەرکەوتنی &amp; نەخشەکان</string>
+ <string name="settings_screen_multilingual">بەربژاردەکانی فرەزمانی</string>
+ <string name="settings_screen_gesture">نووسین بە جووڵه‌</string>
+ <string name="settings_screen_correction">ڕاستکردنه‌وه‌ی ده‌ق</string>
+ <string name="settings_screen_advanced">پەرەسەندوو</string>
+ <string name="settings_screen_theme">ڕووکار</string>
+ <string name="include_other_imes_in_language_switch_list">گۆڕین بۆ ته‌خته‌کلیلێکی تر</string>
+ <string name="include_other_imes_in_language_switch_list_summary">کلیلی گۆڕینی زمان بۆ ڕێگاکانی تر</string>
+ <string name="show_language_switch_key">کلیلی گۆڕینی زمان</string>
+ <string name="show_language_switch_key_summary">نیشاندان کاتێک له‌ دوو دانه‌ زیاتر زمان له‌کاردان</string>
+ <string name="key_preview_popup_dismiss_delay">ماوه‌ی ده‌ه‌رکه‌وتنی کلیل به‌ گه‌وره‌یی</string>
+ <string name="key_preview_popup_dismiss_no_delay">ماوه‌ی نه‌بێت</string>
+ <string name="key_preview_popup_dismiss_default_delay">بنەڕەتی</string>
+ <string name="abbreviation_unit_milliseconds"><xliff:g id="MILLISECONDS">%s</xliff:g>میلی چرکە</string>
+ <string name="settings_system_default">بنێڕه‌تی سیسته‌م</string>
+ <string name="use_contacts_dict">پێشنیارکردنی ناوی په‌یوه‌ندی</string>
+ <string name="use_contacts_dict_summary">به‌کارهێنانی ناو بۆ په‌یوه‌ندی له‌ پێشنیار و ڕاستکراوه‌کان</string>
+ <string name="use_personalized_dicts">پێشنیارە بەکەسیکراوەکان</string>
+ <string name="enable_metrics_logging">"باشترکردنی <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="use_double_space_period">ماوه‌ی دوو بۆشایی</string>
+ <string name="use_double_space_period_summary">دو تاپ له‌ شریتی بۆشایی هاورده‌ ده‌کرێ که‌ به‌دواکراوه‌ به‌ بۆشایی</string>
+ <string name="auto_cap">خۆکارانە-گەورەنووسین</string>
+ <string name="auto_cap_summary">به‌ که‌پیته‌ڵکردنی یه‌که‌م وشه‌ له‌ هه‌ر ڕسته‌یه‌کدا</string>
+ <string name="edit_personal_dictionary">وشەدانی کەسی</string>
+ <string name="configure_dictionaries_title">فه‌رهه‌نگی زیادکراوه‌کان</string>
+ <string name="main_dictionary">فه‌رهه‌نگی سه‌ره‌کی</string>
+ <string name="prefs_show_suggestions">نیشاندانی پێشنیاری ڕاست</string>
+ <string name="prefs_show_suggestions_summary">ده‌رکه‌وتنی پێشنیاره‌کان له‌کاتی نوسین</string>
+ <string name="prefs_block_potentially_offensive_title">بلۆک کردنی وشه‌ نایاساییه‌کان</string>
+ <string name="prefs_block_potentially_offensive_summary">پێشنیاری وشه‌ی نایاسایی مه‌که‌</string>
+ <string name="auto_correction">خۆکارانه‌ ڕاستکردنه‌وه‌</string>
+ <string name="auto_correction_summary">میلی بۆشایی و خاڵ ڕێزی خۆکارانە وشە هەڵە نووسراوەکان ڕاست ئەکەنەوە</string>
+ <string name="auto_correction_threshold_mode_off">ناچالاککردن</string>
+ <string name="auto_correction_threshold_mode_modest">كەم</string>
+ <string name="auto_correction_threshold_mode_aggressive">چالاک</string>
+ <string name="auto_correction_threshold_mode_very_aggressive">زۆر چالاکتر</string>
+ <string name="bigram_prediction">پێشنیارەکانی وشەی-داهاتوو</string>
+ <string name="bigram_prediction_summary">وشەی پێشوتر بەکار بهێنە لە سازدانی پێشنیارکردنەکان</string>
+ <string name="gesture_input">چالاککردنی نووسین بە کێشان</string>
+ <string name="gesture_input_summary">تێکردنی وشەیەک بە خلیسکان بە سەر پیتەکان</string>
+ <string name="gesture_preview_trail">شوێنەواری کێشان پیشان بدە</string>
+ <string name="gesture_floating_preview_text">پیشاندانی گەڕۆکی جوڵاو</string>
+ <string name="gesture_floating_preview_text_summary">وشەی پێشنیارکراو ببینە لە کاتی کێشاندا</string>
+ <string name="gesture_space_aware">جووڵەئاماژەی دەستەوشە</string>
+ <string name="gesture_space_aware_summary">تێخستنی بۆشایی نێوان جووڵەئاماژەکاندا بە خشکان بەرەو کلیلی بۆشایی</string>
+ <string name="voice_input">کلیلی نوسینی دەنگی</string>
+ <string name="voice_input_disabled_summary">هیچکام لە شێوازەکانی تێکردنی دەنگی بەتوانا نەکراوە. تێڕوانین بکە بۆ زمان &amp; ڕێکخستنەکانی تێکردن.</string>
+ <string name="configure_input_method">ڕێکخستنی شێوازەکانی تێکردە</string>
+ <string name="language_selection_title">زمانەکان</string>
+ <string name="help_and_feedback">یارمەتی &amp; ڕەخنەوپێشنیار</string>
+ <string name="select_language">زمانەکان</string>
+ <string name="hint_add_to_dictionary">دەست لێدان دووبارە بۆ زەخیرەکردن</string>
+ <string name="hint_add_to_dictionary_without_word">ئێرە بسوو بۆ پاشەکەوتکردن</string>
+ <string name="has_dictionary">فەرهەنگ بەردەستە</string>
+ <string name="keyboard_layout">رووکاری تەختەکلیل</string>
+ <string name="subtype_en_GB">ئینگلیزی (بریتانیا)</string>
+ <string name="subtype_en_US">ئینگلیزی (ئه‌مریکا)</string>
+ <string name="subtype_es_US">ئیسپانی (ئەمریکا)</string>
+ <string name="subtype_with_layout_en_GB">ئینگلیزی (شانشینی یەکگرتوو) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_with_layout_en_US">ئینگلیزی (وڵاتە یەکگرتووەکانی ئەمریکا) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_with_layout_es_US">ئیسپانی (وڵاتە یەکگرتووەکانی ئەمریکا) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_generic_traditional"><xliff:g id="LANGUAGE_NAME" example="Nepali">%s</xliff:g> (نەریتی)</string>
+ <string name="subtype_generic_cyrillic"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (سیرلیک)</string>
+ <string name="subtype_generic_latin"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (لاتین)</string>
+ <string name="subtype_no_language">هیچ زمان (ئەلف با)</string>
+ <string name="subtype_no_language_qwerty">ئەلف با (كوێرتی)</string>
+ <string name="subtype_no_language_qwertz">ئەلف با (كوێرتز)</string>
+ <string name="subtype_no_language_azerty">ئەلف با (ئازێرتى)</string>
+ <string name="subtype_no_language_dvorak">ئەلفبێ (Dvorak)</string>
+ <string name="subtype_no_language_colemak">ئەلفبێ (Colemak)</string>
+ <string name="subtype_no_language_pcqwerty">ئەلف با (کۆمپیوتەری کەسی)</string>
+ <string name="subtype_emoji">ڕوو وێنە</string>
+ <string name="keyboard_theme">ڕووکاری تەختەکلیل</string>
+ <string name="custom_input_styles_title">شێوازەکانی نوسینی درووستکراو</string>
+ <string name="add_style">زیادکردنی شێواز</string>
+ <string name="add">زیاکردن</string>
+ <string name="remove">لابردن</string>
+ <string name="save">پاشەکەوتکردن</string>
+ <string name="subtype_locale">زمان</string>
+ <string name="keyboard_layout_set">نەخشە</string>
+ <string name="custom_input_style_note_message">"شێوازی تێکردنی خوازراوی خۆت پێویستی بە چالاککردنە پێش ئەوەی دەست بکەی بە بەکارهێنانی. دەتەوێ ئێستا چالاکی بکەیت؟"</string>
+ <string name="enable">تواناپێدان</string>
+ <string name="not_now">ئێستا نا</string>
+ <string name="custom_input_style_already_exists">"هەمان شێوازی تێکردن پێشتر هەیە: <xliff:g id="INPUT_STYLE_NAME" example="English (Dvorak)">%s</xliff:g>"</string>
+ <string name="prefs_keypress_vibration_duration_settings">ماوەی لەرینەوەی کلیل لێدان</string>
+ <string name="prefs_keypress_sound_volume_settings">قەبارەی دەنگی کلیل لێدان</string>
+ <string name="button_default">بنه‌ڕه‌ت</string>
+ <string name="setup_welcome_title">"بەخێربێیت بۆ <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_welcome_additional_description">بە نووسینی کێشان</string>
+ <string name="setup_start_action">دەستپێبکە</string>
+ <string name="setup_next_action">هەنگاوی داهاتوو</string>
+ <string name="setup_steps_title">"دامەزراندنی <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_step1_title">"بەتواناکردنی <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_step1_instruction">"تکایە تێڕوانین بکە \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" in your بۆ زمان &amp; ڕێکخستنەکانی تێکردن. ئەمە پارێزپرسیی دەکات بۆ ڕادان لەسەر ئامێرەکەت."</string>
+ <string name="setup_step1_finished_instruction">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> پێشتر بەتوانا کراوە لە زمان &amp; ڕێکخستنەکانی تێکردن, کەواتە ئەم هەنگاوە کراوە. بەرەو هەنگاوی دواتر!"</string>
+ <string name="setup_step1_action">لە ڕێکخستنەکاندا چالاکی بکە</string>
+ <string name="setup_step2_title">"گۆڕان بۆ <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_step2_instruction">"دواتر \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" دیاری بکە وەک شێوازی چالاکی تیکردنی دەق بۆ ئامێرەکەت."</string>
+ <string name="setup_step2_action">گۆڕینی ته‌خته‌کلیل</string>
+ <string name="setup_step3_title">"پیرۆزە، هەموو شتەکانت دامەزراند!"</string>
+ <string name="setup_step3_instruction">ئێستا تۆ ئەتوانی لەناو هەموو بەرنامە دڵخوازەکانتدا بنووسی بە <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>.</string>
+ <string name="setup_step3_action">ڕێکبەندی زمانە زیادەکان</string>
+ <string name="setup_finish_action">تەواوبوو</string>
+ <string name="show_setup_wizard_icon">پێشاندانی وێنۆچكه‌ بەرنامەکان</string>
+ <string name="show_setup_wizard_icon_summary">پیشاندانی وێنوکەی نەرمەواڵا لە دەسپێکەردا</string>
+ <string name="app_name">دابینکەری وشەدان</string>
+ <string name="dictionary_provider_name">دابینکەری وشەدان</string>
+ <string name="dictionary_service_name">خزمەتگوزارى فەرهەنگ</string>
+ <string name="download_description">زانیاری نوێکردنەوەی فەرهەنگ</string>
+ <string name="dictionary_settings_title">وشەدانە زێدەکراوەکان</string>
+ <string name="dictionary_install_over_metered_network_prompt">فەرهەنگ بەردەستە</string>
+ <string name="dictionary_settings_summary">رێکخستنەکان بۆ فەرهەنگەکان</string>
+ <string name="user_dictionaries">فەرهەنگەکانی بەکارهێنەر</string>
+ <string name="default_user_dict_pref_name">فەرهەنگی بەکارهێنەر</string>
+ <string name="dictionary_available">فەرهەنگ بەردەستە</string>
+ <string name="dictionary_downloading">داگرتنی ئێستا</string>
+ <string name="dictionary_installed">دامەزراوە</string>
+ <string name="dictionary_disabled">دامەزرێنرا، ناچالاککرا</string>
+ <string name="cannot_connect_to_dict_service">هەڵە لە کاتی گرێدان بە خزمەتگوزاری وشەدان</string>
+ <string name="no_dictionaries_available">هیچ فەرهەنگێک بەردەست نیە</string>
+ <string name="check_for_updates_now">بووژاندنه‌وه‌</string>
+ <string name="last_update">دوایین نوێکردنەوە</string>
+ <string name="message_updating">پشکنین بۆ نوێکردنەوە</string>
+ <string name="message_loading">بارکردن&#8230;</string>
+ <string name="main_dict_description">وشەدانی سەرەکی</string>
+ <string name="cancel">هەڵوەشاندنەوە</string>
+ <string name="go_to_settings">ڕێکخستنەکان</string>
+ <string name="install_dict">دامەزراندن</string>
+ <string name="cancel_download_dict">هەڵوەشاندنەوە</string>
+ <string name="delete_dict">سڕینه‌وه‌</string>
+ <string name="should_download_over_metered_prompt">زمانە دیاریکراوەکەی سەر ئامێری مۆبایلەکەت وشەدانیکی بەردەستی هەیە.&lt;br/&gt;
+ئێمە پێشنیار ئەکەین &lt;b&gt;بۆ داگرتنی&lt;/b&gt; the <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> وشەدانەکە بۆ باشترکردنی شارەزاییی نووسینت.&lt;br/&gt;
+&lt;br/&gt;
+داگرتنەکە ئەتوانێت یەک یان دوو خولەکی لەسەر 3G بخایەنێت. 3G. لەوانەیە دراوی تێ بچێت ئەگەر گەڵاڵەیەکی &lt;b&gt;دراوەی بێسنوورت نەبێ&lt;/b&gt;.&lt;br/&gt;
+ئەگەر تۆ دڵنیا نیت لەوەی کام گەڵاڵەیەکی دراوەت هەیە, ئێمە پێشنیار ئەکەین بەستنەوەیەکی Wi-Fi بدۆزیتەوە بۆ دەستپێکردنی داگرتنەکە بە شێوەیەکی خۆکارانە.&lt;br/&gt;
+&lt;br/&gt;
+تێبینی: تۆ ئەتوانی وشەدانەکان داگریت و لایانبەریت بە ڕۆیشتن بۆ &lt;b&gt;زمان &amp; تێکردن&lt;/b&gt; لە &lt;b&gt;ڕێکخستنەکان&lt;/b&gt; لە پێڕستی ئامێری مۆبایلەکەت.</string>
+ <string name="download_over_metered">ئێستا دایگرە (<xliff:g id="SIZE_IN_MEGABYTES" example="0.7">%1$.1f</xliff:g>MB)</string>
+ <string name="do_not_download_over_metered">لە ڕێگەی Wi-Fi دایبەزێنە</string>
+ <string name="dict_available_notification_title">وشەدانێک بەردەستە بۆ <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g></string>
+ <string name="dict_available_notification_description">لێدە بۆ چاوخشکاندنەوە و داگرتن</string>
+ <string name="toast_downloading_suggestions">دابەزاندن: پێشنیارەکان بۆ <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> بەم زووانە ئامادە دەبێت.</string>
+ <string name="version_text">وەشانی <xliff:g id="VERSION_NUMBER" example="1.0.1864.643521">%1$s</xliff:g></string>
+ <string name="user_dict_settings_add_menu_title">زیاکردن</string>
+ <string name="user_dict_settings_add_dialog_title">زیاکردن بۆ وشەدان</string>
+ <string name="user_dict_settings_add_screen_title">دەستەوشە</string>
+ <string name="user_dict_settings_add_dialog_more_options">بەربژاردەی زیاتر</string>
+ <string name="user_dict_settings_add_dialog_less_options">بەربژاردەی کەمتر</string>
+ <string name="user_dict_settings_add_dialog_confirm">باشه‌</string>
+ <string name="user_dict_settings_add_word_option_name">وشە:</string>
+ <string name="user_dict_settings_add_shortcut_option_name">کورتەڕێ:</string>
+ <string name="user_dict_settings_add_locale_option_name">زمان:</string>
+ <string name="user_dict_settings_add_word_hint">وشەیەک بنووسە</string>
+ <string name="user_dict_settings_add_shortcut_hint">کورتەڕێی ئارەزوومەندانە</string>
+ <string name="user_dict_settings_edit_dialog_title">دەستکاریکردنی وشە</string>
+ <string name="user_dict_settings_context_menu_edit_title">دەستکاریکردن</string>
+ <string name="user_dict_settings_context_menu_delete_title">سڕینه‌وه‌</string>
+ <string name="user_dict_settings_empty_text">هیچ وشەیەکت لە وشەدانی بەکارهێنەر نییە.بە سواندنی دەگمەی زیاکردن (+) وشەیەک زیا بکە.</string>
+ <string name="user_dict_settings_all_languages">بۆ هەموو زمانەکان</string>
+ <string name="user_dict_settings_more_languages">زمانی زیاتر&#8230;</string>
+ <string name="user_dict_settings_delete">سڕینه‌وه‌</string>
+ <string name="user_dict_fast_scroll_alphabet">\u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
+</resources>
diff --git a/java/res/values-lb/strings-action-keys.xml b/java/res/values-lb/strings-action-keys.xml
new file mode 100644
index 000000000..eb8ce202e
--- /dev/null
+++ b/java/res/values-lb/strings-action-keys.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="label_go_key">Lass</string>
+ <string name="label_next_key">Weider</string>
+ <string name="label_previous_key">Zréck</string>
+ <string name="label_done_key">Fäerdeg</string>
+ <string name="label_send_key">Schécken</string>
+ <string name="label_search_key">Sichen</string>
+ <string name="label_pause_key">Paus</string>
+ <string name="label_wait_key">Waart</string>
+</resources>
diff --git a/java/res/values-lb/strings-appname.xml b/java/res/values-lb/strings-appname.xml
new file mode 100644
index 000000000..d3fad14df
--- /dev/null
+++ b/java/res/values-lb/strings-appname.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <string name="english_ime_name">Android-Tastatur (AOSP)</string>
+ <string name="spell_checker_service_name">Android-Orthographiekorrekter (AOSP)</string>
+ <string name="english_ime_settings">Astellunge vun der Android-Tastatur (AOSP)</string>
+ <string name="android_spell_checker_settings">Astellunge vum Android-Orthographiekorrekter (AOSP)</string>
+</resources>
diff --git a/java/res/values-lb/strings-config-important-notice.xml b/java/res/values-lb/strings-config-important-notice.xml
new file mode 100644
index 000000000..47a721f78
--- /dev/null
+++ b/java/res/values-lb/strings-config-important-notice.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+ <string name="use_personalized_dicts_summary">Aus de getippten Texter léieren an d\'Daten auswäerte fir d\'Virschléi ze verbesseren</string>
+</resources>
diff --git a/java/res/values-lb/strings-emoji-descriptions.xml b/java/res/values-lb/strings-emoji-descriptions.xml
new file mode 100644
index 000000000..3d6f63d41
--- /dev/null
+++ b/java/res/values-lb/strings-emoji-descriptions.xml
@@ -0,0 +1,849 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These Emoji symbols are unsupported by TTS.
+ TODO: Remove this file when TTS/TalkBack support these Emoji symbols.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_emoji_00A9">Copyright-Zeechen</string>
+ <string name="spoken_emoji_00AE">\"Registered Trademark\"-Zeechen</string>
+ <string name="spoken_emoji_203C">Duebelt Ausruffzeechen</string>
+ <string name="spoken_emoji_2049">Ausruffzeechen a Frozeechen</string>
+ <string name="spoken_emoji_2122">\"Trademark\"-Zeechen</string>
+ <string name="spoken_emoji_2139">Informatiounsquell</string>
+ <string name="spoken_emoji_2194">Feil no lénks a riets</string>
+ <string name="spoken_emoji_2195">Feil no uewen an ënnen</string>
+ <string name="spoken_emoji_2196">Feil no lénks uewen</string>
+ <string name="spoken_emoji_2197">Feil no riets uewen</string>
+ <string name="spoken_emoji_2198">Feil no riets ënnen</string>
+ <string name="spoken_emoji_2199">Feil no lénks ënnen</string>
+ <string name="spoken_emoji_21A9">Feil no lénks mat Krop</string>
+ <string name="spoken_emoji_21AA">Feil no riets mat Krop</string>
+ <string name="spoken_emoji_231A">Auer</string>
+ <string name="spoken_emoji_231B">Sandauer</string>
+ <string name="spoken_emoji_23E9">Zwee schwaarz Dräiecker déi no riets weisen</string>
+ <string name="spoken_emoji_23EA">Zwee schwaarz Dräiecker déi no lénks weisen</string>
+ <string name="spoken_emoji_23EB">Zwee schwaarz Dräiecker déi no uewe weisen</string>
+ <string name="spoken_emoji_23EC">Zwee schwaarz Dräiecker déi no ënne weisen</string>
+ <string name="spoken_emoji_23F0">Wecker</string>
+ <string name="spoken_emoji_23F3">Sandauer mat fléissendem Sand</string>
+ <string name="spoken_emoji_24C2">Buschtaf M an engem Krees</string>
+ <string name="spoken_emoji_25AA">Klengt schwaarzt Quadrat</string>
+ <string name="spoken_emoji_25AB">Klengt wäisst Quadrat</string>
+ <string name="spoken_emoji_25B6">Schwaarzen Dräieck deen no riets weist</string>
+ <string name="spoken_emoji_25C0">Schwaarzen Dräieck deen no lénks weist</string>
+ <string name="spoken_emoji_25FB">Mëttelgrousst wäisst Quadrat</string>
+ <string name="spoken_emoji_25FC">Mëttelgrousst schwaarzt Quadrat</string>
+ <string name="spoken_emoji_25FD">Mëttelklengt wäisst Quadrat</string>
+ <string name="spoken_emoji_25FE">Mëttelklengt schwaarzt Quadrat</string>
+ <string name="spoken_emoji_2600">Schwaarz Sonn mat Stralen</string>
+ <string name="spoken_emoji_2601">Wollek</string>
+ <string name="spoken_emoji_260E">Schwaarzen Telefon</string>
+ <string name="spoken_emoji_2611">Markéierungsfeld mat Kreepchen</string>
+ <string name="spoken_emoji_2614">Prabbeli mat Reendrëpsen</string>
+ <string name="spoken_emoji_2615">Waarmt Gedrénks</string>
+ <string name="spoken_emoji_261D">Weisfanger deen eropweist</string>
+ <string name="spoken_emoji_263A">Wäisse Smiley</string>
+ <string name="spoken_emoji_2648">Widder</string>
+ <string name="spoken_emoji_2649">Stéier</string>
+ <string name="spoken_emoji_264A">Zwilling</string>
+ <string name="spoken_emoji_264B">Kriibs</string>
+ <string name="spoken_emoji_264C">Léiw</string>
+ <string name="spoken_emoji_264D">Jongfra</string>
+ <string name="spoken_emoji_264E">Wo</string>
+ <string name="spoken_emoji_264F">Skorpioun</string>
+ <string name="spoken_emoji_2650">Schëtze</string>
+ <string name="spoken_emoji_2651">Steebock</string>
+ <string name="spoken_emoji_2652">Waassermann</string>
+ <string name="spoken_emoji_2653">Fësch</string>
+ <string name="spoken_emoji_2660">Schëpp Schwaarz</string>
+ <string name="spoken_emoji_2663">Kräiz Schwaarz</string>
+ <string name="spoken_emoji_2665">Häerz Schwaarz</string>
+ <string name="spoken_emoji_2666">Karo Schwaarz</string>
+ <string name="spoken_emoji_2668">Thermalquell</string>
+ <string name="spoken_emoji_267B">Schwaarzt universellt Recycling-Symbol</string>
+ <string name="spoken_emoji_267F">Rollstullsymbol</string>
+ <string name="spoken_emoji_2693">Anker</string>
+ <string name="spoken_emoji_26A0">Warnzeechen</string>
+ <string name="spoken_emoji_26A1">Héichspannungszeechen</string>
+ <string name="spoken_emoji_26AA">Mëttelgrousse wäisse Krees</string>
+ <string name="spoken_emoji_26AB">Mëttelgrousse schwaarze Krees</string>
+ <string name="spoken_emoji_26BD">Foussball</string>
+ <string name="spoken_emoji_26BE">Baseball</string>
+ <string name="spoken_emoji_26C4">Schnéimännchen ouni Schnéi</string>
+ <string name="spoken_emoji_26C5">Sonn hanner enger Wollek</string>
+ <string name="spoken_emoji_26CE">Schlaangendréier</string>
+ <string name="spoken_emoji_26D4">Keen Zougank</string>
+ <string name="spoken_emoji_26EA">Kierch</string>
+ <string name="spoken_emoji_26F2">Sprangbur</string>
+ <string name="spoken_emoji_26F3">Fändel an engem Lach</string>
+ <string name="spoken_emoji_26F5">Segelboot</string>
+ <string name="spoken_emoji_26FA">Zelt</string>
+ <string name="spoken_emoji_26FD">Tanksail</string>
+ <string name="spoken_emoji_2702">Schwaarz Schéier</string>
+ <string name="spoken_emoji_2705">Décke wäisse Kreepchen</string>
+ <string name="spoken_emoji_2708">Fliger</string>
+ <string name="spoken_emoji_2709">Enveloppe</string>
+ <string name="spoken_emoji_270A">Ausgestreckt Fauscht</string>
+ <string name="spoken_emoji_270B">Ausgestreckt Hand</string>
+ <string name="spoken_emoji_270C">Victory-Zeechen</string>
+ <string name="spoken_emoji_270F">Bläistëft</string>
+ <string name="spoken_emoji_2712">Schwaarz Schreiffieder</string>
+ <string name="spoken_emoji_2714">Décke Kreepchen</string>
+ <string name="spoken_emoji_2716">Déckt Multiplizéierungszeechen</string>
+ <string name="spoken_emoji_2728">Fonkelen</string>
+ <string name="spoken_emoji_2733">Stär mat aacht Zacken</string>
+ <string name="spoken_emoji_2734">Schwaarze Stär mat aacht Zacken</string>
+ <string name="spoken_emoji_2744">Schnéiflack</string>
+ <string name="spoken_emoji_2747">Fonken</string>
+ <string name="spoken_emoji_274C">Décken X</string>
+ <string name="spoken_emoji_274E">Schwaarzt Quadrat mat Kräiz</string>
+ <string name="spoken_emoji_2753">Dekoratiivt schwaarzt Frozeechen</string>
+ <string name="spoken_emoji_2754">Dekoratiivt wäisst Frozeechen</string>
+ <string name="spoken_emoji_2755">Dekoratiivt wäisst Ausruffzeechen</string>
+ <string name="spoken_emoji_2757">Déckt Ausruffzeechen</string>
+ <string name="spoken_emoji_2764">Déckt schwaarzt Häerz</string>
+ <string name="spoken_emoji_2795">Déckt Plus-Zeechen</string>
+ <string name="spoken_emoji_2796">Déckt Minus-Zeechen</string>
+ <string name="spoken_emoji_2797">Déckt Gedeelt-Zeechen</string>
+ <string name="spoken_emoji_27A1">Décke Feil no riets</string>
+ <string name="spoken_emoji_27B0">Kréngel</string>
+ <string name="spoken_emoji_27BF">Duebel Kréngel</string>
+ <string name="spoken_emoji_2934">Feil no riets deen eropweist</string>
+ <string name="spoken_emoji_2935">Feil no riets deen erofweist</string>
+ <string name="spoken_emoji_2B05">Décke Feil no lénks</string>
+ <string name="spoken_emoji_2B06">Décke Feil no uewen</string>
+ <string name="spoken_emoji_2B07">Décke Feil no ënnen</string>
+ <string name="spoken_emoji_2B1B">Grousst schwaarzt Quadrat</string>
+ <string name="spoken_emoji_2B1C">Grousst wäisst Quadrat</string>
+ <string name="spoken_emoji_2B50">Wäisse mëttelgrousse Stär</string>
+ <string name="spoken_emoji_2B55">Décke grousse Krees</string>
+ <string name="spoken_emoji_3030">Wellelinn</string>
+ <string name="spoken_emoji_303D">Ioriten (Japanescht Noutenzeechen)</string>
+ <string name="spoken_emoji_3297">Ideogramm fir \"Gléckwonsch\" an engem Krees</string>
+ <string name="spoken_emoji_3299">Ideogramm fir \"Geheimnis\" an engem Krees</string>
+ <string name="spoken_emoji_1F004">Mahjong-Kachel rouden Draach</string>
+ <string name="spoken_emoji_1F0CF">Spillkaart mat schwaarzem Joker</string>
+ <string name="spoken_emoji_1F170">Bluttgrupp A</string>
+ <string name="spoken_emoji_1F171">Bluttgrupp B</string>
+ <string name="spoken_emoji_1F17E">Bluttgrupp O</string>
+ <string name="spoken_emoji_1F17F">Parkplaz</string>
+ <string name="spoken_emoji_1F18E">Bluttgrupp AB</string>
+ <string name="spoken_emoji_1F191">Quadrat mat \"CL\"</string>
+ <string name="spoken_emoji_1F192">Quadrat mat \"Cool\"</string>
+ <string name="spoken_emoji_1F193">Quadrat mat \"Free\"</string>
+ <string name="spoken_emoji_1F194">Quadrat mat \"ID\"</string>
+ <string name="spoken_emoji_1F195">Quadrat mat \"New\"</string>
+ <string name="spoken_emoji_1F196">Quadrat mat \"N G\"</string>
+ <string name="spoken_emoji_1F197">Quadrat mat \"OK\"</string>
+ <string name="spoken_emoji_1F198">Quadrat mat \"SOS\"</string>
+ <string name="spoken_emoji_1F199">Quadrat mat \"Up\" an Ausruffzeechen</string>
+ <string name="spoken_emoji_1F19A">Quadrat mat \"vs\"</string>
+ <string name="spoken_emoji_1F201">Quadrat mat japaneschem Zeeche fir \"hei\"</string>
+ <string name="spoken_emoji_1F202">Quadrat mat japaneschem Zeeche fir \"Service\"</string>
+ <string name="spoken_emoji_1F21A">Quadrat mat Ideogramm fir \"gratis\"</string>
+ <string name="spoken_emoji_1F22F">Quadrat mat Ideogramm fir \"reservéierte Sëtz\"</string>
+ <string name="spoken_emoji_1F232">Quadrat mat Ideogramm fir \"Verbuet\"</string>
+ <string name="spoken_emoji_1F233">Quadrat mat Ideogramm fir \"fräi\"</string>
+ <string name="spoken_emoji_1F234">Quadrat mat Ideogramm fir \"bestätegt\"</string>
+ <string name="spoken_emoji_1F235">Quadrat mat Ideogramm fir \"besat\"</string>
+ <string name="spoken_emoji_1F236">Quadrat mat Ideogramm fir \"bezuelt\"</string>
+ <string name="spoken_emoji_1F237">Quadrat mat Ideogramm fir \"all Mount\"</string>
+ <string name="spoken_emoji_1F238">Quadrat mat Ideogramm fir \"Demande\"</string>
+ <string name="spoken_emoji_1F239">Quadrat mat Ideogramm fir \"Rabatt\"</string>
+ <string name="spoken_emoji_1F23A">Quadrat mat Ideogramm fir \"d\'Geschäft ass op\"</string>
+ <string name="spoken_emoji_1F250">Ideogramm fir \"Virdeel\" an engem Krees</string>
+ <string name="spoken_emoji_1F251">Ideogramm fir \"Akzeptéieren\" an engem Krees</string>
+ <string name="spoken_emoji_1F300">Zyklon</string>
+ <string name="spoken_emoji_1F301">Niwweleg</string>
+ <string name="spoken_emoji_1F302">Zoue Prabbeli</string>
+ <string name="spoken_emoji_1F303">Nuecht mat Stären</string>
+ <string name="spoken_emoji_1F304">Sonnenopgank iwwer de Bierger</string>
+ <string name="spoken_emoji_1F305">Sonnenopgank</string>
+ <string name="spoken_emoji_1F306">Silhouette vun enger Stad an der Owesdämmerung</string>
+ <string name="spoken_emoji_1F307">Sonnenënnergank iwwer Gebaier</string>
+ <string name="spoken_emoji_1F308">Reebou</string>
+ <string name="spoken_emoji_1F309">Bréck an der Nuecht</string>
+ <string name="spoken_emoji_1F30A">Waasserwell</string>
+ <string name="spoken_emoji_1F30B">Vulkan</string>
+ <string name="spoken_emoji_1F30C">Mëllechstrooss</string>
+ <string name="spoken_emoji_1F30D">Globus mat Europa an Afrika</string>
+ <string name="spoken_emoji_1F30E">Globus mat Nord- a Südamerika</string>
+ <string name="spoken_emoji_1F30F">Globus mat Asien an Australien</string>
+ <string name="spoken_emoji_1F310">Globus mat Meridianen</string>
+ <string name="spoken_emoji_1F311">Neimoundsymbol</string>
+ <string name="spoken_emoji_1F312">Zouhuelende Sichelmound</string>
+ <string name="spoken_emoji_1F313">Mound am éischte Véierel</string>
+ <string name="spoken_emoji_1F314">Zouhuelenden Dräivéierelsmound</string>
+ <string name="spoken_emoji_1F315">Vollmoundsymbol</string>
+ <string name="spoken_emoji_1F316">Ofhuelenden Dräivéierelsmound</string>
+ <string name="spoken_emoji_1F317">Mound am leschte Véierel</string>
+ <string name="spoken_emoji_1F318">Ofhuelende Sichelmound</string>
+ <string name="spoken_emoji_1F319">Sichelmound</string>
+ <string name="spoken_emoji_1F31A">Neimound mat Gesiicht</string>
+ <string name="spoken_emoji_1F31B">Mound am éischte Véierel mat Gesiicht</string>
+ <string name="spoken_emoji_1F31C">Mound am leschte Véierel mat Gesiicht</string>
+ <string name="spoken_emoji_1F31D">Vollmound mat Gesiicht</string>
+ <string name="spoken_emoji_1F31E">Sonn mat Gesiicht</string>
+ <string name="spoken_emoji_1F31F">Glousende Stär</string>
+ <string name="spoken_emoji_1F320">Stäreschnäiz</string>
+ <string name="spoken_emoji_1F330">Käscht</string>
+ <string name="spoken_emoji_1F331">Setzling</string>
+ <string name="spoken_emoji_1F332">Ëmmergrénge Bam</string>
+ <string name="spoken_emoji_1F333">Lafbam</string>
+ <string name="spoken_emoji_1F334">Palm</string>
+ <string name="spoken_emoji_1F335">Kaktus</string>
+ <string name="spoken_emoji_1F337">Tulp</string>
+ <string name="spoken_emoji_1F338">Kiischtebléi</string>
+ <string name="spoken_emoji_1F339">Rous</string>
+ <string name="spoken_emoji_1F33A">Hibiscus</string>
+ <string name="spoken_emoji_1F33B">Sonneblumm</string>
+ <string name="spoken_emoji_1F33C">Bléi</string>
+ <string name="spoken_emoji_1F33D">Maiskolben</string>
+ <string name="spoken_emoji_1F33E">Räisplanz</string>
+ <string name="spoken_emoji_1F33F">Kraider</string>
+ <string name="spoken_emoji_1F340">Véierbliederegt Kléiblat</string>
+ <string name="spoken_emoji_1F341">Ahornblat</string>
+ <string name="spoken_emoji_1F342">Blat dat erofgefall ass</string>
+ <string name="spoken_emoji_1F343">Blat dat am Wand flattert</string>
+ <string name="spoken_emoji_1F344">Champignon</string>
+ <string name="spoken_emoji_1F345">Tomat</string>
+ <string name="spoken_emoji_1F346">Aubergine</string>
+ <string name="spoken_emoji_1F347">Drauwen</string>
+ <string name="spoken_emoji_1F348">Meloun</string>
+ <string name="spoken_emoji_1F349">Waassermeloun</string>
+ <string name="spoken_emoji_1F34A">Mandarine</string>
+ <string name="spoken_emoji_1F34B">Zitroun</string>
+ <string name="spoken_emoji_1F34C">Banann</string>
+ <string name="spoken_emoji_1F34D">Ananas</string>
+ <string name="spoken_emoji_1F34E">Rouden Apel</string>
+ <string name="spoken_emoji_1F34F">Gréngen Apel</string>
+ <string name="spoken_emoji_1F350">Bir</string>
+ <string name="spoken_emoji_1F351">Piisch</string>
+ <string name="spoken_emoji_1F352">Kiischten</string>
+ <string name="spoken_emoji_1F353">Äerdbier</string>
+ <string name="spoken_emoji_1F354">Hamburger</string>
+ <string name="spoken_emoji_1F355">Pizzastéck</string>
+ <string name="spoken_emoji_1F356">Fleesch un enger Schank</string>
+ <string name="spoken_emoji_1F357">Gefliggelbeen</string>
+ <string name="spoken_emoji_1F358">Räiskichelchen</string>
+ <string name="spoken_emoji_1F359">Räisball</string>
+ <string name="spoken_emoji_1F35A">Gekachte Räis</string>
+ <string name="spoken_emoji_1F35B">Curry a Räis</string>
+ <string name="spoken_emoji_1F35C">Schossel déi dämpt</string>
+ <string name="spoken_emoji_1F35D">Spaghetti</string>
+ <string name="spoken_emoji_1F35E">Brout</string>
+ <string name="spoken_emoji_1F35F">Fritten</string>
+ <string name="spoken_emoji_1F360">Gebrode Gromper</string>
+ <string name="spoken_emoji_1F361">Dango</string>
+ <string name="spoken_emoji_1F362">Oden</string>
+ <string name="spoken_emoji_1F363">Sushi</string>
+ <string name="spoken_emoji_1F364">Frittéiert Crevett</string>
+ <string name="spoken_emoji_1F365">Fëschfrikadell mat Wierbeldekoratioun</string>
+ <string name="spoken_emoji_1F366">Soft-Glace</string>
+ <string name="spoken_emoji_1F367">Geriwwe Glace</string>
+ <string name="spoken_emoji_1F368">Glace</string>
+ <string name="spoken_emoji_1F369">Donut</string>
+ <string name="spoken_emoji_1F36A">Kichelchen</string>
+ <string name="spoken_emoji_1F36B">Schokla</string>
+ <string name="spoken_emoji_1F36C">Kamell</string>
+ <string name="spoken_emoji_1F36D">Lutsch</string>
+ <string name="spoken_emoji_1F36E">Pudding</string>
+ <string name="spoken_emoji_1F36F">Hunnegdëppen</string>
+ <string name="spoken_emoji_1F370">Shortcake</string>
+ <string name="spoken_emoji_1F371">Bento-Box</string>
+ <string name="spoken_emoji_1F372">Schossel mat Iessen</string>
+ <string name="spoken_emoji_1F373">Kachen</string>
+ <string name="spoken_emoji_1F374">Messer a Forschett</string>
+ <string name="spoken_emoji_1F375">Téitaass ouni Grëff</string>
+ <string name="spoken_emoji_1F376">Sake-Fläsch an -Taass</string>
+ <string name="spoken_emoji_1F377">Wäiglas</string>
+ <string name="spoken_emoji_1F378">Cocktailglas</string>
+ <string name="spoken_emoji_1F379">Tropescht Gedrénks</string>
+ <string name="spoken_emoji_1F37A">Béierglas</string>
+ <string name="spoken_emoji_1F37B">Béiertasen déi mateneen ustoussen</string>
+ <string name="spoken_emoji_1F37C">Puppelchersfläsch</string>
+ <string name="spoken_emoji_1F380">Schläif</string>
+ <string name="spoken_emoji_1F381">Agepakene Kaddo</string>
+ <string name="spoken_emoji_1F382">Gebuertsdagskuch</string>
+ <string name="spoken_emoji_1F383">Halloweenskürbis</string>
+ <string name="spoken_emoji_1F384">Chrëschtbeemchen</string>
+ <string name="spoken_emoji_1F385">Kleeschen</string>
+ <string name="spoken_emoji_1F386">Freedefeier</string>
+ <string name="spoken_emoji_1F387">Späizmännchen</string>
+ <string name="spoken_emoji_1F388">Ballon</string>
+ <string name="spoken_emoji_1F389">Konfettiskannoun</string>
+ <string name="spoken_emoji_1F38A">Konfettiball</string>
+ <string name="spoken_emoji_1F38B">Tanabata-Bam</string>
+ <string name="spoken_emoji_1F38C">Gekräizte Fändel</string>
+ <string name="spoken_emoji_1F38D">Japanesch Neijoersdekoratioun</string>
+ <string name="spoken_emoji_1F38E">Japanesch Poppen</string>
+ <string name="spoken_emoji_1F38F">Japanesche Kaarpefändel</string>
+ <string name="spoken_emoji_1F390">Wandspill</string>
+ <string name="spoken_emoji_1F391">Japanesch Moundzeremonie</string>
+ <string name="spoken_emoji_1F392">Schoulsak</string>
+ <string name="spoken_emoji_1F393">College-Hutt</string>
+ <string name="spoken_emoji_1F3A0">Karussellpäerd</string>
+ <string name="spoken_emoji_1F3A1">Riserad</string>
+ <string name="spoken_emoji_1F3A2">Aachterbunn</string>
+ <string name="spoken_emoji_1F3A3">Aangelrutt a Fësch</string>
+ <string name="spoken_emoji_1F3A4">Mikro</string>
+ <string name="spoken_emoji_1F3A5">Filmkamera</string>
+ <string name="spoken_emoji_1F3A6">Kino</string>
+ <string name="spoken_emoji_1F3A7">Kopfhörer</string>
+ <string name="spoken_emoji_1F3A8">Molpalett</string>
+ <string name="spoken_emoji_1F3A9">Zylinderhutt</string>
+ <string name="spoken_emoji_1F3AA">Zirkuszelt</string>
+ <string name="spoken_emoji_1F3AB">Ticket</string>
+ <string name="spoken_emoji_1F3AC">Filmklapp</string>
+ <string name="spoken_emoji_1F3AD">Duerstellend Kënschten</string>
+ <string name="spoken_emoji_1F3AE">Videospill</string>
+ <string name="spoken_emoji_1F3AF">Direkten Treffer</string>
+ <string name="spoken_emoji_1F3B0">Spillautomat</string>
+ <string name="spoken_emoji_1F3B1">Billiardspill</string>
+ <string name="spoken_emoji_1F3B2">Spillwürfel</string>
+ <string name="spoken_emoji_1F3B3">Bowling</string>
+ <string name="spoken_emoji_1F3B4">Japanesch Spillkaarte mat Blummemotiver</string>
+ <string name="spoken_emoji_1F3B5">Museksnout</string>
+ <string name="spoken_emoji_1F3B6">Museksnouten</string>
+ <string name="spoken_emoji_1F3B7">Saxophon</string>
+ <string name="spoken_emoji_1F3B8">Gittar</string>
+ <string name="spoken_emoji_1F3B9">Pianotastatur</string>
+ <string name="spoken_emoji_1F3BA">Trompett</string>
+ <string name="spoken_emoji_1F3BB">Gei</string>
+ <string name="spoken_emoji_1F3BC">Muskesnouten</string>
+ <string name="spoken_emoji_1F3BD">Lafshirt mat Schärp</string>
+ <string name="spoken_emoji_1F3BE">Tennisraquette a -ball</string>
+ <string name="spoken_emoji_1F3BF">Ski a Skischung</string>
+ <string name="spoken_emoji_1F3C0">Basketball a -Kuerf</string>
+ <string name="spoken_emoji_1F3C1">Karréierte Fändel</string>
+ <string name="spoken_emoji_1F3C2">Snowboardfuerer</string>
+ <string name="spoken_emoji_1F3C3">Leefer</string>
+ <string name="spoken_emoji_1F3C4">Surfer</string>
+ <string name="spoken_emoji_1F3C6">Pokal</string>
+ <string name="spoken_emoji_1F3C7">Päerdscourse</string>
+ <string name="spoken_emoji_1F3C8">American Football</string>
+ <string name="spoken_emoji_1F3C9">Rugbyball</string>
+ <string name="spoken_emoji_1F3CA">Schwëmmer</string>
+ <string name="spoken_emoji_1F3E0">Haus</string>
+ <string name="spoken_emoji_1F3E1">Haus mat Gaart</string>
+ <string name="spoken_emoji_1F3E2">Bürosgebai</string>
+ <string name="spoken_emoji_1F3E3">Japanesche Postbüro</string>
+ <string name="spoken_emoji_1F3E4">Europäesche Postbüro</string>
+ <string name="spoken_emoji_1F3E5">Spidol</string>
+ <string name="spoken_emoji_1F3E6">Bank</string>
+ <string name="spoken_emoji_1F3E7">Bankomat</string>
+ <string name="spoken_emoji_1F3E8">Hotel</string>
+ <string name="spoken_emoji_1F3E9">Hotel mat engem Häerz als Logo</string>
+ <string name="spoken_emoji_1F3EA">24-Stonne-Geschäft</string>
+ <string name="spoken_emoji_1F3EB">Schoul</string>
+ <string name="spoken_emoji_1F3EC">Méistäckegt Geschäft</string>
+ <string name="spoken_emoji_1F3ED">Fabrik</string>
+ <string name="spoken_emoji_1F3EE">Izakaya-Lanter</string>
+ <string name="spoken_emoji_1F3EF">Japanescht Schlass</string>
+ <string name="spoken_emoji_1F3F0">Europäescht Schlass</string>
+ <string name="spoken_emoji_1F400">Rat</string>
+ <string name="spoken_emoji_1F401">Maus</string>
+ <string name="spoken_emoji_1F402">Ochs</string>
+ <string name="spoken_emoji_1F403">Waasserbüffel</string>
+ <string name="spoken_emoji_1F404">Kou</string>
+ <string name="spoken_emoji_1F406">Leopard</string>
+ <string name="spoken_emoji_1F407">Kanéngchen</string>
+ <string name="spoken_emoji_1F408">Kaz</string>
+ <string name="spoken_emoji_1F409">Draach</string>
+ <string name="spoken_emoji_1F40A">Krokodill</string>
+ <string name="spoken_emoji_1F40B">Wal</string>
+ <string name="spoken_emoji_1F40C">Schleeck</string>
+ <string name="spoken_emoji_1F40D">Schlaang</string>
+ <string name="spoken_emoji_1F40E">Päerd</string>
+ <string name="spoken_emoji_1F40F">Geessebock</string>
+ <string name="spoken_emoji_1F410">Geess</string>
+ <string name="spoken_emoji_1F411">Schof</string>
+ <string name="spoken_emoji_1F412">Af</string>
+ <string name="spoken_emoji_1F413">Hunn</string>
+ <string name="spoken_emoji_1F414">Hung</string>
+ <string name="spoken_emoji_1F415">Hond</string>
+ <string name="spoken_emoji_1F416">Schwäin</string>
+ <string name="spoken_emoji_1F417">Wëldschwäin</string>
+ <string name="spoken_emoji_1F418">Elefant</string>
+ <string name="spoken_emoji_1F419">Oktopus</string>
+ <string name="spoken_emoji_1F41A">Spiralmuschel</string>
+ <string name="spoken_emoji_1F41B">Käfer</string>
+ <string name="spoken_emoji_1F41C">Ameis</string>
+ <string name="spoken_emoji_1F41D">Hounegbei</string>
+ <string name="spoken_emoji_1F41E">Himmelsdéierchen</string>
+ <string name="spoken_emoji_1F41F">Fësch</string>
+ <string name="spoken_emoji_1F420">Tropesche Fësch</string>
+ <string name="spoken_emoji_1F421">Kugelfësch</string>
+ <string name="spoken_emoji_1F422">Deckelsmouk</string>
+ <string name="spoken_emoji_1F423">Jippelchen dat aus dem Ee kënnt</string>
+ <string name="spoken_emoji_1F424">Jippelchen</string>
+ <string name="spoken_emoji_1F425">Jippelche vu vir</string>
+ <string name="spoken_emoji_1F426">Villchen</string>
+ <string name="spoken_emoji_1F427">Pinguin</string>
+ <string name="spoken_emoji_1F428">Koala</string>
+ <string name="spoken_emoji_1F429">Puddel</string>
+ <string name="spoken_emoji_1F42A">Dromedar</string>
+ <string name="spoken_emoji_1F42B">Kaméil</string>
+ <string name="spoken_emoji_1F42C">Delfin</string>
+ <string name="spoken_emoji_1F42D">Mausgesiicht</string>
+ <string name="spoken_emoji_1F42E">Kougesiicht</string>
+ <string name="spoken_emoji_1F42F">Tigergesiicht</string>
+ <string name="spoken_emoji_1F430">Huesegesiicht</string>
+ <string name="spoken_emoji_1F431">Kazegesiicht</string>
+ <string name="spoken_emoji_1F432">Draachegesiicht</string>
+ <string name="spoken_emoji_1F433">Wal deen eng Fontän ausspäizt</string>
+ <string name="spoken_emoji_1F434">Päerdsgesiicht</string>
+ <string name="spoken_emoji_1F435">Afegesiicht</string>
+ <string name="spoken_emoji_1F436">Muppegesiicht</string>
+ <string name="spoken_emoji_1F437">Schwéngsgesiicht</string>
+ <string name="spoken_emoji_1F438">Fräschgesiicht</string>
+ <string name="spoken_emoji_1F439">Hamstergesiicht</string>
+ <string name="spoken_emoji_1F43A">Wollefsgesiicht</string>
+ <string name="spoken_emoji_1F43B">Bieregesiicht</string>
+ <string name="spoken_emoji_1F43C">Pandagesiicht</string>
+ <string name="spoken_emoji_1F43D">Schwéngsnues</string>
+ <string name="spoken_emoji_1F43E">Pattenofdréck</string>
+ <string name="spoken_emoji_1F440">Aen</string>
+ <string name="spoken_emoji_1F442">Ouer</string>
+ <string name="spoken_emoji_1F443">Nues</string>
+ <string name="spoken_emoji_1F444">Mond</string>
+ <string name="spoken_emoji_1F445">Zong</string>
+ <string name="spoken_emoji_1F446">Handrécksäit mat Weisfanger deen eropweist</string>
+ <string name="spoken_emoji_1F447">Handrécksäit mat Weisfanger deen erofweist</string>
+ <string name="spoken_emoji_1F448">Handrécksäit mat Weisfanger deen no lénks weist</string>
+ <string name="spoken_emoji_1F449">Handrécksäit mat Weisfanger deen no riets weist</string>
+ <string name="spoken_emoji_1F44A">Handzeechen \"Fauscht\"</string>
+ <string name="spoken_emoji_1F44B">Handzeechen \"Wénken\"</string>
+ <string name="spoken_emoji_1F44C">Handzeechen \"OK\"</string>
+ <string name="spoken_emoji_1F44D">Daum erop</string>
+ <string name="spoken_emoji_1F44E">Daum erof</string>
+ <string name="spoken_emoji_1F44F">Handzeechen \"Klappen\"</string>
+ <string name="spoken_emoji_1F450">Handzeechen \"Oppen\"</string>
+ <string name="spoken_emoji_1F451">Kroun</string>
+ <string name="spoken_emoji_1F452">Dammenhutt</string>
+ <string name="spoken_emoji_1F453">Brëll</string>
+ <string name="spoken_emoji_1F454">Krawatt</string>
+ <string name="spoken_emoji_1F455">T-Shirt</string>
+ <string name="spoken_emoji_1F456">Jeans</string>
+ <string name="spoken_emoji_1F457">Kleed</string>
+ <string name="spoken_emoji_1F458">Kimono</string>
+ <string name="spoken_emoji_1F459">Bikini</string>
+ <string name="spoken_emoji_1F45A">Dammekleeder</string>
+ <string name="spoken_emoji_1F45B">Portemonnaie</string>
+ <string name="spoken_emoji_1F45C">Posch</string>
+ <string name="spoken_emoji_1F45D">Beidel</string>
+ <string name="spoken_emoji_1F45E">Männerschong</string>
+ <string name="spoken_emoji_1F45F">Sportschong</string>
+ <string name="spoken_emoji_1F460">Héije Schung</string>
+ <string name="spoken_emoji_1F461">Dammesandal</string>
+ <string name="spoken_emoji_1F462">Dammestiwwel</string>
+ <string name="spoken_emoji_1F463">Foussofdréck</string>
+ <string name="spoken_emoji_1F464">Silhouette vun engem Uewerkierper</string>
+ <string name="spoken_emoji_1F465">Silhouette vun e puer Uewerkierperen</string>
+ <string name="spoken_emoji_1F466">Bouf</string>
+ <string name="spoken_emoji_1F467">Meedchen</string>
+ <string name="spoken_emoji_1F468">Mann</string>
+ <string name="spoken_emoji_1F469">Fra</string>
+ <string name="spoken_emoji_1F46A">Famill</string>
+ <string name="spoken_emoji_1F46B">Mann a Fra, déi sech Hand un Hand halen</string>
+ <string name="spoken_emoji_1F46C">Zwee Männer, déi sech Hand un Hand halen</string>
+ <string name="spoken_emoji_1F46D">Zwou Fraen, déi sech Hand un Hand halen</string>
+ <string name="spoken_emoji_1F46E">Polizist</string>
+ <string name="spoken_emoji_1F46F">Fra mat Huesenoueren</string>
+ <string name="spoken_emoji_1F470">Braut mat Schleier</string>
+ <string name="spoken_emoji_1F471">Persoun mat blonden Hoer</string>
+ <string name="spoken_emoji_1F472">Mann mat japanescher Kappbedeckung (Gua Pi Mao)</string>
+ <string name="spoken_emoji_1F473">Här mat Turban</string>
+ <string name="spoken_emoji_1F474">Eeleren Här</string>
+ <string name="spoken_emoji_1F475">Al Fra</string>
+ <string name="spoken_emoji_1F476">Puppelchen</string>
+ <string name="spoken_emoji_1F477">Bauaarbechter</string>
+ <string name="spoken_emoji_1F478">Prinzessin</string>
+ <string name="spoken_emoji_1F479">Japaneschen Oger</string>
+ <string name="spoken_emoji_1F47A">Japanesche Kobold</string>
+ <string name="spoken_emoji_1F47B">Geescht</string>
+ <string name="spoken_emoji_1F47C">Engelspuppelchen</string>
+ <string name="spoken_emoji_1F47D">Befriemlechen Ausserierdeschen</string>
+ <string name="spoken_emoji_1F47E">Befriemlecht Monster</string>
+ <string name="spoken_emoji_1F47F">Däiwelchen</string>
+ <string name="spoken_emoji_1F480">Skelettkapp</string>
+ <string name="spoken_emoji_1F481">Mataarbechter am Informatiounsbüro</string>
+ <string name="spoken_emoji_1F482">Wiechter</string>
+ <string name="spoken_emoji_1F483">Dänzer</string>
+ <string name="spoken_emoji_1F484">Lëppestëft</string>
+ <string name="spoken_emoji_1F485">Neellack</string>
+ <string name="spoken_emoji_1F486">Gesiichtsmassage</string>
+ <string name="spoken_emoji_1F487">Frisur</string>
+ <string name="spoken_emoji_1F488">Coiffeurszeechen (Poul)</string>
+ <string name="spoken_emoji_1F489">Sprëtz</string>
+ <string name="spoken_emoji_1F48A">Pëll</string>
+ <string name="spoken_emoji_1F48B">Kussfleck</string>
+ <string name="spoken_emoji_1F48C">Liibesbréif</string>
+ <string name="spoken_emoji_1F48D">Réng</string>
+ <string name="spoken_emoji_1F48E">Eedelsteen</string>
+ <string name="spoken_emoji_1F48F">Kuss</string>
+ <string name="spoken_emoji_1F490">Bouquet</string>
+ <string name="spoken_emoji_1F491">Koppel mat Häerz</string>
+ <string name="spoken_emoji_1F492">Hochzäit</string>
+ <string name="spoken_emoji_1F493">Häerz dat schléit</string>
+ <string name="spoken_emoji_1F494">Häerz dat gebrach ass</string>
+ <string name="spoken_emoji_1F495">Zwee Häerzer</string>
+ <string name="spoken_emoji_1F496">Häerz dat fonkelt</string>
+ <string name="spoken_emoji_1F497">Häerz dat wiisst</string>
+ <string name="spoken_emoji_1F498">Häerz mat Feil</string>
+ <string name="spoken_emoji_1F499">Blot Häerz</string>
+ <string name="spoken_emoji_1F49A">Gréngt Häerz</string>
+ <string name="spoken_emoji_1F49B">Gielt Häerz</string>
+ <string name="spoken_emoji_1F49C">Mooft Häerz</string>
+ <string name="spoken_emoji_1F49D">Häerz mat Band</string>
+ <string name="spoken_emoji_1F49E">Dréinend Häerzer</string>
+ <string name="spoken_emoji_1F49F">Häerz-Dekoratioun</string>
+ <string name="spoken_emoji_1F4A0">Diamanteform mat engem Punkt dran</string>
+ <string name="spoken_emoji_1F4A1">Elektresch Bir</string>
+ <string name="spoken_emoji_1F4A2">Elektresch Bir</string>
+ <string name="spoken_emoji_1F4A3">Bomm</string>
+ <string name="spoken_emoji_1F4A4">Schlofsymbol</string>
+ <string name="spoken_emoji_1F4A5">Kollisiounssymbol</string>
+ <string name="spoken_emoji_1F4A6">Symbol fir \"Schweessen\"</string>
+ <string name="spoken_emoji_1F4A7">Drëps</string>
+ <string name="spoken_emoji_1F4A8">Symbol fir Stëbswollek</string>
+ <string name="spoken_emoji_1F4A9">Koup Mëscht</string>
+ <string name="spoken_emoji_1F4AA">Ugespaante Bizeps</string>
+ <string name="spoken_emoji_1F4AB">Symbol fir \"Dronken\"</string>
+ <string name="spoken_emoji_1F4AC">Sproochblos</string>
+ <string name="spoken_emoji_1F4AD">Gedankeblos</string>
+ <string name="spoken_emoji_1F4AE">Wäiss Blumm</string>
+ <string name="spoken_emoji_1F4AF">Symbol fir \"100 Punkten\"</string>
+ <string name="spoken_emoji_1F4B0">Sak mat Suen</string>
+ <string name="spoken_emoji_1F4B1">Suewiessel</string>
+ <string name="spoken_emoji_1F4B2">Déckt Dollarzeechen</string>
+ <string name="spoken_emoji_1F4B3">Kreditkaart</string>
+ <string name="spoken_emoji_1F4B4">Geldschäin mat Yen-Zeechen</string>
+ <string name="spoken_emoji_1F4B5">Geldschäin mat Dollar-Zeechen</string>
+ <string name="spoken_emoji_1F4B6">Geldschäin mat Euro-Zeechen</string>
+ <string name="spoken_emoji_1F4B7">Geldschäin mat Pond-Zeechen</string>
+ <string name="spoken_emoji_1F4B8">Sue mat Flilleken</string>
+ <string name="spoken_emoji_1F4B9">Diagramm mat Opwäertstrend a Yen-Zeechen</string>
+ <string name="spoken_emoji_1F4BA">Sëtz</string>
+ <string name="spoken_emoji_1F4BB">Computer</string>
+ <string name="spoken_emoji_1F4BC">Aktekoffer</string>
+ <string name="spoken_emoji_1F4BD">Minidisc</string>
+ <string name="spoken_emoji_1F4BE">Floppy-Diskett</string>
+ <string name="spoken_emoji_1F4BF">CD</string>
+ <string name="spoken_emoji_1F4C0">DVD</string>
+ <string name="spoken_emoji_1F4C1">Fichiersdossier</string>
+ <string name="spoken_emoji_1F4C2">Oppene Fichiersdossier</string>
+ <string name="spoken_emoji_1F4C3">Säit déi deelweis opgerullt ass</string>
+ <string name="spoken_emoji_1F4C4">Säit déi eropkuckt</string>
+ <string name="spoken_emoji_1F4C5">Kalenner</string>
+ <string name="spoken_emoji_1F4C6">Ofräisskalenner</string>
+ <string name="spoken_emoji_1F4C7">Karteiindex</string>
+ <string name="spoken_emoji_1F4C8">Diagramm mat Opwäertstrend</string>
+ <string name="spoken_emoji_1F4C9">Diagramm mat Ofwäertstrend</string>
+ <string name="spoken_emoji_1F4CA">Balkendiagramm</string>
+ <string name="spoken_emoji_1F4CB">Klemmbriet</string>
+ <string name="spoken_emoji_1F4CC">Punaise</string>
+ <string name="spoken_emoji_1F4CD">Ronn Punaise</string>
+ <string name="spoken_emoji_1F4CE">Bürosklamer</string>
+ <string name="spoken_emoji_1F4CF">Riichte Lineal</string>
+ <string name="spoken_emoji_1F4D0">Dräieckslineal</string>
+ <string name="spoken_emoji_1F4D1">Lieszeechen</string>
+ <string name="spoken_emoji_1F4D2">Kontebuch</string>
+ <string name="spoken_emoji_1F4D3">Notizbuch</string>
+ <string name="spoken_emoji_1F4D4">Notizbuch mat dekorativem Deckel</string>
+ <string name="spoken_emoji_1F4D5">Zouent Buch</string>
+ <string name="spoken_emoji_1F4D6">Oppent Buch</string>
+ <string name="spoken_emoji_1F4D7">Gréngt Buch</string>
+ <string name="spoken_emoji_1F4D8">Blot Buch</string>
+ <string name="spoken_emoji_1F4D9">Orangt Buch</string>
+ <string name="spoken_emoji_1F4DA">Bicher</string>
+ <string name="spoken_emoji_1F4DB">Nummschëld</string>
+ <string name="spoken_emoji_1F4DC">Schrëftroll</string>
+ <string name="spoken_emoji_1F4DD">Memo</string>
+ <string name="spoken_emoji_1F4DE">Telefonsempfänker</string>
+ <string name="spoken_emoji_1F4DF">Pager</string>
+ <string name="spoken_emoji_1F4E0">Faxmaschinn</string>
+ <string name="spoken_emoji_1F4E1">Satelittenantenn</string>
+ <string name="spoken_emoji_1F4E2">Grouss Lautsprecheren</string>
+ <string name="spoken_emoji_1F4E3">Megafon</string>
+ <string name="spoken_emoji_1F4E4">Oflag fir de Postausgank</string>
+ <string name="spoken_emoji_1F4E5">Oflag fir de Postagank</string>
+ <string name="spoken_emoji_1F4E6">Pak</string>
+ <string name="spoken_emoji_1F4E7">E-Mail-Symbol</string>
+ <string name="spoken_emoji_1F4E8">Erakommend Envelopp</string>
+ <string name="spoken_emoji_1F4E9">Envelopp mat Feil driwwer deen erof weist</string>
+ <string name="spoken_emoji_1F4EA">Zoue Bréifkëscht mat erofgeklapptem Fändel</string>
+ <string name="spoken_emoji_1F4EB">Zoue Bréifkëscht mat eropgeklapptem Fändel</string>
+ <string name="spoken_emoji_1F4EC">Oppe Bréifkëscht mat eropgeklapptem Fändel</string>
+ <string name="spoken_emoji_1F4ED">Oppe Bréifkëscht mat erofgeklapptem Fändel</string>
+ <string name="spoken_emoji_1F4EE">Postkëscht</string>
+ <string name="spoken_emoji_1F4EF">Posthorn</string>
+ <string name="spoken_emoji_1F4F0">Zeitung</string>
+ <string name="spoken_emoji_1F4F1">Handy</string>
+ <string name="spoken_emoji_1F4F2">Handy mat Feil deen no riets weist</string>
+ <string name="spoken_emoji_1F4F3">Vibratiounsmodus</string>
+ <string name="spoken_emoji_1F4F4">Handy aus</string>
+ <string name="spoken_emoji_1F4F5">Keng Handyen</string>
+ <string name="spoken_emoji_1F4F6">Antenn mat Strécher</string>
+ <string name="spoken_emoji_1F4F7">Fotoapparat</string>
+ <string name="spoken_emoji_1F4F9">Videokamera</string>
+ <string name="spoken_emoji_1F4FA">Tëlee</string>
+ <string name="spoken_emoji_1F4FB">Radio</string>
+ <string name="spoken_emoji_1F4FC">Videokassett</string>
+ <string name="spoken_emoji_1F500">Verschlonge Feiler no riets</string>
+ <string name="spoken_emoji_1F501">Kreesförmeg Feiler an Auererichtung déi no lénks a riets weisen</string>
+ <string name="spoken_emoji_1F502">Kreesförmeg Feiler an Auererichtung déi no lénks a riets weisen mat enger 1 driwwer</string>
+ <string name="spoken_emoji_1F503">Kreesförmeg Feiler an Auererichtung déi no uewen an ënne weisen</string>
+ <string name="spoken_emoji_1F504">Kreesförmeg Feiler géint d\'Auererichtung déi no uewen an ënne weisen</string>
+ <string name="spoken_emoji_1F505">Symbol fir \"niddreg Hellegkeet\"</string>
+ <string name="spoken_emoji_1F506">Symbol fir \"héich Hellegkeet\"</string>
+ <string name="spoken_emoji_1F507">Lautsprecher deen duerchgestrach ass</string>
+ <string name="spoken_emoji_1F508">Lautsprecher</string>
+ <string name="spoken_emoji_1F509">Lautsprecher mat enger Tounwell</string>
+ <string name="spoken_emoji_1F50A">Lautsprecher mat dräi Tounwellen</string>
+ <string name="spoken_emoji_1F50B">Batterie</string>
+ <string name="spoken_emoji_1F50C">Elektresche Stecker</string>
+ <string name="spoken_emoji_1F50D">Lupp déi no lénks weist</string>
+ <string name="spoken_emoji_1F50E">Lupp déi no riets weist</string>
+ <string name="spoken_emoji_1F50F">Schlass mat Fëllfieder</string>
+ <string name="spoken_emoji_1F510">Zouent Schlass mat Schlëssel</string>
+ <string name="spoken_emoji_1F511">Schlëssel</string>
+ <string name="spoken_emoji_1F512">Schlass</string>
+ <string name="spoken_emoji_1F513">Oppent Schlass</string>
+ <string name="spoken_emoji_1F514">Klack</string>
+ <string name="spoken_emoji_1F515">Duerchgestrache Klack</string>
+ <string name="spoken_emoji_1F516">Lieszeechen</string>
+ <string name="spoken_emoji_1F517">Link-Symbol</string>
+ <string name="spoken_emoji_1F518">Auswielknäppchen</string>
+ <string name="spoken_emoji_1F519">Text \"BACK\" mat Feil driwwer deen no lénks weist</string>
+ <string name="spoken_emoji_1F51A">Text \"END\" mat Feil driwwer deen no lénks weist</string>
+ <string name="spoken_emoji_1F51B">Text \"ON\" mat Ausruffzeechen a Feil driwwer deen no lénks a riets weist</string>
+ <string name="spoken_emoji_1F51C">Text \"SOON\" mat Feil driwwer deen no riets weist</string>
+ <string name="spoken_emoji_1F51D">Text \"TOP\" mat Feil driwwer deen no uewe weist</string>
+ <string name="spoken_emoji_1F51E">Symbol fir \"Keen ënner 18\"</string>
+ <string name="spoken_emoji_1F51F">Computertast mat der Ziffer 10</string>
+ <string name="spoken_emoji_1F520">Agabsymbol fir latäinesch Groussbuschtawen</string>
+ <string name="spoken_emoji_1F521">Agabsymbol fir latäinesch Klengbuschtawen</string>
+ <string name="spoken_emoji_1F522">Agabsymbol fir Zifferen</string>
+ <string name="spoken_emoji_1F523">Agabsymbol fir Symboler</string>
+ <string name="spoken_emoji_1F524">Agabsymbol fir latäinesch Buschtawen</string>
+ <string name="spoken_emoji_1F525">Feier</string>
+ <string name="spoken_emoji_1F526">Täscheluucht</string>
+ <string name="spoken_emoji_1F527">Schraufschlëssel</string>
+ <string name="spoken_emoji_1F528">Hummer</string>
+ <string name="spoken_emoji_1F529">Mudder a Schrauf</string>
+ <string name="spoken_emoji_1F52A">Japanescht Kichemesser</string>
+ <string name="spoken_emoji_1F52B">Pistoul</string>
+ <string name="spoken_emoji_1F52C">Mikroskop</string>
+ <string name="spoken_emoji_1F52D">Teleskop</string>
+ <string name="spoken_emoji_1F52E">Kristallkugel</string>
+ <string name="spoken_emoji_1F52F">Sechszackege Stär mat Punkt an der Mëtt</string>
+ <string name="spoken_emoji_1F530">Japanescht Symbol fir \"Ufänger\"</string>
+ <string name="spoken_emoji_1F531">Dräizack-Symbol</string>
+ <string name="spoken_emoji_1F532">Quadratesche schwaarze Knäppchen</string>
+ <string name="spoken_emoji_1F533">Quadratesche wäisse Knäppchen</string>
+ <string name="spoken_emoji_1F534">Grousse roude Krees</string>
+ <string name="spoken_emoji_1F535">Grousse bloe Krees</string>
+ <string name="spoken_emoji_1F536">Groussen orangen Diamant</string>
+ <string name="spoken_emoji_1F537">Grousse bloen Diamant</string>
+ <string name="spoken_emoji_1F538">Klengen orangen Diamant</string>
+ <string name="spoken_emoji_1F539">Klenge bloen Diamant</string>
+ <string name="spoken_emoji_1F53A">Rouden Dräieck deen no uewe weist</string>
+ <string name="spoken_emoji_1F53B">Rouden Dräieck deen no ënne weist</string>
+ <string name="spoken_emoji_1F53C">Klenge rouden Dräieck deen no uewe weist</string>
+ <string name="spoken_emoji_1F53D">Klenge rouden Dräieck deen no ënne weist</string>
+ <string name="spoken_emoji_1F550">Ziffereblat eng Auer</string>
+ <string name="spoken_emoji_1F551">Ziffereblat zwou Auer</string>
+ <string name="spoken_emoji_1F552">Ziffereblat dräi Auer</string>
+ <string name="spoken_emoji_1F553">Ziffereblat véier Auer</string>
+ <string name="spoken_emoji_1F554">Ziffereblat fënnef Auer</string>
+ <string name="spoken_emoji_1F555">Ziffereblat sechs Auer</string>
+ <string name="spoken_emoji_1F556">Ziffereblat siwen Auer</string>
+ <string name="spoken_emoji_1F557">Ziffereblat aacht Auer</string>
+ <string name="spoken_emoji_1F558">Ziffereblat néng Auer</string>
+ <string name="spoken_emoji_1F559">Ziffereblat zéng Auer</string>
+ <string name="spoken_emoji_1F55A">Ziffereblat eelef Auer</string>
+ <string name="spoken_emoji_1F55B">Ziffereblat zwielef Auer</string>
+ <string name="spoken_emoji_1F55C">Ziffereblat halwer zwou</string>
+ <string name="spoken_emoji_1F55D">Ziffereblat halwer dräi</string>
+ <string name="spoken_emoji_1F55E">Ziffereblat halwer véier</string>
+ <string name="spoken_emoji_1F55F">Ziffereblat halwer fënnef</string>
+ <string name="spoken_emoji_1F560">Ziffereblat halwer sechs</string>
+ <string name="spoken_emoji_1F561">Ziffereblat halwer siwen</string>
+ <string name="spoken_emoji_1F562">Ziffereblat halwer aacht</string>
+ <string name="spoken_emoji_1F563">Ziffereblat halwer néng</string>
+ <string name="spoken_emoji_1F564">Ziffereblat halwer zéng</string>
+ <string name="spoken_emoji_1F565">Ziffereblat halwer eelef</string>
+ <string name="spoken_emoji_1F566">Ziffereblat halwer zwielef</string>
+ <string name="spoken_emoji_1F567">Ziffereblat halwer eng</string>
+ <string name="spoken_emoji_1F5FB">Bierg Fuji</string>
+ <string name="spoken_emoji_1F5FC">Tokyo-Tuerm</string>
+ <string name="spoken_emoji_1F5FD">Fräiheetsstatu</string>
+ <string name="spoken_emoji_1F5FE">Silhouett vu Japan</string>
+ <string name="spoken_emoji_1F5FF">Moyai-Statu</string>
+ <string name="spoken_emoji_1F600">Gesiicht, dat grinst</string>
+ <string name="spoken_emoji_1F601">Grinsend Gesiicht mat laachenden Aen</string>
+ <string name="spoken_emoji_1F602">Gesiicht mat Freedentréinen</string>
+ <string name="spoken_emoji_1F603">Laachend Gesiicht mat oppenem Mond</string>
+ <string name="spoken_emoji_1F604">Laachend Gesiicht mat oppenem Mond a laachenden Aen</string>
+ <string name="spoken_emoji_1F605">Laachend Gesiicht mat oppenem Mond a kalem Schweess</string>
+ <string name="spoken_emoji_1F606">Laachend Gesiicht mat oppenem Mond an zougedréckten Aen</string>
+ <string name="spoken_emoji_1F607">Laachend Gesiicht mat Hellegeschäin</string>
+ <string name="spoken_emoji_1F608">Laachend Gesiicht mat Haren</string>
+ <string name="spoken_emoji_1F609">Zwinkernd Gesiicht</string>
+ <string name="spoken_emoji_1F60A">Laachend Gesiicht mat laachenden Aen</string>
+ <string name="spoken_emoji_1F60B">Gesiicht, dat leckert Iesse genéisst</string>
+ <string name="spoken_emoji_1F60C">Erliichtert Gesiicht</string>
+ <string name="spoken_emoji_1F60D">Laachend Gesiicht mat häerzfërmegen Aen</string>
+ <string name="spoken_emoji_1F60E">Laachend Gesiicht mat Sonnebrëll</string>
+ <string name="spoken_emoji_1F60F">Gesiicht mat süffisantem Laachen</string>
+ <string name="spoken_emoji_1F610">Neutraalt Gesiicht</string>
+ <string name="spoken_emoji_1F611">Ausdrocksloost Gesiicht</string>
+ <string name="spoken_emoji_1F612">Onerfreet Gesiicht</string>
+ <string name="spoken_emoji_1F613">Gesiicht mat kalem Schweess</string>
+ <string name="spoken_emoji_1F614">Nodenklecht Gesiicht</string>
+ <string name="spoken_emoji_1F615">Verwirrt Gesiicht</string>
+ <string name="spoken_emoji_1F616">Bestierzt Gesiicht</string>
+ <string name="spoken_emoji_1F617">Gesiicht, dat kusst</string>
+ <string name="spoken_emoji_1F618">Gesiicht, dat e Kuss schéckt</string>
+ <string name="spoken_emoji_1F619">Gesiicht dat kusst a laachend Aen huet</string>
+ <string name="spoken_emoji_1F61A">Gesiicht dat kusst an zouen Aen huet</string>
+ <string name="spoken_emoji_1F61B">Gesiicht, dat d\'Zong erausstreckt</string>
+ <string name="spoken_emoji_1F61C">Gesiicht, dat d\'Zong erausstreckt an zwinkert</string>
+ <string name="spoken_emoji_1F61D">Gesiicht, dat d\'Zong erausstreckt an d\'Ae fest zoupëtzt</string>
+ <string name="spoken_emoji_1F61E">Enttäuscht Gesiicht</string>
+ <string name="spoken_emoji_1F61F">Besuergt Gesiicht</string>
+ <string name="spoken_emoji_1F620">Rosent Gesiicht</string>
+ <string name="spoken_emoji_1F621">Gesiicht dat motzt</string>
+ <string name="spoken_emoji_1F622">Kräischend Gesiicht</string>
+ <string name="spoken_emoji_1F623">Gesiicht dat Beharrlechkeet weist</string>
+ <string name="spoken_emoji_1F624">Gesiicht mat Triumphausdrock</string>
+ <string name="spoken_emoji_1F625">Enttäuscht, awer erliichtert Gesiicht</string>
+ <string name="spoken_emoji_1F626">Gesiicht mat oppenem Mond dat d\'Stir runzelt</string>
+ <string name="spoken_emoji_1F627">Gesiicht dat Péng weist</string>
+ <string name="spoken_emoji_1F628">Gesiicht, dat Angscht weist</string>
+ <string name="spoken_emoji_1F629">Gesiicht, dat erschöpft ass</string>
+ <string name="spoken_emoji_1F62A">Gesiicht, dat schléifreg ass</string>
+ <string name="spoken_emoji_1F62B">Gesiicht, dat midd ass</string>
+ <string name="spoken_emoji_1F62C">Gesiicht, dat Grimassë mécht</string>
+ <string name="spoken_emoji_1F62D">Gesiicht, dat vill kräischt</string>
+ <string name="spoken_emoji_1F62E">Gesiicht mat oppenem Mond</string>
+ <string name="spoken_emoji_1F62F">Sproochloost Gesiicht</string>
+ <string name="spoken_emoji_1F630">Gesiicht mat oppenem Mond a kalem Schweess</string>
+ <string name="spoken_emoji_1F631">Gesiicht, dat virun Angscht jäizt</string>
+ <string name="spoken_emoji_1F632">Erstaunt Gesiicht</string>
+ <string name="spoken_emoji_1F633">Rout Gesiicht</string>
+ <string name="spoken_emoji_1F634">Gesiicht, dat schléift</string>
+ <string name="spoken_emoji_1F635">Dronkend Gesiicht</string>
+ <string name="spoken_emoji_1F636">Gesiicht ouni Mond</string>
+ <string name="spoken_emoji_1F637">Gesiicht mat medizinescher Mask</string>
+ <string name="spoken_emoji_1F638">Grinsend Kazegesiicht mat laachenden Aen</string>
+ <string name="spoken_emoji_1F639">Kazegesiicht mat Freedentréinen</string>
+ <string name="spoken_emoji_1F63A">Laachend Kazegesiicht mat oppenem Mond</string>
+ <string name="spoken_emoji_1F63B">Laachend Kazegesiicht mat häerzfërmegen Aen</string>
+ <string name="spoken_emoji_1F63C">Kazegesiicht mat schiefem Laachen</string>
+ <string name="spoken_emoji_1F63D">Kazegesiicht dat kusst an d\'Aen zou huet</string>
+ <string name="spoken_emoji_1F63E">Kazegesiicht dat motzt</string>
+ <string name="spoken_emoji_1F63F">Kräischend Kazegesiicht</string>
+ <string name="spoken_emoji_1F640">Kazegesiicht, dat erschöpft ass</string>
+ <string name="spoken_emoji_1F645">Gesiicht mat \"net OK\"-Ausdrock</string>
+ <string name="spoken_emoji_1F646">Gesiicht mat \"OK\"-Ausdrock</string>
+ <string name="spoken_emoji_1F647">Persoun déi sech déif béckt</string>
+ <string name="spoken_emoji_1F648">Af deen näischt Béises wëll gesinn</string>
+ <string name="spoken_emoji_1F649">Af deen näischt Béises wëll héieren</string>
+ <string name="spoken_emoji_1F64A">Af deen näischt Béises wëll soen</string>
+ <string name="spoken_emoji_1F64B">Frou Persoun déi eng Hand hieft</string>
+ <string name="spoken_emoji_1F64C">Persoun déi feierlech zwou Hänn hieft</string>
+ <string name="spoken_emoji_1F64D">Persoun déi d\'Stir runzelt</string>
+ <string name="spoken_emoji_1F64E">Persoun mat schmollendem Gesiicht</string>
+ <string name="spoken_emoji_1F64F">Persoun mat gefaalten Hänn</string>
+ <string name="spoken_emoji_1F680">Rakéit</string>
+ <string name="spoken_emoji_1F681">Helikopter</string>
+ <string name="spoken_emoji_1F682">Damplokomotiv</string>
+ <string name="spoken_emoji_1F683">Zuchwaggon</string>
+ <string name="spoken_emoji_1F684">Héichvitesszuch</string>
+ <string name="spoken_emoji_1F685">Héichvitesszuch mat ofgeronnter Spëtzt</string>
+ <string name="spoken_emoji_1F686">Zuch</string>
+ <string name="spoken_emoji_1F687">Metro</string>
+ <string name="spoken_emoji_1F688">Bummelzuch</string>
+ <string name="spoken_emoji_1F689">Gare</string>
+ <string name="spoken_emoji_1F68A">Tram</string>
+ <string name="spoken_emoji_1F68B">Tramwon</string>
+ <string name="spoken_emoji_1F68C">Bus</string>
+ <string name="spoken_emoji_1F68D">Entgéintkommende Bus</string>
+ <string name="spoken_emoji_1F68E">Uewerleitungsbus</string>
+ <string name="spoken_emoji_1F68F">Bushaltestell</string>
+ <string name="spoken_emoji_1F690">Minibus</string>
+ <string name="spoken_emoji_1F691">Ambulanz</string>
+ <string name="spoken_emoji_1F692">Pompjeeswon</string>
+ <string name="spoken_emoji_1F693">Policeauto</string>
+ <string name="spoken_emoji_1F694">Entgéintkommende Policeauto</string>
+ <string name="spoken_emoji_1F695">Taxi</string>
+ <string name="spoken_emoji_1F696">Entgéintkommenden Taxi</string>
+ <string name="spoken_emoji_1F697">Auto</string>
+ <string name="spoken_emoji_1F698">Entgéintkommenden Auto</string>
+ <string name="spoken_emoji_1F699">Fräizäitgefier</string>
+ <string name="spoken_emoji_1F69A">Liwwerwon</string>
+ <string name="spoken_emoji_1F69B">Sattelschlepper</string>
+ <string name="spoken_emoji_1F69C">Trakter</string>
+ <string name="spoken_emoji_1F69D">Monorail</string>
+ <string name="spoken_emoji_1F69E">Biergzuch</string>
+ <string name="spoken_emoji_1F69F">Schwiefzuch</string>
+ <string name="spoken_emoji_1F6A0">Standseelbunn</string>
+ <string name="spoken_emoji_1F6A1">Seelbunn</string>
+ <string name="spoken_emoji_1F6A2">Schëff</string>
+ <string name="spoken_emoji_1F6A3">Ruderboot</string>
+ <string name="spoken_emoji_1F6A4">Speedboot</string>
+ <string name="spoken_emoji_1F6A5">Horizontal Verkéiersluucht</string>
+ <string name="spoken_emoji_1F6A6">Vertikal Verkéiersluucht</string>
+ <string name="spoken_emoji_1F6A7">Baustellesymbol</string>
+ <string name="spoken_emoji_1F6A8">Policeluucht</string>
+ <string name="spoken_emoji_1F6A9">Dräieckege Fändel un engem Potto</string>
+ <string name="spoken_emoji_1F6AA">Dir</string>
+ <string name="spoken_emoji_1F6AB">Symbol fir \"keen Zougank\"</string>
+ <string name="spoken_emoji_1F6AC">Symbol fir \"Fëmmen erlaabt\"</string>
+ <string name="spoken_emoji_1F6AD">Symbol fir \"Fëmme verbueden\"</string>
+ <string name="spoken_emoji_1F6AE">Symbol fir \"Dreck gehéiert an d\'Poubell\"</string>
+ <string name="spoken_emoji_1F6AF">Symbol fir \"W.e.g. propper halen\"</string>
+ <string name="spoken_emoji_1F6B0">Drénkwaassersymbol</string>
+ <string name="spoken_emoji_1F6B1">Symbol fir ondrénkbaart Waasser</string>
+ <string name="spoken_emoji_1F6B2">Vëlo</string>
+ <string name="spoken_emoji_1F6B3">Keng Vëloen</string>
+ <string name="spoken_emoji_1F6B4">Vëlosfuerer</string>
+ <string name="spoken_emoji_1F6B5">Mountainbiker</string>
+ <string name="spoken_emoji_1F6B6">Foussgänger</string>
+ <string name="spoken_emoji_1F6B7">Keng Foussgänger</string>
+ <string name="spoken_emoji_1F6B8">Symbol fir \"Kanner ënnerwee\"</string>
+ <string name="spoken_emoji_1F6B9">Männersymbol</string>
+ <string name="spoken_emoji_1F6BA">Fraesymbol</string>
+ <string name="spoken_emoji_1F6BB">Symbol fir \"Toiletten\"</string>
+ <string name="spoken_emoji_1F6BC">Puppelcherssymbol</string>
+ <string name="spoken_emoji_1F6BD">Toilettshaischen</string>
+ <string name="spoken_emoji_1F6BE">Toilett</string>
+ <string name="spoken_emoji_1F6BF">Dusch</string>
+ <string name="spoken_emoji_1F6C0">Buedzëmmer</string>
+ <string name="spoken_emoji_1F6C1">Buedbidden</string>
+ <string name="spoken_emoji_1F6C2">Passkontroll</string>
+ <string name="spoken_emoji_1F6C3">Zoll</string>
+ <string name="spoken_emoji_1F6C4">Symbol fir \"Gepäckausgab\"</string>
+ <string name="spoken_emoji_1F6C5">Symbol fir \"Gepäckconservéierung\"</string>
+</resources>
diff --git a/java/res/values-lb/strings-letter-descriptions.xml b/java/res/values-lb/strings-letter-descriptions.xml
new file mode 100644
index 000000000..62ccf61f7
--- /dev/null
+++ b/java/res/values-lb/strings-letter-descriptions.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<!--
+ These accented letters (spoken_accented_letter_*) are unsupported by TTS.
+ These symbols (spoken_symbol_*) are also unsupported by TTS.
+ TODO: Remove these string resources when TTS/TalkBack support these letters.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_accented_letter_00AA">Weiblecht Uerdnungszeechen</string>
+ <string name="spoken_accented_letter_00B5">Mikrozeechen</string>
+ <string name="spoken_accented_letter_00BA">Männlecht Uerdnungszeechen</string>
+ <string name="spoken_accented_letter_00DF">Schaarfen S</string>
+ <string name="spoken_accented_letter_00E0">A mat Accent grave</string>
+ <string name="spoken_accented_letter_00E1">A mat Accent aigu</string>
+ <string name="spoken_accented_letter_00E2">A mat Hittchen</string>
+ <string name="spoken_accented_letter_00E3">A mat Well</string>
+ <string name="spoken_accented_letter_00E4">A mat Trema</string>
+ <string name="spoken_accented_letter_00E5">A mat Rank driwwer</string>
+ <string name="spoken_accented_letter_00E6">AE-Ligatur</string>
+ <string name="spoken_accented_letter_00E7">C mat Cedille</string>
+ <string name="spoken_accented_letter_00E8">E mat Accent grave</string>
+ <string name="spoken_accented_letter_00E9">E mat Accent aigu</string>
+ <string name="spoken_accented_letter_00EA">E mat Hittchen</string>
+ <string name="spoken_accented_letter_00EB">E mat Trema</string>
+ <string name="spoken_accented_letter_00EC">I mat Accent grave</string>
+ <string name="spoken_accented_letter_00ED">I mat Accent aigu</string>
+ <string name="spoken_accented_letter_00EE">I mat Hittchen</string>
+ <string name="spoken_accented_letter_00EF">I mat Trema</string>
+ <string name="spoken_accented_letter_00F0">Eth</string>
+ <string name="spoken_accented_letter_00F1">N mat Well</string>
+ <string name="spoken_accented_letter_00F2">O mat Accent grave</string>
+ <string name="spoken_accented_letter_00F3">O mat Accent aigu</string>
+ <string name="spoken_accented_letter_00F4">O mat Hittchen</string>
+ <string name="spoken_accented_letter_00F5">O mat Well</string>
+ <string name="spoken_accented_letter_00F6">O mat Trema</string>
+ <string name="spoken_accented_letter_00F8">O mat Stréch duerch</string>
+ <string name="spoken_accented_letter_00F9">U mat Accent grave</string>
+ <string name="spoken_accented_letter_00FA">U mat Accent aigu</string>
+ <string name="spoken_accented_letter_00FB">U mat Hittchen</string>
+ <string name="spoken_accented_letter_00FC">U mat Trema</string>
+ <string name="spoken_accented_letter_00FD">Y mat Accent aigu</string>
+ <string name="spoken_accented_letter_00FE">Thorn</string>
+ <string name="spoken_accented_letter_00FF">Y mat Trema</string>
+ <string name="spoken_accented_letter_0101">A mat Makron</string>
+ <string name="spoken_accented_letter_0103">A mat Brevis</string>
+ <string name="spoken_accented_letter_0105">A mat Ogonek</string>
+ <string name="spoken_accented_letter_0107">C mat Accent aigu</string>
+ <string name="spoken_accented_letter_0109">C mat Hittchen</string>
+ <string name="spoken_accented_letter_010B">C mat Punkt driwwer</string>
+ <string name="spoken_accented_letter_010D">C mat Hatschek</string>
+ <string name="spoken_accented_letter_010F">D mat Hatschek</string>
+ <string name="spoken_accented_letter_0111">D mat Stréch duerch</string>
+ <string name="spoken_accented_letter_0113">E mat Makron</string>
+ <string name="spoken_accented_letter_0115">E mat Brevis</string>
+ <string name="spoken_accented_letter_0117">E mat Punkt driwwer</string>
+ <string name="spoken_accented_letter_0119">E mat Ogonek</string>
+ <string name="spoken_accented_letter_011B">E mat Hatschek</string>
+ <string name="spoken_accented_letter_011D">G mat Hittchen</string>
+ <string name="spoken_accented_letter_011F">G mat Brevis</string>
+ <string name="spoken_accented_letter_0121">G mat Punkt driwwer</string>
+ <string name="spoken_accented_letter_0123">G mat Cedille</string>
+ <string name="spoken_accented_letter_0125">H mat Hittchen</string>
+ <string name="spoken_accented_letter_0127">H mat Stréch duerch</string>
+ <string name="spoken_accented_letter_0129">I mat Well</string>
+ <string name="spoken_accented_letter_012B">I mat Makron</string>
+ <string name="spoken_accented_letter_012D">I mat Brevis</string>
+ <string name="spoken_accented_letter_012F">I mat Ogonek</string>
+ <string name="spoken_accented_letter_0131">Punktlosen I</string>
+ <string name="spoken_accented_letter_0133">IJ-Ligatur</string>
+ <string name="spoken_accented_letter_0135">J mat Hittchen</string>
+ <string name="spoken_accented_letter_0137">K mat Cedille</string>
+ <string name="spoken_accented_letter_0138">Kra</string>
+ <string name="spoken_accented_letter_013A">L mat Accent aigu</string>
+ <string name="spoken_accented_letter_013C">L mat Cedille</string>
+ <string name="spoken_accented_letter_013E">L mat Hatschek</string>
+ <string name="spoken_accented_letter_0140">L mat Punkt an der Mëtt</string>
+ <string name="spoken_accented_letter_0142">L mat Stréch duerch</string>
+ <string name="spoken_accented_letter_0144">N mat Accent aigu</string>
+ <string name="spoken_accented_letter_0146">N mat Cedille</string>
+ <string name="spoken_accented_letter_0148">N mat Hatschek</string>
+ <string name="spoken_accented_letter_0149">N mat Apostroph virdrun</string>
+ <string name="spoken_accented_letter_014B">Eng</string>
+ <string name="spoken_accented_letter_014D">O mat Makron</string>
+ <string name="spoken_accented_letter_014F">O mat Brevis</string>
+ <string name="spoken_accented_letter_0151">O mat duebelem Accent aigu</string>
+ <string name="spoken_accented_letter_0153">OE-Ligatur</string>
+ <string name="spoken_accented_letter_0155">R mat Accent aigu</string>
+ <string name="spoken_accented_letter_0157">R mat Cedille</string>
+ <string name="spoken_accented_letter_0159">R mat Hatschek</string>
+ <string name="spoken_accented_letter_015B">S mat Accent aigu</string>
+ <string name="spoken_accented_letter_015D">S mat Hittchen</string>
+ <string name="spoken_accented_letter_015F">S mat Cedille</string>
+ <string name="spoken_accented_letter_0161">S mat Hatschek</string>
+ <string name="spoken_accented_letter_0163">T mat Cedille</string>
+ <string name="spoken_accented_letter_0165">T mat Hatschek</string>
+ <string name="spoken_accented_letter_0167">T mat Stréch duerch</string>
+ <string name="spoken_accented_letter_0169">U mat Well</string>
+ <string name="spoken_accented_letter_016B">U mat Makron</string>
+ <string name="spoken_accented_letter_016D">U mat Brevis</string>
+ <string name="spoken_accented_letter_016F">U mat Rank driwwer</string>
+ <string name="spoken_accented_letter_0171">U mat duebelem Accent aigu</string>
+ <string name="spoken_accented_letter_0173">U mat Ogonek</string>
+ <string name="spoken_accented_letter_0175">W mat Hittchen</string>
+ <string name="spoken_accented_letter_0177">Y mat Hittchen</string>
+ <string name="spoken_accented_letter_017A">Z mat Accent aigu</string>
+ <string name="spoken_accented_letter_017C">Z mat Punkt driwwer</string>
+ <string name="spoken_accented_letter_017E">Z mat Hatschek</string>
+ <string name="spoken_accented_letter_017F">Laangen S</string>
+ <string name="spoken_accented_letter_01A1">O mat Har</string>
+ <string name="spoken_accented_letter_01B0">U mat Har</string>
+ <string name="spoken_accented_letter_0219">S mat Komma drënner</string>
+ <string name="spoken_accented_letter_021B">T mat Komma drënner</string>
+ <string name="spoken_accented_letter_0259">Schwa</string>
+ <string name="spoken_accented_letter_1EA1">A mat Punkt drënner</string>
+ <string name="spoken_accented_letter_1EA3">A mat Krop driwwer</string>
+ <string name="spoken_accented_letter_1EA5">A mat Hittchen an Accent aigu</string>
+ <string name="spoken_accented_letter_1EA7">A mat Hittchen an Accent grave</string>
+ <string name="spoken_accented_letter_1EA9">A mat Hittchen a Krop driwwer</string>
+ <string name="spoken_accented_letter_1EAB">A mat Hittchen a Well</string>
+ <string name="spoken_accented_letter_1EAD">A mat Hittchen a Punkt drënner</string>
+ <string name="spoken_accented_letter_1EAF">A mat Brevis an Accent aigu</string>
+ <string name="spoken_accented_letter_1EB1">A mat Brevis an Accent grave</string>
+ <string name="spoken_accented_letter_1EB3">A mat Brevis a Krop driwwer</string>
+ <string name="spoken_accented_letter_1EB5">A mat Brevis a Well</string>
+ <string name="spoken_accented_letter_1EB7">A mat Brevis a Punkt drënner</string>
+ <string name="spoken_accented_letter_1EB9">E mat Punkt drënner</string>
+ <string name="spoken_accented_letter_1EBB">E mat Krop driwwer</string>
+ <string name="spoken_accented_letter_1EBD">E mat Well</string>
+ <string name="spoken_accented_letter_1EBF">E mat Hittchen an Accent aigu</string>
+ <string name="spoken_accented_letter_1EC1">E mat Hittchen an Accent grave</string>
+ <string name="spoken_accented_letter_1EC3">E mat Hittchen a Krop driwwer</string>
+ <string name="spoken_accented_letter_1EC5">E mat Hittchen a Well</string>
+ <string name="spoken_accented_letter_1EC7">E mat Hittchen a Punkt drënner</string>
+ <string name="spoken_accented_letter_1EC9">I mat Krop driwwer</string>
+ <string name="spoken_accented_letter_1ECB">I mat Punkt drënner</string>
+ <string name="spoken_accented_letter_1ECD">O mat Punkt drënner</string>
+ <string name="spoken_accented_letter_1ECF">O mat Krop driwwer</string>
+ <string name="spoken_accented_letter_1ED1">O mat Hittchen an Accent aigu</string>
+ <string name="spoken_accented_letter_1ED3">O mat Hittchen an Accent grave</string>
+ <string name="spoken_accented_letter_1ED5">O mat Hittchen a Krop driwwer</string>
+ <string name="spoken_accented_letter_1ED7">O mat Hittchen a Well</string>
+ <string name="spoken_accented_letter_1ED9">O mat Hittchen a Punkt drënner</string>
+ <string name="spoken_accented_letter_1EDB">O mat Har an Accent aigu</string>
+ <string name="spoken_accented_letter_1EDD">O mat Har an Accent grave</string>
+ <string name="spoken_accented_letter_1EDF">O mat Har a Krop driwwer</string>
+ <string name="spoken_accented_letter_1EE1">O mat Har a Well</string>
+ <string name="spoken_accented_letter_1EE3">O mat Har a Punkt drënner</string>
+ <string name="spoken_accented_letter_1EE5">U mat Punkt drënner</string>
+ <string name="spoken_accented_letter_1EE7">U mat Krop driwwer</string>
+ <string name="spoken_accented_letter_1EE9">U mat Har an Accent aigu</string>
+ <string name="spoken_accented_letter_1EEB">U mat Har an Accent grave</string>
+ <string name="spoken_accented_letter_1EED">U mat Har a Krop driwwer</string>
+ <string name="spoken_accented_letter_1EEF">U mat Har a Well</string>
+ <string name="spoken_accented_letter_1EF1">U mat Har a Punkt drënner</string>
+ <string name="spoken_accented_letter_1EF3">Y mat Accent grave</string>
+ <string name="spoken_accented_letter_1EF5">Y mat Punkt drënner</string>
+ <string name="spoken_accented_letter_1EF7">Y mat Krop driwwer</string>
+ <string name="spoken_accented_letter_1EF9">Y mat Well</string>
+ <string name="spoken_symbol_00A1">Ëmgedréint Ausruffzeechen</string>
+ <string name="spoken_symbol_00AB">Lénks Guillemeten</string>
+ <string name="spoken_symbol_00B7">Punkt an der Mëtt</string>
+ <string name="spoken_symbol_00B9">Héichgestallten Eent</string>
+ <string name="spoken_symbol_00BB">Riets Guillemeten</string>
+ <string name="spoken_symbol_00BF">Ëmgedréint Frozeechen</string>
+ <string name="spoken_symbol_2018">Einfach lénks Gänseféisecher</string>
+ <string name="spoken_symbol_2019">Einfach riets Gänseféisecher</string>
+ <string name="spoken_symbol_201A">Einfach lénks Gänseféisecher ënnen</string>
+ <string name="spoken_symbol_201C">Duebel lénks Gänseféisecher</string>
+ <string name="spoken_symbol_201D">Duebel riets Gänseféisecher</string>
+ <string name="spoken_symbol_2020">Kräiz</string>
+ <string name="spoken_symbol_2021">Duebelkräiz</string>
+ <string name="spoken_symbol_2030">Promill-Zeechen</string>
+ <string name="spoken_symbol_2032">Minuttenzeechen</string>
+ <string name="spoken_symbol_2033">Sekonnenzeechen</string>
+ <string name="spoken_symbol_2039">Einfach lénksgedréinte Wénkel-Gänseféisecher</string>
+ <string name="spoken_symbol_203A">Einfach rietsgedréinte Wénkel-Gänseféisecher</string>
+ <string name="spoken_symbol_2074">Héichgestallt Véier</string>
+ <string name="spoken_symbol_207F">Héichgestallte klenge Buschtaf N</string>
+ <string name="spoken_symbol_20B1">Peso-Zeechen</string>
+ <string name="spoken_symbol_2105">\"care of\"-Zeechen</string>
+ <string name="spoken_symbol_2192">Feil no riets</string>
+ <string name="spoken_symbol_2193">Feil no ënnen</string>
+ <string name="spoken_symbol_2205">Eidel Grupp</string>
+ <string name="spoken_symbol_2206">Erhéijen</string>
+ <string name="spoken_symbol_2264">Méi kleng oder gläich</string>
+ <string name="spoken_symbol_2265">Méi grouss oder gläich</string>
+ <string name="spoken_symbol_2605">Schwaarze Stär</string>
+</resources>
diff --git a/java/res/values-lb/strings-talkback-descriptions.xml b/java/res/values-lb/strings-talkback-descriptions.xml
new file mode 100644
index 000000000..ee6c14510
--- /dev/null
+++ b/java/res/values-lb/strings-talkback-descriptions.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="spoken_use_headphones">Kopfhörer uschléisse fir Passwuerttasten ausgeschwat ze héieren.</string>
+ <string name="spoken_current_text_is">Den aktuellen Text ass \"%s\"</string>
+ <string name="spoken_no_text_entered">Keen Text aginn</string>
+ <string name="spoken_auto_correct"><xliff:g id="KEY_NAME" example="Space">%1$s</xliff:g> verbessert <xliff:g id="ORIGINAL_WORD">%2$s</xliff:g> bis <xliff:g id="CORRECTED_WORD">%3$s</xliff:g></string>
+ <string name="spoken_auto_correct_obscured"><xliff:g id="KEY_NAME" example="Space">%1$s</xliff:g> féiert automatesch Korrekturen duerch</string>
+ <string name="spoken_description_unknown">Onbekannt Zeechen</string>
+ <string name="spoken_description_shift">Shift</string>
+ <string name="spoken_description_symbols_shift">Méi Symboler</string>
+ <string name="spoken_description_shift_shifted">Shift</string>
+ <string name="spoken_description_symbols_shift_shifted">Symboler</string>
+ <string name="spoken_description_caps_lock">Shift</string>
+ <string name="spoken_description_delete">Läschen</string>
+ <string name="spoken_description_to_symbol">Symboler</string>
+ <string name="spoken_description_to_alpha">Buschtawen</string>
+ <string name="spoken_description_to_numeric">Zifferen</string>
+ <string name="spoken_description_settings">Astellungen</string>
+ <string name="spoken_description_tab">Tab</string>
+ <string name="spoken_description_space">Espace</string>
+ <string name="spoken_description_mic">Stëmmagab</string>
+ <string name="spoken_description_emoji">Smileyen</string>
+ <string name="spoken_description_return">Return</string>
+ <string name="spoken_description_search">Sichen</string>
+ <string name="spoken_description_dot">Punkt</string>
+ <string name="spoken_description_language_switch">Sprooch wiesselen</string>
+ <string name="spoken_description_action_next">Weider</string>
+ <string name="spoken_description_action_previous">Zréck</string>
+ <string name="spoken_description_shiftmode_on">Shift aktivéiert</string>
+ <string name="spoken_description_shiftmode_locked">Feststelltast aktivéiert</string>
+ <string name="spoken_description_mode_symbol">Symbolmodus</string>
+ <string name="spoken_description_mode_symbol_shift">Modus mat méi Symboler</string>
+ <string name="spoken_description_mode_alpha">Buschtawemodus</string>
+ <string name="spoken_description_mode_phone">Telefonsmodus</string>
+ <string name="spoken_description_mode_phone_shift">Telefonsymbolmodus</string>
+ <string name="announce_keyboard_hidden">Tastatur verstoppt</string>
+ <string name="announce_keyboard_mode">D\'Tastatur <xliff:g id="KEYBOARD_MODE" example="email">%s</xliff:g> gëtt ugewisen</string>
+ <string name="keyboard_mode_date">Datum</string>
+ <string name="keyboard_mode_date_time">Datum an Zäit</string>
+ <string name="keyboard_mode_email">E-Mail</string>
+ <string name="keyboard_mode_im">Messagen</string>
+ <string name="keyboard_mode_number">Nummer</string>
+ <string name="keyboard_mode_phone">Telefon</string>
+ <string name="keyboard_mode_text">Text</string>
+ <string name="keyboard_mode_time">Zäit</string>
+ <string name="keyboard_mode_url">URL</string>
+ <string name="spoken_descrption_emoji_category_recents">Rezent</string>
+ <string name="spoken_descrption_emoji_category_people">Leit</string>
+ <string name="spoken_descrption_emoji_category_objects">Géigestänn</string>
+ <string name="spoken_descrption_emoji_category_nature">Natur</string>
+ <string name="spoken_descrption_emoji_category_places">Plazen</string>
+ <string name="spoken_descrption_emoji_category_symbols">Symboler</string>
+ <string name="spoken_descrption_emoji_category_emoticons">Smileyen</string>
+ <string name="spoken_description_upper_case">Groussen <xliff:g id="LOWER_LETTER" example="A, E, ligature">%s</xliff:g></string>
+ <string name="spoken_letter_0049">Groussen I</string>
+ <string name="spoken_letter_0130">Groussen I mat Punkt driwwer</string>
+ <string name="spoken_symbol_unknown">Onbekannt Symbol</string>
+ <string name="spoken_emoji_unknown">Onbekannte Smiley</string>
+ <string name="spoken_open_more_keys_keyboard">Alternativ Zeeche sinn disponibel</string>
+ <string name="spoken_close_more_keys_keyboard">Alternativ Zeeche gi verworf</string>
+ <string name="spoken_open_more_suggestions">Alternativ Virschléi sinn disponibel</string>
+ <string name="spoken_close_more_suggestions">Alternativ Virschléi goufe verworf</string>
+</resources>
diff --git a/java/res/values-lb/strings.xml b/java/res/values-lb/strings.xml
new file mode 100644
index 000000000..1ff060845
--- /dev/null
+++ b/java/res/values-lb/strings.xml
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="english_ime_input_options">Optioune fir anzeginn</string>
+ <string name="use_contacts_for_spellchecking_option_title">Kontaktnimm nosichen</string>
+ <string name="use_contacts_for_spellchecking_option_summary">D\'Orthografiekorrektur benotzt d\'Nimm aus der Kontaktlëscht</string>
+ <string name="vibrate_on_keypress">Vibratioun bei Tastendrock</string>
+ <string name="sound_on_keypress">Toun bei Tastendrock</string>
+ <string name="popup_on_keypress">Pop-Up bei Tastendrock</string>
+ <string name="settings_screen_preferences">Preferenzen</string>
+ <string name="settings_screen_appearance">Usiicht a Layouten</string>
+ <string name="settings_screen_multilingual">Méisproochegkeetsoptiounen</string>
+ <string name="settings_screen_gesture">Agi mat Gesten</string>
+ <string name="settings_screen_correction">Textverbesserung</string>
+ <string name="settings_screen_advanced">Erweidert</string>
+ <string name="settings_screen_theme">Design</string>
+ <string name="include_other_imes_in_language_switch_list">Bei aner Methode fir anzegi wiesselen</string>
+ <string name="include_other_imes_in_language_switch_list_summary">D\'Sproochwiesseltast ëmfaasst och aner Methode fir anzeginn</string>
+ <string name="show_language_switch_key">Sproochwiesseltast</string>
+ <string name="show_language_switch_key_summary">Uweise wa méi Sproochen aktivéiert sinn</string>
+ <string name="key_preview_popup_dismiss_delay">Verzögerung vun den Taste-Pop-Ups</string>
+ <string name="key_preview_popup_dismiss_no_delay">Keng Verzögerung</string>
+ <string name="key_preview_popup_dismiss_default_delay">Standard</string>
+ <string name="abbreviation_unit_milliseconds"><xliff:g id="MILLISECONDS">%s</xliff:g> ms</string>
+ <string name="settings_system_default">Systemstandard</string>
+ <string name="use_contacts_dict">Kontaktnimm virschloen</string>
+ <string name="use_contacts_dict_summary">Nimm aus der Kontaktlëscht fir Virschléi a Korrekture benotzen</string>
+ <string name="use_personalized_dicts">Personaliséiert Virschléi</string>
+ <string name="enable_metrics_logging">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> verbesseren"</string>
+ <string name="use_double_space_period">Zweefach Espace fir e Punkt </string>
+ <string name="use_double_space_period_summary">Zweemol op Espace drécke fir e Punkt mat Espace anzeginn</string>
+ <string name="auto_cap">Automatesch Groussschreiwung</string>
+ <string name="auto_cap_summary">Dat éischt Wuert vun all Saz groussschreiwen</string>
+ <string name="edit_personal_dictionary">Perséinlechen Dictionnaire</string>
+ <string name="configure_dictionaries_title">AddOn-Dictionnaire</string>
+ <string name="main_dictionary">Haaptdictionnaire</string>
+ <string name="prefs_show_suggestions">Korrekturvirschléi uweisen</string>
+ <string name="prefs_show_suggestions_summary">Virgeschloe Wierder beim Aginn uweisen</string>
+ <string name="prefs_block_potentially_offensive_title">Beleidegend Wierder blockéieren</string>
+ <string name="prefs_block_potentially_offensive_summary">Keng potentiell béis Wierder virschloen</string>
+ <string name="auto_correction">Auto-Korrektur</string>
+ <string name="auto_correction_summary">Automatesch Korrektur vu feelerhafte Wierder beim Drécken op Espace oder op Punktuatiounszeechen</string>
+ <string name="auto_correction_threshold_mode_off">Aus</string>
+ <string name="auto_correction_threshold_mode_modest">Moderat</string>
+ <string name="auto_correction_threshold_mode_aggressive">Aggressiv</string>
+ <string name="auto_correction_threshold_mode_very_aggressive">Immens aggressiv</string>
+ <string name="bigram_prediction">Virschléi vum nächste Wuert</string>
+ <string name="bigram_prediction_summary">Dat viregt Wuert benotze fir Virschléi ze maachen</string>
+ <string name="gesture_input">Agi mat Gesten aktivéieren</string>
+ <string name="gesture_input_summary">Gëff e Wuert an, andeem s de iwwer d\'Buschtawe wëschs</string>
+ <string name="gesture_preview_trail">Gestespur uweisen</string>
+ <string name="gesture_floating_preview_text">Dynamesch schwiewend Virschau</string>
+ <string name="gesture_floating_preview_text_summary">Dat virgeschloent Wuert während dem Gest uweisen</string>
+ <string name="gesture_space_aware">Phrasebeweegung</string>
+ <string name="gesture_space_aware_summary">Espacen duerch eng Beweegung op d\'Espace-Tast aginn</string>
+ <string name="voice_input">Tast fir d\'Sprooch anzeginn</string>
+ <string name="voice_input_disabled_summary">Keng Methode fir iwwer d\'Stëmm anzeginn aktivéiert. Kontrolléier d\'Astellungen ënner \"Sprooch an Agab\".</string>
+ <string name="configure_input_method">Methode fir anzeginn konfiguréieren</string>
+ <string name="language_selection_title">Sproochen</string>
+ <string name="help_and_feedback">Hëllef a Feedback</string>
+ <string name="select_language">Sproochen</string>
+ <string name="hint_add_to_dictionary">Nees drécke fir ze späicheren</string>
+ <string name="hint_add_to_dictionary_without_word">Hei drécke fir ze späicheren</string>
+ <string name="has_dictionary">Dictionnaire disponibel</string>
+ <string name="keyboard_layout">Tastaturdesign</string>
+ <string name="subtype_en_GB">Englesch (Groussbritannien)</string>
+ <string name="subtype_en_US">Englesch (USA)</string>
+ <string name="subtype_es_US">Spuenesch (US)</string>
+ <string name="subtype_with_layout_en_GB">Englesch (UK) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_with_layout_en_US">Englesch (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_with_layout_es_US">Spuenesch (US) (<xliff:g id="KEYBOARD_LAYOUT" example="QWERTY">%s</xliff:g>)</string>
+ <string name="subtype_generic_traditional"><xliff:g id="LANGUAGE_NAME" example="Nepali">%s</xliff:g> (Traditionell)</string>
+ <string name="subtype_generic_cyrillic"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (Kyrillesch)</string>
+ <string name="subtype_generic_latin"><xliff:g id="LANGUAGE_NAME" example="Serbian">%s</xliff:g> (Latäin)</string>
+ <string name="subtype_no_language">Keng Sprooch (Alphabet)</string>
+ <string name="subtype_no_language_qwerty">Alphabet (QWERTY)</string>
+ <string name="subtype_no_language_qwertz">Alphabet (QWERTZ)</string>
+ <string name="subtype_no_language_azerty">Alphabet (AZERTY)</string>
+ <string name="subtype_no_language_dvorak">Alphabet (Dvorak)</string>
+ <string name="subtype_no_language_colemak">Alphabet (Colemak)</string>
+ <string name="subtype_no_language_pcqwerty">Alphabet (PC)</string>
+ <string name="subtype_emoji">Smileyen</string>
+ <string name="keyboard_theme">Tastaturdesign</string>
+ <string name="custom_input_styles_title">Eegen Agabstiler</string>
+ <string name="add_style">Stil dobäisetzen</string>
+ <string name="add">Dobäisetzen</string>
+ <string name="remove">Ewechhuelen</string>
+ <string name="save">Späicheren</string>
+ <string name="subtype_locale">Sprooch</string>
+ <string name="keyboard_layout_set">Layout</string>
+ <string name="custom_input_style_note_message">"Däin eegenen Agabstil muss aktivéiert ginn ier s de e benotze kanns. Wëlls du en elo aktivéieren?"</string>
+ <string name="enable">Aktivéieren</string>
+ <string name="not_now">Net elo</string>
+ <string name="custom_input_style_already_exists">"Dësen Agabstil existéiert schonn: <xliff:g id="INPUT_STYLE_NAME" example="English (Dvorak)">%s</xliff:g>"</string>
+ <string name="prefs_keypress_vibration_duration_settings">Vibratiounsdauer bei Tastendrock</string>
+ <string name="prefs_keypress_sound_volume_settings">Tounlautstäerkt bei Tastendrock</string>
+ <string name="button_default">Standard</string>
+ <string name="setup_welcome_title">"Wëllkomm bei <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>"</string>
+ <string name="setup_welcome_additional_description">mat der Funktioun \"Agi mat Gesten\"</string>
+ <string name="setup_start_action">Lassleeën</string>
+ <string name="setup_next_action">Nächste Schrëtt</string>
+ <string name="setup_steps_title">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> installéieren"</string>
+ <string name="setup_step1_title">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> aktivéieren"</string>
+ <string name="setup_step1_instruction">"Wiel w.e.g. \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" an dengen Astellunge fir \"Sprooch an Agab\" aus, fir datt d'App op dengem Apparat ka lafen."</string>
+ <string name="setup_step1_finished_instruction">"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> ass schonn an dengen Astellunge fir \"Sprooch an Agab\" aktivéiert, also ass dëse Schrëtt fäerdeg. Weider bei den nächsten!"</string>
+ <string name="setup_step1_action">An den Astellungen aktivéieren</string>
+ <string name="setup_step2_title">"Op <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> wiesselen"</string>
+ <string name="setup_step2_instruction">"Wiel als nächst \"<xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g>\" als deng aktiv Method fir anzeginn aus."</string>
+ <string name="setup_step2_action">Method fir anzeginn wiesselen</string>
+ <string name="setup_step3_title">"Gléckwonsch, et ass alles prett!"</string>
+ <string name="setup_step3_instruction">Du kanns elo an denge léifsten Appe mat <xliff:g id="APPLICATION_NAME" example="Android Keyboard">%s</xliff:g> schreiwen.</string>
+ <string name="setup_step3_action">Zousätzlech Sprooche configuréieren</string>
+ <string name="setup_finish_action">Fäerdeg</string>
+ <string name="show_setup_wizard_icon">En App-Symbolbild uweisen</string>
+ <string name="show_setup_wizard_icon_summary">Applikatiounssymbol am Launcher uweisen</string>
+ <string name="app_name">Dictionnairesprovider</string>
+ <string name="dictionary_provider_name">Dictionnairesprovider</string>
+ <string name="dictionary_service_name">Dictionnairesservice</string>
+ <string name="download_description">Update-Informatioune fir d\'Dictionnairen</string>
+ <string name="dictionary_settings_title">AddOn-Dictionnaire</string>
+ <string name="dictionary_install_over_metered_network_prompt">Dictionnaire disponibel</string>
+ <string name="dictionary_settings_summary">Astellunge fir d\'Dictionnairen</string>
+ <string name="user_dictionaries">Benotzerdictionnairen</string>
+ <string name="default_user_dict_pref_name">Benotzerdictionnaire</string>
+ <string name="dictionary_available">Dictionnaire disponibel</string>
+ <string name="dictionary_downloading">Gëtt grad erofgelueden</string>
+ <string name="dictionary_installed">Installéiert</string>
+ <string name="dictionary_disabled">Installéiert, ausgeschalt</string>
+ <string name="cannot_connect_to_dict_service">Problem bei der Connectioun mam Dictionnairesservice</string>
+ <string name="no_dictionaries_available">Keng Dictionnairen disponibel</string>
+ <string name="check_for_updates_now">Opfrëschen</string>
+ <string name="last_update">Fir d\'lescht aktualiséiert</string>
+ <string name="message_updating">Aktualiséierunge gi gesicht</string>
+ <string name="message_loading">Gëtt gelueden&#8230;</string>
+ <string name="main_dict_description">Haaptdictionnaire</string>
+ <string name="cancel">Ofbriechen</string>
+ <string name="go_to_settings">Astellungen</string>
+ <string name="install_dict">Installéieren</string>
+ <string name="cancel_download_dict">Ofbriechen</string>
+ <string name="delete_dict">Läschen</string>
+ <string name="download_over_metered">Elo eroflueden (<xliff:g id="SIZE_IN_MEGABYTES" example="0.7">%1$.1f</xliff:g>MB)</string>
+ <string name="do_not_download_over_metered">Iwwer WLAN eroflueden</string>
+ <string name="dict_available_notification_title">Fir <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> ass en Dictionnaire disponibel</string>
+ <string name="dict_available_notification_description">Dréck fir ze liesen an erofzelueden</string>
+ <string name="toast_downloading_suggestions">Lueden erof: Virschléi fir <xliff:g id="LANGUAGE_NAME" example="English">%1$s</xliff:g> si geschwënn disponibel.</string>
+ <string name="version_text">Versioun <xliff:g id="VERSION_NUMBER" example="1.0.1864.643521">%1$s</xliff:g></string>
+ <string name="user_dict_settings_add_menu_title">Dobäisetzen</string>
+ <string name="user_dict_settings_add_dialog_title">An den Dictionnaire setzen</string>
+ <string name="user_dict_settings_add_screen_title">Saz</string>
+ <string name="user_dict_settings_add_dialog_more_options">Méi Optiounen</string>
+ <string name="user_dict_settings_add_dialog_less_options">Manner Optiounen</string>
+ <string name="user_dict_settings_add_dialog_confirm">OK</string>
+ <string name="user_dict_settings_add_word_option_name">Wuert:</string>
+ <string name="user_dict_settings_add_shortcut_option_name">Tastaturofkierzung:</string>
+ <string name="user_dict_settings_add_locale_option_name">Sprooch:</string>
+ <string name="user_dict_settings_add_word_hint">Gëff e Wuert an</string>
+ <string name="user_dict_settings_add_shortcut_hint">Optional Ofkierzung</string>
+ <string name="user_dict_settings_edit_dialog_title">Wuert änneren</string>
+ <string name="user_dict_settings_context_menu_edit_title">Änneren</string>
+ <string name="user_dict_settings_context_menu_delete_title">Läschen</string>
+ <string name="user_dict_settings_empty_text">Du hues keng Wierder am Benotzerdictionnaire. Setz e Wuert dobäi andeem s du de \"+\"-Knäppchen drécks.</string>
+ <string name="user_dict_settings_all_languages">Fir all d\'Sproochen</string>
+ <string name="user_dict_settings_more_languages">Méi Sproochen&#8230;</string>
+ <string name="user_dict_settings_delete">Läschen</string>
+ <string name="user_dict_fast_scroll_alphabet">\u0020ABCDEFGHIJKLMNOPQRSTUVWXYZ</string>
+</resources>
diff --git a/java/res/values-pa-rIN/strings-config-important-notice.xml b/java/res/values-pa-rIN/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-pa-rIN/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-ug/strings-action-keys.xml b/java/res/values-ug/strings-action-keys.xml
new file mode 100644
index 000000000..121059332
--- /dev/null
+++ b/java/res/values-ug/strings-action-keys.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="label_pause_key">ۋاقىتلىق توختا</string>
+</resources>
diff --git a/java/res/values-ug/strings-appname.xml b/java/res/values-ug/strings-appname.xml
new file mode 100644
index 000000000..2fc9bf08f
--- /dev/null
+++ b/java/res/values-ug/strings-appname.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <string name="english_ime_name">ئاندىرويىد ھەرپتاختا (AOSP)</string>
+ <string name="spell_checker_service_name">ئاندىرويىد ئىملا تەكشۈرگۈچ (AOSP)</string>
+ <string name="english_ime_settings">ئاندىرويىد ھەرپتاختا تەڭشەكلەر (AOSP)</string>
+ <string name="android_spell_checker_settings">ئاندىرويىد ئىملا تەكشۈرگۈچ تەڭشەكلەر (AOSP)</string>
+</resources>
diff --git a/java/res/values-ug/strings-config-important-notice.xml b/java/res/values-ug/strings-config-important-notice.xml
new file mode 100644
index 000000000..f853e0b76
--- /dev/null
+++ b/java/res/values-ug/strings-config-important-notice.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2014, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+ <integer name="config_important_notice_version">0</integer>
+</resources>
diff --git a/java/res/values-ug/strings.xml b/java/res/values-ug/strings.xml
new file mode 100644
index 000000000..6e30c5c7d
--- /dev/null
+++ b/java/res/values-ug/strings.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<!--
+/*
+**
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="english_ime_input_options">كىرگۈزۈش تاللانما</string>
+ <string name="use_contacts_for_spellchecking_option_title">ئالاقەداش ئىسمىنى ئىزدەش</string>
+ <string name="use_contacts_for_spellchecking_option_summary">ئىملا تەكشۈرگۈچ ئالاقەداش تىزىمىڭىزدىكى تۈرلەرنى ئىشلىتىدۇ</string>
+ <string name="vibrate_on_keypress">خەت بېسىلسا تىترەت</string>
+ <string name="sound_on_keypress">خەت بېسىش ئاۋازى</string>
+ <string name="popup_on_keypress">ھەرپ بېسىلسا قاڭقىش كۆزنىكىنى كۆرسەت</string>
+ <string name="include_other_imes_in_language_switch_list">باشقا كىرگۈزگۈچكە ئالماشتۇر</string>
+ <string name="include_other_imes_in_language_switch_list_summary">تىل ئالماشتۇرۇش كۇنۇپكىسىنى باشقا كىرگۈزگۈچكە ئالماشتۇرۇش ئۈچۈنمۇ ئىشلەتكىلى بولىدۇ</string>
+ <string name="show_language_switch_key">تىل ئالماشتۇرۇش كۇنۇپكىسى</string>
+ <string name="show_language_switch_key_summary">كۆپ تىل كىرگۈزۈش قوزغىتىلغاندا كۆرسىتىدۇ</string>
+ <string name="key_preview_popup_dismiss_delay">قاڭقىش كۆزنىكىنى تاقاش مۆھلىتى</string>
+ <string name="key_preview_popup_dismiss_no_delay">كېچىكتۈرۈش يوق</string>
+ <string name="key_preview_popup_dismiss_default_delay">كۆڭۈلدىكى</string>
+ <string name="settings_system_default">سىستېما كۆڭۈلدىكى</string>
+ <string name="use_contacts_dict">تەۋسىيە ئالاقەداش ئاتى</string>
+ <string name="use_contacts_dict_summary">ئالاقەداشلارنىڭ ئاتىدىن پايدىلىنىپ تەۋسىيە ۋە تۈزىتىش تەمىنلەيدۇ</string>
+ <string name="use_double_space_period">بوشلۇق قوش چېكىلسە چېكىت كىرگۈزىدۇ</string>
+ <string name="use_double_space_period_summary">بوشلۇق قوش چېكىلسە بوشلۇق ئەگەشكەن چېكىت قىستۇرىدۇ</string>
+ <string name="auto_cap">ئۆزلۈكىدىن باش ھەرپنى چوڭ يېزىش</string>
+ <string name="auto_cap_summary">ھەر بىر جۈملىنىڭ بېشىدىكى بىرىنچى سۆزنىڭ باش ھەرىپىنى چوڭ ھەرپكە ئۆزگەرتىدۇ</string>
+ <string name="configure_dictionaries_title">قىستۇرما لۇغەتلەر</string>
+ <string name="main_dictionary">ئاساسىي لۇغەت</string>
+ <string name="prefs_show_suggestions">تۇزىتىش تەۋسىيەسىنى كۆرسەت</string>
+ <string name="prefs_show_suggestions_summary">خەت كىرگۈزۈۋاتقاندا تەۋسىيە سۆزنى كۆرسەت</string>
+ <string name="prefs_block_potentially_offensive_title">مەدەنىيەتسىز سۆزلەرنى توسىدۇ</string>
+ <string name="prefs_block_potentially_offensive_summary">مەدەنىيەتسىز سۆزلەرنى تەۋسىيە قىلمايدۇ</string>
+ <string name="auto_correction">ئۆزلۈكىدىن تۈزەت</string>
+ <string name="auto_correction_summary">بوشلۇق ۋە تىنىش بەلگىسى بېسىلسا ئىملاسى خاتا سۆزلەرنى ئۆزلۈكىدىن تۈزىتىدۇ</string>
+ <string name="auto_correction_threshold_mode_off">تاقاق</string>
+ <string name="auto_correction_threshold_mode_modest">مۇۋاپىق</string>
+ <string name="auto_correction_threshold_mode_aggressive">كىچىك ئۆزگەرتىش</string>
+ <string name="auto_correction_threshold_mode_very_aggressive">چوڭ ئۆزگەرتىش</string>
+ <string name="bigram_prediction">باغلىنىشلىق سۆز ئالدىن مۆلچەرى</string>
+ <string name="bigram_prediction_summary">ئالدىنقى سۆزگە ئاساسەن كېيىنكى سۆزنى ئالدىن مۆلچەرلەيدۇ</string>
+ <string name="gesture_input">قول ئىشارىتىدە كىرگۈزۈشنى قوزغىتىش</string>
+ <string name="gesture_input_summary">ھەرپنى قول ئىشارىتى سىزغاندەك سىزىپ سۆز كىرگۈزىدۇ</string>
+ <string name="gesture_preview_trail">قول ئىشارىتى ئىزىنى كۆرسەت</string>
+ <string name="gesture_floating_preview_text">ھەرىكەتچان لەيلىمە ئالدىن كۆزىتىش</string>
+ <string name="gesture_floating_preview_text_summary">قول ئىشارىتىدە كىرگۈزۈۋاتقاندا تەۋسىيە سۆزنى كۆرسىتىدۇ</string>
+ <string name="voice_input">تاۋۇش كىرگۈزۈش كۇنۇپكىسى</string>
+ <string name="configure_input_method">كىرگۈزگۈچ سەپلىمىسى</string>
+ <string name="hint_add_to_dictionary">\u2190 قايتا چېكىلسە ساقلايدۇ</string>
+ <string name="has_dictionary">لۇغەت بار</string>
+ <string name="keyboard_layout">ھەرپتاختا ئۆرنەك</string>
+ <string name="subtype_en_GB">ئىنگلىزچە (ئەنگلىيە)</string>
+ <string name="subtype_en_US">ئىنگلىزچە (ئا ق ش)</string>
+ <string name="subtype_es_US">ئىسپانچە (ئا ق ش)</string>
+ <string name="subtype_no_language">تىل يوق (ئېلىپبە)</string>
+ <string name="subtype_no_language_qwerty">ئېلىپبە (QWERTY)</string>
+ <string name="subtype_no_language_qwertz">ئېلىپبە (QWERTY)</string>
+ <string name="subtype_no_language_azerty">ئېلىپبە (AZERTY)</string>
+ <string name="subtype_no_language_dvorak">ئېلىپبە (Dvorak)</string>
+ <string name="subtype_no_language_colemak">ئېلىپبە (Colemak)</string>
+ <string name="subtype_no_language_pcqwerty">ئېلىپبە (كومپيۇتېر)</string>
+ <string name="subtype_emoji">چىراي ئىپادە</string>
+ <string name="custom_input_styles_title">ئىختىيارىي كىرگۈزۈش ئۇسلۇبى</string>
+ <string name="add_style">ئۇسلۇب قوش</string>
+ <string name="keyboard_layout_set">جايلاشتۇرۇش</string>
+ <string name="custom_input_style_note_message">"ئىختىيارىي كىرگۈزۈش ئۇسلۇبىڭىزنى ئىشلىتىشتىن ئىلگىرى قوزغىتىشىڭىز كېرەك. ئۇنى ھازىرلا قوزغىتامسىز؟"</string>
+ <string name="prefs_keypress_vibration_duration_settings">ھەرپ بېسىلغاندا تىترىتىشنىڭ داۋاملىشىش ۋاقتى</string>
+ <string name="prefs_keypress_sound_volume_settings">ھەرپ بېسىلغاندىكى ئاۋاز كۈچلۈكلۈكى</string>
+ <string name="setup_welcome_additional_description">قول ئىشارىتى بىلەن</string>
+ <string name="setup_start_action">باشلاشتىن ئىلگىرى</string>
+ <string name="setup_next_action">كېيىنكى قەدەم</string>
+ <string name="setup_step1_action">تەڭشەكلەردە قوزغات</string>
+ <string name="setup_step2_action">كىرگۈزگۈچ ئالماشتۇر</string>
+ <string name="setup_step3_title">"مۇبارەك بولسۇن، ھەممىنى تەڭشەپ بولدىڭىز!"</string>
+ <string name="setup_step3_action">باشقا تىل سەپلىمىسى</string>
+ <string name="setup_finish_action">تاماملاندى</string>
+ <string name="show_setup_wizard_icon">ئەپ سىنبەلگىسىنى كۆرسەت</string>
+ <string name="show_setup_wizard_icon_summary">قوزغىغۇچتا ئەپ سىنبەلگىسىنى كۆرسەت</string>
+ <string name="app_name">لۇغەت تەمىنلىگۈچى</string>
+ <string name="dictionary_service_name">لۇغەت مۇلازىمىتى</string>
+ <string name="download_description">لۇغەت يېڭىلاش ئۇچۇرى</string>
+ <string name="dictionary_settings_summary">لۇغەت تەڭشەكلەر</string>
+ <string name="user_dictionaries">ئىشلەتكۈچى لۇغەتلىرى</string>
+ <string name="default_user_dict_pref_name">ئىشلەتكۈچى لۇغىتى</string>
+ <string name="dictionary_downloading">نۆۋەتتە چۈشۈرۈۋاتقىنى</string>
+ <string name="dictionary_disabled">ئورنىتىلغان، چەكلەنگەن</string>
+ <string name="cannot_connect_to_dict_service">لۇغەت مۇلازىمىتىگە باغلىنىش كاشىلىسى</string>
+ <string name="no_dictionaries_available">ھېچقانداق لۇغەت يوق</string>
+ <string name="last_update">ئاخىرقى يېڭىلانغان</string>
+ <string name="message_updating">يېڭىلانمىنى تەكشۈرۈۋاتىدۇ</string>
+ <string name="cancel">ۋاز كەچ</string>
+ <string name="do_not_download_over_metered">Wi-Fi تورىغا باغلانغاندا چۈشۈرۈش</string>
+ <string name="dict_available_notification_description">بېسىلسا كۆرسىتىپ چۈشۈرىدۇ</string>
+</resources>
diff --git a/java/res/values-v21/platform-theme.xml b/java/res/values-v21/platform-theme.xml
index 2a54798b8..e007667e9 100644
--- a/java/res/values-v21/platform-theme.xml
+++ b/java/res/values-v21/platform-theme.xml
@@ -20,6 +20,13 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="platformActivityTheme" parent="@android:style/Theme.DeviceDefault.Light" />
- <style name="platformSettingsTheme" parent="@android:style/Theme.DeviceDefault.Light" />
+ <style name="platformSettingsTheme" parent="android:Theme.Material.Light.DarkActionBar">
+ <!-- Used by the ActionBar -->
+ <item name="android:colorPrimary">@color/theme_primary</item>
+ <!-- Used by the StatusBar -->
+ <item name="android:colorPrimaryDark">@color/theme_primary_dark</item>
+ <!-- Used by controls, e.g. CheckBox, ProgressBar, etc. -->
+ <item name="android:colorAccent">@color/theme_accent</item>
+ </style>
<style name="platformDialogTheme" parent="@android:style/Theme.DeviceDefault.Light.Dialog" />
</resources>
diff --git a/java/res/values/bools.xml b/java/res/values/bools.xml
index 10d217985..01dd0470e 100644
--- a/java/res/values/bools.xml
+++ b/java/res/values/bools.xml
@@ -21,4 +21,5 @@
<!-- Whether this input method should be used as the default for a locale. Override it
for supported languages. -->
<bool name="im_is_default">false</bool>
+ <bool name="lower_right_corner_is_enter">false</bool>
</resources>
diff --git a/java/res/values/colors.xml b/java/res/values/colors.xml
index 5453d51c1..c438386bc 100644
--- a/java/res/values/colors.xml
+++ b/java/res/values/colors.xml
@@ -84,4 +84,9 @@
<color name="setup_welcome_video_margin_color">#FFCCCCCC</color>
<!-- Accent color for the notification. We need to match this to the OS build -->
<color name="notification_accent_color">#FF607D8B</color>
+
+ <!-- Palette colors referenced by top-level themes. -->
+ <color name="theme_primary">#ff263238</color>
+ <color name="theme_primary_dark">#ff21272b</color>
+ <color name="theme_accent">#ff009688</color>
</resources>
diff --git a/java/res/values/customize.xml b/java/res/values/customize.xml
new file mode 100644
index 000000000..165e2fce2
--- /dev/null
+++ b/java/res/values/customize.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2014, The Linux Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<resources>
+
+ <!--
+ default auto correction mode, 0-off, 1-modest, 2-aggeressive, 3-very aggeressive,
+ default value is 1.
+ -->
+ <string name="auto_correction_threshold_mode_default_index">1</string>
+
+</resources>
diff --git a/java/res/values/setup-styles-common.xml b/java/res/values/setup-styles-common.xml
index 686decfba..2524787f8 100644
--- a/java/res/values/setup-styles-common.xml
+++ b/java/res/values/setup-styles-common.xml
@@ -41,8 +41,8 @@
<item name="android:background">@color/setup_step_background</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
- <item name="android:paddingLeft">@dimen/setup_step_horizontal_padding</item>
- <item name="android:paddingRight">@dimen/setup_step_horizontal_padding</item>
+ <item name="android:paddingStart">@dimen/setup_step_horizontal_padding</item>
+ <item name="android:paddingEnd">@dimen/setup_step_horizontal_padding</item>
</style>
<style name="setupStepTitleStyle" parent="setupStepBaseStyle">
<item name="android:textSize">@dimen/setup_step_title_text_size</item>
@@ -59,7 +59,7 @@
<item name="android:textColor">@color/setup_step_action_color</item>
<item name="android:background">@drawable/setup_step_action_background</item>
<item name="android:layout_height">@dimen/setup_step_action_height</item>
- <item name="android:paddingLeft">@dimen/setup_step_horizontal_padding_half</item>
+ <item name="android:paddingStart">@dimen/setup_step_horizontal_padding_half</item>
<item name="android:textSize">@dimen/setup_step_action_text_size</item>
<item name="android:drawablePadding">@dimen/setup_step_horizontal_padding_half</item>
<item name="android:gravity">center_vertical</item>
@@ -67,7 +67,7 @@
<item name="android:focusable">true</item>
</style>
<style name="setupStepStartActionLabelStyleCommon" parent="setupStepActionLabelStyleCommon">
- <item name="android:paddingLeft">@dimen/setup_step_horizontal_padding</item>
- <item name="android:paddingRight">@dimen/setup_step_horizontal_padding</item>
+ <item name="android:paddingStart">@dimen/setup_step_horizontal_padding</item>
+ <item name="android:paddingEnd">@dimen/setup_step_horizontal_padding</item>
</style>
</resources>
diff --git a/java/res/xml-sw600dp/rows_qwertz.xml b/java/res/xml-sw600dp/rows_qwertz.xml
index 3b59dec54..747dafdce 100644
--- a/java/res/xml-sw600dp/rows_qwertz.xml
+++ b/java/res/xml-sw600dp/rows_qwertz.xml
@@ -36,7 +36,7 @@
latin:keyWidth="9.0%p"
>
<include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
+ latin:keyboardLayout="@xml/rowkeys_qwertz2"
latin:keyXPos="4.5%p" />
<Key
latin:keyStyle="enterKeyStyle"
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index 564f465e9..f295c4d7b 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -254,6 +254,15 @@
latin:styleName="enterKeyStyle"
latin:parentStyle="emojiKeyStyle" />
</case>
+ <!-- Make the button in the lower right corner of the keyboard to be Enter
+ button. -->
+ <case
+ latin:mode="lowerRightCornerIsEnterKey"
+ >
+ <key-style
+ latin:styleName="enterKeyStyle"
+ latin:parentStyle="defaultEnterKeyStyle" />
+ </case>
<case
latin:imeAction="actionGo"
>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 4f8efa8d6..073e81bcb 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -35,6 +35,7 @@
de: German/qwertz
de_CH: German (Switzerland)/swiss
el: Greek/greek
+ en_AU: English (Australia)/qwerty
en_IN: English (India)/qwerty
en_US: English (United States)/qwerty
en_GB: English (Great Britain)/qwerty
@@ -115,6 +116,14 @@
android:isDefault="@bool/im_is_default"
android:supportsSwitchingToNextInputMethod="true">
<subtype android:icon="@drawable/ic_ime_switcher_dark"
+ android:label="@string/subtype_generic"
+ android:subtypeId="0xc9194f97"
+ android:imeSubtypeLocale="en_AU"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable"
+ android:isAsciiCapable="true"
+ />
+ <subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_en_US"
android:subtypeId="0xc9194f98"
android:imeSubtypeLocale="en_US"
@@ -462,6 +471,13 @@
/>
<subtype android:icon="@drawable/ic_ime_switcher_dark"
android:label="@string/subtype_generic"
+ android:subtypeId="0x6c624c55"
+ android:imeSubtypeLocale="lb"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=qwertz,AsciiCapable,EmojiCapable"
+ />
+ <subtype android:icon="@drawable/ic_ime_switcher_dark"
+ android:label="@string/subtype_generic"
android:subtypeId="0x8315772c"
android:imeSubtypeLocale="lo_LA"
android:imeSubtypeMode="keyboard"
diff --git a/java/res/xml/prefs_screen_correction.xml b/java/res/xml/prefs_screen_correction.xml
index dd5ba540c..43f3fb931 100644
--- a/java/res/xml/prefs_screen_correction.xml
+++ b/java/res/xml/prefs_screen_correction.xml
@@ -47,7 +47,7 @@
android:summary="@string/auto_correction_summary"
android:entryValues="@array/auto_correction_threshold_mode_indexes"
android:entries="@array/auto_correction_threshold_modes"
- android:defaultValue="@string/auto_correction_threshold_mode_index_modest"
+ android:defaultValue="@string/auto_correction_threshold_mode_default_index"
android:persistent="true" />
<CheckBoxPreference
android:key="show_suggestions"
diff --git a/java/res/xml/rowkeys_east_slavic2.xml b/java/res/xml/rowkeys_east_slavic2.xml
index 21463fb7d..4047ab7ba 100644
--- a/java/res/xml/rowkeys_east_slavic2.xml
+++ b/java/res/xml/rowkeys_east_slavic2.xml
@@ -23,37 +23,59 @@
>
<!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
<Key
- latin:keySpec="&#x0444;" />
+ latin:keySpec="&#x0444;"
+ latin:keyHintLabel="\@"
+ latin:additionalMoreKeys="\\@" />
<Key
latin:keySpec="!text/keyspec_east_slavic_row2_2"
+ latin:keyHintLabel="#"
+ latin:additionalMoreKeys="#"
latin:moreKeys="!text/morekeys_east_slavic_row2_2" />
<!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
<Key
- latin:keySpec="&#x0432;" />
+ latin:keySpec="&#x0432;"
+ latin:keyHintLabel="$"
+ latin:additionalMoreKeys="$" />
<!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
<Key
latin:keySpec="&#x0430;"
- latin:moreKeys="!text/morekeys_cyrillic_a" />
+ latin:moreKeys="!text/morekeys_cyrillic_a"
+ latin:keyHintLabel="%"
+ latin:additionalMoreKeys="%" />
<!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
<Key
- latin:keySpec="&#x043F;" />
+ latin:keySpec="&#x043F;"
+ latin:keyHintLabel="&amp;"
+ latin:additionalMoreKeys="&amp;" />
<!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
<Key
- latin:keySpec="&#x0440;" />
+ latin:keySpec="&#x0440;"
+ latin:keyHintLabel="_"
+ latin:additionalMoreKeys="_" />
<!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
<Key
latin:keySpec="&#x043E;"
+ latin:keyHintLabel="/"
+ latin:additionalMoreKeys="/"
latin:moreKeys="!text/morekeys_cyrillic_o" />
<!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
<Key
- latin:keySpec="&#x043B;" />
+ latin:keySpec="&#x043B;"
+ latin:keyHintLabel="-"
+ latin:additionalMoreKeys="-" />
<!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
<Key
- latin:keySpec="&#x0434;" />
+ latin:keySpec="&#x0434;"
+ latin:keyHintLabel="+"
+ latin:additionalMoreKeys="+" />
<!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
<Key
- latin:keySpec="&#x0436;" />
+ latin:keySpec="&#x0436;"
+ latin:keyHintLabel="("
+ latin:additionalMoreKeys="(" />
<Key
latin:keySpec="!text/keyspec_east_slavic_row2_11"
- latin:moreKeys="!text/morekeys_east_slavic_row2_11" />
+ latin:moreKeys="!text/morekeys_east_slavic_row2_11"
+ latin:keyHintLabel=")"
+ latin:additionalMoreKeys=")" />
</merge>
diff --git a/java/res/xml/rowkeys_east_slavic3.xml b/java/res/xml/rowkeys_east_slavic3.xml
index 54802e878..e1b9b60e2 100644
--- a/java/res/xml/rowkeys_east_slavic3.xml
+++ b/java/res/xml/rowkeys_east_slavic3.xml
@@ -23,29 +23,47 @@
>
<!-- U+044F: "я" CYRILLIC SMALL LETTER YA -->
<Key
- latin:keySpec="&#x044F;" />
+ latin:keySpec="&#x044F;"
+ latin:keyHintLabel="*"
+ latin:additionalMoreKeys="*" />
<!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
<Key
- latin:keySpec="&#x0447;" />
+ latin:keySpec="&#x0447;"
+ latin:keyHintLabel="&quot;"
+ latin:additionalMoreKeys="&quot;" />
<!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
<Key
- latin:keySpec="&#x0441;" />
+ latin:keySpec="&#x0441;"
+ latin:keyHintLabel="&apos;"
+ latin:additionalMoreKeys="&apos;" />
<!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
<Key
- latin:keySpec="&#x043C;" />
+ latin:keySpec="&#x043C;"
+ latin:keyHintLabel=":"
+ latin:additionalMoreKeys=":" />
<Key
- latin:keySpec="!text/keyspec_east_slavic_row3_5" />
+ latin:keySpec="!text/keyspec_east_slavic_row3_5"
+ latin:keyHintLabel=";"
+ latin:additionalMoreKeys=";" />
<!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
<Key
- latin:keySpec="&#x0442;" />
+ latin:keySpec="&#x0442;"
+ latin:keyHintLabel="!"
+ latin:additionalMoreKeys="!" />
<!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
<Key
latin:keySpec="&#x044C;"
- latin:moreKeys="!text/morekeys_cyrillic_soft_sign" />
+ latin:moreKeys="!text/morekeys_cyrillic_soft_sign"
+ latin:keyHintLabel="\?"
+ latin:additionalMoreKeys="\\?" />
<!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
<Key
- latin:keySpec="&#x0431;" />
+ latin:keySpec="&#x0431;"
+ latin:keyHintLabel="&lt;"
+ latin:additionalMoreKeys="&lt;" />
<!-- U+044E: "ю" CYRILLIC SMALL LETTER YU -->
<Key
- latin:keySpec="&#x044E;" />
+ latin:keySpec="&#x044E;"
+ latin:keyHintLabel="&gt;"
+ latin:additionalMoreKeys="&gt;" />
</merge>
diff --git a/java/res/xml/rowkeys_greek2.xml b/java/res/xml/rowkeys_greek2.xml
index d8769caa9..3784d9636 100644
--- a/java/res/xml/rowkeys_greek2.xml
+++ b/java/res/xml/rowkeys_greek2.xml
@@ -25,31 +25,49 @@
U+03AC: "ά" GREEK SMALL LETTER ALPHA WITH TONOS -->
<Key
latin:keySpec="&#x03B1;"
- latin:moreKeys="&#x03AC;" />
+ latin:moreKeys="&#x03AC;"
+ latin:keyHintLabel="\@"
+ latin:additionalMoreKeys="\\@" />
<!-- U+03C3: "σ" GREEK SMALL LETTER SIGMA -->
<Key
- latin:keySpec="&#x03C3;" />
+ latin:keySpec="&#x03C3;"
+ latin:keyHintLabel="#"
+ latin:additionalMoreKeys="#" />
<!-- U+03B4: "δ" GREEK SMALL LETTER DELTA -->
<Key
- latin:keySpec="&#x03B4;" />
+ latin:keySpec="&#x03B4;"
+ latin:keyHintLabel="$"
+ latin:additionalMoreKeys="$" />
<!-- U+03C6: "φ" GREEK SMALL LETTER PHI -->
<Key
- latin:keySpec="&#x03C6;" />
+ latin:keySpec="&#x03C6;"
+ latin:keyHintLabel="%"
+ latin:additionalMoreKeys="%" />
<!-- U+03B3: "γ" GREEK SMALL LETTER GAMMA -->
<Key
- latin:keySpec="&#x03B3;" />
+ latin:keySpec="&#x03B3;"
+ latin:keyHintLabel="&amp;"
+ latin:additionalMoreKeys="&amp;" />
<!-- U+03B7: "η" GREEK SMALL LETTER ETA
U+03AE: "ή" GREEK SMALL LETTER ETA WITH TONOS -->
<Key
latin:keySpec="&#x03B7;"
- latin:moreKeys="&#x03AE;" />
+ latin:moreKeys="&#x03AE;"
+ latin:keyHintLabel="-"
+ latin:additionalMoreKeys="-" />
<!-- U+03BE: "ξ" GREEK SMALL LETTER XI -->
<Key
- latin:keySpec="&#x03BE;" />
+ latin:keySpec="&#x03BE;"
+ latin:keyHintLabel="+"
+ latin:additionalMoreKeys="+" />
<!-- U+03BA: "κ" GREEK SMALL LETTER KAPPA -->
<Key
- latin:keySpec="&#x03BA;" />
+ latin:keySpec="&#x03BA;"
+ latin:keyHintLabel="("
+ latin:additionalMoreKeys="(" />
<!-- U+03BB: "λ" GREEK SMALL LETTER LAMDA -->
<Key
- latin:keySpec="&#x03BB;" />
+ latin:keySpec="&#x03BB;"
+ latin:keyHintLabel=")"
+ latin:additionalMoreKeys=")" />
</merge>
diff --git a/java/res/xml/rowkeys_greek3.xml b/java/res/xml/rowkeys_greek3.xml
index 3f989bc9c..cda9106b9 100644
--- a/java/res/xml/rowkeys_greek3.xml
+++ b/java/res/xml/rowkeys_greek3.xml
@@ -23,25 +23,39 @@
>
<!-- U+03B6: "ζ" GREEK SMALL LETTER ZETA -->
<Key
- latin:keySpec="&#x03B6;" />
+ latin:keySpec="&#x03B6;"
+ latin:keyHintLabel="*"
+ latin:additionalMoreKeys="*" />
<!-- U+03C7: "χ" GREEK SMALL LETTER CHI -->
<Key
- latin:keySpec="&#x03C7;" />
+ latin:keySpec="&#x03C7;"
+ latin:keyHintLabel="&quot;"
+ latin:additionalMoreKeys="&quot;" />
<!-- U+03C8: "ψ" GREEK SMALL LETTER PSI -->
<Key
- latin:keySpec="&#x03C8;" />
+ latin:keySpec="&#x03C8;"
+ latin:keyHintLabel="&apos;"
+ latin:additionalMoreKeys="&apos;" />
<!-- U+03C9: "ω" GREEK SMALL LETTER OMEGA
U+03CE: "ώ" GREEK SMALL LETTER OMEGA WITH TONOS -->
<Key
latin:keySpec="&#x03C9;"
- latin:moreKeys="&#x03CE;" />
+ latin:moreKeys="&#x03CE;"
+ latin:keyHintLabel=":"
+ latin:additionalMoreKeys=":" />
<!-- U+03B2: "β" GREEK SMALL LETTER BETA -->
<Key
- latin:keySpec="&#x03B2;" />
+ latin:keySpec="&#x03B2;"
+ latin:keyHintLabel=";"
+ latin:additionalMoreKeys=";" />
<!-- U+03BD: "ν" GREEK SMALL LETTER NU -->
<Key
- latin:keySpec="&#x03BD;" />
+ latin:keySpec="&#x03BD;"
+ latin:keyHintLabel="!"
+ latin:additionalMoreKeys="!" />
<!-- U+03BC: "μ" GREEK SMALL LETTER MU -->
<Key
- latin:keySpec="&#x03BC;" />
+ latin:keySpec="&#x03BC;"
+ latin:keyHintLabel="\?"
+ latin:additionalMoreKeys="\\?" />
</merge>
diff --git a/java/res/xml/rowkeys_qwerty2.xml b/java/res/xml/rowkeys_qwerty2.xml
index 4077beaf6..e1fa94f1b 100644
--- a/java/res/xml/rowkeys_qwerty2.xml
+++ b/java/res/xml/rowkeys_qwerty2.xml
@@ -23,28 +23,46 @@
>
<Key
latin:keySpec="a"
+ latin:keyHintLabel="\@"
+ latin:additionalMoreKeys="\\@"
latin:moreKeys="!text/morekeys_a" />
<Key
latin:keySpec="s"
+ latin:keyHintLabel="#"
+ latin:additionalMoreKeys="#"
latin:moreKeys="!text/morekeys_s" />
<Key
latin:keySpec="d"
+ latin:keyHintLabel="$"
+ latin:additionalMoreKeys="$"
latin:moreKeys="!text/morekeys_d" />
<Key
- latin:keySpec="f" />
+ latin:keySpec="f"
+ latin:keyHintLabel="%"
+ latin:additionalMoreKeys="%" />
<Key
latin:keySpec="g"
+ latin:keyHintLabel="&amp;"
+ latin:additionalMoreKeys="&amp;"
latin:moreKeys="!text/morekeys_g" />
<Key
latin:keySpec="h"
+ latin:keyHintLabel="-"
+ latin:additionalMoreKeys="-"
latin:moreKeys="!text/morekeys_h" />
<Key
latin:keySpec="j"
+ latin:keyHintLabel="+"
+ latin:additionalMoreKeys="+"
latin:moreKeys="!text/morekeys_j" />
<Key
latin:keySpec="k"
+ latin:keyHintLabel="("
+ latin:additionalMoreKeys="("
latin:moreKeys="!text/morekeys_k" />
<Key
latin:keySpec="l"
+ latin:keyHintLabel=")"
+ latin:additionalMoreKeys=")"
latin:moreKeys="!text/morekeys_l" />
</merge>
diff --git a/java/res/xml/rowkeys_qwerty3.xml b/java/res/xml/rowkeys_qwerty3.xml
index 8562003d2..076a4e6f0 100644
--- a/java/res/xml/rowkeys_qwerty3.xml
+++ b/java/res/xml/rowkeys_qwerty3.xml
@@ -23,21 +23,35 @@
>
<Key
latin:keySpec="z"
+ latin:keyHintLabel="*"
+ latin:additionalMoreKeys="*"
latin:moreKeys="!text/morekeys_z" />
<Key
latin:keySpec="!text/keyspec_x"
+ latin:keyHintLabel="&quot;"
+ latin:additionalMoreKeys="&quot;"
latin:moreKeys="!text/morekeys_x" />
<Key
latin:keySpec="c"
+ latin:keyHintLabel="&apos;"
+ latin:additionalMoreKeys="&apos;"
latin:moreKeys="!text/morekeys_c" />
<Key
latin:keySpec="v"
+ latin:keyHintLabel=":"
+ latin:additionalMoreKeys=":"
latin:moreKeys="!text/morekeys_v" />
<Key
- latin:keySpec="b" />
+ latin:keySpec="b"
+ latin:keyHintLabel=";"
+ latin:additionalMoreKeys=";" />
<Key
latin:keySpec="n"
+ latin:keyHintLabel="!"
+ latin:additionalMoreKeys="!"
latin:moreKeys="!text/morekeys_n" />
<Key
- latin:keySpec="m" />
+ latin:keySpec="m"
+ latin:keyHintLabel="\?"
+ latin:additionalMoreKeys="\\?" />
</merge>
diff --git a/java/res/xml/rowkeys_qwertz2.xml b/java/res/xml/rowkeys_qwertz2.xml
new file mode 100644
index 000000000..5d6d65ecd
--- /dev/null
+++ b/java/res/xml/rowkeys_qwertz2.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<merge
+ xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+ <Key
+ latin:keySpec="a"
+ latin:moreKeys="!text/morekeys_a" />
+ <Key
+ latin:keySpec="s"
+ latin:moreKeys="!text/morekeys_s" />
+ <Key
+ latin:keySpec="d"
+ latin:keyHintLabel="€"
+ latin:additionalMoreKeys="€"
+ latin:moreKeys="!text/morekeys_d" />
+ <Key
+ latin:keySpec="f"
+ latin:keyHintLabel="%"
+ latin:additionalMoreKeys="%" />
+ <Key
+ latin:keySpec="g"
+ latin:keyHintLabel="&amp;"
+ latin:additionalMoreKeys="&amp;"
+ latin:moreKeys="!text/morekeys_g" />
+ <Key
+ latin:keySpec="h"
+ latin:keyHintLabel="-"
+ latin:additionalMoreKeys="-"
+ latin:moreKeys="!text/morekeys_h" />
+ <Key
+ latin:keySpec="j"
+ latin:keyHintLabel="+"
+ latin:additionalMoreKeys="+"
+ latin:moreKeys="!text/morekeys_j" />
+ <Key
+ latin:keySpec="k"
+ latin:keyHintLabel="("
+ latin:additionalMoreKeys="("
+ latin:moreKeys="!text/morekeys_k" />
+ <Key
+ latin:keySpec="l"
+ latin:keyHintLabel=")"
+ latin:additionalMoreKeys=")"
+ latin:moreKeys="!text/morekeys_l" />
+</merge>
diff --git a/java/res/xml/rowkeys_qwertz3.xml b/java/res/xml/rowkeys_qwertz3.xml
index a66c34868..dbab840aa 100644
--- a/java/res/xml/rowkeys_qwertz3.xml
+++ b/java/res/xml/rowkeys_qwertz3.xml
@@ -23,20 +23,34 @@
>
<Key
latin:keySpec="y"
+ latin:keyHintLabel="*"
+ latin:additionalMoreKeys="*"
latin:moreKeys="!text/morekeys_y" />
<Key
- latin:keySpec="x" />
+ latin:keySpec="x"
+ latin:keyHintLabel="&quot;"
+ latin:additionalMoreKeys="&quot;" />
<Key
latin:keySpec="c"
+ latin:keyHintLabel="&apos;"
+ latin:additionalMoreKeys="&apos;"
latin:moreKeys="!text/morekeys_c" />
<Key
latin:keySpec="v"
+ latin:keyHintLabel=":"
+ latin:additionalMoreKeys=":"
latin:moreKeys="!text/morekeys_v" />
<Key
- latin:keySpec="b" />
+ latin:keySpec="b"
+ latin:keyHintLabel=";"
+ latin:additionalMoreKeys=";" />
<Key
latin:keySpec="n"
+ latin:keyHintLabel="!"
+ latin:additionalMoreKeys="!"
latin:moreKeys="!text/morekeys_n" />
<Key
- latin:keySpec="m" />
+ latin:keySpec="m"
+ latin:keyHintLabel="\?"
+ latin:additionalMoreKeys="\\?" />
</merge>
diff --git a/java/res/xml/rows_qwertz.xml b/java/res/xml/rows_qwertz.xml
index 31a147c12..e4ba99fbe 100644
--- a/java/res/xml/rows_qwertz.xml
+++ b/java/res/xml/rows_qwertz.xml
@@ -33,7 +33,7 @@
latin:keyWidth="10%p"
>
<include
- latin:keyboardLayout="@xml/rowkeys_qwerty2"
+ latin:keyboardLayout="@xml/rowkeys_qwertz2"
latin:keyXPos="5%p" />
</Row>
<Row
diff --git a/java/res/xml/spellchecker.xml b/java/res/xml/spellchecker.xml
index 13e6132f1..7a1177389 100644
--- a/java/res/xml/spellchecker.xml
+++ b/java/res/xml/spellchecker.xml
@@ -59,4 +59,32 @@
android:label="@string/subtype_generic"
android:subtypeLocale="pt_BR"
/>
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="hu"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="da"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="fi"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="nb"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="sv"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="el"
+ />
+ <subtype
+ android:label="@string/subtype_generic"
+ android:subtypeLocale="lb"
+ />
</spell-checker>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index 3c1167538..efe292e7b 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -43,6 +43,7 @@ public final class KeyboardId {
public static final int MODE_DATE = 6;
public static final int MODE_TIME = 7;
public static final int MODE_DATETIME = 8;
+ public static final int MODE_LOWER_RIGHT_CORNER_ENTER = 9;
public static final int ELEMENT_ALPHABET = 0;
public static final int ELEMENT_ALPHABET_MANUAL_SHIFTED = 1;
@@ -233,6 +234,7 @@ public final class KeyboardId {
case MODE_DATE: return "date";
case MODE_TIME: return "time";
case MODE_DATETIME: return "datetime";
+ case MODE_LOWER_RIGHT_CORNER_ENTER: return "lowerRightCornerIsEnterKey";
default: return null;
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
index feb79efe9..bd1b49a1a 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardLayoutSet.java
@@ -70,6 +70,7 @@ public final class KeyboardLayoutSet {
private final Context mContext;
private final Params mParams;
+ private static boolean mLowerRightCornerIsEnterKey = false;
// How many layouts we forcibly keep in cache. This only includes ALPHABET (default) and
// ALPHABET_AUTOMATIC_SHIFTED layouts - other layouts may stay in memory in the map of
@@ -238,6 +239,8 @@ public final class KeyboardLayoutSet {
mResources = context.getResources();
final Params params = mParams;
+ mLowerRightCornerIsEnterKey = mResources.getBoolean(
+ R.bool.lower_right_corner_is_enter);
final EditorInfo editorInfo = (ei != null) ? ei : EMPTY_EDITOR_INFO;
params.mMode = getKeyboardMode(editorInfo);
// TODO: Consolidate those with {@link InputAttributes}.
@@ -421,7 +424,8 @@ public final class KeyboardLayoutSet {
} else if (variation == InputType.TYPE_TEXT_VARIATION_URI) {
return KeyboardId.MODE_URL;
} else if (variation == InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE) {
- return KeyboardId.MODE_IM;
+ return (mLowerRightCornerIsEnterKey ?
+ KeyboardId.MODE_LOWER_RIGHT_CORNER_ENTER : KeyboardId.MODE_IM);
} else if (variation == InputType.TYPE_TEXT_VARIATION_FILTER) {
return KeyboardId.MODE_TEXT;
} else {
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
index 31bc549ca..d50aa5389 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsTable.java
@@ -83,26 +83,26 @@ public final class KeyboardTextsTable {
private static final String[] NAMES = {
// /* index:histogram */ "name",
- /* 0:32 */ "morekeys_a",
- /* 1:32 */ "morekeys_o",
- /* 2:30 */ "morekeys_u",
- /* 3:30 */ "keylabel_to_alpha",
- /* 4:29 */ "morekeys_e",
- /* 5:28 */ "morekeys_i",
- /* 6:23 */ "morekeys_c",
- /* 7:23 */ "double_quotes",
- /* 8:22 */ "morekeys_n",
- /* 9:22 */ "single_quotes",
- /* 10:20 */ "morekeys_s",
+ /* 0:33 */ "morekeys_a",
+ /* 1:33 */ "morekeys_o",
+ /* 2:31 */ "morekeys_u",
+ /* 3:30 */ "morekeys_e",
+ /* 4:30 */ "keylabel_to_alpha",
+ /* 5:29 */ "morekeys_i",
+ /* 6:24 */ "double_quotes",
+ /* 7:23 */ "morekeys_n",
+ /* 8:23 */ "morekeys_c",
+ /* 9:23 */ "single_quotes",
+ /* 10:21 */ "morekeys_s",
/* 11:17 */ "keyspec_currency",
/* 12:14 */ "morekeys_y",
/* 13:13 */ "morekeys_d",
/* 14:12 */ "morekeys_z",
/* 15:10 */ "morekeys_t",
/* 16:10 */ "morekeys_l",
- /* 17: 9 */ "morekeys_g",
- /* 18: 9 */ "single_angle_quotes",
- /* 19: 9 */ "double_angle_quotes",
+ /* 17:10 */ "single_angle_quotes",
+ /* 18:10 */ "double_angle_quotes",
+ /* 19: 9 */ "morekeys_g",
/* 20: 8 */ "morekeys_r",
/* 21: 6 */ "morekeys_k",
/* 22: 6 */ "morekeys_cyrillic_ie",
@@ -258,25 +258,24 @@ public final class KeyboardTextsTable {
/* Default texts */
private static final String[] TEXTS_DEFAULT = {
/* morekeys_a ~ */
- EMPTY, EMPTY, EMPTY,
- /* ~ morekeys_u */
+ EMPTY, EMPTY, EMPTY, EMPTY,
+ /* ~ morekeys_e */
// Label for "switch to alphabetic" key.
/* keylabel_to_alpha */ "ABC",
- /* morekeys_e ~ */
- EMPTY, EMPTY, EMPTY,
- /* ~ morekeys_c */
+ /* morekeys_i */ EMPTY,
/* double_quotes */ "!text/double_lqm_rqm",
/* morekeys_n */ EMPTY,
+ /* morekeys_c */ EMPTY,
/* single_quotes */ "!text/single_lqm_rqm",
/* morekeys_s */ EMPTY,
/* keyspec_currency */ "$",
/* morekeys_y ~ */
- EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
- /* ~ morekeys_g */
+ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+ /* ~ morekeys_l */
/* single_angle_quotes */ "!text/single_laqm_raqm",
/* double_angle_quotes */ "!text/double_laqm_raqm",
- /* morekeys_r ~ */
- EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
+ /* morekeys_g ~ */
+ EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY,
/* ~ morekeys_cyrillic_soft_sign */
/* keyspec_symbols_1 */ "1",
/* keyspec_symbols_2 */ "2",
@@ -494,7 +493,6 @@ public final class KeyboardTextsTable {
// 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 +501,7 @@ 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",
+ /* 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,12 @@ 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,
/* ~ keyspec_currency */
// U+00FD: "ý" LATIN SMALL LETTER Y WITH ACUTE
// U+0133: "ij" LATIN SMALL LIGATURE IJ
@@ -527,17 +525,17 @@ public final class KeyboardTextsTable {
/* Locale ar: Arabic */
private static final String[] TEXTS_ar = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// Label for "switch to alphabetic" key.
// U+0623: "أ" ARABIC LETTER ALEF WITH HAMZA ABOVE
// U+200C: ZERO WIDTH NON-JOINER
// 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",
@@ -675,9 +673,9 @@ public final class KeyboardTextsTable {
// 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+0259: "ə" LATIN SMALL LETTER SCHWA
/* morekeys_e */ "\u0259",
+ /* keylabel_to_alpha */ null,
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -686,21 +684,21 @@ 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",
+ /* double_quotes */ null,
+ /* 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,
- /* ~ single_quotes */
+ /* 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,
- /* ~ morekeys_l */
+ null, null, null, null, null, null, null, null,
+ /* ~ double_angle_quotes */
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u011F",
};
@@ -708,18 +706,17 @@ public final class KeyboardTextsTable {
/* Locale be_BY: Belarusian (Belarus) */
private static final String[] TEXTS_be_BY = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null,
@@ -744,16 +741,14 @@ public final class KeyboardTextsTable {
/* Locale bg: Bulgarian */
private static final String[] TEXTS_bg = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
// single_quotes of Bulgarian is default single_quotes_right_left.
/* double_quotes */ "!text/double_9qm_lqm",
};
@@ -761,15 +756,15 @@ public final class KeyboardTextsTable {
/* Locale bn_IN: Bengali (India) */
private static final String[] TEXTS_bn_IN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -804,7 +799,6 @@ public final class KeyboardTextsTable {
// 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 +807,7 @@ 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",
+ /* 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,21 +815,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+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",
+ // 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",
/* single_quotes ~ */
null, null, null, null, null, null, null,
/* ~ morekeys_t */
// U+00B7: "·" MIDDLE DOT
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "l\u00B7l,\u0142",
- /* morekeys_g ~ */
+ /* single_angle_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,
@@ -878,7 +873,6 @@ public final class KeyboardTextsTable {
// 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 +882,7 @@ 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",
+ /* 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 +890,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+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",
+ // 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",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -922,9 +917,9 @@ public final class KeyboardTextsTable {
// U+0165: "ť" LATIN SMALL LETTER T WITH CARON
/* morekeys_t */ "\u0165",
/* morekeys_l */ null,
- /* morekeys_g */ null,
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
+ /* morekeys_g */ null,
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
/* morekeys_r */ "\u0159",
};
@@ -951,18 +946,18 @@ public final class KeyboardTextsTable {
// 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
/* morekeys_e */ "\u00E9,\u00EB",
+ /* keylabel_to_alpha */ null,
// 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,
/* single_quotes */ "!text/single_9qm_lqm",
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -978,11 +973,10 @@ public final class KeyboardTextsTable {
/* morekeys_t */ null,
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u0142",
- /* morekeys_g */ null,
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
- /* morekeys_r ~ */
- null, null, null,
+ /* morekeys_g ~ */
+ null, null, null, null,
/* ~ morekeys_cyrillic_ie */
// U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
/* keyspec_nordic_row1_11 */ "\u00E5",
@@ -1026,33 +1020,33 @@ public final class KeyboardTextsTable {
// 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
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
// U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0117",
+ /* keylabel_to_alpha */ null,
/* 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,
/* single_quotes */ "!text/single_9qm_lqm",
// 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 */ "\u00DF,\u015B,\u0161",
/* keyspec_currency ~ */
- null, null, null, null, null, null, null,
- /* ~ morekeys_g */
+ null, null, null, null, null, null,
+ /* ~ morekeys_l */
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
- /* morekeys_r ~ */
+ /* morekeys_g ~ */
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,
/* ~ keyspec_tablet_comma */
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
/* keyspec_swiss_row1_11 */ "\u00FC",
@@ -1071,8 +1065,8 @@ public final class KeyboardTextsTable {
/* Locale el: Greek */
private static final String[] TEXTS_el = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// Label for "switch to alphabetic" key.
// U+0391: "Α" GREEK CAPITAL LETTER ALPHA
// U+0392: "Β" GREEK CAPITAL LETTER BETA
@@ -1106,24 +1100,24 @@ public final class KeyboardTextsTable {
// 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
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0113",
+ /* 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
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC",
- // 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",
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ /* morekeys_c */ "\u00E7",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
@@ -1165,7 +1159,6 @@ public final class KeyboardTextsTable {
// U+0173: "ų" LATIN SMALL LETTER U WITH OGONEK
// 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
@@ -1175,6 +1168,7 @@ 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",
+ /* 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
@@ -1185,11 +1179,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
@@ -1198,6 +1187,11 @@ 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",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
@@ -1230,12 +1224,12 @@ public final class KeyboardTextsTable {
// U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u013A,\u013C,\u013E,\u0140,\u0142",
+ /* single_angle_quotes */ null,
+ /* double_angle_quotes */ null,
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
// U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE
// U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
/* morekeys_g */ "\u011F,\u0121,\u0123",
- /* single_angle_quotes */ null,
- /* double_angle_quotes */ null,
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
// U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
// U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
@@ -1306,7 +1300,6 @@ public final class KeyboardTextsTable {
// 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 +1308,7 @@ 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",
+ /* 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,14 +1316,14 @@ 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+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",
+ // 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",
/* single_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,
@@ -1370,7 +1364,6 @@ public final class KeyboardTextsTable {
// U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
// 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
@@ -1380,6 +1373,7 @@ public final class KeyboardTextsTable {
// 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",
+ /* keylabel_to_alpha */ null,
// 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 +1382,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+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",
+ // 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",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -1421,11 +1415,11 @@ public final class KeyboardTextsTable {
// U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
// U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
/* morekeys_l */ "\u013C,\u0142,\u013A,\u013E",
+ /* single_angle_quotes */ null,
+ /* double_angle_quotes */ null,
// U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u0123,\u011F",
- /* single_angle_quotes */ null,
- /* double_angle_quotes */ null,
// U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
// U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
@@ -1472,7 +1466,6 @@ public final class KeyboardTextsTable {
// 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 +1474,7 @@ 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",
+ /* 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,29 +1482,29 @@ 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+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",
+ // 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",
};
/* Locale fa: Persian */
private static final String[] TEXTS_fa = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// Label for "switch to alphabetic" key.
// U+0627: "ا" ARABIC LETTER ALEF
// U+200C: ZERO WIDTH NON-JOINER
// 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",
@@ -1661,7 +1655,7 @@ public final class KeyboardTextsTable {
/* morekeys_o */ "\u00F8,\u00F4,\u00F2,\u00F3,\u00F5,\u0153,\u014D",
// U+00FC: "ü" LATIN SMALL LETTER U WITH DIAERESIS
/* morekeys_u */ "\u00FC",
- /* keylabel_to_alpha ~ */
+ /* morekeys_e ~ */
null, null, null, null, null, null, null,
/* ~ single_quotes */
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
@@ -1722,7 +1716,6 @@ public final class KeyboardTextsTable {
// 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 +1724,7 @@ 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",
+ /* 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,12 +1732,14 @@ 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",
+ /* double_quotes */ null,
+ /* 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,
+ /* single_quotes ~ */
+ null, null, null,
/* ~ keyspec_currency */
// U+00FF: "ÿ" LATIN SMALL LETTER Y WITH DIAERESIS
/* morekeys_y */ "%,\u00FF",
@@ -1795,7 +1791,6 @@ public final class KeyboardTextsTable {
// 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 +1799,7 @@ 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",
+ /* 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 +1807,28 @@ 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+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",
+ // 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",
};
/* Locale hi: Hindi */
private static final String[] TEXTS_hi = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -1879,14 +1875,14 @@ public final class KeyboardTextsTable {
/* morekeys_a ~ */
null, null, null, null, null, null,
/* ~ morekeys_i */
- // 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",
+ // 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",
/* single_quotes */ "!text/single_9qm_rqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -1900,9 +1896,8 @@ public final class KeyboardTextsTable {
// 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,
- /* ~ morekeys_g */
+ /* morekeys_t */ null,
+ /* morekeys_l */ null,
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
};
@@ -1910,54 +1905,27 @@ public final class KeyboardTextsTable {
/* Locale hu: Hungarian */
private static final String[] TEXTS_hu = {
// U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
- // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
- // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
- // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
- // U+00E6: "æ" LATIN SMALL LETTER AE
- // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
- // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
- // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
- /* morekeys_a */ "\u00E1,\u00E0,\u00E2,\u00E4,\u00E6,\u00E3,\u00E5,\u0101",
+ /* morekeys_a */ "\u00E1",
// U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
// U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
// U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
- // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
- // U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
- // U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
- // U+0153: "œ" LATIN SMALL LIGATURE OE
- // 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",
+ /* morekeys_o */ "\u00F3,\u00F6,\u0151",
// 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,
+ /* morekeys_u */ "\u00FA,\u00FC,\u0171",
// 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
- // 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_e */ "\u00E9",
+ /* 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
- // U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
- // 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_c */ null,
+ /* morekeys_i */ "\u00ED",
/* double_quotes */ "!text/double_9qm_rqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s ~ */
- null, null, null, null, null, null, null, null,
- /* ~ morekeys_g */
+ null, null, null, null, null, null, null,
+ /* ~ morekeys_l */
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
};
@@ -1965,18 +1933,18 @@ public final class KeyboardTextsTable {
/* Locale hy_AM: Armenian (Armenia) */
private static final String[] TEXTS_hy_AM = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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
@@ -2049,7 +2017,6 @@ public final class KeyboardTextsTable {
// 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
@@ -2058,6 +2025,7 @@ 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",
+ /* 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
@@ -2065,9 +2033,9 @@ 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_c */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s */ null,
/* keyspec_currency */ null,
@@ -2109,7 +2077,6 @@ public final class KeyboardTextsTable {
// 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
@@ -2118,6 +2085,7 @@ 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",
+ /* 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
@@ -2125,7 +2093,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 ~ */
+ /* 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,
@@ -2148,18 +2116,17 @@ public final class KeyboardTextsTable {
/* Locale iw: Hebrew */
private static final String[] TEXTS_iw = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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 ~ */
- null, null, null,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_rqm_9qm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_rqm_9qm",
/* morekeys_s */ null,
// U+20AA: "₪" NEW SHEQEL SIGN
@@ -2207,34 +2174,33 @@ public final class KeyboardTextsTable {
/* Locale ka_GE: Georgian (Georgia) */
private static final String[] TEXTS_ka_GE = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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 ~ */
- null, null, null,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
};
/* Locale kk: Kazakh */
private static final String[] TEXTS_kk = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2283,14 +2249,14 @@ public final class KeyboardTextsTable {
/* Locale km_KH: Khmer (Cambodia) */
private static final String[] TEXTS_km_KH = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,
@@ -2298,7 +2264,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",
@@ -2307,15 +2273,15 @@ public final class KeyboardTextsTable {
/* Locale kn_IN: Kannada (India) */
private static final String[] TEXTS_kn_IN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2324,16 +2290,16 @@ public final class KeyboardTextsTable {
/* Locale ky: Kirghiz */
private static final String[] TEXTS_ky = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2365,18 +2331,73 @@ public final class KeyboardTextsTable {
/* morekeys_cyrillic_o */ "\u04E9",
};
+ /* Locale lb: Luxembourgish */
+ private static final String[] TEXTS_lb = {
+ // U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ // U+0040: "@" COMMERCIAL AT
+ // U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+ // U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+ // U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+ // U+00E6: "æ" LATIN SMALL LETTER AE
+ // U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+ // U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+ // U+0101: "ā" LATIN SMALL LETTER A WITH MACRON
+ /* morekeys_a */ "\u00E4,@,\u00E2,\u00E0,\u00E1,\u00E6,\u00E3,\u00E5,\u0101",
+ // U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+ // U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+ // 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+0153: "œ" LATIN SMALL LIGATURE OE
+ // 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+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",
+ // 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
+ /* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB",
+ /* keylabel_to_alpha */ null,
+ // 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",
+ /* 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,
+ /* single_quotes */ "!text/single_9qm_lqm",
+ // 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 */ "\u00DF,\u015B,\u0161",
+ /* keyspec_currency ~ */
+ null, null, null, null, null, null,
+ /* ~ morekeys_l */
+ /* single_angle_quotes */ "!text/single_raqm_laqm",
+ /* double_angle_quotes */ "!text/double_raqm_laqm",
+ };
+
/* Locale lo_LA: Lao (Laos) */
private static final String[] TEXTS_lo_LA = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2413,7 +2434,6 @@ public final class KeyboardTextsTable {
// U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
// 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
@@ -2423,6 +2443,7 @@ public final class KeyboardTextsTable {
// 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",
+ /* keylabel_to_alpha */ null,
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -2431,15 +2452,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+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",
+ // 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",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -2464,11 +2485,11 @@ public final class KeyboardTextsTable {
// U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
// U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
/* morekeys_l */ "\u013C,\u0142,\u013A,\u013E",
+ /* single_angle_quotes */ null,
+ /* double_angle_quotes */ null,
// U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u0123,\u011F",
- /* single_angle_quotes */ null,
- /* double_angle_quotes */ null,
// U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
// U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
@@ -2507,7 +2528,6 @@ public final class KeyboardTextsTable {
// U+016F: "ů" LATIN SMALL LETTER U WITH RING ABOVE
// 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
@@ -2517,6 +2537,7 @@ public final class KeyboardTextsTable {
// 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",
+ /* keylabel_to_alpha */ null,
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
@@ -2525,15 +2546,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+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",
+ // 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",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -2558,11 +2579,11 @@ public final class KeyboardTextsTable {
// U+013A: "ĺ" LATIN SMALL LETTER L WITH ACUTE
// U+013E: "ľ" LATIN SMALL LETTER L WITH CARON
/* morekeys_l */ "\u013C,\u0142,\u013A,\u013E",
+ /* single_angle_quotes */ null,
+ /* double_angle_quotes */ null,
// U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u0123,\u011F",
- /* single_angle_quotes */ null,
- /* double_angle_quotes */ null,
// U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
// U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
@@ -2574,18 +2595,17 @@ public final class KeyboardTextsTable {
/* Locale mk: Macedonian */
private static final String[] TEXTS_mk = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2614,13 +2634,13 @@ public final class KeyboardTextsTable {
/* Locale ml_IN: Malayalam (India) */
private static final String[] TEXTS_ml_IN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2629,15 +2649,15 @@ public final class KeyboardTextsTable {
/* Locale mn_MN: Mongolian (Mongolia) */
private static final String[] TEXTS_mn_MN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2646,15 +2666,15 @@ public final class KeyboardTextsTable {
/* Locale mr_IN: Marathi (India) */
private static final String[] TEXTS_mr_IN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -2699,18 +2719,18 @@ public final class KeyboardTextsTable {
/* Locale my_MM: Burmese (Myanmar) */
private static final String[] TEXTS_my_MM = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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
@@ -2757,7 +2777,6 @@ public final class KeyboardTextsTable {
// 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
@@ -2766,10 +2785,11 @@ 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",
+ /* keylabel_to_alpha */ null,
/* morekeys_i */ null,
- /* morekeys_c */ null,
/* double_quotes */ "!text/double_9qm_rqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null, null,
@@ -2793,15 +2813,15 @@ public final class KeyboardTextsTable {
/* Locale ne_NP: Nepali (Nepal) */
private static final String[] TEXTS_ne_NP = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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.",
@@ -2869,7 +2889,6 @@ public final class KeyboardTextsTable {
// 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
@@ -2878,6 +2897,7 @@ 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",
+ /* 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
@@ -2886,11 +2906,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,
/* single_quotes */ "!text/single_9qm_rqm",
/* morekeys_s */ null,
/* keyspec_currency */ null,
@@ -2920,7 +2940,6 @@ public final class KeyboardTextsTable {
// 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
@@ -2929,15 +2948,16 @@ 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",
+ /* keylabel_to_alpha */ null,
/* morekeys_i */ null,
- // 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",
+ // 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",
/* single_quotes */ "!text/single_9qm_rqm",
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -2982,7 +3002,6 @@ public final class KeyboardTextsTable {
// 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
@@ -2991,6 +3010,7 @@ 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",
+ /* 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
@@ -2998,6 +3018,8 @@ 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",
+ /* double_quotes */ null,
+ /* 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
@@ -3031,7 +3053,7 @@ public final class KeyboardTextsTable {
/* morekeys_a */ "\u00E2,\u00E3,\u0103,\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
@@ -3039,9 +3061,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_c */ null,
/* double_quotes */ "!text/double_9qm_rqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_rqm",
// U+0219: "ș" LATIN SMALL LETTER S WITH COMMA BELOW
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -3058,18 +3080,17 @@ public final class KeyboardTextsTable {
/* Locale ru: Russian */
private static final String[] TEXTS_ru = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
null, null, null, null, null, null, null, null, null, null, null, null,
@@ -3094,14 +3115,14 @@ public final class KeyboardTextsTable {
/* Locale si_LK: Sinhalese (Sri Lanka) */
private static final String[] TEXTS_si_LK = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,7 +3158,6 @@ public final class KeyboardTextsTable {
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// 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
@@ -3147,6 +3167,7 @@ public final class KeyboardTextsTable {
// 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",
+ /* keylabel_to_alpha */ null,
// U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
@@ -3155,16 +3176,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",
/* single_quotes */ "!text/single_9qm_lqm",
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
@@ -3189,11 +3210,11 @@ public final class KeyboardTextsTable {
// U+013C: "ļ" LATIN SMALL LETTER L WITH CEDILLA
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u013E,\u013A,\u013C,\u0142",
+ /* single_angle_quotes */ "!text/single_raqm_laqm",
+ /* double_angle_quotes */ "!text/double_raqm_laqm",
// U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u0123,\u011F",
- /* single_angle_quotes */ "!text/single_raqm_laqm",
- /* double_angle_quotes */ "!text/double_raqm_laqm",
// U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
// U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
@@ -3207,11 +3228,11 @@ public final class KeyboardTextsTable {
/* morekeys_a ~ */
null, null, null, null, null, null,
/* ~ morekeys_i */
+ /* double_quotes */ "!text/double_9qm_lqm",
+ /* morekeys_n */ null,
// 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",
@@ -3221,9 +3242,8 @@ public final class KeyboardTextsTable {
/* morekeys_d */ "\u0111",
// U+017E: "ž" LATIN SMALL LETTER Z WITH CARON
/* morekeys_z */ "\u017E",
- /* morekeys_t ~ */
- null, null, null,
- /* ~ morekeys_g */
+ /* morekeys_t */ null,
+ /* morekeys_l */ null,
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
};
@@ -3231,27 +3251,27 @@ public final class KeyboardTextsTable {
/* Locale sr: Serbian */
private static final String[] TEXTS_sr = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// END: More keys definitions for Serbian (Cyrillic)
// 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,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s ~ */
- null, null, null, null, null, null, null, null,
- /* ~ morekeys_g */
+ null, null, null, null, null, null, null,
+ /* ~ morekeys_l */
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
- /* morekeys_r */ null,
- /* morekeys_k */ null,
+ /* morekeys_g ~ */
+ null, null, null,
+ /* ~ morekeys_k */
// U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE
/* morekeys_cyrillic_ie */ "\u0450",
/* keyspec_nordic_row1_11 ~ */
@@ -3311,27 +3331,27 @@ public final class KeyboardTextsTable {
// U+00FB: "û" LATIN SMALL LETTER U WITH CIRCUMFLEX
// 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",
+ /* keylabel_to_alpha */ null,
// 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+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",
+ // 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",
/* single_quotes */ null,
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
// U+0161: "š" LATIN SMALL LETTER S WITH CARON
@@ -3354,9 +3374,9 @@ public final class KeyboardTextsTable {
/* morekeys_t */ "\u0165,\u00FE",
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u0142",
- /* morekeys_g */ null,
/* single_angle_quotes */ "!text/single_raqm_laqm",
/* double_angle_quotes */ "!text/double_raqm_laqm",
+ /* morekeys_g */ null,
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
/* morekeys_r */ "\u0159",
/* morekeys_k */ null,
@@ -3405,45 +3425,45 @@ public final class KeyboardTextsTable {
// U+00FA: "ú" LATIN SMALL LETTER U WITH ACUTE
// 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",
+ /* keylabel_to_alpha */ null,
// 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+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
- /* morekeys_c */ "\u00E7",
/* double_quotes */ null,
// U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
/* morekeys_n */ "\u00F1",
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ /* morekeys_c */ "\u00E7",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
/* keyspec_currency ~ */
- null, null, null, null, null, null,
- /* ~ morekeys_l */
+ null, null, null, null, null, null, null, null,
+ /* ~ double_angle_quotes */
/* morekeys_g */ "g\'",
};
/* Locale ta_IN: Tamil (India) */
private static final String[] TEXTS_ta_IN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -3452,15 +3472,15 @@ public final class KeyboardTextsTable {
/* Locale ta_LK: Tamil (Sri Lanka) */
private static final String[] TEXTS_ta_LK = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -3469,8 +3489,8 @@ public final class KeyboardTextsTable {
/* Locale ta_SG: Tamil (Singapore) */
private static final String[] TEXTS_ta_SG = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// Label for "switch to alphabetic" key.
// U+0BA4: "த" TAMIL LETTER TA
// U+0BAE/U+0BBF: "மி" TAMIL LETTER MA/TAMIL VOWEL SIGN I
@@ -3481,15 +3501,15 @@ public final class KeyboardTextsTable {
/* Locale te_IN: Telugu (India) */
private static final String[] TEXTS_te_IN = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -3498,15 +3518,15 @@ public final class KeyboardTextsTable {
/* Locale th: Thai */
private static final String[] TEXTS_th = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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",
@@ -3541,7 +3561,6 @@ public final class KeyboardTextsTable {
// 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
@@ -3550,6 +3569,7 @@ 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",
+ /* 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
@@ -3557,14 +3577,14 @@ 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+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",
+ // 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",
};
/* Locale tr: Turkish */
@@ -3586,8 +3606,8 @@ public final class KeyboardTextsTable {
// 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,
/* morekeys_e */ null,
+ /* keylabel_to_alpha */ null,
// U+0131: "ı" LATIN SMALL LETTER DOTLESS I
// U+00EE: "î" LATIN SMALL LETTER I WITH CIRCUMFLEX
// U+00EF: "ï" LATIN SMALL LETTER I WITH DIAERESIS
@@ -3596,21 +3616,21 @@ 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",
+ /* double_quotes */ null,
+ /* 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,
- /* ~ single_quotes */
+ /* 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,
- /* ~ morekeys_l */
+ null, null, null, null, null, null, null, null,
+ /* ~ double_angle_quotes */
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
/* morekeys_g */ "\u011F",
};
@@ -3618,18 +3638,17 @@ public final class KeyboardTextsTable {
/* Locale uk: Ukrainian */
private static final String[] TEXTS_uk = {
/* morekeys_a ~ */
- null, null, null,
- /* ~ morekeys_u */
+ null, null, null, null,
+ /* ~ morekeys_e */
// 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,
- /* ~ morekeys_c */
+ /* morekeys_i */ null,
/* double_quotes */ "!text/double_9qm_lqm",
/* morekeys_n */ null,
+ /* morekeys_c */ null,
/* single_quotes */ "!text/single_9qm_lqm",
/* morekeys_s */ null,
// U+20B4: "₴" HRYVNIA SIGN
@@ -3711,7 +3730,6 @@ public final class KeyboardTextsTable {
// U+1EEF: "ữ" LATIN SMALL LETTER U WITH HORN AND TILDE
// 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
@@ -3724,13 +3742,14 @@ public final class KeyboardTextsTable {
// 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",
+ /* keylabel_to_alpha */ null,
// 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 ~ */
+ /* double_quotes ~ */
null, null, null, null, null,
/* ~ morekeys_s */
// U+20AB: "₫" DONG SIGN
@@ -3772,24 +3791,24 @@ public final class KeyboardTextsTable {
// 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
// U+00EB: "ë" LATIN SMALL LETTER E WITH DIAERESIS
// U+0113: "ē" LATIN SMALL LETTER E WITH MACRON
/* morekeys_e */ "\u00E9,\u00E8,\u00EA,\u00EB,\u0113",
+ /* 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
// U+012B: "ī" LATIN SMALL LETTER I WITH MACRON
// U+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
/* morekeys_i */ "\u00ED,\u00EE,\u00EF,\u012B,\u00EC",
- // 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",
+ // U+00E7: "ç" LATIN SMALL LETTER C WITH CEDILLA
+ /* morekeys_c */ "\u00E7",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
/* morekeys_s */ "\u00DF",
@@ -3832,7 +3851,6 @@ public final class KeyboardTextsTable {
// U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE
// 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
@@ -3843,6 +3861,7 @@ public final class KeyboardTextsTable {
// 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",
+ /* 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
@@ -3854,12 +3873,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
@@ -3868,6 +3881,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+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",
/* single_quotes */ null,
// U+00DF: "ß" LATIN SMALL LETTER SHARP S
// U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
@@ -3901,13 +3920,13 @@ public final class KeyboardTextsTable {
// U+0140: "ŀ" LATIN SMALL LETTER L WITH MIDDLE DOT
// U+0142: "ł" LATIN SMALL LETTER L WITH STROKE
/* morekeys_l */ "\u013A,\u013C,\u013E,\u0140,\u0142",
+ /* single_angle_quotes */ null,
+ /* double_angle_quotes */ null,
// U+011D: "ĝ" LATIN SMALL LETTER G WITH CIRCUMFLEX
// U+011F: "ğ" LATIN SMALL LETTER G WITH BREVE
// U+0121: "ġ" LATIN SMALL LETTER G WITH DOT ABOVE
// U+0123: "ģ" LATIN SMALL LETTER G WITH CEDILLA
/* morekeys_g */ "\u011D,\u011F,\u0121,\u0123",
- /* single_angle_quotes */ null,
- /* double_angle_quotes */ null,
// U+0155: "ŕ" LATIN SMALL LETTER R WITH ACUTE
// U+0157: "ŗ" LATIN SMALL LETTER R WITH CEDILLA
// U+0159: "ř" LATIN SMALL LETTER R WITH CARON
@@ -3938,15 +3957,15 @@ 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, /* 8/ 20 Azerbaijani (Azerbaijan) */
"be_BY" , TEXTS_be_BY, /* 9/ 32 Belarusian (Belarus) */
- "bg" , TEXTS_bg, /* 2/ 8 Bulgarian */
+ "bg" , TEXTS_bg, /* 2/ 7 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 */
@@ -3957,8 +3976,8 @@ public final class KeyboardTextsTable {
"fr" , TEXTS_fr, /* 13/ 62 French */
"gl_ES" , TEXTS_gl_ES, /* 7/ 9 Gallegan (Spain) */
"hi" , TEXTS_hi, /* 23/ 53 Hindi */
- "hr" , TEXTS_hr, /* 9/ 20 Croatian */
- "hu" , TEXTS_hu, /* 9/ 20 Hungarian */
+ "hr" , TEXTS_hr, /* 9/ 19 Croatian */
+ "hu" , TEXTS_hu, /* 9/ 19 Hungarian */
"hy_AM" , TEXTS_hy_AM, /* 9/126 Armenian (Armenia) */
"is" , TEXTS_is, /* 10/ 16 Icelandic */
"it" , TEXTS_it, /* 11/ 62 Italian */
@@ -3968,6 +3987,7 @@ public final class KeyboardTextsTable {
"km_KH" , TEXTS_km_KH, /* 2/122 Khmer (Cambodia) */
"kn_IN" , TEXTS_kn_IN, /* 2/ 12 Kannada (India) */
"ky" , TEXTS_ky, /* 10/ 89 Kirghiz */
+ "lb" , TEXTS_lb, /* 11/ 19 Luxembourgish */
"lo_LA" , TEXTS_lo_LA, /* 2/ 12 Lao (Laos) */
"lt" , TEXTS_lt, /* 18/ 22 Lithuanian */
"lv" , TEXTS_lv, /* 18/ 22 Latvian */
@@ -3980,23 +4000,23 @@ 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/ 9 Portuguese */
"rm" , TEXTS_rm, /* 1/ 2 Raeto-Romance */
"ro" , TEXTS_ro, /* 6/ 16 Romanian */
"ru" , TEXTS_ru, /* 9/ 32 Russian */
"si_LK" , TEXTS_si_LK, /* 2/ 12 Sinhalese (Sri Lanka) */
"sk" , TEXTS_sk, /* 20/ 22 Slovak */
- "sl" , TEXTS_sl, /* 8/ 20 Slovenian */
+ "sl" , TEXTS_sl, /* 8/ 19 Slovenian */
"sr" , TEXTS_sr, /* 11/ 94 Serbian */
"sv" , TEXTS_sv, /* 21/ 54 Swedish */
- "sw" , TEXTS_sw, /* 9/ 18 Swahili */
+ "sw" , TEXTS_sw, /* 9/ 20 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 */
+ "tr" , TEXTS_tr, /* 7/ 20 Turkish */
"uk" , TEXTS_uk, /* 11/ 88 Ukrainian */
"vi" , TEXTS_vi, /* 8/ 14 Vietnamese */
"zu" , TEXTS_zu, /* 8/ 11 Zulu */
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index 0de2d8831..df70bf23a 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -30,6 +30,7 @@ import com.android.inputmethod.latin.AudioAndHapticFeedbackManager;
import com.android.inputmethod.latin.InputAttributes;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.utils.AdditionalSubtypeUtils;
+import com.android.inputmethod.latin.utils.JniUtils;
import com.android.inputmethod.latin.utils.ResourceUtils;
import com.android.inputmethod.latin.utils.RunInLocale;
import com.android.inputmethod.latin.utils.StringUtils;
@@ -234,6 +235,9 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
}
public static boolean readFromBuildConfigIfGestureInputEnabled(final Resources res) {
+ if (!JniUtils.mHaveGestureLib) {
+ return false;
+ }
return res.getBoolean(R.bool.config_gesture_input_enabled_by_build_config);
}
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
index d8c548d8b..eef8d532d 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
@@ -137,7 +137,7 @@ public final class SettingsValues {
&& SubtypeSwitcher.getInstance().isShortcutImeEnabled();
final String autoCorrectionThresholdRawValue = prefs.getString(
Settings.PREF_AUTO_CORRECTION_THRESHOLD,
- res.getString(R.string.auto_correction_threshold_mode_index_modest));
+ res.getString(R.string.auto_correction_threshold_mode_default_index));
mIncludesOtherImesInLanguageSwitchList = Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS
? prefs.getBoolean(Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST, false)
: true /* forcibly */;
diff --git a/java/src/com/android/inputmethod/latin/utils/JniUtils.java b/java/src/com/android/inputmethod/latin/utils/JniUtils.java
index e7fdafaeb..448a24990 100644
--- a/java/src/com/android/inputmethod/latin/utils/JniUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/JniUtils.java
@@ -23,11 +23,17 @@ import com.android.inputmethod.latin.define.JniLibName;
public final class JniUtils {
private static final String TAG = JniUtils.class.getSimpleName();
+ public static boolean mHaveGestureLib = false;
static {
try {
- System.loadLibrary(JniLibName.JNI_LIB_NAME);
- } catch (UnsatisfiedLinkError ule) {
- Log.e(TAG, "Could not load native library " + JniLibName.JNI_LIB_NAME, ule);
+ System.loadLibrary(JniLibName.JNI_LIB_NAME2);
+ mHaveGestureLib = true;
+ } catch (UnsatisfiedLinkError ue) {
+ try {
+ System.loadLibrary(JniLibName.JNI_LIB_NAME);
+ } catch (UnsatisfiedLinkError ule) {
+ Log.e(TAG, "Could not load native library " + JniLibName.JNI_LIB_NAME, ule);
+ }
}
}
diff --git a/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java b/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java
index 0e244666d..91202818f 100644
--- a/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ScriptUtils.java
@@ -64,13 +64,16 @@ public class ScriptUtils {
mSpellCheckerLanguageToScript.put("fi", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("fr", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("hr", SCRIPT_LATIN);
+ mSpellCheckerLanguageToScript.put("hu", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("it", SCRIPT_LATIN);
+ mSpellCheckerLanguageToScript.put("lb", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("lt", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("lv", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("nb", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("nl", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("pt", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("sl", SCRIPT_LATIN);
+ mSpellCheckerLanguageToScript.put("sv", SCRIPT_LATIN);
mSpellCheckerLanguageToScript.put("ru", SCRIPT_CYRILLIC);
}
/*
diff --git a/tools/dicttool/Android.mk b/tools/dicttool/Android.mk
index 3e3d419e6..b0d499e9e 100644
--- a/tools/dicttool/Android.mk
+++ b/tools/dicttool/Android.mk
@@ -59,7 +59,6 @@ LATINIME_SRC_FILES_FOR_DICTTOOL := \
latin/utils/CombinedFormatUtils.java \
latin/utils/CoordinateUtils.java \
latin/utils/FileUtils.java \
- latin/utils/JniUtils.java \
latin/utils/LocaleUtils.java \
latin/utils/ResizableIntArray.java \
latin/utils/StringUtils.java
diff --git a/tools/dicttool/compat/com/android/inputmethod/latin/utils/JniUtils.java b/tools/dicttool/compat/com/android/inputmethod/latin/utils/JniUtils.java
new file mode 100644
index 000000000..e7fdafaeb
--- /dev/null
+++ b/tools/dicttool/compat/com/android/inputmethod/latin/utils/JniUtils.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin.utils;
+
+import android.util.Log;
+
+import com.android.inputmethod.latin.define.JniLibName;
+
+public final class JniUtils {
+ private static final String TAG = JniUtils.class.getSimpleName();
+
+ static {
+ try {
+ System.loadLibrary(JniLibName.JNI_LIB_NAME);
+ } catch (UnsatisfiedLinkError ule) {
+ Log.e(TAG, "Could not load native library " + JniLibName.JNI_LIB_NAME, ule);
+ }
+ }
+
+ private JniUtils() {
+ // This utility class is not publicly instantiable.
+ }
+
+ public static void loadNativeLibrary() {
+ // Ensures the static initializer is called
+ }
+}
diff --git a/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml
index a394a9722..1a3ad170c 100644
--- a/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml
+++ b/tools/make-keyboard-text/res/values-hu/donottranslate-more-keys.xml
@@ -18,47 +18,20 @@
*/
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
- U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
- U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
- U+00E6: "æ" LATIN SMALL LETTER AE
- U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
- U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
- U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
- <string name="morekeys_a">&#x00E1;,&#x00E0;,&#x00E2;,&#x00E4;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
- <!-- 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
- U+0117: "ė" LATIN SMALL LETTER E WITH DOT ABOVE
- U+0113: "ē" LATIN SMALL LETTER E WITH MACRON -->
- <string name="morekeys_e">&#x00E9;,&#x00E8;,&#x00EA;,&#x00EB;,&#x0119;,&#x0117;,&#x0113;</string>
- <!-- 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+00EC: "ì" LATIN SMALL LETTER I WITH GRAVE
- U+012F: "į" LATIN SMALL LETTER I WITH OGONEK
- U+012B: "ī" LATIN SMALL LETTER I WITH MACRON -->
- <string name="morekeys_i">&#x00ED;,&#x00EE;,&#x00EF;,&#x00EC;,&#x012F;,&#x012B;</string>
+ <!-- U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE -->
+ <string name="morekeys_a">&#x00E1;</string>
+ <!-- U+00E9: "é" LATIN SMALL LETTER E WITH ACUTE -->
+ <string name="morekeys_e">&#x00E9;</string>
+ <!-- U+00ED: "í" LATIN SMALL LETTER I WITH ACUTE -->
+ <string name="morekeys_i">&#x00ED;</string>
<!-- U+00F3: "ó" LATIN SMALL LETTER O WITH ACUTE
U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
- U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE
- U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
- U+00F2: "ò" LATIN SMALL LETTER O WITH GRAVE
- U+00F5: "õ" LATIN SMALL LETTER O WITH TILDE
- U+0153: "œ" LATIN SMALL LIGATURE OE
- U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
- U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
- <string name="morekeys_o">&#x00F3;,&#x00F6;,&#x0151;,&#x00F4;,&#x00F2;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
+ U+0151: "ő" LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
+ <string name="morekeys_o">&#x00F3;,&#x00F6;,&#x0151;</string>
<!-- 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 -->
- <string name="morekeys_u">&#x00FA;,&#x00FC;,&#x0171;,&#x00FB;,&#x00F9;,&#x016B;</string>
+ U+0171: "ű" LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
+ <string name="morekeys_u">&#x00FA;,&#x00FC;,&#x0171;</string>
<string name="single_quotes">!text/single_9qm_rqm</string>
<string name="double_quotes">!text/double_9qm_rqm</string>
<string name="single_angle_quotes">!text/single_raqm_laqm</string>
diff --git a/tools/make-keyboard-text/res/values-lb/donottranslate-more-keys.xml b/tools/make-keyboard-text/res/values-lb/donottranslate-more-keys.xml
new file mode 100644
index 000000000..29f7220ee
--- /dev/null
+++ b/tools/make-keyboard-text/res/values-lb/donottranslate-more-keys.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2015, The CyanogenMod Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- U+00E4: "ä" LATIN SMALL LETTER A WITH DIAERESIS
+ U+0040: "@" COMMERCIAL AT
+ U+00E2: "â" LATIN SMALL LETTER A WITH CIRCUMFLEX
+ U+00E0: "à" LATIN SMALL LETTER A WITH GRAVE
+ U+00E1: "á" LATIN SMALL LETTER A WITH ACUTE
+ U+00E6: "æ" LATIN SMALL LETTER AE
+ U+00E3: "ã" LATIN SMALL LETTER A WITH TILDE
+ U+00E5: "å" LATIN SMALL LETTER A WITH RING ABOVE
+ U+0101: "ā" LATIN SMALL LETTER A WITH MACRON -->
+ <string name="morekeys_a">&#x00E4;,&#x0040;,&#x00E2;,&#x00E0;,&#x00E1;,&#x00E6;,&#x00E3;,&#x00E5;,&#x0101;</string>
+ <!-- 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 -->
+ <string name="morekeys_e">&#x00E9;,&#x00E8;,&#x00EA;,&#x00EB;</string>
+ <!-- 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 -->
+ <string name="morekeys_i">&#x00ED;,&#x00EC;,&#x00EE;,&#x00EF;</string>
+ <!-- U+00F6: "ö" LATIN SMALL LETTER O WITH DIAERESIS
+ U+00F4: "ô" LATIN SMALL LETTER O WITH CIRCUMFLEX
+ 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+0153: "œ" LATIN SMALL LIGATURE OE
+ U+00F8: "ø" LATIN SMALL LETTER O WITH STROKE
+ U+014D: "ō" LATIN SMALL LETTER O WITH MACRON -->
+ <string name="morekeys_o">&#x00F6;,&#x00F4;,&#x00F2;,&#x00F3;,&#x00F5;,&#x0153;,&#x00F8;,&#x014D;</string>
+ <!-- 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 -->
+ <string name="morekeys_u">&#x00FC;,&#x00FB;,&#x00F9;,&#x00FA;,&#x016B;</string>
+ <!-- U+00DF: "ß" LATIN SMALL LETTER SHARP S
+ U+015B: "ś" LATIN SMALL LETTER S WITH ACUTE
+ U+0161: "š" LATIN SMALL LETTER S WITH CARON -->
+ <string name="morekeys_s">&#x00DF;,&#x015B;,&#x0161;</string>
+ <!-- U+00F1: "ñ" LATIN SMALL LETTER N WITH TILDE
+ U+0144: "ń" LATIN SMALL LETTER N WITH ACUTE -->
+ <string name="morekeys_n">&#x00F1;,&#x0144;</string>
+ <string name="single_quotes">!text/single_9qm_lqm</string>
+ <string name="double_quotes">!text/double_9qm_lqm</string>
+ <string name="single_angle_quotes">!text/single_raqm_laqm</string>
+ <string name="double_angle_quotes">!text/double_raqm_laqm</string>
+</resources>